» »

iptables "whitelist" težavica

iptables "whitelist" težavica

McMallar ::

Imam majhno težavo z iptables "whitelist"-o. Stvar je sledeča: imam statični IP in nekdo se vztrajno trudi, da bi mi bruteforcal FTP. Ker sem imel vsega tega dovolj sem se stvar odločil rešiti z iptables. S pomočjo googla sem spravil skupaj sledeče:

# Generated by iptables-save v1.3.8 on Sat Sep 27 20:33:10 2008
*filter
:INPUT ACCEPT [18077359:8869185113]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [23936507:25467637825]
:ftp-whitelist - [0:0]
[29:1392] -A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -m recent --set --name FTP --rsource
[4:192] -A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -m recent --update --seconds 300 --hitcount 5 --rttl --name FTP --rsource -j DROP
[19:912] -A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -m recent --set --name FTP --rsource
[19:912] -A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -j ftp-whitelist
[1:48] -A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW -m recent --update --seconds 300 --hitcount 5 --rttl --name FTP --rsource -j DROP
[13:624] -A ftp-whitelist -s 192.168.1.123 -m recent --remove --name FTP --rsource -j ACCEPT
COMMIT
# Completed on Sat Sep 27 20:33:10 2008


Sedaj pa bi rad dodal na to whitelisto še kakšen drug IP. Poizkusil sem s sledečim:
iptables -A ftp-whitelist -s [your-ip-address] -m recent --remove --name FTP -j ACCEPT

ampak ne deluje. Kakšna ideja?
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

Bakunin ::

ali pa morda kaj taksnega:

FTP_HOSTS="X.X.X.X \
X.X.192.0/18 \
A.A.A.A/24"

iptables -N ftp-access

iptables -P INPUT DROP

iptables -A INPUT -p tcp -m state --syn --state NEW --dport 21 -j ftp-access


for ftps in $FTP_HOSTS;
do
iptables -A ftp-access -s $ftps -j ACCEPT
done

McMallar ::

Naj še malo pojasnim situacijo. Zgornja pravila naredijo to, da je dovoljenih 5 konekcij v 5 min. V glavnem se dogaja to, da pride nekdo po 1 datoteko. Če pa se zgodi brute-force attack, potem lahko proba samo 5 gesel v 5 min. Mislim, da bo kmalu odnehal. Rad bi, da se to zgodi samo pri FTP, ostali promet pa da ostane odprt. Bakunin, v tvojem primeru pa zapreš ves promet (če prav razumem). Nisem pa nekakšen znalec na tem področju.

Določenim ljudem pa bi rad dovolil neomejen prenos. To je bil namen white-liste. Bi prosil za namig... ;)
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

Zgodovina sprememb…

  • spremenil: McMallar ()

keworkian ::

Zakaj ga preprosto ne dodas v blacklisto?
Obscenities in B-Flat

McMallar ::

Bolj enostavno je, da odprem dostop tistim, katerim zaupam. Pač raje odpiram dostope kot zapiram...
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

Bakunin ::

Bakunin, v tvojem primeru pa zapreš ves promet (če prav razumem).
....To je bil namen white-liste.


Bolj enostavno je, da odprem dostop tistim, katerim zaupam. Pač raje odpiram dostope kot zapiram...


tisto moje JE "whitelist".
Prenos dovolis prenos samo "zaupnikom" ostali pa "bugger off".

tiste, ki jim zaupas [ftp-hosts] pac dodas v listo FTP-HOSTS.
in bo dovolil prenos/dostop samo njim. ostali so blokirani.


Kateri ftpd pa uporabljas ? Nekateri imajo moznost omejitve [dostopov/casovna enota] v samem ftpd.

lahko pa probas tole:

#!/bin/sh

FTP_HOSTS="X.X.X.X \
X.X.192.0/18 \
A.A.A.A/24"

iptables -P INPUT DROP

for ftps in $FTP_HOSTS;
do
iptables -s $ftps -p tcp -m state --syn --state NEW --dport 21 -j ACCEPT
done

iptables -A INPUT -m limit --limit 5/minute -p tcp -m state --syn --state NEW --dport 21 -j ACCEPT

