Страница 1 из 1
Fail2ban
Добавлено: 09 янв 2020, 20:20
Olej
Вот такая прелестная штучка
:
Код: Выделить всё
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 и порту.
Re: дополнительные меры сетевой безопасности
Добавлено: 09 янв 2020, 20:40
Olej
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) …
Re: дополнительные меры сетевой безопасности
Добавлено: 09 янв 2020, 20:43
Olej
Всё конфигурирование здесь:
Код: Выделить всё
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 файлах можно много что наконфигурировать
Код: Выделить всё
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. Примеры конфигурации
(ну и там рядом целая серия статей, начиная с общего описания, и заканчивая самыми деталями...)
Удалённый доступ
Re: дополнительные меры сетевой безопасности
Добавлено: 09 янв 2020, 20:57
Olej
Olej писал(а): ↑09 янв 2020, 20:43
Удалённый доступ
По умолчанию защита от брутфорса для SSH включена.
Основная идея Fail2ban - при превышении заданного числа неудачных вводов пароля подряд (по умолчанию - 6) бан IP, с которого были попытки подбора на заданное время (по умолчанию - 600 секунд).
Брутфорс с такими (или больше) временн
Ыми задержками - бессмысленый: 6 раз поугадывал - и 10 минут отдыхаешь.
Настройка
Параметры можно посмотреть и поменять в файле /etc/fail2ban/jail.conf. Существующие фильтры (т.е. правила, по которым определяется неудачная попытка ввода пароля) лежат в директории /etc/fail2ban/filter.d (можно их править или на их основе делать свои фильтры), а существующие правила реагирования - в директории /etc/fail2ban/action.d. Все файлы довольно хорошо откомментированы.
Re: дополнительные меры сетевой безопасности
Добавлено: 19 фев 2020, 20:08
Olej
Olej писал(а): ↑09 янв 2020, 20:57
Брутфорс с такими (или больше) временнЫми задержками - бессмысленый: 6 раз поугадывал - и 10 минут отдыхаешь.
Прошло уже около 1.5 месяца бесперебойной работы форума-сервера на новом хостинге.
Возвращаемся к просмотру: "что там с нашими придурками"?
Код: Выделить всё
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 их с такой же регулярностью банит!
Код: Выделить всё
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
дополнительные меры сетевой безопасности
Добавлено: 13 окт 2023, 15:24
Olej
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
дополнительные меры сетевой безопасности
Добавлено: 13 окт 2023, 15:32
Olej
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: команда не найдена
дополнительные меры сетевой безопасности
Добавлено: 13 окт 2023, 15:47
Olej
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 года, которые там хранились - возможно уже частично передохли
... чего мы им и всем желаем