Uživatelské nástroje

Nástroje pro tento web


navody:server:firewall

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
navody:server:firewall [2015/10/14 12:32] krcmarnavody:server:firewall [2023/08/02 18:18] (aktuální) Aither
Řádek 1: Řádek 1:
 +<note important>
 +Tento článek je zastaralý, doporučujeme se řídit dokumentací nebo wiki distribuce, kterou používáš.
 +Pokud chceš, můžeš tento článek doplnit a aktualizovat.
 +</note>
 +
 ====== Firewall ====== ====== Firewall ======
  
Řádek 5: Řádek 10:
 Linuxové jádro obsahuje firewall zvaný Netfilter, který je obsluhován pomocí utility ''iptables''. Tento přístup je nízkoúrovňový a umožňuje nastavit velké množství různých parametrů a variant. Pohodlnější variantou je například nadstavba Shorewall, což je sada skriptů, které dovolují pravidla pro Netfilter z jednodušších konfiguračních souborů. Linuxové jádro obsahuje firewall zvaný Netfilter, který je obsluhován pomocí utility ''iptables''. Tento přístup je nízkoúrovňový a umožňuje nastavit velké množství různých parametrů a variant. Pohodlnější variantou je například nadstavba Shorewall, což je sada skriptů, které dovolují pravidla pro Netfilter z jednodušších konfiguračních souborů.
  
-Na našem VPS je v každém případě nejprve potřeba povolit podporu iptables. V detailu VPS je potřeba zapnout podporu iptables a potvrdit. Dojde restartu VPS a podpora je zapnutá. +Při prvotních hrátkách s firewallem je možné, že si neopatrným zásahem odříznete cestu k VPS. Nepanikařte a přejděte na návod ke [[navody:vps:konzole|vzdálené konzoli]] nebo [[navody:vps:oprava|opravě rozbité VPS]].
- +
-{{:navody:vps:features.png?300|}}+
  
 ===== IPtables ===== ===== IPtables =====
Řádek 38: Řádek 41:
   iptables -A INPUT -p tcp --dport 80 -j ACCEPT   iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  
-Takto můžete ručně zapsat různá pravidla a sledovat chování. Takto zapsaná pravidla ale **nejsou perzistentní** a po restartu vašeho VPS zmizí. Pokud je potřebujete zachovat, zapište je například do souboru ''/etc/iptables.rules''.+Takto můžete ručně zapsat různá pravidla a sledovat chování. Takto zapsaná pravidla ale **nejsou perzistentní** a po restartu vašeho VPS zmizí. Pokud je potřebujete vysypat cíleně a zbavit se veškerého nastavení, použijte 
 + 
 +   iptables -F 
 + 
 +Pokud naopak potřebujete pravidla zachovat, zapište je například do souboru ''/etc/iptables.rules''. Na pořadí zapsání záleží! Netfilter pak pravidla prochází sekvenčně a provede jen první akci, u které daný paket vyhověl pravidlu.
  
 <note important>Pravidla se pak sice zapisují stejně, ale bez příkazu ''iptables'' na začátku. Řádek tedy začíná rovnou na -A…</note> <note important>Pravidla se pak sice zapisují stejně, ale bez příkazu ''iptables'' na začátku. Řádek tedy začíná rovnou na -A…</note>
-  + 
 +<code>*filter 
 + 
 +# Pusť veškerý loopback (lo0) provoz a zahoď provoz z 127/8, který nepochází z rozhraní lo0 
 +-A INPUT -i lo -j ACCEPT 
 +-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT 
 + 
 +# Propusť všechen provoz už navázaných spojení 
 +-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
 + 
 +# Povol veškerý odchozí provoz 
 +-A OUTPUT -j ACCEPT 
 + 
 +# Otevři příchozí porty pro HTTP a HTTPS 
 +-A INPUT -p tcp --dport 80 -j ACCEPT 
 +-A INPUT -p tcp --dport 443 -j ACCEPT 
 + 
 +# Povol veškerá spojení na SSH 
 +-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT 
 +# Povol spojení jen z mé IP adresy 
 +# -I INPUT -p tcp -s 1.2.3.4 --dport 22 -j ACCEPT 
 + 
 +# Zakaž všechno ostatní, co prošlo až sem. 
 +-A INPUT -j REJECT 
 +-A FORWARD -j REJECT 
 + 
 +COMMIT 
 +</code> 
 + 
 +Takový konfigurační soubor je možné získat i tak, že uložíte aktuální pravidla zapsaná právě ve firewallu. Pokud jste tedy pravidla zadali ručně z řádky, můžete si je všechna uložit: 
 + 
 +  iptables-save > /etc/iptables.rules 
 + 
 +Stejně tak je možné obsah souboru znovu načíst do jádra: 
 + 
 +  iptables-restore < /etc/iptables.rules 
 + 
 +Pokud chcete, aby se tento příkaz spouštěl při startu systému a tedy aby se při startu VPS načetla všechna zadaná pravidla, zapište do souboru ''/etc/network/if-pre-up.d/iptables'' tyto dva řádky: 
 + 
 +<code>#!/bin/sh 
 + /sbin/iptables-restore < /etc/iptables.rules</code> 
 + 
 +Soubor pak učiňte spustitelným: 
 + 
 +  chmod +x /etc/network/if-pre-up.d/iptables 
 + 
 +Od této chvíle se při startu serveru aplikují firewallová pravidla podle vašich přání. 
 ===== Shorewall ===== ===== Shorewall =====
  
Řádek 128: Řádek 182:
 Poté můžeme nechat Shorewall zkontrolovat konfiguraci: Poté můžeme nechat Shorewall zkontrolovat konfiguraci:
  
-  /etc/init.d/shorewall check+  shorewall check
      
-Pokud potvrdí ''Configuration Validated'', můžeme ho spustit+Pokud potvrdí ''Configuration Validated'' nebo ''Shorewall configuration verified'', můžeme ho spustit
  
-  /etc/init.d/shorewall start|stop|restart|...+  shorewall start|stop|restart|...
  
 Další užitečné příkazy: Další užitečné příkazy:
Řádek 142: Řádek 196:
  
 Odkazy: [[http://shorewall.net/ | shorewall.net/]] , [[https://wiki.debian.org/HowTo/shorewall | wiki.debian.org/HowTo/shorewall]]  Odkazy: [[http://shorewall.net/ | shorewall.net/]] , [[https://wiki.debian.org/HowTo/shorewall | wiki.debian.org/HowTo/shorewall]] 
 +
 +===== FirewallD =====
 +
 +Starší verze firewalld potřebují, aby existovaly soubory modulů jádra, i když jsou načtené.
 +
 +Vyrobit jde lze jednoduše pár příkazy:
 +
 +<code>
 +mkdir /⁠lib/⁠modules/⁠$(uname -⁠r)
 +touch /⁠lib/⁠modules/⁠$(uname -⁠r)/⁠modules.{builtin,order}
 +for i in /sys/module/*; do echo kernel/${i##**/}.ko; done >> /lib/modules/$(uname -r)/modules.builtin
 +depmod -⁠a
 +</code>
navody/server/firewall.1444825925.txt.gz · Poslední úprava: 2015/10/14 12:32 autor: krcmar