1,5 → 1,5 |
<?php |
/* written by steweb57 */ |
/* written by steweb57 & Rexy */ |
|
# Choice of language |
$Language = 'en'; |
8,8 → 8,6 |
$Language = strtolower(substr(chop($Langue[0]),0,2)); } |
if($Language == 'fr'){ |
$l_network_title = "Configuration réseau"; |
$l_main_services = "Services réseau principaux"; |
$l_opt_services = "Services réseau optionnels"; |
$l_eth0_legend = "Eth0 (Interface connectée à Internet)"; |
$l_eth1_legend = "Eth1 (Réseau de consultation)"; |
$l_internet_legend = "INTERNET"; |
19,29 → 17,8 |
$l_ip_public = "Adresse IP publique"; |
$l_ip_dns1 = "DNS1"; |
$l_ip_dns2 = "DNS2"; |
$l_service_title = "Nom du service"; |
$l_service_start = "Démarrer"; |
$l_service_stop = "Arrêter"; |
$l_service_restart = "Redémarrer"; |
$l_service_status = "Status"; |
$l_service_action = "Actions"; |
$l_enable = "actif"; |
$l_disable = "inactif"; |
$l_radiusd = "Serveur d'authentification et d'autorisation"; |
$l_chilli = "Passerelle d'interception"; |
$l_dansguardian = "Filtre d'URL et de contenu WEB"; |
$l_mysqld = "Serveur de la base de données usager"; |
$l_squid = "Serveur de cache WEB"; |
$l_dnsmasq = "Serveur DNS et filtre de domaine"; |
$l_httpd = "Serveur WEB (Centre de Gestion d'ALCASAR)"; |
$l_havp = "Filtre antivirus WEB"; |
$l_sshd = "Accès sécurisée à distance"; |
$l_freshclam = "Mise à jour de l'antivirus toutes les 2 heures"; |
$l_ntpd = "Service de mise à l'heure réseau"; |
} else { |
$l_network_title = "Network configuration"; |
$l_main_services = "Main network services"; |
$l_opt_services = "Optional network services"; |
$l_eth0_legend = "Eth0 (Internet connected interface)"; |
$l_eth1_legend = "Eth1 (Private network)"; |
$l_internet_legend = "INTERNET"; |
51,37 → 28,17 |
$l_ip_public = "Public IP address"; |
$l_ip_dns1 = "DNS1 :"; |
$l_ip_dns2 = "DNS2"; |
$l_service_title = "Service name"; |
$l_service_start = "Start"; |
$l_service_stop = "Stop"; |
$l_service_restart = "Restart"; |
$l_service_status = "Status"; |
$l_service_action = "Actions"; |
$l_enable = "enable"; |
$l_disable = "disable"; |
$l_radiusd = "Authentication and authorisation serveur"; |
$l_chilli = "Interception gateway"; |
$l_dansguardian = "URL and WEB content filter"; |
$l_mysqld = "User database server"; |
$l_squid = "Proxy Cache WEB"; |
$l_dnsmasq = "DNS and domain name filter"; |
$l_httpd = "WEB server (ALCASAR Control Center)"; |
$l_havp = "WEB antivirus filter"; |
$l_sshd = "Secure remote access"; |
$l_freshclam = "WEB antivirus update (every 2 hours)"; |
$l_ntpd = "Network time"; |
} |
|
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
|
define ("ALCASAR_CHILLI", "/etc/chilli.conf"); |
define ("CONF_FILE", "/usr/local/etc/alcasar.conf"); |
|
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
|
//Test de présence et des droits en lecture des fichiers de configuration. |
if (!file_exists(ALCASAR_CHILLI)){ |
exit("Fichier de configuration ".ALCASAR_CHILLI." non présent"); |
96,72 → 53,6 |
exit("Vous n'avez pas les droits de lecture sur le fichier ".CONF_FILE); |
} |
|
//fonction pour faire une action (start,stop,restart) sur un service |
function serviceExec($service, $action){ |
if (($action == "start")||($action == "stop")||($action == "restart")){ |
exec("sudo /sbin/service $service $action",$retval, $retstatus); |
if ($service == "sshd"){ |
if ($action == "start"){ |
exec("sudo /sbin/chkconfig --add $service"); |
file_put_contents(CONF_FILE, str_replace('SSH=off', 'SSH=on', file_get_contents(CONF_FILE))); |
exec ("sudo /usr/local/bin/alcasar-iptables.sh"); |
} |
if ($action == "stop"){ |
exec("sudo /sbin/chkconfig --del $service"); |
file_put_contents(CONF_FILE, str_replace('SSH=on', 'SSH=off', file_get_contents(CONF_FILE))); |
exec ("sudo /usr/local/bin/alcasar-iptables.sh"); |
} |
} |
return $retstatus; |
} else { |
return false; |
} |
} |
//fonction définissant le status d'un service |
//(en fonction de la présence d'un mot clé dans la valeur de status) |
function checkServiceStatus($service, $strMatch){ |
$response = false; |
exec("sudo /sbin/service $service status",$retval); |
foreach( $retval as $val ) { |
if (strpos($val,$strMatch)){ |
$response = true; |
break; |
} |
} |
return $response; |
} |
|
//------------------------------- |
// Les actions sur un service |
//------------------------------- |
//sécurité sur les actions à réaliser |
$autorizeService = array("radiusd","chilli","dansguardian","mysqld","squid","dnsmasq","httpd","havp","sshd","freshclam","ntpd"); |
$autorizeAction = array("start","stop","restart"); |
|
if (isset($_GET['service'])&&(in_array($_GET['service'], $autorizeService))) { |
if (isset($_GET['action'])&&(in_array($_GET['action'], $autorizeAction))) { |
$execStatus = serviceExec($_GET['service'], $_GET['action']); |
// execStatus non exploité |
} |
} |
//------------------------------- |
//recherche du status des services |
//------------------------------- |
$MainServiceStatus = array(); |
$MainServiceStatus['radiusd'] = checkServiceStatus("radiusd","pid"); |
$MainServiceStatus['chilli'] = checkServiceStatus("chilli","pid"); |
$MainServiceStatus['dansguardian'] = checkServiceStatus("dansguardian","pid"); |
$MainServiceStatus['mysqld'] = checkServiceStatus("mysqld","OK"); |
$MainServiceStatus['squid'] = checkServiceStatus("squid","pid"); |
$MainServiceStatus['dnsmasq'] = checkServiceStatus("dnsmasq","pid"); |
$MainServiceStatus['httpd'] = checkServiceStatus("httpd","pid"); |
$MainServiceStatus['havp'] = checkServiceStatus("havp","pid"); |
|
$OptServiceStatus = array(); |
$OptServiceStatus['sshd'] = checkServiceStatus("sshd","pid"); |
$OptServiceStatus['freshclam'] = checkServiceStatus("freshclam","pid"); |
$OptServiceStatus['ntpd'] = checkServiceStatus("ntpd","pid"); |
|
// Fonction de test de connectivité internet |
function internetTest(){ |
$host = "www.google.fr"; # Google Test |
176,9 → 67,9 |
return true; |
} |
} |
/******************************************************************** |
* Lecture du fichier ALCASAR_CHILLI * |
*********************************************************************/ |
/******************************************************** |
* Lecture du fichier ALCASAR_CHILLI * |
*********************************************************/ |
$ouvre=fopen(ALCASAR_CHILLI,"r"); |
if ($ouvre){ |
while (!feof ($ouvre)) |
194,9 → 85,9 |
} |
fclose($ouvre); |
|
/******************************************************************** |
* Lecture du fichier CONF_FILE * |
*********************************************************************/ |
/**************************************************************** |
* Lecture du fichier CONF_FILE * |
*****************************************************************/ |
$ouvre=fopen(CONF_FILE,"r"); |
if ($ouvre){ |
while (!feof ($ouvre)) |
215,8 → 106,7 |
/************************ |
* TO DO * |
*************************/ |
//modification de la conf réseau, cmd : ifconfig eth0 ..... |
//synchro de la modification réseau dans les différentes couches d'alcasar |
//modification de la conf réseau --> V3.0 |
//gestion du dhcp (affichage,modification, ajout @static) |
|
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
269,53 → 159,5 |
<tr><th><?php echo $l_main_services; ?></th></tr> |
<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr> |
</table> |
<TABLE width="100%" border=1 cellspacing=0 cellpadding=0> |
<tr align="center"><td><?php echo $l_service_status;?></td><td colspan="2"><?php echo $l_service_title;?></td><td colspan="3"><?php echo $l_service_action;?></td></tr> |
<TR align="center"> |
<?php foreach( $MainServiceStatus as $serviceName => $statusOK ) { ?> |
<tr> |
<?php if ($statusOK) { ?> |
<td align="center"><img src="/images/state_ok.gif" width="15" height="15" alt="<?php echo $l_service_status_img_ok; ?>"></td> |
<td align="center"><?php $comment="l_$serviceName"; echo "<b>$serviceName</b></td><td>${$comment}" ;?> </td> |
<td width="80" align="center">---</td> |
<td width="80" align="center"><a href="<?php echo $_SERVER['PHP_SELF']."?action=stop&service=$serviceName\"> $l_service_stop";?></a></td> |
<td width="80" align="center"><a href="<?php echo $_SERVER['PHP_SELF']."?action=restart&service=$serviceName\"> $l_service_restart";?></a></td> |
<?php } else { ?> |
<td align="center"><img src="/images/state_error.gif" width="15" height="15" alt="<?php echo $l_service_status_img_ko ?>"></td> |
<td align="center"><?php $comment="l_$serviceName"; echo "<b>$serviceName</b></td><td>${$comment}" ;?> </td> |
<td width="80" align="center"><a href="<?php echo $_SERVER['PHP_SELF']."?action=start&service=$serviceName\"> $l_service_start";?></a></td> |
<td width="80" align="center">---</td> |
<td width="80" align="center">---</td> |
<?php } ?> |
</tr> |
<?php } ?> |
</td></tr> |
</table> |
<table width="100%" border="0" cellspacing="0" cellpadding="0"> |
<tr><th><?php echo $l_opt_services; ?></th></tr> |
<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr> |
</table> |
<TABLE width="100%" border=1 cellspacing=0 cellpadding=0> |
<tr align="center"><td><?php echo $l_service_status;?></td><td colspan="2"><?php echo $l_service_title;?></td><td colspan="3"><?php echo $l_service_action;?></td></tr> |
<TR align="center"> |
<?php foreach( $OptServiceStatus as $serviceName => $statusOK ) { ?> |
<tr> |
<?php if ($statusOK) { ?> |
<td align="center"><img src="/images/state_ok.gif" width="15" height="15" alt="<?php echo $l_service_status_img_ok; ?>"></td> |
<td align="center"><?php $comment="l_$serviceName"; echo "<b>$serviceName</b></td><td>${$comment}" ;?> </td> |
<td width="80" align="center">---</td> |
<td width="80" align="center"><a href="<?php echo $_SERVER['PHP_SELF']."?action=stop&service=$serviceName\"> $l_service_stop";?></a></td> |
<td width="80" align="center"><a href="<?php echo $_SERVER['PHP_SELF']."?action=restart&service=$serviceName\"> $l_service_restart";?></a></td> |
<?php } else { ?> |
<td align="center"><img src="/images/state_error.gif" width="15" height="15" alt="<?php echo $l_service_status_img_ko ?>"></td> |
<td align="center"><?php $comment="l_$serviceName"; echo "<b>$serviceName</b></td><td>${$comment}" ;?> </td> |
<td width="80" align="center"><a href="<?php echo $_SERVER['PHP_SELF']."?action=start&service=$serviceName\"> $l_service_start";?></a></td> |
<td width="80" align="center">---</td> |
<td width="80" align="center">---</td> |
<?php } ?> |
</tr> |
<?php } ?> |
</td></tr> |
</table> |
</body> |
</html> |