Slovník pojmů

IP adresa

IP adresa určuje síťový cíl komunikace. Nevypovídá ale sama o tom, jaká aplikace na něm běží, kdo ji používá ani zda je spojení bezpečné.

Stručná definice

Číselná adresa síťového rozhraní, ne jméno služby ani identita člověka.

Internet Protocol používá adresy, aby routery mohly dopravit data mezi zdrojem a cílem. IPv4 zapisuje adresu jako čtyři desítková čísla, například 192.0.2.42; IPv6 používá delší šestnáctkový zápis, například 2001:db8::42. Příklady zde patří do rozsahů vyhrazených pro dokumentaci, nejde o skutečné produkční cíle.

Doménové jméno dává službě lidsky čitelné označení a DNS jej často přeloží na IP adresu. Po překladu se klient připojuje na konkrétní adresu a port; na stejné adrese může přes reverse proxy běžet více webů. IP adresa proto není náhradou URL, síťového portu, certifikátu ani serverové autentizace.

Jaký problém řeší

Umožňuje směrovat síťovou komunikaci ke správnému rozhraní

Při načtení webu, volání API nebo spojení mezi službami potřebuje síť vědět, kam má pakety doručit.

  • DNS vrací pro hostname webu nebo API jednu či více IPv4 a IPv6 adres
  • routery předávají pakety mezi privátní sítí, poskytovatelem připojení a veřejným internetem
  • reverse proxy může přijímat veřejný provoz na veřejné adrese a posílat jej na interní aplikace
  • kontejnery a virtuální stroje používají vlastní síťová rozhraní a adresy podle architektury prostředí
  • síťová pravidla a monitoring pracují s adresou jako s technickým údajem, ne jako s hotovou identitou uživatele

Praktický příklad

Veřejný vstup a interní aplikace

Uživatel otevře api.example.cz. DNS může vrátit dokumentační adresu 203.0.113.20 pro veřejnou reverse proxy. Ta přijme HTTPS požadavek a předá ho aplikaci na privátní adrese, například 10.20.0.15. Databáze může být v další privátní síti a nemá žádný veřejně otevřený vstup.

Jedna veřejná adresa tedy nemusí znamenat jediný stroj ani jedinou aplikaci. Rozhodnutí o konkrétním webu může provést až TLS jméno a HTTP Host hlavička; interní síť pak může používat NAT, firewall a samostatné routování.

Tok síťového spojení

Klient
  │ DNS: api.example.cz → 203.0.113.20
  ▼
Veřejná reverse proxy :443
  │ interní síť
  ▼
Aplikace 10.20.0.15:8080
  │
  ▼
PostgreSQL 10.20.1.25:5432

Jak funguje

Od jména hostitele ke spojení na IP adrese a portu

Zjednodušený tok ukazuje, že adresování, transport, TLS a aplikace jsou samostatné vrstvy.

  1. Klient získá síťový cíl URL obvykle obsahuje hostname. Resolver vyhledá přes DNS odpovídající A záznam pro IPv4 nebo AAAA záznam pro IPv6.
  2. Vybere se adresa a transport Operační systém zvolí vhodnou síťovou cestu a pro HTTP typicky vytvoří TCP spojení. IP zajišťuje doručení paketů, TCP nebo UDP mají vlastní pravidla.
  3. Port vybere službu Cílový port rozliší službu na stejné IP adrese, například HTTPS na 443. Klient používá vlastní dočasný zdrojový port.
  4. Služba zpracuje spojení Webový server nebo reverse proxy může ukončit TLS a podle jména hostitele a cesty vybrat aplikaci. IP adresa sama tento výběr nedělá.
  5. Odpověď putuje zpět Pakety se vracejí po síti na zdrojovou adresu a port. NAT může na hranici sítě mapovat interní a veřejné adresy, aniž by je aplikace přímo viděla.

Důležité související pojmy

Adresa má rozsah, účel a kontext sítě.

Stejný zápis může být technicky platný, ale jeho dostupnost a význam závisí na routování a pravidlech konkrétní sítě.

IPv4 a IPv6

IPv4 používá 32 bitů a jeho veřejný prostor je omezený. IPv6 používá 128 bitů a jiný zápis. Aplikace a infrastruktura často musí zvládnout obě verze, protože DNS může vracet A i AAAA záznam.

Veřejná a privátní adresa

Veřejně směrovatelná adresa může být dosažitelná z internetu podle firewallu a služby. Privátní rozsahy, například 10.0.0.0/8, nejsou globálně směrovatelné a mohou se opakovat v různých interních sítích.

Loopback a lokální rozhraní

Loopback slouží komunikaci uvnitř stejného zařízení, například 127.0.0.1 u IPv4 nebo ::1 u IPv6. Není to veřejný cíl pro jiné počítače.

Statická a dynamická adresa

Statická adresa se mění jen řízeně, dynamickou může poskytovatel či interní síť přidělovat na omezenou dobu. Veřejná služba proto obvykle používá doménu místo odkazu na aktuální adresu.

NAT a síťový prefix

Prefix vymezuje síťovou část adresy. NAT může překládat mezi interními a veřejnými adresami; nepřidává však aplikaci autorizaci a sám nešifruje provoz.

