Fail2ban

Противодействие хакерским угрозам

Модераторы: Olej, adminn, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Fail2ban

Непрочитанное сообщение Olej » 09 янв 2020, 20:20

Вот такая прелестная штучка :lol: :

Код: Выделить всё

olej@277938:/etc/ssh$ aptitude search fail2ban
p   fail2ban                                                                     - блокирование хостов, с которых делаются безуспешные попытки войти в систему           

Код: Выделить всё

olej@277938:/etc/ssh$ aptitude show fail2ban
Пакет: fail2ban                                  
Версия: 0.10.2-2.1
Состояние: не установлен
Приоритет: необязательный
Раздел: net
Сопровождающий: Yaroslav Halchenko <debian@onerussian.com>
Архитектура: all
Размер в распакованном виде: 1 777 k
Зависит: python3:any, lsb-base (>= 2.0-7)
Рекомендует: python, iptables | nftables, whois, python3-pyinotify, python3-systemd
Предлагает: mailx, system-log-daemon, monit, sqlite3
Описание: блокирование хостов, с которых делаются безуспешные попытки войти в систему
 Fail2ban отслеживает протоколы системных служб (такие как /Var/log/auth.log, /var/log/apache/access.log) и временно или навсегда блокирует адреса, с которых были
 сделаны неоднократные и безуспешные попытки войти в систему. Блокирование происходит путём обновления правил межсетевого экрана. Возможно выполнение различных действий,
 в том числе блокирование IP -адреса через iptables или hostsdeny, либо простое уведомление по по электронной почте. 
 
 В стандартную поставку входят фильтры для многих служб (sshd, apache, qmail, proftpd, sasl и т.д.), однако наблюдение может выполняться за любым текстовым файлом. Все
 фильтры и действия задаются в файле настроек, следовательно fail2ban может быть настроен для работы с различными файлами протоколов и межсетевыми экранами. Данный пакет
 рекомендует установку: , 
 * iptables/nftables — по умолчанию для блокирования используется  iptables, также поддерживается nftables 
 * whois — потребуется для отправки сведений whois об атакующих хостах 
 * python3-pyinotify — для эффективного отслеживания изменений файлов; не используется в 
 системах с systemd
Домашняя страница: http://www.fail2ban.org
Метки: admin::automation, admin::logging, admin::monitoring, implemented-in::python, interface::commandline, interface::daemon, network::firewall, protocol::ip,
       role::program, security::authentication, security::firewall, security::ids, security::log-analyzer, use::login, use::monitor, works-with-format::plaintext,
       works-with::logfile, works-with::text
Как сказано выше: те, кто ломятся неудачно из сети, назойливо - просто через некоторое число попыток сетевым фильтром блокируются навсегда по IP и порту.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: дополнительные меры сетевой безопасности

Непрочитанное сообщение Olej » 09 янв 2020, 20:40

Olej писал(а):
09 янв 2020, 20:20
Вот такая прелестная штучка
iptables у нас безусловно есть, потому что через него работает ufw.

Код: Выделить всё

root@277938:/etc/ssh# apt install fail2ban
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  liblockfile1 lockfile-progs m4 procmail sendmail-base sendmail-cf sensible-mda
Для их удаления используйте «apt autoremove».
Будут установлены следующие дополнительные пакеты:
  python3-pyinotify python3-systemd
Предлагаемые пакеты:
  monit sqlite3 python-pyinotify-doc
Следующие НОВЫЕ пакеты будут установлены:
  fail2ban python3-pyinotify python3-systemd
