Subversion Repositories ALCASAR

Rev

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

Rev 1484 Rev 1485
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
#  $Id: alcasar.sh 1484 2014-11-11 23:14:36Z richard $ 
2
#  $Id: alcasar.sh 1485 2014-11-12 08:12:40Z richard $ 
3
 
3
 
4
# alcasar.sh
4
# alcasar.sh
5
 
5
 
6
# ALCASAR Install script -  CopyLeft ALCASAR Team [Rexy + 3abtux + Steweb + Crox + ...] 
6
# ALCASAR Install script -  CopyLeft ALCASAR Team [Rexy + 3abtux + Steweb + Crox + ...] 
7
# Ce programme est un logiciel libre ; This software is free and open source
7
# Ce programme est un logiciel libre ; This software is free and open source
Line 36... Line 36...
36
#	radius			: FreeRadius initialisation
36
#	radius			: FreeRadius initialisation
37
#	radius_web		: copy ans modifiy original "freeradius web" in ACC
37
#	radius_web		: copy ans modifiy original "freeradius web" in ACC
38
#	chilli			: coovachilli initialisation (+authentication page)
38
#	chilli			: coovachilli initialisation (+authentication page)
39
#	dansguardian		: DansGuardian filtering HTTP proxy configuration
39
#	dansguardian		: DansGuardian filtering HTTP proxy configuration
40
#	antivirus		: HAVP + libclamav configuration
40
#	antivirus		: HAVP + libclamav configuration
-
 
41
#	tinyproxy		: little proxy for user filtered with "WL + antivirus" and "antivirus"
41
#	ulogd			: log system in userland (match NFLOG target of iptables)
42
#	ulogd			: log system in userland (match NFLOG target of iptables)
42
#	nfsen		:	: Configuration du grapheur nfsen pour apache 
43
#	nfsen		:	: Configuration du grapheur nfsen pour apache 
43
#	dnsmasq			: Name server configuration
44
#	dnsmasq			: Name server configuration
44
#	BL			: BlackList of Toulouse configuration : split into 3 BL (for Dnsmasq, for dansguardian and for Netfilter)
45
#	BL			: BlackList of Toulouse configuration : split into 3 BL (for Dnsmasq, for dansguardian and for Netfilter)
45
#	cron			: Logs export + watchdog + connexion statistics
46
#	cron			: Logs export + watchdog + connexion statistics
Line 1221... Line 1222...
1221
	      groupdel havp 2>/dev/null
1222
	      groupdel havp 2>/dev/null
1222
	fi
1223
	fi
1223
	groupadd -f havp
1224
	groupadd -f havp
1224
	useradd -r -g havp -s /bin/false -c "system user for havp" havp
1225
	useradd -r -g havp -s /bin/false -c "system user for havp" havp
1225
	mkdir -p /var/tmp/havp /var/log/havp /var/run/havp
1226
	mkdir -p /var/tmp/havp /var/log/havp /var/run/havp
1226
	mkdir -p /var/tmp/havp2 /var/log/havp2 /var/run/havp2
-
 
1227
	chown -R havp:havp /var/tmp/havp /var/log/havp /var/run/havp
1227
	chown -R havp:havp /var/tmp/havp /var/log/havp /var/run/havp
1228
	chown -R havp:havp /var/tmp/havp2 /var/log/havp2 /var/run/havp2
-
 
1229
	[ -e /etc/havp/havp.config.default ] || cp /etc/havp/havp.config /etc/havp/havp.config.default
1228
	[ -e /etc/havp/havp.config.default ] || cp /etc/havp/havp.config /etc/havp/havp.config.default
1230
	$SED "/^REMOVETHISLINE/d" /etc/havp/havp.config
1229
	$SED "/^REMOVETHISLINE/d" /etc/havp/havp.config
1231
	$SED "s?^# PIDFILE.*?PIDFILE /var/run/havp/havp.pid?g" /etc/havp/havp.config	# pidfile
1230
	$SED "s?^# PIDFILE.*?PIDFILE /var/run/havp/havp.pid?g" /etc/havp/havp.config	# pidfile
1232
	$SED "s?^# TRANSPARENT.*?TRANSPARENT false?g" /etc/havp/havp.config		# transparent mode
