Extra Systems Ban Software (ESBANS)

ES-RDP

Модуль stat-all

Модуль stat-all нашей оригинальной системы защиты удаленного рабочего стола Windows состоит из двух файлов - основного скрипта для PowerShell stat_all.ps1 (который и выполняет всю необходимую работу по выводу на экран полной статистики состояния системы ES-RDP на данном компьютере) и дополнительного файла stat_all.bat (который предназначен для быстрого запуска из cmd.exe консоли Windows основного файла stat_all.ps1).

Файл stat_all.bat имеет в нашей системе такой вид:

powershell.exe -File "C:\Scripts\stat_all.ps1"
pause

Само собой понятно, что вы у себя должны здесь будете заменить "C:\Scripts" на тот адрес, по которому у вас расположена копия нашей системы. Главный файл этого модуля stat_all.ps1 имеет следующий вид:

. "$PSScriptRoot\common.ps1"

Write-Host "`n=== [ ТЮРЬМА ES-RDP: СПИСОК ЗАКЛЮЧЕННЫХ ] ===" -ForegroundColor Cyan
Write-Host "Срок изоляции от общества: $PrimeTime дн." -ForegroundColor Gray

# Получаем список правил
$RulePrefix = $FirewallPrefixes['short']
$ShortRules = Get-NetFirewallRule -DisplayName "$RulePrefix*" -ErrorAction SilentlyContinue
if (-not $ShortRules) {
    Write-Host "В камерах пусто. Все чисты..." -ForegroundColor Green
} else {
    $Results = foreach ($Rule in $ShortRules) {
        $Address = (Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $Rule).RemoteAddress
        $Attempts = 0
        $Type = "AUTH"
        # Парсим описание (SCAN/AUTH)
        if ($Rule.Description -match "Type: (\w+). Attempts: (\d+)") {
            $Type = $Matches[1]
            $Attempts = [int]$Matches[2]
        }
        elseif ($Rule.Description -match "(\d+) attempts") {
            $Attempts = [int]$Matches[1]
        }
        # Извлекаем дату и просто переставляем цифры (Europe Style)
        $RawDate = $Rule.Description -replace ".*Created: ", ""
        $FormattedDate = $RawDate -replace "(\d{2})/(\d{2})/(\d{4})", '$2.$1.$3'

        [PSCustomObject]@{
            "IP Адрес"  = $Address
            "Дата бана" = $FormattedDate
            "Ударов"    = $Attempts
            "Тип"       = $Type
            "Правило"   = $Rule.DisplayName
        }
    }
    # Сортировка по дате
$Results | Sort-Object @{
    Expression = { [DateTime]::ParseExact($_. "Дата бана", "dd.MM.yyyy HH:mm:ss", $null) }
} | Format-Table -AutoSize
    Write-Host "-----------------------"
    Write-Host "Всего в бане: $($Results.Count)" -ForegroundColor Yellow
}

# Проходим по остальным типам: long, net, bot
foreach ($Key in "long", "net", "bot") {
    
    $Prefix = $FirewallPrefixes[$Key]
    $Duration = $BanTimes[$Key]
    $Title = $FullBanName[$Key].ToUpper()

    Write-Host "`n=== [ $Title ES-RDP: СПИСОК ЗАКЛЮЧЕННЫХ ] ===" -ForegroundColor Cyan
    Write-Host "Срок изоляции от общества: $Duration дн." -ForegroundColor Gray

    # Получаем список правил
    $Rules = Get-NetFirewallRule -DisplayName "$Prefix*" -ErrorAction SilentlyContinue

    if (-not $Rules) {
        Write-Host "В этом блоке нарушителей не обнаружено." -ForegroundColor Gray
    } else {
        $StepResults = @(foreach ($Rule in $Rules) {

            # Извлекаем IP или Подсеть
            $Address = (Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $Rule).RemoteAddress
            $Address = $Address -replace "/255\.255\.255\.0", "/24" -replace "/255\.255\.0\.0", "/16" -replace "/255\.0\.0\.0", "/8"

            # Извлекаем дату из описания
            $RawDate = $Rule.Description -replace ".*Created: ", ""

            # Проверка на наличие времени для корректного парсинга
            if ($RawDate -notmatch "\d{2}:\d{2}:\d{2}") { $RawDate += " 00:00:00" }
            
            # Форматируем дату (из MM/DD/YYYY в DD.MM.YYYY)
            $FormattedDate = $RawDate -replace "(\d{2})/(\d{2})/(\d{4})", '$2.$1.$3'

            [PSCustomObject]@{
                "Клиент"            = $Address
                "Дата бана"         = $FormattedDate
                "Имя правила"       = $Rule.DisplayName
            }
        })

        # Вывод таблицы с сортировкой по дате
        $StepResults | Sort-Object @{
            Expression = { [DateTime]::ParseExact($_. "Дата бана", "dd.MM.yyyy HH:mm:ss", $null) }
        } | Format-Table -AutoSize
        Write-Host "-----------------------"
        Write-Host "Всего в бане: $($StepResults.Count)" -ForegroundColor Yellow
    }
}

