Subversion Repositories ALCASAR

Rev

Rev 234 | Rev 248 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 234 Rev 235
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