1231
	$SED "s?^# TRANSPARENT.*?TRANSPARENT false?g" /etc/havp/havp.config		# transparent mode
1233
	$SED "s?^# BIND_ADDRESS.*?BIND_ADDRESS 127.0.0.1?g" /etc/havp/havp.config	# we listen only on loopback
1232
	$SED "s?^# BIND_ADDRESS.*?BIND_ADDRESS 127.0.0.1?g" /etc/havp/havp.config	# we listen only on loopback
1234
	$SED "s?^# PORT.*?PORT 8090?g" /etc/havp/havp.config				# datas come on 8090 (on loopback)
1233
	$SED "s?^# PORT.*?PORT 8090?g" /etc/havp/havp.config				# datas come on port 8090 (on loopback)
1235
	$SED "s?^# TIMEFORMAT.*?TIMEFORMAT %Y %b %d %H:%M:%S?g" /etc/havp/havp.config	# Log format
1234
	$SED "s?^# TIMEFORMAT.*?TIMEFORMAT %Y %b %d %H:%M:%S?g" /etc/havp/havp.config	# Log format
1236
	$SED "s?^ENABLECLAMLIB.*?ENABLECLAMLIB true?g" /etc/havp/havp.config		# active libclamav AV
1235
	$SED "s?^ENABLECLAMLIB.*?ENABLECLAMLIB true?g" /etc/havp/havp.config		# active libclamav AV
1237
	$SED "s?^# LOG_OKS.*?LOG_OKS false?g" /etc/havp/havp.config			# log only when malware matches
1236
	$SED "s?^# LOG_OKS.*?LOG_OKS false?g" /etc/havp/havp.config			# log only when malware matches
1238
	$SED "s?^# SERVERNUMBER.*?SERVERNUMBER 10?g" /etc/havp/havp.config		# 10 daemons are started simultaneously
1237
	$SED "s?^# SERVERNUMBER.*?SERVERNUMBER 10?g" /etc/havp/havp.config		# 10 daemons are started simultaneously
1239
	$SED "s?^# SCANIMAGES.*?SCANIMAGES false?g" /etc/havp/havp.config		# doesn't scan image files
1238
	$SED "s?^# SCANIMAGES.*?SCANIMAGES false?g" /etc/havp/havp.config		# doesn't scan image files
1240
	$SED "s?^# SKIPMIME.*?SKIPMIME image\/\* video\/\* audio\/\*?g" /etc/havp/havp.config # doesn't scan some multimedia files
1239
	$SED "s?^# SKIPMIME.*?SKIPMIME image\/\* video\/\* audio\/\*?g" /etc/havp/havp.config # doesn't scan some multimedia files
1241
	cp /etc/havp/havp.config /etc/havp/havp2.config
-
 
1242
	$SED "s?^PIDFILE.*?PIDFILE /var/run/havp/havp2.pid?g" /etc/havp/havp2.config	# pidfile
-
 
1243
	$SED "s?^TRANSPARENT.*?TRANSPARENT true?g" /etc/havp/havp2.config		# transparent mode
-
 
1244
	$SED "s?^BIND_ADDRESS.*?BIND_ADDRESS $PRIVATE_IP?g" /etc/havp/havp2.config	# we listen only on tun0
-
 
1245
	$SED "s?^PORT.*?PORT 8090?g" /etc/havp/havp2.config				# datas come on 8091 
-
 
1246
# skip checking of youtube flow (too heavy load / risk too low)
1240
# skip checking of youtube flow (too heavy load / risk too low)
1247
	[ -e /etc/havp/whitelist.default ] || cp /etc/havp/whitelist /etc/havp/whitelist.default
1241
	[ -e /etc/havp/whitelist.default ] || cp /etc/havp/whitelist /etc/havp/whitelist.default
1248
	echo "# Whitelist youtube flow" >> /etc/havp/whitelist
1242
	echo "# Whitelist youtube flow" >> /etc/havp/whitelist
1249
	echo "*.youtube.com/*" >> /etc/havp/whitelist
1243
	echo "*.youtube.com/*" >> /etc/havp/whitelist
1250
# replacement of init script
1244
# replacement of init script
1251
	[ -e /etc/init.d/havp.default ] || cp /etc/init.d/havp /etc/init.d/havp.default
1245
	[ -e /etc/init.d/havp.default ] || cp /etc/init.d/havp /etc/init.d/havp.default