# --- [ БЛОК: ОТЧЕТ СУДЕБНОЙ КАНЦЕЛЯРИИ ] ---
Write-Host "`n=== [ ОТЧЕТ СУДЕБНОЙ КАНЦЕЛЯРИИ ] ===" -ForegroundColor Cyan
Write-Host "Динамика колебаний уровня преступности" -ForegroundColor Gray
Write-Host "(за последние $PrimeTime дн.)" -ForegroundColor Gray

if ($Results) {
    # Группируем данные по дате (извлекаем только дату без времени, если оно там есть)
    $Stats = $Results | Group-Object { 
        # Берем первые 10 символов из "Дата бана" (формат ДД.ММ.ГГГГ)
        $_. "Дата бана".Substring(0, 10) 
    } | Select-Object @{Name="Дата"; Expression={$_.Name}},
                      @{Name="Преступлений"; Expression={ ($_.Group | Measure-Object "Ударов" -Sum).Sum }},
                      @{Name="Приговоров"; Expression={$_.Count}},
                      @{Name="Дата_Объект"; Expression={ [DateTime]::ParseExact($_.Name, "dd.MM.yyyy", $null) }}

    # Выводим таблицу
    $Stats | Sort-Object "Дата_Объект" | Select-Object "Дата", "Преступлений", "Приговоров" | Format-Table -AutoSize

} else {
    Write-Host "Архивы пусты. Преступности не обнаружено." -ForegroundColor Green
}

# --- [ БЛОК: ИСТОРИЯ ЗАКЛЮЧЕНИЙ (MySQL) ] ---
$HistoryLimit = 5 # Константа просмотра глубины тюремного архива
Write-Host "`n=== [ АРХИВ ТЮРЕМНОЙ СЛУЖБЫ ] ===" -ForegroundColor Cyan
Write-Host "(в среднем, за последние $HistoryLimit дн.)" -ForegroundColor Gray

# Формируем запрос: берем последние N записей, сортируем по дате
$HistoryQuery = "SELECT DATE_FORMAT(ban_date, '%d.%m'), ban_count FROM days_data where ban_type = 1 ORDER BY ban_date DESC LIMIT $HistoryLimit;"

# Выполняем через консольный клиент. 
# -N убирает заголовки, -s (silent) убирает рамки таблицы для удобства парсинга
$RawHistory = & $mysql_path --user=$mysql_user --password=$mysql_password --database=$mysql_dbName -N -s --execute="$HistoryQuery" 2>$null

if ($RawHistory) {

# Превращаем строки MySQL в красивые объекты
$HistoryObjects = $RawHistory | ForEach-Object {
    if ($_ -match "(\d{2}\.\d{2})\s+(\d+)") {
        [PSCustomObject]@{
            "Дата"       = $Matches[1]
            "Заключенных" = [int]$Matches[2]
        }
    }
}

# Выводим одной таблицей
if ($HistoryObjects) {
    if (@($HistoryObjects).Count -gt 1) {
        [array]::Reverse($HistoryObjects)
    }
    $HistoryObjects | Format-Table -AutoSize
}

} else {
    Write-Host "В архивах канцелярии записей не найдено." -ForegroundColor Yellow
}

# --- БЛОК: СТАТИСТИКА КАРЦЕРА ---
Write-Host "`n=== [ ИНСПЕКЦИЯ ЖУРНАЛА ОХРАНЫ ] ===" -ForegroundColor Cyan
Write-Host "СЕРВЕР: $env:COMPUTERNAME" -ForegroundColor Yellow

