Linux: "Закрываем дверь". Автоматическая блокировка Brute-Force атак с fail2ban
Вы открыли SSH-порт (22) в мир. Поздравляем, через 5 минут вас начнут брутфорсить — боты будут подбирать пароль к root 24/7. Смотреть на это в auth.log больно.
fail2ban — это не антивирус. Это автоматизированный парсер логов, который на лету обновляет ваш файрвол (iptables/firewalld).
Как это работает:
Следит: fail2ban в реальном времени читает лог (например, /var/log/auth.log).
Находит: Он видит 3-5-10 неудачных попыток входа с одного IP (вы сами задаете число).
Блокирует: Он немедленно выполняет команду iptables -I INPUT -s <IP_АТАКУЮЩЕГО> -j DROP, блокируя IP на 10 минут, час или навсегда.
План внедрения "на пальцах":
Bash
Что добавить в jail.local:
Ini, TOML
3. Перезапускаем: sudo systemctl restart fail2ban
Взгляд архитектора: Это активная защита. Вы не просто надеетесь на сложный пароль. Вы строите эшелонированную оборону (Defense in Depth). fail2ban — это "сторожевой", который автоматически отсекает 99% низкоуровневого "шума", позволяя вам сосредоточиться на реальных угрозах.
#linux #security #fail2ban #automation #cybersecurity #гайд
Вы открыли SSH-порт (22) в мир. Поздравляем, через 5 минут вас начнут брутфорсить — боты будут подбирать пароль к root 24/7. Смотреть на это в auth.log больно.
fail2ban — это не антивирус. Это автоматизированный парсер логов, который на лету обновляет ваш файрвол (iptables/firewalld).
Как это работает:
Следит: fail2ban в реальном времени читает лог (например, /var/log/auth.log).
Находит: Он видит 3-5-10 неудачных попыток входа с одного IP (вы сами задаете число).
Блокирует: Он немедленно выполняет команду iptables -I INPUT -s <IP_АТАКУЮЩЕГО> -j DROP, блокируя IP на 10 минут, час или навсегда.
План внедрения "на пальцах":
Bash
1. Установка
sudo apt install fail2ban -y
2. Создаем свой конфиг (НИКОГДА не правьте jail.conf)
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Что добавить в jail.local:
Ini, TOML
[DEFAULT]
# Баним на 1 час
bantime = 1h
# 5 неудачных попыток
maxretry = 5
[sshd]
# Включаем защиту для SSH
enabled = true
port = ssh
logpath = %(sshd_log)s
3. Перезапускаем: sudo systemctl restart fail2ban
Взгляд архитектора: Это активная защита. Вы не просто надеетесь на сложный пароль. Вы строите эшелонированную оборону (Defense in Depth). fail2ban — это "сторожевой", который автоматически отсекает 99% низкоуровневого "шума", позволяя вам сосредоточиться на реальных угрозах.
#linux #security #fail2ban #automation #cybersecurity #гайд
👍3
🛡 Fail2Ban устарел. Встречайте CrowdSec
Мы годами ставили fail2ban, чтобы банить ботов, брутфорсящих SSH. Он хороший, но он — одиночка. Он знает только то, что происходит на вашем сервере.
В 2025 году тренд — CrowdSec. Это "Waze для кибербезопасности".
В чем киллер-фича: Если IP-адрес атакует моего соседа (тоже пользователя CrowdSec), этот IP попадает в черный список. Через 5 минут мой сервер уже знает об этом IP и блокирует его превентивно.
Почему стоит перейти:
Коллективный разум: База репутации IP обновляется в реальном времени.
Универсальность: Парсит логи не только SSH, но и Nginx, Docker, Kubernetes, AWS CloudTrail.
Bouncers: Умеет банить не только через iptables, но и на уровне Cloudflare, Nginx или даже отправлять Captcha.
Установка:
Один в поле не воин. Объединяйте сервера в защиту.
#security #linux #opensource #crowdsec #fail2ban #tools
Мы годами ставили fail2ban, чтобы банить ботов, брутфорсящих SSH. Он хороший, но он — одиночка. Он знает только то, что происходит на вашем сервере.
В 2025 году тренд — CrowdSec. Это "Waze для кибербезопасности".
В чем киллер-фича: Если IP-адрес атакует моего соседа (тоже пользователя CrowdSec), этот IP попадает в черный список. Через 5 минут мой сервер уже знает об этом IP и блокирует его превентивно.
Почему стоит перейти:
Коллективный разум: База репутации IP обновляется в реальном времени.
Универсальность: Парсит логи не только SSH, но и Nginx, Docker, Kubernetes, AWS CloudTrail.
Bouncers: Умеет банить не только через iptables, но и на уровне Cloudflare, Nginx или даже отправлять Captcha.
Установка:
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash
sudo apt install crowdsec
Один в поле не воин. Объединяйте сервера в защиту.
#security #linux #opensource #crowdsec #fail2ban #tools
👍2
🛡️ Безопасность Linux-сервера за 10 минут: Базовый чек-лист 🛡️
1. Обновление и чистка
Первым делом — актуальные патчи. Уязвимости нулевого дня (0-day) в 2026-м вылетают часто, поэтому система должна быть свежей.
2. Защита SSH (Самый важный этап)
Забудь про пароли. Только ключи. И никакого входа под root.
Что сделать: Отредактируй /etc/ssh/sshd_config.
Применить: sudo systemctl restart ssh
3. Настройка фаервола (UFW или nftables)
Закрываем всё, что не используем. Если это веб-сервер, нам нужны только 80, 443 и наш порт SSH.
4. Fail2Ban: Защита от брутфорса
Даже если пароли отключены, боты будут нагружать твой процессор попытками входа. Fail2Ban просто забанит их на уровне IP после пары неудачных попыток.
5. Аудит открытых портов
Проверь, не слушает ли какая-нибудь база данных или служебный демон весь интернет.
Если видишь 0.0.0.0:5432 (PostgreSQL) или 0.0.0.0:6379 (Redis) — это беда. Они должны слушать только 127.0.0.1 или внутреннюю сеть.
#security #linux #sysadmin #hardening #cybersecurity #fail2ban #ufw #admin_future
1. Обновление и чистка
Первым делом — актуальные патчи. Уязвимости нулевого дня (0-day) в 2026-м вылетают часто, поэтому система должна быть свежей.
sudo apt update && sudo apt upgrade -y
# Удаляем лишние пакеты, которые могут быть вектором атаки
sudo apt autoremove && sudo apt autoclean
2. Защита SSH (Самый важный этап)
Забудь про пароли. Только ключи. И никакого входа под root.
Что сделать: Отредактируй /etc/ssh/sshd_config.
# Установи следующие параметры:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
# Опционально: смени порт с 22 на нестандартный (например, 2222)
Port 2222
Применить: sudo systemctl restart ssh
3. Настройка фаервола (UFW или nftables)
Закрываем всё, что не используем. Если это веб-сервер, нам нужны только 80, 443 и наш порт SSH.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # Твой новый порт SSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
4. Fail2Ban: Защита от брутфорса
Даже если пароли отключены, боты будут нагружать твой процессор попытками входа. Fail2Ban просто забанит их на уровне IP после пары неудачных попыток.
sudo apt install fail2ban -y
# Конфиг по умолчанию для SSH обычно уже включен.
# Проверить статус:
sudo fail2ban-client status sshd
5. Аудит открытых портов
Проверь, не слушает ли какая-нибудь база данных или служебный демон весь интернет.
# Ищем все слушающие порты
sudo ss -tulpn
Если видишь 0.0.0.0:5432 (PostgreSQL) или 0.0.0.0:6379 (Redis) — это беда. Они должны слушать только 127.0.0.1 или внутреннюю сеть.
Итог: Эти простые действия отсекают 99% автоматизированных атак.
Остальное — это уже тонкий тюнинг и специфические настройки под конкретный проект.
#security #linux #sysadmin #hardening #cybersecurity #fail2ban #ufw #admin_future
✍3🔥2⚡1