<<O>>  Difference Topic IsiFirewall (r1.8 - 12 Jun 2005 - WebMaster)
Changed:
<
<
META TOPICPARENT WebHome
>
>
META TOPICPARENT DocTecWoody

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

  • una sottorete di staff (tutte le macchine a disposizione dei non-studenti)
 <<O>>  Difference Topic IsiFirewall (r1.7 - 10 Oct 2004 - MassimoMancini)

META TOPICPARENT WebHome
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:
<
<
  1. ai server viene garantito lŽaccesso diretto a internet sulla porta 80 bypassando tutti i servizi proxy, questo facilita tutte le operazione di aggiornamento automatico via apt-get e argoupdater (la procedura sistematica di aggiornamento di Argo)
>
>
  1. ai server (_FIREWALL, _SERVER, _SRV2, _SRV3) viene garantito lŽaccesso diretto a internet sulla porta 80 bypassando tutti i servizi proxy, questo facilita tutte le operazione di aggiornamento automatico via apt-get e argoupdater (la procedura sistematica di aggiornamento di Argo)

  1. ad alcune macchine qualificate viene garantito il bypass di DG
  2. ad alcune macchine qualificate viene consentito lŽaccesso alla vlan5 (segreteria), ad es. si vuole che il dirigente scolastico possa scambiare dati direttamente con gli uffici.
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
 <<O>>  Difference Topic IsiFirewall (r1.6 - 26 Aug 2004 - FabioFrittoli)

