Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 837 → Rev 838

/web/acc/admin/network.php
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&eacute;marrer";
$l_service_stop = "Arr&ecirc;ter";
$l_service_restart = "Red&eacute;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>