Обновлено 0 пакетов, установлено 3 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 449 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 2 196 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://mirror.timeweb.ru/debian buster/main amd64 fail2ban all 0.10.2-2.1 [385 kB]
Пол:2 http://mirror.timeweb.ru/debian buster/main amd64 python3-pyinotify all 0.9.6-1 [26,9 kB]
Пол:3 http://mirror.timeweb.ru/debian buster/main amd64 python3-systemd amd64 234-2+b1 [37,2 kB]
Получено 449 kB за 1с (744 kB/s)              
Выбор ранее не выбранного пакета fail2ban.
(Чтение базы данных … на данный момент установлено 42754 файла и каталога.)
Подготовка к распаковке …/fail2ban_0.10.2-2.1_all.deb …
Распаковывается fail2ban (0.10.2-2.1) …
Выбор ранее не выбранного пакета python3-pyinotify.
Подготовка к распаковке …/python3-pyinotify_0.9.6-1_all.deb …
Распаковывается python3-pyinotify (0.9.6-1) …
Выбор ранее не выбранного пакета python3-systemd.
Подготовка к распаковке …/python3-systemd_234-2+b1_amd64.deb …
Распаковывается python3-systemd (234-2+b1) …
Настраивается пакет fail2ban (0.10.2-2.1) …
Created symlink /etc/systemd/system/multi-user.target.wants/fail2ban.service → /lib/systemd/system/fail2ban.service.
[fail2ban-tmpfiles.conf:1] Line references path below legacy directory /var/run/, updating /var/run/fail2ban → /run/fail2ban; please update the tmpfiles.d/ drop-in file accordingly.
Настраивается пакет python3-pyinotify (0.9.6-1) …
Настраивается пакет python3-systemd (234-2+b1) …
Обрабатываются триггеры для man-db (2.8.5-2) …
Обрабатываются триггеры для systemd (241-7~deb10u2) …

Код: Выделить всё

root@277938:/etc/ssh# apt install whois
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  liblockfile1 lockfile-progs m4 procmail sendmail-base sendmail-cf sensible-mda
Для их удаления используйте «apt autoremove».
Следующие НОВЫЕ пакеты будут установлены:
  whois
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 77,8 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 364 kB.
Пол:1 http://mirror.timeweb.ru/debian buster/main amd64 whois amd64 5.4.3 [77,8 kB]
Получено 77,8 kB за 5с (15,3 kB/s)            
Выбор ранее не выбранного пакета whois.
(Чтение базы данных … на данный момент установлено 42730 файлов и каталогов.)
Подготовка к распаковке …/archives/whois_5.4.3_amd64.deb …
Распаковывается whois (5.4.3) …
Настраивается пакет whois (5.4.3) …
Обрабатываются триггеры для man-db (2.8.5-2) …

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: дополнительные меры сетевой безопасности

Непрочитанное сообщение Olej » 09 янв 2020, 20:43

Всё конфигурирование здесь:

Код: Выделить всё

