- Pátek, 27. července 2018
- Nezařazené
Při čtení návodů o konfiguraci serverů a firewallů se často setkáte s IP adresami v tomto formátu:
První část je vám možná známá, ale část za dvojtečkou (:) nikoli. Toto číslo (8080) představuje síťový port.
Adresa IP je jedinečná posloupnost čísel, která představuje rozhraní v síti, často v internetu. Pomocí adresy IP může síť směrovat pakety dat na síťové rozhraní konkrétního zařízení, kterým může být server, směrovač nebo třeba váš telefon.
Na těchto zařízeních běží spousta programů, které mohou mít zájem přijímat data ze sítě a odesílat data do jiných zařízení. Adresa IP však přijímajícímu zařízení neříká nic o tom, pro který program jsou data určena. To je úloha síťového portu.
Uvnitř každého kusu dat odeslaného přes spojení TCP nebo UDP (včetně HTTP (web), SSH, FTP, DNS a většiny dalších známých protokolů) je číslo zdrojového portu a číslo cílového portu.
Tato čísla nepředstavují zařízení nebo fyzický port, například ethernetový port nebo port blesku. Jsou softwarovou konstrukcí, která spojuje proces poskytující službu s datovými pakety, které mají příslušný cílový port.
Proces je část softwaru, která běží na serveru. Webový server je proces, stejně jako servery SSH, servery FTP a servery DNS. Každý program, který běží na serveru, je proces.
Operační systém serveru používá porty, aby zajistil, že data budou přijata správným procesem, často tak, že je doručí do části paměti namapované pro tento účel. Procesy jsou vázány na určitý port a – v případě připojení TCP – na každý port se může vázat pouze jeden proces. Pokud je k portu vázáno více procesů, mohlo by dojít ke konfliktu a data by nemusela být doručena správnému procesu.
Porty jsou reprezentovány čísly v rozsahu 0 až 65535, což je maximum, které se vejde do 16bitového celku bez znaménka. Některá z těchto čísel jsou spojena s konkrétními typy služeb. Porty 0 až 1024 se nazývají dobře známé porty a jsou konvenčně spojeny s nejběžnějšími typy síťových služeb. Webové servery používají port 80, servery SSH port 22 atd.
Porty od 1024 do 49151 jsou registrované porty. Organizace si je mohou zaregistrovat u organizace ICANN pro použití se svým softwarem. Porty nad 49151 jsou soukromé porty, které lze používat k libovolným účelům.
Pokud na serveru CentOS spustíte následující příkaz, zobrazí se seznam portů a služeb, kterým odpovídají.
less /etc/services
Poznání fungování portů je užitečné za různých okolností. Například mnoho botů využívajících hrubou sílu se zaměřuje na servery SSH prostřednictvím portu 22. Možná budete chtít spojit SSH s jiným portem, aby váš server nemusel řešit tisíce neoprávněných požadavků na přihlášení. Port SSH můžete změnit na jeden z privátních portů (nad 49151) úpravou nastavení „Port“ v souboru „/etc/ssh/sshd_config“. Boty využívající hrubou sílu jej již nebudou moci najít. Pokud port SSH změníte, ujistěte se, že si pamatujete, na co jste ho změnili, jinak se také nebudete moci přihlásit.
Porty jsou také užitečné pro konfiguraci firewallů a pro provoz vývojových serverů: běžně se používá port 8080 jako alternativa portu 80 pro webové servery.
V některém z příštích článků se podíváme na to, jak se porty používají k zabezpečení serverů CentOS pomocí firewallu iptables.