SSH server και google authenticator

Οι περισσότεροι από εμάς πιστεύω πως έχουν στην κατοχή τους ένα smartphone. Η google πρόσφατα έκανε το application καθώς και την εφαρμογή για servers που είχε για το two way verification, ονόματι google authenticator, open source.
Επίσης πλέον όλο και περισσότερος κόσμος αρχίζει να έχει πρόσβαση σε ένα δικό του 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


Μετά ανοίγουμε το αρχείο /etc/ssh/sshd_config , πάλι με το nano

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!!!

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου