- 2018. július 27., péntek
- Uncategorized
A szerverkonfigurációról és tűzfalakról szóló útmutatókat olvasva gyakran találkozunk ilyen formátumú IP-címekkel:
Az első rész ismerős lehet, de a kettőspont (:) utáni rész talán nem. Ez a szám (8080) egy hálózati portot jelöl.
Az IP-cím egy egyedi számsorozat, amely egy interfészt jelöl egy hálózaton, gyakran az interneten. Az IP-cím segítségével a hálózat az adatcsomagokat egy adott eszköz hálózati interfészéhez tudja irányítani, amely lehet egy kiszolgáló, egy útválasztó vagy akár a telefonja.
Ezeken az eszközökön rengeteg program fut, amelyek érdekeltek lehetnek abban, hogy adatokat fogadjanak a hálózatról, és adatokat küldjenek más eszközöknek. Az IP-cím azonban semmit sem árul el a fogadó eszköznek arról, hogy az adatot melyik programnak szánják. Ez a hálózati port szerepe.
A TCP- vagy UDP-kapcsolaton (beleértve a HTTP-t (web), SSH-t, FTP-t, DNS-t és a legtöbb más ismert protokollt) keresztül küldött minden adatdarabon belül van egy forrásport száma és egy célport száma.
Ezek a számok nem egy berendezést vagy egy fizikai portot, például egy ethernet- vagy villámportot jelölnek. Ezek egy szoftverkonstrukció, amely egy szolgáltatást nyújtó folyamatot társít a megfelelő célporttal rendelkező adatcsomagokhoz.
A folyamat egy olyan szoftver, amely a kiszolgálón fut. A webkiszolgáló egy folyamat, akárcsak az SSH-kiszolgálók, az FTP-kiszolgálók és a DNS-kiszolgálók. Minden program, amely egy kiszolgálón fut, egy folyamat.
A kiszolgáló operációs rendszere portokat használ annak biztosítására, hogy az adatokat a megfelelő folyamat kapja meg, gyakran úgy, hogy azokat a memória egy erre a célra leképezett darabjába szállítja. A folyamatok egy adott porthoz vannak kötve, és – TCP-kapcsolatok esetén – minden porthoz csak egy folyamat kapcsolódhat. Ha egynél több folyamat kötődik egy porthoz, konfliktus lép fel, és előfordulhat, hogy az adatokat nem a megfelelő folyamat kapja meg.
A portokat 0 és 65535 közötti számokkal ábrázolják, ami a legtöbb, ami egy 16 bites előjel nélküli egész számba belefér. E számok némelyike bizonyos típusú szolgáltatásokhoz kapcsolódik. A 0 és 1024 közötti portokat nevezzük jól ismert portoknak, és hagyományosan a leggyakoribb hálózati szolgáltatástípusokhoz kapcsolódnak. A webkiszolgálók a 80-as portot, az SSH-kiszolgálók a 22-es portot használják, és így tovább.
A 1024 és 49151 közötti portok regisztrált portok. Ezeket a szervezetek regisztrálhatják az ICANN-nál a szoftvereikkel való használatra. A 49151 feletti portok privát portok, amelyek tetszőleges célokra használhatók.
Ha a következő parancsot futtatja a CentOS szerverén, láthatja a portok és a hozzájuk tartozó szolgáltatások listáját.
less /etc/services
A portok működésének megértése számos esetben hasznos. Például sok brute force bot a 22-es porton keresztül veszi célba az SSH-kiszolgálókat. Érdemes lehet az SSH-t egy másik porthoz társítani, hogy a kiszolgálónak ne kelljen jogtalan bejelentkezési kérelmek ezreivel foglalkoznia. Az SSH portot az “/etc/ssh/sshd_config” “Port” beállításának szerkesztésével megváltoztathatja a privát portok egyikére (49151 felett). A brute force botok többé nem fogják tudni megtalálni. Ha megváltoztatja az SSH portot, győződjön meg róla, hogy emlékszik, mire változtatta, különben nem fog tudni bejelentkezni sem.
A portok a tűzfalak konfigurálásához és a fejlesztői szerverek futtatásához is hasznosak: a 8080-as portot gyakran használják a 80-as port alternatívájaként a webszervereknél.
Egy jövőbeli cikkben megnézzük, hogyan használják a portokat a CentOS szerverek biztosítására az iptables tűzfallal.