Portál AbcLinuxu, 12. května 2025 21:46

Dotaz: Moje první nastavení iptables

29.4.2011 13:37 Sparrow | skóre: 4 | blog: Sparrow
Moje první nastavení iptables
Přečteno: 764×
Odpovědět | Admin
Ahoj všem,

nastavuji svoje první iptables na server. Poběží tam jen pár webových stránek. Ale vzhledem k tomu že jednu ze stránek má vysokou oblíbenost u Spambotů a podobné havěti, jsem měl problémy s přetížením serveru (viz můj problém nedávno).

Pomocí rady od místního guru Maxe, jsem si přidal do iptables řádek iptables -A INPUT -i eth0 -p tcp --dport 80 -m limit --limit 10/s --limit-burst 20 -j ACCEPT a vše se zatím zdá být v pořádku, ale samozřejmě, je to pouze dočasné. Tak jsem s pomocí Google sesmolil jakési nastavení podle mých potřeb, a rád bych vás požádal o kontrolu jestli tam není nějaká fatální chyba.

Informace jsem čerpal především z tohoto a tohoto návodu.

A mimo jiné mám jeden pro mne dosti důležitý dotaz, vzhledem k tomu že vše budu budu vkládat vzdáleně přes KVM, tak se chci zeptat jak se aktivují příslušné filtry, okamžitě po zadání nebo nějakým příkazem? Nerad bych si po zadání iptables -P INPUT DROP na začátku zablokoval další možnost přístupu :-)

Děkuji všem za případné návrhy a rady.

Dan
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -A INPUT -i $INTERNET -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $INTERNET -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i $INTERNET -p TCP --dport 80 -j ACCEPT	# HTTP
iptables -A INPUT -i $INTERNET -p TCP --dport 443 -j ACCEPT	# HTTPS
iptables -A INPUT -i $INTERNET -p TCP --dport 21 -j ACCEPT	# FTP
iptables -A INPUT -i $INTERNET -p TCP --dport 10798 -j ACCEPT	# VNC
iptables -A INPUT -i $INTERNET -p TCP --dport 10000 -j ACCEPT	# WEBMIN

iptables -A INPUT -i $INTERNET -p TCP --dport 113 -j REJECT

iptables -N blacklist
iptables -A blacklist -m limit --limit 5/h --limit-burst 3 -j LOG --log-prefix "BlackList: "
iptables -A blacklist -j DROP

iptables -A INPUT -i eth0 -p tcp --dport 80 -m ! limit --limit 10/s --limit-burst 20 -j blacklist

iptables -N synflood 
iptables -A synflood -m limit --limit 1/s --limit-burst 5 -j LOG --log-prefix "synflood: "
iptables -A synflood -j DROP

iptables -A INPUT -i $INTERNET -p TCP --syn -j synflood

iptables -t nat -A PREROUTING -p TCP ! --syn -m state --state NEW -j DROP

iptables -A INPUT -i $INTERNET -p TCP --tcp-flags SYN,FIN SYN,FIN -j LOG -m limit --limit 10/m --log-prefix="bogus packet: "
iptables -A INPUT -i $INTERNET -p TCP --tcp-flags SYN,FIN SYN,FIN -j DROP

iptables -A INPUT -m limit --limit 3/hour --limit-burst 5 -j LOG
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.4.2011 14:17 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Moje první nastavení iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pravidlo se aktivuje okamžitě, takže pokud je budete vkládat po síti a začnete pravidlem iptables -P INPUT DROP, zároveň tím i skončíte ;-) Můžete si to ale napsat do nějakého skriptu a ten pak spustit. Při vzdálených úpravách iptables ale bývá dobré mít spouštěnou (třeba přes at) nějakou pojistku, která vrátí firewall do původního stavu (přes iptables-restore) nebo jej vyresetuje do nastavení „vše povoleno“ – pro případ, že se vám něco nepovede a odříznete si přístup ke stroji (člověk by neřekl, jak je to snadné).
29.4.2011 14:44 SPM | skóre: 28
Rozbalit Rozbalit vše Re: Moje první nastavení iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Několik poznámek k tomu:
29.4.2011 15:22 Sparrow | skóre: 4 | blog: Sparrow
Rozbalit Rozbalit vše Re: Moje první nastavení iptables
Aha díky. To jsou řádky překopírované z jednoho příkladu má v ní být eth0. Díky za upzornění.

K tomu PINGu máš pravdu zapomněl jsem. Podle toho příkladu by to mělo být takhle
iptables -A INPUT -i $INTERNET -p ICMP --icmp-type 0 -j ACCEPT #echo-reply
iptables -A INPUT -i $INTERNET -p ICMP --icmp-type 3 -j ACCEPT #time-exceeded
iptables -A INPUT -i $INTERNET -p ICMP --icmp-type 11 -j ACCEPT #destination-unreachable
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 5 -j ACCEPT

SSH zatím nepoužívám. Sice jsem to zkoušel ale zatím bez úspěchu spojení.

jj, na to se taky chystám, ale zatím tam lezu "z každé hospody" přes připojení Oskara (vodafon) takže rozsah IP bude trošku větší :(

Ale když koukám jak v tom plavu, tak asi požádám místního uživatele Schnikowa který je autorem toho nastavení ze kterého čerpám o možnost použití jeho příkladu, jinak se v tom úplně ztratím. :(
29.4.2011 17:29 SPM | skóre: 28
Rozbalit Rozbalit vše Re: Moje první nastavení iptables
Pořád lepší povolit celý rozsah vodafonu než 0/0 včetně číny a jím podobných :D
29.4.2011 15:23 Sparrow | skóre: 4 | blog: Sparrow
Rozbalit Rozbalit vše Re: Moje první nastavení iptables
Ještě k tomu SSH, jsem fakt blb. Teď jsem zjistil že tam nemám nainstalovaný SSH server :( Ach jo
vencour avatar 29.4.2011 16:46 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Moje první nastavení iptables

U čehokoliv běžícího ověříš stav přes netstat (třeba netstat -tanpu | grep 22), měl bys tam vidět, ina jakých ajpinách Ti to žije.

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
29.4.2011 16:20 NN
Rozbalit Rozbalit vše Re: Moje první nastavení iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten synflood a blacklist si dej na zacetek, ne nakonec, jinak se na nej ani nedostane..imho ten posledni INPUT jsem fakt nepochopil.

NN
vencour avatar 29.4.2011 16:47 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Moje první nastavení iptables

Jj, nejdřív to nejvíc specifické a nakonec nejobecnější.

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
29.4.2011 18:43 Sparrow | skóre: 4 | blog: Sparrow
Rozbalit Rozbalit vše Re: Moje první nastavení iptables
Jak jsem už napsal informace čerpám z víceméně z tohoto příkladu a bohužel zatím nejsem schopen posoudit správnost.

K tomu poslednímu INPUT je tam poznámka #Logování odmítnutých paketů - max. 3x5 paketů/hod.

a in ochrana proti DOS je na konci :(

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.