LXF132:DrBrown2

Материал из Linuxformat.

Перейти к: навигация, поиск

Частный детектив в Интернете

IP-сыщик Д-р Браун идет по следам киберпреступника.

Загляните в файлы журналов любого компьютера, открытого для доступа извне, и вы найдете множество неудачных попыток входа в систему, вызванных автоматизированными атаками скриптов. Если порт 22 открыт, большинство атак будут попытками входа через SSH. Ежедневно просматривая журналы безопасности web-сервера, я видел преимуществен но два типа неудачных входов в систему:

Mar 22 15:09:53 ns sshd[9446]: Failed password for invalid user ns
from 174.121 .23.114 port 50963 ssh2

Здесь атакующий ищет подлинные имена пользователей. В тот день журнал зафиксировал 13647 таких атак с 959 различными именами пользователей. Второй тип выглядел так:

Mar 22 08:40:45 ns sshd[23270]: Failed password for root from
222.122.163.82 port 56501 ssh2

Это неудачная попытка входа в систему от имени суперпользователя-root, и таких попыток за 10 минут было 258. Заметьте: оба сообщения содержат IP-адрес компьютера, с которого проводились атаки. Собственно говоря, 57 % из 99647 строк журнала содержали IP-адрес 222.122.163.82. Посмотрим, что мы сможем о нем узнать. Пока вы радостно предвкушаете, как мы раскроем имя и адрес плохого парня, немного охладим ваш пыл. Во-первых, найденный IP-адрес может быть адресом шлюза NAT, во-вторых, многие атаки проводятся со взломанных компьютеров.

За кулисами IP-адреса

Попробуем сделать по IP-адресу обратный DNS-запрос. Результат выполнения команды немного сокращен.

$ dig -x 222.122.63.82
;; QUESTION SECTION:
;82.163.122.222.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
163.122.222.in-addr.arpa. 600 IN SOA
ns1.ne.kr.admin.100dedi.com.

PTR-записи не найдено, но мы узнали, что сервер имен для этого блока адресов находится в Корее. Можно также заглянуть в базу данных RIPE на http://www.db.ripe.net с помощью whois:

$ whois 222.122.163.82
KRNIC is not an ISP but a National Internet Registry similar to APNIC.
The following is organization information that is using the IPv4 address.
IPv4 Address	 : 222.122.163.0-222 .122.163.255
Network Name: KORNET-INFRA000001
Connect ISP Name	 : KORNET
Registration Date	 : 20100126
Publishes	: N
[ Organization Information ]
Organization ID	 : ORG1600
Org Name	: Korea Telecom
Address	 : Jungja-dong, Bundang-gu, Sungnam-ci
Zip Code	 : 463-711

Теперь мы знаем, что провайдер атакующего – Korea Telecom. Программа geoiplookup сообщит его географическое положение:

$ geoiplookup 222.122.163.82
GeoIP Country Edition: KR, Korea, Republic of

За обновления базы данных GeoIP нужно платить; платить также можно за запросы через Интернет – см. http://www.maxmind.com. Полезные подробности иногда можно получить с помощью traceroute. Посмотрите на временные интервалы прохождения запроса, сравните их с временными интервалами прохождения запроса туда-обратно, предоставленными командой ping, и, может быть, вам удастся определить положение маршрутизатора рядом с атакующим компьютером.

Несколько полезных утилит для розысков в Интернете есть на сайте http://www.robtex.com. Можно узнать, какие сайты находятся на заданном IP-адресе, кто владеет блоком IP-адресов, добавлен ли сайт в черный список и многое другое. (Следует подчеркнуть, что нет причин подозревать владельцев сайтов, размещенных на этом компьютере. Они почти наверняка лишь невинные свидетели).

Наконец, можно попробовать просканировать компьютер командой nmap:

# nmap -O 222.122.163.82
Interesting ports on 222.122.163.82:
Not shown: 985 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
53/tcp open domain
80/tcp open http
.. . вывод опущен ...
OS details: Linux 2.6.9 - 2.6.15, Linux 2.6.9 - 2.6.15 (x86), Linux 2.6.9 - 2.6.20

Открытые порты говорят нам, что это типичный web-сервер с Linux. Итак… преступник, вероятно, живет в Сеуле, пользуется Linux, прихрамывает и курит «Кэмел». Элементарно, Ватсон!

Задраиваем люки

Возможный ущерб от атак на SSH можно снизить, запретив прямой вход в систему от имени root – просто убедитесь, что в sshd_config есть следующая строка:

PermitRootLogin no

Другая технология, особенно эффективная против атак прямым перебором – анализ сообщений, которые активно пишет в журнал сервер SSHD, и запрет доступа с IP-адресов, откуда производятся неудачные попытки входа в систему.

Это делает скрипт DenyHosts – он блокирует адреса, помещая их в /etc/hosts.deny. Fail2ban также запускается по анализу записей из журналов, но действует через обновление правил брандмауэра в Iptables.

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию