Avatud portide kontroll: ss, netstat, nmap, telnet
Avatud porte kontrollitakse kahelt poolt: kohapeal — millised teenused kuulavad (ss -tulpn, netstat -tulpn) — ja väljastpoolt, millised on tulemüüri taga tegelikult kättesaadavad (nmap, telnet). Vahe on oluline: port võib serveris kuulata, kuid olla tulemüüriga suletud. Allpool on täpsed käsud mõlema kontrolli jaoks.
Kohalik kontroll: mida server kuulab
ss — tänapäevane tööriist
Näidake kõiki kuulavaid TCP- ja UDP-porte koos protsessidega:
ss -tulpn
Lippude tähendus:
| Lipp | Tähendus |
|---|---|
-t |
TCP-soklid |
-u |
UDP-soklid |
-l |
ainult kuulavad (listening) |
-p |
näita protsessi |
-n |
arvulised pordid ilma nimede lahendamiseta |
Leidke, kes hõivas konkreetse pordi:
ss -tulpn | grep :443
netstat — klassikaline variant
Kui pakett net-tools on paigaldatud:
netstat -tulpn
Väline kontroll: mis on väljastpoolt kättesaadav
Kohalik kontroll ei arvesta tulemüüri. Selleks et teada saada, kas port on internetist kättesaadav, skannige serverit teisest hostist.
nmap
Populaarsemate portide kontroll:
nmap 203.0.113.10
Konkreetse pordi kontroll:
nmap -p 443 203.0.113.10
Vahemiku skannimine ja teenuste tuvastamine:
nmap -p 1-1000 -sV 203.0.113.10
Portide olekud nmapi väljundis:
| Olek | Mida tähendab |
|---|---|
| open | port kuulab ja on kättesaadav |
| closed | kättesaadav, kuid keegi ei kuula |
| filtered | pakette blokeerib tulemüür |
telnet — ühe pordi kiire kontroll
telnet 203.0.113.10 443
Kui ühendus luuakse, on port avatud. Kui tuleb „Connection refused“, on port suletud või ei kuula keegi; hangumine tähendab tavaliselt tulemüüri blokeeringut.
PowerShelli analoog ilma telnetita:
Test-NetConnection -ComputerName 203.0.113.10 -Port 443
Kontroll nc (netcat) abil:
nc -zv 203.0.113.10 443
Kes ja kuhu on ühendunud: aktiivsed ühendused
Peale kuulavate portide on kasulik näha ka loodud ühendusi — näiteks et aru saada, kes on serveriga praegu ühendatud:
ss -tnp state established
Loendage ühenduste arv iga kaug-IP kohta (lihtne kõrvalekallete tuvastus):
ss -tn state established | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -rn
Windowsis annab sarnase pildi:
Get-NetTCPConnection -State Established | Sort-Object RemoteAddress
Populaarsete teenuste standardpordid
Diagnostikas on kasulik meeles pidada, millised pordid on vaikimisi millise teenuse jaoks:
| Port | Teenus |
|---|---|
| 22 | SSH |
| 80 | HTTP |
| 443 | HTTPS |
| 3306 | MySQL/MariaDB |
| 5432 | PostgreSQL |
| 3389 | RDP |
Kui pordil kuulab mõni muu teenus kui oodatud, tasub konfiguratsioon üle vaadata või kontrollida süsteemi võõraste protsesside suhtes.
Tüüpiline diagnostika järjekord
- Serveris:
ss -tulpn | grep :PORT— kas teenus kuulab? - Kui ei kuula, käivitage või seadistage teenus.
- Kui kuulab, kuid väljastpoolt pole kättesaadav, kontrollige tulemüüri (
ufw status,iptables -L). - Väljastpoolt:
nmap -p PORT IP— olekfilteredviitab tulemüürile.
Korduma kippuvad küsimused
ss näitab porti, aga väljastpoolt pole see kättesaadav — miks?
Teenus kuulab, kuid sissetulevat liiklust lõikab tulemüür. Kontrollige ufw status või iptablesi reegleid ja avage vajalik port.
Mille poolest on ss parem kui netstat?
ss on kiirem ja kuulub praegusesse paketti iproute2. netstat on vananenud ja sageli pole see vaikimisi paigaldatud.
nmap näitab filtered — mida see tähendab? Paketid ei jõua pordini tulemüüri tõttu (serveris või teenusepakkuja võrgus). Port pole „suletud“, vaid filtreeritud.
Kas võõrast serverit tohib skannida? Skannige ainult oma süsteeme või omaniku selgel loal — muidu võib see rikkuda reegleid ja seadust.
Kuidas kontrollida porti ilma nmapi paigaldamata?
Kasutage telnet IP PORT, nc -zv IP PORT või Test-NetConnection PowerShellis.
Vajate serverit, kus portide ja tulemüüri üle on täielik kontroll? Võtke kasutusele Linuxi VPS jaotisest VPS rent või tellige serverite haldus.