Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

Jaké služby na Vašem VPS naslouchají a co je dostupné zvenčí?

Každý program, který přijímá spojení, naslouchá na portu: SSH na 22, webový server na 80 a 443, MariaDB na 3306. Každý port dostupný zvenčí představuje dveře do Vašeho serveru. Webová stránka obvykle potřebuje zvenčí pouze porty 22, 80 a 443. Zde se dozvíte, jak zjistit, co naslouchá a na jaké adrese, a jak ověřit, co vidí zbytek internetu.

Zjištění, co naslouchá

Spusťte na svém VPS:

sudo ss -tulpn

Volby znamenají: TCP (-t), UDP (-u), pouze naslouchající (-l), který program (-p) a čísla místo názvů (-n). Příklad:

tcp LISTEN 0.0.0.0:22       users:(("sshd",...))
tcp LISTEN 0.0.0.0:443      users:(("nginx",...))
tcp LISTEN 127.0.0.1:3306   users:(("mariadbd",...))
tcp LISTEN 0.0.0.0:6379     users:(("redis-server",...))
tcp LISTEN [::]:22          users:(("sshd",...))

Důležitý je sloupec Local Address, tedy adresa, na které program naslouchá:

AdresaVýznam
0.0.0.0Všechny adresy IPv4, tedy i Vaše veřejná adresa: dostupné zvenčí, pokud to nezablokuje firewall
[::]Všechny adresy IPv6: totéž pro IPv6
127.0.0.1 nebo [::1]Pouze samotný server (loopback): zvenčí nikdy nedostupné
127.0.0.53 nebo 127.0.0.54Také loopback: lokální pomocník DNS ze systemd-resolved

V příkladu je MariaDB v pořádku: přistupovat k ní mohou pouze programy na samotném serveru. Redis naslouchá na všech adresách, a to je přesně ta chyba, o kterou jde.

Uzavření přímo ve službě

Databáze, cache nebo administrační rozhraní by téměř nikdy neměly být dostupné zvenčí. Nejlepším prvním krokem je, aby služba naslouchala pouze na loopbacku. Na Debianu a Ubuntu:

ProgramNastaveníSoubor
MariaDB nebo MySQLbind-address = 127.0.0.1/etc/mysql/mariadb.conf.d/50-server.cnf
PostgreSQLlisten_addresses = 'localhost'/etc/postgresql/<verze>/main/postgresql.conf
Redisbind 127.0.0.1 -::1 a protected-mode yes/etc/redis/redis.conf

Poté službu restartujte (viz Správa služeb pomocí systemctl na Vašem VPS) a znovu zkontrolujte pomocí ss -tulpn. Pokud se chcete k databázi připojit ze svého notebooku, použijte místo otevřeného portu tunel SSH, viz Konfigurace SSH: přihlášení pomocí krátkého názvu.

Firewall jako druhá vrstva

Firewall zablokuje to, co omylem přece jen naslouchá na všech adresách. Jak nastavit ufw, najdete v článku Firewall s ufw (nebo nftables). Nespoléhejte na jedinou vrstvu: firewall může být vypnutý nebo může být některé pravidlo příliš volné.

Porty, které publikujete pomocí Dockeru (ports:), obcházejí ufw. Databáze s "3306:3306" je pak dostupná zvenčí, i když ufw tvrdí, že je port zavřený. Přidejte před něj 127.0.0.1:, nebo port nepublikujte. Viz Docker a firewall: bezpečné publikování portů.

Kontrola zvenčí

ss ukazuje, co na serveru naslouchá, ale ne to, co propustí Váš firewall. Skutečnou kontrolu proveďte z jiného počítače, ne ze samotného serveru. Pomocí nc (netcat) na Macu nebo Linuxu:

nc -vz -w 3 203.0.113.10 6379
nc -6 -vz -w 3 2001:db8::10 6379

Ve Windows totéž provede PowerShell příkazem Test-NetConnection 203.0.113.10 -Port 6379. Doplňte svou vlastní adresu IPv4 a IPv6; najdete je na obrazovce VPS. Výsledek čtěte takto:

  • Otevřený (succeeded): něco naslouchá a je to dostupné zvenčí.
  • Zavřený (Connection refused): nic nenaslouchá, nebo firewall spojení aktivně odmítá.
  • Filtrovaný (time-out): firewall provoz tiše zahazuje.

U databáze jsou zavřený i filtrovaný stav v pořádku. Otestujte také IPv6: častou chybou je firewall pouze s pravidly pro IPv4, zatímco služba naslouchá i na [::]. Skener portů, jako je nmap, kontroluje více portů najednou; takový skener používejte pouze na svém vlastním serveru.

Váš server je skenován od první minuty, a to i na portech databází a vyhledávacích clusterů. Pokud na něm běží služba, kterou neznáte, zjistěte, o co jde, a pokud ji nepotřebujete, odstraňte ji. Co neběží, nemůže ani unikat.

Váš VPS je plně ve Vaší správě: které služby naslouchají a jak je nastaven firewall, si řídíte sami. My Vám pomůžeme s částí WebOké, jako je obrazovka VPS, síť a snapshoty.

Chcete se dozvědět více? Absolvujte bezplatný kurz VPS a správa linuxových serverů, lekci 5.1 Porty a naslouchající služby nebo lekci 5.2 Firewall s ufw a nftables.

Byl tento článek užitečný?

← Zpět na Virtuální servery VPS

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…