META TOPICPARENT WebHome
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

  • una sottorete di staff (tutte le macchine a disposizione dei non-studenti)
  • tante sottoreti quante sono le reti dei laboratori
  • la sottorete delle segreteria
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.
>
>
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:
<
<
  1. protegge 5 sottoreti (vlans 1=staff 2,3,4=laboratori 5=segreteria)
  2. ridirige il traffico in ingresso sulla porta 80 al server web principale e quello sulla porta 81 a un server web secondario
  3. ridirige il traffico ssh in ingresso sulla porta 22 a se stesso e quello sulla porta 24 al servizio ssh in ascolto sul server
  4. consente connessioni VPN attraverso la porta 5000
  5. vieta in generale l'uscita diretta su internet attraverso la porta 80,i browser dovranno essere obbligatoriamente configurati per utilizzare un servizio proxy sulla porta 8128 (DG) o 3128 (Squid) NOTA: DG ascolta di default sulla porta 8080, la ridefinizione è resa necessaria per evitare possibili conflitti con le fonti apt bee.side).
  6. ridirige in generale tutte le richieste internet sulla porta 8128 a cui è attestato DG anche se il browser è configurato per sfruttare il servizio proxy di squid alla porta 3128. In questo modo resta garantito il meccanismo di autenticazione dellŽutente svolto da Squid e il controllo sui contenuti del traffico web.
  7. impedisce/consente il traffico tra le vlan (ad esempio isola la vlan5, segreteria, dal resto della rete per quanto riguarda il traffico in ingresso ma consente lŽaccesso internet alle macchine della segreteria.

a quanto appena detto si aggiunge la gestione di alcune importanti eccezioni.

  1. ai server viene garantito lŽaccesso diretto internet sulla porta 80 bypassando tutti i servizi proxy, questo facilita tutte le operazione di aggiornamento automatico via apt-get e argoupdater (la procedura sistematica di aggiornamento di Argo)
  2. ad alcune macchine qualificate viene garantito il bypass di DG
  3. ad alcune macchine qualificate viene consentito lŽaccesso alla vlan5 (segreteria), ad es. si vuole che il dirigente scolastico possa scambiare dati direttamente con gli uffici.
>
>
  1. protegge tutte le sottoreti (nel caso d'esempio si tratta di 5 vlan: vlans 1=staff 2,3,4=laboratori 5=segreteria)
  2. ridirige il traffico in ingresso sulla porta 80 al server web principale e quello sulla porta 81 a un server web secondario
  3. ridirige il traffico ssh in ingresso sulla porta 22 a se stesso e quello sulla porta 24 al servizio ssh in ascolto sul server
  4. consente connessioni VPN attraverso la porta 5000
  5. vieta in generale l'uscita diretta su internet attraverso la porta 80,i browser dovranno essere obbligatoriamente configurati per utilizzare un servizio proxy sulla porta 8128 (DansGuardian) o 3128 (Squid) NOTA: DG ascolta di default sulla porta 8080, la ridefinizione è resa necessaria per evitare possibili conflitti con le fonti apt bee.side).
  6. ridirige in generale tutte le richieste internet sulla porta 8128 a cui è attestato DG anche se il browser è configurato per sfruttare il servizio proxy di squid alla porta 3128. In questo modo resta garantito il meccanismo di autenticazione dell'utente svolto da Squid e il controllo sui contenuti del traffico web.
  7. impedisce/consente il traffico tra le vlan (ad esempio isola la vlan5, segreteria, dal resto della rete per quanto riguarda il traffico in ingresso ma consente l'accesso a internet alle macchine della segreteria.

A quanto appena detto si aggiunge la gestione di alcune importanti eccezioni.

  1. ai server viene garantito lŽaccesso diretto a internet sulla porta 80 bypassando tutti i servizi proxy, questo facilita tutte le operazione di aggiornamento automatico via apt-get e argoupdater (la procedura sistematica di aggiornamento di Argo)
  2. ad alcune macchine qualificate viene garantito il bypass di DG
  3. ad alcune macchine qualificate viene consentito lŽaccesso alla vlan5 (segreteria), ad es. si vuole che il dirigente scolastico possa scambiare dati direttamente con gli uffici.

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

 <<O>>  Difference Topic IsiFirewall (r1.5 - 01 Jul 2004 - MassimoMancini)

META TOPICPARENT WebHome
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: 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"
 <<O>>  Difference Topic IsiFirewall (r1.4 - 01 Jul 2004 - MassimoMancini)

META TOPICPARENT WebHome
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: 7 to 7

  • la sottorete delle segreteria
  • 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 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)

  1. protegge 5 sottoreti (vlans 1=staff 2,3,4=laboratori 5=segreteria)
  2. ridirige il traffico in ingresso sulla porta 80 al server web principale e quello sulla porta 81 a un server web secondario
  3. ridirige il traffico ssh in ingresso sulla porta 22 a se stesso e quello sulla porta 24 al servizio ssh in ascolto sul server
  4. consente connessioni VPN attraverso la porta 5000
Changed:
<
<
  1. vieta in generale l'uscita diretta su internet attraverso la porta 80,i browser dovranno essere obbligatoriamente configurati per utilizzare un servizio proxy sulla porta 8128 (Dans Guardian) o 3128 (Squid) NOTA: Dans Guardian ascolta di default sulla porta 8080, la ridefinizione è resa necessaria per evitare possibili conflitti con le fonti apt bee.side).
  2. ridirige in generale tutte le richieste internet sulla porta 8128 a cui è attestato Dans Guardian anche se il browser è configurato per sfruttare il servizio proxy di squid alla porta 3128. In questo modo resta garantito il meccanismo di autenticazione dellŽutente svolto da squid e il controllo sui contenuti del traffico web.
>
>
  1. vieta in generale l'uscita diretta su internet attraverso la porta 80,i browser dovranno essere obbligatoriamente configurati per utilizzare un servizio proxy sulla porta 8128 (DG) o 3128 (Squid) NOTA: DG ascolta di default sulla porta 8080, la ridefinizione è resa necessaria per evitare possibili conflitti con le fonti apt bee.side).
  2. ridirige in generale tutte le richieste internet sulla porta 8128 a cui è attestato DG anche se il browser è configurato per sfruttare il servizio proxy di squid alla porta 3128. In questo modo resta garantito il meccanismo di autenticazione dellŽutente svolto da Squid e il controllo sui contenuti del traffico web.

  1. impedisce/consente il traffico tra le vlan (ad esempio isola la vlan5, segreteria, dal resto della rete per quanto riguarda il traffico in ingresso ma consente lŽaccesso internet alle macchine della segreteria.

a quanto appena detto si aggiunge la gestione di alcune importanti eccezioni.

  1. ai server viene garantito lŽaccesso diretto internet sulla porta 80 bypassando tutti i servizi proxy, questo facilita tutte le operazione di aggiornamento automatico via apt-get e argoupdater (la procedura sistematica di aggiornamento di Argo)
Changed:
<
<
  1. ad alcune macchine qualificate viene garantito il bypass di Dans Guardian
>
>
  1. ad alcune macchine qualificate viene garantito il bypass di DG

  1. ad alcune macchine qualificate viene consentito lŽaccesso alla vlan5 (segreteria), ad es. si vuole che il dirigente scolastico possa scambiare dati direttamente con gli uffici.
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--------------------------------
 <<O>>  Difference Topic IsiFirewall (r1.3 - 30 Jun 2004 - MassimoMancini)

META TOPICPARENT WebHome
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: 14 to 14

  1. ridirige il traffico in ingresso sulla porta 80 al server web principale e quello sulla porta 81 a un server web secondario
  2. ridirige il traffico ssh in ingresso sulla porta 22 a se stesso e quello sulla porta 24 al servizio ssh in ascolto sul server
  3. consente connessioni VPN attraverso la porta 5000
Changed:
<
<
  1. vieta in generale l'uscita diretta su internet attraverso la porta 80,i browser dovranno essere obbligatoriamente configurati per utilizzare un servizio proxy sulla porta 8128 (Dans Guardian, NOTA: Dans Guardian ascolta di default sulla porta 8080, la ridefinizione è resa necessaria per evitare possibili conflitti con le fonti apt) o 3128 (Squid).
>
>
  1. vieta in generale l'uscita diretta su internet attraverso la porta 80,i browser dovranno essere obbligatoriamente configurati per utilizzare un servizio proxy sulla porta 8128 (Dans Guardian) o 3128 (Squid) NOTA: Dans Guardian ascolta di default sulla porta 8080, la ridefinizione è resa necessaria per evitare possibili conflitti con le fonti apt bee.side).

  1. ridirige in generale tutte le richieste internet sulla porta 8128 a cui è attestato Dans Guardian anche se il browser è configurato per sfruttare il servizio proxy di squid alla porta 3128. In questo modo resta garantito il meccanismo di autenticazione dellŽutente svolto da squid e il controllo sui contenuti del traffico web.
  2. impedisce/consente il traffico tra le vlan (ad esempio isola la vlan5, segreteria, dal resto della rete per quanto riguarda il traffico in ingresso ma consente lŽaccesso internet alle macchine della segreteria.
 <<O>>  Difference Topic IsiFirewall (r1.2 - 30 Jun 2004 - MassimoMancini)

META TOPICPARENT WebHome
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

  • una sottorete di staff (tutte le macchine a disposizione dei non-studenti)
  • tante sottoreti quante sono le reti dei laboratori
  • la sottorete delle segreteria
  • 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.

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.


La macchina firewall (FW)

Changed:
<
<
  1. protegge 5 sottoreti (VLANs)
>
>
  1. protegge 5 sottoreti (vlans 1=staff 2,3,4=laboratori 5=segreteria)

  1. ridirige il traffico in ingresso sulla porta 80 al server web principale e quello sulla porta 81 a un server web secondario
  2. ridirige il traffico ssh in ingresso sulla porta 22 a se stesso e quello sulla porta 24 al servizio ssh in ascolto sul server
  3. consente connessioni VPN attraverso la porta 5000
Changed:
<
<
  1. vieta in generale l'uscita diretta su internet attraverso la porta 80
  2. ridirige in generale tutte le richieste internet sulla porta 8080 a cui è attestato Dans Guardian anche se il browser è configurato per sfruttare il servizio proxy di squid alla porta 3128. In questo modo resta garantito il meccanismo di autenticazione dellŽutente svolto da squid e il controllo sui contenuti del traffico web.
>
>
  1. vieta in generale l'uscita diretta su internet attraverso la porta 80,i browser dovranno essere obbligatoriamente configurati per utilizzare un servizio proxy sulla porta 8128 (Dans Guardian, NOTA: Dans Guardian ascolta di default sulla porta 8080, la ridefinizione è resa necessaria per evitare possibili conflitti con le fonti apt) o 3128 (Squid).
  2. ridirige in generale tutte le richieste internet sulla porta 8128 a cui è attestato Dans Guardian anche se il browser è configurato per sfruttare il servizio proxy di squid alla porta 3128. In questo modo resta garantito il meccanismo di autenticazione dellŽutente svolto da squid e il controllo sui contenuti del traffico web.

  1. impedisce/consente il traffico tra le vlan (ad esempio isola la vlan5, segreteria, dal resto della rete per quanto riguarda il traffico in ingresso ma consente lŽaccesso internet alle macchine della segreteria.

a quanto appena detto si aggiunge la gestione di alcune importanti eccezioni.

Line: 18 to 24

  1. ad alcune macchine qualificate viene garantito il bypass di Dans Guardian
  2. ad alcune macchine qualificate viene consentito lŽaccesso alla vlan5 (segreteria), ad es. si vuole che il dirigente scolastico possa scambiare dati direttamente con gli uffici.
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

 <<O>>  Difference Topic IsiFirewall (r1.1 - 29 Jun 2004 - MassimoMancini)
Line: 1 to 1
Added:
>
>
META TOPICPARENT WebHome
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.

La macchina firewall (FW)

  1. protegge 5 sottoreti (VLANs)
  2. ridirige il traffico in ingresso sulla porta 80 al server web principale e quello sulla porta 81 a un server web secondario
  3. ridirige il traffico ssh in ingresso sulla porta 22 a se stesso e quello sulla porta 24 al servizio ssh in ascolto sul server
  4. consente connessioni VPN attraverso la porta 5000
  5. vieta in generale l'uscita diretta su internet attraverso la porta 80
  6. ridirige in generale tutte le richieste internet sulla porta 8080 a cui è attestato Dans Guardian anche se il browser è configurato per sfruttare il servizio proxy di squid alla porta 3128. In questo modo resta garantito il meccanismo di autenticazione dellŽutente svolto da squid e il controllo sui contenuti del traffico web.
  7. impedisce/consente il traffico tra le vlan (ad esempio isola la vlan5, segreteria, dal resto della rete per quanto riguarda il traffico in ingresso ma consente lŽaccesso internet alle macchine della segreteria.

a quanto appena detto si aggiunge la gestione di alcune importanti eccezioni.

  1. ai server viene garantito lŽaccesso diretto internet sulla porta 80 bypassando tutti i servizi proxy, questo facilita tutte le operazione di aggiornamento automatico via apt-get e argoupdater (la procedura sistematica di aggiornamento di Argo)
  2. ad alcune macchine qualificate viene garantito il bypass di Dans Guardian
  3. ad alcune macchine qualificate viene consentito lŽaccesso alla vlan5 (segreteria), ad es. si vuole che il dirigente scolastico possa scambiare dati direttamente con gli uffici.

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.

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

### 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"

FORWARD="1" IP_MODE=static IP_EXT=x.x.x.x # ip della scheda connessa col router ADSL

# uncomment this for transparent proxy # PROXY_REDIR_PORT=3128

ecco il contenuto del file /etc/argo/fw.add

View topic | Diffs | r1.8 | > | r1.7 | > | r1.6 | More
Revision r1.1 - 29 Jun 2021 - 17:30 - MassimoMancini
Revision r1.8 - 12 Jun 2021 - 06:45 - WebMaster