URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 74135
[ Назад ]

Исходное сообщение
"DoS атака на apache - что делать?"

Отправлено borz , 18-Май-07 12:44 
Некий нехороший человек научился "вешать" apache нашего сервера. Утверждает, что использользует прокси сервера, генерирует множество запросов, сейчас уже шантажирует. Проект коммерческий, идут убытки...

Симтомы следующие:
1. Load Averages из команды top падает почти до 0.
2. Работает 250 httpd процессов, т.е. максимум, определенный в httpd.conf директивой MaxClients.
3. При запросе к web страничкам через браузер происходит задержка секунд на 10-20, а затем ошибка "Невозможно отобразить страницу". Если раз 10 нажимать "обновить страницу" - может показаться.
4. Другие серсисы сервера (FTP, SSH, ...) работают нормально.
5. Некоторые строчки из httpd.conf:

Timeout 20
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 250
MaxRequestsPerChild 0
</IfModule>

Пробую с ними "играться", но не помогает.

6. На сервере 3 Гб ОЗУ, процессор P4 3000. Операционка - FreeBSD 5.4
7. Поставил модуль апача mod_limitipconn2, позволяющий ограничивать число соединений с одного IP. Не помогло.
8. В access_log число запросов в порядке нормы (около 50 000 за час), в error_log уйма строк "Rejecting client at ..."

Надеюсь, кто-нибудь подскажет. Идти на "поводку" шантажиста-хакера не хотелось бы... Возможно, мог бы выплатить ганарар, если помощь окажется трудоемкой... Готов отправить все логи, любые файлы, статистиску. Возможно, логины-пароли или лично встретиться в Петербурге (оплачу время, помощь). Конечно, предложение СРОЧНОЕ.


Содержание

Сообщения в этом обсуждении
"DoS атака на apache - что делать?"
Отправлено lazyBSD , 18-Май-07 13:09 
Используйте пакетный фильтр.
man pf.conf
max-src-conn, max-src-conn-rate

"DoS атака на apache - что делать?"
Отправлено johnjoy , 18-Май-07 14:18 
судя по всему, открывает 250 коннектов с разных ip и "держит" их, например забирая инфу со скоростью типа 1 байт/сек.
Отсюда - все 250 процессов и нулевой LA, ибо они просто покуривая потихоньку, отдают контент
посмотрите по логам, сколько там отбивок соединения по таймауту. При нормальном функционировании их практически не должно быить.
Попробуйте поставить nginx перед апачем.
Это должно решить вашу проблему + такое решение вам даст хороший задел на будущее.

"DoS атака на apache - что делать?"
Отправлено borz , 21-Май-07 23:11 
>судя по всему, открывает 250 коннектов с разных ip и "держит" их,
>например забирая инфу со скоростью типа 1 байт/сек.
>Отсюда - все 250 процессов и нулевой LA, ибо они просто покуривая
>потихоньку, отдают контент
>посмотрите по логам, сколько там отбивок соединения по таймауту. При нормальном функционировании
>их практически не должно быить.
>Попробуйте поставить nginx перед апачем.
>Это должно решить вашу проблему + такое решение вам даст хороший задел
>на будущее.

