Line 7... |
Line 7... |
7 |
# Install script for ALCASAR (a secured and authenticated Internet access control captive portal)
|
7 |
# Install script for ALCASAR (a secured and authenticated Internet access control captive portal)
|
8 |
# Script d'installation d'ALCASAR (Application Libre pour le Contrôle d'Accès Sécurisé et Authentifié au Réseau)
|
8 |
# Script d'installation d'ALCASAR (Application Libre pour le Contrôle d'Accès Sécurisé et Authentifié au Réseau)
|
9 |
|
9 |
|
10 |
# ALCASAR is based on a stripped Mandriva (LSB) with the following open source softwares :
|
10 |
# ALCASAR is based on a stripped Mandriva (LSB) with the following open source softwares :
|
11 |
# ALCASAR est architecturé autour d'une distribution Linux Mandriva minimaliste et les logiciels libres suivants :
|
11 |
# ALCASAR est architecturé autour d'une distribution Linux Mandriva minimaliste et les logiciels libres suivants :
|
12 |
# Coovachilli (a fork of chillispot), freeradius, mysql, apache, netfilter, squid, dansguardian, mondo, mindi, dialupadmin, awstat, ntpd, dhcpd, openssl and firewalleyes
|
12 |
# Coovachilli (a fork of chillispot), freeradius, mysql, apache, netfilter, squid, dansguardian, mondo, mindi, dialupadmin, awstat, ntpd, dhcpd, openssl bind and firewalleyes
|
13 |
|
13 |
|
14 |
# Options :
|
14 |
# Options :
|
15 |
# -install complete install - installation complète
|
15 |
# -install
|
16 |
# -uninstall uninstall the portal - désinstallation du portail
|
- |
|
17 |
# -update update - mise à jour
|
16 |
# -uninstall
|
18 |
|
17 |
|
19 |
# Funtions :
|
18 |
# Funtions :
|
20 |
# init : Installation des RPM et des scripts
|
19 |
# init : Installation des RPM et des scripts
|
21 |
# network : Paramètrage du réseau
|
20 |
# network : Paramètrage du réseau
|
22 |
# gestion : Installation de l'interface de gestion
|
21 |
# gestion : Installation de l'interface de gestion
|
Line 32... |
Line 31... |
32 |
# bind : Configuration du serveur de noms
|
31 |
# bind : Configuration du serveur de noms
|
33 |
# cron : Mise en place des exports de logs (+ chiffrement)
|
32 |
# cron : Mise en place des exports de logs (+ chiffrement)
|
34 |
|
33 |
|
35 |
|
34 |
|
36 |
VERSION="1.9a"
|
35 |
VERSION="1.9a"
|
- |
|
36 |
MDV_NEEDED="2010.0"
|
37 |
DATE=`date '+%d %B %Y - %Hh%M'`
|
37 |
DATE=`date '+%d %B %Y - %Hh%M'`
|
38 |
DATE_SHORT=`date '+%d/%m/%Y'`
|
38 |
DATE_SHORT=`date '+%d/%m/%Y'`
|
39 |
# ******* Files parameters - paramètres fichiers *********
|
39 |
# ******* Files parameters - paramètres fichiers *********
|
40 |
DIR_INSTALL=`pwd` # répertoire d'installation
|
40 |
DIR_INSTALL=`pwd` # répertoire d'installation
|
41 |
DIR_GESTION="$DIR_INSTALL/gestion" # répertoire d'installation contenant l'interface de gestion
|
41 |
DIR_GESTION="$DIR_INSTALL/gestion" # répertoire d'installation contenant l'interface de gestion
|
Line 71... |
Line 71... |
71 |
echo " Installation d'ALCASAR V$VERSION"
|
71 |
echo " Installation d'ALCASAR V$VERSION"
|
72 |
echo "Application Libre pour le Contrôle d'Accès Sécurisé et Authentifié au Réseau"
|
72 |
echo "Application Libre pour le Contrôle d'Accès Sécurisé et Authentifié au Réseau"
|
73 |
echo "-----------------------------------------------------------------------------"
|
73 |
echo "-----------------------------------------------------------------------------"
|
74 |
} # End of header_install ()
|
74 |
} # End of header_install ()
|
75 |
|
75 |
|
76 |
header_update ()
|
- |
|
77 |
{
|
- |
|
78 |
clear
|
- |
|
79 |
echo "-----------------------------------------------------------------------------"
|
- |
|
80 |
echo " Procédure de mise à jour d'ALCASAR"
|
- |
|
81 |
echo "-----------------------------------------------------------------------------"
|
- |
|
82 |
} # End of header_update ()
|
- |
|
83 |
|
- |
|
84 |
##################################################################
|
76 |
##################################################################
|
85 |
## Fonction INIT ##
|
77 |
## Fonction INIT ##
|
86 |
## - Test de la connectivité Internet ##
|
78 |
## - Test de la connectivité Internet ##
|
87 |
## - Création du fichier "/root/ALCASAR_parametres.txt" ##
|
79 |
## - Création du fichier "/root/ALCASAR_parametres.txt" ##
|
88 |
## - Installation et modification des scripts du portail ##
|
80 |
## - Installation et modification des scripts du portail ##
|
89 |
## - Installation des paquetages complémentaires ##
|
81 |
## - Installation des paquetages complémentaires ##
|
90 |
##################################################################
|
82 |
##################################################################
|
91 |
init ()
|
83 |
init ()
|
92 |
{
|
84 |
{
|
93 |
if [ "$mode" = "install" ]
|
85 |
if [ ! "$mode" = "update" ]
|
94 |
then
|
86 |
then
|
95 |
header_install
|
87 |
header_install
|
96 |
if [ -e $DIR_WEB/VERSION ]
|
- |
|
97 |
then
|
- |
|
98 |
echo -n "La version "; echo -n `cat $DIR_WEB/VERSION`; echo " d'ALCASAR est déjà installée"; echo "Utilisez l'option '-update' si vous voulez la mettre à jour.";
|
- |
|
99 |
exit 0
|
- |
|
100 |
fi
|
- |
|
101 |
echo -n "Tests des paramètres réseau : "
|
88 |
echo -n "Tests des paramètres réseau : "
|
102 |
# On teste l'état du lien des interfaces réseau
|
89 |
# On teste l'état du lien des interfaces réseau
|
103 |
for i in $EXTIF $INTIF
|
90 |
for i in $EXTIF $INTIF
|
104 |
do
|
91 |
do
|
105 |
/sbin/ifconfig $i up
|
92 |
/sbin/ifconfig $i up
|
Line 143... |
Line 130... |
143 |
echo "Vérifiez la validité des adresses DNS."
|
130 |
echo "Vérifiez la validité des adresses DNS."
|
144 |
exit 0
|
131 |
exit 0
|
145 |
fi
|
132 |
fi
|
146 |
echo "Tests de connectivité Internet corrects"
|
133 |
echo "Tests de connectivité Internet corrects"
|
147 |
rm -rf /tmp/con_ok.html
|
134 |
rm -rf /tmp/con_ok.html
|
- |
|
135 |
# On affecte le nom d'organisme
|
- |
|
136 |
header_install
|
- |
|
137 |
ORGANISME=!
|
- |
|
138 |
PTN='^[a-zA-Z1-9-]*$'
|
- |
|
139 |
until [[ $(expr $ORGANISME : $PTN) -gt 0 ]]
|
- |
|
140 |
do
|
- |
|
141 |
echo -n "Entrez le nom de votre organisme : "
|
- |
|
142 |
read ORGANISME
|
- |
|
143 |
if [ "$ORGANISME" = "" ]
|
- |
|
144 |
then
|
- |
|
145 |
ORGANISME=!
|
- |
|
146 |
fi
|
- |
|
147 |
done
|
- |
|
148 |
fi
|
148 |
# On installe les paquetage complémentaires
|
149 |
# On installe les paquetage complémentaires
|
149 |
echo "Installation des paquetages complémentaires"
|
150 |
echo "Installation des paquetages complémentaires"
|
150 |
chmod u+x $DIR_SCRIPTS/alcasar-urpmi.sh
|
151 |
chmod u+x $DIR_SCRIPTS/alcasar-urpmi.sh
|
151 |
$DIR_SCRIPTS/alcasar-urpmi.sh
|
152 |
$DIR_SCRIPTS/alcasar-urpmi.sh
|
152 |
urpmi --auto $PACKAGES
|
153 |
urpmi --auto $PACKAGES
|
Line 155... |
Line 156... |
155 |
then
|
156 |
then
|
156 |
echo "L'installation des paquetages complémentaires a échouée"
|
157 |
echo "L'installation des paquetages complémentaires a échouée"
|
157 |
echo "Vérifiez la connectivité vers le dépot (ftp://ftp.free.fr)"
|
158 |
echo "Vérifiez la connectivité vers le dépot (ftp://ftp.free.fr)"
|
158 |
exit 0
|
159 |
exit 0
|
159 |
fi
|
160 |
fi
|
160 |
# On supprime les paquetages et le services inutiles
|
161 |
# On supprime les paquetages et les services inutiles
|
161 |
for rm_rpm in avahi mandi shorewall-common shorewall
|
162 |
for rm_rpm in avahi mandi shorewall-common shorewall
|
162 |
do
|
163 |
do
|
163 |
/usr/sbin/urpme --auto $rm_rpm
|
164 |
/usr/sbin/urpme --auto $rm_rpm
|
164 |
done
|
165 |
done
|
165 |
for svc in alsa sound dm atd memcached dc_server
|
166 |
for svc in alsa sound dm atd memcached dc_server
|
166 |
do
|
167 |
do
|
167 |
/sbin/chkconfig --del $svc
|
168 |
/sbin/chkconfig --del $svc
|
168 |
done
|
169 |
done
|
169 |
# On affecte le nom système
|
- |
|
170 |
header_install
|
- |
|
171 |
ORGANISME=!
|
- |
|
172 |
PTN='^[a-zA-Z1-9-]*$'
|
- |
|
173 |
until [[ $(expr $ORGANISME : $PTN) -gt 0 ]]
|
- |
|
174 |
do
|
- |
|
175 |
echo -n "Entrez le nom de votre organisme : "
|
- |
|
176 |
read ORGANISME
|
- |
|
177 |
if [ "$ORGANISME" = "" ]
|
- |
|
178 |
then
|
- |
|
179 |
ORGANISME=!
|
- |
|
180 |
fi
|
- |
|
181 |
done
|
- |
|
182 |
else # mode update
|
- |
|
183 |
echo "Mise à jour du système"
|
- |
|
184 |
chmod u+x $DIR_SCRIPTS/alcasar-urpmi.sh
|
- |
|
185 |
$DIR_SCRIPTS/alcasar-urpmi.sh
|
- |
|
186 |
# on installe les mises à jour spécifiques
|
170 |
# on installe les mises à jour spécifiques
|
187 |
urpmi --no-verify --auto $DIR_CONF/rpms-update/*.rpm
|
171 |
urpmi --no-verify --auto $DIR_CONF/rpms-update/*.rpm
|
188 |
fi
|
- |
|
189 |
# On met à jour le système
|
172 |
# On met à jour le système
|
190 |
urpmi --auto --auto-update
|
173 |
urpmi --auto --auto-update
|
191 |
# On supprime les paquetages orphelins
|
174 |
# On supprime les paquetages orphelins
|
192 |
/usr/sbin/urpme --auto-orphans --auto
|
175 |
/usr/sbin/urpme --auto-orphans --auto
|
193 |
# On crée aléatoirement les mots de passe et les secrets partagés
|
176 |
# On crée aléatoirement les mots de passe et les secrets partagés
|
Line 204... |
Line 187... |
204 |
secretradius=`cat /dev/urandom | tr -dc [:alnum:] | head -c8` # secret partagé entre coova-chilli et FreeRadius
|
187 |
secretradius=`cat /dev/urandom | tr -dc [:alnum:] | head -c8` # secret partagé entre coova-chilli et FreeRadius
|
205 |
echo -n "secret partagé entre coova-chilli et FreeRadius : " >> $FIC_PASSWD
|
188 |
echo -n "secret partagé entre coova-chilli et FreeRadius : " >> $FIC_PASSWD
|
206 |
echo "$secretradius" >> $FIC_PASSWD
|
189 |
echo "$secretradius" >> $FIC_PASSWD
|
207 |
chmod 640 $FIC_PASSWD
|
190 |
chmod 640 $FIC_PASSWD
|
208 |
# On installe et on modifie les scripts d'Alcasar
|
191 |
# On installe et on modifie les scripts d'Alcasar
|
209 |
cp -f $DIR_SCRIPTS/alcasar* $DIR_DEST_BIN/. ; chown root.root $DIR_DEST_BIN/alcasar* ; chmod 740 $DIR_DEST_BIN/alcasar*
|
192 |
cp -f $DIR_SCRIPTS/alcasar* $DIR_DEST_BIN/. ; chown root:root $DIR_DEST_BIN/alcasar* ; chmod 740 $DIR_DEST_BIN/alcasar*
|
210 |
cp -f $DIR_SCRIPTS/sbin/alcasar* $DIR_DEST_SBIN/. ; chown root.root $DIR_DEST_SBIN/alcasar* ; chmod 740 $DIR_DEST_SBIN/alcasar*
|
193 |
cp -f $DIR_SCRIPTS/sbin/alcasar* $DIR_DEST_SBIN/. ; chown root:root $DIR_DEST_SBIN/alcasar* ; chmod 740 $DIR_DEST_SBIN/alcasar*
|
211 |
cp -f $DIR_SCRIPTS/etc/alcasar* $DIR_DEST_ETC/. ; chown root.apache $DIR_DEST_ETC/alcasar* ; chmod 660 $DIR_DEST_ETC/alcasar*
|
194 |
cp -f $DIR_SCRIPTS/etc/alcasar* $DIR_DEST_ETC/. ; chown root:apache $DIR_DEST_ETC/alcasar* ; chmod 660 $DIR_DEST_ETC/alcasar*
|
212 |
$SED "s?^radiussecret.*?radiussecret=\"$secretradius\"?g" $DIR_DEST_SBIN/alcasar-logout.sh
|
195 |
$SED "s?^radiussecret.*?radiussecret=\"$secretradius\"?g" $DIR_DEST_SBIN/alcasar-logout.sh
|
213 |
$SED "s?^DB_RADIUS=.*?DB_RADIUS=\"$DB_RADIUS\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh
|
196 |
$SED "s?^DB_RADIUS=.*?DB_RADIUS=\"$DB_RADIUS\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh
|
214 |
$SED "s?^DB_USER=.*?DB_USER=\"$DB_USER\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh
|
197 |
$SED "s?^DB_USER=.*?DB_USER=\"$DB_USER\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh
|
215 |
$SED "s?^radiuspwd=.*?radiuspwd=\"$radiuspwd\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh
|
198 |
$SED "s?^radiuspwd=.*?radiuspwd=\"$radiuspwd\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh
|
216 |
# On génère le début du fichier récapitulatif
|
199 |
# On génère le début du fichier récapitulatif
|
217 |
cat <<EOF > $FIC_PARAM
|
200 |
cat <<EOF > $FIC_PARAM
|
218 |
########################################################
|
201 |
########################################################
|
219 |
## ##
|
202 |
## ##
|
220 |
## Fichier récapitulatif des paramètres d'ALCASAR ##
|
203 |
## Fichier récapitulatif des paramètres d'ALCASAR ##
|
Line 262... |
Line 245... |
262 |
fi
|
245 |
fi
|
263 |
HOSTNAME=alcasar-$ORGANISME
|
246 |
HOSTNAME=alcasar-$ORGANISME
|
264 |
hostname $HOSTNAME
|
247 |
hostname $HOSTNAME
|
265 |
echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM
|
248 |
echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM
|
266 |
PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
|
249 |
PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
|
267 |
private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. /24)
|
250 |
private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
|
268 |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix # @ réseau + masque (x.0.0.0/8 ou x.y.0.0/16 ou x.y.z.0/24)
|
251 |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix # @ réseau + masque (x.0.0.0/8 ou x.y.0.0/16 ou x.y.z.0/24)
|
269 |
classe=$((private_prefix/8)); # classe de réseau (ex.: 2=classe B, 3=classe C)
|
252 |
classe=$((private_prefix/8)); # classe de réseau (ex.: 2=classe B, 3=classe C)
|
270 |
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.)
|
253 |
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.)
|
271 |
PRIVATE_MASK=`/bin/ipcalc -m $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0)
|
254 |
PRIVATE_MASK=`/bin/ipcalc -m $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0)
|
272 |
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255)
|
255 |
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255)
|
Line 391... |
Line 374... |
391 |
$SED "s?99/99/9999?$DATE_SHORT?g" $DIR_WEB/menu.php
|
374 |
$SED "s?99/99/9999?$DATE_SHORT?g" $DIR_WEB/menu.php
|
392 |
$SED "s?\$DB_RADIUS = .*?\$DB_RADIUS = \"$DB_RADIUS\"\;?g" $DIR_WEB/phpsysinfo/includes/xml/portail.php
|
375 |
$SED "s?\$DB_RADIUS = .*?\$DB_RADIUS = \"$DB_RADIUS\"\;?g" $DIR_WEB/phpsysinfo/includes/xml/portail.php
|
393 |
$SED "s?\$DB_USER = .*?\$DB_USER = \"$DB_USER\"\;?g" $DIR_WEB/phpsysinfo/includes/xml/portail.php
|
376 |
$SED "s?\$DB_USER = .*?\$DB_USER = \"$DB_USER\"\;?g" $DIR_WEB/phpsysinfo/includes/xml/portail.php
|
394 |
$SED "s?\$radiuspwd = .*?\$radiuspwd = \"$radiuspwd\"\;?g" $DIR_WEB/phpsysinfo/includes/xml/portail.php
|
377 |
$SED "s?\$radiuspwd = .*?\$radiuspwd = \"$radiuspwd\"\;?g" $DIR_WEB/phpsysinfo/includes/xml/portail.php
|
395 |
chmod 640 $DIR_WEB/phpsysinfo/includes/xml/portail.php
|
378 |
chmod 640 $DIR_WEB/phpsysinfo/includes/xml/portail.php
|
396 |
chown -R apache.apache $DIR_WEB/*
|
379 |
chown -R apache:apache $DIR_WEB/*
|
397 |
for i in ISO base logs/firewall logs/httpd logs/squid ;
|
380 |
for i in ISO base logs/firewall logs/httpd logs/squid ;
|
398 |
do
|
381 |
do
|
399 |
[ -d $DIR_SAVE/$i ] || mkdir -p $DIR_SAVE/$i
|
382 |
[ -d $DIR_SAVE/$i ] || mkdir -p $DIR_SAVE/$i
|
400 |
done
|
383 |
done
|
401 |
chown -R root.apache $DIR_SAVE
|
384 |
chown -R root:apache $DIR_SAVE
|
402 |
# Configuration php
|
385 |
# Configuration php
|
403 |
$SED "s?^upload_max_filesize.*?upload_max_filesize = 20M?g" /etc/php.ini
|
386 |
$SED "s?^upload_max_filesize.*?upload_max_filesize = 20M?g" /etc/php.ini
|
404 |
$SED "s?^post_max_size.*?post_max_size = 20M?g" /etc/php.ini
|
387 |
$SED "s?^post_max_size.*?post_max_size = 20M?g" /etc/php.ini
|
405 |
# Configuration Apache
|
388 |
# Configuration Apache
|
406 |
[ -e /etc/httpd/conf/httpd.conf.default ] || cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.default
|
389 |
[ -e /etc/httpd/conf/httpd.conf.default ] || cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.default
|
Line 534... |
Line 517... |
534 |
$SED "s?ifcfg-eth.?ifcfg-$INTIF?g" $DIR_DEST_BIN/alcasar-CA.sh
|
517 |
$SED "s?ifcfg-eth.?ifcfg-$INTIF?g" $DIR_DEST_BIN/alcasar-CA.sh
|
535 |
$DIR_DEST_BIN/alcasar-CA.sh $mode
|
518 |
$DIR_DEST_BIN/alcasar-CA.sh $mode
|
536 |
MOD_SSL=`find /etc/httpd/conf -type f -name *default_ssl*`
|
519 |
MOD_SSL=`find /etc/httpd/conf -type f -name *default_ssl*`
|
537 |
$SED "s?localhost.crt?alcasar.crt?g" $MOD_SSL
|
520 |
$SED "s?localhost.crt?alcasar.crt?g" $MOD_SSL
|
538 |
$SED "s?localhost.key?alcasar.key?g" $MOD_SSL
|
521 |
$SED "s?localhost.key?alcasar.key?g" $MOD_SSL
|
539 |
chown -R root.apache /etc/pki
|
522 |
chown -R root:apache /etc/pki
|
540 |
chmod -R 750 /etc/pki
|
523 |
chmod -R 750 /etc/pki
|
541 |
} # End AC ()
|
524 |
} # End AC ()
|
542 |
|
525 |
|
543 |
##########################################################################################
|
526 |
##########################################################################################
|
544 |
## Fonction init_db() ##
|
527 |
## Fonction init_db() ##
|
Line 653... |
Line 636... |
653 |
fi
|
636 |
fi
|
654 |
# copie des fichiers modifiés et suppression des fichiers inutiles
|
637 |
# copie des fichiers modifiés et suppression des fichiers inutiles
|
655 |
cp -rf $DIR_GESTION/manager/* $DIR_WEB/manager/
|
638 |
cp -rf $DIR_GESTION/manager/* $DIR_WEB/manager/
|
656 |
rm -f $DIR_WEB/manager/index.html $DIR_WEB/manager/readme
|
639 |
rm -f $DIR_WEB/manager/index.html $DIR_WEB/manager/readme
|
657 |
rm -f $DIR_WEB/manager/htdocs/about.html $DIR_WEB/manager/htdocs/index.html $DIR_WEB/manager/htdocs/content.html
|
640 |
rm -f $DIR_WEB/manager/htdocs/about.html $DIR_WEB/manager/htdocs/index.html $DIR_WEB/manager/htdocs/content.html
|
658 |
chown -R apache.apache $DIR_WEB/manager/
|
641 |
chown -R apache:apache $DIR_WEB/manager/
|
659 |
# Modification du fichier de configuration
|
642 |
# Modification du fichier de configuration
|
660 |
[ -e /etc/freeradius-web/admin.conf.default ] || cp /etc/freeradius-web/admin.conf /etc/freeradius-web/admin.conf.default
|
643 |
[ -e /etc/freeradius-web/admin.conf.default ] || cp /etc/freeradius-web/admin.conf /etc/freeradius-web/admin.conf.default
|
661 |
$SED "s?^general_domain:.*?general_domain: $ORGANISME.org?g" /etc/freeradius-web/admin.conf
|
644 |
$SED "s?^general_domain:.*?general_domain: $ORGANISME.$DOMAIN?g" /etc/freeradius-web/admin.conf
|
662 |
$SED "s?^sql_username:.*?sql_username: $DB_USER?g" /etc/freeradius-web/admin.conf
|
645 |
$SED "s?^sql_username:.*?sql_username: $DB_USER?g" /etc/freeradius-web/admin.conf
|
663 |
$SED "s?^sql_password:.*?sql_password: $radiuspwd?g" /etc/freeradius-web/admin.conf
|
646 |
$SED "s?^sql_password:.*?sql_password: $radiuspwd?g" /etc/freeradius-web/admin.conf
|
664 |
$SED "s?^sql_debug:.*?sql_debug: false?g" /etc/freeradius-web/admin.conf
|
647 |
$SED "s?^sql_debug:.*?sql_debug: false?g" /etc/freeradius-web/admin.conf
|
665 |
$SED "s?^sql_usergroup_table: .*?sql_usergroup_table: radusergroup?g" /etc/freeradius-web/admin.conf
|
648 |
$SED "s?^sql_usergroup_table: .*?sql_usergroup_table: radusergroup?g" /etc/freeradius-web/admin.conf
|
666 |
$SED "s?^sql_password_attribute:.*?sql_password_attribute: Crypt-Password?g" /etc/freeradius-web/admin.conf
|
649 |
$SED "s?^sql_password_attribute:.*?sql_password_attribute: Crypt-Password?g" /etc/freeradius-web/admin.conf
|
Line 678... |
Line 661... |
678 |
cp -f $DIR_CONF/user_edit.attrs /etc/freeradius-web/user_edit.attrs
|
661 |
cp -f $DIR_CONF/user_edit.attrs /etc/freeradius-web/user_edit.attrs
|
679 |
# Modification des attributs visibles sur les pages des statistiques (suppression NAS_IP et NAS_port)
|
662 |
# Modification des attributs visibles sur les pages des statistiques (suppression NAS_IP et NAS_port)
|
680 |
[ -e /etc/freeradius-web/sql.attrs.default ] || cp /etc/freeradius-web/sql.attrs /etc/freeradius-web/user_edit.attrs.default
|
663 |
[ -e /etc/freeradius-web/sql.attrs.default ] || cp /etc/freeradius-web/sql.attrs /etc/freeradius-web/user_edit.attrs.default
|
681 |
$SED "s?^NASIPAddress.*?NASIPAddress\tNas IP Address\tno?g" /etc/freeradius-web/sql.attrs
|
664 |
$SED "s?^NASIPAddress.*?NASIPAddress\tNas IP Address\tno?g" /etc/freeradius-web/sql.attrs
|
682 |
$SED "s?^NASPortId.*?NASPortId\tNas Port\tno?g" /etc/freeradius-web/sql.attrs
|
665 |
$SED "s?^NASPortId.*?NASPortId\tNas Port\tno?g" /etc/freeradius-web/sql.attrs
|
683 |
chown -R apache.apache /etc/freeradius-web
|
666 |
chown -R apache:apache /etc/freeradius-web
|
684 |
# Ajout de l'alias vers la page de "changement de mot de passe usager"
|
667 |
# Ajout de l'alias vers la page de "changement de mot de passe usager"
|
685 |
cat <<EOF >> /etc/httpd/conf/webapps.d/alcasar.conf
|
668 |
cat <<EOF >> /etc/httpd/conf/webapps.d/alcasar.conf
|
686 |
Alias /pass/ "$DIR_WEB/manager/pass/"
|
669 |
Alias /pass/ "$DIR_WEB/manager/pass/"
|
687 |
<Directory $DIR_WEB/manager/pass>
|
670 |
<Directory $DIR_WEB/manager/pass>
|
688 |
SSLRequireSSL
|
671 |
SSLRequireSSL
|
Line 726... |
Line 709... |
726 |
$SED "s?^# HS_DYNIP=.*?HS_DYNIP=$PRIVATE_DYN_IP?g" /etc/chilli/config
|
709 |
$SED "s?^# HS_DYNIP=.*?HS_DYNIP=$PRIVATE_DYN_IP?g" /etc/chilli/config
|
727 |
$SED "s?^# HS_DYNIP_MASK=.*?HS_DYNIP_MASK=$PRIVATE_DYN_MASK?g" /etc/chilli/config
|
710 |
$SED "s?^# HS_DYNIP_MASK=.*?HS_DYNIP_MASK=$PRIVATE_DYN_MASK?g" /etc/chilli/config
|
728 |
$SED "s?^# HS_STATIP=.*?HS_STATIP=$PRIVATE_STAT_IP?g" /etc/chilli/config
|
711 |
$SED "s?^# HS_STATIP=.*?HS_STATIP=$PRIVATE_STAT_IP?g" /etc/chilli/config
|
729 |
$SED "s?^# HS_STATIP_MASK.*?HS_STATIP_MASK=$PRIVATE_STAT_MASK?g" /etc/chilli/config
|
712 |
$SED "s?^# HS_STATIP_MASK.*?HS_STATIP_MASK=$PRIVATE_STAT_MASK?g" /etc/chilli/config
|
730 |
$SED "s?^# HS_DNS_DOMAIN=.*?HS_DNS_DOMAIN=$DOMAIN?g" /etc/chilli/config
|
713 |
$SED "s?^# HS_DNS_DOMAIN=.*?HS_DNS_DOMAIN=$DOMAIN?g" /etc/chilli/config
|
731 |
$SED "s?^# HS_DNS1=.*?HS_DNS1=$PRIVATE_IP?g" /etc/chilli/config
|
714 |
$SED "s?^HS_DNS1=.*?HS_DNS1=$PRIVATE_IP?g" /etc/chilli/config
|
732 |
# $SED "s?^# HS_DNS2=.*?HS_DNS2=208.67.222.222?g" /etc/chilli/config
|
715 |
$SED "s?^HS_DNS2=.*?HS_DNS2=$PRIVATE_IP?g" /etc/chilli/config
|
733 |
$SED "s?^HS_UAMSECRET=.*?HS_UAMSECRET=$secretuam?g" /etc/chilli/config
|
716 |
$SED "s?^HS_UAMSECRET=.*?HS_UAMSECRET=$secretuam?g" /etc/chilli/config
|
734 |
$SED "s?^HS_RADIUS=.*?HS_RADIUS=127.0.0.1?g" /etc/chilli/config
|
717 |
$SED "s?^HS_RADIUS=.*?HS_RADIUS=127.0.0.1?g" /etc/chilli/config
|
735 |
$SED "s?^HS_RADIUS2=.*?HS_RADIUS2=127.0.0.1?g" /etc/chilli/config
|
718 |
$SED "s?^HS_RADIUS2=.*?HS_RADIUS2=127.0.0.1?g" /etc/chilli/config
|
736 |
$SED "s?^HS_RADSECRET=.*?HS_RADSECRET=$secretradius?g" /etc/chilli/config
|
719 |
$SED "s?^HS_RADSECRET=.*?HS_RADSECRET=$secretradius?g" /etc/chilli/config
|
737 |
$SED "s?^HS_UAMALLOW=.*?# HS_UAMALLOW?g" /etc/chilli/config
|
720 |
$SED "s?^HS_UAMALLOW=.*?# HS_UAMALLOW?g" /etc/chilli/config
|
Line 855... |
Line 838... |
855 |
# on configure la BL de toulouse
|
838 |
# on configure la BL de toulouse
|
856 |
cat $DIR_CONF/bannedsitelist >> /etc/dansguardian/lists/bannedsitelist
|
839 |
cat $DIR_CONF/bannedsitelist >> /etc/dansguardian/lists/bannedsitelist
|
857 |
[ -e /etc/dansguardian/lists/bannedurllist.default ] || cp /etc/dansguardian/lists/bannedurllist /etc/dansguardian/lists/bannedurllist.default
|
840 |
[ -e /etc/dansguardian/lists/bannedurllist.default ] || cp /etc/dansguardian/lists/bannedurllist /etc/dansguardian/lists/bannedurllist.default
|
858 |
$SED "s?^[^#]?#&?g" /etc/dansguardian/lists/bannedurllist # (on commente ce qui ne l'est pas)
|
841 |
$SED "s?^[^#]?#&?g" /etc/dansguardian/lists/bannedurllist # (on commente ce qui ne l'est pas)
|
859 |
cat $DIR_CONF/bannedurllist >> /etc/dansguardian/lists/bannedurllist
|
842 |
cat $DIR_CONF/bannedurllist >> /etc/dansguardian/lists/bannedurllist
|
860 |
chown -R dansguardian.apache /etc/dansguardian/
|
843 |
chown -R dansguardian:apache /etc/dansguardian/
|
861 |
chmod -R g+rw /etc/dansguardian
|
844 |
chmod -R g+rw /etc/dansguardian
|
862 |
} # End of param_dansguardian ()
|
845 |
} # End of param_dansguardian ()
|
863 |
|
846 |
|
864 |
##################################################################################
|
847 |
##################################################################################
|
865 |
## Fonction firewall ##
|
848 |
## Fonction firewall ##
|
Line 874... |
Line 857... |
874 |
$SED "s?^PRIVATE_NETWORK_MASK=.*?PRIVATE_NETWORK_MASK=\"$PRIVATE_NETWORK_MASK\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
|
857 |
$SED "s?^PRIVATE_NETWORK_MASK=.*?PRIVATE_NETWORK_MASK=\"$PRIVATE_NETWORK_MASK\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
|
875 |
$SED "s?^PRIVATE_IP=.*?PRIVATE_IP=\"$PRIVATE_IP\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
|
858 |
$SED "s?^PRIVATE_IP=.*?PRIVATE_IP=\"$PRIVATE_IP\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
|
876 |
chmod o+r $DIR_DEST_BIN/alcasar-iptables.sh #lecture possible pour apache (interface php du filtrage réseau)
|
859 |
chmod o+r $DIR_DEST_BIN/alcasar-iptables.sh #lecture possible pour apache (interface php du filtrage réseau)
|
877 |
[ -d /var/log/firewall ] || mkdir -p /var/log/firewall
|
860 |
[ -d /var/log/firewall ] || mkdir -p /var/log/firewall
|
878 |
[ -e /var/log/firewall/firewall.log ] || touch /var/log/firewall/firewall.log
|
861 |
[ -e /var/log/firewall/firewall.log ] || touch /var/log/firewall/firewall.log
|
879 |
chown -R root.apache /var/log/firewall
|
862 |
chown -R root:apache /var/log/firewall
|
880 |
chmod 750 /var/log/firewall
|
863 |
chmod 750 /var/log/firewall
|
881 |
chmod 640 /var/log/firewall/firewall.log
|
864 |
chmod 640 /var/log/firewall/firewall.log
|
882 |
$SED "s?^file=\"/var/log/ulogd.syslogemu\"?file=\"/var/log/firewall/firewall.log\"?g" /etc/ulogd.conf
|
865 |
$SED "s?^file=\"/var/log/ulogd.syslogemu\"?file=\"/var/log/firewall/firewall.log\"?g" /etc/ulogd.conf
|
883 |
sh $DIR_DEST_BIN/alcasar-iptables.sh
|
866 |
sh $DIR_DEST_BIN/alcasar-iptables.sh
|
884 |
} # End of firewall ()
|
867 |
} # End of firewall ()
|
Line 924... |
Line 907... |
924 |
## Fonction bind ##
|
907 |
## Fonction bind ##
|
925 |
## - Mise en place des différents fichiers de bind ##
|
908 |
## - Mise en place des différents fichiers de bind ##
|
926 |
##########################################################
|
909 |
##########################################################
|
927 |
param_bind ()
|
910 |
param_bind ()
|
928 |
{
|
911 |
{
|
929 |
# modification du fichier autorisant l'accès au service
|
- |
|
930 |
[ -e /etc/trusted_networks_acl.conf ] || ln -s /var/lib/named/etc/trusted_networks_acl.conf /etc/
|
912 |
ln -sf /var/lib/named/etc/trusted_networks_acl.conf /etc/
|
931 |
[ -e /etc/named.conf ] || ln -s /var/lib/named/etc/named.conf /etc/
|
913 |
ln -sf /var/lib/named/etc/named.conf /etc/
|
932 |
[ -d /var/named/ ] || ln -s /var/lib/named/var/named /var/
|
914 |
ln -sf /var/lib/named/var/named /var/
|
933 |
[ -d /var/log/named ] || ln -s /var/lib/named/var/log/ /var/log/named
|
915 |
ln -sf /var/lib/named/var/log/ /var/log/named
|
934 |
[ -e /var/lib/named/etc/trusted_networks_acl.conf.default ] || cp /var/lib/named/etc/trusted_networks_acl.conf /var/lib/named/etc/trusted_networks_acl.conf.default
|
916 |
[ -e /var/lib/named/etc/trusted_networks_acl.conf.default ] || cp /var/lib/named/etc/trusted_networks_acl.conf /var/lib/named/etc/trusted_networks_acl.conf.default
|
935 |
[ -e /var/lib/named/etc/named.conf.default ] || cp /var/lib/named/etc/named.conf /var/lib/named/etc/named.conf.default
|
917 |
[ -e /var/lib/named/etc/named.conf.default ] || cp /var/lib/named/etc/named.conf /var/lib/named/etc/named.conf.default
|
936 |
[ -e /var/lib/named/var/named/master/localdomain.zone.default ] || cp /var/lib/named/var/named/master/localdomain.zone /var/lib/named/var/named/master/localdomain.zone.default
|
918 |
[ -e /var/lib/named/var/named/master/localdomain.zone.default ] || cp /var/lib/named/var/named/master/localdomain.zone /var/lib/named/var/named/master/localdomain.zone.default
|
- |
|
919 |
$SED "s?127.0.0.1;.*?127.0.0.1; $CUSTOM_PRIVATE_NETWORK_MASK;?g" /var/lib/named/etc/trusted_networks_acl.conf
|
- |
|
920 |
$SED "s?listen-on.*?listen-on port 53 \{ 127.0.0.1; $PRIVATE_IP; \};?g" /var/lib/named/etc/named.conf
|
- |
|
921 |
$SED "s?^\/\/ include \"\/etc\/bogon_acl.conf\";.*?include \"\/etc\/bogon_acl.conf\";?g" /var/lib/named/etc/named.conf
|
- |
|
922 |
# On crée l'entrée pour le reverse
|
- |
|
923 |
for i in $(seq $classe)
|
937 |
|
924 |
do
|
938 |
if [ -d /tmp/named ]
|
925 |
o[$i]=`echo $PRIVATE_NETWORK|cut -d"." -f$i`
|
939 |
then
|
926 |
done
|
940 |
mv -f /tmp/named/trusted_networks_acl.conf /var/lib/named/etc/trusted_networks_acl.conf
|
927 |
for i in $(seq $classe -1 1)
|
- |
|
928 |
do
|
941 |
mv -f /tmp/named/named.conf /var/lib/named/etc/
|
929 |
echo -n "${o[$i]}." >> /tmp/rev.txt
|
- |
|
930 |
done
|
942 |
mv -f /tmp/named/localdomain.zone /var/lib/named/var/named/master/localdomain.zone
|
931 |
echo "in-addr.arpa" >> /tmp/rev.txt
|
943 |
chmod 644 /var/lib/named/etc/{trusted_networks_acl.conf,named.conf} /var/lib/named/var/named/master/localdomain.zone
|
932 |
reverse_addr=`cat /tmp/rev.txt`
|
944 |
[ -e /etc/trusted_networks_acl.conf ] || ln -s /var/lib/named/etc/trusted_networks_acl.conf /etc/
|
933 |
rm -f /tmp/rev.txt
|
945 |
[ -e /etc/named.conf ] || ln -s /var/lib/named/etc/named.conf /etc/
|
934 |
cat << EOF >> /var/lib/named/etc/named.conf
|
946 |
rmdir /tmp/named
|
935 |
zone "$reverse_addr" IN {
|
947 |
else
|
936 |
type master;
|
948 |
$SED "s?127.0.0.1;.*?127.0.0.1; $CUSTOM_PRIVATE_NETWORK_MASK;?g" /etc/trusted_networks_acl.conf
|
937 |
file "reverse/localdomain.rev";
|
949 |
# modification du fichier de zone local - peut-être supprimé si redirect systematique de domain vers 127.0.0.1 avec alcasar-iptables.sh
|
- |
|
950 |
$SED "s?listen-on*?listen-on port 53 \{ 127.0.0.1; $PRIVATE_IP; \};?g" /etc/named.conf
|
938 |
allow-update { none; };
|
951 |
$SED "s?^\/\/ include \"\/etc\/bogon_acl.conf\";.*?include \"\/etc\/bogon_acl.conf\"?g" /etc/named.conf
|
- |
|
- |
|
939 |
};
|
- |
|
940 |
EOF
|
952 |
cp -f $DIR_CONF/localdomain.zone /var/lib/named/var/named/master/localdomain.zone
|
941 |
cp -f $DIR_CONF/localdomain.zone /var/lib/named/var/named/master/localdomain.zone
|
- |
|
942 |
echo "$HOSTNAME IN A $PRIVATE_IP" >> /var/lib/named/var/named/master/localdomain.zone
|
953 |
$SED "s?alcasar-localhost.*?$HOSTNAME IN A $PRIVATE_IP?g" /var/named/master/localdomain.zone
|
943 |
echo "alcasar IN CNAME $HOSTNAME" >> /var/lib/named/var/named/master/localdomain.zone
|
954 |
fi
|
- |
|
- |
|
944 |
cp -f $DIR_CONF/localdomain.rev /var/lib/named/var/named/reverse/localdomain.rev
|
955 |
# modification de config de coova-chilli --> fait dans param_chilli
|
945 |
echo "1 IN PTR alcasar." >> /var/lib/named/var/named/reverse/localdomain.rev
|
956 |
# fichier de blacklistage de named dans ... a venir
|
946 |
# fichier de blacklistage de named dans ... a venir
|
957 |
}
|
947 |
}
|
958 |
|
948 |
|
959 |
##########################################################
|
949 |
##########################################################
|
960 |
## Fonction cron ##
|
950 |
## Fonction cron ##
|
Line 1032... |
Line 1022... |
1032 |
## Fonction post_install ##
|
1022 |
## Fonction post_install ##
|
1033 |
## - Modification des bannières (locales et ssh) et des prompts ##
|
1023 |
## - Modification des bannières (locales et ssh) et des prompts ##
|
1034 |
## - Installation de la structure de chiffrement pour root ##
|
1024 |
## - Installation de la structure de chiffrement pour root ##
|
1035 |
## - Mise en place du sudoers et de la sécurité sur les fichiers##
|
1025 |
## - Mise en place du sudoers et de la sécurité sur les fichiers##
|
1036 |
## - Mise en place du la rotation des logs ##
|
1026 |
## - Mise en place du la rotation des logs ##
|
- |
|
1027 |
## - Configuration dans le cas d'une mise à jour ##
|
1037 |
##################################################################
|
1028 |
##################################################################
|
1038 |
post_install()
|
1029 |
post_install()
|
1039 |
{
|
1030 |
{
|
1040 |
# adaptation du script "chien de garde" (watchdog)
|
1031 |
# adaptation du script "chien de garde" (watchdog)
|
1041 |
$SED "s?^PRIVATE_IP=.*?PRIVATE_IP=\"$PRIVATE_IP\"?g" $DIR_DEST_BIN/alcasar-watchdog.sh
|
1032 |
$SED "s?^PRIVATE_IP=.*?PRIVATE_IP=\"$PRIVATE_IP\"?g" $DIR_DEST_BIN/alcasar-watchdog.sh
|
Line 1045... |
Line 1036... |
1045 |
Bienvenue sur $HOSTNAME
|
1036 |
Bienvenue sur $HOSTNAME
|
1046 |
|
1037 |
|
1047 |
EOF
|
1038 |
EOF
|
1048 |
# création de la bannière SSH
|
1039 |
# création de la bannière SSH
|
1049 |
cp /etc/mandriva-release /etc/ssh/alcasar-banner-ssh
|
1040 |
cp /etc/mandriva-release /etc/ssh/alcasar-banner-ssh
|
1050 |
chmod 644 /etc/ssh/alcasar-banner-ssh ; chown root.root /etc/ssh/alcasar-banner-ssh
|
1041 |
chmod 644 /etc/ssh/alcasar-banner-ssh ; chown root:root /etc/ssh/alcasar-banner-ssh
|
1051 |
[ -e /etc/ssh/sshd_config.default ] || cp /etc/ssh/sshd_config /etc/ssh/sshd_config.default
|
1042 |
[ -e /etc/ssh/sshd_config.default ] || cp /etc/ssh/sshd_config /etc/ssh/sshd_config.default
|
1052 |
$SED "s?^Banner.*?Banner /etc/ssh/alcasar-banner-ssh?g" /etc/ssh/sshd_config
|
1043 |
$SED "s?^Banner.*?Banner /etc/ssh/alcasar-banner-ssh?g" /etc/ssh/sshd_config
|
1053 |
$SED "s?^#Banner.*?Banner /etc/ssh/alcasar-banner-ssh?g" /etc/ssh/sshd_config
|
1044 |
$SED "s?^#Banner.*?Banner /etc/ssh/alcasar-banner-ssh?g" /etc/ssh/sshd_config
|
1054 |
# sshd écoute côté LAN
|
1045 |
# sshd écoute côté LAN
|
1055 |
$SED "s?^#ListenAddress 0\.0\.0\.0?ListenAddress $PRIVATE_IP?g" /etc/ssh/sshd_config
|
1046 |
$SED "s?^#ListenAddress 0\.0\.0\.0?ListenAddress $PRIVATE_IP?g" /etc/ssh/sshd_config
|
1056 |
# sshd n'est pas lancé automatiquement au démarrage
|
1047 |
# sshd n'est pas lancé automatiquement au démarrage
|
1057 |
/sbin/chkconfig --del sshd
|
1048 |
/sbin/chkconfig --del sshd
|
1058 |
# Coloration des prompts
|
1049 |
# Coloration des prompts
|
1059 |
[ -e /etc/bashrc.default ] || cp /etc/bashrc /etc/bashrc.default
|
1050 |
[ -e /etc/bashrc.default ] || cp /etc/bashrc /etc/bashrc.default
|
1060 |
cp -f $DIR_CONF/bashrc /etc/. ; chmod 644 /etc/bashrc ; chown root.root /etc/bashrc
|
1051 |
cp -f $DIR_CONF/bashrc /etc/. ; chmod 644 /etc/bashrc ; chown root:root /etc/bashrc
|
1061 |
# Droits d'exécution pour utilisateur apache et sysadmin
|
1052 |
# Droits d'exécution pour utilisateur apache et sysadmin
|
1062 |
[ -e /etc/sudoers.default ] || cp /etc/sudoers /etc/sudoers.default
|
1053 |
[ -e /etc/sudoers.default ] || cp /etc/sudoers /etc/sudoers.default
|
1063 |
cp -f $DIR_CONF/sudoers /etc/. ; chmod 440 /etc/sudoers ; chown root.root /etc/sudoers
|
1054 |
cp -f $DIR_CONF/sudoers /etc/. ; chmod 440 /etc/sudoers ; chown root:root /etc/sudoers
|
1064 |
$SED "s?^Host_Alias.*?Host_Alias LAN_ORG=$PRIVATE_NETWORK_MASK,localhost #réseau de l'organisme?g" /etc/sudoers
|
1055 |
$SED "s?^Host_Alias.*?Host_Alias LAN_ORG=$PRIVATE_NETWORK_MASK,localhost #réseau de l'organisme?g" /etc/sudoers
|
1065 |
# prise en compte de la rotation des logs sur 1 an (concerne mysql, htttpd, dansguardian, squid, radiusd, ulogd)
|
1056 |
# prise en compte de la rotation des logs sur 1 an (concerne mysql, htttpd, dansguardian, squid, radiusd, ulogd)
|
1066 |
cp -f $DIR_CONF/logrotate.d/* /etc/logrotate.d/
|
1057 |
cp -f $DIR_CONF/logrotate.d/* /etc/logrotate.d/
|
1067 |
chmod 644 /etc/logrotate.d/*
|
1058 |
chmod 644 /etc/logrotate.d/*
|
1068 |
# processus lancés par défaut au démarrage
|
1059 |
# processus lancés par défaut au démarrage
|
1069 |
for i in ntpd iptables ulogd squid chilli httpd radiusd mysqld dansguardian
|
1060 |
for i in netfs ntpd iptables ulogd squid chilli httpd radiusd mysqld dansguardian named
|
1070 |
do
|
1061 |
do
|
1071 |
/sbin/chkconfig --add $i
|
1062 |
/sbin/chkconfig --add $i
|
1072 |
done
|
1063 |
done
|
1073 |
# On mets en place la sécurité sur les fichiers
|
1064 |
# On mets en place la sécurité sur les fichiers
|
1074 |
# des modif par rapport à radius update
|
1065 |
# des modif par rapport à radius update
|
Line 1091... |
Line 1082... |
1091 |
/etc/raddb/modules/ldap radius.apache 660
|
1082 |
/etc/raddb/modules/ldap radius.apache 660
|
1092 |
/etc/raddb/sites-available/alcasar radius.apache 660
|
1083 |
/etc/raddb/sites-available/alcasar radius.apache 660
|
1093 |
/etc/pki/* root.apache 750
|
1084 |
/etc/pki/* root.apache 750
|
1094 |
EOF
|
1085 |
EOF
|
1095 |
/usr/sbin/msec
|
1086 |
/usr/sbin/msec
|
- |
|
1087 |
if [ "$mode" = "update" ]
|
- |
|
1088 |
# on charge la conf d'un version précédente
|
- |
|
1089 |
then
|
- |
|
1090 |
$DIR_DEST_BIN/alcasar-conf.sh -load
|
- |
|
1091 |
fi
|
1096 |
cd $DIR_INSTALL
|
1092 |
cd $DIR_INSTALL
|
1097 |
clear
|
1093 |
echo ""
|
1098 |
echo "#############################################################################"
|
1094 |
echo "#############################################################################"
|
1099 |
echo "# Fin d'installation d'ALCASAR #"
|
1095 |
echo "# Fin d'installation d'ALCASAR #"
|
1100 |
echo "# #"
|
1096 |
echo "# #"
|
1101 |
echo "# Application Libre pour le Contrôle Authentifié et Sécurisé #"
|
1097 |
echo "# Application Libre pour le Contrôle Authentifié et Sécurisé #"
|
1102 |
echo "# des Accès au Réseau ( ALCASAR ) #"
|
1098 |
echo "# des Accès au Réseau ( ALCASAR ) #"
|
Line 1117... |
Line 1113... |
1117 |
} # End post_install ()
|
1113 |
} # End post_install ()
|
1118 |
|
1114 |
|
1119 |
#################################
|
1115 |
#################################
|
1120 |
# Boucle principale du script #
|
1116 |
# Boucle principale du script #
|
1121 |
#################################
|
1117 |
#################################
|
1122 |
usage="Usage: alcasar.sh -install | -uninstall | -update"
|
1118 |
usage="Usage: alcasar.sh -install | -uninstall"
|
1123 |
nb_args=$#
|
1119 |
nb_args=$#
|
1124 |
args=$1
|
1120 |
args=$1
|
1125 |
if [ $nb_args -eq 0 ]
|
1121 |
if [ $nb_args -eq 0 ]
|
1126 |
then
|
1122 |
then
|
1127 |
nb_args=1
|
1123 |
nb_args=1
|
Line 1131... |
Line 1127... |
1131 |
-\? | -h* | --h*)
|
1127 |
-\? | -h* | --h*)
|
1132 |
echo "$usage"
|
1128 |
echo "$usage"
|
1133 |
exit 0
|
1129 |
exit 0
|
1134 |
;;
|
1130 |
;;
|
1135 |
-install) # Installation de toutes les briques d'ALCASAR
|
1131 |
-install) # Installation de toutes les briques d'ALCASAR
|
1136 |
mode="install"
|
1132 |
header_install
|
1137 |
for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian firewall param_awstats param_bind cron post_install
|
1133 |
# On teste la version du système
|
- |
|
1134 |
fic=`cat /etc/product.id`
|
- |
|
1135 |
old="$IFS"
|
- |
|
1136 |
IFS=","
|
- |
|
1137 |
set $fic
|
- |
|
1138 |
for i in $*
|
1138 |
do
|
1139 |
do
|
1139 |
$func
|
- |
|
1140 |
# echo "*** 'debug' : end of function $func ***"; read a
|
1140 |
if [ "`echo $i|grep version|cut -d'=' -f1`" == "version" ]
|
1141 |
done
|
- |
|
1142 |
;;
|
- |
|
1143 |
-uninstall)
|
- |
|
1144 |
if [ ! -e $DIR_WEB/VERSION ]
|
- |
|
1145 |
then
|
1141 |
then
|
1146 |
echo "Aucune version d'ALCASAR n'a été trouvée.";
|
1142 |
version=`echo $i|cut -d"=" -f2`
|
1147 |
exit 0
|
- |
|
1148 |
fi
|
1143 |
fi
|
1149 |
echo -n "Etes-vous sûr de vouloir désinstaller ALCASAR (O/n)? "
|
- |
|
1150 |
read reponse
|
1144 |
done
|
- |
|
1145 |
IFS="$old"
|
1151 |
if [ "$reponse" = "n" ] || [ "$reponse" = "N" ]
|
1146 |
if [ ! "$version" = "$MDV_NEEDED" ]
|
1152 |
then
|
1147 |
then
|
1153 |
clear
|
- |
|
- |
|
1148 |
echo "Vous devez installer une des versions suivantes de Linux Mandriva ($MDV_NEEDED)"
|
- |
|
1149 |
echo "Lancez la commande 'alcasar-conf.sh -create' pour créer le fichier de conf de la version actuelle (/tmp/alcasar-conf.tar.gz). Récupérez ce fichier et recopiez-le dans le répertoire '/tmp' après installation du nouveau système"
|
1154 |
exit 0
|
1150 |
exit 0
|
1155 |
fi
|
1151 |
fi
|
1156 |
$DIR_DEST_SBIN/alcasar-uninstall.sh # désinstallation des constituants du portail
|
1152 |
# On teste la présence d'une version déjà installée
|
1157 |
;;
|
- |
|
1158 |
-update)
|
- |
|
1159 |
if [ ! -e $DIR_WEB/VERSION ]
|
1153 |
if [ -e $DIR_WEB/VERSION ]
|
1160 |
then
|
1154 |
then
|
1161 |
echo "Aucune version d'ALCASAR n'a été trouvée."; echo "Utilisez l'option '-install' si vous voulez l'installer.";
|
1155 |
echo -n "La version "; echo -n `cat $DIR_WEB/VERSION`; echo " d'ALCASAR est déjà installée";
|
1162 |
exit 0
|
1156 |
response=0
|
- |
|
1157 |
PTN='^[oOnN]$'
|
- |
|
1158 |
until [[ $(expr $response : $PTN) -gt 0 ]]
|
1163 |
fi
|
1159 |
do
|
1164 |
old_version=`cat $DIR_WEB/VERSION |cut -b 1-3`
|
1160 |
echo -n "Voulez-vous effectuer une mise à jour (O/n)? ";
|
- |
|
1161 |
read response
|
- |
|
1162 |
done
|
1165 |
if [ "$old_version" != "1.8" ] && [ "$old_version" != "1.9" ]
|
1163 |
if [ "$response" = "o" ] || [ "$response" = "O" ]
|
1166 |
then
|
1164 |
then
|
1167 |
echo "Cette mise à jour ne s'applique que sur les versions 1.8 et supérieures";
|
1165 |
# On crée le fichier de conf de la version actuelle
|
1168 |
echo -n "la version installée est : "; echo `cat $DIR_WEB/VERSION`;
|
1166 |
chmod u+x $DIR_SCRIPTS/alcasar-conf.sh
|
1169 |
exit 0
|
1167 |
$DIR_SCRIPTS/alcasar-conf.sh -create
|
1170 |
fi
|
1168 |
fi
|
1171 |
echo -n "Etes-vous sûr de vouloir mettre à jour ALCASAR (O/n)? "
|
1169 |
# On désinstalle la version actuelle
|
1172 |
read reponse
|
- |
|
1173 |
if [ "$reponse" = "n" ] || [ "$reponse" = "N" ]
|
1170 |
$DIR_DEST_SBIN/alcasar-uninstall.sh
|
1174 |
then
|
- |
|
1175 |
clear
|
- |
|
1176 |
exit 0
|
- |
|
1177 |
fi
|
1171 |
fi
|
1178 |
header_update
|
- |
|
1179 |
mode="update"
|
- |
|
1180 |
# On récupère le nom d'organisme
|
- |
|
1181 |
ORGANISME=`hostname|cut -b 9-`
|
- |
|
1182 |
# Mets-on a jour le certificat serveur (o/n) ?
|
- |
|
1183 |
cert_date=`/usr/bin/openssl x509 -noout -in /etc/pki/tls/certs/alcasar.crt -dates|grep After|cut -d"=" -f2`
|
- |
|
1184 |
echo "le certificat actuel d'Alcasar expire le : $cert_date".
|
- |
|
1185 |
echo "Vous pouvez le remplacer par un nouveau qui sera valide 5 ans".
|
- |
|
1186 |
echo "Dans ce cas, il faudra supprimer l'ancien des navigateurs".
|
- |
|
1187 |
echo "Voulez-vous garder le certificat actuel (recommandé) (o/n)? "
|
- |
|
1188 |
read old_cert
|
- |
|
1189 |
if [ "$old_cert" = "o" ] || [ "$old_cert" = "O" ]
|
1172 |
if [ -e /tmp/alcasar-conf.tar.gz ]
|
1190 |
then
|
1173 |
then
|
- |
|
1174 |
echo "#### Installation avec mise à jour ####"
|
- |
|
1175 |
# On récupère le nom d'organisme à partir de fichier de conf
|
1191 |
cp -f /etc/pki/tls/certs/alcasar.crt /tmp/
|
1176 |
tar -xvf /tmp/alcasar-conf.tar.gz conf/hostname
|
1192 |
cp -f /etc/pki/tls/private/alcasar.key /tmp/
|
1177 |
ORGANISME=`cat $DIR_CONF/hostname|cut -b 9-`
|
- |
|
1178 |
hostname `cat $DIR_CONF/hostname`
|
- |
|
1179 |
mode="update"
|
- |
|
1180 |
else
|
- |
|
1181 |
mode="install"
|
1193 |
fi
|
1182 |
fi
|
1194 |
# Sauvegarde du certificat de la CA
|
- |
|
1195 |
cp -f /etc/pki/CA/alcasar-ca.crt /tmp/
|
- |
|
1196 |
cp -f /etc/pki/CA/private/alcasar-ca.key /tmp/
|
- |
|
1197 |
# export de la base pour sauvegarde et réinjection
|
1183 |
for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian firewall param_awstats param_bind cron post_install
|
1198 |
$DIR_DEST_SBIN/alcasar-mysql.sh -dump
|
- |
|
1199 |
# Sauvegarde des comptes de gestion
|
- |
|
1200 |
cp -rf $DIR_WEB/digest /tmp/
|
- |
|
1201 |
# Sauvegarde du nom d'organisme
|
- |
|
1202 |
HOST=`hostname`
|
1184 |
do
|
1203 |
# Sauvegarde du logo
|
- |
|
1204 |
cp -f $DIR_WEB/images/organisme.png /tmp/
|
- |
|
1205 |
# Sauvegarde des uamallowed (urls et domaines)
|
- |
|
1206 |
cp -f /etc/chilli/alcasar-uamallowed /tmp/alcasar-uamallowed
|
- |
|
1207 |
cp -f /etc/chilli/alcasar-uamdomain /tmp/alcasar-uamdomain
|
- |
|
1208 |
# Sauvegarde des listes de filtrage (BL principale et secondaire, @IP non filtrés, etc.)
|
- |
|
1209 |
echo "sauvegarde de l'ancienne blacklist ..."
|
- |
|
1210 |
cp -rf /etc/dansguardian/lists/ /tmp/
|
- |
|
1211 |
# sauvegarde des fichiers de filtrage réseau
|
- |
|
1212 |
mkdir /tmp/etc/
|
1185 |
$func
|
1213 |
cp -rf $DIR_DEST_ETC/* /tmp/etc/
|
- |
|
1214 |
# sauvegarde des fichiers DNS Bind : probablement pas utile
|
1186 |
# echo "*** 'debug' : end of function $func ***"; read a
|
1215 |
cp /etc/named.conf /tmp/named/
|
- |
|
1216 |
cp /var/lib/named/etc/trusted_networks_acl.conf /tmp/named/
|
- |
|
1217 |
cp /var/lib/named/var/named/master/localdomain.zone /tmp/named/
|
- |
|
1218 |
# désinstallation des constituants du portail
|
- |
|
1219 |
chmod 750 $DIR_SCRIPTS/sbin/alcasar-uninstall.sh
|
- |
|
1220 |
$DIR_SCRIPTS/sbin/alcasar-uninstall.sh
|
- |
|
1221 |
# réinstallation
|
- |
|
1222 |
hostname $HOST
|
- |
|
1223 |
init
|
1187 |
done
|
1224 |
network
|
1188 |
;;
|
1225 |
gestion
|
1189 |
-uninstall)
|
1226 |
# Installation de l'interface de gestion
|
- |
|
1227 |
# Récupération du logo
|
- |
|
1228 |
mv -f /tmp/organisme.png $DIR_WEB/images/
|
- |
|
1229 |
chown apache:apache $DIR_WEB/images/organisme.png $DIR_WEB/intercept.php
|
- |
|
1230 |
# Récupération du certificat de la CA
|
- |
|
1231 |
mv -f /tmp/alcasar-ca.crt /etc/pki/CA/
|
- |
|
1232 |
mv -f /tmp/alcasar-ca.key /etc/pki/CA/private/
|
- |
|
1233 |
if [ "$old_cert" = "o" ] || [ "$old_cert" = "O" ]
|
- |
|
1234 |
then # on récupère l'ancien et on pointe dessus
|
- |
|
1235 |
mv -f /tmp/alcasar.crt /etc/pki/tls/certs/
|
- |
|
1236 |
mv -f /tmp/alcasar.key /etc/pki/tls/private/
|
- |
|
1237 |
[ -d $DIR_WEB/certs ] || mkdir -p $DIR_WEB/certs
|
1190 |
if [ ! -e $DIR_DEST_SBIN/alcasar-uninstall.sh ]
|
1238 |
chown apache:apache $DIR_WEB/certs
|
- |
|
1239 |
rm -f $DIR_WEB/certs/*
|
- |
|
1240 |
ln -s /etc/pki/tls/certs/alcasar.crt $DIR_WEB/certs/certificat_alcasar.pem
|
- |
|
1241 |
ln -s /etc/pki/CA/alcasar-ca.crt $DIR_WEB/certs/certificat_alcasar_ca.pem
|
- |
|
1242 |
chown -R root.apache /etc/pki
|
- |
|
1243 |
chmod -R 750 /etc/pki
|
1191 |
then
|
1244 |
else # création d'un nouveau certificat serveur
|
1192 |
echo "Aucune version d'ALCASAR n'a été trouvée.";
|
1245 |
AC
|
1193 |
exit 0
|
1246 |
fi
|
1194 |
fi
|
1247 |
init_db # Création de la base 'radius' sur le serveur MySql
|
- |
|
1248 |
# Import de la dernière base usagers
|
- |
|
1249 |
mysql -u$DB_USER -p$radiuspwd < $DIR_SAVE/base/`ls $DIR_SAVE/base|tail -1`
|
- |
|
1250 |
param_radius
|
1195 |
response=0
|
1251 |
param_web_radius
|
- |
|
1252 |
param_chilli
|
1196 |
PTN='^[oOnN]$'
|
1253 |
# Récupération des uamallowed
|
- |
|
1254 |
mv -f /tmp/alcasar-uam* /etc/chilli/.
|
1197 |
until [[ $(expr $response : $PTN) -gt 0 ]]
|
1255 |
chown root:apache /etc/chilli/alcasar-uam*
|
- |
|
1256 |
chmod 660 /etc/chilli/alcasar-uam*
|
- |
|
1257 |
param_squid
|
1198 |
do
|
1258 |
param_dansguardian
|
- |
|
1259 |
# Récupération des listes de filtrage (BL principale et secondaire, @IP non filtrés, etc.)
|
1199 |
echo -n "Voulez-vous créer le fichier de conf de la version actuelle (0/n)? "
|
1260 |
rm -rf /etc/dansguardian/lists
|
- |
|
1261 |
mv /tmp/lists/ /etc/dansguardian/
|
- |
|
1262 |
firewall
|
- |
|
1263 |
param_awstats
|
1200 |
read response
|
1264 |
cron
|
1201 |
done
|
1265 |
# Récupération des comptes de gestion (admin + manager + backup)
|
- |
|
1266 |
mv -f /tmp/digest $DIR_WEB/
|
- |
|
1267 |
$DIR_DEST_SBIN/alcasar-profil.sh -list
|
- |
|
1268 |
# Récupération des règles de filtrage réseau
|
1202 |
if [ "$reponse" = "o" ] || [ "$reponse" = "O" ]
|
1269 |
if [ -d /tmp/etc ]
|
- |
|
1270 |
then
|
1203 |
then
|
1271 |
mv -f /tmp/etc/* $DIR_DEST_ETC/
|
- |
|
1272 |
chown root:apache $DIR_DEST_ETC/*
|
1204 |
$DIR_SCRIPT/alcasar-conf.sh -create
|
1273 |
chmod 660 $DIR_DEST_ETC/*
|
- |
|
1274 |
rmdir /tmp/etc
|
- |
|
1275 |
fi
|
1205 |
fi
|
- |
|
1206 |
# On désinstalle la version actuelle
|
1276 |
post_install
|
1207 |
$DIR_DEST_SBIN/alcasar-uninstall.sh
|
1277 |
;;
|
1208 |
;;
|
1278 |
*)
|
1209 |
*)
|
1279 |
echo "Argument inconnu :$1";
|
1210 |
echo "Argument inconnu :$1";
|
1280 |
echo "$usage"
|
1211 |
echo "$usage"
|
1281 |
exit 1
|
1212 |
exit 1
|