[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/


Raspunde prin e-mail lui