Zgodovina sprememb…

  • spremenil: Bakunin ()

McMallar ::

Bakunin, hvala. V Linux-u se še lovim, tako da sem mogoče res narobe interpretiral tvojo rešitev. Sedaj nisem doma, da bi lahko probal to rešitev. Jo bom preizkusil jutri zvečer in poročam. Hvala za pomoč.

LP
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

McMallar ::

@Bakunin: težava pri tvoji rešitvi je sledeča:
do škatle, na kateri bi jaz to izvedel, imam samo SSH dostop. In ko izvedem tvoj skript, mi konekcija pade in mi enostavno ostane le reboot (testiral na VMWare... ;)
Poleg tega je na škatli še apache. Jaz bi rad omejil samo konekcije na FTP (zaenkrat).

Moja rešitev mi vse to omogoča, težava je samo v tem, da ne znam dodati še enega/več IP naslovov na whitelist. Če ima še kdo kakšno idejo se priporočam.
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

vejnovic ::

Probaj Shoreline Firewall (Shorewall) link.
Zelo močna in preprosta zadeva, ko jo enkrat razumeš.

Zgodovina sprememb…

  • spremenil: vejnovic ()

Bakunin ::

In ko izvedem tvoj skript, mi konekcija pade in mi enostavno ostane le reboot (testiral na VMWare... ;)


PEBKAC

kar sem jaz napisal je samo za FTP dostop.
Domneval sem da imas posebaj stvari za SSH dostop.


to DODAJ v svojo firewall skripto:

SSH_HOSTS="X.X.X.X \
X.X.192.0/18 \
A.A.A.A/24"

FTP_HOSTS="X.X.X.X \
X.X.192.0/18 \
A.A.A.A/24"

iptables -P INPUT DROP

for sshs in $SSH_HOSTS;
do
iptables -s $sshs -p tcp -m state --syn --state NEW --dport 22 -j ACCEPT
done

for ftps in $FTP_HOSTS;
do
iptables -s $ftps -p tcp -m state --syn --state NEW --dport 21 -j ACCEPT
done

iptables -A INPUT -m limit --limit 5/minute -p tcp -m state --syn --state NEW --dport 21 -j ACCEPT


@vejnovic:
ne pomaga noben sw/programski paket, ce uporabnik ne razume osnov pozarnih zidov/iptables.

Zgodovina sprememb…

  • spremenil: Bakunin ()

McMallar ::

@Bakunin: hvala. Bom probal.

Gre se za določeno stvar. Osnove požarnih zidov so mi jasne. Niso pa mi jasne osnove iptables. Se pa učim, kaj češ.
PEBKAC nisem nikoli zanikal ;)

Nisem vedel, da moram tako podrobno opisati konfiguracijo. Dejansko so vsi porti zaprti na routerju in samo določeni spuščeni naprej na strežnik. Specifično so to ftp, http in torrent. SSH ne gre naravnost skozi, ampak se zaključi na routerju. Dejansko je bil moj namen samo omejiti število vzpostavljenih sej na portu 21 (tsm se mi dogajajo težave), vse ostalo ostane odprto, saj je že ščiteno s strani FW. Na strežniku teče precej stvari, ki bi jih verjetno tvoj skript še zaprl (samba, torrent,...).

Vseeno hvala za pomoč, se bom matral dalje.
LP
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

Bakunin ::

klikni na link "firewall skripta" v mojem sporocilu.
skripto si ustrezno spremeni za svoje potrebe.
mislim, da je tudi dovolj jasno spisana.

McMallar ::

Sem videl, hvala. Jo bom preštudiral, ko bo čas.

Najlepša hvala za pomoč.
LP
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

ProtFtp Passive mode in iptables

Oddelek: Programska oprema
252108 (1930) SasoS
»

iptables problem z SSH

Oddelek: Omrežja in internet
121789 (1643) sverde21
»

pomoč pri iptables

Oddelek: Omrežja in internet
102467 (2296) HellRaiseR
»

iptables skripta

Oddelek: Omrežja in internet
72051 (1831) karafeka
»

FXP problemi

Oddelek: Omrežja in internet
91181 (1060) darh

Več podobnih tem