Subversion Repositories ALCASAR

Rev

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

Rev 1913 Rev 1925
Line 99... Line 99...
99
	$l_fingerprint2="Vérifiez-là en suivant ce lien (ligne 'blacklists.tar.gz') : ";
99
	$l_fingerprint2="Vérifiez-là en suivant ce lien (ligne 'blacklists.tar.gz') : ";
100
	$l_activate_bl="Activer la nouvelle version";
100
	$l_activate_bl="Activer la nouvelle version";
101
	$l_reject_bl="Rejeter";
101
	$l_reject_bl="Rejeter";
102
	$l_warning="Temps estimé : une minute.";
102
	$l_warning="Temps estimé : une minute.";
103
	$l_specific_filtering="Filtrage special";
103
	$l_specific_filtering="Filtrage special";
104
	$l_forbidden_dns="Noms de domaine filtrés";
-
 
105
	$l_one_dns="Entrez un nom de domaine par ligne (exemple : .domaine.org)";
104
	$l_one_dns_ip="Entrez un nom de domaine ou une adresse IP ou une adresse de réseau par ligne<br>exemple (domaine) : .domaine.org - exemple (ip) : 61.54.52.56 - exemple (réseau) : 172.16.0.0/16";
106
	$l_maj_rehabilitated="Noms de domaine ou IP réhabilités";
105
	$l_maj_rehabilitated="Noms de domaine ou IP réhabilités";
107
	$l_rehabilitated_dns="Noms de domaine réhabilités";
106
	$l_rehabilitated_dns="Noms de domaine réhabilités";
108
	$l_rehabilitated_dns_explain="Entrez ici des noms de domaine bloqués par la liste noire <BR> que vous souhaitez réhabiliter.";
107
	$l_rehabilitated_dns_explain="Entrez ici des noms de domaine bloqués par la liste noire <BR> que vous souhaitez réhabiliter.";
109
	$l_add_to_bl="Noms de domaine ou IP ajoutés à la liste noire";
108
	$l_add_to_bl="Noms de domaine ou adresses IP à ajouter à la liste noire";
110
	$l_forbidden_ip="IP filtrées";
-
 
111
	$l_forbidden_ip_explain="Entrez une IP par ligne (exemple : 123.123.123.123)<br/>ou une ADRESSE RESEAU (exemple : 123.123.0.0/16)";
-
 
112
	$l_rehabilitated_ip="IP réhabilitées";
109
	$l_rehabilitated_ip="IP réhabilitées";
113
	$l_rehabilitated_ip_explain="Entrez ici des IP bloquées par la liste noire <BR> que vous souhaitez réhabiliter.";
110
	$l_rehabilitated_ip_explain="Entrez ici des IP bloquées par la liste noire <BR> que vous souhaitez réhabiliter.";
114
	$l_one_ip="Entrez une IP par ligne (exemple : 123.123.123.123)";
111
	$l_one_ip="Entrez une IP par ligne (exemple : 123.123.123.123)";
115
	$l_record="Enregistrer les modifications";
112
	$l_record="Enregistrer les modifications";
116
	$l_wait="Une fois validées, 10 secondes sont nécessaires pour traiter vos modifications";
113
	$l_wait="Une fois validées, 10 secondes sont nécessaires pour traiter vos modifications";
Line 131... Line 128...
131
	$l_nb_ip="Nombre d'IP";
128
	$l_nb_ip="Nombre d'IP";
132
	$l_nb_domain_names="Nombre de noms de domaine";
129
	$l_nb_domain_names="Nombre de noms de domaine";
133
	$l_nbDomainNames="Noms de domaine :";
130
	$l_nbDomainNames="Noms de domaine :";
134
	$l_nbUrl="Url :";
131
	$l_nbUrl="Url :";
135
	$l_nbIp="Ip :";
132
	$l_nbIp="Ip :";
136
	$l_update_cat="Mise a jour des catégories automatiquement?";
