Брандмауэры и специальное программное обеспечение



Pdf просмотр
страница41/42
Дата15.02.2017
Размер6.16 Mb.
Просмотров2867
Скачиваний0
ТипАнализ
1   ...   34   35   36   37   38   39   40   41   42
Общие параметры nmap
При помощи раздела General Options диалогового окна xnmap вы можете влиять на поведение программы nmap. Если не учитывать пару исключений, программу nmap можно запустить, не выбирая ни одного из параметров группы General Options. Параметры этой группы позволяют вам модифицировать порядок работы nmap, используемый этой программой по умолчанию. Параметр Don't Resolve (не осуществлять разрешение) предотвращает разрешение имен DNS для сканируемых узлов — это несколько ускоряет процесс сканирования, однако совсем незначительно.
При использовании параметра Fast Scan (быстрое сканирование) для сканирования используется файл служб с именем ../lib/nmap/nmap-services. В этом файле перечисляются 1975 портов TCP и UDP (1022 портов TCP и 953 порта UDP). Благодаря этому сканирование выполняется значительно быстрее, чем при проверке всех портов из диапазона 64 Кбайт. Параметр Range of Ports (диапазон портов) аналогичен параметру Fast Scan, однако при его использовании вы можете самостоятельно определить, какие именно диапазоны портов вас интересуют.
Параметр Use Decoy(s) позволяет выполнять перезапись адреса-источника. Если вы используете этот параметр, у сканируемого вами узла возникает ощущение, что он подвергается атаке одновременно с нескольких узлов. В графе Use Decoy(s) указывается перечень разделенных запятыми сетевых узлов.
Сетевые узлы можно идентифицировать как при помощи IP-адреса, так и при помощи имени. В качестве одной из позиций в списке можно указать английское местоимение ME — вместо него программа nmap подставит ваш собственный узел. Если местоимение ME в списке отсутствует, программа nmap располагает ваш узел в случайной позиции списка.
ВНИМАНИЕ
Все сетевые узлы, указываемые вами в списке Use Decoy(s), должны реально существовать и функционировать в
сети, в противном случае в результате сканирования в подобном режиме вы станете причиной атаки SYN DoS в
отношении сканируемого вами узла. Иными словами, сканируемый вами узел окажется «затопленным»
многочисленными SYN-пакетами. Кроме того, использование несуществующих IP-адресов будет способствовать
обнаружению реального IP-адреса вашего узла.
К счастью, ядро OpenLinux можно скомпоновать так, чтобы пакеты с подделанным обратным адресом отбрасывались.
Параметры, перечисленные в следующей колонке, взаимосвязаны между собой, (за исключением последнего). Каждый из этих параметров указывает на тип ping-пакета, который используется программой
nmap. Пакеты ICMP являются стандартными «реальными» пакетами ping. При использовании ICMP через сеть отправляется эхо-запрос ICMP и программа ожидает, что в ответ на этот запрос целевой узел вернет эхо-ответ ICMP. Вы можете отключить использование ping-пакетов ICMP или использовать их совместно с ping-пакетами TCP. На самом деле протокол TCP официально не поддерживает стандартного механизма проверки связи, аналогичного механизму ICMP ping. Однако в качестве замены ICMP ping можно использовать одну из особенностей протокола TCP. Дело в том, что при получении TCP-запроса, адресованного закрытому порту, система отправляет обратно клиенту пакет RST в знак того, что интересующий этого клиента порт на самом деле закрыт. Таким образом, если программа nmap отправляет целевому узлу TCP-запрос на подключение и если на этот запрос не получено ответа, это может означать одно из двух: либо порт открыт, либо целевой узел не существует. Однако получение в ответ на запрос пакета RST — это то же самое, что получение от целевого узла эхо-ответа ICMP.
Последним параметром в этой колонке является графа Input File, в которой можно указать имя файла, в котором содержится список сканируемых узлов. Таким образом, вместо того чтобы перечислять узлы в графе Host(s) диалогового окна xnmap или в командной строке утилиты nmap, вы можете внести их в файл.
Эта возможность может оказаться полезной в случае, если вы регулярно выполняете сканирование вашей внутренней сети, однако при этом вас интересуют только несколько избранных систем.
В последней колонке раздела General Options диалогового окна xnmap содержатся другие параметры командной строки. Первым параметром является параметр Fragmentation (фрагментация). Этот параметр предписывает программе nmap намеренно выполнять фрагментацию заголовков пакетов в надежде, что в этом случае они смогут быть переданы целевому узлу. Большинство брандмауэров по умолчанию пропускают фрагменты, если только им не предписано обратное. Ядро Linux можно откомпилировать таким образом, чтобы не пропускать фрагменты (параметр CONFIG_IP_ALWAYS_DEFRAG), и этот параметр должен всегда использоваться в системе, которая выполняет функции брандмауэра. Имейте в виду, что данный параметр в ядрах серии 2.4.x больше не используется, так как дефрагментация является встроенным в ядро режимом работы по умолчанию.
Параметр Get Identd Info используется для получения дополнительной информации о системах, на которых запущен демон identd. Если на целевом узле работает этот демон, при помощи данного параметра вы можете получить имя пользователя, от лица которого работает некоторая сканируемая служба.
Пользователь может быть как любым непривилегированным пользователем, так и пользователем root.
Ранее я уже неоднократно указывал вам на необходимость отключения демона inetd в файле /etc/inetconf, сейчас вы получили еще один аргумент в пользу отключения этого демона.
Параметр Resolve All является параметром, обратным параметру Don't Resolve, однако программа nmap его больше не поддерживает, так как она работает в этом режиме по умолчанию.
Параметр OS Detection (определение операционной системы) предписывает программе nmap попытаться идентифицировать операционную систему, работающую на целевом узле. Для этой цели используется отпечаток стека TCP/IP (TCP/IP fingerprinting). Отпечаток стека — это набор тестовых запросов к целевому узлу и ответов на эти запросы. На основании этой информации программа nmap пытается идентифицировать ОС, работающую на целевом узле. Такой метод нельзя считать на 100 % надежным. Если вы попробуете использовать его для идентификации ОС локального узла и при этом воспользуетесь адресом 127.0.0.1/24, вы получите несколько ответов, на основании которых nmap не сможет идентифицировать ОС вашего узла. Возможно, для корректного определения ОС вам потребуется повторить эту процедуру два или три раза.
Параметр Send on Device (отослать через устройство) позволяет указать сетевую карту, через которую будут отсылаться в сеть сканирующие пакеты. Этот параметр предназначен для компьютеров, оснащенных несколькими NIC.
Некоторые любопытные параметры доступны также из командной строки nmap. Здесь я не буду рассматривать все поддерживаемые параметры, а остановлюсь лишь на самых интересных. Первым таким параметром является параметр -S . Этот параметр позволяет вам использовать в качестве адреса- источника вместо адреса вашего узла указанный в параметре IP-адрес. Параметр можно использовать как для обмана целевого узла, так и в случае, если nmap не может самостоятельно определить ваш собственный
IP-адрес и вы намерены указать его вручную. В отличие от рассмотренной ранее возможности Use Decoy(s) параметр -S создает у целевого узла ощущение, что сканирование осуществляется только с одного узла, однако адрес этого узла вы задаете самостоятельно, и он может быть ложным.
Еще одним весьма интересным параметром является параметр -g <номер_порта>. Этот параметр позволяет подделать номер порта, из которого исходят сканирующие пакеты, подобно тому как параметр -
S подделывает IP-адрес сканирующего узла. Подделав номер порта-источника, вы можете преодолеть защиту некоторых из брандмауэров.
Последним из рассматриваемых здесь параметров является параметр -Т, который позволяет настроить временной режим сканирования. При помощи этого параметра вы можете установить уровень сканирования от 0 до 5. Уровни сканирования обозначаются следующими именами: Paranoid

