Οι περισσότεροι από εμάς πιστεύω πως έχουν στην κατοχή τους ένα smartphone. Η google πρόσφατα έκανε το application καθώς και την εφαρμογή για servers που είχε για το two way verification, ονόματι google authenticator, open source.
Επίσης πλέον όλο και περισσότερος κόσμος αρχίζει να έχει πρόσβαση σε ένα δικό του server μέσω SSH και ειδικότερα όταν αυτός ο υπολογιστής μπορεί να είναι το Desktop σου ζητάς ένα παραπάνω επίπεδο ασφάλειας.
Τώρα θα μου πείτε τι σχέση έχουν αυτά τα δύο μεταξύ τους;
Θα προσπαθήσω να σας δείξω σε αυτό το άρθρο πως να εγκαταστήσετε το SSH-Server στο desktop σας καθώς και πώς να το θωρακίσετε χρησιμοποιώντας εκτός από τον κωδικό σας και ένα verification code το οποίο γίνεται generate στο κινητό σας και αλλάζει σε τακτά χρονικά διαστήματα.
Εφόσον έχουμε κάνει την εγκατάσταση του ssh-server, για ubuntu διανομές αρκεί να τρέξουμε στην κονσόλα το παρακάτω :
Θα χρειαστεί να εγκαταστήσουμε και το google-authenticator. Για να γίνει αυτό πάλι στην περίπτωση ubuntu τρέχουμε τις εντολές:
Οι παραπάνω εντολές απλά εγκαθιστούν την εφαρμογή δεν την συνδέουν όμως με το SSH το οποίο είναι και σκοπός μας. Αργότερα θα σας πώ πως γίνεται η σύνδεση.
Αρχικά θα ρυθμίσουμε το google authenticator και το κινητό μας για να δημιουργηθεί η απαραίτητη βάση για να προχωρήσουμε. Μην ξεχάσουμε ότι στο κινητό μας θα πρέπει να υπάρχει η εφαρμογή(την εγκαθιστάμε από το Play Store).
Αρχικά οι παρακάτω ρυθμίσεις στον υπολογιστή μας θα πρέπει να γίνουν από τον χρήστη στον οποίο θα συνδεόμαστε μέσω του SSH.
Γράφουμε την εντολή:
Και στις παρακάτω ερωτήσεις απαντάμε σύμφωνα με το επίπεδο ασφάλειας που θέλουμε να έχουμε. Μπορούμε να ρυθμίσουμε το τρόπο ανανέωσης του παραγόμενου κωδικού, τον αριθμό των προσπαθειών καθώς και άλλα.
Έπειτα θα εμφανιστούν στην οθόνη μας το μυστικό κλειδί που πρέπει να βάλουμε στην εφαρμογή του κινητού μας, καθώς και πέντε κωδικοί ανάγκης σε περίπτωση που χάσουμε το κινητό μας. Επίσης την εισαγωγή του κλειδιού στο κινητό μπορούμε να την κάνουμε απλά σκανάροντας ένα QR code που μας παρέχεται.
Βάζουμε το μυστικό κλειδί στην εφαρμογή του κινητού μας,γράφουμε τους κωδικούς ανάγκης που είναι μίας χρήσης ο κάθε ένας και μπορούμε πλέον να κλείσουμε το session του τερματικού.
Αν πήγαν όλα καλά τώρα στο κινητό μας έχουμε ένα κωδικό που ανανεώνεται συχνά και ο οποίος είναι ο δεύτερος κωδικός εκτός από τον κωδικό χρήστη για μία περίοδο συνεδρίας SSH.
Για να γίνει η σύνδεση του authenticator με το SSH μας πρέπει να πειράξουμε το αρχείο με τις ρυθμίσεις του SSH. Στην περίπτωση μας είναι το αρχειο /etc/pam.d/sshd οπότε και εκτελούμε το:
Εκεί χωρίς να κάνουμε καμία άλλη αλλαγή προσθέτουμε την γραμμή:
Μετά ανοίγουμε το αρχείο /etc/ssh/sshd_config , πάλι με το nano
Και αλλάζουμε την γραμμή ChallengeResponseAuthentication σε
ChallengeResponseAuthentication yes
Τέλος κάνουμε restart τον ssh server μας:
Θα δείτε ότι θα σας ζητηθεί και Verification code αν όλα έχουν πάει καλά!!
Επίσης πλέον όλο και περισσότερος κόσμος αρχίζει να έχει πρόσβαση σε ένα δικό του server μέσω SSH και ειδικότερα όταν αυτός ο υπολογιστής μπορεί να είναι το Desktop σου ζητάς ένα παραπάνω επίπεδο ασφάλειας.
Τώρα θα μου πείτε τι σχέση έχουν αυτά τα δύο μεταξύ τους;
Θα προσπαθήσω να σας δείξω σε αυτό το άρθρο πως να εγκαταστήσετε το SSH-Server στο desktop σας καθώς και πώς να το θωρακίσετε χρησιμοποιώντας εκτός από τον κωδικό σας και ένα verification code το οποίο γίνεται generate στο κινητό σας και αλλάζει σε τακτά χρονικά διαστήματα.
Εφόσον έχουμε κάνει την εγκατάσταση του ssh-server, για ubuntu διανομές αρκεί να τρέξουμε στην κονσόλα το παρακάτω :
sudo apt-get install openssh-server
Θα χρειαστεί να εγκαταστήσουμε και το google-authenticator. Για να γίνει αυτό πάλι στην περίπτωση ubuntu τρέχουμε τις εντολές:
sudo apt-get install libpam-google-authenticator
Οι παραπάνω εντολές απλά εγκαθιστούν την εφαρμογή δεν την συνδέουν όμως με το SSH το οποίο είναι και σκοπός μας. Αργότερα θα σας πώ πως γίνεται η σύνδεση.
Αρχικά θα ρυθμίσουμε το google authenticator και το κινητό μας για να δημιουργηθεί η απαραίτητη βάση για να προχωρήσουμε. Μην ξεχάσουμε ότι στο κινητό μας θα πρέπει να υπάρχει η εφαρμογή(την εγκαθιστάμε από το Play Store).
Αρχικά οι παρακάτω ρυθμίσεις στον υπολογιστή μας θα πρέπει να γίνουν από τον χρήστη στον οποίο θα συνδεόμαστε μέσω του SSH.
Γράφουμε την εντολή:
google-authenticator
Και στις παρακάτω ερωτήσεις απαντάμε σύμφωνα με το επίπεδο ασφάλειας που θέλουμε να έχουμε. Μπορούμε να ρυθμίσουμε το τρόπο ανανέωσης του παραγόμενου κωδικού, τον αριθμό των προσπαθειών καθώς και άλλα.
Έπειτα θα εμφανιστούν στην οθόνη μας το μυστικό κλειδί που πρέπει να βάλουμε στην εφαρμογή του κινητού μας, καθώς και πέντε κωδικοί ανάγκης σε περίπτωση που χάσουμε το κινητό μας. Επίσης την εισαγωγή του κλειδιού στο κινητό μπορούμε να την κάνουμε απλά σκανάροντας ένα QR code που μας παρέχεται.
Βάζουμε το μυστικό κλειδί στην εφαρμογή του κινητού μας,γράφουμε τους κωδικούς ανάγκης που είναι μίας χρήσης ο κάθε ένας και μπορούμε πλέον να κλείσουμε το session του τερματικού.
Αν πήγαν όλα καλά τώρα στο κινητό μας έχουμε ένα κωδικό που ανανεώνεται συχνά και ο οποίος είναι ο δεύτερος κωδικός εκτός από τον κωδικό χρήστη για μία περίοδο συνεδρίας SSH.
Για να γίνει η σύνδεση του authenticator με το SSH μας πρέπει να πειράξουμε το αρχείο με τις ρυθμίσεις του SSH. Στην περίπτωση μας είναι το αρχειο /etc/pam.d/sshd οπότε και εκτελούμε το:
sudo nano /etc/pam.d/sshd
Εκεί χωρίς να κάνουμε καμία άλλη αλλαγή προσθέτουμε την γραμμή:
auth required pam_google_authenticator.so
sudo nano /etc/ssh/sshd_config
Και αλλάζουμε την γραμμή ChallengeResponseAuthentication σε
ChallengeResponseAuthentication yes
Τέλος κάνουμε restart τον ssh server μας:
sudo service ssh restart
Δείτε και μόνοι σας ότι δουλεύει, γράφοντας:
ssh 127.0.0.1
Θα δείτε ότι θα σας ζητηθεί και Verification code αν όλα έχουν πάει καλά!!
Have Fun!!!
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου