Kontrola otevřených portů
Zjistěte, jestli jsou na vašem serveru z internetu dostupné rizikové služby, jako je vzdálená plocha (RDP), sdílení souborů (SMB) nebo SSH. Zkontrolujeme 10 běžných portů a vysvětlíme, co s výsledkem dělat.
Co kontrola ověřuje
Každá služba, která na serveru naslouchá na síťovém portu, je možný vstup pro útočníka. Web na portech 80 a 443 do internetu patří, vzdálená plocha nebo sdílení souborů většinou ne. Kontrola ukáže, které z deseti běžných portů jsou na vašem serveru dostupné z internetu.
Sken neprovádíme sami. U domény nejdřív zjistíme její IPv4 adresu, ověříme, že je adresa veřejná, a předáme jen ji službě HackerTarget (australská společnost). Ta na ni ze svých serverů v tu chvíli spustí nástroj nmap. Výsledek tedy nepochází z databáze starších skenů jako u Shodanu nebo Censysu, ale odpovídá stavu v okamžiku kontroly, jak ho vidí servery HackerTarget.
Kontrolujeme těchto 10 TCP portů:
21FTP a23Telnet – starší protokoly pro přenos souborů a vzdálenou správu, které posílají hesla nešifrovaně.22SSH – šifrovaná vzdálená správa, typicky linuxových serverů.25SMTP,110POP3 a143IMAP – příjem a výběr pošty.80HTTP a443HTTPS – web.445SMB – sdílení souborů a tiskáren ve Windows.3389RDP – vzdálená plocha Windows.
Jak číst výsledek
Nástroj vypíše jen porty ve stavu otevřený, tedy ty, na kterých server přijal spojení a nějaká služba na nich naslouchá. Port, který v seznamu chybí, je buď zavřený (server spojení odmítl), nebo filtrovaný (firewall spojení tiše zahodil). Tyto dva stavy nástroj nerozlišuje, z pohledu bezpečnosti jsou ale oba v pořádku.
Název služby přebíráme z výstupu nástroje nmap. Může jít jen o odhad podle čísla portu, proto si na serveru ověřte, co na portu skutečně běží. Pokud sken uvede i verzi služby, nástroj ji zobrazí pod jejím názvem. Je to údaj, který o sobě služba sama hlásí, ne ověřený fakt. Otevřený port také sám o sobě neznamená zranitelnost: rozhoduje, jestli tam služba má být, jestli je aktuální a jak chrání přihlášení.
Port Služba Stav
22 ssh Otevřený
80 http Otevřený
443 https Otevřený
3389 ms-wbt-server Otevřený80a443jsou u webového serveru v pořádku. Port 80 by měl jen přesměrovat na HTTPS.22SSH může zůstat dostupné, pokud se přihlašuje jen klíčem, server je aktualizovaný a nejlépe je přístup omezený na známé IP adresy.3389(ms-wbt-server) je vzdálená plocha Windows. Útočníci na ni nepřetržitě zkoušejí hesla a patří k nejčastějším cestám k ransomwaru. Přímo z internetu by dostupná být neměla, jen přes VPN nebo bránu s vícefaktorovým ověřením.445(microsoft-ds) je SMB. Do internetu nepatří nikdy, právě přes něj se v roce 2017 šířil WannaCry.21FTP a23Telnet posílají hesla i data nešifrovaně. Nahraďte je SFTP a SSH.25potřebuje jen poštovní server, který přijímá e-maily. POP3 a IMAP na portech110a143začínají nešifrovaně, bezpečnější jsou porty995a993se šifrováním od začátku spojení.- Databáze, například MySQL
3306, PostgreSQL5432, MS SQL1433, Redis6379nebo MongoDB27017, tento nástroj nekontroluje. Z internetu by ale dostupné být neměly.
Co dělat s nalezenou službou
Zjistěte, co na portu běží
Naslouchající služby na serveru vypíšete příkazem
ss -tlnp(Linux) nebonetstat -ano(Windows). U každé si ujasněte, kdo ji používá a jestli musí být dostupná z celého internetu.Nepotřebné služby vypněte
Co nikdo nepoužívá, vypněte nebo odinstalujte. Službu, kterou potřebují jen aplikace na stejném serveru (typicky databázi), nastavte tak, aby naslouchala jen na adrese
127.0.0.1.Omezte přístup firewallem
Veřejně povolte jen porty, které veřejné být mají, a ostatní blokujte. Správcovské služby povolte jen z konkrétních IP adres. V cloudu upravte i bezpečnostní skupiny a nezapomeňte na pravidla pro IPv6.
Vzdálený přístup schovejte za VPN
RDP, SSH nebo správu zařízení zpřístupněte přes VPN nebo bránu, například Remote Desktop Gateway, s vícefaktorovým ověřením. Pouhá změna čísla portu útočníky nezastaví, jen ubere část automatických pokusů.
Aktualizujte a zabezpečte přihlášení
Služby, které veřejné zůstanou, pravidelně aktualizujte. U SSH vypněte přihlašování heslem a používejte klíče. Jinde nastavte silná hesla, vícefaktorové ověření a omezení počtu pokusů o přihlášení.
Ověřte výsledek zvenku
Po změně spusťte kontrolu znovu. Sken z vnitřní sítě nestačí, protože firewall s ní často zachází jinak než s internetem.
Co kontrola neříká
- Kontroluje jen 10 TCP portů uvedených výše. Další porty, například
8080,8443, databáze nebo správu routerů a kamer, ani UDP služby jako DNS, SNMP nebo VPN neověřuje. Úplný přehled dá až sken všech 65 535 TCP portů a důležitých UDP portů. - Skenujeme jen IPv4 a u domény jen jednu z jejích IPv4 adres. Pokud je server dostupný i přes IPv6, ověřte pravidla firewallu pro IPv6 zvlášť. Pokud je web za CDN nebo proxy, například Cloudflare, uvidíte porty proxy, ne vašeho serveru.
- Výsledek ukazuje pohled ze serverů HackerTarget. Pokud firewall povoluje přístup jen z některých zemí nebo IP adres, případně sken zablokuje systém prevence průniků (IPS), z jiných míst může být vidět víc.
- Když server na sken vůbec neodpoví, nástroj to oznámí a výsledek nehodnotí. Pokud ale firewall tiše zahodí jen spojení na kontrolované porty, vypadá výsledek stejně jako u zavřených portů.
- Nehledá zranitelnosti a nezkouší se přihlásit. Verzi služby, pokud se zobrazí, s databázemi zranitelností neporovnává.
- Počet skenů je omezený, u nás na několik za minutu a u služby HackerTarget malým denním limitem, který sdílejí všichni uživatelé nástroje. Když je vyčerpaný, zkuste kontrolu později, případně další den.
- Službě HackerTarget předáváme jen skenovanou IPv4 adresu, ne zadanou doménu ani vaši IP adresu. Ochranu proti robotům zajišťuje Cloudflare Turnstile. Výsledek neukládáme.
Časté otázky
Smím skenovat porty cizího serveru?
Kontrolujte jen servery, které spravujete, nebo ty, k jejichž testování máte souhlas vlastníka, ideálně písemný. Skenování cizích systémů bez souhlasu obvykle porušuje podmínky poskytovatelů připojení i služby HackerTarget a správce ho může vyhodnotit jako útok. Pokud by po skenu následovaly pokusy o přihlášení nebo zneužití služby, může jít i o trestný čin, například neoprávněný přístup k počítačovému systému podle § 230 trestního zákoníku. Pozor také na sdílený hosting a CDN: IP adresa pak patří poskytovateli, ne vám. Nejde o právní radu, v nejasných případech se obraťte na právníka.
Nástroj nenašel žádný otevřený port. Je server v bezpečí?
Znamená to jen, že žádný z 10 kontrolovaných portů nepřijal spojení. Ostatní porty ani samotné aplikace kontrola neověřuje. Pokud nevidíte ani port 80 nebo 443 u webu, který funguje, sken nejspíš zablokoval firewall nebo server na sken neodpověděl.
Proč jsou otevřené porty 80 a 443? Je to chyba?
Není. Na portech 80 a 443 běží web a bez nich by ho návštěvníci nenačetli. Port 80 by měl jen přesměrovat na HTTPS. Pozornost věnujte hlavně správcovským službám a sdílení souborů.
Proč se výsledek liší od Shodanu nebo od skenu z naší sítě?
Shodan a podobné služby zobrazují výsledky svých dřívějších skenů, které mohou být dny i týdny staré, zatímco tato kontrola skenuje teď. Sken z vnitřní sítě zase obchází hraniční firewall, takže uvidí víc. Rozdíl způsobí i CDN, různé IP adresy domény nebo firewall, který blokuje jen některé zdroje.
Pozná správce serveru, že proběhl sken?
Často ano. Sken přichází z adres služby HackerTarget a firewall nebo systém detekce průniků ho může zaznamenat, nahlásit nebo zablokovat. Pokud server spravuje hostingová firma nebo dodavatel, dejte jim předem vědět.
Stačí přesunout RDP nebo SSH na jiný port?
Nestačí. Automatické skenery procházejí všechny porty, takže službu na nestandardním portu najdou také, jen o něco později. Ubude tím část pokusů o přihlášení, ochranu ale zajistí až VPN, omezení přístupu na známé IP adresy a vícefaktorové ověření.
Nevíte, které služby mají být vidět z internetu?
Napište nám, které porty nástroj našel a k čemu server slouží. Poradíme vám, jak přístup omezit, abyste nepřišli o vzdálenou správu.
Napsat námDeset portů je jen začátek. Při penetračním testu zjistíme, jaké služby váš server nabízí do internetu, a ověříme, jestli se přes ně útočník dostane dál.
Penetrační testování