(параноидальный), Sneaky (трусливый), Polite (обходительный), Normal (нормальный), Aggressive
(аргессивный) и Insane (бешеный). Сканирование в параноидальном режиме выполняется чрезвычайно медленно и позволяет избежать обнаружения такими программами, как Courtney. В режиме Insane сканирование выполняется параллельно и настолько быстро, насколько это возможно. При этом пропускная способность самого медленного канала связи между источником и целью полностью исчерпывается. Очевидно, что сканирование в таком режиме привлечет к себе внимание администраторов сканируемой системы.
Вывод программы nmap
Непосредственно над окном вывода располагается командная строка, которая будет выполнена в момент щелчка на кнопке Scan в диалоговом окне xnmap. Благодаря этому пользователь графической оболочки xnmap получает возможность освоить работу с nmap из командной строки. Однако полную информацию обо всех параметрах командной строки, последних изменениях и способах сканирования можно получить только из электронной документации man pages. Благодаря использованию nmap вы получаете представление о том, как осуществляется сканирование ваших узлов, и можете проверить, позволяет ли courtney или другая программа обнаружения попыток сканирования зафиксировать сканирование или ее можно обмануть.
В листинге 25.4 показан вывод программы nmap при выполнении сканирования всех портов локального узла с использованием метода SYN Stealth. Такое сканирование в отношении локального узла выполняется существенно быстрее, чем сканирование локальной сети Ethernet.
Листинг 25.4. Программа nmap сканирует узел localhost
Starting nmap V. 2.3ВЕТА6 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Interesting ports on localhost (127.0.0.1):
Port State
Protocol
Service
21 open
tcp ftp
22 open tcp ssh
25 open tcp smtp
80 open tcp http
110 open tcp pop-3 111 open tcp sunrpc
901 open tcp unknown
3306 open tcp mysql
6000 open tcp Xll
TCP Sequence Prediction: Class=random positive increments
Difficulty=599840 (Good luck!)
Remote operating system guess: Linux 2.1.122 - 2.2.12
Nmap run completed -- 1 IP address (1 host up) scanned in 1 second
Время, которое требуется программе nmap для того, чтобы отобразить результаты сканирования на экране, определяется пропускной способностью каналов, количеством сканируемых узлов и тем, используете ли вы режим Fast Scan или нет. Во многих случаях крупные сети эффективнее сканировать из командной строки и запускать процесс сканирования в фоновом режиме.
Вывод программы nmap, показанный в листинге 25.4, вполне соответствует набору служб, предлагаемых целевой системой. Обратите внимание на графу TCP Sequence Prediction (предсказание последовательности TCP). В этой графе указывается, насколько сложно будет имитировать подключение
TCP. Для Linux значение этого параметра, как правило, лежит в диапазоне от 500 000 до 2 500 000. Чем больше значение этого параметра, тем выше расхождение. У операционной системы Sun Solaris значение этого параметра обычно еще выше, чем у Linux. Меньшие значения соответствуют меньшему расхождению. В листинге 25.5 показаны примеры значений этого параметра для одного и того же сетевого узла Linux.
Листинг 25.5. Значение параметра TCP Prediction Sequence для узла localhost с 30-секундным интервалом
TCP Sequence Prediction: Class=random positive increments
Difficulty=2177514 (Good luck!)
Remote operating system guess: Linux 2.1.122 - 2.2.12
TCP Sequence Prediction: Class=random positive increments
Difficulty=4453284 (Good luck!)
Remote operating system guess: Linux 2.1.122 - 2.2.12
TCP Sequence Prediction: Class=random positive increments
Difficulty=871237 (Good luck!)
Remote operating system guess: Linux 2.1,122 - 2.2.12
По сравнению с графической оболочкой xnmap командная строка nmap наделяет вас более широкими возможностями. Работая с командной строкой nmap, вы можете указать большее количество параметров в самых разнообразных комбинациях. Если в командной строке вы указываете несовместимую комбинацию
параметров, программа nmap сообщит вам об этом, однако при этом все же попытается выполнить сканирование. В листинге 25.6 показан пример запуска nmap из командной строки.
Листинг 25.6. Программа nmap запускается из командной строки с использованием комбинации параметров, недоступной из графической оболочки xnmap
[root@chiriqui /root]# nmap -sFUR local host
Starting nmap V. 2.3BETA6 by Fyodor (fyodorPdhp.com, www.insecure.org/nmap/)
Interesting ports on localhost (127.0.0.1):
Port
State
Protocol Service (RPC)
21 open tcp ftp
22 open tcp ssh
25 open tcp smtp
67 open udp bootps
80 open tcp http
110 open tcp pop-3 111 open udp sunrpc
111 open tcp sunrpc
177 open udp xdmcp
514 open udp syslog
901 open tcp unknown
3306 open tcp mysql
6000 open tcp
X11
Nmap run completed -- 1 IP address (1 host up) scanned in 3 seconds
В листинге 25.6 присутствует информация о нескольких портах, о которых не сообщалось ранее, при использовании xnmap. Речь идет о портах UDP — при использовании xnmap вы должны сканировать UDP- порты отдельно. В листинге показан перечень всех портов, как TCP, так и UDP. Обратите внимание, что порт с номером 901 является портом swat (Samba Web Administration Tool). Точно такое же сканирование
(все 64 Кбайт портов в режиме TCP/UDP/RCP) в отношении другого узла, подключенного к тому же сегменту Ethernet, потребовало бы
1586 секунд, или более 26 минут.
-
Сравнение nmap и netstat
У многих может возникнуть вопрос: зачем сканировать собственные узлы с использованием nmap, когда ту же самую информацию можно получить при помощи netstat? Команда netstat -an показывает вам все открытые порты локального узла. Отличие состоит в том, что, используя nmap (особенно если эта программа запускается с другого сетевого узла), вы видите то, что видят злоумышленники и взломщики, пытающиеся нащупать уязвимые места вашей системы. Эти сведения могут существенно отличаться от того, что отображает на экране утилита netstat.
Воспользовавшись nmap, вы сможете воочию убедиться в том, насколько эффективным является набор правил вашего брандмауэра, корректно ли выполняется блокирование эхо-запросов ICMP, какие порты действительно заблокированы и о каких портах вы позабыли. Вывод nmap выглядит менее громоздко, чем вывод netstat, его легче читать.
Для более тщательной проверки вашей системы защиты вы можете запускать nmap с локального узла localhost, из внутренней сети и из внешней сети, а затем сравнивать результаты. Сканирование nmap необходимо выполнять регулярно, частота сканирований определяется вашей конкретной ситуацией. Чем выше уровень уязвимости вашей сети и чем больше входящий трафик, тем более часто следует сканировать вашу сеть. Это можно выполнять ежемесячно, еженедельно или даже чаще. Однако выполняя сканирование, следует быть осторожным. Лучше выполнять сканирование медленно, в нерабочее время, возможно на протяжении нескольких вечеров — такой подход более безопасен, чем скоростное сканирование в рабочее время. При скоростном сканировании nmap может создать существенную нагрузку на каналы связи. Программа nmap автоматически замедляет процесс сканирования в случае, если удаленный сервер замедляет отправку ответов на адресуемые ему запросы. Это нормально и ожидаемо.
Операционная система Linux на протяжении четырех минут отправляет в сеть не более 80 ответов ICMP
Port Unreachable (порт недоступен). Система Sun Solaris отправляет в сеть еще меньшее количество ответов.
Однако узлы Microsoft вообще никогда не замедляют свою работу, то есть отправляют в сеть ответы ICMP
Port Unreachable настолько быстро, насколько это возможно, а это означает, что, запустив nmap в отношении узла Microsoft, вы можете нарушить работу сервера, сократить доступную пропускную способность каналов (это будет выглядеть как избыток коллизий Ethernet) или просто создать такую нагрузку на сеть, что пользователи сразу же почувствуют неудобства.

