LINUX.ORG.RU

Сообщения AntiDOs1111

 

Как правильно вставить код? Пж)))

Форум — Admin

Подскажите как правильно вставить код в Fail2ban конфиг ?

И где logpath =/ ….. это типа вставлять туда те ip которые надо в бан, или он туда будет сохранять отчет забаненных?

И будет ли вообще этот код работать? Если вставить в файл Fail2ban конфиг, чтоб не было DOS GET запросов

# Simple attempt to block very basic DOS attacks over GET
# Tolerate ~3.3 GET/s in 30s (100 GET in less than 30s)
[http-get-dos]
enabled = true
port = http,https
filter = http-get-dos
logpath = /var/log/apache2/custom_access.log
maxRetry = 100
findtime = 30
bantime = 6000

# Simple attempt to block very basic DOS attacks over POST
# Tolerate ~2 POST/s in 30s (60 POST in less than 30s)
[http-post-dos]
enabled = true
port = http,https
filter = http-post-dos
logpath = /var/log/apache2/custom_access.log
maxRetry = 60
findtime = 29
bantime = 6000

 ,

AntiDOs1111
()

DOs атака мусорных GET запросов

Форум — Admin

Здравствуйте, господа)) Крч у меня идет DOS атака мусорных запросов GET на сервер: Debian 8, 2 ядра проц, 4гб озу, 30гб ссд.

Сервер раньше ложился при 3мб трафика, потом я подправил настройки sysctl.conf немного увеличил мощь, и так же сделал настройку на большую выдержку от просадок nginx.conf. И потом добавил некоторые правила в Iptables syn-флуда

Еще я ввел правило в Iptables ограничение на подключение одного ip к моему серверу, но я хз работает это правило или не. Потом я сканил подключеыне ипы к моему серваку и кидал в бан те ip где выше 100 подключений с моим сервером, в бан кидал командами

Такими командами каждый ip iptables -A INPUT -s 00.000.00.0 -j DROP iptables -A INPUT -d 00.000.00.0 -j DROP

В nginx.conf код limit_conn_zone на ограничение подключенных ип адресов, он правильно вставлен? Не могу проверить работает он или нет вот

скрин https://s8.hostingkartinok.com/uploads/images/2019/12/7eb2180a3266d09f59c72e6d4b986fd7.png

Скрины: https://s8.hostingkartinok.com/uploads/images/2019/12/3686a62bd7db16e28cdb5828e6026219.png

https://s8.hostingkartinok.com/uploads/images/2019/12/b1518fe7a613568f3448c140543626ef.png

https://s8.hostingkartinok.com/uploads/images/2019/12/935f7a6e2868e99ac1e877ac847b9c56.png

Я в этом не профи во всем, когда столкнулся пришлось просиживать целыми днями и везде по немногу читал как исправить ситуацию, DOS доходил до 4-5мб трафика в сек и сервер ложился, после всего, что я сделал выше написанного, сейчас трафик dosa 2-3,5мб сек, и сервер не ложится уже на лопатки) Но как бы саму проблему полностью не решил. Я хочу полностью остановить dos запросы эти

Я думаю надо правильно посредством правил Iptables как-то сделать норм бан этих запросов, возможно такое?

Прошу помощи у вас господа, чужое время ценю, поэтому за результативные советы или помощь в настройке будет благодарность$ :)

P.S Cloudflare не предлагать)

 

AntiDOs1111
()

Dos флуд GET запросов по домену, ip адресу, как остановить?

Форум — Admin

Решено

 , ,

AntiDOs1111
()

Dos флуд GET запросов по домену, ip адресу

Форум — Admin

Проблема решается посредством Iptables

СТавится Iptables, если Debian8, команда apt-get install nftables

Cтавится fail2ban там по умолчанию защита от взлома сервера к админке aptitude install fail2ban

Пишутся правила для Iptables

