Page 2 of 3
Re: Защита от DDoS apache+nginx
Posted: Fri Feb 07, 2014 3:23 pm
by akifievaa
Спасибо. Буду сегодня тестить несколько вариантов. По результатам отпишусь.
Мне помог ув. товарищ Alligator. За что я ему весьма признателен.
Re: Защита от DDoS apache+nginx
Posted: Wed Feb 12, 2014 2:06 pm
by Metallurg.IT
Появились ли ещё какие костыли для решения проблем с DDOS?
В одном из постов для CentOS предлагают поправить файлик
nano /etc/my.comf у меня по этому пути пусто, не nano /etc/my.cnf имелся ли ввиду?
Code: Select all
#####
# From mysql 5.5 low memory use 231M
#####
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
max_connections=70
max_user_connections=30
wait_timeout=10
interactive_timeout=50
slow_query_log = 0
long_query_time= 5
log-queries-not-using-indexes
slow_query_log_file=/var/log/mysql/log-slow-queries.log
key_buffer_size = 8M
myisam_sort_buffer_size = 4M
join_buffer_size = 512K
read_buffer_size = 512K
sort_buffer_size = 1M
table_cache = 2048
thread_cache_size = 128
max_allowed_packet = 16M
query_cache_limit = 2M
query_cache_size = 8M
tmp_table_size = 16M
#innodb_use_native_aio = 0
innodb_file_per_table
innodb_buffer_pool_size = 8M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
И при перезагрузке iptables орёт на
Code: Select all
[root~]# service iptables start
iptables: Applying firewall rules: iptables-restore: COMMIT expected at line 21
[FAILED]
Как решить?
Re: Защита от DDoS apache+nginx
Posted: Thu Feb 13, 2014 5:32 am
by demian
Code: Select all
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [16807:31509796]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW -m recent --rcheck --seconds 6000 --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW -m hashlimit --hashlimit-above 2/min --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name BLOCK -m recent --set --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --rcheck --seconds 6000 --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit-above 2/min --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name BLOCK -m recent --set --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -m limit --limit 600/min --limit-burst 100 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -m limit --limit 600/min --limit-burst 100 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Re: Защита от DDoS apache+nginx
Posted: Thu Feb 13, 2014 6:27 am
by akifievaa
nano это текстовый редактор
файл настроек MySQL лежит в /etc/my.cnf
Re: Защита от DDoS apache+nginx
Posted: Thu Feb 13, 2014 4:30 pm
by Metallurg.IT
demian wrote:Code: Select all
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [16807:31509796]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW -m recent --rcheck --seconds 6000 --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW -m hashlimit --hashlimit-above 2/min --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name BLOCK -m recent --set --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --rcheck --seconds 6000 --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit-above 2/min --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name BLOCK -m recent --set --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -m limit --limit 600/min --limit-burst 100 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -m limit --limit 600/min --limit-burst 100 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Большое СПАСИБО.
Re: Защита от DDoS apache+nginx
Posted: Sat Nov 22, 2014 11:44 pm
by Peca
Добрый, у меня такая ситуация стоит vesta на centos 6, второй день подряд валят один сайт, че он им сдался не понятно, но судя по графикам на нем по 500 web сессий, в итоге в процессах по 200-300 апачей запущенно, через 1-2 часа оно в итоге падает и помогает только ручной рестарт апача, оперативки на этом контейнере 4gb, 4ядра выделено.
Очень хотелось бы как то минимально защититься при помощи ПО. Заранее спасибо, очень жду помощи.
Re: Защита от DDoS apache+nginx
Posted: Sat Nov 22, 2014 11:54 pm
by imperio
Ваш сайт ддосят похоже.
Nginx включен в качестве кешируемого сервера?
Смотрите access логи веб-домена, если атака идёт с одного ip, то его можно забанить в фаерволе.
Также используйте инструкции:
Краткое руководство по борьбе с DDOS-атаками на http-сервер
и
Использование mod security для блокирования DDoS атак
PS
В панели в разделе Firewall заблокируйте для мира порты 80,443 и создайте разрешающее правило только для своего ip, так вы сможете спокойно работать на сервере по устранению атаки.
Re: Защита от DDoS apache+nginx
Posted: Sun Nov 23, 2014 12:15 am
by Peca
Спасибо за оперативный ответ, панель работает во время атаки отлично, валяться только сайты которые находяться на этом контейнере, в access логах я ничего не вижу, вот это меня и очень удивляет.
Re: Защита от DDoS apache+nginx
Posted: Sun Nov 23, 2014 12:18 am
by imperio
Посмотрите вывод команд
Подключите apache server-status
потом он будет доступен по адресу
http://localhost/server-status
Этот модуль покажет нагрузку по всем сайтам в реальном времени
Re: Защита от DDoS apache+nginx
Posted: Sun Nov 23, 2014 12:39 am
by Peca
Поставил mod security сильно помогло, а вот что то с server-status сходу не разобрался. Если есть примеры конфигов для Vesta покажите пожалуйса.