29,7 → 29,8 |
*****************************************************************/ |
$ouvre=fopen(CONF_FILE,"r"); |
if ($ouvre){ |
while (!feof ($ouvre)){ |
while (!feof ($ouvre)) |
{ |
$tampon = fgets($ouvre, 4096); |
if (strpos($tampon,"=")!==false){ |
$tmp = explode("=",$tampon); |
43,7 → 44,7 |
$organisme = trim($conf["ORGANISM"]); |
$domainname = trim($conf["DOMAIN"]); |
$hostname = "alcasar.".$domainname; |
$network_pb = False; # "alcasar-watchdog.sh" changes this value if a network issue is detected |
$network_pb = False; |
$cert_add = "http://$hostname/certs"; |
$direct_access = False; |
$display_menu=False; |
55,8 → 56,7 |
$Language = 'en'; |
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ |
$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']); |
$Language = strtolower(substr(chop($Langue[0]),0,2)); |
} |
$Language = strtolower(substr(chop($Langue[0]),0,2)); } |
$redirect_link = "www.euronews.com"; # Default redirection for HTTPS interception (beware, this website must run in HTTP) |
|
# Retrieve the user info behind the remote ip |
63,9 → 63,12 |
exec ("sudo /usr/sbin/chilli_query list | grep -Ew $remote_ip" , $tab); |
$user = explode (" ", $tab[0]); |
|
|
# Test if it's a direct connexion to ALCASAR |
if (isset($_SERVER['HTTP_HOST'])){ |
if (($_SERVER['HTTP_HOST'] == $_SERVER['SERVER_ADDR']) || (preg_match ("/^alcasar$/", $_SERVER['HTTP_HOST'])) || (preg_match ("/^$hostname$/", $_SERVER['HTTP_HOST'])) || (preg_match ("/^$organisme$/", $_SERVER['HTTP_HOST']))){ |
if (isset($_SERVER['HTTP_HOST'])) |
{ |
if (($_SERVER['HTTP_HOST'] == $_SERVER['SERVER_ADDR']) || (preg_match ("/^alcasar$/", $_SERVER['HTTP_HOST'])) || (preg_match ("/^$hostname$/", $_SERVER['HTTP_HOST'])) || (preg_match ("/^$organisme$/", $_SERVER['HTTP_HOST']))) |
{ |
$direct_access=True; |
exec("sudo /usr/sbin/ipset del not_auth_yet $remote_ip"); # del user of the ipset "not_auth_yet" to not loop |
} |
80,7 → 83,7 |
return $time[0]." h ".$time[1]." m ".$time[2]." s"; |
} |
|
# if user need to be warned |
//if user need to be warn |
if(isset($_GET['warn']) && isset($_GET['url'])) |
{ |
$direct_access = False; |
93,10 → 96,11 |
header("Location: $_GET[url]",TRUE,307); |
exit; |
} |
# we retrieve his three last connections |
// we retrieve his three last connections |
if ((is_file("./acc/manager/lib/sql/drivers/mysql/functions.php"))&&(is_file("/etc/freeradius-web/config.php"))){ |
include_once("/etc/freeradius-web/config.php"); |
include_once("./acc/manager/lib/sql/drivers/mysql/functions.php"); |
|
$sql = "SELECT UserName, AcctStartTime, AcctStopTime, acctsessiontime FROM radacct WHERE UserName='$user[5]' ORDER BY AcctStartTime DESC LIMIT 0 , $nb_connection_history"; |
$link = @da_sql_pconnect($config); |
if ($link){ |
116,13 → 120,17 |
else # the user isn't authenticated |
{ |
exec("sudo /usr/sbin/ipset list not_auth_yet | grep $remote_ip | wc -l 2>&1", $ipset_not_auth_yet); |
if(!$direct_access && $ipset_not_auth_yet[0] == '0'){ # it's the first stage of the interception |
if(!$direct_access && $ipset_not_auth_yet[0] == '0') # it's the first stage of the interception |
{ |
$display_menu = True; # Display menu for user not_auth_yet |
if (!isset($_SERVER['HTTPS'])){ # In HTTP, the user is redirected on it's home page. In HTTPS, it's on the default page (see $redirect_link) |
$redirect_link = $_SERVER['HTTP_HOST']; |
if (!isset($_SERVER['HTTPS'])) # In HTTP, the user is redirected on it's home page. In HTTPS, it's on the default page |
{ |
$redirect_link = $_SERVER['HTTP_HOST']; # to keep the user URL |
} |
|
} |
if(isset($_GET['url'])){ # it's the second stage (when user has clicked on the button "open a connection") |
if(isset($_GET['url'])) # it's the second stage (when user has clicked to open a connection ...) |
{ |
exec("sudo /usr/sbin/ipset add not_auth_yet $remote_ip"); # Add user in the ipset "not_auth_yet" (DNS requests not intercepted) |
$redir = "http://".$_GET['url']; |
header("Location: $redir",TRUE,307); |
131,6 → 139,8 |
if ($ipset_not_auth_yet[0] == '1'){ # if user not_auth_yet still here (index.php), we force DNS resquest. |
echo "<script>window.location.reload(true)</script>"; # force DNS request |
} |
|
|
} |
# Choice of language |
if($Language == 'fr'){ |
155,11 → 165,13 |
$l_logout = "<a href=\"http://$hostname/index.php?url=$redirect_link\">Ouvrir une session Internet</a>"; |
} |
else{ |
if ($user[5] != $user[0]){ # authentication exception or not |
if ($user[5] != $user[0]) // authentication exception or not |
{ |
$l_logout_explain = "Ferme la session de l'usager actuellement connecté. <br><br>Utilisateur connecté : <a href=\"http://$hostname:3990/logoff\" title=\"Deconnecter l'utilisateur $user[5]\"><b>$user[5]</b></a><br><br>$nb_connection_history dernières connexions :$connection_history"; |
$l_logout = "<a href=\"http://$hostname:3990/logoff\">Se déconnecter d'internet</a>"; |
} |
else{ |
else |
{ |
$l_logout_explain = "Votre système ($user[5]) est en exception d'authentication.<br><br>$nb_connection_history last connections :$connection_history"; |
$l_logout = "Information des connexions"; |
} |
172,12 → 184,10 |
$l_service_sms_n = "Service SMS non actif"; |
$l_acc_sms = "Auto enregistrement par SMS"; |
$l_explain_warn = "L'administrateur a créé une archive contenant vos journaux de connexion dans le cadre d'une affaire judiciaire."; |
if(isset($_GET['url'])){ |
if(isset($_GET['url'])) |
$l_continue_link = "<a href='index.php?redirect=1&url=$_GET[url]' class='button'>Je comprends et je souhaite continuer ma navigation.</a>"; |
} |
else{ |
else |
$l_continue_link = "<a href='index.php' class='button'>Je comprends et je souhaite continuer ma navigation.</a>"; |
} |
$l_title_warn="Cher utilisateur, "; |
$l_explain_warn_name="Une personne sous le nom de "; |
$l_explain_warn_ip="sous cette IP : "; |
206,11 → 216,13 |
$l_logout = "<a href=\"http://$hostname/index.php?url=$redirect_link\">Abrir uma conexão de Internet</a>"; |
} |
else{ |
if ($user[5] != $user[0]){ # authentication exception or not |
if ($user[5] != $user[0]) // authentication exception or not |
{ |
$l_logout_explain = "Se desejar, feche a conexão do usuário atual conectado.<br> Usuário conectado : <a href=\"http://$hostname:3990/logoff\" title=\"Disconnect user $user[5]\"><b>$user[5]</b></a><br><br>$nb_connection_history last connections :$connection_history"; |
$l_logout = "<a href=\"http://$hostname:3990/logoff\">Sair da Internet</a>"; |
} |
else{ |
else |
{ |
$l_logout_explain = "O sistema ($user[5]) detctou exesso de autenticação.<br><br>$nb_connection_history logins últimos :$connection_history"; |
$l_logout = "Informações de conexões"; |
} |
223,12 → 235,10 |
$l_service_sms_n = "SMS service disable"; |
$l_acc_sms = "Auto registration by SMS"; |
$l_explain_warn = "El administrador ha creado un archivo que contiene los periódicos de inicio de sesión como parte de un proceso judicial."; |
if(isset($_GET['url'])){ |
if(isset($_GET['url'])) |
$l_continue_link = "<a href='index.php?redirect=1&url=$_GET[url]' class='button'>Lo comprendo y deseo continuar mi navegación.</a>"; |
} |
else{ |
else |
$l_continue_link = "<a href='index.php' class='button'>Lo comprendo y deseo continuar mi navegación.</a>"; |
} |
$l_title_warn="Estimado usuario,"; |
$l_explain_warn_name="El usario "; |
$l_explain_warn_ip="con este IP : "; |
257,11 → 267,13 |
$l_logout = "<a href=\"http://$hostname/index.php?url=$redirect_link\">打开一个网络进程</a>"; |
} |
else{ |
if ($user[5] != $user[0]){ # authentication exception or not |
if ($user[5] != $user[0]) // authentication exception or not |
{ |
$l_logout_explain = "关闭当前连接进程。<br> 已连接用户:<a href=\"http://$hostname:3990/logoff\" title=\" $user[5]\"><b>$user[5]</b></a><br><br>$nb_connection_history 最后连接 :$connection_history"; |
$l_logout = "<a href=\"http://$hostname:3990/logoff\">断开网络</a>"; |
} |
else{ |
else |
{ |
$l_logout_explain = "您的系统($user[5])验证例外<br><br>$nb_connection_history 最后连接: $connection_history"; |
$l_logout = "连接信息"; |
} |
274,12 → 286,10 |
$l_service_sms_n = "短信服务禁用"; |
$l_acc_sms = "短信自动注册"; |
$l_explain_warn = "管理员创建了一份可用于司法调查的连接日志文档。"; |
if(isset($_GET['url'])){ |
if(isset($_GET['url'])) |
$l_continue_link = "<a href='index.php?redirect=1&url=$_GET[url]' class='button'>我明白并希望继续浏览。</a>"; |
} |
else{ |
else |
$l_continue_link = "<a href='index.php' class='button'>我明白并希望继续浏览。</a>"; |
} |
$l_title_warn="亲爱的用户,"; |
$l_explain_warn_name="一人名为"; |
$l_explain_warn_ip="在此IP:"; |
311,9 → 321,8 |
$l_logout_explain = "و لا جلسة استفسار للإنترنت مفتوحة حاليا على نظامك"; |
$close_session_text = "فتح جلسة الإنترنت"; |
$l_logout = "<a href=\"http://$hostname/index.php?url=$redirect_link\">$close_session_text</a>"; |
} |
else{ |
if ($user[5] != $user[0]){ # authentication exception or not |
} else { |
if ($user[5] != $user[0]) { // authentication exception or not |
$close_session_text = "إقفال جلسة المستخدم المتصل حاليا"; |
$user_logged_text = "المستخدم متصل"; |
$disconnect_user_text = "قطع الاتصال على المستخدم"; |
381,11 → 390,13 |
$l_logout = "<a href=\"http://$hostname/index.php?url=$redirect_link\">Open an Internet session</a>"; |
} |
else{ |
if ($user[5] != $user[0]){ # authentication exception or not |
if ($user[5] != $user[0]) // authentication exception or not |
{ |
$l_logout_explain = "Close the session of the user currently connected.<br> User logged-on : <a href=\"http://$hostname:3990/logoff\" title=\"Disconnect user $user[5]\"><b>$user[5]</b></a><br><br>$nb_connection_history last connections :$connection_history"; |
$l_logout = "<a href=\"http://$hostname:3990/logoff\">Logoff from internet</a>"; |
} |
else{ |
else |
{ |
$l_logout_explain = "Your system ($user[5]) is in exception of authentication.<br><br>$nb_connection_history Last logins :$connection_history"; |
$l_logout = "Connections information"; |
} |
398,12 → 409,10 |
$l_service_sms_n = "SMS service disable"; |
$l_acc_sms = "Auto registration by SMS"; |
$l_explain_warn = "The administrator created an archive which contains your imputabilities logs for a judicial investigation."; |
if(isset($_GET['url'])){ |
if(isset($_GET['url'])) |
$l_continue_link = "<a href='index.php?redirect=1&url=$_GET[url]' class='button'>I understand and I wish to continue.</a>"; |
} |
else{ |
else |
$l_continue_link = "<a href='index.php' class='button'>I understand and I wish to continue.</a>"; |
} |
$l_title_warn="Dear user,"; |
$l_explain_warn_name="Someone called "; |
$l_explain_warn_ip="with this IP : "; |
459,7 → 468,6 |
include("css/style_intercept.css"); |
echo "</style>"; |
?> |
|
<script type="text/javascript"> |
function valoriserDiv5(param){ |
document.getElementById("box_info").innerHTML = param.innerHTML; |
477,13 → 485,15 |
} |
} |
else{ |
# if user need to be warned that someone reads his logs |
if(isset($_GET['warn']) && isset($_GET['url']) && $_GET['warn'] == '1'){ |
#if user need to be warn about that someone who read his logs |
if(isset($_GET['warn']) && isset($_GET['url']) && $_GET['warn'] == '1') |
{ |
echo " |
<div id=\"cadre_titre\" class=\"titre_refus\"> |
<p id=\"acces_controle\" class=\"titre_refus\">$l_title_warn</p>"; |
} |
else{ |
else |
{ |
echo " |
<div id=\"cadre_titre\" class=\"titre_refus\"> |
<p id=\"acces_controle\" class=\"titre_refus\">$l_title</p>"; |
490,7 → 500,6 |
} |
} |
?> |
|
<div id="boite_logo"> |
<img src="<?php echo "$img_rep$img_organisme"; ?>"> |
</div> |
526,8 → 535,7 |
$sms_div_over=''; |
} |
if ($direct_access || $display_menu){ |
echo " |
<div id=\"box_bienvenue\"> |
echo " <div id=\"box_bienvenue\"> |
$l_welcome |
</div> |
<div class=\"box_menu\" id=\"box_conn\" onmouseover=\"valoriserDiv5(text_conn);\"> |
563,8 → 571,11 |
</div>"; |
} |
else { |
# user need to be warned that someone reads his logs |
if(isset($_GET['warn']) && isset($_GET['url']) && $_GET['warn'] == '1'){ |
#if user need to be warn about that someone who read his logs |
if(isset($_GET['warn']) && isset($_GET['url']) && $_GET['warn'] == '1') |
{ |
|
|
$filename="/var/www/html/acc/backup/log_info.txt"; |
$l_explain_warn=""; |
if(file_exists($filename)){ |
577,21 → 588,28 |
$log_reason=$infos[2]; |
$log_ip=$infos[3]; |
} |
|
$l_explain_warn="$l_explain_warn_name$log_user ( $l_explain_warn_ip$log_ip ) $l_explain_warn_date$log_date $l_explain_warn_reason$log_reason"; |
} |
else{ |
else |
{ |
echo "Log error!"; |
} |
|
|
echo " |
<div id=\"box_refuse\"> |
<img src=\"$img_rep$img_warning\"> |
<p>$l_explain_warn</p> |
|
</div> |
<div id=\"liens_redir\"> |
<p>$l_continue_link</p> |
</div>"; |
|
} |
else{ |
else |
{ |
echo " |
<div id=\"box_refuse\"> |
<img src=\"$img_rep$img_false\"> |
614,3 → 632,5 |
</div> |
</body> |
</html> |
|
|