lockie 21.12.2009 22:01
Security — Сканер портов nmap
Привет.Предлагаю сегодня поговорить о такой известной в узких и не очень кругах утилите, как nmap.
Название сабжа расшифровывается как Network MAPper - да-да, утилита эта является сканером открытых на машине портов и используется, разумеется, только в целях анализа безопасности. Не долго думая, натравим зверушку на localhost :)
Что-то больно хорошо оказался у меня настроен фаервол(iptables) на рабочей машинке, поэтому я натравил nmap на свой интернет-шлюз. Результат уже поинтереснее: мы видим табличку со столбцами PORT, STATE и SERVICE, в которой перечислены порты, с которых nmap получил хоть какой-то ответ.
Первый столбец (PORT) содержит числовой номер порта; с этим всё понятно.
Второй столбец (STATE) - состояние. Остановимся на нём поподробнее.
Как известно, когда какой-либо хост устанавливает соединение по TCP/IP с другим хостом, он передаёт операционной системе обязательный параметр - номер порта, к которому подключаться на удалённом хосте. Так вот, результатом соединения могут быть три вещи:
Соединение успешно открывается, и хосты начинают радостно общаться. Порты, с которыми можно открыть соединение, nmap помечает как open.
От удалённого хоста приходит ответ: "нет, извините, на этом порте может, что-то висит и его слушает, но я Вас туда не пущу" - скорее всего, так настроен фаервол или соответствующее серверное приложение (samba, например). Такие порты в nmap называются filtered.
От удалённого хоста вообще ничего не приходит, и через некоторое время операционка сообщает пытавшемуся соединиться хосту о тайм-ауте. Скорее всего, этот порт на удалённом хосте не слушает никакое приложение. Такие порты в nmap называются closed и обычно не выводятся.
В третий столбец (SERVICE) nmap записывает название службы, назначенной IANA данному порту; сам список можно посмотреть в /etc/services.
Кроме того, nmap умеет сканить не просто отдельные хосты, а целые дипазоны:
Несколько полезных ключиков-v - verbose("говорливый"), выводит дополнительную информацию.
-sV - version detection; пытается определить версию софта, слушающего порт, на основе фейковых запросов, например, на 80-ый порт (HTTP) он какое-то время назад посылал запрос навроде "GET trinity.html", чтобы вместе с 404-матюком сервера получить его версию :)
-O - OS detection; пытается на основе косвенных признаков определить операционную систему на удалённом хосте.
--traceroute-p portnums - задание конкретных портов/порта - скан всех 63535 портов может занять длительное время, особенно на медленных интернетах.
-sS/sT/sA/sW/sM - задание типа сканирования: TCP SYN, Connect(), ACK, Window, Maimon; подробнее здесь
GUI
Для консолефобов, существует несколько весьма приятных GUI-обёрток над nmap:
nmapfe
Поставляется в комплекте с ъ-консольной версией. Так сказать, версия для мышеклацанья :)
Zenmap
Помимо всех функций nmap, умеет изображать красивую карту сетевой топологии, пикрелейтед.
Фильмы
Да-да, nmap - одна из немногих GNU'шных утилит, снимавшихся в кино, да не в одном.
В списке есть не только горячо любимая всеми "Матрица", но даже русский фильм "Хоттабыч" и, гхм, какое-то порно :)
Ссылки
Официальный сайт
Ман к nmap на русском
Статья в википедии
Дисклеймер
nmap стоит использовать тоолько для анализа собственных сервисов хотя бы потому, что при анализе сетевая карта переходит в т.н. промискуитетный (англ. promiscious, "неразборчивый") режим, а это может быть вычислено на стороне провайдера. Где-то читал, что есть циски, которые за такое автоматически банят, поправьте, если не прав.
мой первый пост, не бейте, если что :)
Всем добра и осознания.
Username 21.12.2009 22:07 #
+ 4 -
ну что ж так неподробно и мало примеров :(
Щорт... ну, примеров тут можно придумать не очень много, два типа скана и несколько ключей.
ну вот честно, я немного разочарован. Инструмент весьма тонкий и мощный, а ничего такого нового, чего бы я не знал (это я-то, nmap-noob) нет. Можт попробуешь дополнить?
На самом деле, что интересно можно на сайтике прочитать. Всё понятно и доступно.
поставлю плюс за старание. но неплохо было бы написать зачем эта зверюшка
Сам, к сожалению, никогда не использовал. Может, кто-нибудь напишет? ;)
nmap стоит использовать тоолько для анализа собственных сервисов хотя бы потому, что при анализе сетевая карта переходит в т.н. промискуитетный (англ. promiscious, "неразборчивый") режим
Промискуитет - беспорядочные половые связи :)
Хорошо бы расширить пост, например - примерами с выводами.
То ли лыжи не едут, то ли что...
randomwind@randomwind-desktop:~$ sudo apt-get install nmapfe
password for randomwind:
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Заметьте, вместо nmapfe выбирается zenmap
Будут установлены следующие дополнительные пакеты:
nmap zenmap
Не-не, nmapfe должен быть в том же пакете, что и консольный nmap. По крайней мере, в арче так:
> pacman -Qo `which nmapfe`
/usr/bin/nmapfe принадлежит nmap 5.00-1
> pacman -Qo `which nmapfe`
/usr/bin/nmapfe принадлежит nmap 5.00-1
Понравилась статья, коротко и по делу :)
Добавлю ещё, что "оффтопик" ругается при сканировании локалхоста.
Определение ОС не всегда работает правильно - иногда с точностью до наоборот :) Машину с FreeBSD nmap определял как винду, а винду - как FreeBSD (впрочем, в хелпе указано, что разработчики не гарантируют 100%-ю точность)
Добавлю ещё, что "оффтопик" ругается при сканировании локалхоста.
Определение ОС не всегда работает правильно - иногда с точностью до наоборот :) Машину с FreeBSD nmap определял как винду, а винду - как FreeBSD (впрочем, в хелпе указано, что разработчики не гарантируют 100%-ю точность)
> Добавлю ещё, что "оффтопик" ругается при сканировании локалхоста.
Хм. Я такое видал только на винде, там сабж матерится, мол, тип интерфейса у винды не подходит для сканирования.
А определение ОС у нмэпа вообще чисто эмпирическое, он даже мой роутер d-link unix-ом величает, хотя там банальный embeeded linux :)
Хм. Я такое видал только на винде, там сабж матерится, мол, тип интерфейса у винды не подходит для сканирования.
А определение ОС у нмэпа вообще чисто эмпирическое, он даже мой роутер d-link unix-ом величает, хотя там банальный embeeded linux :)
Меня всегда удивляло, что электростанция в Матрице использовала SSHv1, когда SSHv2 появился в '96. Да и кто вообще оставлет ssh на 22 порт да тем более открытым!?
ну это уже другой вопрос,
но вот когда в новостях сервера от ддоса лечат пингом, это действительно попахивает маразмом :))))
но вот когда в новостях сервера от ддоса лечат пингом, это действительно попахивает маразмом :))))
оставлет ssh на 22 порт да тем более открытым!?
С этого момента по подробнее.
В iptables закрыть доступ к 22 порту всем, разрешить только машинам с известными, "своими" ip-адресами.
Или тупо в /etc/ssh/sshd_config
чтобы ssh "слушал" только опр. интерфейс, в данном случае - тот, у которого адрес 192.168.0.1
Или тупо в /etc/ssh/sshd_config
ListenAddress 192.168.0.1
чтобы ssh "слушал" только опр. интерфейс, в данном случае - тот, у которого адрес 192.168.0.1
Вот что стоило сделать админам электростанции :)
Мда, статья о том, что nmap - он есть (сканер с несколькими ключиками).
Да, а скриншоты точно ваши? На первом же, вкупе с фразой "Что-то больно хорошо оказался у меня настроен фаервол(iptables)" завис надолго - явно виндоуз-машина с незакрытыми критическими 139 и 445 портами.
Еще оффтоп: закрытый порт бит-торрента особенно порадовал, случайно автор скрина не из тех людей, которые только качают, но от которых не дождешься обратной раздачи? Неотконфигурированный фаерволл налицо.
Такие статьи только увеличивают энтропию и так напряженной вселенной. )
Да, а скриншоты точно ваши? На первом же, вкупе с фразой "Что-то больно хорошо оказался у меня настроен фаервол(iptables)" завис надолго - явно виндоуз-машина с незакрытыми критическими 139 и 445 портами.
Еще оффтоп: закрытый порт бит-торрента особенно порадовал, случайно автор скрина не из тех людей, которые только качают, но от которых не дождешься обратной раздачи? Неотконфигурированный фаерволл налицо.
Такие статьи только увеличивают энтропию и так напряженной вселенной. )
виндоуз-машина с незакрытыми критическими 139 и 445 портами.
samba тоже эти порты слушает.
Хотя фраза про фаервол тоже смутила, так как совсем не ясно для чего блочить локалхост.
> явно виндоуз-машина
Не угадали.
> закрытый порт бит-торрента
Ясен пень, он для внутренней сети закрыт. Вот такой вот я ССЗБ, себе и своим соседям торренты не раздаю :)
> Такие статьи только увеличивают энтропию
Ваша неправда. Термин "энтропия" вы в этом контексте, видимо, употребили в смысле меры неупорядоченности материи, где ж выше неупорядоченность?
Насчёт статьи - пожалуйста, пишите, более того, уверен, у Вас получится лучше, чем у меня. У меня с детства так: мыслей много, а на бумаге/на экране выражаются с трудом.
Не угадали.
> закрытый порт бит-торрента
Ясен пень, он для внутренней сети закрыт. Вот такой вот я ССЗБ, себе и своим соседям торренты не раздаю :)
> Такие статьи только увеличивают энтропию
Ваша неправда. Термин "энтропия" вы в этом контексте, видимо, употребили в смысле меры неупорядоченности материи, где ж выше неупорядоченность?
Насчёт статьи - пожалуйста, пишите, более того, уверен, у Вас получится лучше, чем у меня. У меня с детства так: мыслей много, а на бумаге/на экране выражаются с трудом.
И да, у меня попаболь -_-
Ну, а почему нет? Только вот отойду от дней рождений и праздников. nmap всегда был мне интересен.