133
	$l_update_cat="Mise a jour des catégories automatiquement toutes les 12h (seulement 'malware' actuellement)?";
137
	$l_no_update_cat = "Désactiver";
-
 
138
	$l_yes_update_cat = "Activer (Toutes les 12 heures)";
-
 
139
	$l_disable="Désactiver";
134
	$l_disable="Désactiver";
140
	$l_enable="Activer";
135
	$l_enable="Activer";
141
	$l_file_state="Etat";
136
	$l_file_state="Etat";
142
}
137
}
143
else {
138
else {
Line 150... Line 145...
150
	$l_fingerprint2="Verify it with this link (line 'blacklists.tar.gz') : ";
145
	$l_fingerprint2="Verify it with this link (line 'blacklists.tar.gz') : ";
151
	$l_activate_bl="Activate the new version";
146
	$l_activate_bl="Activate the new version";
152
	$l_reject_bl="Reject";
147
	$l_reject_bl="Reject";
153
	$l_warning="Estimated time : one minute.";
148
	$l_warning="Estimated time : one minute.";
154
	$l_specific_filtering="Specific filtering";
149
	$l_specific_filtering="Specific filtering";
155
	$l_forbidden_dns="Filtered domain names";
-
 
156
	$l_allowed_dns="Allowed domain names";
150
	$l_allowed_dns="Allowed domain names";
157
	$l_one_dns="Enter one domain name per row (example : .domain.org)";
151
	$l_one_dns_ip="Enter one domain name or one IP address or one network address per row <br>example (domain): .domain.org - example (ip): 61.54.56.52 - example (network) : 172.16.0.0/16";
158
	$l_maj_rehabilitated="Domain names or IP rehabilitated";
152
	$l_maj_rehabilitated="Domain names or IP rehabilitated";
159
	$l_rehabilitated_dns="Rehabilitated domain names";
153
	$l_rehabilitated_dns="Rehabilitated domain names";
160
	$l_rehabilitated_dns_explain="Enter here domain names that are blocked by the blacklist <BR> and you want to rehabilitate.";
154
	$l_rehabilitated_dns_explain="Enter here domain names that are blocked by the blacklist <BR> and you want to rehabilitate.";
161
	$l_add_to_bl="Domain names or IP to add to blacklist";
155
	$l_add_to_bl="Domain names or IP addresses to add to the blacklist";
162
	$l_forbidden_ip="Filtered IP";
-
 
163
	$l_forbidden_ip_explain="Enter one IP per row (example : 123.123.123.123)<br/>or a NETWORK ADDRESS (example : 123.123.0.0/16)";
-
 
164
	$l_rehabilitated_ip="Rehabilitated IP";
156
	$l_rehabilitated_ip="Rehabilitated IP";
165
	$l_rehabilitated_ip_explain="Enter here IP that are blocked by the blacklist <BR> and you want to rehabilitate.";
157
	$l_rehabilitated_ip_explain="Enter here IP that are blocked by the blacklist <BR> and you want to rehabilitate.";
166
	$l_one_ip="Enter one IP per row (example : 123.123.123.123)";
158
	$l_one_ip="Enter one IP per row (example : 123.123.123.123)";
167
	$l_record="Save changes";
159
	$l_record="Save changes";
168
	$l_wait="Once validated, 10 seconds are necessary to compute your modifications";
160
	$l_wait="Once validated, 10 seconds are necessary to compute your modifications";
Line 183... Line 175...
183
	$l_nb_ip="Number of IP";
175
	$l_nb_ip="Number of IP";
184
	$l_nb_domain_names="Number of domain names";
176
	$l_nb_domain_names="Number of domain names";
185
	$l_nbDomainNames="Domain names :";
177
	$l_nbDomainNames="Domain names :";
186
	$l_nbUrl="Url :";
178
	$l_nbUrl="Url :";
187
	$l_nbIp="Ip :";
179
	$l_nbIp="Ip :";
188
	$l_update_cat="Mise a jour des catégories automatiquement?";
180
	$l_update_cat="Update automaticly categories every 12 hours (only 'malware' for now)?";
189
	$l_no_update_cat = "Disable";
-
 
190
	$l_yes_update_cat = "Enable (Every 12 hours)";
-
 
191
	$l_disable="Disable";
181
	$l_disable="Disable";
192
	$l_enable="Enable";
182
	$l_enable="Enable";
193
	$l_file_state="State";
183
	$l_file_state="State";
194
}
184
}
195
$dir_etc="/usr/local/etc/";
185
$dir_etc="/usr/local/etc/";
Line 197... Line 187...
197
$dir_bl_ip="/usr/local/share/iptables-bl/";
187
$dir_bl_ip="/usr/local/share/iptables-bl/";
198
$dir_bl_dns="/usr/local/share/dnsmasq-bl/";
188
$dir_bl_dns="/usr/local/share/dnsmasq-bl/";
199
$bl_categories=$dir_etc."alcasar-bl-categories";
189
$bl_categories=$dir_etc."alcasar-bl-categories";
200
$bl_categories_enabled=$dir_etc."alcasar-bl-categories-enabled";
190
$bl_categories_enabled=$dir_etc."alcasar-bl-categories-enabled";
201
$conf_file=$dir_etc."alcasar.conf";
191
$conf_file=$dir_etc."alcasar.conf";
202
$dir_blacklist=$dir_dg."blacklist/";
192
$dir_blacklist=$dir_dg."blacklists/";
203
$urlregex_file=$dir_dg."urlregexplist";
193
$urlregex_file=$dir_dg."urlregexplist";
204
$bannedsite_file=$dir_dg."bannedsitelist";
194
$bannedsite_file=$dir_dg."bannedsitelist";
205
$dir_tmp="/tmp/blacklists";
195
$dir_tmp="/tmp/blacklists";
206
$upload_dir_ip = "/usr/local/share/iptables-bl-enabled/";
196
$upload_dir_ip = "/usr/local/share/iptables-bl-enabled/";
207
$upload_dir_domain_names = "/usr/local/share/dnsmasq-bl-enabled/";
197
$upload_dir_domain_names = "/usr/local/share/dnsmasq-bl-enabled/";
Line 325... Line 315...
325
	$nom = str_replace (".", "_",basename($_FILES['fichier_ip']['name']));
315
	$nom = str_replace (".", "_",basename($_FILES['fichier_ip']['name']));
326
	# Si un fichier a été choisi
316
	# Si un fichier a été choisi
327
	if(!empty($nom))
317
	if(!empty($nom))
328
	{	
318
	{	
329
		# On l'upload
319
		# On l'upload
330
		if(move_uploaded_file($_FILES['fichier_ip']['tmp_name'], $upload_dir_ip.$nom))
320
		if(move_uploaded_file($_FILES['fichier_ip']['tmp_name'], $blacklist_dir."ossi-bl-".$nom))
331
		{
321
		{
332
			# On extrait uniquement les ip du fichier
322
			# On extrait uniquement les ip du fichier
333
			exec("grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' $upload_dir_ip$nom > $upload_dir_ip\ossi_ip");
323
//			exec("grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' $upload_dir_ip$nom > $upload_dir_ip\ossi_ip");
334
 
324
 
335
			# Suppression des doublons
325
			# Suppression des doublons
336
			exec("sort -u $upload_dir_ip\ossi_ip > $upload_dir_ip\ossi-$nom && rm -f $upload_dir_ip\ossi_ip");
326
//			exec("sort -u $upload_dir_ip\ossi_ip > $upload_dir_ip\ossi-$nom && rm -f $upload_dir_ip\ossi_ip");
337
 
327
 
338
			# On adapte le fichier à la sauvegarde du set
328
			# On adapte le fichier à la sauvegarde du set
339
			exec("sed -i \"s/^/add bl_ip_blocked /g\" $upload_dir_ip\ossi-$nom"); 
329
//			exec("sed -i \"s/^/add bl_ip_blocked /g\" $upload_dir_ip\ossi-$nom"); 
340
			
330
			
341
 
331
 
342
			# On extrait uniquement les noms de domaine
332
			# On extrait uniquement les noms de domaine
343
			# max_tld() retourne le nombre max de charactere pour un top-level dns
333
			# max_tld() retourne le nombre max de charactere pour un top-level dns
344
			exec("grep -Eo '([a-zA-Z0-9_-]+\.){1,2}[a-zA-Z]{2,".max_tld()."}' $upload_dir_ip$nom > $upload_dir_domain_names\ossi_domain_names");
334
//			exec("grep -Eo '([a-zA-Z0-9_-]+\.){1,2}[a-zA-Z]{2,".max_tld()."}' $upload_dir_ip$nom > $upload_dir_domain_names\ossi_domain_names");
345
 
335
 
346
			# Suppression des doublons
336
			# Suppression des doublons
347
			exec("sort -u $upload_dir_domain_names\ossi_domain_names > $upload_dir_domain_names\ossi-$nom && rm -f $upload_dir_domain_names\ossi_domain_names");
337
//			exec("sort -u $upload_dir_domain_names\ossi_domain_names > $upload_dir_domain_names\ossi-$nom && rm -f $upload_dir_domain_names\ossi_domain_names");
348
 
338
 
349
			# On adapte le fichier pour Dnsmasq
339
			# On adapte le fichier pour Dnsmasq
350
			exec("sed -i \"s/^/address=\//g\" $upload_dir_domain_names\ossi-$nom");
340
//			exec("sed -i \"s/^/address=\//g\" $upload_dir_domain_names\ossi-$nom");
351
			exec("sed -i \"s/$/\/$PRIVATE_IP/g\" $upload_dir_domain_names\ossi-$nom");
341
//			exec("sed -i \"s/$/\/$PRIVATE_IP/g\" $upload_dir_domain_names\ossi-$nom");
352
 
342
 
353
			# Suppression du fichier
343
			# Suppression du fichier
354
			exec("rm -f $upload_dir_ip$nom");
344
//			exec("rm -f $upload_dir_ip$nom");
-
 
345
			exec ("sudo /usr/local/bin/alcasar-bl.sh --reload");
-
 
346
			exec ("sudo /usr/local/bin/alcasar-iptables.sh ");
355
		}
347
		}
356
		else
348
		else
357
		{
349
		{
358
			echo $l_error_upload;
350
			echo $l_error_upload;
359
		}
351
		}
360
		exec ("sudo /usr/local/bin/alcasar-bl.sh --reload");
-
 
361
		exec ("sudo /usr/local/bin/alcasar-iptables.sh ");
-
 
362
	}
352
	}