iptables -I INPUT -p tcp –syn –dport 80 -m connlimit –connlimit-above 10 –connlimit-mask 24 -j DROP iptables -I INPUT -p tcp –syn –dport 80 -m hashlimit –hashlimit-above 1/second –hashlimit-burst 20 –hashlimit-mode srcip –hashlimit-srcmask 24 –hashlimit-name blip -j DROP

echo «20000» > /proc/sys/net/ipv4/tcp_max_syn_backlog echo «1» > /proc/sys/net/ipv4/tcp_synack_retries echo «30» > /proc/sys/net/ipv4/tcp_fin_timeout echo «5» > /proc/sys/net/ipv4/tcp_keepalive_probes echo «15» > /proc/sys/net/ipv4/tcp_keepalive_intvl echo «20000» > /proc/sys/net/core/netdev_max_backlog echo «20000» > /proc/sys/net/core/somaxconn

От syn_flooda iptables -N syn_flood iptables -A INPUT -p tcp –syn -j syn_flood iptables -A syn_flood -m limit –limit 500/s –limit-burst 2000 -j RETURN iptables -A syn_flood -j DROP

Еще полезные фичи: iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP iptables -A INPUT -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP iptables -A INPUT -p tcp –tcp-flags SYN,RST SYN,RST -j DROP iptables -A INPUT -p tcp –tcp-flags FIN,RST FIN,RST -j DROP iptables -A INPUT -p tcp –tcp-flags ACK,FIN FIN -j DROP iptables -A INPUT -p tcp –tcp-flags ACK,PSH PSH -j DROP iptables -A INPUT -p tcp –tcp-flags ACK,URG URG -j DROP

После сохраняете iptables-save

Настройка от нагрузки файлов nginx.conf, sysctl.conf /etc/nginx/nginx.conf /etc/sysctl.conf

В файл sysctl.conf, в конец файла, пишите это строки, сервер после перезагружаете

net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.eth0.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.lo.accept_source_route = 0 net.ipv4.conf.eth0.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.ip_forward = 0 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.core.rmem_max = 996777216 net.core.wmem_max = 996777216 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_mem= 786432 1048576 996777216 net.ipv4.tcp_wmem = 4096 87380 4194304 net.ipv4.tcp_max_orphans = 2255360 net.core.netdev_max_backlog = 10000 net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_keepalive_intvl = 15 net.ipv4.tcp_max_syn_backlog = 4046 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=10 net.ipv4.tcp_keepalive_probes=5 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 494967295 kernel.shmall = 268435456 net.core.somaxconn= 16096

Находите в файле nginx.conf строчки, и меняете на:

worker_rlimit_nofile 100000; worker_connections 65000; gzip_comp_level 7; gzip_buffers 8 64k;

File cache settings

open_file_cache          max=10000 inactive=30s;
open_file_cache_valid    60s;
open_file_cache_min_uses 2;
open_file_cache_errors   off;

http { # Main settings sendfile on; tcp_nopush on; tcp_nodelay on; client_header_timeout 10; client_body_timeout 10; client_header_buffer_size 1k; client_body_buffer_size 1k; client_max_body_size 10k; large_client_header_buffers 2 1k; send_timeout 10; keepalive_timeout 5 5; reset_timedout_connection on; server_tokens off; server_name_in_redirect off; server_names_hash_max_size 512; server_names_hash_bucket_size 512; limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:5m; limit_req_zone $binary_remote_addr zone=req_limit_per_ip:5m rate=5r/s;

server {
limit_conn conn_limit_per_ip 5;
limit_req zone=req_limit_per_ip burst=5 nodelay;
}

Так DOS флуд GET запросов c разных ip, прокси останавливается, трафик в 3-5мб/cек падает, проц не грузится на 100%, сервер, сайт не упадет.

PS. Вдруг кто столкнется с похожей проблемой и не сможете решить сами, пишите в лс в телегу @KrolikQ

 ,

AntiDOs1111
()

RSS подписка на новые темы