try {
    $LogInfo = Get-WinEvent -ListLog $LogName
    $OldestEvent = Get-WinEvent -LogName $LogName -MaxEvents 1 -Oldest -ErrorAction SilentlyContinue
    
    $LifespanHours = 0
    $FirstRecordDate = "Н/Д"

    if ($OldestEvent) {
        $FirstRecordDate = $OldestEvent.TimeCreated.ToString("dd.MM.yyyy HH:mm")
        $Diff = New-TimeSpan -Start $OldestEvent.TimeCreated -End (Get-Date)
        # Округляем до целого числа (вниз, до полных часов)
        $LifespanHours = [Math]::Truncate($Diff.TotalHours)
    }

    $LogStats = [PSCustomObject]@{
        "Макс. размер (МБ)" = [Math]::Round($LogInfo.MaximumSizeInBytes / 1MB, 2)
        "Текущий вес (МБ)"  = [Math]::Round($LogInfo.FileSize / 1MB, 2)
        "Записей в логе"    = $LogInfo.RecordCount
        "Старейшая запись"  = $FirstRecordDate
        "Время жизни (ч)"   = $LifespanHours
    }

    $LogStats | Format-Table -AutoSize

    if ($LifespanHours -lt 24 -and $LifespanHours -gt 0) {
        Write-Host "(!) ВНИМАНИЕ: Журнал живет меньше суток. Рекомендуется расширить лимит." -ForegroundColor Red
    }
} 
catch {
    Write-Host "Ошибка доступа к журналу: $($_.Exception.Message)" -ForegroundColor Red
}

Write-Host "`n=== [ ОТЧЕТ ПО БЕЗОПАСНОСТИ ES-RDP ] ===" -ForegroundColor Cyan
Write-Host "Анализ логов по типам событий" -ForegroundColor Gray

# 1. Собираем активные баны из Firewall (один раз)
$BannedIPs = @()
$RulePrefix = $FirewallPrefixes['short']
$ShortRules = Get-NetFirewallRule -DisplayName "$RulePrefix*" -ErrorAction SilentlyContinue
if ($ShortRules) {
    foreach ($Rule in $ShortRules) {
        $Addr = (Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $Rule).RemoteAddress
        if ($Addr) { $BannedIPs += $Addr }
    }
}

# 2. Цикл генерации таблиц
foreach ($R in $BanRules) {
    # Заголовок теперь включает и Limit, и Hours из правила, но поиск идет по $StartTime
    Write-Host "`n>>> Выборка событий    $($R.Type) (ID $($R.ID))" -ForegroundColor DarkYellow
    Write-Host ">>> Глубина анализа    $($R.Hours) час." -ForegroundColor DarkYellow
    Write-Host ">>> Порог срабатывания $($R.Limit) ударов" -ForegroundColor DarkYellow

    $StartTime = (Get-Date).AddHours(-$R.Hours)

    $Events = Get-WinEvent -FilterHashtable @{LogName=$LogName; ID=$R.ID; StartTime=$StartTime} -ErrorAction SilentlyContinue

    if (-not $Events) {
        Write-Host "В логах активности не найдено." -ForegroundColor Green
        continue
    }

    # Группируем ВСЕ найденные IP
    $Report = $Events | ForEach-Object {
        if ($_.Message -match "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})") {
            [PSCustomObject]@{ IP = $Matches[1]; Time = $_.TimeCreated }
        }
    } | Group-Object IP | Where-Object { $_.Count -gt 1 } | ForEach-Object {
        $GroupSorted = $_.Group | Sort-Object Time
        $CurrentIP = $_.Name
        $IsBanned = $BannedIPs -contains $CurrentIP
        
        [PSCustomObject]@{
            "IP Адрес"     = $CurrentIP
            "Ударов"       = $_.Count
            "Статус"       = if ($IsBanned) { "ОБЕЗВРЕЖЕН" } else { "СВОБОДЕН" }
            "Первый удар"  = $GroupSorted[0].Time.ToString("dd.MM HH:mm")
            "Последний"    = $GroupSorted[-1].Time.ToString("dd.MM HH:mm")
        }
    }

    if ($Report) {
        $Report | Sort-Object "Ударов" -Descending | Format-Table -AutoSize
        
        $TotalBanned  = @($Report | Where-Object { $_.Статус -eq "ОБЕЗВРЕЖЕН" }).Count
        $FreeRadicals = @($Report | Where-Object { $_.Статус -eq "СВОБОДЕН" }).Count

        $SummaryColor = "Green"
        if ($FreeRadicals -gt 0) { $SummaryColor = "Yellow" }

        Write-Host "ИТОГ: ОБЕЗВРЕЖЕНО: $TotalBanned | СВОБОДНО: $FreeRadicals" -ForegroundColor $SummaryColor
    }
}

# --- БЛОК: СТАТИСТИКА КОДОВ СОБЫТИЙ (ТОЛЬКО С IP) ---
Write-Host "`n=== [ АНАЛИЗАТОР АКТИВНОСТИ ПО ID ] ===" -ForegroundColor Cyan

