Forum » Operacijski sistemi » iptables problem
iptables problem
poweroff ::
Torej, rad bi naredil požarni zid, ki bo spustil notri samo web promet in ssh iz določenega IP naslova, pri čemer pa bo tukaj preverjal še ali se iz tega naslova skuša izvajati brutforce na SSH.
Zadevo sem zastavil takole:
#!/bin/sh
# IP streznika
SERVER_IP="xxx.xxx.xxx.xxx"
# Flushing all rules
/sbin/iptables -F
/sbin/iptables -X
# Setting default filter policy
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
# Allow unlimited traffic on loopback
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
# Allow incoming http
/sbin/iptables -A INPUT -p tcp -s 0/0 -d $SERVER_IP --sport 513:65535 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $SERVER_IP -d 0/0 --sport 80 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT
# Allow incoming SSH from certain IPs
/sbin/iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -d $SERVER_IP --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $SERVER_IP -d xxx.xxx.xxx.xxx --sport 22 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT
# Rrate-limit all incoming SSH connections to 8 in a one minute window
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
Problem je, da zadeva ne deluje - zaklenem se ven. No, za vsak slučaj sem v cronjob dodal tudi tole (crond je laufal):
*/1 * * * * /sbin/iptables
In kaj se je zgodilo? Valjda sem se zaklenil ven, plus cron mi ni odklenil mašine. JE bilo treba klicat hosting providerja za reset...
OS je pa CentOS.
Any idea?
Zadevo sem zastavil takole:
#!/bin/sh
# IP streznika
SERVER_IP="xxx.xxx.xxx.xxx"
# Flushing all rules
/sbin/iptables -F
/sbin/iptables -X
# Setting default filter policy
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
# Allow unlimited traffic on loopback
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
# Allow incoming http
/sbin/iptables -A INPUT -p tcp -s 0/0 -d $SERVER_IP --sport 513:65535 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $SERVER_IP -d 0/0 --sport 80 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT
# Allow incoming SSH from certain IPs
/sbin/iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -d $SERVER_IP --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $SERVER_IP -d xxx.xxx.xxx.xxx --sport 22 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT
# Rrate-limit all incoming SSH connections to 8 in a one minute window
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
/sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
Problem je, da zadeva ne deluje - zaklenem se ven. No, za vsak slučaj sem v cronjob dodal tudi tole (crond je laufal):
*/1 * * * * /sbin/iptables
In kaj se je zgodilo? Valjda sem se zaklenil ven, plus cron mi ni odklenil mašine. JE bilo treba klicat hosting providerja za reset...
OS je pa CentOS.
Any idea?
sudo poweroff
misek ::
Sem nekoč bral en članek o takšnih zadevah. Ena izmed pomembnih točk je bila: ne piši pravila, če ne poznaš podrobnosti iptable delovanja. Boljše je uporabiti vnaprej pripravljene skripte. Recimo Arno's iptables firewall že ima SSH Brute Force Protection plugin.
Bakunin ::
Problem je, da zadeva ne deluje - zaklenem se ven. No, za vsak slučaj sem v cronjob dodal tudi tole (crond je laufal):
*/1 * * * * /sbin/iptables
...
Any idea?
ce imas "default policy" na DROP, potem bos moral tudi ti spremeniti preko cronjoba
recimo:
resetiptables.sh
# Flushing all rules
/sbin/iptables -F
/sbin/iptables -X
# Setting default filter policy
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
pa mislim, da imas cronjob narobe napisan [ man 5 crontab].
jaz sicer za tak primer uporabim v sosednjem oknu (screen?): sleep 30 && resetiptables.sh
kar se pa iptables "rules" tice
# Allow incoming SSH from certain IPs
...
# Rrate-limit all incoming SSH connections to 8 in a one minute window
..
jaz bi na tvojem mestu naredil nov "queue" in delal z njim.
(lahko ti posljem primer na ZS)
Zgodovina sprememb…
- spremenil: Bakunin ()
c3p0 ::
*/1 * * * * /sbin/iptables
*/1 ti je isto kot *
S tem da ti ta ukaz tu ne naredi nič.
Drugače pa priporočam brezplačni firewall CSF, vključuje tudi monitoring daemon, ki blokira IPje glede na razne bf poskuse. Tudi npr. večkrat napačno vpisano geslo preko brskalnika, pop3. Super za strežnike, kjer je dosti uporabnikov in ne moreš kar vsega zaklenit le na par IPjev.
Da ni treba klicat providerja, je pa dobro imet kak strežnik z IPMI modulom. :)
*/1 ti je isto kot *
S tem da ti ta ukaz tu ne naredi nič.
Drugače pa priporočam brezplačni firewall CSF, vključuje tudi monitoring daemon, ki blokira IPje glede na razne bf poskuse. Tudi npr. večkrat napačno vpisano geslo preko brskalnika, pop3. Super za strežnike, kjer je dosti uporabnikov in ne moreš kar vsega zaklenit le na par IPjev.
Da ni treba klicat providerja, je pa dobro imet kak strežnik z IPMI modulom. :)
poweroff ::
OK, kaj pa tole:
*/2 * * * * /home/matthai/resetiptables.sh
Po moji logiki bi se to moralo zagnati vsake 2 minute.. pa se ne.
*/2 * * * * /home/matthai/resetiptables.sh
Po moji logiki bi se to moralo zagnati vsake 2 minute.. pa se ne.
sudo poweroff
poweroff ::
Na roke jo zaženem in deluje (ker ima notri en echo).
Pač sh resetiptables.sh
Notri pa je echo "RESET" >> /home/matthai/obvestilo.txt
Pač sh resetiptables.sh
Notri pa je echo "RESET" >> /home/matthai/obvestilo.txt
sudo poweroff
misek ::
Tudi v cron daj sh /home/matthai/resetiptables.sh. Šeboljše pa je da daš v prvo vrstico skripte #!/bin/sh
Bakunin ::
focus!
problem je v iptables in ne v crontab.
odpres si se en ssh na streznik in tam pozenes 'sleep 15 && /home/matthai/resetiptables.sh'
in ce v prvotni ssh seji pozenes firewall in zaj****, bos imel spet dostop v 15 sekundah.
K.I.S.S.
problem je v iptables in ne v crontab.
odpres si se en ssh na streznik in tam pozenes 'sleep 15 && /home/matthai/resetiptables.sh'
in ce v prvotni ssh seji pozenes firewall in zaj****, bos imel spet dostop v 15 sekundah.
K.I.S.S.
overlord_tm ::
Glede crona, ga poganjas kot root, ali kot kak drug user? Mozno da nima pravic po iptables sarit.
poweroff ::
Cron problem sem rešil takole:
*/2 * * * * /bin/bash /home/matthai/resetiptables.sh
Iptables pa grem zdajle pogledat kje je problem.
*/2 * * * * /bin/bash /home/matthai/resetiptables.sh
Iptables pa grem zdajle pogledat kje je problem.
sudo poweroff
poweroff ::
# Rrate-limit all incoming SSH connections to 8 in a one minute window
sem vrgel ven - problem ostaja. Ampak imam vsaj dostop nazaj v 2 minutah.
sem vrgel ven - problem ostaja. Ampak imam vsaj dostop nazaj v 2 minutah.
sudo poweroff
poweroff ::
Nope, crkne vse. Sem pa vrgel tisto skripto stran in sam napisal novo:
#!/bin/sh
# Flushing all rules
/sbin/iptables -F
# Setting default filter policy
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
# Allow unlimited traffic on loopback
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Keep existing connections
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow ALL incoming http
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Allow incoming SSH from certain IPs
/sbin/iptables -A INPUT -p tcp -s ******* --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s ******* --dport 22 -j ACCEPT
Tole sedaj dela, a v konzoli javi iptables: Unknown error 4294967295
Tole mi izgleda kot OpenVZ problem... bo treba kontaktirat hosting providerja.
#!/bin/sh
# Flushing all rules
/sbin/iptables -F
# Setting default filter policy
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
# Allow unlimited traffic on loopback
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Keep existing connections
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow ALL incoming http
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Allow incoming SSH from certain IPs
/sbin/iptables -A INPUT -p tcp -s ******* --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s ******* --dport 22 -j ACCEPT
Tole sedaj dela, a v konzoli javi iptables: Unknown error 4294967295
Tole mi izgleda kot OpenVZ problem... bo treba kontaktirat hosting providerja.
sudo poweroff
c3p0 ::
Možno da ti provider ni vklopil ipt_state modula za tvoj VPS. Vsekakor je bolj komot opcija XEN VPS, a je ponavadi dražji.
redo ::
Morda je problem v tvojih OUTPUT vrsticah in stanjem ESTABLISHED?
$ man iptables
NEW meaning that the packet has started a new connection, or other‐
wise associated with a connection which has not seen packets in
both directions, and
ESTABLISHED
meaning that the packet is associated with a connection which
has seen packets in both directions,
poweroff ::
redo, po moje ne, ker če dam to ven, se mi prekinejo obstoječe povezave in se zaklenem ven. Vsaj tako razumem tole.
sudo poweroff
redo ::
Če zakomentiraš OUTPUT vrstice, ali zbrišeš spraševanje po stanjih v le-teh ali dodaš stanje NEW, se še vedno zakleneš?
poweroff ::
Nisem še preiskusil. Bom najprej počakaj na openvz rešitev glede tiste napake. Pa sem grem potem špilat dalje...
sudo poweroff
poweroff ::
Neat. Error:
iptables: Unknown error 4294967295
Mi vrne tale ukaz:
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Še to - hosting provider pravi, da ni problem pri njih.
iptables: Unknown error 4294967295
Mi vrne tale ukaz:
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Še to - hosting provider pravi, da ni problem pri njih.
sudo poweroff
Zgodovina sprememb…
- spremenilo: poweroff ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | ProtFtp Passive mode in iptablesOddelek: Programska oprema | 2230 (2052) | SasoS |
» | iptables problem z SSHOddelek: Omrežja in internet | 1897 (1751) | sverde21 |
» | pomoč pri iptablesOddelek: Omrežja in internet | 2589 (2418) | HellRaiseR |
» | iptables skriptaOddelek: Omrežja in internet | 2109 (1889) | karafeka |
» | iptables + forwardOddelek: Operacijski sistemi | 2319 (1894) | tx-z |