Firewall v zákaznické zóně rozhoduje, jaký provoz se k vaší VPS vůbec dostane. Nastavíte ho klikáním, funguje nezávisle na systému VPS a když se odříznete, opravíte ho jedním kliknutím. Ukážeme, jak ho přepnout do bezpečného režimu a jaká pravidla potřebují běžné služby.
Co budete potřebovat
- VPS u StormHostu
- Přístup do zákaznické zóny (u sdílené služby oprávnění Firewall)
- Seznam portů, které vaše aplikace používají
- Asi 15 minut
Jak firewall funguje#
Firewall stojí na síti před VPS, ne v ní. Pravidla proto platí, i když je systém ve VPS rozbitý, a nemůžete se jimi odříznout od zákaznické zóny ani od konzole.
Otevřete Moje služby, klikněte na VPS a přejděte na záložku Firewall. Uvidíte:
- Stav firewallu: Firewall aktivní.
- Příchozí provoz: režim Povolit vše, nebo Blokovat vše kromě povoleného.
- Pravidla: vaše vlastní pravidla (nejvýš 50).
- Ochranná pravidla StormHost: sbalený seznam pravidel, která spravujeme my a nejdou vypnout.
| Ochranné pravidlo | Co dělá |
|---|---|
| Blokace známých skenerů internetu | Zahodí provoz z adres, které hromadně prohledávají internet. |
| Povolit provoz na IP adresy VPS | V režimu Povolit vše propouští příchozí provoz. V režimu Blokovat vše kromě povoleného je vypnuté. |
| Odchozí provoz jen z IP adres VPS | VPS smí posílat provoz jen ze svých adres. |
| Ochrana proti podvržení IP a MAC adres | VPS nemůže vydávat se za cizí adresu. Chrání vás i ostatní zákazníky. |
Firewall si pamatuje navázaná spojení. Odpovědi na spojení, která VPS sama otevře (aktualizace, stahování, připojení k databázi jinde), projdou v obou režimech. Pravidla řeší jen nová příchozí spojení.
Režim příchozího provozu#
| Režim | Co projde | Pro koho |
|---|---|---|
| Povolit vše | Všechno kromě toho, co zakážete vlastním pravidlem s akcí Zahodit nebo Odmítnout. | Výchozí stav nové VPS. Vhodný, pokud máte firewall uvnitř VPS (UFW). |
| Blokovat vše kromě povoleného | Jen provoz povolený vlastními pravidly s akcí Povolit. | Doporučujeme. Zvenku je dostupné jen to, co výslovně otevřete. |
Nejdřív pravidlo pro SSH
Než přepnete na Blokovat vše kromě povoleného, přidejte pravidlo, které povoluje TCP port 22 (nebo port, na který jste SSH přesunuli). Bez něj se přes SSH nepřipojíte. Zákaznická zóna na to při přepnutí upozorní. Pokud se to stane, nic se neztratí: pravidlo přidáte dodatečně a do VPS se mezitím dostanete přes konzoli v prohlížeči.
Postup přechodu na bezpečný režim:
- Přidejte pravidlo pro SSH (viz další sekce, tlačítko SSH).
- Přidejte pravidla pro všechny služby, které má být zvenku vidět (web, herní server…).
- V části Příchozí provoz zvolte Blokovat vše kromě povoleného.
- Přejeďte posuvníkem v potvrzovacím dialogu.
- V novém okně ověřte, že se přes SSH připojíte a služby fungují.
Na některých starších VPS uvidíte místo volby režimu box Doporučené nastavení firewallu. Klikněte na Použít doporučené nastavení. Zapne ochranná pravidla, vaše vlastní pravidla zachová a obecná pravidla typu „povolit vše“ nahradí doporučenou sadou. Pak se objeví volba režimu.
Přidání pravidla#
Formulář Přidat pravidlo je pod seznamem pravidel. Nahoře najdete rychlé předvolby SSH, HTTP, HTTPS, Minecraft, FiveM TCP, FiveM UDP a Ping, které formulář vyplní za vás.
| Pole | Co znamená | Jak vyplnit |
|---|---|---|
| Směr | Příchozí = spojení z internetu do VPS. Odchozí = spojení z VPS ven. | Skoro vždy Příchozí. |
| Akce | Povolit = pustit. Zahodit = tiše zahodit, odesílatel čeká, až mu vyprší čas. Odmítnout = zahodit a odesílateli hned oznámit odmítnutí. | Pro otevření portu Povolit. Pro blokaci útočníků Zahodit (neprozradí nic). Odmítnout použijte pro vlastní služby, kde chcete rychlou chybu místo čekání. |
| Protokol | TCP, UDP, ICMP (ping), ICMPv6, nebo vše. | Podle služby, viz tabulky níže. Web a SSH = TCP, většina her = UDP nebo obojí. |
| Port | Cílový port na VPS. Jen u TCP a UDP. Formáty: jeden port 22, výčet 80,443 (nejvýš 10 položek), rozsah 25565:25570 (od:do). | Prázdné pole = všechny porty. |
| Zdrojová IP / rozsah (u příchozích) | Odkud spojení smí přijít. Jedna adresa 198.51.100.25, rozsah 198.51.100.0/24, IPv6 adresa nebo výčet čárkou (nejvýš 10 položek). | Prázdné = odkudkoli. Vyplňte jen pro omezení na konkrétní adresy. Do jednoho pole nemíchejte IPv4 a IPv6 adresy, pro každou verzi udělejte samostatné pravidlo. |
| Cílová IP / rozsah (u odchozích) | Kam smí VPS spojení navazovat. | Prázdné = kamkoli. |
| Poznámka | Váš popis, nejvýš 100 znaků. | Vždy vyplňte, ať za půl roku víte, k čemu pravidlo je. |
| zapnuto | Pravidlo se uplatňuje. | Odškrtnutím pravidlo dočasně vypnete, aniž byste ho mazali. |
Klikněte na Přidat. Změna platí během několika sekund.
Pořadí pravidel: pravidla se vyhodnocují shora a platí první shoda. Když potřebujete zablokovat jednu IP adresu a zároveň povolit port všem, dejte pravidlo Zahodit pro tu adresu výš než pravidlo Povolit. Pořadí měníte šipkami Posunout výš a Posunout níž. Ochranná pravidla StormHost se s vašimi nemíchají: blokace skenerů je vždy první, obecné povolení vždy poslední.
Hotové sady pravidel#
Všechna pravidla níže mají Směr Příchozí a Akci Povolit. Porty jsou výchozí hodnoty programů; pokud jste je ve své aplikaci změnili, použijte své.
| Služba | Protokol | Port | Poznámka |
|---|---|---|---|
| SSH | TCP | 22 | Bez něj se nepřipojíte. |
| Web (HTTP a HTTPS) | TCP | 80,443 | Jedno pravidlo stačí. Port 80 potřebuje i Let's Encrypt pro vydání certifikátu. |
| Minecraft Java | TCP | 25565 | |
| Minecraft: query (výpis serveru) | UDP | 25565 | Jen pokud máte zapnuté enable-query. |
| Bedrock přes Geyser | UDP | 19132 | |
| FiveM | TCP | 30120 | |
| FiveM | UDP | 30120 | Hra potřebuje TCP i UDP, jsou to dvě pravidla. |
| txAdmin | TCP | 40120 | Ideálně jen z vaší IP adresy. |
| Rust: hra | UDP | 28015 | |
| Rust: query (seznam serverů) | UDP | 28017 | Výchozí query port je o 1 vyšší než vyšší z portů hry a RCON. |
| Rust: RCON | TCP | 28016 | Jen z vaší IP adresy. |
| Rust+ (aplikace) | TCP | 28082 | Skutečný port vypíše příkaz app.info v konzoli serveru. |
| Herní panel na vlastní VPS: node | TCP | 8080,2022 | 8080 = komunikace panelu s nodem, 2022 = SFTP herních serverů. Viz návod k nodu. |
| Herní panel na vlastní VPS: servery | TCP a UDP | rozsah, např. 25565:25600 | Dvě pravidla (TCP a UDP) pro rozsah portů, které přidělujete serverům. |
| MariaDB / MySQL | TCP | 3306 | Vždy jen z konkrétní IP adresy, nikdy všem. |
| Ping (IPv4) | ICMP (ping) | — | Pro diagnostiku. |
| Ping (IPv6) | ICMPv6 | — | Předvolba Ping vytvoří jen IPv4 pravidlo, pro IPv6 přidejte druhé. |
Přístup jen z vaší IP adresy#
Do pole Zdrojová IP / rozsah napište svou veřejnou IP adresu. Pravidlo pak povolí port jen vám. Hodí se pro SSH, RCON, txAdmin a databáze.
Svou veřejnou IP adresu zjistíte nejspolehlivěji z VPS: připojte se přes SSH a spusťte echo $SSH_CLIENT. První údaj ve výpisu (například 198.51.100.25) je adresa, ze které se právě připojujete. Pokud se připojujete přes IPv6, uvidíte IPv6 adresu a pravidlo pak platí jen pro IPv6.
Než omezíte SSH na svou adresu
- Domácí připojení často mění IP adresu (po restartu routeru, u mobilních dat neustále). Po změně se nepřipojíte a pravidlo musíte upravit. Konzole v prohlížeči funguje vždy.
- Záložky Soubory a Databáze přestanou fungovat. Zákaznická zóna se k VPS připojuje přes SSH z našich serverů, ne z vašeho počítače.
IPv6#
Pravidla s prázdnou adresou platí pro IPv4 i IPv6. Pravidlo s IPv4 adresou platí jen pro IPv4, s IPv6 adresou jen pro IPv6. Pro ping je potřeba zvlášť ICMP (ping) a ICMPv6.
Odchozí pravidla#
Odchozí provoz je ve výchozím stavu povolený (z adres vaší VPS). Odchozí pravidla potřebujete výjimečně, například když chcete VPS zakázat posílat e-maily přímo (pravidlo Odchozí, Zahodit, TCP, port 25). Pozor, ať nezablokujete DNS (UDP a TCP 53) nebo aktualizace (TCP 80,443).
Firewall v zákaznické zóně, nebo UFW?#
| Firewall v zákaznické zóně | UFW uvnitř VPS | |
|---|---|---|
| Kde filtruje | Před VPS | Ve VPS |
| Jak se nastavuje | Klikáním | Příkazy |
| Když se odříznete | Opravíte v zákaznické zóně | Musíte do konzole |
| Docker | Platí i pro porty publikované Dockerem | Docker ho obchází (viz UFW a Docker) |
Omezení počtu spojení (limit) | Ne | Ano |
| Spolupráce s fail2banem | Ne, fail2ban blokuje uvnitř VPS | Ano |
Pro většinu lidí stačí firewall v zákaznické zóně. Pokročilí můžou používat oba: firewall v zákaznické zóně jako hrubé síto (jen potřebné porty) a ve VPS UFW s fail2banem. Kdo používá oba firewally, musí port otevřít v obou.
Ověření#
Ze svého počítače otestujte, že je port otevřený:
Windows
Test-NetConnection 203.0.113.10 -Port 22Test-NetConnection– zkusí navázat TCP spojení. ŘádekTcpTestSucceeded : Trueznamená, že port je otevřený a služba na něm odpovídá.
macOS
nc -vz -w 5 203.0.113.10 22nc -vz– zkusí TCP spojení (-znic neposílá,-vvypíše výsledek).succeededznamená otevřený port.-w 5– po 5 sekundách bez odpovědi to vzdá, jinak by u zavřeného portu čekal dlouho.
Linux
nc -vz -w 5 203.0.113.10 22nc -vz– zkusí TCP spojení.succeededneboopenznamená otevřený port. Pokudncchybí, nainstalujte balíčeknetcat-openbsd.-w 5– po 5 sekundách bez odpovědi to vzdá.
Test funguje jen pro TCP. Port zavřený firewallem se projeví vypršením času, port bez běžící služby odmítnutím (refused). UDP porty (hry) ověřte připojením ze hry.
Když se odříznete#
Firewall v zákaznické zóně vás od zákaznické zóny nikdy neodřízne. Otevřete záložku Firewall a buď přidejte chybějící pravidlo, nebo dočasně přepněte Příchozí provoz na Povolit vše.
Když něco nefunguje#
Firewall se mezitím změnil — načtěte ho prosím znovu.#
Firewall mezitím upravil někdo jiný (nebo jiné okno prohlížeče). Obnovte stránku a změnu zopakujte.
Neplatný port (např. 22, 80,443 nebo 25565:25570).#
Port je zapsaný špatně. Použijte jen číslice, čárky a dvojtečku pro rozsah, bez mezer navíc. Port jde zadat jen u TCP a UDP.
Doporučené nastavení u téhle VPS nejde použít automaticky (neznáme všechny její IP adresy).#
U VPS je přiřazená adresa, kterou zákaznická zóna u služby nemá evidovanou, a doporučené nastavení by ji mohlo odříznout. Na nastavení uvnitř VPS to nezávisí. Napište nám (podpora), adresy srovnáme.
Maximální počet vlastních pravidel je 50.#
Sloučte pravidla: více portů jednoho protokolu do jednoho pravidla (80,443), souvislé porty do rozsahu (25565:25600).
Port je povolený, ale služba zvenku nefunguje#
- Zkontrolujte, že je pravidlo zapnuto a nad ním není pravidlo, které stejný provoz zahodí.
- Ověřte protokol (hra může potřebovat UDP).
- Zkontrolujte firewall ve VPS:
ufw status. - Ověřte, že aplikace poslouchá na veřejné adrese, ne jen na
127.0.0.1:ss -tulpn.
Po upgradu nebo obnově ze zálohy se firewall nechová jako dřív#
Po obnově ze zálohy se nastavení firewallu srovnává s aktuálním stavem služby. Když hlásí chybu nebo pravidla nesedí, napište nám (podpora).
Shrnutí
- Firewall v zákaznické zóně filtruje provoz před VPS a nejde se jím odříznout od zákaznické zóny ani konzole.
- Bezpečný režim: nejdřív pravidlo pro SSH a služby, pak Blokovat vše kromě povoleného.
- Pravidla platí shora, první shoda vyhrává; poznámku vyplňujte vždy.
- Prázdná adresa = pravidlo pro IPv4 i IPv6; ping potřebuje ICMP i ICMPv6.
- Omezení SSH na vaši IP vypne záložky Soubory a Databáze a při změně vaší IP vás odřízne.