Сервер под атакой DDOS - Как узнать IP?


20

Мой сервер находится под атаками DDOS, и я хочу заблокировать IP-адрес, который делает это, какие журналы мне нужно искать, чтобы определить IP-адрес атакующего?


2
Как вы определили, что сервер находится под атакой? Мне кажется, что вам нужно было бы взглянуть на таблицу сеансов TCP определенного типа (netstat в Windows), чтобы сделать это определение и при этом увидеть IP-адреса хостов, подключающихся к вашему серверу, что поставит ваш вопрос спорный вопрос.
Joeqwerty

Ответы:


43
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

Посмотрите на верхние IP-адреса. Если кто-то выделяется на фоне других, это будут брандмауэры.

netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

При этом будут рассмотрены активные в данный момент соединения, чтобы узнать, есть ли какие-либо IP-адреса, подключающиеся к порту 80. Возможно, вам придется изменить cut -c 45-, так как IP-адрес может не начинаться со столбца 45. Если кто-то выполнял поток UDP для ваш веб-сервер, это также подхватит его.

В случае, если ни один из них не показывает какие-либо IP-адреса, которые чрезмерно превышают норму, вы должны будете предположить, что ботнет атакует вас и вам нужно искать определенные шаблоны в журналах, чтобы увидеть, что они делают. Распространенная атака на WordPress сайты:

GET /index.php? HTTP/1.0

Если вы просматриваете журналы доступа для вашего сайта, вы можете сделать что-то вроде:

cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more

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

cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more

позволит вам увидеть общие UserAgents. Возможно, что они используют один UserAgent в своей атаке.

Хитрость заключается в том, чтобы найти что-то общее с трафиком атаки, которого нет в вашем обычном трафике, а затем отфильтровать это через iptables, mod_rewrite или апстрим с вашим веб-хостом. Если вы получаете Slowloris, Apache 2.2.15 теперь имеет модуль reqtimeout, который позволяет вам настроить некоторые параметры для лучшей защиты от Slowloris.


Большое спасибо, я обязательно посмотрю это на этих выходных.
Интернет

отлично. очень полезно и просто здорово .... продолжай в том же духе и благослови тебя Бог. Allinonescript.com ( allinonescript.com ) Разработчики во всем мире Знания приобретают знания.
Вадивель С

Если вы правильно настроили свой access_log: tail -n 10000 / var / log / httpd / access_log | cut -f 1 -d '' | sort | uniq -c | sort -nr | more Это должно работать. Работал для меня,
мусорщик

7

К вашему сведению - вам следует попробовать поработать с вашим провайдером, чтобы выяснить, могут ли они заблокировать его перед вами.


4

Несколько хороших советов здесь. Я также добавил бы это:

netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''

Поместите это под псевдонимом (например, nn). Это даст вам «графическую» перспективу ips с более установленными соединениями.

Надеюсь это поможет.

Для тех, кто не мог заставить это работать, я исправил синтаксис, поэтому он работает для меня под Ubuntu:

netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'

3

Мои любимые файлы журналов для проверки на DOS-атаки: / var / log / secure (в Redhat / Centos / Fedora ....) и /var/log/auth.log (в Ubuntu, debian ...). Вы увидите неудачные попытки входа в систему с исходного IP-адреса злоумышленника, в большинстве случаев это словарные атаки.


1

для защиты моего сервера я использую простой скрипт Fail2Ban

сканирует файлы журналов, такие как / var / log / pwdfail или / var / log / apache / error_log, и блокирует IP, который делает слишком много ошибок пароля. Он обновляет правила брандмауэра, чтобы отклонить IP-адрес.

http://www.fail2ban.org/wiki/index.php/Main_Page


0

Какой дистрибутив?

Я думаю, что журнал находится в /var/log/apache2/access.log с Ubuntu ... Возможно, также Debian.

Запустите updatedb как sudo, затем найдите access.log из командной строки.

РЕДАКТИРОВАТЬ: Я считаю, что это произойдет только в том случае, если они бьют вас, запрашивая страницы или напрямую через порт 80. Если они бьют по другим портам, вы не увидите нужную вам информацию, вам нужно будет проверить и посмотреть, какой процесс работает на этом порту и посмотрите журналы подключений для этого процесса.


0

вы можете использовать tcpdump, чтобы увидеть, по какому адресу это $ tcpdump -vv port X, если вы подозреваете конкретный порт


0

Если вы находитесь под распределенной DOS, то, безусловно, гораздо больше, чем один IP-адрес для блокировки, и IP-адреса могут быть подделаны, вам лучше спросить своего провайдера, как сказал mfinni . Кроме того, это может быть больше, чем DOS против вашего сервера, но приманка, чтобы скрыть реальную атаку от обнаружения, поэтому убедитесь, что все ваши службы работают под управлением новейшего программного обеспечения. Вы также можете быть заинтересованы в mod_dosevasive для Apache.


2
IP-адреса очень трудно подделать для веб-атак. Поскольку для действующего веб-соединения требуется рукопожатие syn / ack, вам, возможно, повезет, если подделанный IP-адрес подтвердит правильность порядкового номера для вашей полезной нагрузки с поддельного атакующего сайта. Трафик UDP / ICMP не требует соединения и допускает подделку пакетов, но большинство хостов блокируют эти пакеты.
user6738237482

0

Сначала вы должны определить тип DOS. Некоторые атаки являются очень скрытными, но эффективными (slowloris), некоторые из них настолько тяжелы, что могут привести к остановке интернет-провайдера (поток ICMP из-за более высокой пропускной способности, чем у вашего провайдера).

После того, как вы определите тип DOS, позвоните своему провайдеру и спросите его, могут ли они отфильтровать трафик.

Я видел, что ICMP-потоки были настолько сильными, что нам пришлось просить вышестоящего интернет-провайдера отфильтровать IP-адрес назначения через сообщество BGP.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.