[snip]
>Salut
>Am un server de aplicatii care este si squid. Firewall-ul accepta conexiuni
>doar de la ip masinii cu squid, dar implicit si conexiunile directe ale
>browserelor rulate la distanta.
>Intrebarea mea este cum pot permite (prin iptables) doar conexiunile care vin
>de la squid sau eventual daca se pot marca pachetele care trec prin squid
>pentru filtrarea pe firewall. Un mic exemplu ar fi util.
Intelegand din mailul tau ca serverul de fw != serverul de squid si
te temi ca cineva de pe serverul de aplicatii pe care ruleaza squid sa nu
iasa pe web direct.
Ai solutia:
1. Faci drop pe mashina cu squid, pe OUTPUT -o eth_spre_fw la tot ce
pleaca spre 80 mai putin id-ul userului squid :) asta ar veni cam asa
ceva:
ROOT=0
SQUID=`id squid|cut -d\( -f1|cut -d= -f 2`
IPADDR= adresa ta de ip
EXTERNAL_INTERFACE= interfata spre firewall
UNPRIVPORTS=UNPRIVPORTS="1024:"
iptables -A INPUT -i $EXTERNAL_INTERFACE -p tcp ! --syn \
--source-port 80 \
-d $IPADDR --destination-port $UNPRIVPORTS -j ACCEPT
iptables -A OUTPUT -o $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR --source-port $UNPRIVPORTS \
--destination-port 80 -j ACCEPT \
--match owner --uid-owner $ROOT
iptables -A OUTPUT -o $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR --source-port $UNPRIVPORTS \
--destination-port 80 -j ACCEPT \
--match owner --uid-owner $SQUID
Dupa care faci un drop frumos pe OUTPUT --destination-port 80
La fel poti face si pentru 443 :) adica https.
PS: Nu poti face proxy transparent in functie de uid.
ipt_owner: only valid for LOCAL_OUT or POST_ROUTING.
Adica in PRE_ROUTING muci.
--
Numai bine,
Ionut.
Ionut Murgoci
Network & System Engineer
Romania Data Systems - Iasi Branch
Tel: +4 0232 218385 Fax: +4 0232 260099
--
Pentru dezabonare, trimiteti mail la
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/