olej@277938:~$ tree /etc/fail2ban
/etc/fail2ban
├── action.d
│   ├── abuseipdb.conf
│   ├── apf.conf
│   ├── badips.conf
│   ├── badips.py
│   ├── blocklist_de.conf
│   ├── bsd-ipfw.conf
│   ├── cloudflare.conf
│   ├── complain.conf
│   ├── dshield.conf
│   ├── dummy.conf
│   ├── firewallcmd-allports.conf
│   ├── firewallcmd-common.conf
│   ├── firewallcmd-ipset.conf
│   ├── firewallcmd-multiport.conf
│   ├── firewallcmd-new.conf
│   ├── firewallcmd-rich-logging.conf
│   ├── firewallcmd-rich-rules.conf
│   ├── helpers-common.conf
│   ├── hostsdeny.conf
│   ├── ipfilter.conf
│   ├── ipfw.conf
│   ├── iptables-allports.conf
│   ├── iptables-common.conf
│   ├── iptables.conf
│   ├── iptables-ipset-proto4.conf
│   ├── iptables-ipset-proto6-allports.conf
│   ├── iptables-ipset-proto6.conf
│   ├── iptables-multiport.conf
│   ├── iptables-multiport-log.conf
│   ├── iptables-new.conf
│   ├── iptables-xt_recent-echo.conf
│   ├── mail-buffered.conf
│   ├── mail.conf
│   ├── mail-whois-common.conf
│   ├── mail-whois.conf
│   ├── mail-whois-lines.conf
│   ├── mynetwatchman.conf
│   ├── netscaler.conf
│   ├── nftables-allports.conf
│   ├── nftables-common.conf
│   ├── nftables-multiport.conf
│   ├── nginx-block-map.conf
│   ├── npf.conf
│   ├── nsupdate.conf
│   ├── osx-afctl.conf
│   ├── osx-ipfw.conf
│   ├── pf.conf
│   ├── route.conf
│   ├── sendmail-buffered.conf
│   ├── sendmail-common.conf
│   ├── sendmail.conf
│   ├── sendmail-geoip-lines.conf
│   ├── sendmail-whois.conf
│   ├── sendmail-whois-ipjailmatches.conf
│   ├── sendmail-whois-ipmatches.conf
│   ├── sendmail-whois-lines.conf
│   ├── sendmail-whois-matches.conf
│   ├── shorewall.conf
│   ├── shorewall-ipset-proto6.conf
│   ├── smtp.py
│   ├── symbiosis-blacklist-allports.conf
│   ├── ufw.conf
│   └── xarf-login-attack.conf
├── fail2ban.conf
├── fail2ban.d
├── filter.d
│   ├── 3proxy.conf
│   ├── apache-auth.conf
│   ├── apache-badbots.conf
│   ├── apache-botsearch.conf
│   ├── apache-common.conf
│   ├── apache-fakegooglebot.conf
│   ├── apache-modsecurity.conf
│   ├── apache-nohome.conf
│   ├── apache-noscript.conf
│   ├── apache-overflows.conf
│   ├── apache-pass.conf
│   ├── apache-shellshock.conf
│   ├── assp.conf
│   ├── asterisk.conf
│   ├── botsearch-common.conf
│   ├── common.conf
│   ├── counter-strike.conf
│   ├── courier-auth.conf
│   ├── courier-smtp.conf
│   ├── cyrus-imap.conf
│   ├── directadmin.conf
│   ├── domino-smtp.conf
│   ├── dovecot.conf
│   ├── dropbear.conf
│   ├── drupal-auth.conf
│   ├── ejabberd-auth.conf
│   ├── exim-common.conf
│   ├── exim.conf
│   ├── exim-spam.conf
│   ├── freeswitch.conf
│   ├── froxlor-auth.conf
│   ├── groupoffice.conf
│   ├── gssftpd.conf
│   ├── guacamole.conf
│   ├── haproxy-http-auth.conf
│   ├── horde.conf
│   ├── ignorecommands
│   │   └── apache-fakegooglebot
│   ├── kerio.conf
│   ├── lighttpd-auth.conf
│   ├── mongodb-auth.conf
│   ├── monit.conf
│   ├── murmur.conf
│   ├── mysqld-auth.conf
│   ├── nagios.conf
│   ├── named-refused.conf
│   ├── nginx-botsearch.conf
│   ├── nginx-http-auth.conf
│   ├── nginx-limit-req.conf
│   ├── nsd.conf
│   ├── openhab.conf
│   ├── openwebmail.conf
│   ├── oracleims.conf
│   ├── pam-generic.conf
│   ├── perdition.conf
│   ├── phpmyadmin-syslog.conf
│   ├── php-url-fopen.conf
│   ├── portsentry.conf
│   ├── postfix.conf
│   ├── proftpd.conf
│   ├── pure-ftpd.conf
│   ├── qmail.conf
│   ├── recidive.conf
│   ├── roundcube-auth.conf
│   ├── screensharingd.conf
│   ├── selinux-common.conf
│   ├── selinux-ssh.conf
│   ├── sendmail-auth.conf
│   ├── sendmail-reject.conf
│   ├── sieve.conf
│   ├── slapd.conf
│   ├── sogo-auth.conf
│   ├── solid-pop3d.conf
│   ├── squid.conf
│   ├── squirrelmail.conf
│   ├── sshd.conf
│   ├── stunnel.conf
│   ├── suhosin.conf
│   ├── tine20.conf
│   ├── uwimap-auth.conf
│   ├── vsftpd.conf
│   ├── webmin-auth.conf
│   ├── wuftpd.conf
│   ├── xinetd-fail.conf
│   └── zoneminder.conf
├── jail.conf
├── jail.d
│   └── defaults-debian.conf
├── paths-arch.conf
├── paths-common.conf
├── paths-debian.conf
└── paths-opensuse.conf

5 directories, 154 files
В 154 файлах можно много что наконфигурировать :lol:

Код: Выделить всё

root@277938:/etc/ssh# systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-01-09 20:39:00 MSK; 20min ago
     Docs: man:fail2ban(1)
 Main PID: 7895 (fail2ban-server)
    Tasks: 3 (limit: 544)
   Memory: 17.6M
   CGroup: /system.slice/fail2ban.service
           └─7895 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

янв 09 20:39:00 277938.local systemd[1]: Starting Fail2Ban Service...
янв 09 20:39:00 277938.local systemd[1]: Started Fail2Ban Service.
янв 09 20:39:03 277938.local fail2ban-server[7895]: Server ready
янв 09 20:39:07 277938.local systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below legacy directory /var/run/, updating /var/run/fail2ban/fail2ban.pid → /run/fail2ban/fail2ban.pid; please update the unit f
Но всё обстоятельно и хорошо описано:

