Subversion Repositories ALCASAR

Rev

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

Rev 1294 Rev 1339
Line 17... Line 17...
17
  $l_title_antivir = "Antivirus de flux WEB";
17
  $l_title_antivir = "Antivirus de flux WEB";
18
  $l_antivir_on="L'antivirus de flux WEB est actuellement activé";
18
  $l_antivir_on="L'antivirus de flux WEB est actuellement activé";
19
  $l_antivir_off="L'antivirus de flux WEB est actuellement désactivé";
19
  $l_antivir_off="L'antivirus de flux WEB est actuellement désactivé";
20
  $l_switch_antivir_on="Activer l'antivirus";
20
  $l_switch_antivir_on="Activer l'antivirus";
21
  $l_switch_antivir_off="Désactiver l'antivirus";
21
  $l_switch_antivir_off="Désactiver l'antivirus";
22
  $l_title_ip_block="Filtrage d'adresses IP";
-
 
23
  $l_ip_address="Adresses IP (ou addresse de réseau) bloquées";
-
 
24
  $l_blocked_ip_address="Adresses IP";
-
 
25
  $l_blocked_ip_address_comment="Commentaires";
-
 
26
  $l_blocked="Bloquée";
-
 
27
  $l_ip_block_explain="Liste des adresses IP (ou adresses IP de réseaux) bloquées";
-
 
28
  $l_remove="Retirer de la liste";
22
  $l_remove="Retirer de la liste";
29
  $l_title_proto = "Filtrage de protocoles réseau";
23
  $l_title_proto = "Filtrage de protocoles réseau";
30
  $l_netfilter_on="Le filtrage de protocoles réseau est actuellement activé";
24
  $l_netfilter_on="Le filtrage de protocoles réseau est actuellement activé";
31
  $l_netfilter_off="Le filtrage de protocoles réseau est actuellement désactiv&eacute";
25
  $l_netfilter_off="Le filtrage de protocoles réseau est actuellement désactiv&eacute";
32
  $l_switch_on="Activer le filtrage";
26
  $l_switch_on="Activer le filtrage";
Line 45... Line 39...
45
  $l_title_antivir = "WEB antivirus";
39
  $l_title_antivir = "WEB antivirus";
46
  $l_antivir_on="Actually, the WEB antivirus is on";
40
  $l_antivir_on="Actually, the WEB antivirus is on";
47
  $l_antivir_off="Actually, the WEB antivirus is off";
41
  $l_antivir_off="Actually, the WEB antivirus is off";
48
  $l_switch_antivir_on="Switch the antivirus on";
42
  $l_switch_antivir_on="Switch the antivirus on";
49
  $l_switch_antivir_off="Switch the antivirus off";
43
  $l_switch_antivir_off="Switch the antivirus off";
50
  $l_title_ip_block="IP address filter";
-
 
51
  $l_ip_address="IP address (or network IP address)";
-
 
52
  $l_blocked_ip_address="IP addresses";
-
 
53
  $l_blocked_ip_address_comment="Comments";
-
 
54
  $l_blocked="Blocked";
-
 
55
  $l_ip_block_explain="List of blocked IP addresses (or network IP adresses)";
-
 
56
  $l_remove="Remove from list";
44
  $l_remove="Remove from list";
57
  $l_title_proto = "Network protocols filter";
45
  $l_title_proto = "Network protocols filter";
58
  $l_netfilter_on="Actually, the network protocols filter is enable";
46
  $l_netfilter_on="Actually, the network protocols filter is enable";
59
  $l_netfilter_off="Actually, the network protocols filter is disable";
47
  $l_netfilter_off="Actually, the network protocols filter is disable";
60
  $l_switch_on="Switch the Filter on";
48
  $l_switch_on="Switch the Filter on";
Line 73... Line 61...
73
/********************
61
/********************
74
*  TEST CONF FILES  *
62
*  TEST CONF FILES  *
75
*********************/
63
*********************/
76
define ("SERVICES_LIST", "/usr/local/etc/alcasar-services");
64
define ("SERVICES_LIST", "/usr/local/etc/alcasar-services");
77
define ("CONF_FILE", "/usr/local/etc/alcasar.conf");
65
define ("CONF_FILE", "/usr/local/etc/alcasar.conf");
78
define ("IP_BLOCKED", "/usr/local/etc/alcasar-ip-blocked");
-
 
