Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
In questo articolo descriveremo una configurazione del firewall di ArgoLinux alla base della sicurezza dall'intrusione e del controllo del traffico verso internet in una intranet scolastica strutturata secondo il modello ISI. In breve
|
| ||||||||
Line: 20 to 20 | ||||||||
---|---|---|---|---|---|---|---|---|
A quanto appena detto si aggiunge la gestione di alcune importanti eccezioni. | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 100 to 100 | ||||||||
_FIREWALL="192.168.1.1" _SERVER="192.168.1.2" | ||||||||
Changed: | ||||||||
< < |
_BIPROC="192.168.1.3" _TEST="192.168.1.4" | |||||||
> > |
_SRV2="192.168.1.3" _SRV3="192.168.1.4" | |||||||
SERVER_DNS="$_FIREWALL" NOPROXY1="$_FIREWALL" NOPROXY2="$_SERVER" | ||||||||
Changed: | ||||||||
< < |
NOPROXY3="$_BIPROC" NOPROXY4="$_TEST" | |||||||
> > |
NOPROXY3="$_SRV2" NOPROXY4="$_SRV3" | |||||||
# accesso diretto a squid per macchine particolari # attenzione non e'la stessa cosa di evitare il filtraggio dell'ip |
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
Le macchine attestate sulle varie sottoreti sono organizzate in due classi: quelle a indirizzo statico, apparati di rete, stampanti e pc amministrativi, quelle a indirizzo dinamico (dhcp). Questa suddivisione consente di implementare molto facilmente acl di Squid o eccezioni di firewalling. | |||||||
Changed: | ||||||||
< < |
Il software coinvolto nell'implementazione dei servizi di sicurezza e' netfilter/iptables per quanto riguarda il filtraggio dei pacchetti e le fondamentali operazione di redirezione del traffico (MASQUERADING, SNAT/DNAT), Squid per quanto riguarda il servizio proxy e DansGuardian per quanto riguarda il filtraggio dei contenuti della navigazione. La configurazione di Squid e DansGuardian (DG)e' descritta altrove. Qui ci occuperemo di come configurare netfilter/iptables affinchè si abbiano le funzionalità seguenti. | |||||||
> > |
Il software coinvolto nell'implementazione dei servizi di sicurezza e' netfilter/iptables per quanto riguarda il filtraggio dei pacchetti e le fondamentali operazione di redirezione del traffico (MASQUERADING, SNAT/DNAT), Squid per quanto riguarda il servizio proxy e DansGuardian per quanto riguarda il filtraggio dei contenuti della navigazione. La configurazione di Squid e DansGuardian è descritta altrove. Qui ci occuperemo di come configurare netfilter/iptables affinchè si abbiano le funzionalità seguenti. | |||||||
La macchina firewall (FW) | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
Naturalmente il modo in cui avviene lŽautenticazione dellŽutente e il controllo della navigazione dipende dalle configurazione di Squid e DG che aggiungono due ulteriori strati di controllo. | |||||||
> > |
Naturalmente il modo in cui avviene l'autenticazione dell'utente e il controllo della navigazione dipende dalle configurazione di Squid e DG che aggiungono due ulteriori strati di controllo. | |||||||
In ArgoLinux la configurazione del firewall è tutta contenuta nei due file /etc/argo/fw.conf e /etc/argo/fw.add . Eccone il contenuto necessario per realizzare lo scenario sopra descritto. | ||||||||
Line: 71 to 71 | ||||||||
---|---|---|---|---|---|---|---|---|
### ------fine---------- | ||||||||
Changed: | ||||||||
< < |
Quanto contenuto in fw.conf consente la protezione delle sottoreti e la condivisione dellŽaccesso internet. Il resto delle regole di firewalling è contenuto nel file /etc/argo/fw.add. Eccone il contenuto (si noti lŽorganizzazione della configurazione: la definizione di tutte le variabili necessarie, lŽimplementazione delle regole. In questo modo risulta semplice estendere le funzionalità desiderate): | |||||||
> > |
Quanto contenuto in fw.conf consente la protezione delle sottoreti e la condivisione dellŽaccesso internet. Il resto delle regole di firewalling è contenuto nel file /etc/argo/fw.add. Eccone il contenuto (si noti l'organizzazione della configurazione: la definizione di tutte le variabili necessarie, l'implementazione delle regole. In questo modo risulta semplice estendere le funzionalità desiderate): | |||||||
/etc/argo/fw.add |
| ||||||||
Line: 37 to 37 | ||||||||
---|---|---|---|---|---|---|---|---|
INT="vlan1 vlan2 vlan3 vlan4 vlan5" EXT="ext0" | ||||||||
Changed: | ||||||||
< < |
LAN="x.x.x.0/24 y.y.y.0/24 z.z.z.0/24 w.w.w.0/24 u.u.u.0/24" | |||||||
> > |
LAN="192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 192.168.4.0/24 192.168.5.0/24" | |||||||
TCP_DPORTS="22 80 20 21 24 5000" UDP_DPORTS="" | ||||||||
Line: 53 to 53 | ||||||||
# masquerading IP_MODE=static # ip dell'interfaccia connessa al router adsl | ||||||||
Changed: | ||||||||
< < |
IP_EXT= x.x.x.x | |||||||
> > |
IP_EXT= 192.168.200.2 | |||||||
# DMZ_ARP= # EXT_ARP= | ||||||||
Line: 99 to 99 | ||||||||
#### server e bypass proxy LH="127.0.0.1" | ||||||||
Changed: | ||||||||
< < |
_FIREWALL="x.x.x.x" _SERVER="x.x.x.x" _BIPROC="x.x.x.x" _TEST="x.x.x.x" | |||||||
> > |
_FIREWALL="192.168.1.1" _SERVER="192.168.1.2" _BIPROC="192.168.1.3" _TEST="192.168.1.4" | |||||||
SERVER_DNS="$_FIREWALL" | ||||||||
Line: 120 to 120 | ||||||||
# ip di pc amministrativi/ ADMIN01="x.x.x.x" | ||||||||
Changed: | ||||||||
< < |
# ip interfacce esterne (2adsl) EXT0="x.x.x.x" | |||||||
> > |
# ip interfaccia esterna EXT0="192.168.200.2" | |||||||
# ip interfacce interne (vlans) | ||||||||
Changed: | ||||||||
< < |
_VLAN1="x.x.x.0/24" _VLAN2="y.y.y.0/24" _VLAN3="z.z.z.0/24" _VLAN4="w.w.w.0/24" _VLAN5="u.u.u.0/24" | |||||||
> > |
_VLAN1="192.168.1.0/24" _VLAN2="192.168.2.0/24" _VLAN3="192.168.3.0/24" _VLAN4="192.168.4.0/24" _VLAN5="192.168.5.0/24" | |||||||
# lista delle vlan che possono comunicare tra loro OK_LANS="vlan1 vlan2 vlan3 vlan4" |
| ||||||||
Line: 7 to 7 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < |
Il software coinvolto nell'implementazione dei servizi di sicurezza e' netfilter/iptables per quanto riguarda il filtraggio dei pacchetti e le fondamentali operazione di redirezione del traffico (MASQUERADING, SNAT/DNAT), Squid per quanto riguarda il servizio proxy e Dans Guardian per quanto riguarda il filtraggio dei contenuti della navigazione. La configurazione di Squid e Dans Guardian e' descritta altrove. Qui ci occuperemo di come configurare netfilter/iptables affinchè si abbiano le funzionalità seguenti. | |||||||
> > |
Il software coinvolto nell'implementazione dei servizi di sicurezza e' netfilter/iptables per quanto riguarda il filtraggio dei pacchetti e le fondamentali operazione di redirezione del traffico (MASQUERADING, SNAT/DNAT), Squid per quanto riguarda il servizio proxy e DansGuardian per quanto riguarda il filtraggio dei contenuti della navigazione. La configurazione di Squid e DansGuardian (DG)e' descritta altrove. Qui ci occuperemo di come configurare netfilter/iptables affinchè si abbiano le funzionalità seguenti. | |||||||
La macchina firewall (FW)
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
Naturalmente il modo in cui avviene lŽautenticazione dellŽutente e il controllo della navigazione dipende dalle configurazione di Squid e Dans Guardian che aggiungono due ulteriori strati di controllo. | |||||||
> > |
Naturalmente il modo in cui avviene lŽautenticazione dellŽutente e il controllo della navigazione dipende dalle configurazione di Squid e DG che aggiungono due ulteriori strati di controllo. | |||||||
In ArgoLinux la configurazione del firewall è tutta contenuta nei due file /etc/argo/fw.conf e /etc/argo/fw.add . Eccone il contenuto necessario per realizzare lo scenario sopra descritto. | ||||||||
Changed: | ||||||||
< < |
/etc/argo/fw.add
### DEFINIZIONE DELLE VARIABILI LOG="1" #viene attivato il logging INT="vlan1 vlan2 vlan3 vlan4 vlan5" #interfacce interne definite in /etc/network/interfaces EXT="ext0" #interfaccia verso il router ADSL # ip di tyutte le VLANs LAN="x.x.x.0/24 y.y.y.0/24 z.z.z.0/24 w.w.w.0/24 u.u.u.0/24" TCP_DPORTS="22 80 20 21 24 5000" # porte con servizi in ascolto UDP_DPORTS="" # Input chains w/ 'tnl' in the name (expr match $name tnl -eq 3) will not # be considered by 'firewall' script INPUT_CHAINS="int ext log" FWD_CHAINS="fwd flog" | |||||||
> > |
/etc/argo/fw.conf | |||||||
Changed: | ||||||||
< < |
FORWARD="1" IP_MODE=static # masquerading IP_EXT=x.x.x.x # ip della scheda connessa col router ADSL | |||||||
> > |
### ------VARIABILI--------------- # abilitazione log dei pacchetti scartati LOG="1" INT="vlan1 vlan2 vlan3 vlan4 vlan5" EXT="ext0" LAN="x.x.x.0/24 y.y.y.0/24 z.z.z.0/24 w.w.w.0/24 u.u.u.0/24" TCP_DPORTS="22 80 20 21 24 5000" UDP_DPORTS="" # Input chains w/ 'tnl' in the name (expr match $name tnl -eq 3) will not # be considered by 'firewall' script INPUT_CHAINS="int ext log" FWD_CHAINS="fwd flog" FORWARD="1" # masquerading IP_MODE=static # ip dell'interfaccia connessa al router adsl IP_EXT= x.x.x.x # DMZ_ARP= # EXT_ARP= # scommentare la riga seguente per il proxy trasparente # attenzione: il proxy trasparente è incompatibile con # l'autenticazione via proxy e quindi non viene utilizzato # PROXY_REDIR_PORT=3128 ICMP_TYPES=" 0 , 3 , 8 , 11 " # 0 = echo reply # 3 = dest unreachable # 8 = echo request # 11 = time exceeded for datagram ### ------fine---------- | |||||||
Deleted: | ||||||||
< < |
# uncomment this for transparent proxy # il proxy trasparente è incompatibile con # PROXY_REDIR_PORT=3128 # lŽautenticazione dellŽutente, quindi non # viene utilizzata | |||||||
Quanto contenuto in fw.conf consente la protezione delle sottoreti e la condivisione dellŽaccesso internet. Il resto delle regole di firewalling è contenuto nel file /etc/argo/fw.add. Eccone il contenuto (si noti lŽorganizzazione della configurazione: la definizione di tutte le variabili necessarie, lŽimplementazione delle regole. In questo modo risulta semplice estendere le funzionalità desiderate): /etc/argo/fw.add | ||||||||
Changed: | ||||||||
< < |
#### ---------VARIABILI--------- # protocolli PROTO="tcp udp" # porte PORTS="20 21 25 80 110" P_HTTP="80" P_HTTP_APT="80 8080" P_SSH="22" P_SSH_EXTRA="24" P_DNS="53" P_SARG=" 81" P_CUPS="631" P_SWAT="901" # porte squid e dansguardian P_SQUID = "3128" P_DG = "8128" P_PROXY = "3128 8128" #### server e bypass proxy LH="127.0.0.1" _FIREWALL = "x.x.x.x" # ip di FW sulla vlan1 _SERVER1 = "x.x.x.x" # ip del server principale (ldap/samba con funzioni di PDC) _SERVER2 = "x.x.x.x" # ip di un server secondario _SERVER3 = "x.x.x.x" SERVER_DNS="$_FIREWALL" # si dichiara quale macchina ospita il server dns NOPROXY1="$_FIREWALL" # lista delle macchine che bypasseranno (per se stesse) i NOPROXY2="$_SERVER1" # servizi proxy NOPROXY3="$_SERVER2" NOPROXY4="$_SERVER3" # BYPASS DANS GUARDIAN # accesso diretto a squid per macchine particolari # attenzione non e'la stessa cosa di evitare il # filtraggio dell'ip da parte di DansGuardian NODG01 ="x.x.x.x" # PC _amministrativi_ a cui viene consentito l'accesso alla vlan5 (segreteria) ADMIN01="x.x.x.x" # potrebbe essere l'ip statico del pc del Dirigente Scolastico # ip interfaccia esterna (quella connessa al router ADSL) EXT0="x.x.x.x" # ip interfacce interne (vlans) _VLAN1="x.x.x.0/24" _VLAN2="y.y.y.0/24" _VLAN3="z.z.z.0/24" _VLAN4="w.w.w.0/24" _VLAN5="u.u.u.0/24" # lista delle vlan che possono comunicare tra loro OK_LANS="vlan1 vlan2 vlan3 vlan4" # target ridirezione porte SRV_SSH="$_SERVER:22" # ssh sulla porta 24 rediretto su $_SERVER FW_HTTP="$_FIREWALL:80" # http sulla porta 81 rediretto su $_FIREWALL ####----------REGOLE------------------ # 1 Blocco uscita diretta internet (navigazione solo via proxy) iptb -I fwd 1 -o $EXT -p tcp --dport $P_HTTP -j bad # 2 Passaggio libero attraverso la porta 80 per il traffico proveniente dai # server - necessario per semplificare le operazioni apt iptb -I fwd 1 -s $NOPROXY1 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY2 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY3 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY4 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT # 3 nessuna redirezione trasparente su DansGuardian per la segreteria e per # pc speciali iptb -t nat -A PREROUTING -s $_VLAN5 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_SQUID iptb -t nat -A PREROUTING -s $NODG01 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_SQUID # 4 redirezione trasparente su DansGuardian di tutto il resto del traffico iptb -t nat -A PREROUTING -s !$NOPROXY1 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY2 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY3 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY4 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG # 5 Configurazione per ridirigere su firewall richiesta SARG iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $P_SARG -j DNAT --to $FW_HTTP #iptb -A fwd -d $_SERVER -p tcp --dport $PORTS -j ACCEPT # 6 Configurazione per ridirigere pop3,smtp e http iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $PORTS -j DNAT --to $_SERVER iptb -A fwd -d $_SERVER -p tcp --dport $PORTS -j ACCEPT # 7 Configurazione per redirigere bind iptb -t nat -A PREROUTING -s ! $SERVER_DNS -p $PROTO --dport $P_DNS -j DNAT --to $SERVER_DNS iptb -A fwd -p $PROTO --dport $P_DNS -j ACCEPT # 8 Configurazione per ssh diretto su $_SERVER via porta 24 del firewall iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $P_SSH_EXTRA -j DNAT --to $SRV_SSH iptb -A fwd -d $_SERVER -p tcp --dport $P_SSH -j ACCEPT # 9 Configurazione per accesso a PDC di tutti i client windows sulla intranet iptb -A fwd -d $_SERVER -j ACCEPT # 10 Configurazione per traffico tra vlan iptb -A fwd -i $OK_LANS -o $OK_LANS -j ACCEPT # 11 autorizzazione traffico macchine qualificate-segreteria iptb -A fwd -s $ADMIN01 -o vlan5 -j ACCEPT | |||||||
> > |
#### ---------VARIABILI--------- # protocolli PROTO="tcp udp" # porte PORTS="20 21 25 80 110" P_HTTP="80" P_HTTP_APT="80 8080" P_SSH="22" P_SSH_EXTRA="24" P_DNS="53" P_SARG=" 81" P_CUPS="631" P_SWAT="901" # porte squid e dansguardian P_SQUID="3128" P_DG="8128" P_PROXY="3128 8128" #### server e bypass proxy LH="127.0.0.1" _FIREWALL="x.x.x.x" _SERVER="x.x.x.x" _BIPROC="x.x.x.x" _TEST="x.x.x.x" SERVER_DNS="$_FIREWALL" NOPROXY1="$_FIREWALL" NOPROXY2="$_SERVER" NOPROXY3="$_BIPROC" NOPROXY4="$_TEST" # accesso diretto a squid per macchine particolari # attenzione non e'la stessa cosa di evitare il filtraggio dell'ip # pc a cui è permesso l'accesso alla vlan della segreteria NODG01="x.x.x.x" # ip di pc amministrativi/ ADMIN01="x.x.x.x" # ip interfacce esterne (2adsl) EXT0="x.x.x.x" # ip interfacce interne (vlans) _VLAN1="x.x.x.0/24" _VLAN2="y.y.y.0/24" _VLAN3="z.z.z.0/24" _VLAN4="w.w.w.0/24" _VLAN5="u.u.u.0/24" # lista delle vlan che possono comunicare tra loro OK_LANS="vlan1 vlan2 vlan3 vlan4" #### target ridirezione porte SRV_SSH="$_SERVER:22" FW_HTTP="$_FIREWALL:80" ####----------REGOLE------------------ # nat spostato qui da fw.conf per attivazione 2adsl #iptb -A fwd -o $EXT0 -j ACCEPT #iptb -t nat -A POSTROUTING -o ext0 -j SNAT --to $EXT0 #iptb -t nat -A POSTROUTING -o ext1 -j SNAT --to $EXT1 # 1 Blocco uscita diretta internet (navigazione solo via proxy) iptb -I fwd 1 -o $EXT -p tcp --dport $P_HTTP -j bad # 2 Passaggio libero attraverso la porta 80 per il traffico proveniente dai # server - necessario per semplificare le operazioni apt iptb -I fwd 1 -s $NOPROXY1 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY2 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY3 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY4 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT # 3 nessuna redirezione trasparente su DansGuardian per la segreteria e per # pc speciali iptb -t nat -A PREROUTING -s $_VLAN5 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_SQUID iptb -t nat -A PREROUTING -s $NODG01 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_SQUID # 4 redirezione trasparente su DansGuardian di tutto il resto del traffico iptb -t nat -A PREROUTING -s !$NOPROXY1 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY2 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY3 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY4 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG # 5 Configurazione per ridirigere su firewall richiesta SARG iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $P_SARG -j DNAT --to $FW_HTTP #iptb -A fwd -d $_SERVER -p tcp --dport $PORTS -j ACCEPT # 6 Configurazione per ridirigere pop3,smtp e http (adsl1) iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $PORTS -j DNAT --to $_SERVER iptb -A fwd -d $_SERVER -p tcp --dport $PORTS -j ACCEPT # 7 Configurazione per redirigere bind iptb -t nat -A PREROUTING -s ! $SERVER_DNS -p $PROTO --dport $P_DNS -j DNAT --to $SERVER_DNS iptb -A fwd -p $PROTO --dport $P_DNS -j ACCEPT # 8 Configurazione per ssh diretto su srv-nec iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $P_SSH_EXTRA -j DNAT --to $SRV_SSH iptb -A fwd -d $_SERVER -p tcp --dport $P_SSH -j ACCEPT # 9 Configurazione per accesso a PDC iptb -A fwd -d $_SERVER -j ACCEPT # 10 Configurazione per traffico tra vlan iptb -A fwd -i $OK_LANS -o $OK_LANS -j ACCEPT # 11 autorizzazione traffico macchine qualificate-segreteria iptb -A fwd -s $ADMIN01 -o vlan5 -j ACCEPT #--------------------fine-------------------------------- |
| ||||||||
Line: 14 to 14 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
| ||||||||
Changed: | ||||||||
< < |
In questo articolo descriveremo una configurazione del firewall di di ArgoLinux? che realizza il seguente scenario complessivo relativo alla sicurezza dall'intrusione e al controllo del traffico verso internet. Il software coinvolto nell'implementazione del servizio e' netfilter/iptables per quanto riguarda il filtraggio dei pacchetti e le fondamentali operazione di redirezione del traffico (MASQUERADING, SNAT/DNAT), squid per quanto riguarda il servizio proxy e Dans Guardian per quanto riguarda il filtraggio dei contenuti della navigazione. La configurazione di Squid e Dans Guardian e' descritta altrove. Qui ci occuperemo di come configurare netfilter/iptables affinchè si abbia il risultato sotto descritto. | |||||||
> > |
In questo articolo descriveremo una configurazione del firewall di ArgoLinux alla base della sicurezza dall'intrusione e del controllo del traffico verso internet in una intranet scolastica strutturata secondo il modello ISI. In breve
| |||||||
La macchina firewall (FW) | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 18 to 24 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < |
Naturalmente i modi in cui avviene lŽautenticazione dellŽutente e il controllo della navigazione dipende dalle configurazioni di Squid e Dans Guardian che quindi aggiungono due ulteriori strati di controllo. | |||||||
> > |
Naturalmente il modo in cui avviene lŽautenticazione dellŽutente e il controllo della navigazione dipende dalle configurazione di Squid e Dans Guardian che aggiungono due ulteriori strati di controllo. | |||||||
In ArgoLinux la configurazione del firewall è tutta contenuta nei due file /etc/argo/fw.conf e /etc/argo/fw.add . Eccone il contenuto necessario per realizzare lo scenario sopra descritto. /etc/argo/fw.add | ||||||||
Changed: | ||||||||
< < |
||||||||
> > |
| |||||||
### DEFINIZIONE DELLE VARIABILI LOG="1" #viene attivato il logging | ||||||||
Line: 45 to 51 | ||||||||
FORWARD="1" | ||||||||
Changed: | ||||||||
< < |
IP_MODE=static | |||||||
> > |
IP_MODE=static # masquerading | |||||||
IP_EXT=x.x.x.x # ip della scheda connessa col router ADSL | ||||||||
Changed: | ||||||||
< < |
# uncomment this for transparent proxy # PROXY_REDIR_PORT=3128 | |||||||
> > |
# uncomment this for transparent proxy # il proxy trasparente è incompatibile con
# PROXY_REDIR_PORT=3128 # lŽautenticazione dellŽutente, quindi non
# viene utilizzata
#### ---------VARIABILI--------- # protocolli PROTO="tcp udp" # porte PORTS="20 21 25 80 110" P_HTTP="80" P_HTTP_APT="80 8080" P_SSH="22" P_SSH_EXTRA="24" P_DNS="53" P_SARG=" 81" P_CUPS="631" P_SWAT="901" # porte squid e dansguardian P_SQUID = "3128" P_DG = "8128" P_PROXY = "3128 8128" #### server e bypass proxy LH="127.0.0.1" _FIREWALL = "x.x.x.x" # ip di FW sulla vlan1 _SERVER1 = "x.x.x.x" # ip del server principale (ldap/samba con funzioni di PDC) _SERVER2 = "x.x.x.x" # ip di un server secondario _SERVER3 = "x.x.x.x" SERVER_DNS="$_FIREWALL" # si dichiara quale macchina ospita il server dns NOPROXY1="$_FIREWALL" # lista delle macchine che bypasseranno (per se stesse) i NOPROXY2="$_SERVER1" # servizi proxy NOPROXY3="$_SERVER2" NOPROXY4="$_SERVER3" # BYPASS DANS GUARDIAN # accesso diretto a squid per macchine particolari # attenzione non e'la stessa cosa di evitare il # filtraggio dell'ip da parte di DansGuardian NODG01 ="x.x.x.x" # PC _amministrativi_ a cui viene consentito l'accesso alla vlan5 (segreteria) ADMIN01="x.x.x.x" # potrebbe essere l'ip statico del pc del Dirigente Scolastico # ip interfaccia esterna (quella connessa al router ADSL) EXT0="x.x.x.x" # ip interfacce interne (vlans) _VLAN1="x.x.x.0/24" _VLAN2="y.y.y.0/24" _VLAN3="z.z.z.0/24" _VLAN4="w.w.w.0/24" _VLAN5="u.u.u.0/24" # lista delle vlan che possono comunicare tra loro OK_LANS="vlan1 vlan2 vlan3 vlan4" # target ridirezione porte SRV_SSH="$_SERVER:22" # ssh sulla porta 24 rediretto su $_SERVER FW_HTTP="$_FIREWALL:80" # http sulla porta 81 rediretto su $_FIREWALL ####----------REGOLE------------------ # 1 Blocco uscita diretta internet (navigazione solo via proxy) iptb -I fwd 1 -o $EXT -p tcp --dport $P_HTTP -j bad # 2 Passaggio libero attraverso la porta 80 per il traffico proveniente dai # server - necessario per semplificare le operazioni apt iptb -I fwd 1 -s $NOPROXY1 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY2 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY3 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT iptb -I fwd 1 -s $NOPROXY4 -o $EXT -p tcp --dport $P_HTTP_APT -j ACCEPT # 3 nessuna redirezione trasparente su DansGuardian per la segreteria e per # pc speciali iptb -t nat -A PREROUTING -s $_VLAN5 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_SQUID iptb -t nat -A PREROUTING -s $NODG01 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_SQUID # 4 redirezione trasparente su DansGuardian di tutto il resto del traffico iptb -t nat -A PREROUTING -s !$NOPROXY1 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY2 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY3 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG iptb -t nat -A PREROUTING -s !$NOPROXY4 -p tcp --dport $P_PROXY -j REDIRECT --to-port $P_DG # 5 Configurazione per ridirigere su firewall richiesta SARG iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $P_SARG -j DNAT --to $FW_HTTP #iptb -A fwd -d $_SERVER -p tcp --dport $PORTS -j ACCEPT # 6 Configurazione per ridirigere pop3,smtp e http iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $PORTS -j DNAT --to $_SERVER iptb -A fwd -d $_SERVER -p tcp --dport $PORTS -j ACCEPT # 7 Configurazione per redirigere bind iptb -t nat -A PREROUTING -s ! $SERVER_DNS -p $PROTO --dport $P_DNS -j DNAT --to $SERVER_DNS iptb -A fwd -p $PROTO --dport $P_DNS -j ACCEPT # 8 Configurazione per ssh diretto su $_SERVER via porta 24 del firewall iptb -t nat -A PREROUTING -d $EXT0 -p tcp --dport $P_SSH_EXTRA -j DNAT --to $SRV_SSH iptb -A fwd -d $_SERVER -p tcp --dport $P_SSH -j ACCEPT # 9 Configurazione per accesso a PDC di tutti i client windows sulla intranet iptb -A fwd -d $_SERVER -j ACCEPT # 10 Configurazione per traffico tra vlan iptb -A fwd -i $OK_LANS -o $OK_LANS -j ACCEPT # 11 autorizzazione traffico macchine qualificate-segreteria iptb -A fwd -s $ADMIN01 -o vlan5 -j ACCEPT <nop> | |||||||
Added: | ||||||||
> > |
||||||||
Deleted: | ||||||||
< < |
ecco il contenuto del file /etc/argo/fw.add | |||||||
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
|