try {
    # Вычисляем максимальный охват из таблицы правил
    $MaxHours = ($BanRules | Measure-Object -Property Hours -Maximum).Maximum
    if (-not $MaxHours) { $MaxHours = 24 } # Резервное значение

    Write-Host "Статистика событий, содержащих IP-адреса" -ForegroundColor Gray
    Write-Host "(за последние $MaxHours ч.)" -ForegroundColor Gray

    # Извлекаем события только за нужный период (оптимизация)
    $AnalysisPeriod = (Get-Date).AddHours(-$MaxHours)
    $AllEvents = Get-WinEvent -FilterHashtable @{LogName=$LogName; StartTime=$AnalysisPeriod} -ErrorAction SilentlyContinue

    if ($AllEvents) {
        $EventStats = $AllEvents | Group-Object Id | ForEach-Object {
            $CurrentID = $_.Name
            
            # Извлекаем уникальные IP (проверка Message на наличие IP)
            $UniqueIPs = $_.Group | ForEach-Object {
                if ($_.Message -match "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})") { $Matches[1] }
            } | Select-Object -Unique
            
            $IPCount = ($UniqueIPs | Measure-Object).Count

            if ($IPCount -gt 0) {
                [PSCustomObject]@{
                    "Код события"   = $CurrentID
                    "Обращений"     = $_.Count
                    "Уникальных IP" = $IPCount
                }
            }
        }

        # Выводим таблицу: сортировка по количеству обращений
        if ($EventStats) {
            $EventStats | Sort-Object "Обращений" -Descending | Format-Table -AutoSize
        } else {
            Write-Host "Событий с IP-адресами за этот период не обнаружено." -ForegroundColor Yellow
        }
    } else {
        Write-Host "Лог пуст за последние $MaxHours ч." -ForegroundColor Yellow
    }
} catch {
    Write-Host "Ошибка при анализе кодов: $($_.Exception.Message)" -ForegroundColor Red
}

Write-Host "`n--------------------------------------------"

Как видно из этого кода, данный скрипт (как и все остальные скрипты системы ESBANS) использует общие настройки системы из файла common.ps1.

Типичный результат работы этого скрипта может выглядеть у вас на Windows сервере примерно так:

C:\Scripts>powershell.exe -File "C:\Scripts\stat_all.ps1"

=== [ ТЮРЬМА ES-RDP: СПИСОК ЗАКЛЮЧЕННЫХ ] ===
Срок изоляции от общества: 3 дн.

