Line 1... |
Line 1... |
1 |
#!/bin/sh
|
1 |
#!/bin/sh
|
2 |
# $Id: alcasar.sh 234 2010-09-11 09:25:13Z richard $
|
2 |
# $Id: alcasar.sh 235 2010-09-12 21:38:51Z richard $
|
3 |
|
3 |
|
4 |
# alcasar.sh
|
4 |
# alcasar.sh
|
5 |
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
|
5 |
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
|
6 |
# This script is distributed under the Gnu General Public License (GPL)
|
6 |
# This script is distributed under the Gnu General Public License (GPL)
|
7 |
|
7 |
|
Line 62... |
Line 62... |
62 |
SQUID_PORT="3128" # Port d'écoute du proxy Squid
|
62 |
SQUID_PORT="3128" # Port d'écoute du proxy Squid
|
63 |
UAMPORT="3990"
|
63 |
UAMPORT="3990"
|
64 |
# ****** Paths - chemin des commandes *******
|
64 |
# ****** Paths - chemin des commandes *******
|
65 |
SED="/bin/sed -i"
|
65 |
SED="/bin/sed -i"
|
66 |
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ******
|
66 |
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ******
|
67 |
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd dhcp-server openssh-server php-xml coova-chilli pam_ccreds rng-utils lsb-release dnsmasq clamav sudo"
|
67 |
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd dhcp-server openssh-server php-xml coova-chilli pam_ccreds rng-utils lsb-release dnsmasq clamav sudo cronie-anacron"
|
68 |
# ****************** End of global parameters *********************
|
68 |
# ****************** End of global parameters *********************
|
69 |
|
69 |
|
70 |
header_install ()
|
70 |
header_install ()
|
71 |
{
|
71 |
{
|
72 |
clear
|
72 |
clear
|
Line 200... |
Line 200... |
200 |
# On supprime les paquetages et les services inutiles
|
200 |
# On supprime les paquetages et les services inutiles
|
201 |
for rm_rpm in avahi mandi shorewall-common shorewall libc-icap0 cyrus-sasl
|
201 |
for rm_rpm in avahi mandi shorewall-common shorewall libc-icap0 cyrus-sasl
|
202 |
do
|
202 |
do
|
203 |
/usr/sbin/urpme --auto $rm_rpm
|
203 |
/usr/sbin/urpme --auto $rm_rpm
|
204 |
done
|
204 |
done
|
205 |
for svc in alsa sound dm atd memcached dc_server
|
205 |
for svc in alsa sound dm atd dc_server
|
206 |
do
|
206 |
do
|
207 |
/sbin/chkconfig --del $svc
|
207 |
/sbin/chkconfig --del $svc
|
208 |
done
|
208 |
done
|
209 |
# On installe les RPMs spécifiques à la version
|
209 |
# On installe les RPMs spécifiques à la version
|
210 |
fic=`cat /etc/product.id`
|
210 |
fic=`cat /etc/product.id`
|
Line 347... |
Line 347... |
347 |
cat <<EOF > /etc/sysconfig/network
|
347 |
cat <<EOF > /etc/sysconfig/network
|
348 |
NETWORKING=yes
|
348 |
NETWORKING=yes
|
349 |
HOSTNAME="$HOSTNAME"
|
349 |
HOSTNAME="$HOSTNAME"
|
350 |
FORWARD_IPV4=true
|
350 |
FORWARD_IPV4=true
|
351 |
EOF
|
351 |
EOF
|
352 |
# On supprime les log_martians
|
- |
|
353 |
$SED "s?^ENABLE_LOG_STRANGE_PACKETS=.*?ENABLE_LOG_STRANGE_PACKETS=no?g" /etc/security/msec/security.conf
|
- |
|
354 |
# Modif /etc/hosts
|
352 |
# Modif /etc/hosts
|
355 |
[ -e /etc/hosts.default ] || cp /etc/hosts /etc/hosts.default
|
353 |
[ -e /etc/hosts.default ] || cp /etc/hosts /etc/hosts.default
|
356 |
cat <<EOF > /etc/hosts
|
354 |
cat <<EOF > /etc/hosts
|
357 |
127.0.0.1 $HOSTNAME localhost.localdomain localhost
|
355 |
127.0.0.1 $HOSTNAME localhost.localdomain localhost
|
358 |
$PRIVATE_IP $HOSTNAME alcasar portail
|
356 |
$PRIVATE_IP $HOSTNAME alcasar portail
|
Line 784... |
Line 782... |
784 |
$SED "s?uamanydns??g" /etc/chilli/functions
|
782 |
$SED "s?uamanydns??g" /etc/chilli/functions
|
785 |
# on fixe la socket de commande local (/var/run/chilli.sock)
|
783 |
# on fixe la socket de commande local (/var/run/chilli.sock)
|
786 |
$SED "s?^CMDSOCK=.*?CMDSOCK=\$RUN_D/chilli.sock?g" /etc/chilli/functions
|
784 |
$SED "s?^CMDSOCK=.*?CMDSOCK=\$RUN_D/chilli.sock?g" /etc/chilli/functions
|
787 |
# modification du fichier d'initialisation
|
785 |
# modification du fichier d'initialisation
|
788 |
[ -e /etc/init.d/chilli.default ] || cp /etc/init.d/chilli /etc/init.d/chilli.default
|
786 |
[ -e /etc/init.d/chilli.default ] || cp /etc/init.d/chilli /etc/init.d/chilli.default
|
789 |
# configuration d'eth1 (utile pour dhcpd))
|
787 |
# configuration d'eth1 (utile pour dnsmasq))
|
790 |
$SED "s?ifconfig.*?ifconfig \$HS_LANIF $PRIVATE_IP?g" /etc/init.d/chilli
|
788 |
$SED "s?ifconfig.*?ifconfig \$HS_LANIF $PRIVATE_IP?g" /etc/init.d/chilli
|
791 |
# ajout de la fontion 'status' (utile pour la gestion du process)
|
789 |
# ajout de la fontion 'status' (utile pour la gestion du process)
|
792 |
$SED "/^[\t ]*stop)/i\ status)\n status chilli\n RETVAL=$?\n ;;\n" /etc/init.d/chilli
|
790 |
$SED "/^[\t ]*stop)/i\ status)\n status chilli\n RETVAL=$?\n ;;\n" /etc/init.d/chilli
|
- |
|
791 |
# insertion d'une tempo sur le 'restart' pour permettre à tun0 d'être libérée
|
- |
|
792 |
$SED "/^[\t ]*\$0 start/i\ sleep 2" /etc/init.d/chilli
|
793 |
# création du fichier de conf
|
793 |
# création du fichier de conf
|
794 |
cp /etc/chilli/defaults /etc/chilli/config
|
794 |
cp /etc/chilli/defaults /etc/chilli/config
|
795 |
$SED "s?^# HS_WANIF=.*?HF_WANIF=$EXTIF?g" /etc/chilli/config
|
795 |
$SED "s?^# HS_WANIF=.*?HF_WANIF=$EXTIF?g" /etc/chilli/config
|
796 |
$SED "s?^HS_LANIF=.*?HS_LANIF=$INTIF?g" /etc/chilli/config
|
796 |
$SED "s?^HS_LANIF=.*?HS_LANIF=$INTIF?g" /etc/chilli/config
|
797 |
$SED "s?^HS_NETWORK=.*?HS_NETWORK=$PRIVATE_NETWORK?g" /etc/chilli/config
|
797 |
$SED "s?^HS_NETWORK=.*?HS_NETWORK=$PRIVATE_NETWORK?g" /etc/chilli/config
|
Line 1033... |
Line 1033... |
1033 |
SetEnv PERL5LIB /usr/share/awstats/lib:/usr/share/awstats/plugins
|
1033 |
SetEnv PERL5LIB /usr/share/awstats/lib:/usr/share/awstats/plugins
|
1034 |
EOF
|
1034 |
EOF
|
1035 |
} # End of param_awstats ()
|
1035 |
} # End of param_awstats ()
|
1036 |
|
1036 |
|
1037 |
##########################################################
|
1037 |
##########################################################
|
1038 |
## Fonction bind ##
|
1038 |
## Fonction param_dnsmasq ##
|
1039 |
## - Mise en place des différents fichiers de bind ## En cours de remplacement par DNSMASQ
|
1039 |
## - Mise en place des différents fichiers de bind ##
|
1040 |
##########################################################
|
1040 |
##########################################################
|
1041 |
param_dnsmasq ()
|
1041 |
param_dnsmasq ()
|
1042 |
{
|
1042 |
{
|
1043 |
[ -d /etc/dnsmasq.d ] || mkdir /etc/dnsmasq.d
|
1043 |
[ -d /etc/dnsmasq.d ] || mkdir /etc/dnsmasq.d
|
1044 |
[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq
|
1044 |
[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq
|
Line 1046... |
Line 1046... |
1046 |
$SED "s?^[^#]?#&?g" /etc/dnsmasq.conf # (on commente ce qui ne l'est pas)
|
1046 |
$SED "s?^[^#]?#&?g" /etc/dnsmasq.conf # (on commente ce qui ne l'est pas)
|
1047 |
cp -f $DIR_CONF/alcasar-dnsmasq.conf /etc/dnsmasq.d/.
|
1047 |
cp -f $DIR_CONF/alcasar-dnsmasq.conf /etc/dnsmasq.d/.
|
1048 |
ln -s $DIR_DEST_ETC/alcasar-dnsmasq-filter /etc/dnsmasq.d/
|
1048 |
ln -s $DIR_DEST_ETC/alcasar-dnsmasq-filter /etc/dnsmasq.d/
|
1049 |
ln -s $DIR_DEST_ETC/alcasar-dnsmasq-ossi /etc/dnsmasq.d/
|
1049 |
ln -s $DIR_DEST_ETC/alcasar-dnsmasq-ossi /etc/dnsmasq.d/
|
1050 |
$SED "s?^#conf-dir=.*?conf-dir=/etc/dnsmasq.d?g" /etc/dnsmasq.conf # les fichiers de config se trouvent dans /etc/dnsmasq.d/*
|
1050 |
$SED "s?^#conf-dir=.*?conf-dir=/etc/dnsmasq.d?g" /etc/dnsmasq.conf # les fichiers de config se trouvent dans /etc/dnsmasq.d/*
|
1051 |
$SED "s?^#except-interface=.*?except-interface=$EXTIF?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
- |
|
1052 |
$SED "s?^domain=.*?domain=$DOMAIN?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
1051 |
$SED "s?^domain=.*?domain=$DOMAIN?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
1053 |
$SED "s?^#dhcp-range=.*?dhcp-range=$ORGANISME,$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
- |
|
1054 |
$SED "s?^#listen-address=.*?listen-address=$PRIVATE_IP?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
1052 |
$SED "s?^#listen-address=.*?listen-address=$PRIVATE_IP?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
- |
|
1053 |
$SED "s?^#dhcp-range=.*?dhcp-range=$ORGANISME,$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_MASK,12h?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
- |
|
1054 |
$SED "s?^#server=.*?server=$DNS1?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
|
- |
|
1055 |
$SED "/^server=/i\server=$DNS2" /etc/init.d/chilli
|
1055 |
$SED "s?^DHCP_LEASE=.*?DHCP_LEASE=/var/log/dnsmasq/lease.log?g" /etc/sysconfig/dnsmasq
|
1056 |
$SED "s?^DHCP_LEASE=.*?DHCP_LEASE=/var/log/dnsmasq/lease.log?g" /etc/sysconfig/dnsmasq
|
1056 |
chown root:apache /usr/local/etc/alcasar-dnsmasq-filter # modifiable par apache et interface de gestion ??? a voir ; droits modifies ligne 251
|
1057 |
chown root:apache /usr/local/etc/alcasar-dnsmasq-filter # modifiable par apache et interface de gestion ??? a voir ; droits modifies ligne 251
|
1057 |
chmod -R 660 /usr/local/etc/alcasar-dnsmasq-filter
|
1058 |
chmod -R 660 /usr/local/etc/alcasar-dnsmasq-filter
|
1058 |
chown root:apache /usr/local/etc/alcasar-dnsmasq-ossi # modifiable par apache et interface de gestion
|
1059 |
chown root:apache /usr/local/etc/alcasar-dnsmasq-ossi # modifiable par apache et interface de gestion
|
1059 |
chmod -R 660 /usr/local/etc/alcasar-dnsmasq-ossi
|
1060 |
chmod -R 660 /usr/local/etc/alcasar-dnsmasq-ossi
|
Line 1212... |
Line 1213... |
1212 |
# for i in netfs ntpd iptables ulogd dhcpd squid named chilli httpd radiusd mysqld dansguardian havp freshclam
|
1213 |
# for i in netfs ntpd iptables ulogd dhcpd squid named chilli httpd radiusd mysqld dansguardian havp freshclam
|
1213 |
for i in netfs ntpd iptables ulogd dnsmasq squid chilli httpd radiusd mysqld dansguardian havp freshclam
|
1214 |
for i in netfs ntpd iptables ulogd dnsmasq squid chilli httpd radiusd mysqld dansguardian havp freshclam
|
1214 |
do
|
1215 |
do
|
1215 |
/sbin/chkconfig --add $i
|
1216 |
/sbin/chkconfig --add $i
|
1216 |
done
|
1217 |
done
|
- |
|
1218 |
# On affecte le niveau de sécurité "fileserver" (c'est pas mal) ...
|
- |
|
1219 |
$SED "s?BASE_LEVEL=.*?BASE_LEVEL=fileserver?g" /etc/security/msec/security.conf
|
1217 |
# On supprime la vérification périodique du mode promiscious des interfaces réseaux ( nombreuses alertes sur eth1 dû à Tun0 de coova-chilli )
|
1220 |
# On supprime la vérification périodique du mode promiscious des interfaces réseaux ( nombreuses alertes sur eth1 dû à Tun0 de coova-chilli )
|
1218 |
$SED "s?CHECK_PROMISC=.*?CHECK_PROMISC=no?g" /etc/security/msec/security.conf
|
1221 |
$SED "s?CHECK_PROMISC=.*?CHECK_PROMISC=no?g" /etc/security/msec/level.fileserver
|
- |
|
1222 |
# On supprime les log_martians
|
- |
|
1223 |
$SED "s?^ENABLE_LOG_STRANGE_PACKETS=.*?ENABLE_LOG_STRANGE_PACKETS=no?g" /etc/security/msec/level.fileserver
|
1219 |
# On mets en place la sécurité sur les fichiers
|
1224 |
# On mets en place la sécurité sur les fichiers
|
1220 |
# des modif par rapport à radius update
|
1225 |
# des modif par rapport à radius update
|
1221 |
cat <<EOF > /etc/security/msec/perm.local
|
1226 |
cat <<EOF > /etc/security/msec/perm.local
|
1222 |
/var/log/firewall/ root.apache 750
|
1227 |
/var/log/firewall/ root.apache 750
|
1223 |
/var/log/firewall/* root.apache 640
|
1228 |
/var/log/firewall/* root.apache 640
|
Line 1264... |
Line 1269... |
1264 |
echo
|
1269 |
echo
|
1265 |
echo "- Lisez attentivement la documentation d'exploitation"
|
1270 |
echo "- Lisez attentivement la documentation d'exploitation"
|
1266 |
echo
|
1271 |
echo
|
1267 |
echo "- L'interface de gestion est consultable à partir de n'importe quel poste"
|
1272 |
echo "- L'interface de gestion est consultable à partir de n'importe quel poste"
|
1268 |
echo " situé sur le réseau de consultation à l'URL https://$PRIVATE_IP "
|
1273 |
echo " situé sur le réseau de consultation à l'URL https://$PRIVATE_IP "
|
1269 |
echo " ou à l'URL https://$HOSTNAME "
|
1274 |
echo " ou à l'URL https://alcasar "
|
1270 |
echo
|
1275 |
echo
|
1271 |
echo " Appuyez sur 'Entrée' pour continuer"
|
1276 |
echo " Appuyez sur 'Entrée' pour continuer"
|
1272 |
read a
|
1277 |
read a
|
1273 |
clear
|
1278 |
clear
|
1274 |
reboot
|
1279 |
reboot
|