The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"DoS атака на apache - что делать?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Система. проблемы, диагностика / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"DoS атака на apache - что делать?"  +/
Сообщение от borz email(ok) on 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 ..."

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "DoS атака на apache - что делать?"  +/
Сообщение от lazyBSD on 18-Май-07, 13:09 
Используйте пакетный фильтр.
man pf.conf
max-src-conn, max-src-conn-rate
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "DoS атака на apache - что делать?"  +/
Сообщение от johnjoy email(??) on 22-Май-07, 00:31 
рад, что помог )
а спасибо - игорю сысоеву за замечательный инструмент )
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

3. "DoS атака на apache - что делать?"  +/
Сообщение от Deac email(ok) on 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 и логи в студию.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "DoS атака на apache - что делать?"  +/
Сообщение от Mirage_sk (ok) on 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;

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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "DoS атака на apache - что делать?"  +/
Сообщение от Mirage_sk (ok) on 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

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру