29,8 → 29,7 |
*****************************************************************/ |
$ouvre=fopen(CONF_FILE,"r"); |
if ($ouvre){ |
while (!feof ($ouvre)) |
{ |
while (!feof ($ouvre)){ |
$tampon = fgets($ouvre, 4096); |
if (strpos($tampon,"=")!==false){ |
$tmp = explode("=",$tampon); |
44,7 → 43,7 |
$organisme = trim($conf["ORGANISM"]); |
$domainname = trim($conf["DOMAIN"]); |
$hostname = "alcasar.".$domainname; |
$network_pb = False; |
$network_pb = False; # "alcasar-watchdog.sh" changes this value if a network issue is detected |
$cert_add = "http://$hostname/certs"; |
$direct_access = False; |
$display_menu=False; |
56,7 → 55,8 |
$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,12 → 63,9 |
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 |
} |
83,7 → 80,7 |
return $time[0]." h ".$time[1]." m ".$time[2]." s"; |
} |
|
//if user need to be warn |
# if user need to be warned |
if(isset($_GET['warn']) && isset($_GET['url'])) |
{ |
$direct_access = False; |
96,11 → 93,10 |
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){ |
120,17 → 116,13 |
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 |
{ |
$redirect_link = $_SERVER['HTTP_HOST']; # to keep the user URL |
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($_GET['url'])) # it's the second stage (when user has clicked to open a connection ...) |
{ |
if(isset($_GET['url'])){ # it's the second stage (when user has clicked on the button "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); |
139,8 → 131,6 |
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'){ |
165,13 → 155,11 |
$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"; |
} |
184,10 → 172,12 |
$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 : "; |
216,13 → 206,11 |
$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"; |
} |
235,10 → 223,12 |
$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 : "; |
267,13 → 257,11 |
$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 = "连接信息"; |
} |
286,10 → 274,12 |
$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:"; |
321,8 → 311,9 |
$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 = "قطع الاتصال على المستخدم"; |
390,13 → 381,11 |
$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"; |
} |
409,10 → 398,12 |
$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 : "; |
468,6 → 459,7 |
include("css/style_intercept.css"); |
echo "</style>"; |
?> |
|
<script type="text/javascript"> |
function valoriserDiv5(param){ |
document.getElementById("box_info").innerHTML = param.innerHTML; |
485,15 → 477,13 |
} |
} |
else { |
#if user need to be warn about that someone who read his logs |
if(isset($_GET['warn']) && isset($_GET['url']) && $_GET['warn'] == '1') |
{ |
# if user need to be warned that someone reads 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>"; |
500,6 → 490,7 |
} |
} |
?> |
|
<div id="boite_logo"> |
<img src="<?php echo "$img_rep$img_organisme"; ?>"> |
</div> |
535,7 → 526,8 |
$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);\"> |
571,11 → 563,8 |
</div>"; |
} |
else { |
#if user need to be warn about that someone who read his logs |
if(isset($_GET['warn']) && isset($_GET['url']) && $_GET['warn'] == '1') |
{ |
|
|
# user need to be warned that someone reads 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)){ |
588,28 → 577,21 |
$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\"> |
632,5 → 614,3 |
</div> |
</body> |
</html> |
|
|