1252
	cp -f $DIR_CONF/havp-init /etc/init.d/havp
1246
	cp -f $DIR_CONF/havp-init /etc/init.d/havp
1253
	cp /etc/init.d/havp /etc/init.d/havp2
-
 
1254
	$SED "s?^# description.*?# description: starts HAVP2 the High Availability Antivirus Proxy?g" /etc/init.d/havp2		# description
-
 
1255
	$SED "s?^HAVP_CONFIG.*?HAVP_CONFIG=/etc/havp/havp2.config?g" /etc/init.d/havp2						# config file
-
 
1256
	$SED "s?^PIDFILE.*?PIDFILE=/var/run/havp2/havp.pid?g" /etc/init.d/havp2							# pidfile
-
 
1257
	$SED "s?^NAME.*?NAME=havp2?g" /etc/init.d/havp2										# name
-
 
1258
	$SED "s?^DESC.*?DESC=havp2?g" /etc/init.d/havp2										# desc
-
 
1259
	$SED "s?^havp_mountpoint.*?havp_mountpoint=/var/tmp/havp2?g" /etc/init.d/havp2						# mountpoint
-
 
1260
	$SED "s?echo \"Reloading HAVP ...\".*?echo \"Reloading HAVP2 ...\"?g" /etc/init.d/havp2					# reloading havp
-
 
1261
	$SED "s?echo \"Error: HAVP not running\".*?echo \"Error : HAVP2 not running\"?g" /etc/init.d/havp2			# error havp
-
 
1262
	$SED "s?echo \"Error: HAVP not running or PIDFILE not readable\".*?echo \"Error : HAVP2 not running or PIDFILE not readable\"?g" /etc/init.d/havp2 # error havp
-
 
1263
	$SED "s?echo \"Error: HAVP not running or PIDFILE unreadable\".*?echo \"Error : HAVP2 not running or PIDFILE unreadable\"?g" /etc/init.d/havp2 # error havp
-
 
1264
	$SED "s?echo \"Shutting down HAVP ...\".*?echo \"Shutting down HAVP2 ...\"?g" /etc/init.d/havp2 			# shutting down havp
-
 
1265
	$SED "s?status havp.*?status havp2?g" /etc/init.d/havp2 								# status havp
-
 
1266
# replace of the intercept page (template)
1247
# replace of the intercept page (template)
1267
	cp -f $DIR_CONF/virus-fr.html /etc/havp/templates/fr/virus.html
1248
	cp -f $DIR_CONF/virus-fr.html /etc/havp/templates/fr/virus.html
1268
	cp -f $DIR_CONF/virus-en.html /etc/havp/templates/en/virus.html
1249
	cp -f $DIR_CONF/virus-en.html /etc/havp/templates/en/virus.html
1269
# update virus database every 4 hours (24h/6)
1250
# update virus database every 4 hours (24h/6)
1270
	[ -e /etc/freshclam.conf.default ] || cp /etc/freshclam.conf /etc/freshclam.conf.default
1251
	[ -e /etc/freshclam.conf.default ] || cp /etc/freshclam.conf /etc/freshclam.conf.default
Line 1275... Line 1256...
1275
	$SED "s?MaxAttempts.*?MaxAttempts 3?g" /etc/freshclam.conf
1256
	$SED "s?MaxAttempts.*?MaxAttempts 3?g" /etc/freshclam.conf
1276
# update now
1257
# update now
1277
	/usr/bin/freshclam --no-warnings
1258
	/usr/bin/freshclam --no-warnings
1278
} # End of antivirus ()
1259
} # End of antivirus ()
1279
 
1260
 
-
 
1261
##################################################################
-
 
1262
##			Fonction "antivirus"			##
-
 
1263
## - configuration of havp, libclamav and freshclam		##
-
 
1264
##################################################################
-
 
1265
tinyproxy ()		
-
 
1266
{
-
 
1267
 
-
 
1268
} # end of tinyproxy
1280
##################################################################################
1269
##################################################################################
1281
##			function "ulogd"					##
1270
##			function "ulogd"					##
1282
## - Ulog config for multi-log files 						##
1271
## - Ulog config for multi-log files 						##
1283
##################################################################################
1272
##################################################################################
1284
ulogd ()
1273
ulogd ()