Защита сетевых сервисов с помощью Fail2ban: Часть 1. Общие принципы функционирования и конфигурирования подсистемы Fail2ban
Защита сетевых сервисов с помощью Fail2ban: Часть 2. Примеры конфигурации
(ну и там рядом целая серия статей, начиная с общего описания, и заканчивая самыми деталями...)

Удалённый доступ

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: дополнительные меры сетевой безопасности

Непрочитанное сообщение Olej » 09 янв 2020, 20:57

Olej писал(а):
09 янв 2020, 20:43
Удалённый доступ
По умолчанию защита от брутфорса для SSH включена.
Основная идея Fail2ban - при превышении заданного числа неудачных вводов пароля подряд (по умолчанию - 6) бан IP, с которого были попытки подбора на заданное время (по умолчанию - 600 секунд).
Брутфорс с такими (или больше) временнЫми задержками - бессмысленый: 6 раз поугадывал - и 10 минут отдыхаешь. :lol:
Настройка
Параметры можно посмотреть и поменять в файле /etc/fail2ban/jail.conf. Существующие фильтры (т.е. правила, по которым определяется неудачная попытка ввода пароля) лежат в директории /etc/fail2ban/filter.d (можно их править или на их основе делать свои фильтры), а существующие правила реагирования - в директории /etc/fail2ban/action.d. Все файлы довольно хорошо откомментированы.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: дополнительные меры сетевой безопасности

Непрочитанное сообщение Olej » 19 фев 2020, 20:08

Olej писал(а):
09 янв 2020, 20:57
Брутфорс с такими (или больше) временнЫми задержками - бессмысленый: 6 раз поугадывал - и 10 минут отдыхаешь.
Прошло уже около 1.5 месяца бесперебойной работы форума-сервера на новом хостинге.
Возвращаемся к просмотру: "что там с нашими придурками"? :lol:

Код: Выделить всё

olej@277938:~$ systemctl status fail2ban.service
● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-02-15 03:14:13 MSK; 4 days ago
     Docs: man:fail2ban(1)
  Process: 528 ExecStartPre=/bin/mkdir -p /var/run/fail2ban (code=exited, status=0/SUCCESS)
 Main PID: 538 (fail2ban-server)
    Tasks: 3 (limit: 544)
   Memory: 18.4M
   CGroup: /system.slice/fail2ban.service
           └─538 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Код: Выделить всё

olej@277938:~$ uptime
 20:02:09 up 4 days, 16:48,  4 users,  load average: 0,05, 0,17, 0,09
А теперь - что там с нашими придурками?

Код: Выделить всё

olej@277938:~$ sudo tail /var/log/fail2ban.log
2020-02-19 19:50:12,754 fail2ban.filter         [538]: INFO    [sshd] Found 185.232.67.6 - 2020-02-19 19:50:12
2020-02-19 19:50:12,756 fail2ban.filter         [538]: INFO    [sshd] Found 185.232.67.6 - 2020-02-19 19:50:12
2020-02-19 19:50:15,479 fail2ban.filter         [538]: INFO    [sshd] Found 185.232.67.6 - 2020-02-19 19:50:15
2020-02-19 19:50:51,948 fail2ban.filter         [538]: INFO    [sshd] Found 222.186.30.76 - 2020-02-19 19:50:51
2020-02-19 19:50:52,236 fail2ban.filter         [538]: INFO    [sshd] Found 222.186.30.76 - 2020-02-19 19:50:52
2020-02-19 19:50:54,224 fail2ban.filter         [538]: INFO    [sshd] Found 222.186.30.76 - 2020-02-19 19:50:54
2020-02-19 19:50:56,645 fail2ban.actions        [538]: NOTICE  [sshd] Unban 222.186.31.166
2020-02-19 19:50:56,934 fail2ban.filter         [538]: INFO    [sshd] Found 222.186.30.76 - 2020-02-19 19:50:56
2020-02-19 19:51:01,165 fail2ban.filter         [538]: INFO    [sshd] Found 222.186.30.76 - 2020-02-19 19:51:01
2020-02-19 19:51:01,375 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.30.76
Это финальные строки fail2ban: каждые несколько десятков секунд придурки ломятся с подбором SSH ... fail2ban их с такой же регулярностью банит! :-D