363
	break;
353
	break;
364
}
354
}
365
?>
355
?>
366
<table width="100%" border="0" cellspacing="0" cellpadding="0">
356
<table width="100%" border="0" cellspacing="0" cellpadding="0">
Line 450... Line 440...
450
else $update_select[1] = "checked";
440
else $update_select[1] = "checked";
451
	
441
	
452
echo "</td></tr>";
442
echo "</td></tr>";
453
echo "<tr><td valign='middle' align='left' colspan=10>";
443
echo "<tr><td valign='middle' align='left' colspan=10>";
454
echo "<center>$l_update_cat 
444
echo "<center>$l_update_cat 
455
	<input type='radio' name='update_cat' value=0 $update_select[0]> $l_no_update_cat 
445
	<input type='radio' name='update_cat' value=0 $update_select[0]> $l_disable 
456
	<input type='radio' name='update_cat' value=1 $update_select[1]> $l_yes_update_cat 
446
	<input type='radio' name='update_cat' value=1 $update_select[1]> $l_enable 
457
	<input type='submit' value='$l_record'></center>";
447
	<input type='submit' value='$l_record'></center>";
458
echo "</td></tr>";
448
echo "</td></tr>";
459
echo "<tr><td valign='middle' align='left' colspan=10>";
449
echo "<tr><td valign='middle' align='left' colspan=10>";
460
echo "<center><b>$l_maj_rehabilitated</b></center></td></tr>";
450
echo "<center><b>$l_maj_rehabilitated</b></center></td></tr>";
461
echo "<tr><td width=50% colspan=5 align=center>";
451
echo "<tr><td width=50% colspan=5 align=center>";
Line 468... Line 458...
468
echo "<textarea name='BL_rehabilited_ip' rows=3 cols=40>";
458
echo "<textarea name='BL_rehabilited_ip' rows=3 cols=40>";
469
echo_file ($dir_dg."exceptioniplist");
459
echo_file ($dir_dg."exceptioniplist");
470
echo "</textarea></td></tr><tr><td width=50% colspan=10>";
460
echo "</textarea></td></tr><tr><td width=50% colspan=10>";
471
echo "<tr><td valign='middle' align='left' colspan=10>";
461
echo "<tr><td valign='middle' align='left' colspan=10>";
472
echo "<center><b>$l_add_to_bl</b></center></td></tr>";
462
echo "<center><b>$l_add_to_bl</b></center></td></tr>";
473
echo "<tr><td width=50% colspan=5 align=center>";
463
echo "<tr><td width=100% colspan=10 align=center>";
474
echo "<H3>$l_forbidden_dns</H3>$l_one_dns<BR>";
464
echo "$l_one_dns_ip<BR>";
475
echo "<textarea name='OSSI_bl_domains' rows=3 cols=40>";
465
echo "<textarea name='OSSI_bl_domains' rows=3 cols=40>";
476
echo_file ($dir_bl_dns."ossi.conf");
466
echo_file ($dir_blacklist."ossi-bl/domain");
477
echo "</textarea></td>";
467
echo "</textarea></td>";
478
echo "<td width=50% colspan=5 align=center>";
468
//echo "<td width=50% colspan=5 align=center>";
479
echo "<H3>$l_forbidden_ip</H3>$l_forbidden_ip_explain<BR>";
469
//echo "<H3>$l_forbidden_ip</H3>$l_forbidden_ip_explain<BR>";
480
echo "<textarea name='OSSI_bl_ip' rows=3 cols=40>";
470
//echo "<textarea name='OSSI_bl_ip' rows=3 cols=40>";
481
echo_ip_file ($dir_bl_ip."ossi");
471
//echo_ip_file ($dir_blacklist."ossi");
-
 
