LINUX.ORG.RU
ФорумAdmin

Дидос.


0

1

Всем приветы.

Тут такое дело — меня стали дидосить. Ну а точнее не меня, а сайт, расположенный на моем сервере.

Пробовал запретить более 3 одновременных соединений с одного ипа — такого сделать на VPS нельзя. Окей, воспользовался nginx'ом:

  • Добавил лимит пакетов с одного ипа:
                    location / {
                            limit_conn one 3;
                            root /var/www;
                    }
    
  • Отключил пользователя в ISPmanager, теперь отдает 404 на запрашиваемом ботами адресе, добавил отдачу статики на 404
                    error_page 404 500 502 504 =200 /LO2.jpg;
                    location /LO2.jpg {
                            root /var/www/home.ru/images;
                    }
    
  • Также запретил коннект на все порты, кроме 80, 21, 3306 и 22.
    iptables -I INPUT -s 127.0.0.0/8 -j ACCEPT
    iptables -I INPUT -p tcp --dport 22 -j ACCEPT
    iptables -I INPUT -p tcp --dport 21 -j ACCEPT
    iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    iptables -P INPUT DROP
    

Проблема в следующем — теперь апач выдает 500/502 ошибку. Какие еще меры нужно предпринять для предотвращения ддоса? Соединений в нетстате много, доступа к домену нету.



Последнее исправление: lolwut (всего исправлений: 1)

У меня не было опыта отражения ддос атаки на сервер, но могу сказать свой дилетантский взгляд на этот вопрос.

1) Я бы посмотрел при помощи tcpdump как именно происходит ДДОС и попытался выяснить на что именно ставят упор злоумышленники. 2) Я бы попробовал подцепить на атакующие порты лимиты с подвисаниям сессии и количества ограничения сессии с одного айпи при помощи iptables.

Tok ★★
()
Ответ на: комментарий от lolwut

Пробовал запретить более 3 одновременных соединений с одного ипа — такого сделать на VPS нельзя.

Это почему ? я так и не понял. у вас вроде есть iptables в наличии которым вы можете пользоваться.

Tok ★★
()

на localhost редикт поставь

anonymous
()
Ответ на: комментарий от Tok

К тому, что виртуализация OpenVZ не может такого позволить.

на localhost редикт поставь

Соединений в нетстате много, доступа к домену нету.

lolwut
() автор топика
Ответ на: комментарий от lolwut

Бред

К тому, что виртуализация OpenVZ не может такого позволить.

Почему это ? У вас что общий айпи с Хостинг сервером и VPS?

Tok ★★
()
Ответ на: Бред от Tok

Наверное… да?

lolwut
() автор топика

быдлопроблемы

- один айпи на vds и сайты клиентов

- OpenVZ

- да и руки из жопы

anonymous
()
Ответ на: комментарий от lolwut

Тебе надо крутить iptables (на то он и фаервол) а не рассказывать бредо-сказки про то что OpenVZ этого не позволяет.. всё он позволяет

Tok ★★
()
Ответ на: комментарий от Tok

Серьезно? Может не стоит лезть в ту область, в которой не разбираешься?

Если не веришь мне, то ответ > Системный Администратор, Интернет Хостинг Центр тебя устроит? [quote]PS. Система виртуализации не позволяет делать все, что и на физических серверах, есть небольшие ограничения по некоторым функциям.[/quote]

lolwut
() автор топика

чото я не понел не из поста не из каментов что именно за ддос. тупо по 80ому пых скрипты грузят?

tazhate ★★★★★
()

Для начала надо количество соединений в секунду с одного IP ограничивать, а не количество параллельных коннектов.

И непонятно, нафига лезть в фаервол виртуалки, если можно спокойно на HN зафильтровать.

Vit ★★★★★
()
Ответ на: комментарий от lolwut

Ну да отконфигурировать ядро Linux нельзя согласен... Но мы про него и не говорим.. OpenVZ поддерживает следующие модули iptables (man vzctl)

--iptables name Restrict access to iptables modules inside a VE (by default all iptables modules that are loaded in the host system are accessible inside a VE).

You can use the following values for name: iptable_filter, iptable_mangle, ipt_limit, ipt_multiport, ipt_tos, ipt_TOS, ipt_REJECT, ipt_TCPMSS, ipt_tcpmss, ipt_ttl, ipt_LOG, ipt_length, ip_conntrack, ip_conntrack_ftp, ip_conntrack_irc, ipt_conntrack, ipt_state, ipt_helper, iptable_nat, ip_nat_ftp, ip_nat_irc, ipt_REDIRECT, xt_mac, ipt_owner.

Вам нужен модуль ipt_limit, если ваш VPS не может использовать данный модуль то попросите своего «Системный Администратор, Интернет Хостинг Центр» включить модуль ipt_limit в ваш контейнер с VPS

Tok ★★
()
Ответ на: комментарий от AnDoR

А, я думал, у него свой сервер и проблемы с vds.

Vit ★★★★★
()

я всегда меняю порт ssh, никогда не оставляю его дефолтным.

alikhantara
()

теперь апач выдает 500/502 ошибку

Точно апач, а не nginx? Смотри логи, на limit_conn должно 503 вылетать.

true_admin ★★★★★
()
Ответ на: комментарий от tazhate

Не, как раз наоборот :). Не интересно решать в сотый раз старые проблемы.

Да и отошёл я от админства несколько лет назад. Щас всё что пишу на лоре в Admin это «по памяти». Ну и слежу за новыми трендами, вдруг опять админом буду :).

true_admin ★★★★★
()

limit_conn one 3;

вообще глобально 3 - мало =)
есть еще кстати http://sysoev.ru/nginx/docs/http/ngx_http_limit_req_module.html

НО! лимиты лучше крутить на те зоны, куда идут запросы.
у вас постоянно get / происходит?

кроме всего прочего, нужно дампануть сессию запроса от бота и выснить, что и как он спрашивает. и анализировать.
вероятно можно забанить на nginx по user-agent (если повезет)

так же никто не запрещает выяснить что именно спрашивают боты и сделать статические страницы.

ну и задумайтесь о структуре сайта. прикрутите кэш (memcached к примеру) или как вариант кэш nginx (но это плохая идея)

fr_butch
()

> Какие еще меры нужно предпринять для предотвращения ддоса?

ну к примеру настроить limit_req, потому как даже несколько ботов с хорошим каналом наделают беды...
потом можно написать скриптец, который будет парсить логи на предмет превышения этого limit_req и банить
потом упереться в лимиты опенвз по numiptent и начать терроризировать саппорт с просьбой увеличения оных (а больше 1-2К все равно не дадут)
понять, что все равно с опенвз «кина не будет» и свалить на нормальную систему виртуализации
когда дойдет, что шаред-канал в интернет на любой системе виртуализации для отбития ддос, есть говно полное - свалить на полноценный сервер с худо-бедно «своим» каналом
в общем есть куда упражняться.. пока дойдет, что и своего дедика совершенно не достаточно, разве что от какого-то школоддоса

r0mik
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.