Βήμα 1: Εγκατάσταση των απαιτούμενων πακέτων
Βήμα 2: Διαμόρφωση iptables για χρήση αυτής της δυνατότητας
Βήμα 3: Ας το δοκιμάσουμε
συμπέρασμα
Μέχρι τώρα, πιθανότατα έχετε αλλάξει την προεπιλεγμένη θύρα SSH. Ωστόσο, οι χάκερ μπορούν εύκολα να σαρώσουν το εύρος των θυρών για να ανακαλύψουν αυτήν τη θύρα - αλλά με το port knocking, μπορείτε να ξεγελάσετε τους σαρωτές θυρών. Πώς λειτουργεί είναι ότι ο πελάτης SSH επιχειρεί να συνδεθεί σε μια ακολουθία θυρών, οι οποίες θα αρνηθούν τη σύνδεσή σας, αλλά θα ξεκλειδώσουν μια καθορισμένη θύρα που επιτρέπει τη σύνδεσή σας. Πολύ ασφαλές και απλό στην εγκατάσταση. Το Port knocking είναι ένας από τους καλύτερους τρόπους προστασίας του διακομιστή σας από μη εξουσιοδοτημένες προσπάθειες σύνδεσης SSH.
Αυτό το άρθρο θα σας διδάξει πώς να ρυθμίσετε το port knocking. Γράφτηκε για το Debian 7 (Wheezy), αλλά μπορεί επίσης να λειτουργήσει σε άλλες εκδόσεις του Debian και του Ubuntu.
Βήμα 1: Εγκατάσταση των απαιτούμενων πακέτων
Υποθέτω ότι έχετε ήδη εγκαταστήσει έναν διακομιστή SSH. Εάν δεν το έχετε, εκτελέστε τις ακόλουθες εντολές ως root:
apt-get update
apt-get install openssh-server
apt-get install knockd
Στη συνέχεια, εγκαταστήστε το iptables.
apt-get install iptables
Δεν υπάρχουν πολλά πακέτα για εγκατάσταση - αυτό είναι που το καθιστά την τέλεια λύση για προστασία από προσπάθειες ωμής βίας, ενώ ταυτόχρονα είναι εύκολο να εγκατασταθεί.
Βήμα 2: Διαμόρφωση iptables για χρήση αυτής της δυνατότητας
Επειδή η θύρα SSH σας θα κλείσει αφού συνδεθείτε, πρέπει να βεβαιωθούμε ότι ο διακομιστής σας επιτρέπει να παραμένετε συνδεδεμένοι ενώ αποκλείετε άλλες προσπάθειες σύνδεσης. Εκτελέστε αυτές τις εντολές στον διακομιστή σας ως root.
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
apt-get install iptables-persistent
iptables-save
Αυτό θα επιτρέψει στις υπάρχουσες συνδέσεις να παραμείνουν, αλλά θα αποκλείσει οτιδήποτε άλλο στη θύρα SSH σας.
Τώρα, ας διαμορφώσουμε το knockd.
Εδώ συμβαίνει η μαγεία - θα μπορείτε να επιλέξετε ποιες θύρες θα χρειαστεί να χτυπήσετε στην αρχή. Ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου στο αρχείο /etc/knockd.conf
.
nano /etc/knockd.conf
Θα υπάρχει μια ενότητα που μοιάζει με το παρακάτω μπλοκ.
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
Σε αυτήν την ενότητα, θα μπορείτε να αλλάξετε τη σειρά των θυρών που πρέπει να χτυπηθούν. Προς το παρόν, θα παραμείνουμε στις θύρες 7000, 8000 και 9000. Αλλάξτε το seq_timeout = 5
σε seq_timeout = 10
και για την closeSSH
ενότητα, κάντε το ίδιο για τη seq_timeout
γραμμή. Υπάρχει επίσης μια σειρά ακολουθίας στην closeSSH
ενότητα που πρέπει επίσης να τροποποιήσετε.
Πρέπει να ενεργοποιήσουμε το knockd, επομένως ανοίξτε ξανά τον επεξεργαστή σας ως root.
nano /etc/default/knockd
Αλλάξτε το 0 στην ενότητα START_KNOCKD
σε 1, μετά αποθηκεύστε και βγείτε.
Τώρα, αρχίστε να χτυπάτε:
service knockd start
Εξαιρετική! Όλα είναι εγκατεστημένα. Εάν αποσυνδεθείτε από τον διακομιστή σας, θα πρέπει να χτυπήσετε τις θύρες 7000, 8000 και 9000 για να συνδεθείτε ξανά.
Βήμα 3: Ας το δοκιμάσουμε
Εάν όλα έχουν εγκατασταθεί σωστά, δεν θα πρέπει να μπορείτε να συνδεθείτε στον διακομιστή SSH.
Μπορείτε να δοκιμάσετε το knocking της θύρας με έναν πελάτη telnet.
Οι χρήστες των Windows μπορούν να ξεκινήσουν το telnet από τη γραμμή εντολών. Εάν το telnet δεν είναι εγκατεστημένο, μεταβείτε στην ενότητα "Προγράμματα" του Πίνακα Ελέγχου και, στη συνέχεια, εντοπίστε το "Ενεργοποίηση ή απενεργοποίηση των δυνατοτήτων των Windows". Στον πίνακα δυνατοτήτων, εντοπίστε το "Telnet Client" και ενεργοποιήστε το.
Στο τερματικό/γραμμή εντολών πληκτρολογήστε:
telnet youripaddress 7000
telnet youripaddress 8000
telnet youripaddress 9000
Κάντε όλα αυτά σε δέκα δευτερόλεπτα, καθώς αυτό είναι το όριο που επιβάλλεται στη διαμόρφωση. Τώρα, προσπαθήστε να συνδεθείτε στον διακομιστή σας μέσω SSH. Θα είναι προσβάσιμο.
Για να κλείσετε τον διακομιστή SSH, εκτελέστε τις εντολές με αντίστροφη σειρά.
telnet youripaddress 9000
telnet youripaddress 8000
telnet youripaddress 7000
συμπέρασμα
Το καλύτερο μέρος της χρήσης του port knocking είναι ότι εάν έχει ρυθμιστεί παράλληλα με τον έλεγχο ταυτότητας του ιδιωτικού κλειδιού, δεν υπάρχει σχεδόν καμία πιθανότητα να μπει κάποιος άλλος εκτός εάν κάποιος γνώριζε τις θύρες και το ιδιωτικό κλειδί.