Ceci est une ancienne révision du document !
PortBlocking dans dansguardian
La contrib smeserver-dansguardian bloque par défaut les communication vers l'extérieur sur le port utilisé (8080) pour éviter les contournements de filtrage. Il peut cependant s'avérer utile de contacter des hôtes extérieurs sur ce port (comme pour Implanet par exemple). Nous allons donc créé un templates-custom qui permet de lister les hôtes (IP fixes) autorisés:
mkdir -p /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/ cp -a /etc/e-smith/templates/etc/rc.d/init.d/masq/90local_chk40networks /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/
Puis il faut modifier le fichier /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/90local_chk40network pour qu'il ressemble à ça:
{ return "" unless ( ($dansguardian{portblocking} || "no") eq 'yes'); my @ExcludesHosts = split(/[,;]/,($dansguardian{PortBlockingExclude} || "$LocalIP")); my $excludes = "@ExcludesHosts"; my $locals = "@locals"; if (@locals) { $OUT .=<<"EOF"; for network in $locals do /sbin/iptables -A \$NEW_local_chk -d $LocalIP -p tcp --destination-port $squid{TransparentPort} -j ACCEPT for exclude in $excludes do /sbin/iptables -A \$NEW_local_chk -s \$network -d \$exclude -p tcp --destination-port $squid{TransparentPort} -j ACCEPT done /sbin/iptables -A \$NEW_local_chk -s \$network -p tcp --destination-port $squid{TransparentPort} -j DROP /sbin/iptables -A \$NEW_local_chk -s \$network -p tcp --destination-port $squid{TCPPort} -j DROP /sbin/iptables -A \$NEW_local_chk -d \$network -p tcp --destination-port $squid{TCPPort} -j DROP done EOF } }
Il ne reste plus qu'à spécifier la liste des IP autorisées:
db configuration setprop dansguardian PortBlockingExclude 12.13.14.15,16.17.18.19 expand-template /etc/rc.d/init.d/masq /etc/init.d/masq adjust