Защита серверов RAFT от атаки с перебором пароля
В представленном примере описан алгоритм защиты серверов RAFT
от атаки с перебором пароля через аутентификацию Apache
c Kerberos
и SSH
с помощью службы FAIL2BAN
.
Настройка описана для трех серверов:
brest1
;brest2
;brest3
.
Для того, чтобы можно было заблокировать злоумышленников, пытающихся заблокировать доменную учетную запись для доступа к одному из серверов RAFT
ПК СВ "Брест", журналы syslog-ng
и Apache
должны быть настроены по следующей схеме:

FAIL2BAN
это служба, отслеживающая по журналам регистрации неверные или проблемные авторизации и блокирующая IP-адреса по заданным параметрам.
Для настройки защиты серверов RAFT от атаки с перебором необходимо:
- Скачать и установить службу
FAIL2BAN
:sudo apt install ./fail2ban_*_all.deb
- Запустить службу
FAIL2BAN
:sudo systemctl enable fail2ban
sudo systemctl start fail2ban - Запустить службу UFW:
sudo ufw enable
- Дать разрешение соединениям
ssh
:sudo ufw allow ssh
- Разрешить исходящие запросы по умолчанию:
sudo ufw default allow outgoing
- Разрешить входящие запросы по умолчанию:
sudo ufw default allow incoming
- Для настройки приемника журналов через
syslog-ng
из основного журнала ошибок аутентификацииApache
и сетиUDP
, необходимо добавить конфигурационный файл/etc/syslog-ng/conf.d/apache-error.conf
на серверыbrest1
,brest2
,brest3
:CODEvar/log/apache2/error.log
— файл журналаApache
;1999
— номер портаUDP
.
- Для каждого сервера
brest1, brest2, brest3
создать конфигурационный файл/etc/syslog-ng/conf.d/apache-send.conf
:- для
brest1
:CODE- <IP-адрес_2> — IP-адрес сервера
brest2
; - <IP-адрес_3> — IP-адрес сервера
brest3
.
- <IP-адрес_2> — IP-адрес сервера
- для
brest2
:CODE- <IP-адрес_1> — IP-адрес сервера
brest1
; - <IP-адрес_3> — IP-адрес сервера
brest3
.
- <IP-адрес_1> — IP-адрес сервера
- для
brest3
:CODE- <IP-адрес_1> — IP-адрес сервера
brest1
; - <IP-адрес_2> — IP-адрес сервера
brest2
.
- <IP-адрес_1> — IP-адрес сервера
- для
- На всех серверах
RAFT
перезапуститьsyslog-ng
:sudo systemctl restart syslog-ng
- На каждом сервере
brest1, brest2, brest3
создать конфигурационный файлetc/fail2ban/filter.d/apache-auth1.conf
:CODE - Создать на всех серверах
brest1, brest2, brest3
конфигурационный файл/etc/fail2ban/jail.d/default.conf
с настройками блокирования IP-адресов, совершающих три неверные попытки аутентификации вApache
черезKerberos
илиSSH
:CODEmaxretry
— количество действий, которые разрешено совершить до блокировки;findtime
— время в секундах, в течение которого учитывается параметрmaxretry
;bantime
— время, на которое будет блокироваться IP-адрес;action
— действие, которое будет выполняться, еслиFAIL2BAN
обнаружит активность, соответствующую критериям поиска;ignoreip
— игнорировать защиту, если запросы приходят с перечисленных адресов.
- Настроить ротацию журналов на созданные файлы
syslog-ng
на всех серверах в конфигурационных файлах/etc/logrotate.d/apache1
:
CODE