79
$conf_files=array(SERVICES_LIST,CONF_FILE,IP_BLOCKED);
66
$conf_files=array(SERVICES_LIST,CONF_FILE);
80
foreach ($conf_files as $file){
67
foreach ($conf_files as $file){
81
if (!file_exists($file)){
68
if (!file_exists($file)){
82
	exit("Requested file ".$file." isn't present");}
69
	exit("Requested file ".$file." isn't present");}
83
if (!is_readable($file)){
70
if (!is_readable($file)){
84
	exit("Can't read the file ".$file);}
71
	exit("Can't read the file ".$file);}
Line 136... Line 123...
136
			fclose ($pointeur);
123
			fclose ($pointeur);
137
			exec ("sudo /usr/local/bin/alcasar-file-clean.sh");
124
			exec ("sudo /usr/local/bin/alcasar-file-clean.sh");
138
			}
125
			}
139
		}
126
		}
140
	break;
127
	break;
141
case 'new_ip' :
-
 
142
	if (trim($_POST['add_ip']) != "") 
-
 
143
		{
-
 
144
		$_POST['add_comment'] = str_replace (CHR(32),"-",$_POST['add_comment']);
-
 
145
		$tab=file(IP_BLOCKED);
-
 
146
		$insert = true;
-
 
147
		if ($tab) // file isn't empty
-
 
148
			{
-
 
149
			foreach ($tab as $line) // test if IP address doesn't already exist
-
 
150
				{
-
 
151
				$IP_f=explode(" ", $line);
-
 
152
				if (strcmp (trim($_POST['add_ip']),trim(trim($IP_f[0],"#"))) == 0)
-
 
153
					{
-
 
154
					$insert = false;
-
 
155
					break;
-
 
156
					}
-
 
157
				}
-
 
158
			}
-
 
159
		if ($insert == true) 
-
 
160
			{
-
 
161
			$line ="\n" . "#".trim($_POST['add_ip']) . " " . trim($_POST['add_comment']);
-
 
162
			$pointeur=fopen(IP_BLOCKED,"a");
-
 
163
			fwrite ($pointeur, $line);
-
 
164
			fclose ($pointeur);
-
 
165
			exec ("sudo /usr/local/bin/alcasar-file-clean.sh");
-
 
166
			}
-
 
167
		}
-
 
168
	break;
-
 
169
case 'change_port' :
128
case 'change_port' :
170
	$tab=file(SERVICES_LIST);
129
	$tab=file(SERVICES_LIST);
171
	if ($tab)
130
	if ($tab)
172
		{
131
		{
173
// authorize/block protocols
132
// authorize/block protocols
Line 206... Line 165...
206
			}
165
			}
207
		fclose($pointeur);
166
		fclose($pointeur);
208
		}
167
		}
209
	exec ("sudo /usr/local/bin/alcasar-iptables.sh -on");
168
	exec ("sudo /usr/local/bin/alcasar-iptables.sh -on");
210
	break;
169
	break;
211
case 'change_ip' :
-
 
212
	$tab=file(IP_BLOCKED);
-
 
213
	if ($tab)
-
 
214
		{
-
 
215
// authorize/block IPs 
-
 
216
		exec ("sudo /usr/sbin/ipset flush alcasar_ip_blocked");
-
 
217
		$pointeur=fopen(IP_BLOCKED,"w+");
-
 
218
		foreach ($tab as $ligne)
-
 
219
			{
-
 
220
			$ip_f=explode(" ", $ligne);
-
 
221
			$ip_blocked1=trim($ip_f[0],"#");
-
 
222
			$actif = False; $remove_line = false;
-
 
223
			foreach ($_POST as $key => $value)
-
 
224
				{
-
 
225
				$key = str_replace ("_",".",$key); // dot are replace by '_' in post request
-
 
226
				if (strstr($key,'del-'))
-
 
227
					{
-
 
228
					$ip_blocked2 = str_replace('del-','',$key);
-
 
229
					if ($ip_blocked1 == $ip_blocked2)
-
 
230
				       		{
-
 
231
						$remove_line = True;
-
 
232
						break;
-
 
233
						}
-
 
234
					}
-
 
235
				if (strstr($key,'chk-'))
-
 
236
					{
-
 
237
					$ip_blocked2 = str_replace('chk-','',$key);
-
 
238
					if ($ip_blocked1 == $ip_blocked2)
-
 
239
				       		{
-
 
240
						$actif = True;
-
 
241
						break;
-
 
242
						}
-
 
243
					}
-
 
244
				}
-
 
245
			if (! $remove_line)
-
 
246
				{
-
 
247
				if (! $actif) {	$line="#$ip_blocked1 $ip_f[1]";}
-
 
248
				else 
-
 
249
					{
-
 
250
					$line="$ip_blocked1 $ip_f[1]";
-
 
251
					exec ("sudo /usr/sbin/ipset add alcasar_ip_blocked $ip_blocked1");
-
 
252
					}
-
 
253
				fwrite($pointeur,$line);
-
 
254
				}
-
 
255
			}
-
 
256
		fclose($pointeur);
-
 
257
		}
