Portál AbcLinuxu, 10. května 2025 07:21
Mám domácí server, který slouží i jako router s NATem, DHCP, DNS server... a snažím se na něm nastavit firewall. Seskládal jsem si tato pravidla, ale výsledné chování je jiné, než jsem čekal:
Ze serveru se nedostanu přes eth0 vůbec nikam (nebo spíš myslím, že zahodí všechny příchozí pakety, i když jsou určené pro něj).
Z jiných pc za serverem se ven dostane ICMP a DNS reques, ale protože DNS je tento server, tak pouze na IP adresy (nebo nacachované domény).
Politika má být taková, že ven se pouští všechno, ale příchozí (nová a zatím cílená jen na server) spojení projdou jen na konkrétních portech.
S iptables si moc netykám, takže ocením jakoukoliv radu (i upozornění na něco, co bych měl do firewallu přidat/předělat...)
Díky.
eth0: WAN všechna ostatní: LAN
# NAT je uz napevno nastaveny v iptables.conf # zakazeme vsechno z venku iptables -A INPUT -i eth0 -j REJECT # povoleni navazanych spojeni - pry by melo umoznit i DNS dotazy? iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #---------------------------------------------------------------------------------- # povoleni konkretnich portu #---------------------------------------------------------------------------------- iptables -N POVOLENO iptables -A POVOLENO -p ICMP -j ACCEPT # Dalsi sluzby iptables -A POVOLENO -p tcp --dport 22 -m state --state NEW -j ACCEPT # ssh iptables -A POVOLENO -p udp --dport 88 -m state --state NEW -j ACCEPT # openvpn iptables -A POVOLENO -p tcp --dport 80 -m state --state NEW -j ACCEPT # http iptables -A POVOLENO -p tcp --dport 5060 -m state --state NEW -j ACCEPT # VOIP # pptp iptables -A POVOLENO -p tcp --dport 47 -m state --state NEW -j ACCEPT iptables -A POVOLENO -p tcp --dport 1723 -m state --state NEW -j ACCEPT #---------------------------------------------------------------------------------- iptables -A INPUT -i eth0 -p tcp -j POVOLENO iptables -A FORWARD -i eth0 -p tcp -j POVOLENO
Řešení dotazu:
iptables -P INPUT DROP
Podobne to urobíš aj pre FORWARD, OUTPUT.
Pozri si tento link a nalistuj si kapitolu 5.14.3.2 Manual init.d configuration.
iptables
vyhodnocují v pořadí, v jakém jsou uvedena. První pravidlo, které vyhoví, se uplatní, a tím zpracování končí. Takže když máte jako první v INPUT uvedeno pravidlo
iptables -A INPUT -i eth0 -j REJECTZnemožníte tím veškerou příchozí komunikaci na router, veškerou odchozí TCP/IP komunikaci z routeru (nemohou přijít pakety s odpověďmi) a veškerou NATovanou TCP/IP komunikaci.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.