Журнал LinuxFormat - перейти на главную

LXF86:Учебники:Безопасность

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

Безопасность: Зондируем систему

ЧАСТЬ 3: Урок сканирования на уязвимости. Крис Браун покажет, как тестировать сеть на окна и черные ходы со всей серьезностью.

На сей раз мы рассмотрим утилиты, помогающие в поиске уязвимостей вашей системы. Очевидно, что искать уязвимости можно как с честными, так и с дурными намерениями, посему повторю то, что сказал на первом нашем уроке: во-первых, я абсолютно не поощряю использование этих утилит для получения неавторизованного доступа. Во-вторых, перед запуском этих утилит на работе вы должны получить разрешение у вашего начальника [то же самое относится и к домашним сетям, принадлежащим интернет-провайдерам, – прим. ред.]. Утилиты для оценки уязвимостей делятся на две категории: одни действуют снаружи, а другие внутри системы. Наша первая утилита, Nmap, явно относится к первым. Nmap определяет, какие порты открыты (то есть ждут соединений), и может сканировать сразу несколько числа машин: посылает серию сетевых пакетов на указанные диапазоны портов и IP-адресов и смотрит, что происходит. Вот простой пример запуска Nmap. Моя домашняя сеть довольно мала – на маршрутизаторе осталось всего два целых порта, остальные погибли во время грозы – но этот вывод даст вам пищу для ума:

$ nmap -sT -p 20-100 192.168.0.1-50
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2006-08-01 15:18 BST
Interesting ports on 192.168.0.1:
(The 78 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE 23/tcp filtered telnet
53/tcp open domain
80/tcp open http
Interesting ports on 192.168.0.3:
(The 78 ports scanned but not shown beloware in state: closed)
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
All 81 scanned ports on 192.168.0.4 are: closed
Nmap finished: 50 IP addresses (3 hosts up) scanned in 12.269 seconds

Рис. 1 (ниже) показывает некоторые опции Nmap. Интереснее всего типы сканирования. Чтобы вполне оценить их, необходимо глубокое понимание работы TCP/IP; в частности, TCP-флагов и стандартной последовательности TCP-пакетов при создании TCP-соединения. Тип сканирования -sT, показанный на схеме, использует т.н. «трехстороннее рукопожатие» (three-way handshake) для установки соединения, как обычный клиент. Такое сканирование очень «заметно»: скорее всего, информация о нем попадет в файл журнала сканируемой системы. Зато его можно выполнить не от имени суперпользователя. Есть и другие, «менее заметные» типы сканирования, например, тот, что в Nmap называется стелс-FIN-сканированием [stealth FIN scan], когда посылается TCP-пакет с одним лишь установленным флагом FIN (это один из флагов заголовка пакета). При нормальных условиях такой пакет посылается только при закрытии соединения – и никогда не посылается до установления соединения с портом. Ответ операционной системы на такие попытки поможет определить, какие порты действительно открыты и ждут соединения. Спецификации TCP/IP не всегда четко определяют поведение ОС в нестандартных ситуациях, а если и определяют, реализации не всегда соответствуют спецификациям. По ответу на нестандартный TCP-пакет можно распознать ОС. Типы сканирования посредством заведомо неверных TCP-пакетов требуют открытия rawсокета для явного формирования заголовка, и сканирование при этом возможно только от имени суперпользователя.

---

Наш эксперт

Д-р Крис Браун независимый инструктор по Linux, имеет степень доктора наук по физике элементарных частиц, сертифицированный сп ециалист Novell и Red Hat. Недавно написал книгу о SUSE для издательства O’Reilly.

Как Nmap говорит с вами

Nmap обычно различает одно из трех состояний порта: Open – открыт и ждет соединений; Closed – доступен, но не ждет соединений; Filtered – недоступен (возможно, запросы Nmap фильтруются брандмауэром), и Nmap не может определить, открыт порт или закрыт.

Персональные инструменты
купить
подписаться
Яндекс.Метрика