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 |
|