We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Защита от DDoS apache+nginx
Защита от DDoS apache+nginx
Может кто из опытных подсказать как эффективней всего настроить
защиту от DDoS на конфигурации сервера apache+nginx?
VPS с памятью 512 МБ.
Делал нагрузку на него с помощью LoadImpact - 250 подключений в 1 минуту - сервер ложится.
(установлена CMS 1C-Bitrix demo интернет-магазин)
Где что в конфигах подкрутить чтобы он не ложился а просто отрубал подключения?
Самое интересное, что витрина после атаки не грузится вообще а вот в панель заходит.
Httpd по информации жрет 82120 MB ::)))))
защиту от DDoS на конфигурации сервера apache+nginx?
VPS с памятью 512 МБ.
Делал нагрузку на него с помощью LoadImpact - 250 подключений в 1 минуту - сервер ложится.
(установлена CMS 1C-Bitrix demo интернет-магазин)
Где что в конфигах подкрутить чтобы он не ложился а просто отрубал подключения?
Самое интересное, что витрина после атаки не грузится вообще а вот в панель заходит.
Httpd по информации жрет 82120 MB ::)))))
Re: Защита от DDoS apache+nginx
От ddos с 512мб никак защититься невозможно, только от dos. Ограничить запросы можно через iptables или nginx. Ограничение через nginx на форуме уже обсуждалось тут . Количество запросов и коннектов подбирается индивидуально для проекта.
Re: Защита от DDoS apache+nginx
Господа, большая просьба выложите свои конфиги с настройкой NGINX по вышеописанным инструкциям.
Вроде сделал как по инструкции (но походу все таки не так), все равно MySQL падает если F5 секунд 30 держать, 503 страница даже не появляется.
Могу дать SSH под рут к серверу для прямой правки конфигов. Сервак экспериментальный. Прежде чем настраивать нормальную версию надо
путем пробный настроить.
UPD
еще поставил DDOS deflate но он по факту от падения Mysql не спасает
Вроде сделал как по инструкции (но походу все таки не так), все равно MySQL падает если F5 секунд 30 держать, 503 страница даже не появляется.
Могу дать SSH под рут к серверу для прямой правки конфигов. Сервак экспериментальный. Прежде чем настраивать нормальную версию надо
путем пробный настроить.
UPD
еще поставил DDOS deflate но он по факту от падения Mysql не спасает
Re: Защита от DDoS apache+nginx
У меня такие лимиты. Да и в общем для большинства серверов этого будет достаточно.
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;
Re: Защита от DDoS apache+nginx
отписал в личку
Re: Защита от DDoS apache+nginx
Сразу хочу заметить, что если будет сильная ddos атака, программная защита не спасёт.
Поможет только защита на уровне сетевого оборудования.
Поможет только защита на уровне сетевого оборудования.
Re: Защита от DDoS apache+nginx
Это все понятно. Но от F5 сервак держать обязан.
Re: Защита от DDoS apache+nginx
А какая ошибка появляется?все равно MySQL падает
Какая ОС?
Предоставляйте больше сведений, когда пишите об ошибке
Скорее всего мускуль падает из-за нехватки памяти
Re: Защита от DDoS apache+nginx
для 512 оперативы
для CentOS (для дебиана чуть поменяются пути)
включить при загрузки iptables
на вскидку
как то так
для 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
Re: Защита от DDoS apache+nginx
есть еще пару вариантов, в том числе на базе nginx+iptables... но не покатят ибо потребуют больше ресурсов...