Vztah k podobným pojmům

IP adresa není doména, MAC adresa ani identita uživatele.

Každý z těchto údajů popisuje jinou úroveň komunikace nebo správy systému.

IP adresa a doménové jméno
Doména je čitelné jméno, které DNS často překládá na adresu. Vztah nemusí být trvalý ani jedna ku jedné.
IP adresa a port
IP určuje síťové rozhraní, port rozlišuje službu nebo spojení na této adrese. Úplný síťový endpoint potřebuje obojí a transportní protokol.
IP adresa a MAC adresa
MAC adresa se používá na lokální linkové vrstvě. IP adresa umožňuje směrování mezi sítěmi; MAC není globální náhrada IP.
IP adresa a uživatel
NAT, mobilní sítě, firemní proxy i dynamické přidělení znamenají, že z IP nelze bezpečně vyvozovat identitu konkrétní osoby.

Výhody a omezení

Číselné adresování je základ síťového provozu, ne bezpečnostní rozhodnutí.

Přínosy

  • routery mohou doručovat provoz mezi nezávislými sítěmi
  • jedna infrastruktura může mít veřejné i oddělené interní adresy
  • IPv6 rozšiřuje adresní prostor a umožňuje globální adresování bez stejné závislosti na NATu
  • DNS dovoluje měnit adresy infrastruktury, aniž by uživatelé měnili URL

Omezení a časté chyby

  • jedna veřejná IP může reprezentovat mnoho uživatelů či služeb
  • jedno zařízení může mít více adres a síťových rozhraní
  • privátní adresa není z internetu přímo dostupná bez dalšího směrování či proxy
  • allowlist IP adres je jen technická doplňková kontrola, ne obecná autentizace
  • hlavičce X-Forwarded-For nelze věřit, pokud ji nenastavila známá proxy

Praktické hranice

Veřejný vstup oddělit od interních služeb a neodvozovat z adresy příliš mnoho.

Veřejně má být dostupný jen vstup, který to opravdu potřebuje, typicky reverse proxy na HTTPS. Databáze, Redis, administrační rozhraní nebo interní workery mohou mít pouze privátní adresu či unixový socket. Skrytí na privátní adrese ale nenahrazuje správnou autentizaci, aktualizace a přístupová pravidla uvnitř sítě.

IP adresu lze rozumně použít pro provozní diagnostiku, omezení známé integrační sítě nebo ochranné limity. Není však vhodná jako dlouhodobá identita uživatele: zařízení za NATem sdílejí adresu a legitimní klient ji může změnit. Přístup k objednávce nebo administraci se proto rozhoduje podle ověřené identity a oprávnění na serveru.

Na co myslet

Síťové adresy evidovat, segmentovat a ověřovat v reálné cestě provozu.

Při incidentu musí být možné rozlišit veřejný endpoint, proxy, aplikaci a interní datovou službu.

  • pro dokumentaci používat vyhrazené adresní rozsahy, ne náhodné veřejné IP adresy
  • v DNS uvádět A i AAAA záznam jen tehdy, když služba opravdu funguje přes IPv4 i IPv6
  • veřejně publikovat minimum portů a databázové služby držet mimo internetový vstup
  • za proxy nastavit důvěryhodné adresy proxy a nenechat klienta podvrhnout forwarding hlavičky
  • monitorovat dostupnost zvenku i uvnitř sítě, protože DNS odpověď sama nedokazuje funkční aplikaci
  • neukládat citlivá rozhodnutí jen na allowlistu IP adres bez další autentizace a auditu

Časté otázky

Co IP adresa znamená a co už ne

Je IP adresa totéž co doména?

Ne. Doména je jméno, IP adresa je síťový cíl. DNS je může propojit, ale jedna doména může mít více adres a jedna adresa více domén.

Je privátní IP adresa bezpečná sama o sobě?

Omezuje přímou globální dosažitelnost, ale není to úplná ochrana. Služba může být dostupná z interní sítě, přes VPN nebo chybně nastavenou proxy a stále potřebuje vlastní zabezpečení.

Poznám z IP adresy konkrétního uživatele?

Obvykle ne spolehlivě. Adresu mohou sdílet uživatelé za NATem, mohou ji přidělovat dynamicky a mezi klientem a aplikací mohou být proxy.

Proč se v příkladech používá 192.0.2.x nebo 2001:db8::?

Tyto rozsahy jsou vyhrazené pro dokumentaci, takže příklad neukazuje na náhodný skutečný veřejný systém.

Jak navrhuji provozní hranice

Veřejnou síť, proxy a interní služby odděluji podle skutečné odpovědnosti.

Při návrhu backendů a API řeším dostupnost, bezpečný vstup, síťové hranice i dohledatelnost problému napříč infrastrukturou.

Zavolejte mi

Zavolám vám následující pracovní den mezi 9:00 a 17:00.

Můžete mi také zavolat rovnou.

+420 605 181 728

Nechte mi telefonní číslo a pošlete žádost o zpětné zavolání.

Odesláním souhlasíte se zpracováním údajů pro vyřízení žádosti.