Γνωρίστε το δίκτυό σας από μέσα ελέγχοντας τακτικά για ανοιχτές θύρες με αυτές τις εντολές Linux.
Οι ανοιχτές θύρες δικτύου είναι τα πιο εύκολα σημεία εισόδου στο δίκτυό σας. Μερικές φορές, ενδέχεται να υπάρχουν ανεπιθύμητες υπηρεσίες που εκτελούνται σε θύρες που είναι εξωτερικά ορατές από το Διαδίκτυο. Σε περίπτωση που αυτές οι υπηρεσίες είναι ευάλωτες, το δίκτυό σας θα βρίσκεται σε συνεχή απειλή επίθεσης καθώς καθημερινά ολόκληρο το διαδίκτυο ελέγχεται μαζικά για ευάλωτες υπηρεσίες σε ανοιχτές θύρες.
Μάθετε πώς μπορείτε να σαρώσετε και να προβάλετε ανοιχτές θύρες στα συστήματα Linux, ώστε να προστατεύσετε το δίκτυό σας από απειλές.
Τι είναι οι θύρες δικτύου;
Οι θύρες δικτύου είναι λογικά σημεία πρόσβασης του συστήματός σας που μπορούν να χρησιμοποιηθούν ως κανάλι για τη φιλοξενία πολλαπλών υπηρεσιών. Μια θύρα αντιπροσωπεύεται από έναν ακέραιο 16-bit, επομένως, ο υψηλότερος αριθμός θύρας είναι 65535.
Μπορείτε να σκεφτείτε λιμάνια όπως παράθυρα και πόρτες ενός σπιτιού—βασικά όλα τα διαφορετικά σημεία εισόδου σε ένα σπίτι ή έναν υπολογιστή. Οι θύρες είναι τριών τύπων: θύρες συστήματος (1-1023), καταχωρημένες θύρες (1024-49151) και εφήμερες ή δυναμικές θύρες (49152-65535).
Όταν ξεκινάτε μια εφαρμογή που απαιτεί σύνδεση στο διαδίκτυο, χρησιμοποιεί δυναμικές θύρες για τη μετάδοση και λήψη δεδομένων μέσω του δικτύου. Ωστόσο, όταν ξεκινάτε έναν διακομιστή web ή έναν διακομιστή SSH, συνήθως συνδέεται με τις θύρες συστήματος ή τις καταχωρημένες θύρες.
Για διακομιστές web που εξυπηρετούν HTTP, η προεπιλεγμένη θύρα συστήματος είναι 80 και για SSH είναι 22. Αυτοί οι κανονισμοί, όπως οι σειρές των θυρών, αναπτύσσονται από την Αρχή Εκχωρημένων Αριθμών Διαδικτύου (IANA). Μπορείτε να περάσετε από το RFC σχετικά με τις θύρες για να λάβετε μια πλήρη λίστα με όλες τις θύρες και τις λειτουργίες τους.
Είναι σημαντικό να γνωρίζετε το πιο συχνά ευάλωτες θύρες ώστε να μπορείτε να βεβαιωθείτε ότι είναι κλειστά ή προστατευμένα.
1. Ελέγξτε για Open Ports With netstat
Το netstat είναι ένα δημοφιλές βοηθητικό πρόγραμμα που μπορείτε να χρησιμοποιήσετε για να δείτε τα στατιστικά του δικτύου του συστήματος Linux σας. Είναι μέρος του πακέτου net-tools.
Το πακέτο net-tools έχει πλέον αποσβεστεί λόγω έλλειψης σωστής συντήρησης από τον προγραμματιστή. Αυτός είναι και ο λόγος που μπορεί να συναντήσετε ένα σφάλμα "ifconfig: η εντολή δεν βρέθηκε". όταν εκτελείτε τη δημοφιλή εντολή ifconfig στο Linux.
Έτσι, στα σύγχρονα συστήματα, ίσως χρειαστεί να εγκαταστήσετε πρώτα το πακέτο net-tools και, στη συνέχεια, θα μπορείτε να εκτελέσετε την εντολή netstat. Δείτε πώς μπορείτε να ελέγξετε για ανοιχτές θύρες με το netstat:
netstat -tuln
Επεξήγηση της εντολής:
- -τ εμφανίζει θύρες TCP.
- -u εμφανίζει θύρες UDP.
- -μεγάλο εμφανίζει θύρες ακρόασης. Αντικαταστήστε αυτό με ένα αν θέλετε να δείτε όλα τα λιμάνια, ανεξάρτητα από την κατάστασή τους.
- -n δείχνει την αριθμητική τιμή των θυρών αντί να επιλύεται σε ονόματα υπηρεσιών. Για παράδειγμα, εμφανίστε τη θύρα 22 αντί για SSH, δηλαδή την υπηρεσία που εκτελείται στη θύρα.
2. Έλεγχος για ανοιχτές θύρες με ss
Το ss είναι το σύγχρονο αντίστοιχο του εργαλείου netstat. Θα το βρείτε προεγκατεστημένο σε όλες τις σύγχρονες διανομές Linux. Η σύνταξη για τον έλεγχο των ανοιχτών θυρών με ss είναι πανομοιότυπη με το netstat.
Δείτε πώς μπορείτε να ελέγξετε για ανοιχτές θύρες με ss:
ss -tuln
Επεξήγηση της εντολής:
- -τ εμφανίζει θύρες TCP.
- -u εμφανίζει θύρες UDP.
- -μεγάλο εμφανίζει θύρες ακρόασης. Αντικαταστήστε αυτό με ένα αν θέλετε να δείτε όλα τα λιμάνια, ανεξάρτητα από την κατάστασή τους.
- -n δείχνει την αριθμητική τιμή των θυρών αντί να επιλύεται σε ονόματα υπηρεσιών. Για παράδειγμα, εμφανίστε τη θύρα 21 αντί για FTP, δηλαδή την υπηρεσία που εκτελείται στη θύρα.
3. Ελέγξτε για ανοιχτές θύρες με Nmap
Το Nmap είναι ένα από τα πιο δημοφιλή εργαλεία στον τομέα της κυβερνοασφάλειας και της δικτύωσης. Είναι ένα βασικό όνομα όταν πρόκειται για τη δοκιμή διείσδυσης ασφάλειας δικτύου. Η κύρια περίπτωση χρήσης του είναι η σάρωση θυρών, επομένως όχι μόνο θα λαμβάνετε πληροφορίες σχετικά με τις θύρες που είναι ανοιχτές στο σύστημά σας αλλά και εάν είναι ευάλωτες και εκμεταλλεύσιμες.
Επιπλέον, εάν θέλετε να ελέγξετε τις ανοιχτές θύρες σε ένα απομακρυσμένο σύστημα με ρυθμισμένο IDS/IPS και τείχη προστασίας, μην ανησυχείτε γιατί το Nmap μπορεί επίσης να παρακάμψει τείχη προστασίας και IDS/IPS με τους σωστούς διακόπτες.
Δείτε αυτό ολοκληρωμένος οδηγός για το Nmap για αρχάριους για να εξερευνήσετε τις διάφορες δυνατότητες του Nmap και πώς να τις χρησιμοποιήσετε. Αν και μπορείτε, δεν συνιστάται να επιχειρήσετε και να παρακάμψετε τείχη προστασίας καθώς δεν είναι απολύτως αξιόπιστο, επομένως είναι καλύτερο να κάνετε SSH στον απομακρυσμένο διακομιστή και στη συνέχεια να εκτελέσετε το Nmap σε αυτόν τοπικά.
Ακολουθεί η εντολή για έλεγχο για ανοιχτές θύρες με το Nmap:
nmap -sTU -sV -T 5 --min-rate 9000 --min-parallelism 9000 --initial-rtt-timeout 50ms --max-rtt-timeout 3000ms --max-retts 50 -Pn --disable-arp-ping -n -- script vuln, exploit, auth -v -oX
Επεξήγηση της εντολής:
- -sTU ορίζει τον τύπο σάρωσης σε TCP Connect και UDP scan.
- -Τ 5 ρυθμίζει το πρότυπο χρονισμού σε επιθετικό για απίστευτες γρήγορες σαρώσεις (δεν συνιστάται σε μη προστατευμένο σύστημα, καθώς μπορεί να οδηγήσει σε επίθεση DoS).
- -sV ενεργοποιεί τη σάρωση υπηρεσίας.
- -- Ελάχιστη τιμή 9000 λέει στο Nmap να στείλει 9000 πακέτα ανά δευτερόλεπτο.
- --initial-rtt-timeout 50ms λέει στο Nmap να περιμένει αρχικά 50ms για μια απάντηση σε κάθε πακέτο SYN που στέλνει.
- --max-rtt-timeout 3000ms λέει στο Nmap να περιμένει το μέγιστο 3000ms για απάντηση.
- --min-παραλληλισμός 9000 ορίζει τον ελάχιστο αριθμό ταυτόχρονων εκτελέσεων σεναρίου σε 9000.
- --max-επαναπροσπαθήσεις 50 λέει στο Nmap να προσπαθήσει ξανά 50 φορές για να συνδεθεί σε μια θύρα.
- -Πν απενεργοποιεί την ανίχνευση ping.
- --απενεργοποίηση-arp-ping απενεργοποιεί την ανίχνευση ARP.
- -n απενεργοποιεί την ανάλυση DNS.
- --script vuln, exploit, auth εκτελεί τρία σενάρια για να ελέγξει για διαφορετικούς τύπους τρωτών σημείων στις θύρες που ανακαλύφθηκαν.
- -v επιστρέφει μια αναλυτική έξοδο.
- -βόδι αποθηκεύει τα αποτελέσματα σε ένα αρχείο XML.
- -6 Προαιρετική παράμετρος για σάρωση διευθύνσεων IPv6.
4. Ελέγξτε για ανοιχτές θύρες με lsof
Η εντολή lsof στο Linux χρησιμοποιείται για τη λίστα ανοιχτών αρχείων. Ωστόσο, εάν προσθέσετε μερικούς διακόπτες σε αυτό, θα μπορείτε να δείτε τις ανοιχτές συνδέσεις και τις θύρες Διαδικτύου στον τοπικό σας υπολογιστή. Δείτε πώς μπορείτε να ελέγξετε για ανοιχτές θύρες με το lsof:
lsof -i -n
Επεξήγηση της εντολής:
- -Εγώ παραθέτει όλα τα αρχεία δικτύου και διαδικτύου.
- -n δεν επιλύει ονόματα κεντρικών υπολογιστών.
5. Ελέγξτε για ανοιχτές θύρες με netcat
Το netcat είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που σας επιτρέπει να διαβάζετε και να γράφετε από και προς συνδέσεις TCP/UDP. Σημειώστε ότι αυτό είναι μόνο ένα χαρακτηριστικό του netcat. Μπορείτε να δείτε τη σελίδα του εγχειριδίου χρησιμοποιώντας το άνθρωπος netcat εντολή για να εξερευνήσετε όλα τα χαρακτηριστικά του και πώς να τα χρησιμοποιήσετε.
Δείτε πώς μπορείτε να χρησιμοποιήσετε το netcat για να σαρώσετε ανοιχτές θύρες:
nc -zv | grep -v "αρνήθηκε"
Επεξήγηση της εντολής:
- -z ρυθμίζει το netcat σε λειτουργία σαρωτή.
- -v επιστρέφει μια αναλυτική έξοδο.
- grep -v "αρνήθηκε" επιστρέφει γραμμές εξόδου χωρίς τη λέξη "απορρίφθηκε". Αυτό γίνεται για να αποτραπεί η απόφραξη του τερματικού με μηνύματα "απορρίφθηκε σύνδεση" όταν το netcat δεν λαμβάνει έξοδο από μια θύρα.
- 2>&1: Αυτός είναι ένας προαιρετικός διακόπτης που ίσως χρειαστεί να ενεργοποιήσετε για να λειτουργήσει το grep όταν εκτελείτε το netcat σε αναλυτική λειτουργία. Το netcat επιστρέφει την έξοδο στο stderr (συμβολίζεται με 2). Έτσι, για να grep την έξοδο, θα πρέπει να ανακατευθύνετε το stderr στο stdout (που συμβολίζεται με 1) και στη συνέχεια να το διοχετεύσετε στο grep.
Όσο πιο βαθιά γνωρίζετε το δίκτυό σας, τόσο καλύτερα μπορείτε να το υπερασπιστείτε
Το να γνωρίζετε ποιες θύρες είναι ανοιχτές και ποιες υπηρεσίες εκτελούνται στο σύστημά σας είναι ένα εξαιρετικό βήμα για να το προστατέψετε από πιθανές εξωτερικές επιθέσεις. Αυτό σας επιτρέπει να αναζητήσετε και να τερματίσετε τις περιττές υπηρεσίες, να βρείτε παλιές υπηρεσίες και επίσης εντοπίστε εάν υπάρχουν κακόβουλα αρχεία, όπως bind ή reverse shell backdoors που εκτελούνται στο δικό σας Σύστημα.
Εάν ενδιαφέρεστε σοβαρά για την ασφάλεια του δικτύου, θα πρέπει να εξετάσετε το ενδεχόμενο εγκατάστασης και ρύθμισης μιας λύσης IDS για την παρακολούθηση όλης της δραστηριότητας στο δίκτυό σας και την επιβολή συνόλων κανόνων για την αποφυγή ανεπιθύμητων συνδέσεων.