Hello all,
Se da o SINGURA masina pe care ruleaza diferite servicii, printre care si un
server de ftp, configurat sa accepte conexiuni pasive si active. Pina aici
nimic neobisnuit. De asemenea, firewall-ul configurat ok si foarte
restrictiv.
Cum fac acum sa permit totusi si initierea anumitor conexiuni de pe aceasta
masina catre alte servere de ftp, astfel incit masina sa ramina secure? Ma
refer la firewall si la securitate in general, nu la simpla adaugare a unei
reguli in firewall.
Problema care o ridic se refera la partea de client ftp.
De ex. sa pp. ca am anumite aplicatii care sunt programate sa se updateze
automat de pe unele servere de ftp, sau pur si simplu, initiez eu o conexiune
ftp de pe aceasta masina catre un server de ftp remote. Ca sa fiu mai clar:
- in firewall varianta: accepta conexiuni client de tip "ftp active" este
exclusa.
- mai ramine in discutie varianta passive.
O regula de genul:
$IPTABLES -A in_$EXTDEV -p tcp --source-port 1024: -d $IP_EXTDEV
--destination-port $range_port -j ACCEPT
$IPTABLES -A out_$EXTDEV -p tcp ! --syn -s $IP_EXTDEV --source-port
$range_port --destination-port 1024: -j ACCEPT
are anumite neajunsuri.
Daca $range_port este 1025:65536 sunt sigur ca nu voi rata nici un ftp dar
port range-ul este prea mare. Daca micsorez range-ul, nu mai pot conta pe
unele servere de ftp din cauza ca nu exista un standard de configurare al
port_range-ului pentru passive connections.
In momentul de fata, am recurs la o varianta de compromis folosind un proxy
(squid) remote care are urmatoarele avantaje/dezavantaje:
- ca avantaj, nu mai trebuie sa permit conexiuni de oriunde dintr-un port
random peste 1024 in porturile locale peste 1024 (In firewall permit numai
conexiunea cu squid-ul remote)
- ca dezavantaj, update-urile automate care foloseau servere de ftp nu mai
merg (nu toate stiu/pot fi configurate manual sa treaca printr-un proxy). In
acest caz, am trecut pe varianta "update manual", si am configurat wget-ul si
mozilla sa foloseasca acest proxy. Un alt dezavantaj este incetinirea vitezei
de dwl, din cauza proxy-ului cu care nu am o legatura prea buna.
As dori sa fac cumva, sa scap de proxy-ul remote.... si sa fac pentru masina
locala, un soi de proxy transparent. Nu sunt sigur insa ca va functiona. Spun
asta pentru ca eu nu am nici un lan in spatele acestei masini asa ca o regula
de genul:
#$IPTABLES -A PREROUTING -t nat -i $EXTDEV -p tcp -s $IP_EXTDEV --dport 21 -j
REDIRECT --to-ports 3128
insotita de inca una pe FORWARD, (asa cum am vazut prin diferite howto-uri) nu
se aplica in cazul acesta. Eu am nevoie ca in loc de FORWARD, sa apara ceva
numai pe INPUT si OUTPUT.
Pe mine practic ma intereseaza ca toate conexiunile initiate de pe masina in
cauza avind ca --dport 21 sa le trec (automat) mai inainte printr-un proxy
local care sa discute el direct, cu serverele de ftp, si sa intoarca
raspunsul.
Cum as putea face acest lucru?
Regards,
Alex
---
Detalii despre listele noastre de mail: http://www.lug.ro/