Δικτυακές Υπηρεσίες και Θύρες Ports: Βασικές Κατηγορίες
Οι θύρες δικτύου (network ports) επιτρέπουν σε πολλές εφαρμογές και υπηρεσίες να επικοινωνούν μέσω της ίδιας διεύθυνσης IP. Κάθε θύρα αναγνωρίζει ένα σημείο επικοινωνίας σε ένα πρωτόκολλο μεταφοράς, κυρίως TCP ή UDP. Για παράδειγμα, ένας web server μπορεί να δέχεται HTTP αιτήματα στην TCP 80 και HTTPS αιτήματα στην TCP 443.
Σε αυτόν τον οδηγό θα βρεις τις βασικές κατηγορίες θυρών, τις συνηθέστερες υπηρεσίες, παραδείγματα ελέγχου σε Linux και Windows και βασικές πρακτικές ασφαλείας.
Συχνές θύρες δικτύου και υπηρεσίες
Ο παρακάτω πίνακας συγκεντρώνει γνωστές θύρες και τις υπηρεσίες που χρησιμοποιούν συνήθως. Οι αριθμοί είναι προεπιλεγμένες ή συνηθισμένες τιμές· μια εφαρμογή μπορεί να έχει ρυθμιστεί να χρησιμοποιεί διαφορετική θύρα.
| Port | Υπηρεσία | Λεπτομέρειες |
|---|---|---|
| 7 | echo | ECHO |
| 20 | ftp-data | File Transfer [Data] |
| 21 | ftp | File Transfer [Control] |
| 22 | ssh | Το Secure Shell χρησιμοποιείται για ασφαλείς συνδέσεις σε υπολογιστές UNIX, για μεταφορά αρχείων και για port forwarding. |
| 23 | telnet | Telnet - Μη κρυπτογραφημένη επικοινωνία |
| 25 | smtp | Email Χρησιμοποιείται για την διακίνηση των μηνυμάτων email μεταξύ των servers. |
| 43 | nicname | WHOIS |
| 53 | domain | DNS (Domain Name System): αντιστοιχίζει ονόματα τομέων σε διευθύνσεις IP. Χρησιμοποιεί συνήθως UDP και, σε ορισμένες περιπτώσεις, TCP. |
| 66 | μη τυπική / legacy | Η 66 δεν είναι η συνήθης θύρα Oracle Listener. Η τυπική προεπιλεγμένη θύρα του Oracle Net Listener είναι η 1521. |
| 69 | tftp | Trivial File Transfer |
| 80 | http | HTTP (HyperText Transfer Protocol): μεταφορά δεδομένων ιστοσελίδων. Η TCP 80 είναι η προεπιλεγμένη θύρα του HTTP. |
| 88 | Kerberos | Authentication System |
| 92 | npp | Network Printing Protocol |
| 109 | pop2 | Post Office Protocol, version 2 |
| 110 | pop3 | Post Office Protocol, version 3 - Χρησιμοποιείται για την παραλαβή ηλεκτρονικού ταχυδρομείου από τους χρήστες. |
| 115 | SFTP (legacy) | Η θύρα 115 σχετίζεται με παλαιότερη υπηρεσία SFTP και δεν είναι η συνήθης θύρα του σύγχρονου SSH File Transfer Protocol. Το σύγχρονο SFTP λειτουργεί συνήθως μέσω SSH στην TCP 22. |
| 117 | uucp-path | UUCP Mapping Project (Path Service) |
| 118 | sqlserv | SQL Services |
| 119 | nntp | Network News Transfer Protocol |
| 143 | imap | Email Internet Message Access Protocol- Χρησιμοποιείται για την παραλαβή ηλεκτρονικού ταχυδρομείου από τους χρήστες. |
| 156 | sqlsrv | SQL Services |
| 218 | mpp | Email Message Posting Protocol |
| 220 | imap3 | Email Interactive Mail Access Protocol, version 3 |
| 1194 | openvpn | OpenVPN |
| 1270 | opsmgr | Microsoft System Center Operations Manager (SCOM) (formerly Microsoft Operations Manager (MOM)) agent |
| 1433 | ms-sql-s | Microsoft SQL Database System |
| 1434 | ms-sql-m | Microsoft SQL Monitor |
| 1723 | pptp | Microsoft PPTP VPN |
| 1755 | ms-streaming | Microsoft Media Services (MMS, ms-streaming) |
| 1863 | msnp | Microsoft Notification Protocol (MSNP), used by the Microsoft Messenger service and a number of instant messaging Messenger clients |
| 1900 | ssdp | Microsoft SSDP Enables discovery of UPnP devices |
| 3306 | mysql | MySQL Database system |
| 3389 | ms-wbt-server | Microsoft Terminal Server (RDP) officially registered as Windows Based Terminal (WBT) |
| 123 | ntp | Network Time Protocol: συγχρονισμός ώρας μέσω UDP. |
| 139 | netbios-ssn | NetBIOS Session Service, παλαιότερη υπηρεσία δικτύου Windows. |
| 161 | snmp | SNMP: παρακολούθηση και διαχείριση δικτυακών συσκευών, συνήθως μέσω UDP. |
| 162 | snmptrap | SNMP Trap: αποστολή ειδοποιήσεων από δικτυακές συσκευές, συνήθως μέσω UDP. |
| 389 | ldap | LDAP: πρόσβαση και αναζήτηση σε υπηρεσίες καταλόγου. Χωρίς TLS από προεπιλογή. |
| 443 | https | HTTPS: HTTP μέσω TLS για κρυπτογραφημένη επικοινωνία, συνήθως TCP. Το HTTP/3 χρησιμοποιεί QUIC μέσω UDP 443. |
| 445 | microsoft-ds | SMB: κοινή χρήση αρχείων και εκτυπωτών σε δίκτυα Windows. |
| 465 | submissions | SMTP Submission μέσω implicit TLS. |
| 587 | submission | SMTP Message Submission, συνήθως με STARTTLS και έλεγχο ταυτότητας. |
| 636 | ldaps | LDAP μέσω TLS. |
| 993 | imaps | IMAP μέσω implicit TLS. |
| 995 | pop3s | POP3 μέσω implicit TLS. |
| 1433 | ms-sql-s | Microsoft SQL Server: συνήθης προεπιλεγμένη θύρα TCP. |
| 9200 | elasticsearch | Elasticsearch REST API: χρησιμοποιεί συνήθως HTTP στην TCP 9200. Να επιτρέπεται μόνο σε έμπιστους hosts και όχι απευθείας στο δημόσιο Internet. |
| 2049 | nfs | NFS: κοινή χρήση αρχείων σε δίκτυα, με χρήση TCP ή UDP ανά έκδοση και ρύθμιση. |
| 5432 | postgresql | PostgreSQL: συνήθης προεπιλεγμένη θύρα TCP. |
| 6379 | redis | Redis: συνήθης προεπιλεγμένη θύρα TCP. Δεν πρέπει να εκτίθεται δημόσια χωρίς κατάλληλη προστασία. |
| 8080 | http-alt | Εναλλακτική θύρα HTTP που χρησιμοποιείται συχνά από εφαρμογές και development servers. |
| 8443 | https-alt | Εναλλακτική θύρα HTTPS που χρησιμοποιείται συχνά από web εφαρμογές και διαχειριστικά περιβάλλοντα. |
| 27017 | mongodb | MongoDB: συνήθης προεπιλεγμένη θύρα TCP. Απαιτεί περιορισμό πρόσβασης και ασφαλή ρύθμιση. |
Κατηγορίες θυρών σύμφωνα με την IANA
Η IANA χωρίζει το εύρος των θυρών σε τρεις βασικές περιοχές:
| Εύρος θυρών | Κατηγορία | Χρήση |
|---|---|---|
| 0–1023 | System / Well-Known Ports | Υπηρεσίες με ευρέως γνωστές και καθιερωμένες θύρες, όπως HTTP, HTTPS, SSH και DNS. |
| 1024–49151 | User / Registered Ports | Θύρες που έχουν καταχωριστεί για συγκεκριμένες εφαρμογές ή υπηρεσίες. |
| 49152–65535 | Dynamic / Private Ports | Θύρες που χρησιμοποιούνται συχνά προσωρινά από clients για εξερχόμενες συνδέσεις. |
TCP και UDP: ποια είναι η διαφορά;
Οι αριθμοί θυρών ανήκουν σε συγκεκριμένο πρωτόκολλο μεταφοράς. Η TCP και η UDP χρησιμοποιούν ανεξάρτητους χώρους θυρών, επομένως η TCP 53 και η UDP 53 είναι διαφορετικά σημεία επικοινωνίας, παρότι έχουν τον ίδιο αριθμό.
- TCP (Transmission Control Protocol): δημιουργεί σύνδεση και παρέχει αξιόπιστη, ταξινομημένη μεταφορά δεδομένων. Χρησιμοποιείται, μεταξύ άλλων, από HTTP/1.1, HTTPS, SSH και βάσεις δεδομένων.
- UDP (User Datagram Protocol): στέλνει datagrams χωρίς να δημιουργεί σύνδεση και χωρίς εγγύηση παράδοσης ή σειράς. Χρησιμοποιείται, μεταξύ άλλων, από DNS, DHCP, NTP και υπηρεσίες πραγματικού χρόνου.
Ορισμένες υπηρεσίες χρησιμοποιούν και τα δύο πρωτόκολλα ή διαφορετικό πρωτόκολλο ανάλογα με την έκδοση και τη λειτουργία τους. Για παράδειγμα, το DNS χρησιμοποιεί συνήθως UDP 53, αλλά και TCP 53 σε περιπτώσεις όπως μεγάλες απαντήσεις και μεταφορές ζωνών.
Τι σημαίνει ότι μια θύρα είναι open, closed ή filtered;
- Open: υπάρχει υπηρεσία που ακούει στη συγκεκριμένη θύρα και μπορεί να δεχτεί συνδέσεις.
- Closed: ο υπολογιστής είναι προσβάσιμος, αλλά δεν υπάρχει υπηρεσία που να ακούει στη θύρα.
- Filtered: firewall ή άλλη δικτυακή συσκευή εμποδίζει τον έλεγχο να εξακριβώσει αν η θύρα είναι ανοιχτή.
Μια ανοιχτή θύρα δεν σημαίνει από μόνη της ότι υπάρχει ευπάθεια. Χρειάζεται να εξεταστούν η υπηρεσία που ακούει, η έκδοσή της, η ρύθμισή της, η αυθεντικοποίηση και το αν η πρόσβαση περιορίζεται στους κατάλληλους χρήστες και hosts.
Έλεγχος θυρών σε Linux
Με την εντολή ss μπορείς να δεις τις TCP και UDP θύρες στις οποίες ακούει το σύστημα:
# Εμφάνιση TCP και UDP sockets σε κατάσταση listening
sudo ss -tulpen
# Μόνο TCP listening sockets
sudo ss -lntp
# Μόνο UDP sockets
sudo ss -lunp
Για να εντοπίσεις ποια διεργασία χρησιμοποιεί μια συγκεκριμένη θύρα, μπορείς να χρησιμοποιήσεις το lsof:
sudo lsof -i :8080
sudo lsof -iTCP:443 -sTCP:LISTEN
Έλεγχος θυρών σε Windows
Στο PowerShell μπορείς να εμφανίσεις τις TCP συνδέσεις και τις θύρες που βρίσκονται σε κατάσταση ακρόασης:
# Εμφάνιση TCP θυρών σε κατάσταση Listening
Get-NetTCPConnection -State Listen
# Έλεγχος συγκεκριμένης θύρας σε απομακρυσμένο host
Test-NetConnection example.com -Port 443
Η δεύτερη εντολή ελέγχει αν μπορεί να δημιουργηθεί TCP σύνδεση προς τον συγκεκριμένο host και port. Δεν αποτελεί γενικό έλεγχο UDP θυρών.
Έλεγχος θυρών με Nmap
Το Nmap χρησιμοποιείται για την ανακάλυψη hosts και τον έλεγχο θυρών σε δίκτυα. Εκτέλεσε ελέγχους μόνο σε συστήματα που σου ανήκουν ή για τα οποία έχεις ρητή άδεια.
# Έλεγχος συγκεκριμένων TCP θυρών σε host του εργαστηρίου σου
nmap -sT -p 22,80,443 192.168.1.10
# Έλεγχος όλων των TCP θυρών
nmap -sT -p- 192.168.1.10
# Αναγνώριση υπηρεσιών στις θύρες που εντοπίστηκαν
nmap -sV -p 22,80,443 192.168.1.10
Βασικές πρακτικές ασφαλείας
- Άνοιγε μόνο τις θύρες που απαιτούνται για τη λειτουργία της υπηρεσίας.
- Περιόριζε την πρόσβαση με firewall σε συγκεκριμένες IP διευθύνσεις ή δίκτυα όπου είναι εφικτό.
- Μην εκθέτεις υπηρεσίες διαχείρισης, βάσεις δεδομένων και εσωτερικά APIs απευθείας στο Internet χωρίς ισχυρή αιτιολόγηση και κατάλληλη προστασία.
- Χρησιμοποίησε κρυπτογραφημένα πρωτόκολλα, όπως SSH αντί Telnet και HTTPS αντί HTTP όπου υποστηρίζεται.
- Διατήρησε τις υπηρεσίες ενημερωμένες και απενεργοποίησε όσες δεν χρησιμοποιούνται.
- Έλεγχε τακτικά τα listening sockets και τους κανόνες firewall.