«Είμαι νέος στο Linux και είχα πει να ελέγξω για ανοιχτές θύρες στο κιβώτιο μου Linux για να ελέγξω την ασφάλεια. Τι σημαίνει αυτό και πρέπει να το κάνω; " Αυτή είναι μια ερώτηση που λάβαμε από έναν αναγνώστη TechJunkie αυτή την εβδομάδα και νομίζω ότι είναι αρκετά ενδιαφέρον που πολλοί άνθρωποι είναι πιθανό να θέλουν να ξέρουν.
Δείτε επίσης το άρθρο μας Πώς να εγκαταστήσετε μια εικονική μηχανή Linux με το VirtualBox
Δεδομένου ότι οι θύρες αποτελούν αναπόσπαστο κομμάτι του τρόπου με τον οποίο ένας υπολογιστής συνδέεται με το διαδίκτυο, είναι ένα εξαιρετικό θέμα που καλύπτει.
Τι είναι το λιμάνι;
Οι θύρες είναι είτε φυσικές είτε εικονικές. Μια φυσική θύρα είναι η θύρα Ethernet στον υπολογιστή σας ή στις θύρες LAN ή WAN του δρομολογητή σας. Στο πλαίσιο της ερώτησης, μιλάμε για εικονικές θύρες σε έναν υπολογιστή που είναι διαφορετικές από εκείνες τις φυσικές θύρες.
Στα πιο βασικά, μια θύρα είναι μια εικονική πόρτα στον υπολογιστή σας για συγκεκριμένες υπηρεσίες που θα χρησιμοποιήσει. Υπάρχουν πολλές υπηρεσίες ιστού, όπως ηλεκτρονικό ταχυδρομείο, πρόσβαση στο διαδίκτυο, streaming, μεταφορά FTP ή αρχείων, απομακρυσμένη πρόσβαση και άλλα. Όλοι τους έχουν ανατεθεί διαφορετικές θύρες, έτσι ώστε το λειτουργικό σας σύστημα και οποιαδήποτε εφαρμογή που υποστηρίζει ιστό να μπορούν να αναγνωρίζουν το τι συμβαίνει.
Για παράδειγμα, ένα λειτουργικό σύστημα γνωρίζει ότι οποιαδήποτε προσγείωση στη θύρα 80 πρόκειται να γίνει HTTP ή κυκλοφορία ιστού, η θύρα 443 είναι για HTTPS ή ασφαλής διαδικτυακή κυκλοφορία. Οτιδήποτε προσγειώνεται στη θύρα 25 πρόκειται να είναι SMTP, ή ηλεκτρονικό ταχυδρομείο και ούτω καθεξής. Παρόλο που δεν υπάρχουν πολλές υπηρεσίες ιστού, υπάρχουν πάνω από χίλιες αποστολές λιμένων.
Για παράδειγμα, το πρόγραμμα περιήγησής σας συνδέεται με το TechJunkie μέσω θύρας 443, οπότε ο διακομιστής ιστού γνωρίζει ότι ζητάτε ένα αντίγραφο HTTPS της σελίδας. Αν θέλω να φορτώσω αρχεία στο διακομιστή, θα χρησιμοποιούσα τη θύρα FTP 989 ή 990 για ασφαλή FTP. Καθώς το αίτημα φτάνει σε εκείνο το λιμάνι, ο διακομιστής ξέρει αυτόματα τι είδους κυκλοφορία είναι και το δρομολογεί στη σωστή υπηρεσία.
Οι δρομολογητές έχουν επίσης θύρες, αλλά είναι διαφορετικοί και εκτός του πεδίου εφαρμογής αυτού του άρθρου.
Ανοικτές και κλειστές θύρες
Οι όροι ανοικτές θύρες και κλειστές θύρες είναι πραγματικά λανθασμένες. Μια θύρα δεν είναι ούτε ανοικτή ούτε κλειστή. Είναι φιλτραρισμένο ή μη φιλτραρισμένο. Ένα τείχος προστασίας μπορεί να «αποκλείει» τις θύρες, μη επιτρέποντας στις εφαρμογές να επικοινωνούν μέσω αυτών ή να αφήνουν όλη την κίνηση κατευθείαν ανάλογα με τις ρυθμίσεις. Η θύρα εξακολουθεί να είναι ανοιχτή και μια εφαρμογή μπορεί να εξακολουθεί να ακούει για κυκλοφορία, αλλά το τείχος προστασίας εκτιμά ότι η κίνηση ως προοριζόμενη για ένα λιμάνι που ξέρει δεν είναι εξουσιοδοτημένο και εμποδίζει την κίνηση.
Πολλές κοινές θύρες παραμένουν αυτόματα μη φιλτραρισμένες από το τείχος προστασίας σας. Το τείχος προστασίας θα προγραμματιστεί να δέχεται κυκλοφορία από τις κοινές θύρες ιστού μέχρι να το πείτε διαφορετικά. Επομένως, όταν επιλέγετε να αποκλείσετε την πρόσβαση στο Internet χρησιμοποιώντας ένα τείχος προστασίας, το λέτε να μπλοκάρει και να αποβάλει όλη την κίνηση που προορίζεται για τη θύρα 80 και τη θύρα 443.
Ελέγξτε τις θύρες στο Linux
Έχετε μια δέσμη εργαλείων που μπορείτε να χρησιμοποιήσετε στο Linux για να δείτε τι συμβαίνει. Ο έλεγχος των θυρών είναι απλός, αλλά ως συνήθως μπορείτε να κρατάτε τα πράγματα απλά ή να σκάβετε τόσο βαθιά όσο θέλετε σε αυτό που κάνει η συσκευή σας Linux.
Η εντολή Netstat είναι αυτή που χρησιμοποιούμε για να ελέγξουμε τις θύρες και άλλες υπηρεσίες δικτύου.
- Πληκτρολογήστε 'netstat -atu' σε ένα τερματικό και πατήστε Enter. Αυτό θα σας δείξει όλες τις υποδοχές, τις συνδέσεις TCP και UDP που είναι ενεργές στο Linux.
- Πληκτρολογήστε 'netstat -listen' ή 'netstat -l' και πατήστε Enter για να δείτε μόνο τις θύρες ακρόασης στον υπολογιστή σας.
- Πληκτρολογήστε 'netstat -vatn' και πατήστε Enter για να καταχωρίσετε τις υπάρχουσες συνδέσεις TCP από τον υπολογιστή σας.
- Πληκτρολογήστε 'netstat -vaun' και πατήστε Enter για να καταχωρίσετε τις υπάρχουσες συνδέσεις UDP.
- Πληκτρολογήστε 'netstat -ltup' για να εμφανίσετε όλες τις συνδέσεις μαζί με το πρόγραμμα που ακούει κάθε θύρα.
- Πληκτρολογήστε 'netstat -lntup' και πατήστε Enter για να εμφανίσετε τις διευθύνσεις IP μαζί με τον αριθμό θύρας.
Αυτές οι εντολές κάνουν ουσιαστικά το ίδιο πράγμα, αλλά παρέχουν διαφορετικές πληροφορίες ανάλογα με τις ανάγκες σας. Ο καθένας θα απαντήσει στην αρχική ερώτηση.
Θύρες κλεισίματος
Παρόλο που γνωρίζουμε ότι στην πραγματικότητα δεν «κλείνετε» ένα λιμάνι, εξακολουθεί να είναι κοινή λέξη για το φιλτράρισμα. Όταν κάποιος λέει ότι πρέπει να κλείσετε ένα λιμάνι, δεν το κάνετε αυτό στον υπολογιστή σας Linux. Μπορείτε να κλείσετε μόνο τις θύρες από το πρόγραμμα που ακούτε στη θύρα ή να το φιλτράρετε στο τείχος προστασίας.
Οι προχωρημένοι χρήστες μπορούν να παίξουν γύρω με τα IPTables σε ορισμένες διανομές Linux, αλλά αυτό είναι πολύ περίπλοκο για μένα. Αυτός ο οδηγός σας περνάει μέσα από αυτό.
Πρέπει να ελέγξετε τις θύρες;
Εάν χρησιμοποιείτε ένα τείχος προστασίας και καλή υγιεινή διαδικτύου, δεν θα πρέπει ποτέ να χρειαστεί να ελέγξετε για τις θύρες σε έναν υπολογιστή Linux. Εάν διαχειρίζεστε ένα διακομιστή Linux, έναν διακομιστή ιστού ή έναν δρομολογητή, οι θύρες καθίστανται πολύ πιο σημαντικές, αλλά για τους επιτραπέζιους υπολογιστές, όχι τόσο πολύ. Ένα καλό τείχος προστασίας θα φροντίσει τα πάντα για εσάς.
