Σας δείξαμε πώς να ενεργοποιήσετε το WOL από απόσταση με το "Port Knocking" στο δρομολογητή σας . Σε αυτό το άρθρο, θα δείξουμε πώς να το χρησιμοποιήσουμε για την προστασία μιας υπηρεσίας VPN.
Εικόνα από Aviad Raviv & bfick .
Πρόλογος
Εάν έχετε χρησιμοποιήσει
Ενσωματωμένη λειτουργικότητα DD-WRT
για VPN ή, έχουν
άλλος διακομιστής VPN
στο δίκτυό σας, μπορεί να εκτιμήσετε την ικανότητα να το προστατεύετε από επιθέσεις ωμής βίας, κρύβοντάς το πίσω από μια ακολουθία χτυπήματος. Με αυτόν τον τρόπο, θα φιλτράρετε τα παιδικά σενάρια που προσπαθούν να αποκτήσουν πρόσβαση στο δίκτυό σας. Ωστόσο, όπως αναφέρεται στο προηγούμενο άρθρο, το χτύπημα θύρας δεν αντικαθιστά έναν καλό κωδικό πρόσβασης και / ή πολιτική ασφάλειας. Θυμηθείτε ότι με αρκετή υπομονή ένας εισβολέας μπορεί να ανακαλύψει την ακολουθία και να εκτελέσει μια επίθεση επανάληψης.
Λάβετε επίσης υπόψη ότι το μειονέκτημα της εφαρμογής αυτού είναι ότι όταν κάποιος πελάτης VPN επιθυμεί να συνδεθεί, θα πρέπει να ενεργοποιήσει την ακολουθία knock
Εκ των προτέρων
και ότι εάν δεν μπορούν να ολοκληρώσουν την ακολουθία για οποιονδήποτε λόγο, δεν θα μπορούν καθόλου να κάνουν VPN.
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Προκειμένου να προστατεύσουμε * την υπηρεσία VPN, θα απενεργοποιήσουμε πρώτα κάθε δυνατή επικοινωνία μαζί της, αποκλείοντας τη θύρα έναρξης του 1723. Για την επίτευξη αυτού του στόχου, θα χρησιμοποιήσουμε iptables. Αυτό συμβαίνει επειδή, με αυτόν τον τρόπο φιλτράρεται η επικοινωνία στις περισσότερες σύγχρονες διανομές Linux / GNU γενικά και ειδικότερα στο DD-WRT. Εάν θέλετε περισσότερες πληροφορίες σχετικά με το iptables, ελέγξτε το είσοδος στο wiki και ρίξτε μια ματιά το προηγούμενο άρθρο μας πανω σε αυτο το θεμα. Μόλις προστατευθεί η υπηρεσία, θα δημιουργήσουμε μια ακολουθία χτυπήματος που θα ανοίξει προσωρινά τη θύρα δημιουργίας VPN και θα την κλείσει αυτόματα μετά από ένα διαμορφωμένο χρονικό διάστημα, διατηρώντας ταυτόχρονα συνδεδεμένη την ήδη καθιερωμένη συνεδρία VPN.
Σημείωση: Σε αυτόν τον οδηγό, χρησιμοποιούμε την υπηρεσία PPTP VPN ως παράδειγμα. Ωστόσο, η ίδια μέθοδος μπορεί να χρησιμοποιηθεί και για άλλους τύπους VPN, απλώς θα πρέπει να αλλάξετε την αποκλεισμένη θύρα ή / και τον τύπο επικοινωνίας.
Προαπαιτούμενα, Υποθέσεις & Προτάσεις
- Υποτίθεται / απαιτείται ότι έχετε ένα Δρομολογητής DD-WRT με δυνατότητα Opkg .
- Υποτίθεται / απαιτείται ότι έχετε ήδη εκτελέσει τα βήματα στο " Πώς να εισέλθετε στο δίκτυό σας (DD-WRT) " οδηγός.
- Υποτίθεται κάποια γνώση δικτύωσης.
Ας σπάσουμε.
Προκαθορισμένο Κανόνας "Αποκλεισμός νέων VPN" στο DD-WRT
Ενώ το παρακάτω απόσπασμα του "κώδικα" πιθανότατα θα λειτουργούσε σε κάθε, σεβασμό, iptables που χρησιμοποιούν, διανομή Linux / GNU, επειδή υπάρχουν τόσες πολλές παραλλαγές εκεί έξω, θα δείξουμε μόνο πώς να το χρησιμοποιήσουμε στο DD-WRT. Τίποτα δεν σας εμποδίζει, αν θέλετε, να το εφαρμόσετε απευθείας στο πλαίσιο VPN. Ωστόσο, πώς να το κάνετε αυτό, είναι πέρα από το πεδίο εφαρμογής αυτού του οδηγού.
Επειδή θέλουμε να αυξήσουμε το Τείχος προστασίας του δρομολογητή, είναι λογικό να προσθέτουμε στο σενάριο "Τείχος προστασίας". Κάτι τέτοιο, θα προκαλούσε την εκτέλεση της εντολής iptables κάθε φορά που το τείχος προστασίας ανανεώνεται και διατηρώντας έτσι την επαύξησή μας στη θέση του.
Από το DD-WRT Web-GUI:
-
Μεταβείτε στην ενότητα "Διαχείριση" -> "Εντολές".
-
Εισαγάγετε τον παρακάτω «κωδικό» στο πλαίσιο κειμένου:
inline = "$ (iptables -L INPUT -n | grep -n" κατάσταση ΣΧΕΤΙΚΟ, ΕΓΚΑΤΑΣΤΑΣΗ "| awk -F: {'print $1'})"; inline = $ (($ inline-2 + 1)); iptables -I INPUT "$ inline" -p tcp --dport 1723 -j DROP - Κάντε κλικ στο "Αποθήκευση τείχους προστασίας".
- Ολοκληρώθηκε.
Τι είναι αυτή η εντολή "Voodoo";
Η παραπάνω εντολή «μαγικό βουντού» κάνει τα εξής:
- Βρίσκει πού είναι η εύχρηστη γραμμή που επιτρέπει τη διέλευση ήδη καθιερωμένης επικοινωνίας. Το κάνουμε αυτό, επειδή A. Σε δρομολογητές DD-WRT, εάν η υπηρεσία VPN είναι ενεργοποιημένη, θα βρίσκεται ακριβώς κάτω από αυτήν τη γραμμή και B. Είναι απαραίτητο ο στόχος μας να συνεχίσουμε να επιτρέπουμε να έχουν ήδη ενεργοποιημένες συνεδρίες VPN μετά από χτύπημα.
- Αφαιρεί δύο (2) από την έξοδο της εντολής καταχώρισης για να εξηγήσει την αντιστάθμιση που προκαλείται από τις επικεφαλίδες στήλης πληροφοριών. Μόλις γίνει αυτό, προσθέστε ένα (1) στον παραπάνω αριθμό, έτσι ώστε ο κανόνας που εισάγουμε να έρθει αμέσως μετά τον κανόνα που επιτρέπει ήδη καθιερωμένη επικοινωνία. Έχω αφήσει εδώ αυτό το πολύ απλό «μαθηματικό πρόβλημα», απλώς για να καταστήσω σαφή τη λογική του «γιατί κάποιος πρέπει να μειώσει ένα από το μέρος του κανόνα αντί να το προσθέσει».
Διαμόρφωση KnockD
Πρέπει να δημιουργήσουμε μια νέα ακολουθία ενεργοποίησης που θα επιτρέψει τη δημιουργία νέων συνδέσεων VPN. Για να το κάνετε αυτό, επεξεργαστείτε το αρχείο knockd.conf εκδίδοντας σε ένα τερματικό:
vi /opt/etc/knockd.conf
Προσθήκη στην υπάρχουσα διαμόρφωση:
[enable-VPN]
ακολουθία = 02,02,02,01,01,01,2010,2010,2010
seq_timeout = 60
start_command = iptables -I INPUT 1 -s% IP% -p tcp --dport 1723 -j ΑΠΟΔΟΧΗ
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -p tcp --dport 1723 -j ΑΠΟΔΟΧΗ
Αυτή η διαμόρφωση θα:
- Ορίστε το παράθυρο ευκαιρίας για να ολοκληρώσετε την ακολουθία, σε 60 δευτερόλεπτα. (Συνιστάται να το διατηρείτε όσο το δυνατόν συντομότερο)
- Ακούστε μια ακολουθία τριών χτυπημάτων στις θύρες 2, 1 και 2010 (αυτή η σειρά είναι σκόπιμη να πετάξει τους σαρωτές θυρών εκτός τροχιάς).
- Μόλις εντοπιστεί η ακολουθία, εκτελέστε το "start_command". Αυτή η εντολή "iptables" θα τοποθετήσει μια "αποδοχή κυκλοφορίας που προορίζεται για τη θύρα 1723 από την οποία προήλθαν οι κτυπήματα" στην κορυφή των κανόνων του τείχους προστασίας. (Η οδηγία% IP% αντιμετωπίζεται ειδικά από το KnockD και αντικαθίσταται με την IP προέλευσης των Knocks).
- Περιμένετε 20 δευτερόλεπτα προτού εκδώσετε το "stop_command".
- Εκτελέστε το "stop_command". Όπου αυτή η εντολή "iptables" κάνει το αντίστροφο των παραπάνω και διαγράφει τον κανόνα που επιτρέπει την επικοινωνία.
Συντάκτης Οι συμβουλές
Ενώ πρέπει να είστε έτοιμοι, υπάρχουν μερικά σημεία που πιστεύω ότι πρέπει να αναφέρω.
- Αντιμετώπιση προβλημάτων. Θυμηθείτε ότι εάν αντιμετωπίζετε προβλήματα, το τμήμα "αντιμετώπιση προβλημάτων" στο τέλος του το πρώτο άρθρο πρέπει να είναι η πρώτη σας στάση.
- Εάν θέλετε, μπορείτε να έχετε τις οδηγίες "start / stop" να εκτελέσουν πολλές εντολές διαχωρίζοντάς τις με ένα ημι-colen (;) ή ακόμα και ένα script. Κάτι τέτοιο θα σας επιτρέψει να κάνετε κάποια ωραία πράγματα. Για παράδειγμα, έχω να μου στείλει ένα * Email με το οποίο μου λέει ότι έχει ενεργοποιηθεί μια ακολουθία και από πού.
- Μην ξεχνάτε ότι " Υπάρχει μια εφαρμογή για αυτό "Και παρόλο που δεν αναφέρεται σε αυτό το άρθρο, σας συνιστούμε να το πάρετε StavFX Android πρόγραμμα ρόπτρο .
- Ενώ στο θέμα του Android, μην ξεχνάτε ότι υπάρχει ένας πελάτης PPTP VPN που είναι συνήθως ενσωματωμένος στο λειτουργικό σύστημα από τον κατασκευαστή.
- Η μέθοδος, αποκλείοντας κάτι αρχικά και μετά συνεχίζοντας να επιτρέπει ήδη καθιερωμένη επικοινωνία, μπορεί να χρησιμοποιηθεί σχεδόν σε οποιαδήποτε επικοινωνία που βασίζεται σε TCP. Στην πραγματικότητα στο Knockd στο DD-WRT 1 ~ 6 ταινίες, έχω κάνει πίσω όταν έχω χρησιμοποιήσει το πρωτόκολλο απομακρυσμένης επιφάνειας εργασίας (RDP) που χρησιμοποιεί τη θύρα 3389 ως παράδειγμα.