Заключение
В данной главе были рассмотрены две программы: одна из них осуществляет обнаружение попыток сканирования системы, а вторая осуществляет собственно сканирование. Вы узнали о том, какие методы используются для обнаружения сканирования и как ведет себя сканирующее программное обеспечение, чтобы получить сведения о сканируемой системе и при этом обмануть программы, следящие за попытками сканирования.
В начале главы я рассказал вам о courtney — программе, осуществляющей обнаружение попыток сканирования. Мы рассмотрели переменные, которые влияют на работу этой программы, и изучили, каким образом значения этих переменных могут быть модифицированы. Я рассказал вам о недостатках courtney и о том, как можно обмануть эту программу.
После этого я рассказал вам о программе nmap — наиболее популярном инструменте сканирования портов. Вы увидели, что сканирование в режиме по умолчанию может быть обнаружено при помощи courtney. Также было рассказано о параметрах работы этой программы, а также о том, как настроить nmap таким образом, чтобы попытка сканирования не была обнаружена при помощи courtney.


Где найти сведения о
безопасности

26
В данной главе рассматриваются следующие вопросы:
- где найти сведения, связанные с безопасностью;
- официальные узлы, посвященные безопасности;
- узлы сомнительной направленности.
Что касается информации о безопасности и защите данных, то Интернет можно назвать палкой о двух концах — извлекаемые из него сведения можно использовать как во благо, так и во вред. В данной книге я постарался предоставить читателям базовую информацию о защите систем, ориентированную на начинающих администраторов и администраторов среднего уровня подготовки. Более подробные сведения, связанные с безопасностью, можно почерпнуть из специальных книг, которые, как правило, посвящаются рассмотрению какой-то конкретной более узкой области. В подобных книгах, как правило, рассматриваются теоретические основы, функционирование и практическое использование тех или иных аспектов безопасности, причем уровень детализации материала может оказаться чрезмерным очень для многих, за исключением, может быть, лишь наиболее опытных экспертов в области компьютерной безопасности. И даже самые опытные эксперты подчас находят этот материал утомительным и обескураживающим.
Хочу особо подчеркнуть, что безопасность вашей системы не ограничивается сведениями, содержащимися в данной книге. В Интернете постоянно появляются сообщения о новых способах взлома систем и нарушения систем защиты. Вы должны тщательно следить за новостями в этой области.
Например, пока я писал эту книгу, я узнал о новом методе ping-сканирования узлов, игнорирующих по-, ступающие к ним ping-запросы. Представьте, что некоторый сканируемый узел блокирует эхо-запросы
ICMP. Ранее я уже рассказывал вам о том, что для проверки существования этого узла в сети можно использовать сообщения SYN-ACK. Если в ответ на такое сообщение вы получаете пакет RST, значит, узел функционирует, однако соответствующий порт закрыт. Если же в ответ на сообщение SYN-ACK вы ничего не получаете, значит, либо узла с таким адресом не существует, либо порт, в который вы направляете сообщение, находится в открытом состоянии. Но что, если узел отбрасывает абсолютно все посылаемые ему пакеты, делая вид, будто он не существует в сети? Иными словами, представьте, что узел не предлагает внешним пользователям никаких служб, а также отбрасывает все эхо-запросы ICMP и пакеты TCP, которые не являются ответами на отправляемые этим узлом запросы на соединение. У внешних пользователей, пытающихся определить присутствие такого узла, может возникнуть впечатление, что узел отсутствует.
Однако какой-то хитроумный компьютерный корифей придумал посылать такому узлу не эхо-запросы, а эхо-ответы ICMP. Конечно, сканируемый узел может блокировать (то есть отбрасывать) эхо-запросы ICMP, однако эхо-ответы, скорее всего, блокироваться не будут, так как в этом случае сама сканируемая система не сможет воспользоваться механизмом ping для тестирования связи с удаленными узлами. На самом деле возможность обнаружить существование некоторой удаленной системы — это не такая уж большая проблема. Для этой цели вы можете воспользоваться утилитой traceroute, которая основана на использовании UDP. Однако имейте в виду, что системы Windows для работы traceroute вместо UDP используют ICMP, поэтому если на отслеживаемом вами маршруте располагается система, блокирующая
ICMP, вы не сможете воспользоваться Windows traceroute для слежения за этим маршрутом. Лично меня не очень беспокоит тот факт, что кто-то знает о существовании моей системы. Значение имеет лишь уязвимость служб, которые предлагаются системой для пользователей Интернета. Вряд ли вам удастся использовать ICMP для взлома системы.
Где искать информацию?
В наши дни информацию, связанную с защитой систем, можно получать из множества разнообразных источников. Выбор наиболее полезных из них подчас является непростой задачей. В данной
главе я упоминаю несколько списков рассылки, которые могут оказаться чрезвычайно полезными. Также я рассказываю о нескольких web-узлах, некоторые из которых поддерживают свои собственные списки рассылки.
Возможно, будет лучше, если вы будете постоянно получать информацию одновременно из нескольких источников. Например, я рекомендую вам подписаться на несколько списков рассылки и периодически обращаться к нескольким web-узлам. Все зависит от того, с какой частотой вы намерены получать информацию, в каком объеме и насколько сильно вас беспокоит тот факт, что некоторые сведения будут дублироваться в разных местах. Практика показывает, что ни один из посвященных безопасности списков рассылки нельзя считать исчерпывающим, а двукратное оповещение о некотором уязвимом месте системы — это лучше, чем полное отсутствие сведений об этом уязвимом месте.
Списки рассылки
В первую очередь я рекомендую вам обратить внимание на список рассылки, имеющий отношение к используемому вами комплекту Linux. Компания Caldera Systems поддерживает связанный с комплектом
OpenLinux список рассылки под названием Caldera Security Advisory. Чтобы подписаться, необходимо обратиться по адресу www.caldera.com. Когда компании Caldera становится известно о некотором аспекте безопасности, имеющем отношение к официально распространяемому этой компанией программному обеспечению, она отправляет почтовое сообщение всем участником списка. Помимо описания проблемы сообщение содержит ссылку на исправленные пакеты RPM (если такие уже доступны) или совет относительно того, как обойти или решить проблему. Это не относится к программам, поставляемым независимыми разработчиками, например таким, которые содержатся в подкаталогах contrib. Вместо того чтобы подписываться на них, а также в случае, если вы хотите просмотреть предыдущие оповещения, вы можете обратиться к web-узлу Caldera Systems по адресу http://www.calderasystems.com/news/security/index.html.
Еще одним неплохим списком рассылки является список CERT Advisory. Организация CERT
(Computer Emergency Response Team) занимается вопросами обеспечения компьютерной безопасности и отсылает подписчикам сообщения об обнаруженных уязвимых местах в системах компьютерной защиты.
Оповещения отсылаются каждый раз, когда CERT обнаруживает уязвимое приложение, благодаря которому безопасность системы может понизиться. Оповещение CERT, как правило, детально описывает обнаруженную уязвимость, рассказывает о временных мерах, которые следует принять для обхода проблемы, а также содержит рекомендации по поводу надежного постоянного решения проблемы. Изучив сообщение CERT, вы можете понять, является ли ваша система уязвимой, насколько велик риск взлома вашей системы. Далеко не все уязвимые места повышают риск эксплуатации сетевого узла. Конечно, рекомендации CERT полны технического жаргона, однако они достаточно точно описывают проблему и позволяют найти решение. Если вы сомневаетесь, будет лучше последовать рекомендациям. Более подробную информацию можно получить по адресу http://www.cert.org/.
Существует также множество более общих списков рассылки и групп новостей, посвященных вопросам безопасности. Один из таких списков называется SANS NewsBites. Второе название списка —
Weekly Security News Overview — еженедельный обзор новостей компьютерной безопасности.
Еженедельно рассылаемое сообщение содержит смесь заметок из разных концов земного шара, посвященных компьютерной безопасности. Чтобы подписаться, достаточно отправить электронное письмо по адресу autosans@sans.org, в графе Subject (Тема) которого следует указать Subscribe NewsBites.
.


Поделитесь с Вашими друзьями:
1   ...   34   35   36   37   38   39   40   41   42


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал