Помощь - Поиск - Пользователи - Календарь
Полная версия: сервер атакуют.
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Виртуальный сервер и Виртуальный Выделенный Сервер
dima333
Люди возникла проблема. Сервер по ходу атакуют. Полностью загружен процессор, память. Кудато улетает трафик.
Что делать??? Как определить ИП адреса атакующих? Чтобы заблокировать их через IpTables
2175
Цитата(dima333 @ 23.06.2009, 18:51) *

Люди возникла проблема. Сервер по ходу атакуют. Полностью загружен процессор, память. Кудато улетает трафик.
Что делать??? Как определить ИП адреса атакующих? Чтобы заблокировать их через IpTables

смотреть логи, смотреть анализ текущих соединений.. В общем наймите админа или учитесь.
Извините, но уже много раз говорили.
если Вам будет легче - такая конрукция в командной строке выведет кол - во соединений с каждым хостом
netstat -n | grep ESTA | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort
ps - я знаю что можно без cut - но где - то напутал когда писал разделите awk - так быстрее получилось написать
lazutov
Очень хорошая статья http://www.neshhadim.com/ddos_commands.html
PS Если автор статьи это читает, спасибо ему огромное.
dima333
Самое хреново то что не работает даже ssh, перезагружаю сервер все равно все опть быстро забивается.
Балин что делать???
Roman Hirauka
Цитата(dima333 @ 23.06.2009, 19:10) *

Самое хреново то что не работает даже ssh, перезагружаю сервер все равно все опть быстро забивается.
Балин что делать???

Вам http флудят. Поставьте себе mod_evasive:

Защита от ddos
mod_evasive - (mod_dosevasive) HTTP DoS or DDoS attack or brute force attack
Apache модуль для организации защиты от DDoS атак.

Преамбула
Не стоит думать что слабый ddos не сможет нанести ущерба вашему серверу. Например атакующих зомби-машин всего 50-150, все они с толстыми каналами, а вы уехали в командировку или у вас 10-ки серверов и вы не успеваете физически мониторить все. В таком случае даже не большое количество машин смогут зафлудить канал, или заставить выйти из строя веб сервер apache, mysql, etc. Другое дело когда администратор 24 часа в сутку мониторит сервер, и с легкостью обнаруживает атаки, далее с легкостью и в считанные секунды заносит несколько правил в таблицу фаервола при этом спокойно попивая кофе, продолжает заниматься своими делами. Но такое бывает редко, смотреть сутками и мониторить вывод комманд netstat, top, mtop убийственно для вашего мозга, и глаза устанут, не будет весело это точно, поэтому нужно автоматизировать процесс блокировки атакующих зомби-машин.

Один из методов как защитить свой сервер от флуд атак и слабого ddos-a по http протоколу это установить модуль для веб-сервера Apache - mod_dosevasive.


А теперь установка, открываем консоль:

Переходим в папку темп
cd /tmp/

Скачиваем архив мода
wget http://www.zdziarski.com/projects/mod_evas...e_1.10.1.tar.gz

Распаковываем
tar xfzv mod_evasive_1.10.1.tar.gz

Переходим в папку мода
cd mod_evasive

Компилируем (если увас нету apxs2, устанавливаем apt-get-install apache2-prefork-dev)
apxs2 -c -i -a mod_evasive20.c

Далее переходим в папку установленого мода
cd /etc/apache2/mods-available

Создаем файлы загрузки
nano -w evasive.load

Вставляем туда эту строчку жмем F2 и ENTER для сохранения
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so

Создаем файл конфига
nano -w evasive.conf

Вставляем этот столбик конфига и так же сохраняем
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>

Активируем модуль
a2enmod evasive && apache2ctl graceful

Готово!

Теперь описание настроек:
DOSHashTableSize: это размер хэш-таблицы которая обрабатывает запросы к WWW-серверу.
DOSPageCount: число запросов к одной странице от одного и того же IP в течение указаного интервала времени.
DOSSiteCount: число запросов ко всем страницам домена, т.е если поступило более 50-ти запросов с одного ай-пи на разные страницы домена - тогда такой ай-пи будет заблокирован.
DOSPageInterval: Интервал для директивы DOSPageCount (в секундах)
DOSSiteInterval: Интервал для директивы DOSSiteCount (в секундах)
DOSBlockingPeriod: На сколько заблокировать ай-пи (в секундах)
DOSEmailNotify: может быть использован для уведомления, будет отправлять сообщение по электронной почте о том что такой-то IP был заблокирован.
DOSSystemCommand: эта директива используется для выполнения какой-нибудь вашей команды когда IP блокируется. Вы можете использовать это для добавления IP-адреса в таблицу фаервола.
(пример: "/sbin/iptables -A INPUT -p tcp --dport 80 -s %s -j REJECT" В %s передается от модуля IP)
DOSWhiteList: список белых IP адресов, можно и по маскам (напр. 127.0.0.*)

Ссылка на источник
WebXL
Цитата(lazutov @ 23.06.2009, 19:41) *

Очень хорошая статья http://www.neshhadim.com/ddos_commands.html
PS Если автор статьи это читает, спасибо ему огромное.

Пожалуйста, мне приятно, что Вы сочли мою статью хорошей. Помимо этой, есть еще несколько интересных статей на моем сайте man-linux.ru
Phil Kulin
Цитата(dima333 @ 23.06.2009, 18:51) *

Люди возникла проблема. Сервер по ходу атакуют. Полностью загружен процессор, память. Кудато улетает трафик.
Что делать??? Как определить ИП адреса атакующих? Чтобы заблокировать их через IpTables


Закройте всё кроме ssh и дальше разбирайтесь. Вообще всё. Мы в своё время даже линк делали на второй интерфейс, а основной закрывали. Или IP подымите там ещё один и первый закройте, а со второго зайдите и начинайте потихоньку анализировать что там и куда.
dima333
Спасибо Вам всем большое! smile.gif

Еще возник такой вопрос. Как можно в IpTables заблокировать все соединения для всех Ип адресов, кроме моего?
Roman Hirauka
Цитата(dima333 @ 25.06.2009, 06:07) *

Спасибо Вам всем большое! smile.gif

Еще возник такой вопрос. Как можно в IpTables заблокировать все соединения для всех Ип адресов, кроме моего?

И зачем Вам сервер на сайты и сервисы которого сможете попасть только Вы? На локалке намного удобнее и безопаснее будет такое осуществить.
different
Цитата(Roman Hirauka @ 25.06.2009, 17:46) *

И зачем Вам сервер на сайты и сервисы которого сможете попасть только Вы? На локалке намного удобнее и безопаснее будет такое осуществить.


Очевидно затем, чтобы атакуемый сервер не тормозил и давал возможность читать логи\менять настройки\составлять блоклисты.
dima333
Цитата(Roman Hirauka @ 25.06.2009, 17:46) *

И зачем Вам сервер на сайты и сервисы которого сможете попасть только Вы? На локалке намного удобнее и безопаснее будет такое осуществить.


Я хочу заблокировать все соединения и разрешить только своему Ип адресу вход, делаю для того чтобы попасть на сервер по ssh, т.к. память, проц забиты зайти не получается.

Как заблокировать всех кроме себя???
2175
Цитата(dima333 @ 25.06.2009, 15:52) *

Я хочу заблокировать все соединения и разрешить только своему Ип адресу вход, делаю для того чтобы попасть на сервер по ssh, т.к. память, проц забиты зайти не получается.

Как заблокировать всех кроме себя???

Поставить политику по умолчанию сбрасывать все и разрешить пакеты от себя и к себе..
P.S. правка правил фаервола на уделнной машине - к звонку в ДЦ, если не уверены что все будет как надо - делайте так :
в скрине
примеряем список правил && ; ждем 15-20 секунд && отменяем все правила - разрешить все..
за 15 - 20 секунд вполне можно успеть пришибить скрин, если все заработало нормально

начальные правила редактирования iptables - подсмотрите здесь
http://man-linux.ru/notes/security/ddos-commands/, но если собираетесь админить сами при первой возможности- man iptables долго и вдумчиво
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.