Код: Выделить всё

olej@277938:~$ sudo tail -n100 /var/log/fail2ban.log | grep -i ' ban'  
2020-02-19 19:30:48,956 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.175.23
2020-02-19 19:35:19,603 fail2ban.actions        [538]: NOTICE  [sshd] Ban 201.249.204.178
2020-02-19 19:37:38,109 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.15.10
2020-02-19 19:40:57,170 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.31.166
2020-02-19 19:44:20,743 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.180.130
2020-02-19 19:47:35,806 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.30.218
2020-02-19 19:48:08,157 fail2ban.actions        [538]: NOTICE  [sshd] Ban 201.249.204.178
2020-02-19 19:51:01,375 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.30.76
2020-02-19 19:54:13,903 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.30.57
2020-02-19 19:57:37,178 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.30.167
2020-02-19 20:00:57,868 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.30.187
2020-02-19 20:02:34,802 fail2ban.actions        [538]: NOTICE  [sshd] Ban 201.249.204.178
2020-02-19 20:04:19,815 fail2ban.actions        [538]: NOTICE  [sshd] Ban 222.186.15.91

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

дополнительные меры сетевой безопасности

Непрочитанное сообщение Olej » 13 окт 2023, 15:24

Olej писал(а):
09 янв 2020, 20:20
Вот такая прелестная штучка
Olej писал(а):
09 янв 2020, 20:20
Как сказано выше: те, кто ломятся неудачно из сети, назойливо - просто через некоторое число попыток сетевым фильтром блокируются навсегда по IP и порту.
Защита сервера с Fail2Ban: Полное руководство
Денис Расулев · Feb 04, 2023
Узнайте, как повысить безопасность Вашего сервера с помощью Fail2Ban, мощного программного обеспечения для предотвращения вторжений. Узнайте, как установить и настроить его для защиты Вашего сервера от попыток несанкционированного доступа.
Как показало 3.5 года использования fail2ban - работает он весьма эффективно ... вот только за этот год:

Код: Выделить всё

olej@277938:~$ sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2023-09-24 10:08:03 MSK; 2 weeks 5 days ago
     Docs: man:fail2ban(1)
 Main PID: 499 (fail2ban-server)
    Tasks: 3 (limit: 1149)
   Memory: 22.2M
   CGroup: /system.slice/fail2ban.service
           └─499 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

окт 13 12:17:51 277938.local systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below legacy directory /var/run/, updating /var/run/fail2ban/fail2ban.pid → /run/fail2ban/fail2ban.pid; 
окт 13 12:17:52 277938.local systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below legacy directory /var/run/, updating /var/run/fail2ban/fail2ban.pid → /run/fail2ban/fail2ban.pid; 
окт 13 12:17:52 277938.local systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below legacy directory /var/run/, updating /var/run/fail2ban/fail2ban.pid → /run/fail2ban/fail2ban.pid; 
окт 13 12:17:52 277938.local systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below legacy directory /var/run/, updating /var/run/fail2ban/fail2ban.pid → /run/fail2ban/fail2ban.pid; 
окт 13 12:17:54 277938.local systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below legacy directory /var/run/, updating /var/run/fail2ban/fail2ban.pid → /run/fail2ban/fail2ban.pid; 
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

Код: Выделить всё

root@277938:/var/log# grep 10-13 /var/log/fail2ban.log | wc -l
4091

Код: Выделить всё

root@277938:/var/log# tail /var/log/fail2ban.log
2023-10-13 15:00:41,281 fail2ban.filter         [499]: INFO    [sshd] Found 103.82.145.99 - 2023-10-13 15:00:41
2023-10-13 15:00:43,985 fail2ban.filter         [499]: INFO    [sshd] Found 103.82.145.99 - 2023-10-13 15:00:43
2023-10-13 15:00:53,117 fail2ban.filter         [499]: INFO    [sshd] Found 106.126.3.158 - 2023-10-13 15:00:53
2023-10-13 15:00:53,122 fail2ban.filter         [499]: INFO    [sshd] Found 106.126.3.158 - 2023-10-13 15:00:53
2023-10-13 15:00:53,645 fail2ban.actions        [499]: NOTICE  [sshd] Ban 106.126.3.158
2023-10-13 15:00:55,827 fail2ban.filter         [499]: INFO    [sshd] Found 106.126.3.158 - 2023-10-13 15:00:55
2023-10-13 15:00:57,430 fail2ban.filter         [499]: INFO    [sshd] Found 106.55.14.188 - 2023-10-13 15:00:57
2023-10-13 15:00:57,430 fail2ban.filter         [499]: INFO    [sshd] Found 106.55.14.188 - 2023-10-13 15:00:57
2023-10-13 15:00:57,663 fail2ban.actions        [499]: NOTICE  [sshd] Ban 106.55.14.188
2023-10-13 15:00:59,034 fail2ban.filter         [499]: INFO    [sshd] Found 106.55.14.188 - 2023-10-13 15:00:58

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