IP Адрес        Дата бана           Ударов Тип  Правило
--------        ---------           ------ ---  -------
94.26.68.55     21.04.2026 00:50:05     11 AUTH ES_RDP_Short_Drop_2026-04-21_94.26.68.55
158.94.210.29   21.04.2026 01:20:05      6 AUTH ES_RDP_Short_Drop_2026-04-21_158.94.210.29
45.142.193.145  21.04.2026 03:50:05     22 AUTH ES_RDP_Short_Drop_2026-04-21_45.142.193.145
185.156.73.157  21.04.2026 12:40:05    156 AUTH ES_RDP_Short_Drop_2026-04-21_185.156.73.157
45.156.129.90   21.04.2026 15:10:07     13 SCAN ES_RDP_Short_Drop_2026-04-21_45.156.129.90
178.20.210.190  21.04.2026 15:20:06     17 AUTH ES_RDP_Short_Drop_2026-04-21_178.20.210.190
211.24.50.219   21.04.2026 16:50:41  12336 AUTH ES_RDP_Short_Drop_2026-04-21_211.24.50.219
123.253.61.230  21.04.2026 16:50:41      9 AUTH ES_RDP_Short_Drop_2026-04-21_123.253.61.230
45.238.132.30   21.04.2026 16:50:42      7 AUTH ES_RDP_Short_Drop_2026-04-21_45.238.132.30
36.255.223.98   21.04.2026 21:00:41     16 SCAN ES_RDP_Short_Drop_2026-04-21_36.255.223.98
45.156.128.66   21.04.2026 21:10:43     17 SCAN ES_RDP_Short_Drop_2026-04-21_45.156.128.66
212.55.74.139   22.04.2026 00:10:42      9 AUTH ES_RDP_Short_Drop_2026-04-22_212.55.74.139
107.174.142.113 22.04.2026 01:00:42      6 AUTH ES_RDP_Short_Drop_2026-04-22_107.174.142.113
115.21.71.141   22.04.2026 01:10:41      6 AUTH ES_RDP_Short_Drop_2026-04-22_115.21.71.141
94.26.88.29     22.04.2026 07:00:45    319 AUTH ES_RDP_Short_Drop_2026-04-22_94.26.88.29
23.190.152.61   22.04.2026 07:30:42      6 AUTH ES_RDP_Short_Drop_2026-04-22_23.190.152.61
220.185.138.206 22.04.2026 07:40:45     12 SCAN ES_RDP_Short_Drop_2026-04-22_220.185.138.206
80.66.83.80     22.04.2026 07:50:44     17 AUTH ES_RDP_Short_Drop_2026-04-22_80.66.83.80
20.115.56.149   22.04.2026 08:20:44      9 AUTH ES_RDP_Short_Drop_2026-04-22_20.115.56.149
80.66.66.31     22.04.2026 10:20:52     32 SCAN ES_RDP_Short_Drop_2026-04-22_80.66.66.31
47.199.211.106  22.04.2026 14:10:49      6 AUTH ES_RDP_Short_Drop_2026-04-22_47.199.211.106
82.67.135.231   22.04.2026 14:40:50      6 AUTH ES_RDP_Short_Drop_2026-04-22_82.67.135.231
64.233.135.48   22.04.2026 15:30:47      6 AUTH ES_RDP_Short_Drop_2026-04-22_64.233.135.48
65.21.193.247   22.04.2026 15:30:50     19 SCAN ES_RDP_Short_Drop_2026-04-22_65.21.193.247
123.58.196.28   22.04.2026 17:40:08     15 SCAN ES_RDP_Short_Drop_2026-04-22_123.58.196.28
103.212.182.194 22.04.2026 18:20:06      6 AUTH ES_RDP_Short_Drop_2026-04-22_103.212.182.194
36.139.228.248  22.04.2026 21:10:06      8 AUTH ES_RDP_Short_Drop_2026-04-22_36.139.228.248
31.208.13.252   22.04.2026 22:20:06      9 AUTH ES_RDP_Short_Drop_2026-04-22_31.208.13.252
45.156.128.86   22.04.2026 22:20:08     13 SCAN ES_RDP_Short_Drop_2026-04-22_45.156.128.86
177.125.192.100 22.04.2026 22:40:06     11 AUTH ES_RDP_Short_Drop_2026-04-22_177.125.192.100
193.24.211.23   23.04.2026 00:20:07     10 AUTH ES_RDP_Short_Drop_2026-04-23_193.24.211.23
203.146.170.208 23.04.2026 00:20:07     17 AUTH ES_RDP_Short_Drop_2026-04-23_203.146.170.208
88.214.25.123   23.04.2026 00:40:07     58 AUTH ES_RDP_Short_Drop_2026-04-23_88.214.25.123
45.227.254.151  23.04.2026 01:00:08     74 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.151
45.227.254.152  23.04.2026 01:00:08     74 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.152
194.165.16.165  23.04.2026 01:00:09     74 AUTH ES_RDP_Short_Drop_2026-04-23_194.165.16.165
194.165.16.166  23.04.2026 01:20:07     74 AUTH ES_RDP_Short_Drop_2026-04-23_194.165.16.166
45.227.254.154  23.04.2026 01:30:07     74 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.154
194.165.16.163  23.04.2026 01:30:07     29 AUTH ES_RDP_Short_Drop_2026-04-23_194.165.16.163
193.24.123.4    23.04.2026 01:40:11     48 SCAN ES_RDP_Short_Drop_2026-04-23_193.24.123.4
185.218.138.18  23.04.2026 01:50:08     15 AUTH ES_RDP_Short_Drop_2026-04-23_185.218.138.18
91.238.181.92   23.04.2026 02:30:08     70 AUTH ES_RDP_Short_Drop_2026-04-23_91.238.181.92
45.227.254.156  23.04.2026 04:10:08     37 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.156
91.238.181.93   23.04.2026 04:20:08     56 AUTH ES_RDP_Short_Drop_2026-04-23_91.238.181.93
45.227.254.153  23.04.2026 04:40:08     73 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.153
91.238.181.94   23.04.2026 04:50:08     73 AUTH ES_RDP_Short_Drop_2026-04-23_91.238.181.94
104.251.181.48  23.04.2026 04:50:09     70 AUTH ES_RDP_Short_Drop_2026-04-23_104.251.181.48
91.238.181.96   23.04.2026 05:00:09     74 AUTH ES_RDP_Short_Drop_2026-04-23_91.238.181.96
109.205.211.4   23.04.2026 05:50:10     45 AUTH ES_RDP_Short_Drop_2026-04-23_109.205.211.4
88.210.63.75    23.04.2026 06:10:10    123 AUTH ES_RDP_Short_Drop_2026-04-23_88.210.63.75