472
//echo "</textarea></td></tr>;
482
echo "</textarea></td></tr><tr><td colspan=10>";
473
echo "</tr><tr><td colspan=10>";
483
echo "<input type='submit' onClick=\"this.disabled=true; this.value='$l_load';\" value='$l_record'>";
474
echo "<input type='submit' onClick=\"this.disabled=true; this.value='$l_load';\" value='$l_record'>";
484
echo "</form> ($l_wait)";
475
echo "</form> ($l_wait)";
485
echo "</td></tr></table><br/>";
476
echo "</td></tr></table><br/>";
486
?>
477
?>
487
 
478
 
Line 497... Line 488...
497
echo "<tr><td width=50% colspan=5 align=center>";
488
echo "<tr><td width=50% colspan=5 align=center>";
498
echo "<H3>$l_file_list</H3>";
489
echo "<H3>$l_file_list</H3>";
499
echo "<table cellspacing=2 cellpadding=3 border=1><tr><th>$l_file_name<th>$l_nb_ip<th>$l_nb_domain_names<th>$l_file_state<th>$l_file_remove</tr>";
490
echo "<table cellspacing=2 cellpadding=3 border=1><tr><th>$l_file_name<th>$l_nb_ip<th>$l_nb_domain_names<th>$l_file_state<th>$l_file_remove</tr>";
500
 
491
 
501
//liste des fichiers activés
492
//liste des fichiers activés
502
$fichiersIp = array_diff(scandir($upload_dir_ip), array('ossi','ossi-ip-safesearch','..','.'));
493
$fichiersbl = array_diff(scandir($dir_blacklist), array('..','.'));
503
$fichiersIp = preg_grep("/^ossi-/",$fichiersIp);
494
$fichiersbl = preg_grep("/^ossi-bl",$fichiersbl);
504
foreach($fichiersIp as $fichier => $value)
495
foreach($fichiersbl as $fichier => $value)
505
{
496
{
506
	if($value=='ossi-tor_node_ip')
497
	if($value=='ossi-tor_node_ip')
507
		echo "<tr><td><center><a href='bl_categories_help.php?liste=bl&cat=$value&ossi=yes&filtre=domain' target='cat_help' onclick=window.open('bl_categories_help','cat_help','width=600,height=450,toolbar=no,scrollbars=yes,resizable=yes') title='categories help page'>".exec("sed 's/^.....//g' <<< $value")."</a></center></td><td><center>".exec("wc -l $upload_dir_ip$value | awk '{print $1}'")."</center></td><td><center>".exec("wc -l $upload_dir_domain_names$value | awk '{print $1}'")."</center></td><td><center><input type='submit' name='$value' value='$l_disable'></center></td><td><center><input type='submit' name='$value' value='$l_remove' disabled></center></td></tr>";
498
		echo "<tr><td><center><a href='bl_categories_help.php?liste=bl&cat=$value&ossi=yes&filtre=domain' target='cat_help' onclick=window.open('bl_categories_help','cat_help','width=600,height=450,toolbar=no,scrollbars=yes,resizable=yes') title='categories help page'>".exec("sed 's/^.....//g' <<< $value")."</a></center></td><td><center>".exec("wc -l $upload_dir_ip$value | awk '{print $1}'")."</center></td><td><center>".exec("wc -l $upload_dir_domain_names$value | awk '{print $1}'")."</center></td><td><center><input type='submit' name='$value' value='$l_disable'></center></td><td><center><input type='submit' name='$value' value='$l_remove' disabled></center></td></tr>";
508
	else
499
	else
509
		echo "<tr><td><center><a href='bl_categories_help.php?liste=bl&cat=$value&ossi=yes&filtre=domain' target='cat_help' onclick=window.open('bl_categories_help','cat_help','width=600,height=450,toolbar=no,scrollbars=yes,resizable=yes') title='categories help page'>".exec("sed 's/^.....//g' <<< $value")."</a></center></td><td><center>".exec("wc -l $upload_dir_ip$value | awk '{print $1}'")."</center></td><td><center>".exec("wc -l $upload_dir_domain_names$value | awk '{print $1}'")."</center></td><td><center><input type='submit' name='$value' value='$l_disable'></center></td><td><center><input type='submit' name='$value' value='$l_remove'></center></td></tr>";
500
		echo "<tr><td><center><a href='bl_categories_help.php?liste=bl&cat=$value&ossi=yes&filtre=domain' target='cat_help' onclick=window.open('bl_categories_help','cat_help','width=600,height=450,toolbar=no,scrollbars=yes,resizable=yes') title='categories help page'>".exec("sed 's/^.....//g' <<< $value")."</a></center></td><td><center>".exec("wc -l $upload_dir_ip$value | awk '{print $1}'")."</center></td><td><center>".exec("wc -l $upload_dir_domain_names$value | awk '{print $1}'")."</center></td><td><center><input type='submit' name='$value' value='$l_disable'></center></td><td><center><input type='submit' name='$value' value='$l_remove'></center></td></tr>";