Решение проблемы найдено. Поставил nginx как проски сервер (на той же машине, где и Apache). Результат потрясающий. Если ранее работало по 200-250 процессов Apach`а, то сейчас всего 10-20. Расход памяти снизился многократно, load averages уменьшился процентов на 20. От хакерской нет и следа. Это волшебство! А сама атака атака заключалась в следующем: берем 250 прокси серверов, открываем 250 соединений, медленно что-то нибудь качаем. Apache оказывается в отключке, его архитектура подразумевает отдельный процесс под каждое соединение.

Большое СПАСИБО johnjoy !!!


"DoS атака на apache - что делать?"
Отправлено johnjoy , 22-Май-07 00:31 
рад, что помог )
а спасибо - игорю сысоеву за замечательный инструмент )

"DoS атака на apache - что делать?"
Отправлено Deac , 18-Май-07 14:26 
>Некий нехороший человек научился "вешать" apache нашего сервера. Утверждает, что использользует прокси
>сервера, генерирует множество запросов, сейчас уже шантажирует. Проект коммерческий, идут убытки...
>
>
>Симтомы следующие:
>1. Load Averages из команды top падает почти до 0.
>2. Работает 250 httpd процессов, т.е. максимум, определенный в httpd.conf директивой MaxClients.
>
>3. При запросе к web страничкам через браузер происходит задержка секунд на
>10-20, а затем ошибка "Невозможно отобразить страницу". Если раз 10 нажимать
>"обновить страницу" - может показаться.
>4. Другие серсисы сервера (FTP, SSH, ...) работают нормально.
>5. Некоторые строчки из httpd.conf:
>
>Timeout 20
>KeepAlive On
>MaxKeepAliveRequests 100
>KeepAliveTimeout 5
>
><IfModule prefork.c>
>StartServers 5
>MinSpareServers 5
>MaxSpareServers 10
>MaxClients 250
>MaxRequestsPerChild 0
></IfModule>
>
>Пробую с ними "играться", но не помогает.
>
>6. На сервере 3 Гб ОЗУ, процессор P4 3000. Операционка - FreeBSD
>5.4
>7. Поставил модуль апача mod_limitipconn2, позволяющий ограничивать число соединений с одного IP.
>Не помогло.
>8. В access_log число запросов в порядке нормы (около 50 000 за
>час), в error_log уйма строк "Rejecting client at ..."
>
>Надеюсь, кто-нибудь подскажет. Идти на "поводку" шантажиста-хакера не хотелось бы... Возможно, мог
>бы выплатить ганарар, если помощь окажется трудоемкой... Готов отправить все логи,
>любые файлы, статистиску. Возможно, логины-пароли или лично встретиться в Петербурге (оплачу
>время, помощь). Конечно, предложение СРОЧНОЕ.

Сколько прокси учавствует в DoS, если менее 50 то можно просто забанить их временно т.к. потеря части аудитории лучше чем полная неработоспособность.
Письмо вышестоящему провайдеру/хостеру с выдержками из логов - обязательно.
Для грамотного пресечения атаки необходимо выявить отличия от легального обращения: процедура установки соединения, флаги, таймауты и т.д. (В ядре задействован DROP SYN/FIN ?)
Простейшее решение регистрация ещё одного IP (поможет, но не долго)
SNORT - на будущее.

А сейчас netstat, sockstat, tcpdump и логи в студию.


"DoS атака на apache - что делать?"
Отправлено Mirage_sk , 09-Окт-13 16:45 
Привет всем!

Раз нашел подходящую проблему, не стал открывать новую тему.

Проблема почти та же самая - конкретно происходить вот что:

Приходят множество соединении извне, вешаются на апач и начинают качать данные на очень малой скорости.


установлен nginx version: nginx/1.5.5 как прокси и Apache/2.2.25.
Сервер сам Centos 6.4 x86_64  ядро 2.6.32-358.18.1.el6.x86_64.
Конфиг нгинкса:

user  nginx;
worker_processes  10;
worker_rlimit_nofile 100000;

sendfile        on;
tcp_nopush      on;
tcp_nodelay     on;
   server_tokens   off;
    gzip            on;
    gzip_static     on;
    gzip_comp_level 5;
    gzip_min_length 1024;
    keepalive_timeout  5 5;
    limit_conn_zone   $binary_remote_addr  zone=addr:10m;

proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For
            $proxy_add_x_forwarded_for;
            client_max_body_size       1k;
            client_body_buffer_size    1k;
            client_body_timeout        10;
            #client_header_timeout      10;
            proxy_connect_timeout      10;
            proxy_send_timeout         10;
            proxy_read_timeout         10;
            proxy_buffer_size          1k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;

Подскажите, как решить проблему


"DoS атака на apache - что делать?"
Отправлено Mirage_sk , 23-Окт-13 19:14 
>[оверквотинг удален]
>            
> proxy_buffer_size          1k;
>            
> proxy_buffers          
>    4 32k;
>            
> proxy_busy_buffers_size    64k;
>            
> proxy_temp_file_write_size 64k;
> Подскажите, как решить проблему

Решено, это не был DoS, не хватал прямыерукипрограмиста.lib.so