Subversion Repositories ALCASAR

Rev

Rev 2845 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2845 Rev 2864
Line 1... Line 1...
1
<?php
1
<?php
2
# $Id: security.php 2845 2020-07-04 17:54:03Z rexy $
2
# $Id: security.php 2864 2020-10-18 09:06:17Z rexy $
3
 
3
 
4
$language = 'en';
4
$language = 'en';
5
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
5
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
6
    $langue = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
6
    $langue = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
7
    $language = strtolower(substr(chop($langue[0]), 0, 2));
7
    $language = strtolower(substr(chop($langue[0]), 0, 2));
Line 52... Line 52...
52
        $regex = '/^\[(?P<date>[0-9\/\-: ]+)\] : alcasar-watchdog : (?P<ip>(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])) is usurped \((?P<mac>(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2})\)\. Alcasar disconnect the user \((?P<user>.+)\)\.$/';
52
        $regex = '/^\[(?P<date>[0-9\/\-: ]+)\] : alcasar-watchdog : (?P<ip>(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])) is usurped \((?P<mac>(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2})\)\. Alcasar disconnect the user \((?P<user>.+)\)\.$/';
53
        $file = fopen('/var/Save/security/watchdog.log', 'r');
53
        $file = fopen('/var/Save/security/watchdog.log', 'r');
54
        if ($file) {
54
        if ($file) {
55
                while (!feof($file)) {
55
                while (!feof($file)) {
56
                        $line = fgets($file);
56
                        $line = fgets($file);
57
 
-
 
58
                        if (preg_match($regex, $line, $matches)) {
57
                        if (preg_match($regex, $line, $matches)) {
59
                                if (preg_match('/[0-9]{2}\/[0-9]{2}\/[0-9]{4}-[0-9]{2}:[0-9]{2}:[0-9]{2}/', $matches['date'], $matches_date)) {
58
                                if (preg_match('/[0-9]{2}\/[0-9]{2}\/[0-9]{4}-[0-9]{2}:[0-9]{2}:[0-9]{2}/', $matches['date'], $matches_date)) {
60
                                        $matches['date'] = DateTime::createFromFormat('d/m/Y-H:i:s', $matches['date'])->format('Y-m-d H:i:s');
59
                                        $matches['date'] = DateTime::createFromFormat('d/m/Y-H:i:s', $matches['date'])->format('Y-m-d H:i:s');
61
                                }
60
                                }
62
                                $spoofs[] = (object) [
61
                                $spoofs[] = (object) [
Line 124... Line 123...
124
                </table>
123
                </table>
125
        </div>
124
        </div>
126
<?php
125
<?php
127
} else if ($tab === 3) {
126
} else if ($tab === 3) {
128
        $bans = [];
127
        $bans = [];
129
        $regex = '/^(?P<date>[0-9]{4}-[0-9]{2}-[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2}),[0-9]{3} fail2ban\.actions\[[0-9]+\]: WARNING \[(?P<rule>[a-zA-Z0-9_-]+)\] (?P<type>Ban|Unban) (?P<ip>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$/';
128
        $regex = '/^(?P<date>[0-9]{4}-[0-9]{2}-[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2}),[0-9]{3} fail2ban\.actions\[[0-9]+\]: NOTICE \[(?P<rule>[a-zA-Z0-9_-]+)\] (?P<type>Ban|Unban) (?P<ip>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$/';
130
        $file = fopen('/var/log/fail2ban.log', 'r');
129
        $file = fopen('/var/log/fail2ban.log', 'r');
131
        if ($file) {
130
        if ($file) {
132
                while (!feof($file)) {
131
                while (!feof($file)) {
133
                        $line = fgets($file);
132
                        $line = fgets($file);
134
 
133