Kuidas kontrollida Ubuntu porte: Põhjalik juhend ja turvanõuanded

1. Sissejuhatus

Võrguhalduses ja serverioperatsioonides on oluline omada täpset ülevaadet pordi olekust. Eriti Ubuntu puhul aitab avatud portide ja kasutusel olevate protsesside kontrollimine tugevdada turvalisust ja kiirendada veaotsingut.

Käesolev artikkel selgitab üksikasjalikult põhilisi käske ja tööriistu portide kontrollimiseks Ubuntus. Pakume algajatele ja kesktaseme kasutajatele praktilisi ja kergesti arusaadavaid juhiseid, seega lugege kindlasti lõpuni.

年収訴求

2. Mis on port?

2.1 Pordi põhimõisted

Port on virtuaalne suhtlusava, mida arvutid ja võrguseadmed kasutavad andmete saatmiseks ja vastuvõtmiseks. Täpsemalt aitab see identifitseerida ja õigesti jagada andmeid erinevate rakenduste vahel, mis suhtlevad samaaegselt samal IP-aadressil.

Näiteks kasutab veebiserver HTTP-suhtluseks porti 80. Kui sama server lubab SSH-ühendusi, kasutatakse porti 22. Seega on võrguhalduses portide oleku kontrollimine hädavajalik, kuna pordinumber eristab iga teenust.

2.2 Porditüübid ja rollid

Pordid jagunevad laias laastus kolme kategooriasse.

  1. Tuntud pordid (0–1023)
  • Need on rahvusvaheliselt standardiseeritud pordinumbrid, mis on määratud laialdaselt kasutatavatele teenustele.
    • Näited:
    • HTTP: 80
    • HTTPS: 443
    • SSH: 22
  1. Registreeritud pordid (1024–49151)
  • Need on spetsiifiliste rakenduste või ettevõtete poolt kasutatavad pordid.
    • Näited:
    • MySQL: 3306
    • PostgreSQL: 5432
  1. Dünaamilised pordid (49152–65535)
  • Need on pordid, mida rakendused ajutiselt kasutavad ja mis on sageli kasutusel kliendipoolses suhtluses.

Selle klassifikatsiooni mõistmine aitab paremini aru saada, milleks pordinumbreid kasutatakse.

3. Kuidas kontrollida porte Ubuntus

Ubuntus saab portide olekut kontrollida erinevate tööriistade abil. Siin selgitame nelja eriti praktilist käsku.

3.1 Käsu ss kasutamine

ss-käsk on võimas võrguhaldustööriist, mida kasutatakse Linuxi süsteemides. See on kiire ja pakub üksikasjalikku ühendusteavet.

Põhikäsk:

sudo ss -ltn

Valikute selgitus:

  • -l: Näitab ainult kuulamisolekus olevaid porte.
  • -t: Näitab ainult TCP-protokolli.
  • -n: Näitab aadresse ja pordinumbreid numbrilises vormingus.

Väljundi näide:

State       Recv-Q Send-Q      Local Address:Port        Peer Address:Port  
LISTEN      0      128         0.0.0.0:22          0.0.0.0:*

3.2 Käsu netstat kasutamine

netstat-käsk on kaua kasutusel olnud võrguhaldustööriist. Kuigi seda asendab järk-järgult ss, on see siiski paljudes süsteemides saadaval.

Põhikäsk:

sudo netstat -ltn

Väljundi näide:

Proto Recv-Q Send-Q Local Address             Foreign Address           State     
tcp        0      0 0.0.0.0:22                0.0.0.0:* LISTEN

3.3 Käsu lsof kasutamine

lsof on kasulik konkreetset porti kasutava protsessi tuvastamiseks.

Konkreetse pordi kontrollimine:

sudo lsof -i :80

Väljundi näide:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2   1234  www    4u   IPv4  12345 0t0      TCP *:http (LISTEN)

3.4 Käsu nmap kasutamine

nmap on võrguskaneerimisele spetsialiseerunud tööriist, mida kasutatakse ka turvalisuse auditeerimiseks.

Kohaliku hosti skaneerimine:

sudo nmap localhost

Väljundi näide:

Starting Nmap 7.80 ( https://nmap.org ) at 2024-12-21 18:00 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00013s latency).
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Märkused:

  • Kuvatakse loetelu avatud portidest ja nende teenusenimedest.
  • Välise serveri portide skaneerimine on samuti võimalik, kuid selleks on vaja eelnevat luba.

4. Tulemüüri seadete kontrollimine

Ubuntus on turvalisuse suurendamiseks tavaline kasutada tulemüüri. Eriti ufw (Uncomplicated Firewall) on laialdaselt kasutatav lihtne, kuid võimas haldustööriist. Selles jaotises selgitatakse, kuidas kasutada ufw-d portide avamise ja sulgemise oleku kontrollimiseks ning vajadusel seadete muutmiseks.

4.1 ufw oleku kontrollimine

Tulemüüri oleku kontrollimise käsk:

sudo ufw status verbose

Väljundi näide:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
To              Action    From
--              ------    ----
22/tcp          ALLOW     Anywhere
80/tcp          ALLOW     Anywhere

Selgitus:

  • Status: active: Tulemüür on aktiivne.
  • Logging: on: Logimine on lubatud ja tulemüüri tegevused salvestatakse.
  • Default: deny (incoming), allow (outgoing): Vaikimisi keelatakse sissetulevad ühendused ja lubatakse väljuvad ühendused.
  • ALLOW: Näitab, et teatud pordid või teenused on lubatud (nt SSH ja HTTP).

Märkus:
Kui tulemüür on passiivne (Status: inactive), lubage see järgmise käsuga:

sudo ufw enable

4.2 Portide lubamine või blokeerimine

Porti lubamise käsk:

sudo ufw allow 22/tcp

Selgitus:

  • Lubab TCP-ühendused pordile 22 (SSH).

Porti blokeerimise käsk:

sudo ufw deny 80/tcp

Selgitus:

  • Blokeerib juurdepääsu pordile 80 (HTTP).

Näide ainult teatud IP-aadressi lubamiseks:

sudo ufw allow from 192.168.1.100 to any port 22 proto tcp

Selgitus:

  • Lubab SSH-ühendused ainult IP-aadressilt 192.168.1.100.

4.3 Seadete lähtestamine ja ülevaatamine

Seadete lähtestamiseks ja uuesti konfigureerimiseks käivitage järgmine käsk:

sudo ufw reset

See käsk kustutab kõik reeglid ja taastab tulemüüri seaded vaikimisi olekusse. Pärast muudatuste tegemist kontrollige alati reegleid uuesti.

5. Praktiline näide: Konkreetse pordi oleku kontrollimine

Siin selgitatakse SSH (port 22) oleku kontrollimise protseduuri konkreetse näitena.

5.1 Pordi oleku kontrollimine

Käsu näide:

sudo ss -ltn | grep ':22'

Väljundi näide:

LISTEN      0      128          0.0.0.0:22            0.0.0.0:*

Märkused:

  • Kui väljundis on näha LISTEN, tähendab see, et port on kuulamisolekus ja ootab ühendusi.
  • 0.0.0.0 tähendab, et ühendused on lubatud kõigilt IP-aadressidelt.

5.2 Protsessi kontrollimine

Käsu näide:

sudo lsof -i :22

Väljundi näide:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234  root   3u   IPv4  56789 0t0      TCP *:ssh (LISTEN)

Märkused:

  • sshd on deemonprotsess, mis haldab SSH-ühendusi.
  • Protsessi ID (PID) abil on võimalik protsessi peatada või taaskäivitada.

Protsessi peatamise näide:

sudo kill 1234

5.3 Veaotsingu näide

Probleem: Port ei ole avatud või ühendus ebaõnnestub.

Sammud:

  1. Kontrollige tulemüüri seadeid.
sudo ufw status verbose
  1. Kui vastav port on blokeeritud, lisage lubamisreegel.
sudo ufw allow 22/tcp
  1. Kontrollige teenuse olekut ja vajadusel taaskäivitage see.
sudo systemctl restart ssh

6. Portide avamine, sulgemine ja turvalisus

Portihaldus on otseselt seotud võrguturvalisusega. Siin selgitatakse portide avamise/sulgemise ja turbehaldamise põhipunkte.

6.1 Ebavajalike portide sulgemine

Oluline on sulgeda kasutamata pordid, et vältida ründajate poolt nende ärakasutamist.

Näide: Pordi 80 sulgemine

sudo ufw deny 80/tcp

6.2 Kaitse pordiskaneerimise vastu

Pordiskaneerimine on tehnika, mida ründajad kasutavad süsteemi haavatavuste leidmiseks. Selle vältimiseks on tõhusad järgmised meetmed:

  1. Tulemüüri reeglite tugevdamine:
sudo ufw default deny incoming
  1. Logide jälgimine:
sudo tail -f /var/log/ufw.log
  1. Pordiskaneerimise tuvastamise tööriistade kasutuselevõtt:
    Tööriistade nagu fail2ban abil saab automaatselt blokeerida volitamata juurdepääsud.

7. Kokkuvõte

See artikkel selgitas üksikasjalikult portide kontrollimise konkreetseid samme ja käskude kasutamist Ubuntus. Lisaks käsitlesime tulemüüri haldamist ufw abil ja turvameetmete põhipunkte.

7.1 Peamiste punktide kokkuvõte

  • Pordi põhimõisted ja tüübid
    Pordid on suhtluse sissepääsud ja väljapääsud ning jagunevad tuntud portideks, registreeritud portideks ja dünaamilisteks portideks.
  • Portide kontrollimise käskude kasutamine
  • Portide oleku ja protsesside kontrollimiseks saab kasutada käske nagu ss, netstat, lsof ja nmap.
  • Tulemüüri haldamine
  • Portide lubamine ja blokeerimine ufw abil aitab suurendada turvalisust.
  • Turvameetmete olulisus
  • Tarbetute portide sulgemine, logide jälgimine ja ründevastaste tööriistade kasutuselevõtt aitavad säilitada turvalist võrgukeskkonda.

7.2 Edasine kasutamine

Portihaldus on võrguturvalisuse alus. Kasutage selles artiklis õpitud teadmisi turvalise serverikeskkonna säilitamiseks.

KKK: Korduma kippuvad küsimused portide kontrollimise kohta Ubuntus

K1. Mida teha, kui port Ubuntus pole avatud?

V:
Kui port pole avatud, proovige järgmisi samme:

  1. Kontrollige tulemüüri seadeid:
sudo ufw status verbose

Kui port on tulemüüri poolt blokeeritud, lubage see järgmise käsuga:

sudo ufw allow [pordinumber]/tcp
  1. Kontrollige, kas teenus töötab:
sudo systemctl status [teenuse nimi]

Näide: SSH puhul sudo systemctl status ssh
Vajadusel taaskäivitage teenus järgmise käsuga:

sudo systemctl restart [teenuse nimi]
  1. Kontrollige, kas teenus kasutab õiget porti:
    Kontrollige seadistusfaili (nt SSH puhul /etc/ssh/sshd_config) ja veenduge, et õige pordinumber on määratud.

K2. Mis vahe on ss ja netstat vahel?

V:
Nii ss kui ka netstat on tööriistad võrguühenduste kontrollimiseks, kuid neil on järgmised erinevused:

  • ss:
  • Soovitatav tööriist uuemates Linuxi süsteemides.
  • Kiirem ja suudab kuvada üksikasjalikumat teavet.
  • Näide: sudo ss -ltn
  • netstat:
  • Kaua kasutusel olnud tööriist, kuid seda asendatakse järk-järgult.
  • Suur ühilduvus vanemate Linuxi süsteemidega.
  • Näide: sudo netstat -ltn

Uuemates süsteemides on soovitatav kasutada ss-i.

K3. Kuidas tuvastada pordiskaneerimist?

V:
Pordiskaneerimise tuvastamiseks on olemas järgmised meetodid:

  1. Kontrollige tulemüüri logisid:
sudo tail -f /var/log/ufw.log

Kontrollige kahtlaste IP-aadresside või sagedaste ühenduskatsete olemasolu.

  1. IDS/IPS-tööriistade kasutuselevõtt:
  • Kasutage tööriistu nagu fail2ban või Snort, et automaatselt blokeerida volitamata ühendused.
  1. Skaneerige oma serverit nmap-iga:
sudo nmap localhost

Kontrollige, kas pole avatud ebavajalikke porte ja sulgege need.

K4. Kuidas kontrollida konkreetset porti kasutavat protsessi?

V:
Konkreetset porti kasutava protsessi kontrollimiseks saate kasutada käsku lsof:

sudo lsof -i :[pordinumber]

Näide: Pordi 80 puhul

sudo lsof -i :80

Väljundi näide:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2   1234  www    4u   IPv4  12345 0t0      TCP *:http (LISTEN)

K5. Kuidas lubada ufw abil ainult teatud IP-aadressi?

V:
Ainult teatud IP-aadressilt ühenduste lubamiseks kasutage järgmist käsku:

sudo ufw allow from [IP-aadress] to any port [pordinumber] proto tcp

Näide: IP-aadressilt 192.168.1.100 pordile 22 (SSH) ühenduste lubamiseks:

sudo ufw allow from 192.168.1.100 to any port 22 proto tcp

K6. Mida teha, kui tahan pordinumbrit muuta?

V:
Pordinumbri muutmiseks peate muutma teenuse seadistusfaili. Allpool on näide SSH kohta:

  1. Muutke seadistusfaili:
sudo nano /etc/ssh/sshd_config
  1. Leidke Port-seade ja määrake uus pordinumber:
Port 2222
  1. Taaskäivitage SSH-teenus:
sudo systemctl restart ssh
  1. Lubage uus port tulemüüris:
sudo ufw allow 2222/tcp

K7. Kas mitu porti saab korraga lubada?

V:
Jah, mitu porti saab korraga lubada. Kasutage järgmisi meetodeid:

  1. Teatud vahemiku lubamiseks:
sudo ufw allow 1000:2000/tcp

Selgitus: Lubab portide vahemiku 1000 kuni 2000.

  1. Ükshaaval lubamiseks:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
侍エンジニア塾