Ismerje meg hálózatát belülről úgy, hogy rendszeresen ellenőrizze a nyitott portokat ezekkel a Linux-parancsokkal.
A nyílt hálózati portok a hálózat legegyszerűbb belépési pontjai. Néha előfordulhat, hogy nem kívánt szolgáltatások futnak az interneten kívülről látható portokon. Abban az esetben, ha ezek a szolgáltatások sérülékenyek, hálózatát folyamatosan támadás fenyegeti, mivel minden nap az egész internetet tömegesen vizsgálják a nyitott portokon található sebezhető szolgáltatások után.
Ismerje meg, hogyan vizsgálhatja meg és tekintheti meg Linux-rendszerein a nyitott portokat, hogy megvédje hálózatát a fenyegetésektől.
Mik azok a hálózati portok?
A hálózati portok a rendszer logikai hozzáférési pontjai, amelyek csatornaként használhatók több szolgáltatás fogadására. A portot egy 16 bites egész szám jelöli, így a legmagasabb portszám 65535.
Gondolhatunk olyan portokra, mint egy ház ablakai és ajtói – alapvetően a ház vagy a számítógép különböző belépési pontjai. A portoknak három típusa van: rendszerportok (1-1023), regisztrált portok (1024-49151) és efemer vagy dinamikus portok (49152-65535).
Amikor elindít egy alkalmazást, amely internetkapcsolatot igényel, dinamikus portokat használ az adatok hálózaton keresztüli továbbítására és fogadására. Azonban, amikor elindít egy webszervert vagy egy SSH-kiszolgálót, az általában a rendszerportokhoz vagy a regisztrált portokhoz kötődik.
HTTP kiszolgáló webszerverek esetén az alapértelmezett rendszerport a 80, az SSH esetében pedig a 22. Ezeket az előírásokat, például a portok tartományát az Internet Assigned Numbers Authority (IANA) dolgozta ki. Át lehet menni a RFC a portokkal kapcsolatban az összes port és funkcióik teljes listájához.
Fontos, hogy tudd a leggyakrabban sebezhető portok így biztosíthatja, hogy zárva vannak vagy védettek.
1. Ellenőrizze a nyitott portokat a netstat segítségével
A netstat egy népszerű segédprogram, amellyel megtekintheti Linux rendszere hálózati statisztikáit. A net-tools csomag része.
A net-tools csomag a fejlesztő általi megfelelő karbantartás hiánya miatt leértékelődött. Ez is az oka annak, hogy találkozhat "ifconfig: parancs nem található" hiba amikor a népszerű ifconfig parancsot futtatja Linuxon.
Így a modern rendszereken előfordulhat, hogy először telepítenie kell a net-tools csomagot, majd futtathatja a netstat parancsot. A nyitott portok ellenőrzése a Netstat segítségével:
netstat -tuln
A parancs magyarázata:
- -t a TCP portokat mutatja.
- -u UDP portokat mutat.
- -l a figyelő portokat mutatja. Cserélje ki erre a ha látni szeretné az összes portot, azok állapotától függetlenül.
- -n a portok számértékét mutatja, ahelyett, hogy szolgáltatásnevekre lenne feloldva. Például az SSH helyett a 22-es portot jelenítse meg, azaz a porton futó szolgáltatást.
2. Nyitott portok ellenőrzése az ss segítségével
Az ss a netstat eszköz modern megfelelője. Ez minden modern Linux disztribúcióban előre telepítve található. A nyitott portok ss-vel történő ellenőrzésének szintaxisa megegyezik a netstat-tal.
A nyitott portok ellenőrzése az ss segítségével:
ss -tuln
A parancs magyarázata:
- -t a TCP portokat mutatja.
- -u UDP portokat mutat.
- -l a figyelő portokat mutatja. Cserélje ki erre a ha látni szeretné az összes portot, azok állapotától függetlenül.
- -n a portok számértékét mutatja, ahelyett, hogy szolgáltatásnevekre lenne feloldva. Például az FTP helyett a 21-es portot jelenítse meg, azaz a porton futó szolgáltatást.
3. Ellenőrizze a nyitott portokat az Nmap segítségével
Az Nmap a kiberbiztonság és a hálózatépítés egyik legnépszerűbb eszköze. A hálózati biztonsági behatolási tesztelés során ez a szokásos név. Elsődleges felhasználási esete a portellenőrzés, így nem csak a rendszerben nyitva lévő portokról kap információt, hanem arról is, hogy azok sebezhetőek és kihasználhatók-e.
Sőt, ha egy távoli rendszerben szeretné ellenőrizni a nyitott portokat IDS/IPS beállítással és tűzfalakkal, ne aggódjon, mert az Nmap a tűzfalakat és az IDS/IPS-t is képes megkerülni a megfelelő kapcsolókkal.
Nézd meg ezt átfogó útmutató az Nmapről kezdőknek az Nmap sokrétű funkcióinak és azok használatának felfedezéséhez. Bár megteheti, nem ajánlott a tűzfalak megkerülése, mivel az nem teljesen megbízható, ezért jobb, ha SSH-t küld a távoli kiszolgálóra, majd helyileg futtatja rajta az Nmap-et.
A következő parancs segítségével ellenőrizheti a nyitott portokat az Nmap segítségével:
nmap -sTU -sV -T 5 --min-rate 9000 --min-parallelm 9000 --initial-rtt-timeout 50ms --max-rtt-timeout 3000ms --max-retries 50 -Pn --disable-arp-ping -n -- script vuln, exploit, auth -v -oX
A parancs magyarázata:
- -sTU beállítja a vizsgálat típusát TCP Connect és UDP-keresésre.
- -T 5 agresszívre állítja az időzítési sablont a rendkívül gyors keresésekhez (nem ajánlott védetlen rendszeren, mert DoS támadást eredményezhet).
- -sV bekapcsolja a szervizkeresést.
- --minimumdíj 9000 azt mondja az Nmap-nek, hogy másodpercenként 9000 csomagot küldjön.
- --initial-rtt-timeout 50ms utasítja az Nmap-et, hogy kezdetben 50 ms-ot várjon a válaszra minden egyes elküldött SYN-csomagra.
- --max-rtt-timeout 3000ms azt mondja az Nmap-nek, hogy legfeljebb 3000 ms-ig várjon a válaszra.
- --min-párhuzam 9000 az egyidejű szkriptfuttatások minimális számát 9000-re állítja be.
- --max-ismétlések 50 utasítja az Nmap-et, hogy 50-szer próbálja meg újra csatlakozni egy porthoz.
- -Pn letiltja a ping tesztelést.
- --disable-arp-ping letiltja az ARP-vizsgálatot.
- -n letiltja a DNS-feloldást.
- --script vuln, exploit, auth három parancsfájlt futtat, hogy tesztelje a felfedezett portok különböző típusú sebezhetőségeit.
- -v bőbeszédű kimenetet ad vissza.
- -ökör az eredményeket XML fájlba menti.
- -6 Opcionális paraméter az IPv6-címek vizsgálatához.
4. Ellenőrizze a nyitott portokat az lsof segítségével
Az lsof parancs Linuxban a megnyitott fájlok listázására szolgál. Ha azonban hozzáad néhány kapcsolót, akkor láthatja a helyi gépen lévő nyitott internetkapcsolatokat és portokat. A nyitott portok ellenőrzése az lsof segítségével:
lsof -i -n
A parancs magyarázata:
- -én felsorolja az összes hálózati és internetes fájlt.
- -n nem oldja meg a gazdagépneveket.
5. Ellenőrizze a nyitott portokat a netcat segítségével
A netcat egy parancssori segédprogram, amely lehetővé teszi a TCP/UDP kapcsolatok olvasását és írását. Vegye figyelembe, hogy ez csak a netcat egyik jellemzője. A kézikönyv oldalát megtekintheti a ember netcat parancsot, hogy felfedezze annak összes funkcióját és használatukat.
Íme, hogyan használhatja a netcat-et a nyitott portok vizsgálatához:
nc -zv | grep -v "elutasítva"
A parancs magyarázata:
- -z a netcat szkenner módba állítja.
- -v bőbeszédű kimenetet ad vissza.
- grep -v "elutasítva" kimeneti sorokat ad vissza a "refused" szó nélkül. Ez megakadályozza, hogy a terminál eltömődjön a "kapcsolat megtagadva" üzenetekkel, amikor a netcat nem kap kimenetet egy portról.
- 2>&1: Ez egy opcionális kapcsoló, amelyet be kell kapcsolnia ahhoz, hogy a grep működjön, amikor a netcat bőbeszédű módban fut. A netcat visszaadja a kimenetet az stderr-nek (2-vel jelölve). Tehát a kimenet grephez át kell irányítanunk az stderr-t az stdout-ra (1-gyel jelölve), majd a grepbe kell bevezetni.
Minél mélyebben ismeri hálózatát, annál jobban meg tudja védeni
Annak ismerete, hogy mely portok vannak nyitva, és milyen szolgáltatások futnak a rendszeren, nagyszerű lépés a lehetséges külső támadások elleni védekezésben. Ez lehetővé teszi a szükségtelen szolgáltatások keresését és leállítását, az elavult szolgáltatások megtalálását és azt is észleli, hogy futnak-e rosszindulatú fájlok, például bind vagy reverse shell backdoor rendszer.
Ha komolyan gondolja a hálózat biztonságát, fontolja meg egy IDS-megoldás telepítését és beállítását, amely figyelemmel kíséri a hálózaton zajló összes tevékenységet, és betartja a szabályokat a kéretlen kapcsolatok megakadályozása érdekében.