Стартовая страница › Форумы › Rapid SCADA на Linux-контроллерах и Raspberry Pi › RaoidScada и BAN-я всех лишних
- В этой теме 4 ответа, 2 участника, последнее обновление 3 недели, 5 дней назад сделано manjey73.
-
АвторСообщения
-
17.09.2024 в 18:28 #34771manjey73Участник
Собственно поставил на VDS с Linux RapidScada, ну и удивился всякому сброду, который на нее лезет. Секретный ключ ессно сразу был изменен на другой, но это никак не решает проблемы постоянных подключений то из Америки, то из Нидерландов, то из Китая, и даже Россия отметилась.
В общем был установлен пакет fail2ban, немного подправлен конфиг, чтобы он стартовал (ищите, в нете все есть). И добавлены правила для контроля ScadaServer и ScadaAgent
в /etc/fail2ban/jail.d — >
scadaagent.conf с содержимым
[scadaagent]
enabled = true
port = 10002
filter = scadaagentd
action = iptables[name=scadaagent, port=10002, protocol=tcp]
logpath = /var/log/scada/ScadaAgent/Log/ScadaAgent.log
findtime = 60
maxretry = 1
bantime = 1dscadaserver.conf с содержимым
[scadaserver]
enabled = true
port = 10000
filter = scadaserverd
action = iptables[name=scadaserver, port=10000, protocol=tcp]
logpath = /var/log/scada/ScadaServer/Log/ScadaServer.log
findtime = 60
maxretry = 1
bantime = 1dи в фильтры добавлены два фильтра, указанные в конфигах jail как scadaserverd и scadaagentd. Ну на самом деле можно сделать один фильтр и прописать его в обоих jail правилах.
в /etc/fail2ban/filter.d ->
scadaagentd.conf с содержимым
[Definition]
failregex = \[root\]\[ERR\] Incorrect format of data received from client <HOST>:
\[root\]\[ERR\] Некорректный формат данных, полученных от клиента <HOST>:scadaserverd.cong — содержимое то же самое.
В результате в логе сервера нет целой пачки ошибок на один адрес типа
2024-09-17 13:16:54 [vm-3ef3ea][root][ERR] Incorrect format of data received from client 68.105.242.119: data length is too big
Банит сразу на первой же информации на 1 день. Можете в bantime сразу указывать 100d (дней) например.
В общем удачи в отправке в Баню 🙂
17.09.2024 в 20:23 #34772manjey73УчастникНадо писать только один из вариантов, в зависимости от языка логов.
failregex = \[root\]\[ERR\] Incorrect format of data received from client <HOST>:
или
failregex = \[root\]\[ERR\] Некорректный формат данных, полученных от клиента <HOST>:18.09.2024 в 12:20 #34775MikhailМодераторСпасибо. Полезно.
По всем открытым в мир портам постоянно идут попытки подключения и передачи каких-нибудь данных.18.09.2024 в 12:34 #34778manjey73УчастникЭто же питон.
Вторая строка должна начинаться с Tab, тогда вроде он проверяет по двум записям. Я на английской версии сперва русский вариант прописал, потом английский. Вроде отработало.
Команду проверки позже напишу. Ну или посмотрите в справке fail2ban как выражения проверять.18.09.2024 в 14:42 #34779manjey73УчастникКоманды тестирования правил
fail2ban-regex /var/log/scada/ScadaServer/Log/ScadaServer.log scada.conf
fail2ban-regex /var/log/scada/ScadaAgent/Log/ScadaAgent.log scada.conf
Running tests ============= Use failregex filter file : scada, basedir: /etc/fail2ban Use log file : /var/log/scada/ScadaAgent/Log/ScadaAgent.log Use encoding : UTF-8 Results ======= Failregex: 11 total |- #) [# of hits] regular expression | 1) [10] \[root\]\[ERR\] Incorrect format of data received from client <HOST>: | 2) [1] \[root\]\[ERR\] Некорректный формат данных, полученных от клиента <HOST>: - Ignoreregex: 0 total Date template hits: |- [# of hits] date format | [200] {^LN-BEG}ExYear(?P<_sep>[-/.])Month(?P=_sep)Day(?:T| ?)24hour:Minute:Second(?:[.,]Microseconds)?(?:\s*Zone offset)? - Lines: 205 lines, 0 ignored, 11 matched, 194 missed [processed in 0.06 sec] Missed line(s): too many to print. Use --print-all-missed to print all 194 lines
Пример теста.
В обоих jail указал один файл выражений scada (scada.conf) вместо sacdaagentd и scadaserverd соответственно.
Вторая строка должна начинаться с табуляции. Пример scada.conf в папке filter.d[Definition] failregex = \[root\]\[ERR\] Incorrect format of data received from client <HOST>: \[root\]\[ERR\] Некорректный формат данных, полученных от клиента <HOST>:
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.