дополнительные меры сетевой безопасности

Непрочитанное сообщение Olej » 13 окт 2023, 15:32

Olej писал(а):
13 окт 2023, 15:24
Как показало 3.5 года использования fail2ban - работает он весьма эффективно ... вот только за этот год:
Но он жрёт, со временем, довольно много дискового места на VPS сервере, ограниченного в ресурсах...

Код: Выделить всё

root@277938:/var/lib# du -hs  /var/lib/fail2ban
897M	/var/lib/fail2ban

Код: Выделить всё

root@277938:/var/lib/fail2ban# ls -l /var/lib/fail2ban/fail2ban.sqlite3 
-rw------- 1 root root 939626496 окт 13 15:09 /var/lib/fail2ban/fail2ban.sqlite3
fail2ban's database is too large (over 500mb). How do I get it to a reasonable size?

Код: Выделить всё

root@277938:/var/lib/fail2ban# sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 \
>   "DELETE FROM bans WHERE DATE(timeofban, 'unixepoch') < '2023-01-01'; VACUUM;"
bash: sqlite3: команда не найдена

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

дополнительные меры сетевой безопасности

Непрочитанное сообщение Olej » 13 окт 2023, 15:47

Olej писал(а):
13 окт 2023, 15:32
довольно много дискового места

Код: Выделить всё

olej@277938:~$ aptitude search sqlite3 | grep " sqlite3"
p  gambas3-gb-db-sqlite3 - Gambas sqlite3 driver database
p  golang-github-mattn-go-sqlite3-dev - sqlite3 driver for go that using database/sql
p  lua-dbi-sqlite3 - DBI library for the Lua language, sqlite3 backend
p  lua-dbi-sqlite3-dev - DBI library for the Lua language, sqlite3 development files
p  sqlite3 - интерфейс командной строки к SQLite 3
p  sqlite3-doc - SQLite 3 documentation
p  sqlite3-pcre - Perl-compatible regular expression support for SQLite

Код: Выделить всё

olej@277938:~$ sudo apt install sqlite3
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
  sqlite3-doc
Следующие НОВЫЕ пакеты будут установлены:
  sqlite3
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 940 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 2.695 kB.
Пол:1 http://security.debian.org/debian-security buster/updates/main amd64 sqlite3 amd64 3.27.2-3+deb10u2 [940 kB]
Получено 940 kB за 1с (1.221 kB/s)
Выбор ранее не выбранного пакета sqlite3.
(Чтение базы данных … на данный момент установлено 48985 файлов и каталогов.)
Подготовка к распаковке …/sqlite3_3.27.2-3+deb10u2_amd64.deb …
Распаковывается sqlite3 (3.27.2-3+deb10u2) …
Настраивается пакет sqlite3 (3.27.2-3+deb10u2) …
Обрабатываются триггеры для man-db (2.8.5-2) …

Код: Выделить всё

root@277938:/var/lib/fail2ban# sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 "DELETE FROM bans WHERE DATE(timeofban, 'unixepoch') < '2023-01-01'; VACUUM;"
Это требует некоторого времени (пара минут)... И в итоге:

Код: Выделить всё

root@277938:/var/lib/fail2ban# ls -l /var/lib/fail2ban/fail2ban.sqlite3
-rw------- 1 root root 92073984 окт 13 15:14 /var/lib/fail2ban/fail2ban.sqlite3

Код: Выделить всё

olej@277938:~$ du -hs  /var/lib/fail2ban
88M     /var/lib/fail2ban
Было 897M - стало 88M :!:
А спамеры 2020 года, которые там хранились - возможно уже частично передохли :lol: ... чего мы им и всем желаем :-D

Ответить

Вернуться в «Безопасность»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя