Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Веб сервер
  • Search

Защита от DDoS apache+nginx

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
Post Reply
  • Print view
Advanced search
30 posts
  • 1
  • 2
  • 3
  • Next
akifievaa
Posts: 61
Joined: Wed Jan 29, 2014 10:03 am

Защита от DDoS apache+nginx
  • Quote

Post by akifievaa » Thu Feb 06, 2014 10:23 pm

Может кто из опытных подсказать как эффективней всего настроить
защиту от DDoS на конфигурации сервера apache+nginx?

VPS с памятью 512 МБ.
Делал нагрузку на него с помощью LoadImpact - 250 подключений в 1 минуту - сервер ложится.
(установлена CMS 1C-Bitrix demo интернет-магазин)

Где что в конфигах подкрутить чтобы он не ложился а просто отрубал подключения?

Самое интересное, что витрина после атаки не грузится вообще а вот в панель заходит.

Httpd по информации жрет 82120 MB ::)))))
Top

Alligator
Posts: 3
Joined: Sat Jan 18, 2014 1:55 am

Re: Защита от DDoS apache+nginx
  • Quote

Post by Alligator » Fri Feb 07, 2014 1:55 am

От ddos с 512мб никак защититься невозможно, только от dos. Ограничить запросы можно через iptables или nginx. Ограничение через nginx на форуме уже обсуждалось тут . Количество запросов и коннектов подбирается индивидуально для проекта.
Top

akifievaa
Posts: 61
Joined: Wed Jan 29, 2014 10:03 am

Re: Защита от DDoS apache+nginx
  • Quote

Post by akifievaa » Fri Feb 07, 2014 6:41 am

Господа, большая просьба выложите свои конфиги с настройкой NGINX по вышеописанным инструкциям.

Вроде сделал как по инструкции (но походу все таки не так), все равно MySQL падает если F5 секунд 30 держать, 503 страница даже не появляется.

Могу дать SSH под рут к серверу для прямой правки конфигов. Сервак экспериментальный. Прежде чем настраивать нормальную версию надо
путем пробный настроить.

UPD
еще поставил DDOS deflate но он по факту от падения Mysql не спасает
Top

Alligator
Posts: 3
Joined: Sat Jan 18, 2014 1:55 am

Re: Защита от DDoS apache+nginx
  • Quote

Post by Alligator » Fri Feb 07, 2014 7:58 am

У меня такие лимиты. Да и в общем для большинства серверов этого будет достаточно.

Code: Select all

	limit_conn_zone $binary_remote_addr zone=perip:10m;
	limit_conn perip 4;
	limit_conn_status 503;
	
	limit_req_zone $binary_remote_addr zone=dyn:10m rate=8r/s;
	limit_req zone=dyn burst=10;
	limit_req_status 503;
Top

akifievaa
Posts: 61
Joined: Wed Jan 29, 2014 10:03 am

Re: Защита от DDoS apache+nginx
  • Quote

Post by akifievaa » Fri Feb 07, 2014 8:14 am

отписал в личку
Top

imperio
VestaCP Team
Posts: 7000
Joined: Sat Dec 01, 2012 12:37 pm
Contact:
Contact imperio
Website

Re: Защита от DDoS apache+nginx
  • Quote

Post by imperio » Fri Feb 07, 2014 8:52 am

Сразу хочу заметить, что если будет сильная ddos атака, программная защита не спасёт.
Поможет только защита на уровне сетевого оборудования.
Top

akifievaa
Posts: 61
Joined: Wed Jan 29, 2014 10:03 am

Re: Защита от DDoS apache+nginx
  • Quote

Post by akifievaa » Fri Feb 07, 2014 9:00 am

Это все понятно. Но от F5 сервак держать обязан.
Top

imperio
VestaCP Team
Posts: 7000
Joined: Sat Dec 01, 2012 12:37 pm
Contact:
Contact imperio
Website

Re: Защита от DDoS apache+nginx
  • Quote

Post by imperio » Fri Feb 07, 2014 9:13 am

все равно MySQL падает
А какая ошибка появляется?
Какая ОС?
Предоставляйте больше сведений, когда пишите об ошибке

Скорее всего мускуль падает из-за нехватки памяти
Top

demian
Posts: 543
Joined: Thu May 16, 2013 5:19 am

Re: Защита от DDoS apache+nginx
  • Quote

Post by demian » Fri Feb 07, 2014 1:36 pm

для 512 оперативы

для CentOS (для дебиана чуть поменяются пути)

Code: Select all


/etc/my.comf


#####
# 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


chkconfig iptables 

на вскидку

Code: Select all

/etc/sysconfig/iptables

*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

Code: Select all

service iptables start
как то так
Top

demian
Posts: 543
Joined: Thu May 16, 2013 5:19 am

Re: Защита от DDoS apache+nginx
  • Quote

Post by demian » Fri Feb 07, 2014 1:53 pm

есть еще пару вариантов, в том числе на базе nginx+iptables... но не покатят ибо потребуют больше ресурсов...
Top


Post Reply
  • Print view

30 posts
  • 1
  • 2
  • 3
  • Next

Return to “Веб сервер”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password