-----------------------
Всего в бане: 50

=== [ КАРЦЕР ES-RDP: СПИСОК ЗАКЛЮЧЕННЫХ ] ===
Срок изоляции от общества: 21 дн.

Клиент          Дата бана           Имя правила
------          ---------           -----------
158.94.210.29   21.04.2026 02:07:04 ES_RDP_Long_Drop_2026-04-21_158.94.210.29
178.20.210.190  21.04.2026 16:07:05 ES_RDP_Long_Drop_2026-04-21_178.20.210.190
107.174.142.113 22.04.2026 01:07:04 ES_RDP_Long_Drop_2026-04-22_107.174.142.113
115.21.71.141   22.04.2026 02:07:04 ES_RDP_Long_Drop_2026-04-22_115.21.71.141
203.146.170.208 23.04.2026 01:07:05 ES_RDP_Long_Drop_2026-04-23_203.146.170.208
193.24.123.4    23.04.2026 02:07:06 ES_RDP_Long_Drop_2026-04-23_193.24.123.4


-----------------------
Всего в бане: 6

=== [ КОНЦЛАГЕРЬ ES-RDP: СПИСОК ЗАКЛЮЧЕННЫХ ] ===
Срок изоляции от общества: 6 дн.

Клиент           Дата бана           Имя правила
------           ---------           -----------
88.214.25.0/24   23.04.2026 01:07:05 ES_RDP_Net_Drop_2026-04-23_88.214.25.0
194.165.16.0/24  23.04.2026 02:07:06 ES_RDP_Net_Drop_2026-04-23_194.165.16.0
185.218.138.0/24 23.04.2026 02:07:06 ES_RDP_Net_Drop_2026-04-23_185.218.138.0
91.238.181.0/24  23.04.2026 05:07:05 ES_RDP_Net_Drop_2026-04-23_91.238.181.0
45.227.254.0/24  23.04.2026 05:07:05 ES_RDP_Net_Drop_2026-04-23_45.227.254.0


-----------------------
Всего в бане: 5

=== [ КРЕМАТОРИЙ ES-RDP: СПИСОК ЗАКЛЮЧЕННЫХ ] ===
Срок изоляции от общества: 42 дн.
В этом блоке нарушителей не обнаружено.

=== [ ОТЧЕТ СУДЕБНОЙ КАНЦЕЛЯРИИ ] ===
Динамика колебаний уровня преступности
(за последние 3 дн.)

Дата       Преступлений Приговоров
----       ------------ ----------
21.04.2026        12610         11
22.04.2026          515         19
23.04.2026         1168         20



=== [ АРХИВ ТЮРЕМНОЙ СЛУЖБЫ ] ===
(в среднем, за последние 5 дн.)

Дата  Заключенных
----  -----------
19.04          44
20.04          38
21.04          33
22.04          30
23.04          43



=== [ ИНСПЕКЦИЯ ЖУРНАЛА ОХРАНЫ ] ===
СЕРВЕР: *****

Макс. размер (МБ) Текущий вес (МБ) Записей в логе Старейшая запись Время жизни (ч)
----------------- ---------------- -------------- ---------------- ---------------
               48            57,07         124033 19.04.2026 19:08              86



=== [ ОТЧЕТ ПО БЕЗОПАСНОСТИ ES-RDP ] ===
Анализ логов по типам событий

>>> Выборка событий    AUTH (ID 140)
>>> Глубина анализа    24 час.
>>> Порог срабатывания 6 ударов

