From af1d06850795afdce4a690ee97bbd3cee9f85db1 Mon Sep 17 00:00:00 2001 From: Iro_Val Date: Wed, 13 Jan 2021 13:57:04 +0000 Subject: [PATCH] Update 'project_info.adoc' --- project_info.adoc | 66 +++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/project_info.adoc b/project_info.adoc index f6617c7..ff4e708 100644 --- a/project_info.adoc +++ b/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 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). +