Browse Source

Update 'project_info.adoc'

master
Iro_Val 3 years ago
parent
commit
af1d068507
  1. 66
      project_info.adoc

66
project_info.adoc

@ -330,18 +330,18 @@ sudo service fail2ban stop
====
* Βρίσκουμε το αρχείο sshd_config και το ανοίγουμε +
====
----
```
sudo nano /etc/ssh/sshd_config
----
```
Βγάζουμε από σχόλια και αλλάζουμε τις τιμές στα: +
LogLevel VERBOSE +
PermitRootLogin prohibit-password +
PasswordAuthentication no +
Restart the ssh service +
----
```
sudo service ssh restart
----
```
Παρατηρούμε ότι πλέον δεν μπορούμε να μπούμε με κωδικό +
image:images/ssh_denied_password.png[] +
====
@ -349,29 +349,29 @@ image:images/ssh_denied_password.png[] +
* Αν έχουμε κάνει τα παραπάνω: +
====
Αλλάζουμε σε σχόλιο το PasswordAuthentication στο αρχείο sshd_config +
----
```
sudo nano /etc/ssh/sshd_config
----
```
Σε νέο terminal στον υπολογιστή μας γράφουμε: +
----
```
ssh-keygen
----
```
Δίνουμε όνομα αρχείου/κωδικό (αν θέλουμε) +
image:images/ssh_keygen.png[] +
Δίνουμε την εντολή +
----
```
ssh-copy-id -i ~/.ssh/id_rsa.pub UserName@RemoteServer
ssh-copy-id -i ~/.ssh/id_rsa.pub docker@172.19.0.3
----
```
Βγάζουμε από comment το PasswordAuthentication και κάνουμε restart το ssh +
----
```
sudo service ssh restart
----
```
Αν πάμε να συνδεθούμε, πλέον θα χρειάζεται το κλειδί που δώσαμε στο ssh-keygen +
@ -379,20 +379,20 @@ sudo service ssh restart
== SSH Forwarding
=== Εγκατάσταση υπηρεσίας (apache)
====
----
```
sudo apt-get update
sudo apt install apache2
----
```
TIP: Αν έχουμε ήδη κάποια άλλη υπηρεσία, μπορούμε να χρησιμοποιήσουμε αυτή.
====
Για να τρέξουμε την υπηρεσία:
====
----
```
sudo apachectl start
sudo netstat -antlupe
----
```
image:images/apache_is_running.png[] +
Η υπηρεσία μας τρέχει! +
====
@ -400,9 +400,9 @@ image:images/apache_is_running.png[] +
Η πρώτη συράγγωση είναι μεταξύ ενός container στον υπολογιστή μας. Για να επιτευχθεί αυτό χρειάζεται ο υπολογιστής μας να έχει και την server side υπηρεσία του ssh. Η port μετά το localhost θα πρέπει να είναι εκείνη που έχει την υπηρεσία που θέλουμε. Αλλάζουμε username και IP ανάλογα. +
====
Σε ένα οποιοδήποτε container γράφουμε: +
----
```
ssh -nNT -L 8081:localhost:80 iro@192.168.64.128
----
```
image:images/local_port_forwarding.png[] +
@ -413,9 +413,9 @@ image:images/apache_page.png[] +
=== Remote port forwarding
====
Στον υπολογιστή μας γράφουμε: +
----
```
ssh -nNT -R 8082:localhost:80 docker@172.21.0.6
----
```
image:images/remote_ssh.png[] +
image:images/remote_ssh_apache.png[] +
@ -430,7 +430,7 @@ image:images/remote_ssh_apache.png[] +
* copy-paste
====
[source,bash]
----
```
#!/bin/bash
IP=127.0.0.1 # Server IP # <1>
P=1194 # Server Port # <2>
@ -478,7 +478,7 @@ sudo sysctl -w net.ipv4.ip_forward=1
#show created
docker ps
----
```
<1> localhost inside of a container will resolve to the network stack of this container
<2> Port
<3> Specify Addresses and Netmasks for VPN Clients
@ -496,7 +496,7 @@ image:images/vpn_success_2.png[] +
=== Δημιουργία χρήστη
Για να μπορέσει να συνδεθεί ένας χρήστης, χρειάζεται ένα config αρχείο.
====
----
```
Η δομή της εντολής είναι:
docker run -v $vpn_data:/etc/openvpn --rm -it $docker easyrsa build-client-full $USERNAME nopass
@ -512,13 +512,13 @@ docker=registry.vlabs.uniwa.gr:5080/myownvpn
docker run -v $PWD/openvpn-services:/etc/openvpn --rm -it registry.vlabs.uniwa.gr:5080/myownvpn easyrsa build-client-full sec1 nopass
docker run -v $PWD/openvpn-services:/etc/openvpn --rm --log-driver=none -it registry.vlabs.uniwa.gr:5080/myownvpn ovpn_getclient sec1 > sec1.ovpn
----
```
Θα πρέπει να επιστρέψει την παρακάτω οθόνη (αφού εισάγουμε τον κωδικό) +
image:images/user_config_create_1.png[] +
====
Ανοίγουμε το αρχείο του χρήστη και κάνουμε copy-paste αντικαθιστώντας την host machine IP με την δική μας, δηλαδή το μηχανάκι που τρέχει το docker. Το 1194 είναι η πόρτα που έχουμε δώσει στο create-vpn.sh
====
----
```
client
nobind
dev tun
@ -529,29 +529,27 @@ keepalive 15 60
remote-cert-tls server
remote <HOST MACHINE IP> 1194 udp
float
----
```
Αντιγράφουμε το αρχείο στον φάκελο που έχουμε το project
----
```
cp sec* ../test/project/
----
```
image:images/sec_on_project_folder.png[] +
====
=== Εγκατάσταση openvpn
Για να μπορέσουμε να συνδεθούμε στο vpn, χρειαζόμαστε το openvpn. Το εγκαθιστούμε τόσο στα containers όσο και στο docker (τον master)
====
----
```
apt update
apt install openvpn
----
====
```
=== Λειτουργία
Εκτελούμε την παρακάτω εντολή σε κάποιο container:
====
----
```
openvpn --config ./sec1.ovpn
----
```
image:images/init_sequence_complete.png[] +
Εδώ βλέπουμε ότι το container πήρε την IP 10.80.0.2, η οποία είναι εντός του VPN nertwork που ορίστηκε στο create-vpn.sh αρχείο (10.80.0.0/16). +

Loading…
Cancel
Save