Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Обучающие статьи (https://forum.zone-game.info/forumdisplay.php?f=180)
-   -   Еще два способа защиты от http флуда (DDOS) fail2ban (https://forum.zone-game.info/showthread.php?t=14880)

MAZDIK 02.07.2011 07:49

Еще два способа защиты от http флуда (DDOS) fail2ban
 
Способ №1

Просмотрев логи своего веб сервера (xampp) /opt/lampp/logs/error_log я заметил, что кто-то брутит пытаясь найти что то.
Код:

[Mon Apr 04 23:05:52 2011] [error] [client XX.104.134.251] File does not exist: /opt/lampp/htdocs/pass.txt, referer: http://webxakep.net
[Mon Apr 04 23:05:52 2011] [error] [client XX.104.134.251] File does not exist: /opt/lampp/htdocs/moderator, referer: http://webxakep.net
[Mon Apr 04 23:05:52 2011] [error] [client XX.104.134.251] File does not exist: /opt/lampp/htdocs/modules, referer: http://webxakep.net
[Mon Apr 04 23:05:52 2011] [error] [client XX.104.134.251] File does not exist: /opt/lampp/htdocs/newsadmin, referer: http://webxakep.net

После установки fail2ban в конфиге /etc/fail2ban/jail.conf изменил эти строки:

Код:

[apache-shorewall]

enabled  = true
filter  = apache-noscript
action  = iptables[name=httpd, port=http, protocol=tcp]
logpath  = /opt/lampp/logs/error_log
maxretry = 3

true - включить
apache-noscript - фильтр который лежит в /etc/fail2ban/filter.d
iptables[name=httpd, port=http, protocol=tcp] - фаервол iptables
/opt/lampp/logs/error_log - путь к лог файлу апача
maxretry = 3 - кол-во ошибок
При возникновение 3 ошибок доступ блокируется при помощи файервола iptables.

Также изменил конфиг фильтра в /etc/fail2ban/filter.d
Код:

failregex = [[]client <HOST>[]] (File does not exist|.* not found or unable to stat)
«.*» - обозначает любой текст
Это значит что будет блокироваться вот такие строки:
Код:

[Mon Apr 04 23:04:37 2011] [error] [client XX.104.134.251] script '/opt/lampp/htdocs/moderator.php' not found or unable to stat, referer: http://webxakep.net
[Mon Apr 04 23:04:27 2011] [error] [client XX.104.134.251] File does not exist: /opt/lampp/htdocs/mssql, referer: http://webxakep.net

Способ №2

Во время DDOS в логах апаче /opt/lampp/logs/access_log записывается много таких строк:
Код:

XX.119.73.134 - - [23/Jun/2011:14:22:03 +0600] "GET /index.php HTTP/1.1" 200 -
XX.119.73.134 - - [23/Jun/2011:14:22:03 +0600] "GET /index.php HTTP/1.1" 200 -
XX.119.73.134 - - [23/Jun/2011:14:22:03 +0600] "GET /index.php HTTP/1.1" 200 -

В /etc/fail2ban/jail.conf изменил вот так:
Код:

[apache-badbots]

enabled  = true
filter  = apache-badbots
action  = iptables[name=Bad, port=http, protocol=tcp]
logpath  = /opt/lampp/logs/access_log
bantime  = 1800
maxretry = 250

bantime = 1800 - блокировать на 30 мин
maxretry = 250 - количество строк в логах с одним и тем же IP (меньше ставить не советую)

Конфиг фильтра в /etc/fail2ban/filter.d
Код:

failregex = ^<HOST> -.*"(GET|POST).*
Узнаем кого заблокировали /var/log/fail2ban.log
Код:

2011-06-29 04:16:49,743 fail2ban.actions: WARNING [apache-shorewall] Ban XX.24.139.11
2011-06-29 04:16:50,757 fail2ban.actions: WARNING [apache-shorewall] XX.24.139.11 already banned
2011-06-29 04:26:50,211 fail2ban.actions: WARNING [apache-shorewall] Unban XX.24.139.11
2011-06-29 16:55:38,908 fail2ban.actions: WARNING [apache-badbots] Ban XX.119.73.134

PS: я сам не догоняю выражение "already banned"
;)

untunable 02.07.2011 18:00

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
Под Ubuntu есть какой то антиддос, что бы тоже так легко настраивался...?

ANZO 02.07.2011 18:03

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
Fail2ban прекрасно себя будет чувствовать под debian-подобными системами. Поищите в репозиториях.

kraleksandr 06.10.2011 16:41

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
fail2ban можно настроить на защиту ЛС ГС и мускл? Или там только iptables?

m095 06.10.2011 19:04

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
Цитата:

Сообщение от kraleksandr (Сообщение 142088)
fail2ban можно настроить на защиту ЛС ГС и мускл? Или там только iptables?

iptables это файрвол. Fail2ban использует его.
Но fail2ban не имеет возможности защиты гс/лс.

его возможности это защита ssh, ftp, http серверов.

MAZDIK 06.10.2011 21:14

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
Думаю возможно писать правила под любые логи. Например в ГС
Код:

[11.08.25 11:06:51] 'mahax' 94.41.196.178 - OK : LoginOk
[11.08.25 11:07:31] 'killerxp3d' 88.85.187.218 - ERR : LoginFailed
[11.08.25 11:07:58] 'killerxp3d' 88.85.187.218 - ERR : LoginFailed
[11.08.25 11:08:11] 'killerxp3d' 88.85.187.218 - OK : LoginOk
[11.08.25 11:08:27] 'lineage793' 46.247.218.137 - ERR : LoginFailed
[11.08.25 11:08:42] 'lineage793' 46.247.218.137 - ERR : LoginFailed
[11.08.25 11:08:43] 'jenek32' 217.118.66.104 - OK : LoginOk
[11.08.25 11:08:55] 'lineage793' 46.247.218.137 - ERR : LoginFailed
[11.08.25 11:09:20] 'lineage793' 46.247.218.137 - ERR : LoginFailed
[11.08.25 11:09:35] 'lineageups' 46.247.218.137 - OK : LoginOk

Блокировать по строкам ERR : LoginFailed через сколько то попыток на сколько то минут.
Это защитит от перебора паролей, от ддос атак не поможет.

m095 06.10.2011 21:17

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
Цитата:

Сообщение от MAZDIK (Сообщение 142158)
Думаю возможно писать правила под любые логи. Например в ГС
Код:

[11.08.25 11:06:51] 'mahax' 94.41.196.178 - OK : LoginOk
[11.08.25 11:07:31] 'killerxp3d' 88.85.187.218 - ERR : LoginFailed
[11.08.25 11:07:58] 'killerxp3d' 88.85.187.218 - ERR : LoginFailed
[11.08.25 11:08:11] 'killerxp3d' 88.85.187.218 - OK : LoginOk
[11.08.25 11:08:27] 'lineage793' 46.247.218.137 - ERR : LoginFailed
[11.08.25 11:08:42] 'lineage793' 46.247.218.137 - ERR : LoginFailed
[11.08.25 11:08:43] 'jenek32' 217.118.66.104 - OK : LoginOk
[11.08.25 11:08:55] 'lineage793' 46.247.218.137 - ERR : LoginFailed
[11.08.25 11:09:20] 'lineage793' 46.247.218.137 - ERR : LoginFailed
[11.08.25 11:09:35] 'lineageups' 46.247.218.137 - OK : LoginOk

Блокировать по строкам ERR : LoginFailed через сколько то попыток на сколько то минут.
Это защитит от перебора паролей, от ддос атак не поможет.

Что за бред? Подобный функционал есть в каждой сборке.

MAZDIK 24.10.2011 19:03

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
Добавлю, что для включения
Код:

[ssh-iptables]
нужны логи /var/log/auth
Для этого надо в
Код:

/etc/syslog.conf
добавить строчку:
Код:

auth.*  -/var/log/auth
перезапустить службу
Код:

service syslog restart
И еще не забываем правила:
Код:

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j REJECT
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 10 -j REJECT
iptables -A INPUT -p tcp --syn --dport 2106 -m connlimit --connlimit-above 15 -j REJECT
iptables -A INPUT -p tcp --syn --dport 7777 -m connlimit --connlimit-above 200 -j REJECT

Тут 200 на онлайн 200 - может я ошибаюсь, если было бы iplimit я точно поставил бы не больше 5 подключений.

TARAN 24.10.2011 19:41

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
Это и есть айпи лимит=)

Deron 07.11.2011 23:56

Re: Еще два способа защиты от http флуда (DDOS) fail2ban
 
Не могу найти в файле "jail.conf" строчку.
[apache-badbots]


Текущее время: 04:20. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot