32,7 → 32,6 |
# firewall : Mise en place des règles du parefeu et de l'interface WEB FirewallEyes |
# param_awstats : Configuration de l'interface des statistiques de consultation WEB |
# dnsmasq : Configuration du serveur de noms et du serveur dhcp de secours |
# BL : Configuration de la BlackList |
# cron : Mise en place des exports de logs (+ chiffrement) |
|
|
96,7 → 95,6 |
echo "Réglez ce problème avant de poursuivre l'installation d'ALCASAR." |
exit 0 |
fi |
echo -n "." |
done |
# On teste la présence d'un routeur par défaut (Box FAI) |
if [ `/sbin/route -n|grep -c ^0.0.0.0` -ne "1" ] ; then |
105,8 → 103,7 |
echo "Réglez ce problème avant de poursuivre." |
exit 0 |
fi |
echo -n "." |
# On traite le cas où l'interface configurée lors de l'installation est "eth1" au lieu de "eth0" (mystère sur certaines version de BIOS et de VirtualBox) |
# On traite le cas où l'interface configurée lors de l'installation est "eth1" au lieu de "eth0" (mystère sur certains BIOS et sur VirtualBox) |
if [ `/sbin/route -n|grep ^0.0.0.0|grep -c eth1` -eq "1" ] ; then |
echo "Échec. La configuration des cartes réseau va être corrigée." |
/etc/init.d/network stop |
120,21 → 117,9 |
echo "Vous pouvez relancer ce script (sh alcasar.sh -install)." |
exit 0 |
fi |
echo -n "." |
# On test le lien vers le routeur par default |
IP_GW=`ip route list|grep ^default|cut -d" " -f3` |
arp_reply=`/usr/sbin/arping -b -I$EXTIF -c1 -w2 $IP_GW|grep response|cut -d" " -f2` |
if [[ $(expr $arp_reply) -eq 0 ]] |
then |
echo "Échec" |
echo "Le routeur de site ou la Box Internet ($IP_GW) ne répond pas." |
echo "Réglez ce problème avant de poursuivre." |
exit 0 |
fi |
echo -n "." |
# On test la connectivité Internet |
# On teste la connectivité Internet |
rm -rf /tmp/con_ok.html |
/usr/bin/curl www.google.fr -s -o /tmp/con_ok.html |
/usr/bin/curl www.google.fr -# -o /tmp/con_ok.html |
if [ ! -e /tmp/con_ok.html ] |
then |
echo "La tentative de connexion vers Internet a échoué (google.fr)." |
142,8 → 127,8 |
echo "Vérifiez la validité des adresses DNS." |
exit 0 |
fi |
echo "Tests de connectivité Internet corrects" |
rm -rf /tmp/con_ok.html |
echo ". : ok" |
} # end of testing |
|
################################################################## |
157,7 → 142,9 |
{ |
if [ ! "$mode" = "update" ] |
then |
header_install |
# On affecte le nom d'organisme |
header_install |
ORGANISME=! |
PTN='^[a-zA-Z0-9-]*$' |
until [[ $(expr $ORGANISME : $PTN) -gt 0 ]] |
212,7 → 199,7 |
echo -n "/^coova/" >> /etc/urpmi/skip.list |
echo -n "/^freeradius/" >> /etc/urpmi/skip.list |
# On supprime les paquetages, les services et les utilisateurs inutiles |
for rm_rpm in dhcp-server avahi mandi shorewall libc-icap0 cyrus-sasl |
for rm_rpm in avahi mandi shorewall libc-icap0 cyrus-sasl |
do |
/usr/sbin/urpme --auto $rm_rpm --auto-orphans |
done |
488,7 → 475,6 |
EOF |
echo "- URL d'accès au centre de gestion : https://$PRIVATE_IP" >> $FIC_PARAM |
# On crée le VirtualHost pour l'accès au port 80 (redirection après filtrage) |
# On tente d'intercepter toute les URLs (réécriture) |
FIC_VIRTUAL=`find /etc/httpd/conf -type f -name *default_vhosts*` |
[ -e /etc/httpd/conf/vhosts.default ] || cp $FIC_VIRTUAL /etc/httpd/conf/vhosts.default |
cat <<EOF > $FIC_VIRTUAL |
496,8 → 482,6 |
<VirtualHost *:80> |
ServerName $HOSTNAME |
DocumentRoot $DIR_WEB/redirect |
RewriteEngine on |
RewriteRule ^(.*)$ /index.php [L] |
</VirtualHost> |
EOF |
# Définition du premier compte lié au profil 'admin' |
919,7 → 903,21 |
# on vide la liste des @IP du Lan ne subissant pas le filtrage WEB |
[ -e /etc/dansguardian/lists/exceptioniplist.default ] || mv /etc/dansguardian/lists/exceptioniplist /etc/dansguardian/lists/exceptioniplist.default |
touch /etc/dansguardian/lists/exceptioniplist |
# on configure le filtrage de domaine |
# on copie les fichiers de la BL de toulouse |
[ -d /etc/dansguardian/lists/blacklists ] && mv /etc/dansguardian/lists/blacklists /etc/dansguardian/lists/blacklists.default |
tar zxvf $DIR_CONF/blacklists.tar.gz --directory=/etc/dansguardian/lists/ 2>&1 >/dev/null |
cp -f $DIR_CONF/VERSION-BL $DIR_WEB/ |
chown apache:apache $DIR_WEB/VERSION-BL |
# on crée la BL secondaire |
mkdir /etc/dansguardian/lists/blacklists/ossi |
touch /etc/dansguardian/lists/blacklists/ossi/domains |
touch /etc/dansguardian/lists/blacklists/ossi/urls |
# On crée une WhiteList vide |
[ -e /etc/dansguardian/lists/exceptionsitelist.default ] || mv /etc/dansguardian/lists/exceptionsitelist /etc/dansguardian/lists/exceptionsitelist.default |
[ -e /etc/dansguardian/lists/exceptionurllist.default ] || mv /etc/dansguardian/lists/exceptionurllist /etc/dansguardian/lists/exceptionurllist.default |
touch /etc/dansguardian/lists/exceptionsitelist |
touch /etc/dansguardian/lists/exceptionurllist |
# on configure le filtrage de site WEB |
[ -e /etc/dansguardian/lists/bannedsitelist.default ] || cp /etc/dansguardian/lists/bannedsitelist /etc/dansguardian/lists/bannedsitelist.default |
$SED "s?^[^#]?#&?g" /etc/dansguardian/lists/bannedsitelist # (on commente ce qui ne l'est pas) |
# on bloque les sites ne possédant pas de nom de domaine (ex: http://12.13.14.15) |
926,9 → 924,11 |
$SED "s?^#\*ip?\*ip?g" /etc/dansguardian/lists/bannedsitelist |
# on bloque le ssl sur port 80 |
$SED "s?^#\*\*s?\*\*s?g" /etc/dansguardian/lists/bannedsitelist |
# (pris en compte par dnsmasq) cat $DIR_CONF/bannedsitelist >> /etc/dansguardian/lists/bannedsitelist |
# on configure le filtrage d'url |
[ -e /etc/dansguardian/lists/bannedurllist.default ] || cp /etc/dansguardian/lists/bannedurllist /etc/dansguardian/lists/bannedurllist.default |
$SED "s?^[^#]?#&?g" /etc/dansguardian/lists/bannedurllist # (on commente ce qui ne l'est pas) |
cat $DIR_CONF/bannedurllist >> /etc/dansguardian/lists/bannedurllist |
chown -R dansguardian:apache /etc/dansguardian/ |
chmod -R g+rw /etc/dansguardian |
} # End of param_dansguardian () |
1067,42 → 1067,17 |
# Exemple de configuration statique : <@MAC>,<name>,<@IP>,<MASK>,<ttl bail> |
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.10.20,255.255.255.0,45m |
EOF |
} # End dnsmasq |
|
########################################################## |
## Fonction BL (BlackList) ## |
########################################################## |
BL () |
{ |
# on copie par défaut la BL de toulouse embarqués dans l'archive d'ALCASAR |
rm -rf /etc/dansguardian/lists/blacklists |
tar zxf $DIR_CONF/blacklists.tar.gz --directory=/etc/dansguardian/lists/ 2>&1 >/dev/null |
cp -f $DIR_CONF/VERSION-BL $DIR_WEB/ |
chown apache:apache $DIR_WEB/VERSION-BL |
# on crée le répertoire de la BL secondaire |
mkdir /etc/dansguardian/lists/blacklists/ossi |
touch /etc/dansguardian/lists/blacklists/ossi/domains |
touch /etc/dansguardian/lists/blacklists/ossi/urls |
# On crée le répertoire de la WhiteList |
[ -e /etc/dansguardian/lists/exceptionsitelist.default ] || mv /etc/dansguardian/lists/exceptionsitelist /etc/dansguardian/lists/exceptionsitelist.default |
[ -e /etc/dansguardian/lists/exceptionurllist.default ] || mv /etc/dansguardian/lists/exceptionurllist /etc/dansguardian/lists/exceptionurllist.default |
touch /etc/dansguardian/lists/exceptionsitelist |
touch /etc/dansguardian/lists/exceptionurllist |
# On crée la structure du DNS-blackhole : |
# - import des domaines de la BL Toulouse dans /usr/local/etc/alcasar-dns-availabled (1 fichier par domaine) |
# - lien symbolique de ces fichiers dans /usr/local/etc/alcasar-dns-enabled pour activation/désactivation |
mkdir /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled} |
chown -R 770 /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled} |
chown -R root:apache /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled} |
# On fait pointer le black-hole sur une page interne |
$SED "s?^IP_RETOUR=.*?IP_RETOUR=\"$PRIVATE_IP\"?g" $DIR_DEST_SBIN/alcasar-bl.sh |
ln -s $DIR_WEB/redirect/index-access-deny.php $DIR_WEB/index.php |
# On récupère la dernière version de la BL Toulouse |
$DIR_DEST_SBIN/alcasar-bl.sh -download |
} |
$SED "s?^IP_RETOUR=.*?IP_RETOUR=\"$PRIVATE_IP\"?g" /usr/local/bin/alcasar-dnsfilter-import.sh |
/usr/local/bin/alcasar-dnsfilter-import.sh |
/usr/local/bin/alcasar-dnsfilter-activate.sh |
} # End dnsmasq |
|
|
|
|
|
########################################################## |
## Fonction cron ## |
## - Mise en place des différents fichiers de cron ## |
1305,6 → 1280,7 |
header_install |
testing |
# On teste la présence d'une version déjà installée |
header_install |
if [ -e $DIR_WEB/VERSION ] |
then |
echo -n "La version "; echo -n `cat $DIR_WEB/VERSION`; echo " d'ALCASAR est déjà installée"; |
1354,7 → 1330,7 |
else |
mode="install" |
fi |
for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian antivirus firewall param_awstats param_dnsmasq BL cron post_install |
for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian antivirus firewall param_awstats param_dnsmasq cron post_install |
|
do |
$func |