-
 
258
	break;
-
 
259
	}
170
	}
260
# default values
171
# default values
261
if (is_file (CONF_FILE))
172
if (is_file (CONF_FILE))
262
	{
173
	{
263
	$tab=file(CONF_FILE);
174
	$tab=file(CONF_FILE);
Line 295... Line 206...
295
?>
206
?>
296
</FORM>
207
</FORM>
297
</td></tr>
208
</td></tr>
298
</table>
209
</table>
299
<TABLE width="100%" border=0 cellspacing=0 cellpadding=0>
210
<TABLE width="100%" border=0 cellspacing=0 cellpadding=0>
300
<tr><th><?echo "$l_title_ip_block";?></th></tr>
-
 
301
<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr>
-
 
302
</table>
-
 
303
<table width="100%" border=1 cellspacing=0 cellpadding=1>
-
 
304
<tr><td colspan=2 align="center">
-
 
305
<?
-
 
306
echo "$l_ip_block_explain</td></tr>";
-
 
307
echo "<tr><td align='center' valign='middle'>";
-
 
308
echo "<FORM action='$_SERVER[PHP_SELF]' method='POST'>";
-
 
309
echo "<input type=hidden name='choix' value=\"IP_block_filter\">";
-
 
310
echo "<table cellspacing=2 cellpadding=2 border=1>";
-
 
311
echo "<tr><th>$l_blocked_ip_address<th>$l_blocked_ip_address_comment<th>$l_blocked<th>$l_remove</tr>";
-
 
312
// Read the "IP_block" file
-
 
313
$tab=file(IP_BLOCKED);
-
 
314
if ($tab)  # the file isn't empty
-
 
315
	{
-
 
316
	foreach ($tab as $line)
-
 
317
		{
-
 
318
		if (trim($line) != '') # the line isn't empty
-
 
319
			{
-
 
320
			$blocked_ip=explode(" ", $line);
-
 
321
			$ip_addr=trim($blocked_ip[0],"#");
-
 
322
			$comment=trim($blocked_ip[1]);
-
 
323
			if ($comment ==''){$comment="&nbsp;";}
-
 
324
			echo "<tr><td>$ip_addr<td>$comment";
-
 
325
			echo "<td><input type='checkbox' name='chk-$ip_addr'";
-
 
326
			if (preg_match('/^#/',$line, $r)) {
-
 
327
				echo ">";}
-
 
328
			else {
-
 
329
				echo "checked>";}
-
 
330
			echo "<td>";
-
 
331
			if (strcmp (trim($ip_addr),trim($conf["PUBLIC_IP"]))) {
-
 
332
				echo "<input type='checkbox' name='del-$ip_addr'>";}
-
 
333
			else {
-
 
334
				echo "&nbsp;";}
-
 
335
			echo "</tr>";
-
 
336
			}
-
 
337
		}
-
 
338
	}
-
 
339
?>
-
 
340
</table>
-
 
341
<input type='hidden' name='choix' value='change_ip'>
-
 
342
<input type='submit' value='<?echo"$l_save";?>'>
-
 
343
</form></td><td valign='middle' align='center'>
-
 
344
<form action='<?echo"$_SERVER[PHP_SELF]"?>' method='POST'>
-
 
345
<table cellspacing=2 cellpadding=3 border=1>
-
 
346
<tr><th><?echo"$l_ip_address<th>$l_blocked_ip_address_comment";?>
-
 
347
<td></td></tr>
-
 
348
<tr><td>exemple1 : 15.25.26.27 <br>exemple2 : 18.20.20.0/24</td><td>exemple1 : CERT alert<br>exemple2 : LAN of zombies</td><td></td></tr>
-
 
349
<tr><td><input type='text' name='add_ip' size='17'></td>
-
 
350
<td><input type='text' name='add_comment' size='10'></td>
-
 
351
<input type='hidden' name='choix' value='new_ip'>
-
 
352
<td><input type='submit' value='<?echo"$l_add_to_list";?>'></td>
-
 
353
</tr></table>
-
 
354
</form>
-
 
355
</td></tr>
-
 
356
</table>
-
 
357
<TABLE width="100%" border=0 cellspacing=0 cellpadding=0>
-
 
358
<tr><th><?echo "$l_title_proto";?></th></tr>
211
<tr><th><?echo "$l_title_proto";?></th></tr>
359
<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr>
212
<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr>
360
</table>
213
</table>
361
<TABLE width="100%" border=1 cellspacing=0 cellpadding=0>
214
<TABLE width="100%" border=1 cellspacing=0 cellpadding=0>
362
<tr>
215
<tr>