Nouveaux messages.
This commit is contained in:
parent
104e974323
commit
67c6124a4b
|
@ -12,6 +12,8 @@ sub Date() {
|
|||
localtime(time);
|
||||
|
||||
$year += 1900;
|
||||
$mon++;
|
||||
|
||||
my $temps = "$mday/$mon/$year - $hour:$min:$sec";
|
||||
|
||||
return $temps;
|
||||
|
|
|
@ -19,7 +19,7 @@ my $userpass = $Config->{bdd}->{userpass};
|
|||
|
||||
# Règles firewall
|
||||
open(RULES, "/etc/evoauth/evoauth.rules") ||
|
||||
&ecriture("L'ouverture du fichier de règles a échoué.");
|
||||
&Log("L'ouverture du fichier de règles a échoué.");
|
||||
our @rules = <RULES>;
|
||||
close(RULES);
|
||||
|
||||
|
@ -30,8 +30,8 @@ sub Alter() {
|
|||
# mode ajout
|
||||
if ($action == 1) {
|
||||
system("/sbin/iptables -I EVOAUTH -s $ip -j ACCEPT 2>/dev/null");
|
||||
&Evoauth::Functions::Log("Ajout de $ip aux connectés.") &&
|
||||
&Evoauth::Functions::Mail("Connexion", $ip);
|
||||
Evoauth::Functions::Log("[E] Connexion de $ip.") &&
|
||||
&Evoauth::Functions::Mail("[E] Connexion de", $ip);
|
||||
}
|
||||
|
||||
# mode vérification
|
||||
|
@ -44,7 +44,7 @@ sub Alter() {
|
|||
else {
|
||||
|
||||
my $dbh = DBI->connect( $db, $username, $userpass ) ||
|
||||
&Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr");
|
||||
&Evoauth::Functions::Log("[W] La connexion a échoué : $DBI::errstr");
|
||||
|
||||
my $sql = qq{ UPDATE users set statut = 0 where ip = '$ip' };
|
||||
my $sth = $dbh->prepare($sql);
|
||||
|
@ -54,8 +54,8 @@ sub Alter() {
|
|||
$sth->execute();
|
||||
$sth->finish();
|
||||
|
||||
&Evoauth::Functions::Log("$ip [supprimée]");
|
||||
&Evoauth::Functions::Mail("Deconnexion", $ip);
|
||||
&Evoauth::Functions::Log("[E] Suppression de $ip.") &&
|
||||
&Evoauth::Functions::Mail("[E] Suppression de", $ip);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -63,13 +63,13 @@ sub Alter() {
|
|||
sub check_iptables() {
|
||||
my ($ip, @ips);
|
||||
|
||||
&Evoauth::Functions::Log("Suppression des règles obsolètes dans iptables.");
|
||||
&Evoauth::Functions::Log("[A] Vérification des règles Iptables.");
|
||||
|
||||
# obtention de la liste des ips
|
||||
system("/sbin/iptables -L EVOAUTH -n | grep ACCEPT | awk '{ print \$4 }' > /tmp/ips.txt");
|
||||
|
||||
# on ouvre le fichier des ips
|
||||
open(IPS, "/tmp/ips.txt") || &ecriture("L'ouverture des IPs a échoué.");
|
||||
open(IPS, "/tmp/ips.txt") || &Log("[W] L'ouverture des IPs a échoué.");
|
||||
@ips = <IPS>;
|
||||
close(IPS);
|
||||
|
||||
|
@ -77,7 +77,7 @@ sub check_iptables() {
|
|||
chomp $ip;
|
||||
|
||||
my $dbh = DBI->connect( $db, $username, $userpass ) ||
|
||||
&Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr");
|
||||
&Evoauth::Functions::Log("[W] La connexion a échoué : $DBI::errstr");
|
||||
|
||||
my $sql = "SELECT statut FROM users where ip = '".$ip."'";
|
||||
my $sth = $dbh->prepare( $sql );
|
||||
|
@ -90,26 +90,26 @@ sub check_iptables() {
|
|||
# si entrée iptables présente mais statut non connecté, on supprime
|
||||
if (defined($statut)) {
|
||||
if ($statut != 1) {
|
||||
&Evoauth::Functions::Log("$ip [supprimée]\n") &&
|
||||
&Evoauth::Functions::Mail("Suppression", $ip);
|
||||
&Evoauth::Functions::Log("[A] Suppression de $ip.") &&
|
||||
&Evoauth::Functions::Mail("[A] Suppression de", $ip);
|
||||
&Alter(3, $ip);
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
&Evoauth::Functions::Log("$ip [supprimée]\n") &&
|
||||
&Evoauth::Functions::Mail("Suppression", $ip);
|
||||
&Evoauth::Functions::Log("[A] Suppression de $ip.") &&
|
||||
&Evoauth::Functions::Mail("[A] Suppression de", $ip);
|
||||
&Alter(3, $ip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub check_timestamp() {
|
||||
&Evoauth::Functions::Log("Suppression des règles obsolètes dans iptables.");
|
||||
&Evoauth::Functions::Log("[A] Vérification des états de connexion.");
|
||||
|
||||
# on travaille sur tous les utilisateurs présents
|
||||
my $dbh = DBI->connect( $db, $username, $userpass ) ||
|
||||
&Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr");
|
||||
&Evoauth::Functions::Log("[W] La connexion a échoué : $DBI::errstr");
|
||||
|
||||
my $sql = "SELECT * FROM users";
|
||||
my $sth = $dbh->prepare($sql);
|
||||
|
@ -122,7 +122,7 @@ sub check_timestamp() {
|
|||
\$utype, \$credit, \$ip, \$statut, \$actif, \$firstcon,
|
||||
\$lastupdate, \$kick);
|
||||
|
||||
&Evoauth::Functions::Log("Vérification de la base.");
|
||||
&Evoauth::Functions::Log("[A] Vérification de la base.");
|
||||
|
||||
my ($newtime, $oldtime, $cpt);
|
||||
|
||||
|
@ -136,13 +136,13 @@ sub check_timestamp() {
|
|||
if ($timestamp > $timetorem) {
|
||||
# dernière connexion est < 1 min -> suppresion
|
||||
&Alter(3, $ip);
|
||||
&Evoauth::Functions::Log("$ip [supprimée]") &&
|
||||
&Evoauth::Functions::Mail("Suppression", $ip);
|
||||
&Evoauth::Functions::Log("[A] Suppression de $ip.") &&
|
||||
&Evoauth::Functions::Mail("[A] Suppression", $ip);
|
||||
}
|
||||
|
||||
# sinon conservation
|
||||
else {
|
||||
&Evoauth::Functions::Log("$ip [conservée]");
|
||||
&Evoauth::Functions::Log("[A] Conservation de $ip.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -168,12 +168,12 @@ sub Control() {
|
|||
system("/sbin/iptables -t nat -A PREROUTING -p $tmp1[3] -i ppp0 --dport $tmp1[1] -j DNAT --to $tmp1[0]:$tmp1[2] 2>/dev/null");
|
||||
}
|
||||
|
||||
&Evoauth::Functions::Log("1 - Règles de PREROUTING charges");
|
||||
&Evoauth::Functions::Log("[C] 1- Règles de PREROUTING chargées");
|
||||
|
||||
system("/sbin/iptables -N EVOAUTH 2>/dev/null");
|
||||
system("/sbin/iptables -A EVOAUTH -j DROP 2>/dev/null");
|
||||
|
||||
&Evoauth::Functions::Log("2 - Tables crées");
|
||||
&Evoauth::Functions::Log("[C] 2 - Tables crées");
|
||||
|
||||
# chargement des règles
|
||||
foreach (@rules) {
|
||||
|
@ -189,15 +189,15 @@ sub Control() {
|
|||
system("/sbin/iptables -A FORWARD -p $tmp2[3] -i ppp0 -o eth0 --dport $tmp2[1] -j EVOAUTH 2>/dev/null");
|
||||
}
|
||||
|
||||
&Evoauth::Functions::Log("3 - Règles chargées");
|
||||
&Evoauth::Functions::Log("[C] 3 - Règles chargées");
|
||||
|
||||
&Evoauth::Functions::Log("Evoauth vient de démarrer.");
|
||||
&Evoauth::Functions::Log("[C] Evoauth vient de démarrer.");
|
||||
}
|
||||
|
||||
# arret
|
||||
elsif ($action == 2) {
|
||||
system("/sbin/iptables -F EVOAUTH 2>/dev/null");
|
||||
&Evoauth::Functions::Log("1 - Flush de la table EVOAUTH");
|
||||
&Evoauth::Functions::Log("[C] 1 - Flush de la table EVOAUTH");
|
||||
|
||||
foreach (@rules) {
|
||||
next if /^#/;
|
||||
|
@ -213,19 +213,19 @@ sub Control() {
|
|||
system("/sbin/iptables -t nat -D PREROUTING -p $tmp3[3] -i ppp0 --dport $tmp3[1] -j DNAT --to $tmp3[0]:$tmp3[2] 2>/dev/null");
|
||||
}
|
||||
|
||||
&Evoauth::Functions::Log("2 - Annulation FORWARD + PREROUTING");
|
||||
&Evoauth::Functions::Log("[C] 2 - Annulation FORWARD + PREROUTING");
|
||||
|
||||
system("/sbin/iptables -X EVOAUTH 2>/dev/null");
|
||||
&Evoauth::Functions::Log("3 - Suppression de la table EVOAUTH");
|
||||
&Evoauth::Functions::Log("[C] 3 - Suppression de la table EVOAUTH");
|
||||
|
||||
&Evoauth::Functions::Log("Evoauth vient de s'arreter.");
|
||||
&Evoauth::Functions::Log("[C] Evoauth vient de s'arreter.");
|
||||
}
|
||||
|
||||
# restart
|
||||
else {
|
||||
&Control(2);
|
||||
&Control(1);
|
||||
&Evoauth::Functions::Log("Evoauth vient de redémarrer.");
|
||||
&Evoauth::Functions::Log("[C] Evoauth vient de redémarrer.");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Reference in New Issue