Спонсор публикаций Life-Hack [Жизнь-Взлом]

Life-Hack Уникальный, авторский и единственный в своём роде. Рассказывает самые свежие новости из кибер мира. Познакомит вас с кучей полезного софта и расскажет про darknet

Одной из распространённых атак на службу SSH является атака методом перебора, когда удалённый атакующий бесконечно пытается залогиниться с различными паролями. Конечно, есть аргументы против аутентификации с помощью паролей для SSH, и есть альтернативные механизмы аутентификации, такие существующие варианты как аутентификация с публичным клюём или двух-факторная аутентификация сведут на нет атаку брут-форсингом. Не в даваясь в дискуссию о преимуществах и недостатках различных методов аутентификации, давайте рассмотрим ситуацию, когда необходима аутентификация паролем. Как вы защитите ваш SSH сервер против атак грубой силой?

fail2ban — это хорошо известный, с открытым кодом фреймворк по предотвращению вторжений для Linux, он мониторит различные лог-файлы системы (например, /var/log/auth.log or /var/log/secure) и автоматически задействуют различные способы защиты против выявленных подозрительных действий. На самом деле, fail2ban может быть очень полезен для защиты против атак по перебору паролей на SSH сервер.

В этом уроке я продемонстрирую как установить и настроить fail2ban для защиты SSH сервера против атак брут-форсингом с удалённых IP адресов.

Установка Fail2ban на Linux

Для установки fail2ban на CentOS или RHEL, сначала, установите репозиторий EPEL, и затем выполните следующую команду.

Для установки fail2ban на Fedora, просто запустите:

Для установки fail2ban на Ubuntu, Debian или Linux Mint:

Настройка Fail2ban для SSH сервера

Сейчас вы готовы для конфигурирования fail2ban для усиления вашего SSH сервера. Вам нужно отредактировать конфигурационный файл в /etc/fail2ban/jail.conf. Конфигурационный файл содержит секцию «DEFAULT», где вы определяете параметры по умолчанию для всех сервисов, которые мониторятся, и специфичные для каждого сервиса секции, где вы определяете любые специфичные для сервиса джэйлы (например SSH, Apache и т. д.) для перезаписи параметров по умолчанию.

В секции джейлов определённых сервисов (где-то после секции [DEFAULT]) вам нужно задать секцию [ssh-iptables], где вы зададите особые настройки для джэйлов SSH. Текущий бан IP адресов делается iptables.

Последующий пример в /etc/fail2ban/jail.conf, который содержит настройку джэйла «ssh-iptables». Конечно, там могут быть и другие джейлы для разных приложений, в зависимости от ваших нужд.

В соответствии с приведённой конфигурацией, fail2ban будет автоматически банить любые удалённые IP адреса, с которых поступило хотя бы 3 неудачных попытки за последние 10 минут. Однажды забаненный, IP нарушителя будет оставаться заблокированным в течение 24 часов. Уведомление об этом событии будет отправлено по почте.

После того, как конфигурационный файл готов, перезапустите службу fail2ban как показано ниже.

На Debian, Ubuntu или CentOS/RHEL 6:

На Fedora или CentOS/RHEL 7:

Чтобы проверить, успешно ли запущен fail2ban, выполните команду fail2ban-client с аргументом «ping». Если служба fail2ban запущена нормально, вы должны увидеть ответ «pong».

Тестирование защиты с Fail2ban на SSH от атаки перебором паролей

Чтобы проверить, работает ли fail2ban, попробуйте войти на сервер SSH используя неверный пароль для симуляции брут-форс атаки. В то же время, проверяйте /var/log/fail2ban.log, который записывает все интересные события, которые происходят в fail2ban.


Спонсор публикаций Cyber-512

Готовим специалиста в области ИБ  - Воспитаем специалиста в области ИБ с нуля до начального уровня. После обучения сможете оказывать услуги по проведению тестирования на проникновение ( легальный хакинг )

15882084127_93ce562651_o

Согласно логу выше, fail2ban забанил IP адрес 192.168.1.8, поскольку выявил множественные ошибки в попытка залогиниться на SSH с этого IP адреса.

Проверка статуса Fail2ban и разблокировка заблокированных IP адресов

Джейл «ssh-iptables» в fail2ban использует iptables для блокировки IP адресов нарушителей, вы можете легко проверить бан, посмотрев текущие правила iptables как показано ниже.

Если вы хотите разблокировать IP адреса от fail2ban, вы можете также выполнить команду iptables:

В то время, как вы можете проверять и управлять списком заблокированных IP в fail2ban вручную с помощью команд iptables, как было показано, верным способом, на самом деле, является использование инструмента командной строки ail2ban-client. Этот инструмент позволяет вам управлять не только джэйлом «ssh-iptables», но также любыми другими типами джэйлов fail2ban в унифицированным интерфейсе командной строки.

Для проверки статуса fail2ban (который покажет список активных в настоящее время джейлов):

Чтобы проверить статус конкретного джейла (например, ssh-iptables):

Вышеприведённая команда покажет список забаненных IP адресов.

16067847655_e8c6d8546b_o

Для разблокировки конкретного IP адреса:

16065915571_19db9d1335_o

Обратите внимание, если вы остановите fail2ban, все заблокированные IP адреса будут разблокированы. Когда вы перезапустите fail2ban, он найдёт список IP адресов нарушителей из /var/log/secure (или /var/log/auth.log) и перезабанит эти IP адреса, если не истекло время бана.

Установка Fail2ban на автозагрузку и включении

После того, как вы успешно протестировали fail2ban, последним шагов по задействованию fail2ban является автоматический запуск при включении питания сервера. На основанных на Debian дистрибутивах, автозапуск fail2ban включен по умолчанию. На основанных на Red Hat дистрибутивах, включите автостарт следующим способом.

На CentOS/RHEL 6:

На Fedora или CentOS/RHEL 7:

Итог

В этом уроке я продемонстрировал как установить и настроить fail2ban для защиты SSH сервера. Хотя fail2ban может смягчить атаку перебором паролей, пожалуйста помните, он не может защитить SSH сервера против сложных (распределённых) кампаний по брут-форсингу, когда атакующие обходят fail2ban используя тысячи подконтрольных ботам IP адресов.


Спонсор публикаций Life-Hack [Жизнь-Взлом]

Интервью с администратором Telegram-канала Life-HackLife-Hack рассказывает самые свежие новости из кибер мира. Познакомит вас с кучей полезного софта и расскажет про darknet

Похожие темы

Включение SSH на Kali Linux Kali Linux не поставляется с задействованным SSH. SSH — это предпочитаемый метод удалённого управления для большинства основанных на Linux систем. Без...
FTP-Map: определяем программное обеспечение и его ... Ftpmap сканирует удалённые FTP-сервера для идентификации, какое программное обеспечение и какой версии они используют. Она использует специфичн...
Router Scan by Stas’M на Kali Linux (взлом р... Между прочим, этот самый Router Scan от Stas'M — потрясающая штука! Мне же больше всего нравится в этой программе: сканирование, при котором по...
Эмуляция сети из нескольких компьютеров на одном к... Эта инструкция небольшая, но очень полезная. Она пригодится: тестировщикам на проникновение и хакерам: для сканирования с одной операционной си...
Сплошная безопасная передача файлов: IronSSH... Перевод: Анна Давыдова Источник: n0where.net IronSSH - сплошная безопасная передача файлов Альтернатива sftp и scp, которая хранит файлы в...