IP Адрес        Ударов Статус     Первый удар Последний
--------        ------ ------     ----------- ---------
88.210.63.75       128 ОБЕЗВРЕЖЕН 23.04 06:06 23.04 06:10
194.165.16.166      74 ОБЕЗВРЕЖЕН 23.04 01:11 23.04 01:13
45.227.254.154      74 ОБЕЗВРЕЖЕН 23.04 01:23 23.04 01:25
45.227.254.152      74 ОБЕЗВРЕЖЕН 23.04 00:55 23.04 00:57
194.165.16.165      74 ОБЕЗВРЕЖЕН 23.04 00:50 23.04 00:52
45.227.254.151      74 ОБЕЗВРЕЖЕН 23.04 00:52 23.04 00:54
91.238.181.96       74 ОБЕЗВРЕЖЕН 23.04 04:52 23.04 04:54
45.227.254.153      73 ОБЕЗВРЕЖЕН 23.04 04:34 23.04 04:37
91.238.181.94       73 ОБЕЗВРЕЖЕН 23.04 04:43 23.04 04:46
91.238.181.92       70 ОБЕЗВРЕЖЕН 23.04 02:21 23.04 02:25
104.251.181.48      70 ОБЕЗВРЕЖЕН 23.04 04:43 23.04 04:45
91.238.181.93       62 ОБЕЗВРЕЖЕН 23.04 04:18 23.04 04:20
88.214.25.123       60 ОБЕЗВРЕЖЕН 23.04 00:36 23.04 00:40
109.205.211.4       52 ОБЕЗВРЕЖЕН 23.04 05:48 23.04 05:50
45.227.254.156      37 ОБЕЗВРЕЖЕН 23.04 04:04 23.04 04:05
194.165.16.163      33 ОБЕЗВРЕЖЕН 23.04 01:29 23.04 01:30
203.146.170.208     17 ОБЕЗВРЕЖЕН 23.04 00:07 23.04 00:19
185.218.138.18      15 ОБЕЗВРЕЖЕН 23.04 01:47 23.04 01:49
177.125.192.100     11 ОБЕЗВРЕЖЕН 22.04 22:27 22.04 22:39
193.24.211.23       10 ОБЕЗВРЕЖЕН 23.04 00:18 23.04 00:18
31.208.13.252        9 ОБЕЗВРЕЖЕН 22.04 22:12 22.04 22:19
36.139.228.248       8 ОБЕЗВРЕЖЕН 22.04 20:57 22.04 21:09
82.67.135.231        6 ОБЕЗВРЕЖЕН 22.04 11:06 22.04 14:35
47.199.211.106       6 ОБЕЗВРЕЖЕН 22.04 10:58 22.04 14:08
103.212.182.194      6 ОБЕЗВРЕЖЕН 22.04 11:30 22.04 18:11
64.233.135.48        6 ОБЕЗВРЕЖЕН 22.04 11:21 22.04 15:23


ИТОГ: ОБЕЗВРЕЖЕНО: 26 | СВОБОДНО: 0

>>> Выборка событий    SCAN (ID 131)
>>> Глубина анализа    24 час.
>>> Порог срабатывания 12 ударов

IP Адрес        Ударов Статус     Первый удар Последний
--------        ------ ------     ----------- ---------
88.210.63.75       130 ОБЕЗВРЕЖЕН 23.04 06:06 23.04 06:10
45.227.254.151      75 ОБЕЗВРЕЖЕН 23.04 00:52 23.04 00:54
45.227.254.152      75 ОБЕЗВРЕЖЕН 23.04 00:55 23.04 00:57
194.165.16.165      75 ОБЕЗВРЕЖЕН 23.04 00:50 23.04 00:52
91.238.181.96       75 ОБЕЗВРЕЖЕН 23.04 04:52 23.04 04:54
45.227.254.154      75 ОБЕЗВРЕЖЕН 23.04 01:23 23.04 01:25
194.165.16.166      75 ОБЕЗВРЕЖЕН 23.04 01:11 23.04 01:13
91.238.181.94       74 ОБЕЗВРЕЖЕН 23.04 04:43 23.04 04:46
45.227.254.153      74 ОБЕЗВРЕЖЕН 23.04 04:34 23.04 04:37
91.238.181.92       72 ОБЕЗВРЕЖЕН 23.04 02:21 23.04 02:25
104.251.181.48      71 ОБЕЗВРЕЖЕН 23.04 04:43 23.04 04:45
91.238.181.93       63 ОБЕЗВРЕЖЕН 23.04 04:18 23.04 04:20
88.214.25.123       62 ОБЕЗВРЕЖЕН 23.04 00:36 23.04 00:40
109.205.211.4       53 ОБЕЗВРЕЖЕН 23.04 05:48 23.04 05:50
193.24.123.4        48 ОБЕЗВРЕЖЕН 23.04 01:29 23.04 01:37
45.227.254.156      38 ОБЕЗВРЕЖЕН 23.04 04:04 23.04 04:05
194.165.16.163      34 ОБЕЗВРЕЖЕН 23.04 01:29 23.04 01:30
80.66.66.31         32 ОБЕЗВРЕЖЕН 22.04 10:10 22.04 10:15
192.168.0.188       23 СВОБОДЕН   22.04 09:30 23.04 09:15
65.21.193.247       19 ОБЕЗВРЕЖЕН 22.04 14:26 22.04 15:29
185.218.138.18      19 ОБЕЗВРЕЖЕН 23.04 01:47 23.04 01:50
203.146.170.208     17 ОБЕЗВРЕЖЕН 23.04 00:07 23.04 00:19
123.58.196.28       15 ОБЕЗВРЕЖЕН 22.04 17:32 22.04 17:32
45.156.128.86       13 ОБЕЗВРЕЖЕН 22.04 22:17 22.04 22:17
193.24.211.23       12 ОБЕЗВРЕЖЕН 22.04 23:35 23.04 00:18
177.125.192.100     11 ОБЕЗВРЕЖЕН 22.04 22:26 22.04 22:39
139.59.58.140       11 СВОБОДЕН   22.04 18:52 22.04 18:52
176.120.22.240      11 СВОБОДЕН   22.04 14:29 23.04 08:26
31.208.13.252        9 ОБЕЗВРЕЖЕН 22.04 22:12 22.04 22:19
36.139.228.248       8 ОБЕЗВРЕЖЕН 22.04 20:57 22.04 21:09
192.168.0.106        8 СВОБОДЕН   22.04 11:21 22.04 11:21
192.168.0.91         8 СВОБОДЕН   22.04 13:27 22.04 13:53
64.233.135.48        6 ОБЕЗВРЕЖЕН 22.04 11:21 22.04 15:23
103.212.182.194      6 ОБЕЗВРЕЖЕН 22.04 11:30 22.04 18:11
147.185.132.144      6 СВОБОДЕН   23.04 07:17 23.04 07:17
147.185.132.120      6 СВОБОДЕН   22.04 19:55 22.04 19:55
205.210.31.72        6 СВОБОДЕН   22.04 13:58 22.04 13:58
205.210.31.214       6 СВОБОДЕН   23.04 01:38 23.04 01:38
18.218.118.203       6 СВОБОДЕН   22.04 17:17 22.04 17:23
82.67.135.231        6 ОБЕЗВРЕЖЕН 22.04 11:06 22.04 14:35
47.199.211.106       6 ОБЕЗВРЕЖЕН 22.04 10:58 22.04 14:08
66.132.186.202       5 СВОБОДЕН   22.04 22:37 22.04 22:37
45.156.128.89        5 СВОБОДЕН   22.04 22:17 22.04 22:17
192.168.0.71         4 СВОБОДЕН   22.04 10:22 22.04 10:22
192.168.0.217        4 СВОБОДЕН   22.04 09:55 22.04 09:55
34.76.68.89          4 СВОБОДЕН   22.04 11:22 22.04 11:23
192.168.0.104        4 СВОБОДЕН   23.04 09:03 23.04 09:03
34.140.224.99        4 СВОБОДЕН   23.04 09:09 23.04 09:09
192.168.0.89         4 СВОБОДЕН   23.04 07:56 23.04 07:56
66.175.223.123       3 СВОБОДЕН   22.04 16:35 22.04 16:35
80.94.95.221         3 СВОБОДЕН   22.04 15:39 22.04 16:42
87.236.176.145       2 СВОБОДЕН   22.04 23:22 22.04 23:22
165.227.45.124       2 СВОБОДЕН   22.04 13:12 22.04 13:12
134.209.177.132      2 СВОБОДЕН   22.04 18:24 22.04 18:24
217.66.22.198        2 СВОБОДЕН   22.04 16:17 22.04 16:17
184.105.139.70       2 СВОБОДЕН   22.04 17:12 22.04 17:13
20.64.97.136         2 СВОБОДЕН   22.04 20:00 22.04 20:00
79.127.182.150       2 СВОБОДЕН   22.04 21:07 22.04 21:07
45.156.128.87        2 СВОБОДЕН   22.04 22:17 22.04 22:17
45.156.128.88        2 СВОБОДЕН   22.04 22:17 22.04 22:17
135.119.112.69       2 СВОБОДЕН   22.04 21:35 22.04 21:35


ИТОГ: ОБЕЗВРЕЖЕНО: 31 | СВОБОДНО: 30

=== [ АНАЛИЗАТОР АКТИВНОСТИ ПО ID ] ===
Статистика событий, содержащих IP-адреса
(за последние 24 ч.)

Код события Обращений Уникальных IP
----------- --------- -------------
131              1526            88
140              1199            29
139                96            10



--------------------------------------------

C:\Scripts>pause
Для продолжения нажмите любую клавишу . . .

© Extra Systems, 2026 Extra Web Top