====== Firewalling laborka ====== - Nakonfigurujte paketový filtr ''iptables'' tak, aby: * POVOLOVAL ESTABLISHED a RELATED TCP SPOJENÍ, jinak vám nebude chodit na TCP vůbec nic * (y) byly povoleny odchozí spojení ze všech (imaginárních) strojů (za vašim PC-routrem) na TCP port 80 do internetu * (y) byly povoleny odchozí spojení na TCP porty 0-1024 do vnitřní sítě pro váš počítač (router) * (y) uživatel www-data nemohl iniciovat žádné odchozí spojení mimo loopback interface * (y) uživatel ''misko'' měl povoleno iniciovat pouze spojení na TCP port 80 a 443 do vnitřní sítě * (y) bylo povoleno spojení na TCP port 22 z vámi zvoleného počítače, nejvýše však 2 za minutu * (y) logovaly se odchozí spojení na UDP port 12345 * (y) logovaly se příchozí spojení na TCP port 54321 z počítače ve vnitřní síti * (y blbě, ale šlo by) alespoň triviálním způsobem bránil SYN floodu * (n) fungoval překlad adres do světa (NAT) * (y) bylo povoleno spojení ze světa na TCP port 80 zvoleného vnitřního počítače * nezapomeňte nastavit port forwarding ve Virtual Boxu a paketovém filtru * (?) fungovalo aktivní FTP pro odchozí i příchozí spojení z/do celého internetu * (?) šlo by ověřit z lokální sítě - Výchozí politika: co není povoleno, je zakázáno. - Vymyslete, jak spolehlivě otestovat funkčnost filtru. - internetem se rozumí rozsah 0/0 * pravidla označené (y) se dají ověřit přímo v laborce * pravidla označené (n) se nedají ověřit přímo v laborce * cvičící si nepotrpí na konkrétní hodnoty, tzn. pokud místo 80 záměrně povolíte 3128 aby vám to fungovalo, jen do toho * u (y) pravidel musíte umět předvést funkčnost * odevzdáváte funkční pravidla ve firewallu (''iptables -L -n'') ===== Bodování ===== * splněno, pokud jste schopni demonstrovat funkčnost alespoň jednoho pravidla ===== Pomůcky ===== ==== FTP démon ==== FTP démon nainstalujete příkazem apt-get install proftpd. Chodí out-of-box. Uživatele přidáte do systému příkazem adduser. ==== iptables pomůcky v češtině ==== http://www.root.cz/serialy/vse-o-iptables/ ==== Testování funkčnosti ==== * Příkaz telnet * Tento příklad demonstruje úspěšné otevření TCP spojení na port 3128 student@student-desktop:~$ telnet 192.168.9.2 3128 Trying 192.168.9.2... Connected to 192.168.9.2. Escape character is '^]'. ^]quit telnet> quit Connection closed. * Tento příkaz demonstruje neúspěšný pokus o spojení na port 3123 (timeout): student@student-desktop:~$ telnet 192.168.9.2 3123 Trying 192.168.9.2... telnet: Unable to connect to remote host: Connection timed out * Tento příkaz demonstruje pokus o otevření TCP spojení na zavřený port: student@student-desktop:~$ telnet localhost 23 Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused * Webový prohlížeč ==== Další zdroje ==== * [[https://www.petrkrcmar.cz/prednasky/nftables_2017.pdf|LinuxDays: nftables – budoucnost linuxového firewallu prezentace (Petr Krčmář) ]] * [[https://www.youtube.com/watch?v=BLh29Gz9Sac|LinuxDays: nftables – budoucnost linuxového firewallu video (Petr Krčmář) ]] * [[https://www.youtube.com/watch?v=0kWvpXoEWTo&list=PLub6xBWO8gV_t_p-5-J_qU20fkkDtsLjB&index=18|InstallFest: Firewall pfSense (Lukáš Malý) ]]