Slovník pojmů
Síťový port
IP adresa vede provoz k síťovému rozhraní, port jej předá správné službě. Port ale neříká, zda je služba bezpečná, veřejná nebo oprávněná pro konkrétního uživatele.
Stručná definice
Logické číslo služby na síťové adrese, nikoli konektor ani heslo.
Na jedné IP adrese může běžet více síťových služeb. Port umožní operačnímu systému rozlišit, zda příchozí provoz patří webovému serveru, databázi nebo jiné aplikaci. Cílový endpoint proto tvoří přinejmenším IP adresa, transportní protokol a port, například TCP spojení na 203.0.113.20:443.
Serverová služba na portu naslouchá, klient při spojení obvykle používá dočasný zdrojový port. TCP a UDP mají vlastní portové prostory, takže stejné číslo může současně označovat odlišné TCP a UDP služby. Port sám neřeší šifrování, přihlášení ani aplikační oprávnění; to jsou úkoly TLS, firewallu a samotné aplikace.
Jaký problém řeší
Umožňuje více síťovým službám sdílet jednu adresu
Bez portů by operační systém nevěděl, kterému procesu předat příchozí síťová data na stejné IP adrese.
- HTTP služba typicky přijímá provoz na TCP portu 80 a HTTPS na TCP portu 443
- SSH pro správu serveru se často provozuje na TCP portu 22, ale bezpečnost musí zajistit přístupová pravidla a klíče
- aplikace, PostgreSQL a Redis mohou komunikovat na interních portech nepřístupných z internetu
- Docker může mapovat port kontejneru na port hostitele pro lokální vývoj nebo přesně vymezený veřejný vstup
- reverse proxy dovolí více aplikacím sdílet veřejný port 443 a rozliší je podle hostitele či cesty
Praktický příklad
Jeden veřejný port, několik interních služeb
E-shop může zveřejnit jen reverse proxy na TCP portu 443. Ta přijme HTTPS pro www.example.cz a api.example.cz a v interní síti jej předá aplikaci na portu 8080. PostgreSQL na portu 5432 a Redis na portu 6379 zůstávají přístupné jen ze soukromé sítě pro aplikaci a workery.
Porty databází jsou zde příklady běžných výchozích nastavení, nikoli univerzální instrukce. Zda je konkrétní port dostupný, určuje kombinace procesu, vazby na rozhraní, Docker mapování, síťových pravidel a firewallu.
Síťové rozdělení služeb
Internet
│ TCP 443 (HTTPS)
▼
reverse proxy
├── app:8080 interní aplikace
├── postgres:5432 pouze interní síť
└── redis:6379 pouze interní síť
Jak funguje
Od cílové adresy k procesu, který spojení obslouží
Operační systém vyhodnocuje adresu, protokol a port před předáním dat konkrétní službě.
- Klient zvolí endpoint URL https://api.example.cz obvykle vede po DNS a HTTPS na TCP port 443. Pokud URL uvádí nestandardní port, například :8443, klient ho použije místo výchozího.
- Síť dopraví pakety na IP adresu Routery směrují podle IP adresy. Port se neuplatní při globálním směrování, ale až když data dorazí na cílový systém.
- Transport rozliší spojení TCP nebo UDP použije zdrojovou a cílovou adresu i porty k rozlišení toků. TCP navíc navazuje spolehlivé spojení, UDP pracuje datagramově.
- Proces na portu naslouchá Webový server, databáze nebo jiná služba může přijmout data jen tehdy, když daný port používá a síťová pravidla provoz neblokují.
- Aplikace provede vlastní kontrolu Po otevření spojení teprve přichází TLS, HTTP, autentizace, autorizace a validace vstupu. Otevřený port není svolení k libovolné operaci.
Důležité související pojmy
Číslo portu je jen jedna část síťového endpointu.
Kontext tvoří vždy transportní protokol, IP adresa, pravidla sítě a proces, který na portu opravdu běží.
TCP a UDP
TCP a UDP používají porty, ale mají odlišné vlastnosti. TCP pracuje se spojením a kontrolou doručení, UDP přenáší samostatné datagramy. Stejné číslo portu proto nemusí znamenat tutéž službu.
Serverový a klientský port
Server obvykle naslouchá na očekávaném portu. Klient si pro konkrétní spojení zvolí dočasný zdrojový port, aby mohl současně komunikovat s více službami.
Rozsahy portů
IANA rozlišuje systémové porty 0–1023, uživatelské porty 1024–49151 a dynamické či privátní porty 49152–65535. Registrace čísla ale není bezpečnostní známka služby.
Port v URL
URL může port uvést za dvojtečkou v části hostitele. Když ho neuvede, schéma obvykle určuje výchozí hodnotu, například 80 pro http a 443 pro https.
Publikování a firewall
Služba může naslouchat jen na loopbacku, v interní síti nebo na veřejném rozhraní. Docker port mapping a firewall rozhodují, zda se k ní vůbec dostane jiný systém.
Vztah k podobným pojmům
Port není fyzický konektor ani samostatná ochrana.
Při návrhu infrastruktury je důležité rozlišit síťové označení, publikování služby a její skutečné zabezpečení.
- Síťový port a fyzický konektor
- Síťový port je číslo v TCP, UDP a podobných protokolech. Konektor Ethernetu, USB-C nebo optiky je fyzické rozhraní zařízení.
- Síťový port a IP adresa
- IP adresa určuje rozhraní v síti, port vybírá službu na dané adrese. Pouze jejich kombinace s protokolem identifikuje cílový endpoint.
- Interní a publikovaný port Dockeru
- Aplikace může uvnitř kontejneru poslouchat na 8080, ale hostitel jej nemusí zveřejnit. Publikování vytvoří pravidlo mezi portem hostitele a kontejneru.
- Otevřený port a bezpečná aplikace
- Otevřený port pouze dovoluje síťové spojení. Bezpečnost dále určují TLS, firewall, aktualizace, autentizace, autorizace a validace vstupů.
Výhody a omezení
Porty umožní souběh služeb, ale vytvářejí další veřejnou plochu.
Přínosy
- více služeb může fungovat na jedné IP adrese
- standardní porty usnadňují interoperabilitu klientů a síťových nástrojů
- interní porty dovolují oddělit aplikaci, databázi, cache a workery
- reverse proxy může centralizovat veřejný HTTPS vstup na jednom portu
Omezení a časté chyby
- změna čísla portu není náhradou firewallu ani autentizace
- neuvážené publikování portu kontejneru může zpřístupnit interní službu
- databáze otevřená do internetu zbytečně zvětšuje útočnou plochu
- příliš dlouhé timeouty na veřejném portu mohou držet zdroje
- stejný port na TCP a UDP je třeba posuzovat jako dvě odlišné možnosti provozu
Praktické hranice
Zveřejnit jen porty, které jsou skutečně potřebné pro veřejnou službu.
U běžné webové aplikace je vhodné soustředit veřejný provoz na HTTPS vstup. Reverse proxy může na 443 obsloužit více domén a aplikací, zatímco PHP runtime, fronta, cache a databáze komunikují po interní síti. Takový návrh zjednoduší firewallová pravidla, monitoring i oddělení odpovědností.
Nestandardní port může dávat smysl pro interní službu, lokální vývoj nebo oddělený technický protokol. Nemá ale sloužit jako utajení služby. Dokumentace, konfigurační proměnné, health check a přístupová pravidla musí popsat, kdo se na port může připojit a jak aplikace požadavek skutečně ověří.
Na co myslet
Porty navrhovat jako součást explicitní síťové politiky.
Přehled, co naslouchá na kterém rozhraní a kdo se tam může připojit, je důležitý pro bezpečnost i provoz.
- evidovat veřejné endpointy a povolit z internetu pouze očekávané porty
- databáze, cache a administrační služby držet v interní síti nebo za přesně definovaným přístupem
- v Docker Compose rozlišovat expose pro interní dokumentaci a skutečné publikování portu na hostitele
- u URL nestandardní port uvádět jen tehdy, když jej klient opravdu musí znát
- monitorovat dostupnost služby i za portem: otevřené TCP spojení neprokazuje zdraví aplikace
- nepovažovat port, IP allowlist ani skrytí banneru za náhradu autentizace a pravidelných aktualizací
Časté otázky
Jak síťové porty používat bezpečně
Je síťový port fyzický konektor?
Ne. Jde o číslo používané transportním protokolem k rozlišení služby nebo spojení na síťové adrese.
Je port 443 vždy bezpečný?
Ne. Je to běžný port pro HTTPS, ale bezpečnost závisí na TLS konfiguraci, aplikaci, autentizaci, autorizaci a provozních pravidlech.
Musí mít každá aplikace vlastní veřejný port?
Nemusí. Reverse proxy může na jednom veřejném portu 443 směrovat více domén nebo cest do různých interních aplikací.
Mohu zabezpečit databázi jen změnou jejího portu?
Ne. Databáze má být podle potřeby neveřejná, chráněná sítí a vlastním ověřením. Nestandardní číslo portu není bezpečnostní kontrola.
Jak navrhuji provoz aplikace
Veřejný HTTP vstup odděluji od interních služeb a jejich dat.
Při návrhu backendů řeším síťovou hranici, reverse proxy, databázové služby i monitoring tak, aby byl provoz čitelný a kontrolovatelný.