|
|
(не показаны 11 промежуточных версий 1 участника) |
Строка 1: |
Строка 1: |
− | == Безопасность: Зондируем систему ==
| + | #REDIRECT [[LXF86:Безопасность]] |
− | | + | |
− | ''ЧАСТЬ 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 не может определить, открыт порт или закрыт.
| + | |