Το HTG εξηγεί τι είναι η σάρωση μέσω θύρας;
Μια σάρωση σε λιμάνια είναι σαν να τσακίζει ένα μάτσο ντουλαπάκια για να δείτε ποιες πόρτες είναι κλειδωμένες. Ο σαρωτής μαθαίνει ποιες θύρες σε ένα δρομολογητή ή τείχος προστασίας είναι ανοιχτές και μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες για να εντοπίσει πιθανές αδυναμίες του συστήματος ηλεκτρονικών υπολογιστών.
Τι είναι το λιμάνι?
Όταν μια συσκευή συνδέεται σε άλλη συσκευή μέσω δικτύου, καθορίζει έναν αριθμό θύρας TCP ή UDP από 0 έως 65535. Ωστόσο, ορισμένες θύρες χρησιμοποιούνται συχνότερα. Οι θύρες TCP 0 έως 1023 είναι "γνωστές θύρες" που παρέχουν υπηρεσίες συστήματος. Για παράδειγμα, η θύρα 20 είναι μεταφορές αρχείων FTP, η θύρα 22 είναι οι συνδέσεις τερματικών Secure Shell (SSH), η θύρα 80 είναι τυπική διαδικτυακή κυκλοφορία HTTP και η θύρα 443 είναι κρυπτογραφημένη HTTPS. Έτσι, όταν συνδέεστε σε έναν ασφαλή ιστότοπο, το πρόγραμμα περιήγησης ιστού σας μιλάει στο διακομιστή ιστού που ακούει στη θύρα 443 αυτού του διακομιστή.
Οι υπηρεσίες δεν πρέπει πάντα να τρέχουν σε αυτές τις συγκεκριμένες θύρες. Για παράδειγμα, θα μπορούσατε να εκτελέσετε ένα διακομιστή ιστού HTTPS στη θύρα 32342 ή σε ένα διακομιστή Secure Shell στη θύρα 65001, αν σας άρεσε. Αυτές είναι μόνο οι τυπικές προεπιλογές.
Τι είναι το Port Scan?
Μια σάρωση θύρας είναι μια διαδικασία ελέγχου όλων των θυρών σε μια διεύθυνση IP για να δείτε αν είναι ανοιχτά ή κλειστά. Το λογισμικό σάρωσης θύρας θα ελέγχει τη θύρα 0, τη θύρα 1, τη θύρα 2 και όλη τη διαδρομή μέχρι τη θύρα 65535. Κάνει αυτό απλά στέλνοντας ένα αίτημα σε κάθε θύρα και ζητώντας μια απάντηση. Στην απλούστερη μορφή του, το λογισμικό σάρωσης λιμένων ζητάει για κάθε λιμάνι, ένα κάθε φορά. Το απομακρυσμένο σύστημα θα απαντήσει και θα πει εάν μια θύρα είναι ανοικτή ή κλειστή. Το άτομο που εκτελεί τη σάρωση λιμένων θα γνωρίζει τότε ποιες θύρες είναι ανοιχτές.
Οποιοδήποτε τείχος προστασίας δικτύου μπορεί να εμποδίσει ή να αποθέσει με οποιονδήποτε άλλο τρόπο την κυκλοφορία, οπότε η σάρωση θύρας είναι επίσης μια μέθοδος για την εύρεση των θύρων που είναι προσβάσιμες ή εκτεθειμένες στο δίκτυο σε αυτό το απομακρυσμένο σύστημα.
Το εργαλείο nmap είναι ένα κοινό βοηθητικό πρόγραμμα δικτύου που χρησιμοποιείται για τη σάρωση θύρας, αλλά υπάρχουν πολλά άλλα εργαλεία σάρωσης θύρας.
Γιατί οι χρήστες εκτελούν σάρωση λιμένων?
Οι ανιχνεύσεις θυρών είναι χρήσιμες για τον προσδιορισμό των τρωτών σημείων ενός συστήματος. Μια σάρωση λιμένων θα έλεγε σε έναν εισβολέα ποια λιμάνια είναι ανοιχτά στο σύστημα και αυτό θα τους βοηθήσει να διατυπώσουν ένα σχέδιο επίθεσης. Για παράδειγμα, αν ανιχνεύθηκε ένας διακομιστής Secure Shell (SSH) σαν να ακούει στη θύρα 22, ο εισβολέας θα μπορούσε να προσπαθήσει να συνδεθεί και να ελέγξει για αδύναμους κωδικούς πρόσβασης. Αν κάποιος άλλος τύπος διακομιστή ακούει σε άλλη θύρα, ο επιτιθέμενος θα μπορεί να το σπρώξει και να δει αν υπάρχει κάποιο σφάλμα που μπορεί να εκμεταλλευτεί. Ίσως να τρέχει μια παλιά έκδοση του λογισμικού και υπάρχει μια γνωστή τρύπα ασφαλείας.
Αυτοί οι τύποι σαρώσεων μπορούν επίσης να βοηθήσουν στην ανίχνευση υπηρεσιών που εκτελούνται σε μη προεπιλεγμένες θύρες. Επομένως, αν τρέχετε ένα διακομιστή SSH στη θύρα 65001 αντί της θύρας 22, η σάρωση θύρας θα αποκαλύψει αυτό και ο εισβολέας θα μπορούσε να προσπαθήσει να συνδεθεί με τον διακομιστή SSH σε εκείνο το λιμάνι. Δεν μπορείτε απλά να αποκρύψετε έναν διακομιστή σε μη προεπιλεγμένη θύρα για να ασφαλίσετε το σύστημά σας, αν και κάνει τον διακομιστή πιο δύσκολο να βρει.
Οι ανιχνεύσεις θυρών δεν χρησιμοποιούνται απλώς από τους εισβολείς. Οι ανιχνεύσεις θυρών είναι χρήσιμες για αμυντικές δοκιμές που διεισδύουν. Ένας οργανισμός μπορεί να σαρώσει τα δικά του συστήματα για να καθορίσει ποιες υπηρεσίες εκτίθενται στο δίκτυο και να βεβαιωθείτε ότι έχουν διαμορφωθεί με ασφάλεια.
Πόσο επικίνδυνα είναι τα λιμάνια σαρώνει?
Μια ανίχνευση λιμένων μπορεί να βοηθήσει έναν εισβολέα να βρει ένα αδύναμο σημείο για να επιτεθεί και να σπάσει σε ένα σύστημα υπολογιστή. Είναι όμως μόνο το πρώτο βήμα. Ακριβώς επειδή έχετε βρει μια ανοικτή θύρα δεν σημαίνει ότι μπορείτε να επιτεθείτε. Αλλά, αφού βρείτε μια ανοιχτή θύρα που εκτελεί μια υπηρεσία ακρόασης, μπορείτε να τη σαρώσετε για ευπάθειες. Αυτός είναι ο πραγματικός κίνδυνος.
Στο οικιακό σας δίκτυο, έχετε σίγουρα ένα δρομολογητή που κάθεται ανάμεσα σε εσάς και το Διαδίκτυο. Κάποιος στο διαδίκτυο θα μπορεί μόνο να σαρώνει το δρομολογητή σας από το λιμάνι και δεν θα βρει τίποτα εκτός από τις πιθανές υπηρεσίες στον ίδιο τον δρομολογητή. Αυτός ο δρομολογητής λειτουργεί ως τείχος προστασίας (firewall) -εκτός αν έχετε προωθήσει μεμονωμένες θύρες από το δρομολογητή σας σε μια συσκευή, οπότε οι συγκεκριμένες θύρες εκτίθενται στο Διαδίκτυο.
Για διακομιστές υπολογιστών και εταιρικά δίκτυα, τα τείχη προστασίας μπορούν να διαμορφωθούν έτσι ώστε να ανιχνεύουν ανιχνεύσεις θυρών και να εμποδίζουν την κίνηση από τη διεύθυνση που πραγματοποιεί σάρωση. Εάν όλες οι υπηρεσίες που εκτίθενται στο διαδίκτυο έχουν διαμορφωθεί με ασφάλεια και δεν έχουν γνωστές τρύπες ασφαλείας, οι σαρών λιμένων δεν πρέπει να είναι ούτε πολύ τρομακτικές.
Τύποι ανίχνευσης λιμένων
Σε μια σάρωση θύρας "TCP πλήρης σύνδεση", ο σαρωτής στέλνει ένα μήνυμα SYN (αίτημα σύνδεσης) σε μια θύρα. Εάν η θύρα είναι ανοιχτή, το απομακρυσμένο σύστημα απαντά με ένα μήνυμα SYN-ACK (επιβεβαίωση). Ο ανιχνευτής αντιδρά με το δικό του μήνυμα ACK (επιβεβαίωση). Αυτή είναι μια πλήρης χειραψία σύνδεσης TCP και ο σαρωτής γνωρίζει ότι το σύστημα δέχεται συνδέσεις σε μια θύρα αν αυτή πραγματοποιηθεί.
Εάν η θύρα είναι κλειστή, το απομακρυσμένο σύστημα θα ανταποκριθεί με ένα μήνυμα RST (επαναφορά). Εάν το απομακρυσμένο σύστημα απλά δεν υπάρχει στο δίκτυο, δεν θα υπάρξει απάντηση.
Ορισμένοι σαρωτές πραγματοποιούν σάρωση "TCP half-open". Αντί να περάσουν από έναν πλήρη κύκλο SYN, SYN-ACK και στη συνέχεια ACK, στέλνουν απλά ένα SYN και περιμένουν να απαντήσουν ένα μήνυμα SYN-ACK ή RST. Δεν χρειάζεται να στείλετε ένα τελικό αρχείο ACK για να ολοκληρώσετε τη σύνδεση, καθώς το SYN-ACK θα έλεγε στον σαρωτή όλα όσα χρειάζεται να γνωρίζει. Είναι ταχύτερη επειδή χρειάζεται να αποστέλλονται λιγότερα πακέτα.
Άλλοι τύποι σαρών περιλαμβάνουν την αποστολή ξένων, παραμορφωμένων τύπων πακέτων και την αναμονή να δούμε αν το απομακρυσμένο σύστημα επιστρέφει ένα πακέτο RST που κλείνει τη σύνδεση. Εάν συμβαίνει αυτό, ο σαρωτής γνωρίζει ότι υπάρχει ένα απομακρυσμένο σύστημα στη συγκεκριμένη θέση και ότι μια συγκεκριμένη θύρα είναι κλειστή. Αν δεν ληφθεί πακέτο, ο σαρωτής γνωρίζει ότι η θύρα πρέπει να είναι ανοιχτή.
Μια απλή, λιμενική σάρωση, όπου το λογισμικό απαιτεί πληροφορίες για κάθε θύρα, μία προς μία, είναι εύκολο να εντοπιστεί. Τα τείχη προστασίας δικτύων μπορούν εύκολα να διαμορφωθούν για να ανιχνεύσουν και να σταματήσουν αυτή τη συμπεριφορά.
Αυτός είναι ο λόγος για τον οποίο ορισμένες τεχνικές σάρωσης λιμένων λειτουργούν διαφορετικά. Για παράδειγμα, μια σάρωση θύρας θα μπορούσε να σαρώσει μια μικρότερη γκάμα θυρών ή θα μπορούσε να σαρώσει το πλήρες φάσμα των θυρών σε πολύ μεγαλύτερο χρονικό διάστημα, ώστε να είναι πιο δύσκολο να εντοπιστεί.
Οι ανιχνεύσεις σε λιμάνια είναι ένα βασικό εργαλείο ασφαλείας για ψωμί και βούτυρο όταν πρόκειται για διεισδυτικά (και ασφαλή) συστήματα υπολογιστών. Αλλά είναι απλά ένα εργαλείο που επιτρέπει στους επιτιθέμενους να βρουν λιμένες που μπορεί να είναι ευάλωτοι σε επίθεση. Δεν δίνουν σε έναν εισβολέα πρόσβαση σε ένα σύστημα και ένα σύστημα που έχει ρυθμιστεί με ασφάλεια μπορεί σίγουρα να αντέξει μια πλήρη σάρωση του λιμένα χωρίς να βλάψει.
Image Credit: xfilephotos / Shutterstock.com, υπόθεση Casezy / Shutterstock.com.