This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Your browser sent a request t h a t t h i s s e r v e r could not understand Request header f i e l d i s m i s s i n g colon separator.
Так же м о ж н о поступить с л ю б ы м открытым портом, н о в ы н е все¬ гда получите в ответ нечто вразумительное. П о сути и м е н н о это и делают сканеры портов: они пытаются установить соединение и ожидают ответ. Некоторые сканеры портов пытаются также идентифицировать опе рационную систему н а другом конце, выявляя так называемые идентифи кационные метки TCP. Хотя T C P / I P является стандартом сетевых комму¬ н и к а ц и й , каждый производитель реализует его немного иначе, чем другие. Эти различия, обычно н е м е ш а ю щ и е взаимодействию, проявляются в от ветах на любое воздействие, такое как эхо-тест или попытка установления TCP-соединения. Например, цифровая подпись ответа н а эхо-тест от сис132
Глава 4
Сканеры портов
темы Windows выглядит иначе, чем в ответе системы Linux. Имеются даже различия между версиями операционной системы. На листинге 4.2 приве ден пример идентификационных меток T C P для Windows M E , 2000 и XP. Листинг 4.2. И д е н т и ф и к а ц и о н н ы е метки T C P для Windows # Windows Millennium E d i t i o n v4.90.300 # Windows 2000 P r o f e s s i o n a l (x86) # Windows Me or Windows 2000 RC1 through f i n a l r e l e a s e # M i c r o s o f t Windows 2000 Advanced Server # M i c r o s o f t XP p r o f e s s i o n a l v e r s i o n 2002 on PC I n t e l processor # Windows XP B u i l d 2600 # Windows 2000 with SP2 and long f a t pipe (RFC 1323). # Windows 2K 5.00.2195 S e r v i c e Pack 2 and l a t e s t h o t f i x e s # XP P r o f e s s i o n a l 5.1 ( b u i l d 2600).. a l l patches up t o June 20, 2004 # F i n g e p r i n t Windows XP Pro with a l l c u r r e n t updates t o May 2002 Fingepr i n t Windows M i l l e n i u m E d i t i o n (Me), Win 2000, or WinXP Tseq(Class=RI%gcd=<6%SI=<23726&>49C%IPID=I%TS=0) T1(DF=Y%W=5B4|14F0|16D0|2EE0|402E|B5C9|B580|C000|D304|FC00|FD20|FD 68|FFFF%ACK=S++%Flags=AS%Ops=NNT|MNWNNT) T2(Resp=Y|N%DF=N%W=0%ACK=S%Flags=AR%Ops=) T3(Resp=Y%DF=Y%W=5B4|14F0|16D0|2EE0|B5C9|B580|C000|402E|D304|FC00| FD20|FD68|FFFF%ACK=S++%Flags=AS%Ops=MNWNNT) T4(DF=N%W=0%ACK=0%Flag s=R%Ops=) T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=) T6(DF=N%W=0%ACK=0%Flag s=R%Ops=) T7(DF=N%W=0%ACK=S++%Flags=AR%Ops=) PU(DF=N%TOS=0%IPLEN=38%RIPTL=148°%RID=E%RIPCK=E|F%UCK=E| F%ULEN=134% DAT=E)
Тарабарщина в н и ж н е й части листинга является уникальными уста н о в к а м и , используемыми Windows при установлении T C P - с о е д и н е н и й . Сравнивая полученный от м а ш и н ы ответ с базой известных идентифика¬ ц и о н н ы х меток TCP, м о ж н о сделать разумное предположение об опера¬ ц и о н н о й системе на другом конце. Д а н н ы й метод не является совершенным. Иногда программа скане ра портов ошибается, поскольку некоторые производители операцион¬ ных систем при реализации стека T C P заимствуют части других систем (систем U N I X в особенности). Это заставляет сканер портов считать, что перед н и м ОС-первоисточник. Существуют также необычные операци¬ о н н ы е системы, например, в коммутаторах, принтерах и сетевых устрой¬ ствах, которые могут отсутствовать в базе данных сканера. 133
Курс
Защитные средства с открытыми исходными текстами
Если вашу сеть сканируют с не очень похвальными н а м е р е н и я м и , это предоставляет злоумышленникам ценную и н ф о р м а ц и ю . З н а н и е опе¬ р а ц и о н н о й системы и ее версии может послужить хорошей отправной точкой для определения того, какие зацепки и средства п р о н и к н о в е н и я испробовать. Это очень веская причина для регулярного сканирования своей сети, чтобы определить, к а к и е порты в системе оставлены откры¬ тыми. Затем следует их просмотреть, закрыть неиспользуемые порты и за щитить те, что д о л ж н ы оставаться открытыми.
С о о б р а ж е н и я по п о в о д у с к а н и р о в а н и я п о р т о в П р и планировании сканирования портов любой сети помните, что эта деятельность создает большую нагрузку на сеть. Сканирование за к о роткое время десятков тысяч портов порождает в сети и н т е н с и в н ы й тра фик. Если вы используете для сканирования устаревшей сети на 10 М б и т / с е к м о щ н ы й компьютер, это может существенно повлиять на сете вую производительность. П р и сканировании через Интернет данная про¬ блема будет менее острой, так к а к ограничивающим фактором послужит пропускная способность промежуточных соединений, однако все равно м о ж н о снизить производительность загруженного Web-сервера или п о ч тового сервера. В крайних случаях ваша активность может даже привести к прекращению работы м а ш и н . Независимо от способа использования описанных средств обяза¬ тельно получите разрешение владельца сканируемых хостов. Сканирова¬ н и е портов — деятельность на грани законности (в действительности вы не взламываете системы, просто опрашиваете сеть). Однако вашему на¬ чальнику может быть не до нюансов, если вы нарушите работу корпора¬ тивной сети. И прежде чем вы забавы ради решите просканировать не¬ сколько любимых Web-серверов, учтите, что в контракте на предоставле н и е Интернет-услуг могут содержаться пункты, запрещающие подобную деятельность. Операторы Web-сайтов постоянно подают жалобы на п о ставщиков Интернет-услуг, клиенты которых регулярно позволяют себе ненадлежащее поведение. Поэтому если вы не хотите, чтобы вас уволили или отключили от Интернет, получите письменное разрешение либо от вашего руководителя (если работаете на свою организацию), либо от кли¬ ента/добровольца (если обслуживаете третью сторону). В приложении D п о м е щ е н о стандартное письменное соглашение для получения разреше н и я от предполагаемого объекта сканирования, которое является хоро шей отправной точкой для юридического прикрытия ваших позиций. Даже при наличии разрешения необходимо принять во в н и м а н и е предполагаемый э ф ф е к т сканирования целевой сети. Если это интенсив но используемая сеть, вы д о л ж н ы выполнять сканирование ночью или в 134
Глава 4
Сканеры портов
периоды н а и м е н ь ш е й активности. Некоторые сканеры имеют возмож¬ ность замедлять посылку пакетов, чтобы н е очень сильно воздействовать на сеть. Это означает, что сканирование будет выполняться дольше, н о в более дружественном для сети режиме. Некоторые современные устройства, такие к а к межсетевые э к р а н ы и некоторые маршрутизаторы, достаточно интеллектуальны, чтобы рас¬ познать сканирование своих портов и отреагировать на него. Iptables м о ж н о сконфигурировать для этого, используя о п ц и ю multiport и устана вливая флаг приоритета. М а ш и н ы могут отвечать на сканирование п о р тов снижением скорости ответа для каждого последующего опроса. В ито ге ваше сканирование может растянуться до бесконечности. Иногда мож но обмануть м а ш и н у на другом конце, рандомизируя порядок сканируе мых портов или растягивая интервалы между запросами. Некоторые уст ройства, возможно, попадутся на эту удочку, другие — нет. Придется по¬ экспериментировать, чтобы найти работоспособный вариант.
Применение сканеров портов Когда в ы получите разрешение на сканирование, следует опреде¬ лить, с какой целью вы собираетесь сканировать сеть.
Инвентаризация сети Н е знаете точно, сколько м а ш и н у вас работает? Хотите узнать I P - а д реса всех ваших серверов? Сканеры портов предлагают быстрый способ просмотра диапазона адресов и выявления все активных м а ш и н в этом сегменте. М о ж н о даже воспользоваться средством Nlog (рассмотренным далее в этой главе) для занесения результатов в базу данных и создания полезных отчетов.
Оптимизация сети/сервера С к а н е р портов покажет все сервисы, з а п у щ е н н ы е в д а н н ы й м о м е н т на м а ш и н е . Если это серверная м а ш и н а , т о , вероятно, таковых окажет ся много, и, в о з м о ж н о , н е все и з н и х на с а м о м деле н у ж н ы д л я в ы п о л н е н и я о с н о в н о й ф у н к ц и и м а ш и н ы . П о м н и т е : ч е м больше сервисов, тем м е н ь ш е безопасности. И все эти п р о г р а м м ы могут замедлять работу п е регруженного сервера. Н е н у ж н ы е Web-, F T P - и D N S - с е р в е р ы крадут ц и к л ы процессора у о с н о в н о й ф у н к ц и и компьютера. С к а н и р о в а н и е портов серверов с последующим а н а л и з о м результатов и о п т и м и з а ц и е й может дать н е м е д л е н н о е увеличение скорости и с о к р а щ е н и е времени реакции. 135
Курс
Защитные средства с открытыми исходными текстами
Выявление шпионского ПО, троянских программ и сетевых червей Активные Web-серферы нередко подцепляют на Web-сайтах неболь ш и е программы, которые пытаются отслеживать их поведение или выда¬ вать на их компьютеры специальную всплывающую рекламу. Эти про¬ граммы называются ш п и о н с к и м П О , потому что нередко они пытаются следить за активностью пользователя и могут передавать собранные дан¬ н ы е обратно на центральный сервер. Эти программы обычно не опасны, но их чрезмерное количество может существенно снизить производитель¬ ность труда пользователя. К р о м е того, написаны они зачастую неаккурат¬ но и могут мешать работе других программ или даже вызывать их аварий¬ ное завершение. О н и могут также помогать хакерам в поиске уязвимостей. Другим классом сетевого программного обеспечения, которое вы о п ределенно не хотели бы иметь в своей сети, являются троянские программы. Эти программы специально созданы для взлома сетей. Подобно троянско¬ му коню из греческой мифологии, эти программы открывают хакерам и взломщикам заднюю дверь в вашу сеть. Обычно их присутствие можно об¬ наружить только по открытому сетевому порту, а с помощью антивирусных средств выявить их крайне сложно. Оказавшись внутри компьютера, боль шинство троянских программ пытаются вступить во внешние коммуника¬ ции, чтобы дать своему создателю или отправителю знать, что они заразили машину на этих портах. В табл. 4.2 перечислены наиболее распространен¬ ные троянские программы и их номера портов. Многие номера портов лег ко распознаваемы по определенному набору цифр (например, для NetBus это 54321, а для Back Orifice — 31337, что в хакерской кодировке читается как «элита»). В целом же троянские программы стремятся использовать пор ты с большими, необычными, нераспознаваемыми номерами, хотя некото рые действительно хитроумные троянцы пытаются задействовать младшие зарезервированные порты, чтобы замаскироваться под обычные сервисы. Сетевые черви — особо мерзкий тип вирусов. Зачастую о н и снабже н ы сетевыми средствами и открывают порты на компьютере-«хозяине». Сетевые черви используют сеть для распространения и поэтому иногда выявляются при сканировании портов. С к а н и р о в а н и е портов может стать ц е н н ы м подспорьем в защите от этого вида вирусов. Табл. 4.2. Порты, используемые наиболее распространенными тро я н с к и м и программами Номер порта
IP протокол
12456 и 54321
TCP
Известные троянские программы, использующие эти порты NetBus 136
Глава 4
Сканеры портов
23274 и 27573 31335 31337 31785-31791 33270 54321 60000 65000
TCP TCP TCP TCP TCP TCP TCP TCP
Sub7 Trin00 Back Orifice Hack 'a'Tack Trinity Back Orifice 2000 Deep Throat Stacheldraht
Поиск неавторизованных или запрещенных сервисов Регулирование того, что сотрудники запускают на своих компьюте рах, — трудноразрешимая проблема. Хотя с п о м о щ ь ю политик безопас¬ ности домена м о ж н о ограничить доступ к приводам гибких и компактдисков, остается очевидная возможность загрузки программного обеспе ч е н и я из Паутины. К р о м е того, сотрудникам нравится пользоваться сер висами мгновенного обмена с о о б щ е н и я м и , такими к а к I C Q или A O L Instant Messenger, для общения с друзьями, родственниками и другими людьми вне вашей сети. Если разрешить эти сервисы, то необходимо учи¬ тывать р и с к и , которые о н и представляют для безопасности вашей орга низации. П о м и м о с н и ж е н и я производительности труда сотрудников и п о ж и р а н и я полосы пропускания, сети мгновенного обмена с о о б щ е н и я ми часто оказываются средой для распространения вирусов. Известно также, что в них есть о ш и б к и , позволяющие пользователям осуществлять доступ к файлам на локальной м а ш и н е . Д а ж е если в ы н е разрешаете их о ф и ц и а л ь н о , их п р и м е н е н и е может быть трудно отследить. Регулярное сканирование портов раскроет многие подобные сервисы, демонстрируя используемые и м и открытые порты. Существуют еще более вредоносные приложения, которые ваши пользователи могут пытаться запускать, например, программное обеспе ч е н и е для одноранговой пересылки файлов, позволяющее связаться с т ы сячами других пользователей во всем мире для разделения файлов с музы¬ к о й , ф и л ь м а м и и компьютерными программами. Такое П О способно по¬ требить всю вашу полосу пропускания, если учесть, что пересылаться м о гут ф а й л ы размером в сотни мегабайт. Реальной становится и угроза су дебного преследования вашей организации за нарушение авторских прав. В последнее время крупные м е д и й н ы е к о м п а н и и и программистские к о н ц е р н ы все более настойчиво преследуют нелегальных распространи¬ телей файлов, а организации являются для н и х более крупными объекта ми преследования, ч е м отдельные люди. Разумеется, п р и м е н е н и е подоб¬ ного П О может открыть внешнему миру внутренности вашей сети, зачас¬ тую без явного уведомления сделать часть жесткого диска пользователя 137
Курс
Защитные средства с открытыми исходными текстами
доступной другим пользователям. И , конечно ж е , существует множество методов взлома и использования уязвимостей таких программ, позволяю¬ щих злоумышленникам пойти значительно дальше. Сухой остаток состо¬ ит в нежелательности использования в вашей корпоративной сети о д н о рангового программного обеспечения. И с п о м о щ ь ю хорошего сканера портов, к рассмотрению одного из которых м ы переходим, м о ж н о иден¬ тифицировать всех пользователей подобного П О и отключить их. Nmap: Разносторонний сканер портов и средство идентификации ОС Nmap Автор/основной контакт: Web-сайт: Платформы:
Fyodor www.insexure.org/nmap FreeBSD, HP/UX, Linux, Mac OS X, OpenBSD, Solaris, Windows 95, 98, 2000, XP Лицензия: GPL Рассмотренная версия: 3.5-1 Списки почтовой рассылки: Хакеры Nmap: Отправьте сообщение на [email protected] Разработчики Nmap: Отправьте сообщение на [email protected]
Nmap — вне всяких с о м н е н и й , лучший сканер портов. Его главный автор — программист с псевдонимом «Fyodor», разработки которого ис¬ пользуются во многих других программах и портированы практически на все употребительные операционные системы. Н а Nmap опирается сканер уязвимостей Nessus, о п и с а н н ы й в главе 5. Доступно также несколько д о п о л н е н и й , включая программу Nlog, рассматриваемую далее в этой главе. Достаточно сказать, что Nmap должен входить в инструментарий каждо¬ го администратора безопасности. Перечислим некоторые и з основных достоинств Nmap. • У него есть множество опций. Простые сканеры портов доступны с такими средствами, к а к Sam Spade (см. главу 2), однако Nmap и м е ет огромное число о п ц и й , предоставляющих почти неограничен ное число вариантов сканирования сети. М о ж н о понизить частоту отправки зондирующих пакетов, если вы опасаетесь замедления работы сети, и л и , наоборот, повысить ее, если имеется запас ш и р и н ы полосы пропускания. О п ц и и невидимости — е щ е один элемент репертуара Nmap. Хотя некоторые критикуют эти о п ц и и , полагая, что о н и необходимы только хакерам, для них имеются з а к о н н ы е п р и м е н е н и я . Н а п р и м е р , если необходимо проверить, насколько 138
Глава 4
Сканеры портов
чувствительной является система обнаружения вторжений. Nmap позволяет сделать это, в ы п о л н я я с к а н и р о в а н и е с р а з л и ч н ы м и уровнями невидимости. Далее, Nmap выходит за р а м к и простого сканирования портов и осуществляет и д е н т и ф и к а ц и ю О С , что п о лезно при установлении соответствия между IP-адресами и маши¬ нами. В д а н н о м разделе будет рассмотрено большинство основных о п ц и й , н о всего их так много, что охватить все н е представляется возможным. • Он легкий, н о м о щ н ы й . К о д Nmap невелик и будет выполняться даже на самых старых м а ш и н а х (я постоянно запускаю его на Pentium 133 МГц, О З У 16 М Б и уверен, что он будет работать и на более старых моделях). Н а самом деле, теперь он запускается даже на некоторых К П К . В небольшом объеме о н концентрирует огром¬ ную энергию и без проблем сканирует очень большие сети. • Он прост в использовании. Хотя существует множество различных способов его запуска, реализуемое по умолчанию базовое сканиро¬ вание S Y N делает все, что требуется большинству приложений. Имеется к а к режим командной строки, так и графический интер фейс для U N I X и Windows, чтобы удовлетворить запросы к а к круг¬ лых дураков, так и тех, кому необходима графика. О н также очень хорошо документирован и поддерживается большим числом разра¬ ботчиков и оперативных ресурсов.
Установка Nmap в Linux Если вы работаете в Mandrake, RedHat или S U S E , можно взять файлы с прилагаемого к книге компакт-диска или загрузить бинарный R P M . Что¬ бы загрузить файлы из Web, наберите в командной строке: rpm -vhU http://download.insecure.org/nmap/dist/nmap-3.501.i386.rpm rpm -vhU http://download. insecure.org/nmap/dist/nmap-frontend3.50-1. i386.rpm
Вам понадобятся два пакета: собственно программа Nmap с интер фейсом командной строки и графическая оболочка для X-Window. П р и в е д е н н ы е в ы ш е команды загрузят R P M ' b i и запустят их. М о ж н о изменить команду, чтобы воспользоваться самой последней версией (уточните на Web-сайте и м я файла). После в ы п о л н е н и я обеих команд вы будете гото¬ вы приступить к работе. Если п р и в ы п о л н е н и и команд возникнут проблемы, или если у вас другой дистрибутив О С , то придется вручную выполнить к о м п и л я ц и ю исходных текстов (см. врезку о к о м п и л я ц и и ) . Это немного сложнее, н о н е 139
Курс
Защитные средства с открытыми исходными текстами
с л и ш к о м трудно, да и научиться этому полезно, поскольку это придется делать для других средств безопасности и з д а н н о й книги. Вам будут часто встречаться такие ж е или похожие команды.
Компиляция исходных текстов: Краткое введение Многие важнейшие программы UNIX написаны на Си или Си++ из со ображений эффективности и мобильности. Это облегчает программистам распространение единой версии исходных текстов и позволяет пользовате лям компилировать их для своей специфической операционной системы. Большинство систем UNIX поставляются со встроенным Си-компилятором. Си-компилятор с открытыми исходными текстами, используемый в Linux, называется Gcc. Когда требуется построить бинарную программу из исход¬ ных текстов, вы вызываете Gcc (при условии, что программа написана на языке Си). 1. В каталоге, где были распакованы исходные тексты программы, на¬ берите: . / c o n f i g u r e имя_программы
Запустится программа, которая проверит конфигурацию вашей системы на наличие средств, необходимых программе, и задаст так называемые параметры времени компиляции. С помощью про¬ граммы configure можно задать некоторые настройки, такие как про¬ пуск определенных частей программы или добавление необязатель ных элементов. При выполнении configure создается конфигураци онный файл, называемый makefile, который вместе с программой make определяет, как и в каком порядке компилятор должен строить объектный код. 2. Выполните команду make для компиляции программы: make имя_программы
Из исходных текстов она создает бинарный файл, совместимый с вашей конфигурацией. Это может потребовать некоторого времени, зависящего от программы и быстродействия компьютера. 3. Наконец, выполните следующую команду: make i n s t a l l
Эта команда устанавливает бинарник, чтобы его можно было запустить на компьютере. Описанный процесс может немного меняться от программы к програм¬ ме. Некоторые программы не используют конфигурационный файл и содер¬ жат готовый к запуску makefile. У других может несколько отличаться синтак140
Глава 4
Сканеры портов
сис команд make. В большинстве программ с открытыми исходными текстами в основном каталоге должен лежать файл с именем INSTALL. Это текстовый файл, содержащий подробные инструкции по установке программы и всех по тенциально полезных опций времени компиляции. Иногда эта информация со держится в файле с именем README. Далее на примере Nmap показан весь процесс к о м п и л я ц и и исход¬ ных текстов. 1. Чтобы скомпилировать Nmap из исходных текстов, выполните в каталоге nmap следующие команды: . /configure make make i n s t a l l
Отметим, что для в ы п о л н е н и я команды make install вы долж н ы располагать привилегиями суперпользователя, поэтому не за¬ будьте предварительно набрать su root и затем ввести пароль поль¬ зователя root. Н е рекомендуется выполнять первые две команды от имени root, так как о н и могут повредить вашу систему, если в программах есть о ш и б к и или вредоносный код. Необходимо вы¬ полнить представленный набор команд для каждой программы — главной программы Nmap и графической оболочки (если только вы не намерены запускать Nmap исключительно из командной строки). 2. После того, как вы выполнили R P M или скомпилировали про¬ грамму, вы готовы к п р и м е н е н и ю Nmap. Запустите графический клиент, набрав: nmapfe
Если в вашем PATH отсутствует каталог /usr/local/bin, введите: /usr/local/bin/nmapfe
Отобразится основной и н т е р ф е й с н ы й э к р а н (см. рис. 4.1). Совет: На рабочем столе м о ж н о создать ссылку на бинарник, чтобы для запуска программы достаточно было двойного щелчка м ы ш и .
Установка Nmap для Windows Nmap для Windows поддерживает Jens Vogt. О н перенес эту програм му в Windows и замечательным образом держится почти вровень с верси я м и U N I X , отставая всего на один шаг на момент н а п и с а н и я этой книги (версия 3.0). Правда, его продукт имеет статус бета-версии, но чего еще 141
Защитные средства с открытыми исходными текстами
Курс
ар Front End V3.20 < 2 > ; ; Output
View
BETA Options
Host(s); |1 92.1 68.1 .Z Scan Options:
General Options J Don't Resolve
v connectQ л
S Y N Stealth
v
Ping Sweep
v
UDP Port Scan
v
FIN Stealth
J Bounce Scan:
TCP Ping
_ l Fragmentation
J Fast S c a n
r TCP&ICMP
J Get Identd Info
j
r ICMP Ping
J Resolve All
Range of Ports:
|
^ Don't Ping
Г OS Detection
J Use Decoy(s):
J Input File:
J Send on Device:
Output from: nmap -sS - P T - О 192.166.1.2
S t a r t i n g nmap 3,20 ( www insecure org/пиар/ ) at 1937-12-31 22:32 CST I n t e r e s t i n g p o r t s on 192.168.1.2: (The 1&05 p o r t s scanned but not shown below are i n s t a t e : closed) Pert State Service 22/tcp open 80/tcp open http 111/tcp open sunrpc 102'1/tcp open kdm 1241/tcp open msg 3306/tcp open mysql Remote operating system guess: Linuw Kernel 2,4,0 - 2 5+20 Uptime 1,177 days ( s i n c e Tue Dec 30 18:17:55 1997) +
+
4
Nmap run completed seconds
1 IP address (1 host up) scanned i n 5*770
Рис. 4.1. Графический интерфейс Nmap желать для открытого ПО? Сканер для Windows не так быстр, к а к для U N I X , но обладает теми же о с н о в н ы м и возможностями. 1. Возьмите файл с прилагаемого к книге компакт-диске или загру зите простой и с п о л н я е м ы й файл установки для N M a p W m с http://download.insecure.org/nmap/dist/nmapwin_L3.Lexe 2. Если драйвер WinPcap не загружен, его необходимо установить. Если вы не знаете, есть ли он, то его, скорее всего, нет, поскольку он не я в ляется стандартным драйвером, включаемым во все версии Windows. Библиотеки WinPcap позволяют Nmap получить низкоуровневый до ступ к вашей сетевой плате, чтобы он мог перехватывать неизменен ные пакеты стандартным кросс-платформным образом. К счастью, пакет установки NMapWin предоставляет эти файлы. Файл установ ки WinPcap находится в каталоге files/nmapwin/winpcap. Имеются две версии WinPcap. Предпочтительно использо вать более новую версию, WinPcap 3.1Beta. Если у вас м н о г о п р о цессорная система, следует использовать ветвь WinPcap 3.X или отключить все процессоры, кроме одного. Если это не помогает, 142
Сканеры портов
Глава 4
попробуйте более старую версию или возьмите версию, которая будет работать с вашей системой, на сайте WinPcap по адресу: http://winpcap.polito.it/
WinPcap используется м н о г и м и другими п р о г р а м м а м и Windows, включая открытое П О для выявления вторжений и диаг ностики сети, рассматриваемое в последующих главах, поэтому работоспособность WinPcap важна. Примечание: в настоящее время WinPcap работает ненадежно по коммутируемым соединениям под Windows NT, 2000 и XP. Если вы собираетесь применять сканер портов через коммутируемое со единение (что в любом случае трудно рекомендовать, учитывая ог раниченную полосу пропускания для отправки зондирующих па кетов), то придется найти иное решение. 3. После установки WinPcap необходимо перезагрузить систему, что бы все драйверы заработали. Затем запускайте NmapWin — и мож¬ но начать сканирование.
Сканирование сетей с помощью Nmap Графический клиент Nmap предоставляет весьма простой интерфейс (см. рис. 4.2). Вверху имеется поле для ввода IP-адреса или диапазона IPадресов, а чтобы начать сканирование, достаточно нажать кнопку Scan.
Рис. 4.2. Образ экрана NmapWin 143
Курс
Защитные средства с открытыми исходными текстами
Флэми Тех учит: Сетевые маски и нотация с косой чертой Вам будут часто встречаться обозначения IP-сетей и л и с сете¬ вой маской, или с косой чертой и числом после нее. Это — два способа задать размер сети. Д л я их п о н и м а н и я необходимо представлять себе структуру IP-адреса. Стандартный адрес IPv4 состоит из 32 бит. Его обычно представляют в виде четырех частей — восьмибит ных октетов. Октеты для удобочитаемости обычно преобразуют в деся т и ч н ы е числа. Поэтому, если в ы видите 192.168.1.1, то компьютер видит 11000000 10101000 00000001 00000001 Маска сети обычно представляет собой набор из четырех чисел. Она п о казывает, где кончается локальная сеть и начинается глобальная. Обычно маска выглядит примерно так: 255.255.255.0 Ч т о б ы определить размер сети, представленной сетевой маской, доста¬ точно вычесть каждый октет и з 256 и перемножить полученные разности. Н а п р и м е р , сетевая маска 255.255.255.248 описывает восьмиэлементную IP-сеть, поскольку (256-255) * (256-255) * (256-255) *(256-248) = 8. Сетевая маска 255.255.255.0 представляет IP-сеть из 256 узлов, так к а к (256-255) * (256-255) * (256-255) *(256-0) = 256. Н а к о н е ц , сетевая маска 255.255.0.0 описывает сеть и з 65536 IP-адресов, ибо (256-255) * (256-255) * (256-0) *(256-0) = 65536. Нотация с косой чертой чуть сложнее для п о н и м а н и я , но идея остается прежней. Число после косой черты показывает, сколько бит описывают глобальную сеть. Вычитая это число из 32, получаем число бит, описыва ющих локальную сеть. Например, запись 192.168.0.0/24 представляет сеть, начинающуюся с 192.168.0.0 и насчитывающую 256 IP-адресов. (Это такой ж е размер, как и у рассмотренной выше сети с маской 255.255.255.0.) 32 бита IP-адреса минус 24 бита для префикса сети дает 8 бит для локаль ного использования, то есть 256 возможных адресов. Если вас мутит от двоичных чисел, просто воспользуйтесь для запоминания представлен¬ ной н и ж е небольшой таблицей. Нотация с косой чертой /24 /25 /26 /27 /28 /29 /30 /31 /32
Размер сети 256 IP-адресов 128 IP- адресов 64 IP-адресов 32 IP-адресов 16 IP- адресов 8 IP-адресов 4 IP-адреса 2 IP-адреса 1 IP-адрес 144
Глава 4
Сканеры портов
В табл. 4.3 приведены различные форматы для ввода IP-адресов. Ад реса могут также извлекаться и з файла, если выбрать пункт Input элемен та File основного меню и задать текстовый файл с д а н н ы м и в подходящем для Nmap формате (см. рис. 4.1). Табл. 4.3. Форматы IP адресов Формат О д и н о ч н ы й IP-адрес IP- адреса, разделенные запятыми IP-диапазон, разделенный д е ф и с о м Использование стандартной нотации с косой чертой
Пример 192.168.0.1 192.168.0.1,192.168.0.2 192.168.0.1-255 192.168.0.1/24 (сеть класса С из 256 адресов)
Запуск Nmap из командной строки Nmap м о ж н о запустить из командной строки к а к в U N I X , так и в Windows. О б щ и й формат таков: nmap параметры IP-диапазон
с л ю б ы м и дополнительными настройками, заданными значениями параметров. Далее до конца главы вслед за настройками или о п ц и я м и графического интерфейса в скобках будут указываться эквивалентные о п ц и и для командной строки, например, S Y N (-sS) и Bounce Scan (-n FTPHOST).
Типы сканирования в Nmap Nmap поддерживает множество различных видов сканирования. В табл. 4.4 перечислены наиболее употребительные. Указаны также параме¬ т р ы командной строки, если в ы захотите использовать этот интерфейс. Табл. 4.4. Типы сканирования в Nmap и параметры командной строки Тип сканирования (параметры командной строки) S Y N (-sS)
Описание Подразумеваемый тип сканирования, пригодный для большинства целей. О н менее заметен, чем T C P Connect, то есть н е будет фиксироваться большинством простых средств протоколирова¬ ния. В этом режиме в каждый возможный порт 145
Курс
TCP-соединение: Connect (-sT)
Эхо-тестирование: Ping Sweep (-sP)
Защитные средства с открытыми исходными текстами
посылаются одиночные T C P - п а к е т ы с установ л е н н ы м флагом S Y N . Если в ответ возвращается пакет S Y N A C K , то Nmap делает вывод, что здесь запущен сервис. Если ответа нет, то предполагает¬ ся, что порт закрыт. SYN-сканирование н е завершает трехходовое к в и тирование установления связи в TCP, так к а к н е возвращает целевой м а ш и н е пакет с установлен¬ н ы м флагом A C K ; с точки зрения сканируемой системы действующие соединения н е устанавли ваются. Однако, удаленная система будет удержи вать эту «половинку сокета» открытой, пока н е пройдет максимально допустимое время ответа. Некоторые современные серверы и программы выявления вторжений достаточно интеллектуаль н ы , чтобы уловить подобные действия, н о для большинства м а ш и н SYN-сканирование будет н е видимым. Это тип сканирования напоминает S Y N за исклю¬ чением того, что трехходовое квитирование уста¬ новления связи в T C P выполняется до конца и ус танавливается п о л н о ц е н н о е соединение. Подоб¬ ное сканирование н е только шумно, н о и создает дополнительную нагрузку на сканируемые маши¬ н ы и сеть. Однако, если скрытность или эконо¬ мия полосы пропускания н е являются приоритет¬ н ы м и , то сканированием Connect, по сравнению с S Y N , м о ж н о порой получить более точные ре¬ зультаты. К р о м е того, если у вас нет привилегий администратора или суперпользователя на м а ш и не Nmap, вы н е сможете воспользоваться н и к а к и м другим типом сканирования, поскольку соз дание построенных особым образом пакетов для других типов сканирования требует низкоуровне вого доступа к О С . Выполняется простое эхо-тестирование всех адресов, чтобы увидеть, какие из них ответят на I C M P - з а п р о с . Если вас на самом деле н е интере¬ сует, какие сервисы запущены, и вы просто хотите знать, какие IP-адреса активны, то д а н н ы й тип позволит достичь цели много быстрее, чем полное сканирование портов. Однако некоторые м а ш и н ы 146
Глава 4
Сканеры портов
могут быть сконфигурированы так, чтобы не отве¬ чать на ping (например, н о в ы й межсетевой э к р а н X P ) , н о , тем не менее, выполнять некоторые сер¬ висы, поэтому Ping Sweep менее надежный метод, чем полное сканирование портов. U D P - с к а н и р о в а н и е : Этот тип сканирования проверяет наличие слу U D P Scan (-sU) шаемых U D P - п о р т о в . Так как U D P , в отличие от TCP, не отвечает положительным подтверждени¬ ем, а отвечает на входящий пакет только когда порт закрыт, д а н н ы й тип сканирования может иногда приводить к л о ж н ы м срабатываниям, од нако он способен выявить троянские программы, использующие U D P - п о р т ы с большими номера ми и скрытые RPC-сервисы. О н может быть весь¬ ма медленным, так к а к некоторые м а ш и н ы наме¬ р е н н о замедляют ответы на этот тип трафика, что¬ бы избежать перегрузки. Однако м а ш и н ы , выпол¬ н я ю щ и е ОС Windows, не реализуют замедления, поэтому вы сможете использовать U D P для н о р мального сканирования хостов Windows. F I N - с к а н и р о в а н и е : Это скрытное сканирование, аналогичное S Y N , F I N Stealth (-sF) но использующее пакеты T C P F I N . Большинство компьютеров, но не все, ответят пакетом RST, п о этому сканирование F I N сопряжено с л о ж н ы м и срабатываниями и пропуском положительных ре зультатов, но может осуществляться под наблюде н и е м некоторых программ выявления вторжений и при наличии других контрмер. NULL-сканирование : Е щ е одно весьма скрытное сканирование, при N U L L Scan (-sN) котором все флаги заголовка T C P сброшены (или пусты). П о д о б н ы е пакеты обычно некорректны, и некоторые хосты не знают, что с н и м и делать. О п е р а ц и о н н ы е системы Windows входят в эту группу, так что их сканирование в режиме N u l l бу¬ дет давать недостоверные результаты. Однако для серверов не под Windows, з а щ и щ е н н ы х межсете¬ вым экраном, оно может стать способом проник¬ новения. X M A S -сканирование Аналогично сканированию N U L L , за исключе¬ X M A S Tree (-sX) н и е м того, что все флаги в заголовке T C P установ¬ л е н ы , а не сброшены (отсюда и название — пакет расцвечен, как рождественская елка). М а ш и н ы 147
Курс
Сканирование через отражатель: Bounce Scan (-n FTP_HOST)
RPC-сканирование: R P C Scan (-sR)
Windowсканирование: Window Scan (-sW)
Реактивное сканирование:
Защитные средства с открытыми исходными текстами
Windows, ввиду особенностей реализации на них стека TCP, не отвечают на подобные пакеты. Этот хитроумный тип сканирования использует лазейку в протоколе T C P для «отражения» ска¬ нирующих пакетов от сервера F T P во внутреннюю сеть, которая обычно недоступна. Зная IP-адрес сервера FTP, который подключен к локальной се¬ ти, вы можете проникнуть через межсетевой эк¬ ран и сканировать внутренние м а ш и н ы . Стоит проверить и свою собственную сеть на наличие д а н н о й уязвимости. В большинстве современных серверов F T P эта дыра в защите ликвидирована. Примечание: В дополнение к сканируемым I P - а д ресам вы д о л ж н ы задать действующий сервер FTP, и м е ю щ и й доступ к сети. Этот особый тип сканирования ищет м а ш и н ы , отвечающие сервисам удаленного вызова проце¬ дур ( R P C ) . Сервис R P C , при определенных усло¬ виях позволяющий удаленным командам выпол няться на м а ш и н е , сопряжен со значительным риском. Так как сервисы R P C могут выполняться на многих различных портах, то по результатам обычного сканировании выявить эти порты труд но. R P C - с к а н и р о в а н и е зондирует найденные от¬ крытые порты с п о м о щ ь ю команд, показывающих имя программы и версию сервиса R P C . Неплохо время от времени проводить подобное сканирова¬ ние, чтобы узнать, работают ли, и где и м е н н о , RPC -сервисы. Д а н н ы й тип сканирования полагается на анома¬ л и ю в ответах на пакеты A C K в некоторых опера¬ ц и о н н ы х системах, чтобы обнаружить порты, ко¬ торые предположительно фильтруются. Известно, что к числу операционных систем, уязвимых для подобного сканирования, принадлежат некоторые версии A I X , Amiga, BeOS, B S D I , Cray, D G / U X , Digital U N I X , FreeBSD, H P / U X , I R I X , M a c O S , N e t B S D , OpenBSD, OpenStep, O p e n V M S , O S / 2 , Q N X , Rhapsody, SunOS 4.X, Tru64 U N I X , Ultrix, V A X и VxWorks. Д а н н ы й тип сканирования появился в Nmap версии 3.0. Это сверхскрытный метод, при п р и 148
Глава 4
Idle Scan (-sI хостзомби: используемый_ порт)
Сканеры портов
м е н е н и и которого пакеты сканирования отража ются от внешнего хоста. Необязательно иметь контроль над этим хостом, н о о н должен работать и удовлетворять некоторым требованиям. Вы д о л ж н ы ввести IP адрес хоста-зомби и номер ис¬ пользуемого порта. Хотя это сканирование к р а й не трудно проследить до исходной точки, о н о вряд ли особенно полезно для большинства ад¬ министраторов, сканирующих свои собственные сети. Это одна и з самых спорных о п ц и й Nmap, так к а к на практике она п р и м е н и м а только для злоумышленных атак.
Опции раскрытия для Nmap М о ж н о настроить способ, которым Nmap выполняет раскрытие се тей и определяет, какие хосты работают. В табл. 4.5 перечислены несколь¬ ко различных вариантов. Табл. 4.5. О п ц и и раскрытия для Nmap Опция T C P + I C M P (-PB)
Эхо-тестирование T C P (-PT)
Эхо-тестирование I C M P (-PE)
Описание Подразумеваемая настройка. Nmap обычно и с пользует для определения статуса хоста и I C M P , и TCP-пакеты. Это наиболее надежный и точный способ, так как, если хост активен, то хотя бы п о одному методу ответ, к а к правило, будет получен. К сожалению, это также самый ш у м н ы й способ, который, скорее всего, приведет к регистрации ка¬ ким-нибудь устройством сканируемой сети. Для обнаружения хостов используется только м е тод TCP. М н о г и е межсетевые э к р а н ы и некоторые маршрутизаторы отбрасывают пакеты I C M P , воз¬ м о ж н о , с протоколированием. Если вы пытаетесь остаться невидимым, то метод T C P — это наилуч ш и й вариант. Однако для некоторых экзотических типов сканирования ( F I N , X M A S , N U L L ) к а к и е то хосты могут остаться незамеченными. Использовать для раскрытия сети только пакеты I C M P . Это н е лучший вариант, если вы сканируете сеть извне через межсетевой экран, так к а к боль¬ шинство ваших пакетов будет, вероятно, отброше149
Курс
Защитные средства с открытыми исходными текстами
но. Однако внутри сети д а н н ы й метод вполне на¬ дежен, хотя вы можете пропустить свой межсете¬ вой э к р а н и некоторые сетевые устройства, кото¬ р ы е не отвечают на I C M P - п а к е т ы . Если задается эта о п ц и я , то Nmap не будет п ы таться сначала выяснить, к а к и е хосты активны, а будет вместо этого посылать пакеты по каждому IP-адресу заданного диапазона, даже если по это¬ му адресу м а ш и н ы нет. Это расточительно как с точки зрения полосы пропускания, так и времени, особенно когда сканируются большие диапазоны. Однако это может быть единственным способом просканировать хорошо з а щ и щ е н н у ю сеть, кото¬ рая не отвечает на I C M P - п а к е т ы .
Без эхо-тестиро¬ вания (-P0)
Опции времени для Nmap Nmap предоставляет средства для п о в ы ш е н и я или п о н и ж е н и я часто ты, с которой посылаются пакеты сканирования. Если вас беспокоит с л и ш к о м большой сетевой т р а ф и к (или вы пытаетесь действовать скрыт¬ но), то м о ж н о понизить частоту. П о м н и т е только, что чем реже посыла¬ ются пакеты, тем дольше продлится сканирование. Для больших сетей время может вырасти экспоненциально. С другой стороны, если вы торо¬ питесь и не обращаете в н и м а н и е на некоторый дополнительный сетевой трафик, м о ж н о поднять частоту. Различные уровни и частоты пакетов приведены в табл. 4.6. В версии для Windows или с п о м о щ ь ю о п ц и й ко¬ мандной строки м о ж н о устанавливать специальные частоты. Табл. 4.6.Параметры Nmap для управления частотой посылки пакетов Уровень частоты Параметр командной строки Паранои-F 0 дальный
Частота пакетов
Пояснения
Раз в 5 минут
Н е используйте эту о п ц и ю при сканиро¬ вании большого чис¬ ла хостов, иначе ска¬ нирование никогда не закончится.
Исподтишка Вежливый
Раз в 15 секунд Раз в 4 секунды
-F 1 -F 2
150
Глава 4
Сканеры портов
Нормальный
-F 3
Агрессивный
-F 4
Безумный
-F 5
Со скоростью работы О С То ж е , что и Normal, н о мак¬ симальное время ожидания пакета сокращено до 5 минут на хост и до 1.25 секунды на зондирующий пакет. Время ожидания 0.75 секунды на хост и 0.3 секунды на зондирующий пакет.
Используется по умолчанию
Этот метод н е будет хорошо работать, если только вы н е находитесь в очень быстрой сети и н е ис¬ пользуете очень быст¬ рый сервер Nmap. Даже в этом случае есть р и с к потерять данные.
Другие опции Nmap В табл. 4.7 перечислены некоторые другие о п ц и и Nmap, которые уп равляют, например, разрешением доменных и м е н , идентификацией О С и т.д., и н е попадают в другие категории. Существуют дополнительные о п ц и и тонкой настройки сканирова¬ н и я , доступные из командной строки. Подробности м о ж н о найти в опе¬ ративной справке Nmap. Табл. 4.7. П р о ч и е опции Nmap Опция Н е выполнять разрешение имен (-n)
Описание Обычно Nmap пытается разрешать д о м е н н ы е имена для всех сканируемых IP-адресов. Это может существенно затягивать сканирование, поэтому если вас н е интересуют имена хостов, разрешение и м е н м о ж н о отключить. П о м н и т е , однако, что знать имена хостов полезно, осо¬ бенно п р и сканировании сетей с D H C P , где IPадреса могут меняться. 151
Курс
Быстрое с к а н и р о в а н и е( - F )
Д и а п а з о н портов (-p диапазон_портов)
Использование п р и м а н о к (-D адрес_ приманки_1, адрес_ приманки_2...)
Фрагментация (-f)
Защитные средства с открытыми исходными текстами
Эта о п ц и я вызывает сканирование только пор¬ тов, перечисленных в файлах употребительных портов Nmap. П о умолчанию это общеупотре¬ бительные серверные порты с номерами, мень¬ ш и м и 1024. Д а н н ы е ф а й л ы м о ж н о отредактиро¬ вать и добавить в с п и с о к другие порты. Подоб¬ ное сканирование может оказаться значительно более быстрым, н о о н о н е выявит троянские программы и сервисы, использующие порты с большими номерами. П о умолчанию Nmap сканирует все 65535 воз¬ можных портов TCP. Однако, если вы хотите просканировать только определенный диапа¬ зон, м о ж н о задать его в качестве аргумента оп¬ ц и и -p. Это полезно, если вы хотите п р о с к а н и ровать только один тип серверов, например, порт 80 для Web-серверов, или только верхние диапазоны, чтобы найти необычные сервисы и потенциальные троянские программы. Эта о п ц и я создает видимость, что хосты, ука¬ з а н н ы е в качестве п р и м а н о к , участвуют в ска¬ нировании целевых м а ш и н . Последние будут наблюдать потоки д а н н ы х и з нескольких источ¬ н и к о в , и им будет трудно определить, какой из них является реальным с к а н и р у ю щ и м хостом. Это е щ е одна опция сверхскрытности, н е обяза тельная для большинства добропорядочных п р и м е н е н и й и создающая, кроме того, сущест¬ венно более высокую нагрузку на сеть. Следует учитывать также, что использование хостов в качестве п р и м а н о к может привести к блокиро¬ в а н и ю их доступа к сканируемой м а ш и н е . Н а вас может обрушиться гнев людей, которых вы таким образом «подставили». Д а н н а я о п ц и я вызывает фрагментацию отправ ляемых пакетов сканирования. Это — средство обеспечения скрытности, которое м о ж н о п р и менять, чтобы избежать обнаружения с к а н и р о вания. Пакеты будут собираться на другом кон¬ це получающей их м а ш и н о й , н о фрагментиров а н н ы е пакеты могут обмануть системы обнару¬ ж е н и я вторжений и межсетевые э к р а н ы , кото152
Глава 4
Запрашивать информацию Identd (-I)
Разрешать все адреса (-R)
Идентификация О С (-O)
Сканеры портов
р ы е зачастую проверяют соответствие конкрет н ы м шаблонам. Служба Identd функционирует на некоторых (обычно — U N I X ) м а ш и н а х и предоставляет при запросе дополнительную и н ф о р м а ц и ю о хосте, например, тип операционной системы. Следует учитывать, что Nmap автоматически вы¬ полняет идентификацию О С с помощью иден т и ф и к а ц и о н н ы х меток TCP, поэтому данная о п ц и я менее полезна, ч е м кажется на первый взгляд. Если в вашей сети нет систем U N I X , то применение этой опции вообще теряет смысл. П р и использовании д а н н о й о п ц и и Nmap пыта¬ ется разрешать все адреса в диапазоне, даже ко¬ гда о н и н е отвечают. Это может быть полезно, например, в сети поставщика Интернет-услуг, где целый диапазон записей о хостах может быть присвоен потенциальным IP-адресам для пула коммутируемого доступа, н о в каждый мо¬ мент времени возможно использование только определенной части из них. Подразумеваемая опция. К а к упоминалось ранее, каждая реализация стека T C P имеет свои особенности. П р и сравнении точной идентифи¬ к а ц и о н н о й метки ответов с базой данных из¬ вестных и д е н т и ф и к а ц и о н н ы х меток TCP, Nmap, к а к правило, может с высокой достоверностью (иногда — вплоть до диапазона версий) иденти¬ фицировать О С , с которой общается. Изредка попадается что-то незнакомое, и тогда ответ T C P печатается внизу отчета. Если в ы об¬ наружите неопределенную сигнатуру, вы сможе¬ те помочь в построении базы данных идентифи¬ к а ц и о н н ы х меток О С . Если в ы точно знаете, че¬ му она соответствует, скопируйте ее и отправьте по электронной почте на адрес группы разра¬ ботчиков Nmap. О н и добавят ее в базу данных, чтобы в будущем п р и сканировании м а ш и н ы та¬ кого типа ее м о ж н о было правильно идентифи¬ цировать. Все известные Nmap идентификаци¬ о н н ы е метки T C P содержатся в файле nmap-osfingerprints в каталоге Data установки Nmap. 153
Курс
Защитные средства с открытыми исходными текстами
Отправить через интерфейс (-e имяинтерфейса)
Эта о п ц и я заставляет пакеты сканирования отправляться через определенный интерфейс. На практике это необходимо только на м а ш и н е с несколькими сетевыми платами, или если Nmap не опознает ваш сетевой интерфейс авто¬ матически.
Запуск Nmap в качестве службы П о умолчанию в Windows-версии Nmap запускается как служба. Это означает, что о н постоянно выполняется в ф о н о в о м режиме и может в ы зываться другими программами, запускаться из командных файлов или заданий cron. В Windows служба Nmap управляется и конфигурируется в меню Services Tool. Для этого в меню Control Panel выберите Administrative Tools, а затем Services. Вы увидите Nmap в списке служб; м о ж н о щелкнуть на нем м ы ш ь ю и сконфигурировать его свойства. Эта возможность полезна, если вы хотите, чтобы Nmap в ы п о л н я л сканирование на регулярной основе. М о ж н о настроить Nmap для с к а н и рования вашей сети раз в неделю или раз в месяц с представлением отче¬ тов. М о ж н о сканировать только серверы, чтобы не пропустить значитель¬ ных изменений. Если вы не планируете использовать перечисленные воз¬ можности, лучше отключить эту службу в Windows, чтобы сэкономить ре¬ сурсы и повысить безопасность. Это м о ж н о сделать, щелкнув м ы ш ь ю на службе Nmap в о к н е просмотра служб и заменив Start-up Type (тип запус¬ ка) с Automatic (автоматический) на Manual (вручную). Это изменение вступит в силу после перезагрузки м а ш и н ы . М о ж н о также вручную оста¬ новить службу, щелкнув м ы ш ь ю на к н о п к е Stop.
Флэми Тех советует: Дружественное сканирование Nmap К а к упоминалось ранее, Nmap может вызывать проблемы в сетях при некорректном или неаккуратном п р и м е н е н и и . Вот несколько советов, которые помогут сделать сканирование безопасным. • Тщательно выбирайте исходную точку сканирования. Сканирование изнутри сети даст значительно больше и н ф о р м а ц и и , чем сканирование извне, через межсетевой экран. Поучительно выполнить сканирование обоих видов и сравнить результаты. Н е страшно, если открытый сервер¬ н ы й порт виден изнутри сети; гораздо опаснее, если он виден извне. • Сканирование целесообразно выполнять рано утром или поздно вече ром. Таким образом вы минимизируете вероятность замедления работы ж и з н е н н о важных серверов и пользовательских м а ш и н . 154
Глава 4
Сканеры портов
• Если вы беспокоитесь о перегрузке своей сети, установите в сканирую¬ щую машину старую сетевую карту на 10 Мбит/сек или подключите ее че¬ рез концентратор на 10 Мбит/сек. Таким образом максимальный трафик, который сканирование может создать в сети, не превысит 10 Мбит/сек, что вряд ли перегрузит сеть на 100 Мбит/сек.
Вывод результатов Nmap Nmap генерирует отчет, содержащий каждый обнаруженный IP-адрес, выявленные слушающие порты по этим адресам и соответствующие обще известные имена сервисов (при наличии таковых). Отчет также показывает, является ли порт открытым, фильтруемым или закрытым. Строго говоря, тот факт, что Nmap получил ответ из порта 80 и напечатал в отчете «http», еще не означают, что на компьютере запущен Web-сервер, хотя, скорее все¬ го, это так. Всегда можно проверить любой подозрительный открытый порт, подключаясь с помощью telnet к нужному IP-адресу с указанием номера порта и анализируя полученный ответ. Если там выполняется Web-сервер, то обычно получают ответ, вводя команду G E T / HTTP. Должна быть выда на подразумеваемая домашняя страница в необработанном HTML-виде (а не как красивая Web-страница), что послужит подтверждением функциони рования сервера. То ж е самое можно проделать с другими сервисами, таки ми как F T P и SMTP. Отметим, что в UNIX-версии Nmap кодирует цветом найденные порты в соответствии с их ролью (см. табл. 4.8). Табл. 4.8. Цветовое кодирование вывода Nmap Цвет Красный
Голубой
Жирный черный
Простой ч е р н ы й
Описание Данный номер порта присвоен сервису, который пред¬ лагает некоторую форму прямого входа в систему (как, например, Telnet или FTP). Зачастую эти сервисы ока зываются наиболее притягательными для хакеров. Этот номер порта представляет почтовый сервис, такой к а к S M T P или POP. П о д о б н ы е сервисы также часто являются объектами хакерских атак. Эти сервисы могут предоставлять некоторую ин¬ ф о р м а ц и ю о м а ш и н е или операционной системе (как, например, finger, echo и т.д.). Л ю б ы е другие и д е н т и ф и ц и р о в а н н ы е сервисы или порты.
К а к можно видеть из рис. 4.3, формат вывода позволяет просмотреть отчет и быстро определить, есть ли какие-то сервисы или порты, о кото155
Защитные средства с открытыми исходными текстами
Курс Output
s t a r t i n g nmap v . з.оо С www.in5ecure.0rg/nmap j i n t e r e s t i n g p o r t s on £ 1 3 2 . 1 6 8 . 1 . 3 } : (The 1597 p o r t s s c a n n e d b u t n o t shown b e l o w a r e i n s t a t e : c l o s e d } Port state Service 22/tcp open ssh lii/tcp open surnrpc 1024/tcp open kdm 12 4 1 / t c p open msg Remote o p e r a t i n g s y s t e m g u e s s : L i n u x K e r n e l 2 . 4 . 0 - 2.5.20 u p t i m e 0.936 days r^since Mon May 12 00:30:09 2 0 u 3 j Nmap r u n c o m p l e t e d — l I P a d d r e s s C l h o s t up} s c a n n e d i n 8 seconds
Рис. 4.3. Вывод Nmap рых следует побеспокоиться. Это не означает, что нужно игнорировать все необычные номера, которые не выделены цветом или ш р и ф т о м ( в верси¬ ях U N I X ) . Троянские программы и П О для общения часто отображаются к а к неизвестные сервисы, н о в ы можете поискать таинственный порт в списке общеупотребительных портов в Приложении С или проверить его по списку известных плохих портов, чтобы быстро определить, требует ли он особого внимания. Если его нет в списках, то странный сервис, не ис¬ пользующий общеизвестные номера портов, должен вас насторожить. Журналы Nmap м о ж н о сохранять в различных форматах, включая о б ы ч н ы й или м а ш и н о ч и т а е м ы й текст, и импортировать их в другую про¬ грамму. Однако, если этих возможностей для вас недостаточно, то обсуж¬ даемое далее средство Nlog может помочь придать смысл выводу Nmap. Н а очень больших сетях его использование может оказаться просто спа¬ сением, так к а к просмотр сотен страниц вывода Nmap в поисках зло¬ у м ы ш л е н н и к о в может быстро сделать вас слепым, сумасшедшим или тем и другим. Nlog: Средство сортировки и организации вывода Nmap Nlog Автор/основной контакт: Web-сайт: Платформы: Лицензия: Рассмотренная версия:
H. D. Moore www.secureaustin.com/nlog/ Большинство Linux-платформ Без лицензии (подобно GPL) I. 6.0
Программа Nlog помогает организовать и проанализировать вывод Nmap. Она представляет его в настраиваемом Web-интерфейсе с использо¬ ванием C G I - процедур. Nlog облегчает сортировку данных Nmap в единой 156
Глава 4
Сканеры портов
базе данных с возможностью поиска. В больших сетях такая возможность ж и з н е н н о важна, она делает Nmap действительно полезным. Остин Х.Д. Мур собрал эти программы воедино и сделал их доступными вместе с дру¬ гими интересными проектами на своем Web-сайте www.secureaustin.com. Программа Nlog расширяема: м о ж н о добавлять другие процедуры, чтобы предоставлять больше и н ф о р м а ц и и и запускать дополнительные тесты на обнаруживаемых открытых портах. Автор предлагает несколько таких д о п о л н е н и й и инструкции п о созданию новых. Nlog опирается на Perl и работает с файлами журналов, сгенерированных Nmap версии 2.0 и выше.
Установка Nlog Для установки и подготовки Nlog следуйте представленным н и ж е инструкциям. 1. Возьмите ф а й л ы с компакт-диска, прилагаемого к этой книге, или загрузите их с Web-сайта Nlog. 2. Распакуйте ф а й л ы Nlog с п о м о щ ь ю команды tar -zxvf. Она распа кует и аккуратно разложит все ф а й л ы для Nlog в каталоге с именем nlog-1.6.0 ( ц и ф р ы могут быть другими, о н и зависят от версии). 3. М о ж н о воспользоваться к о м а н д н ы м файлом, предоставленным для автоматической установки и подготовки программы. Отме¬ тим, что перед запуском к о м а н д н ы й файл необходимо отредакти¬ ровать. Перейдите в каталог Nlog и с п о м о щ ь ю текстового редак¬ тора, такого к а к vi или E M A C S , откройте файл installer.sh и, где требуется, задайте значения переменных, подходящие для вашей системы.
Флэми Тех советует: Рекомендации по использованию текстовых редакторов в UNIX При изучении этой книги вам понадобится редактировать тек стовые файлы для задания программных переменных, к о н ф и гураций установок и для других целей. Имеется множество хороших тек стовых редакторов для U N I X , включая vi, E M A C S и Pico. У каждого и з них есть свои достоинства и недостатки, н о в этой книге я буду предполагать использование E M A C S , так как это самый дружественный для X-Window, простой в использовании и доступный на большинстве систем редактор. В Mandrake Linux E M A C S располагается в X-Window в меню Start, подменю Programming. E M A C S можно запустить и з командной строки, набрав emacs или emacs имяфайла, чтобы отредактировать файл с заданным именем.
157
Курс
Защитные средства с открытыми исходными текстами
Будьте осторожны при использовании текстовых редакторов для и с п о л н и м ы х или бинарных файлов. Л ю б ы е и з м е н е н и я , сделанные в этих фай¬ лах, могут разрушить программу, которую о н и поддерживают. Б и н а р н ы й файл м о ж н о распознать п о нечитаемому содержимому. Обычно тексто¬ вые редакторы используют только для м о д и ф и к а ц и и текстовых файлов. E M A C S предоставляет вверху привычное меню для выбора операций с файлом, таких к а к сохранение и закрытие. Д л я перемещения по экрану и выбора м е н ю или текста м о ж н о использовать мышь. М о ж н о применять также р я д клавишных сокращений. Наиболее полезные и з них перечис л е н ы ниже. Примечание: «Ctrl+» означает нажатие и удержание к л а в и ш и Ctrl п р и нажатии следующей клавиши. Там, где перечислены две клавиш¬ н ы е к о м б и н а ц и и , набирайте их п о очереди. Клавишные сокращения EMACS CTRL+x, CTRL+c CTRL+g
CTRL+x, k CTRL+x, s Ctrl+x, d
CTRL+a CTRL+e CTRL+s
Функции Закрывает E M A C S . Предлагает сохранить те¬ кущий файл, если это еще н е сделано. Выход. Если в ы выполняете клавишную ком¬ бинацию, из которой н е можете выйти, то это сокращение вернет вас в основной буфер. Закрывает текущий файл. Сохраняет текущий файл. Открывает с п и с о к каталогов, на котором мож¬ но п р и п о м о щ и м ы ш и открывать ф а й л ы и вы¬ полнять другие действия. Перемещает курсор в начало строки. Перемещает курсор в конец строки. П о и с к введенного текста.
Имеется множество других к л а в и ш н ы х к о м б и н а ц и й и макросов для про¬ двинутых пользователей. Дополнительную и н ф о р м а ц и ю о E M A C S мож¬ но найти на следующих сайтах: Д о м а ш н я я страница E M A C S : www.gnu.org/software/emacs/ Краткий справочник E M A C S : http://seamons.com/emacs/
Отредактируйте следующие параметры, задав корректные для своей установки значения. CGIDIR=/var/www/cgi/ HTMLDIR=/var/www/ 158
Глава 4
Сканеры портов
Задайте маршрут к CGI-каталогу. Выше приведены значения для подразумеваемой установки в Mandrake. Н е забудьте ввести значения, корректные для вашей системы. Для других систем Linux выясните маршрут к этому каталогу, воспользовавшись командой locate. Эта полезная команда найдет любые файлы, содержащие введенный после нее текст. 4. Сохраните файл, а затем выполните его, набрав: . / i n s t a l l . sh
К о м а н д н ы й файл установки автоматически скопирует C G I ф а й л ы в CGI-каталог и основной файл H T M L в HTML-каталог. О н также изменит права доступа к этим файлам, чтобы они могли исполняться Web-навигатором. 5. В качестве конечного шага перейдите в HTML-каталог и отредак тируйте файл nlog.html. Измените инструкцию POST, указав в ней ссылку на ваши файлы cgi. Ссылка должна совпасть с приведенной выше (/var/www/cgi/). Сохраните файл. Теперь все готово к работе.
Использование Nlog В этом раздел описано использование Nlog. 1. Прежде всего, необходимо создать для просмотра файл базы данных Nlog. Для этого нужно преобразовать существующий журнал Nmap. Не забудьте предварительно сохранить журналы Nmap в машиночита¬ емом виде (опция -m в командной строке), чтобы можно было исполь зовать их в Nlog. Затем можно воспользоваться процедурой, поставля емой вместе с Nlog, для преобразования журнала Nmap в формат базы данных Nlog. Чтобы преобразовать машиночитаемый журнал Nmap, выполните процедуру log2db.pl, набрав в командной строке: l o g 2 d b . p l журнал_Nmap
Замените журнал_Nmap маршрутным именем файла журнала. 2. Чтобы объединить несколько журналов в одну базу данных, вы¬ полните команду вида c a t каталог_журналов_Nmap/*
| s o r t -u > сводный_журнал_Nптаp
3. Замените каталог_журналов_Nmap на маршрутный префикс ж у р нальных файлов Nmap и сводный_журнал_Nmap на имя файла, в к о торый вы хотите свести имеющиеся журналы. Утилита sort отсор тирует д а н н ы е в алфавитном порядке и исключит повторения. 4. Запустите Web-навигатор и перейдите в HTML-каталог (/var/www/ из предыдущего раздела). 159
Курс
Защитные средства с открытыми исходными текстами
Рис. 4.4. Образ экрана Nlog 5. Выберите файл базы данных Nlog, который вы хотите просмот¬ реть, и щелкните м ы ш ь ю на Search ( см. рис. 4.4). 6. Теперь м о ж н о открыть базу данных Nlog и выполнить п о и с к по следующим критериям: • Хосты по IP-адресу • Порты по номеру • Протоколы по и м е н и • П о состоянию порта (открытый, закрытый, фильтруемый) • П о выявленной О С М о ж н о также использовать любую к о м б и н а ц и ю этих крите риев. Н а п р и м е р , м о ж н о искать по л ю б ы м Web-серверам (протокол http) на системах Windows с состоянием порта «открытый».
Дополнения для Nlog К а к упоминалось ранее, Nlog легко расширяется. М о ж н о писать д о п о л н е н и я для в ы п о л н е н и я других проверок или ф у н к ц и й на всех найден ных протоколах или портах. В действительности имеется несколько до¬ п о л н е н и й , включаемых с вместе программой. Если есть доступное допол160
Глава 4
Сканеры портов
нение, то вслед за портом будет располагаться строка гипертекста, и мож но щелкнуть на ней м ы ш ь ю , чтобы выполнить подпрограмму. В табл. 4.9 перечислены встроенные расширения. Табл. 4.9. Встроенные р а с ш и р е н и я Nlog Расширение Nlog-rpc.pl
Nlog-smb.pl
Nlog-dns.pl Nlog-finger.pl
Описание Это д о п о л н е н и е для каждого найденного сервиса R P C пытается определить, есть ли к нему какие-либо теку щ и е присоединения и экспорты. Для всех узлов, в ы п о л н я ю щ и х NetBIOS (таковыми бу дут большинство м а ш и н Windows), делается попытка выборки общих ресурсов, списков пользователей и л ю бой другой доступной д о м е н н о й и н ф о р м а ц и и . И с п о л ь зуются имена пользователей, заданные в файле nlogconfig.ph. Для IP-адресов выполняется стандартная команда nslookup. (Подробнее о nslookup см. в главе 2.) Выполняются запросы к в ы я в л е н н ы м службам finger, чтобы посмотреть, какая и н ф о р м а ц и я будет выдана.
Создание собственных расширений Nlog Если вы изучите дополнительные процедуры, то увидите, что это обычные программы на я з ы к е Perl. Если у вас есть опыт работы с Perl, вы в состоянии писать собственные р а с ш и р е н и я , позволяющие выполнять для просканированных хостов практически произвольную ф у н к ц и ю . Н а пример, м о ж н о извлечь и вывести HTTP-заголовки для всех обнаружен ных Web-серверов, чтобы было легче их идентифицировать. Н е стоит с л и ш к о м этим увлекаться, поскольку такие программы, к а к Nessus (рас сматривается в главе 5), могут производить значительно более обстоя¬ тельные проверки, но если вам нужен только заголовок или какой-то не¬ большой фрагмент и н ф о р м а ц и и , то п р и м е н е н и е Nlog будет хорошим ре¬ шением. Nlog поставляется с образцом пользовательского д о п о л н е н и я , на з в а н н ы м nlog-bind.pl. Эта процедура предназначена для опроса сервера D N S и выдачи используемой версии B I N D (Berkeley Internet Name Domain), однако она не закончена и служит л и ш ь в качестве упражнения для создания собственных дополнений. Образец находится в каталоге /nlog*/extras/bind/. Следующие шаги помогут вам дописать процедуру. Этот подход м о ж н о использовать для самостоятельного создания любой пользовательской процедуры. 161
Курс
Защитные средства с открытыми исходными текстами
1. Перейдите в упомянутый каталог и скомпилируйте процедуру с п о м о щ ь ю компилятора G c c , используя следующую команду: gcc -o b i n d i n f o binfo-udp.c
В каталоге будет создан б и н а р н ы й ф а й л bindinfo. 2. Скопируйте этот файл в каталог, где хранятся ваши Nlog-процедуры. 3. И з м е н и т е у него режим доступа, сделав его и с п о л н и м ы м (помни¬ те, что для в ы п о л н е н и я этой к о м а н д ы вы д о л ж н ы быть суперполь¬ зователем): chmod 700 b i n d i n f o
4. Откройте ф а й л nlog-config.ph в текстовом редакторе. 5. Добавьте строку вида: $ b i n d i n f o = "маршрут_к_bindinfo";
Замените м а р ш р у ^ О ^ ^ ^ на маршрутное и м я каталога, в кото¬ рый вы поместили б и н а р н ы й файл. 6. Сохраните текстовый файл. 7. Теперь отредактируйте ф а й л nlog-search.pl. Это Perl-процедура, которая создает страницу с результатами поиска. 8. Найдите раздел, который выглядит следующим образом: 1: # here we place each c g i - h a n d l e r i n t o a temp v a r f o r read¬ ability. 2: 3: $cgiSunRPC = "sunrpc+$cgidir/nlog-rpc.pl+SunRPC"; 4: $cgiSMB = "netbios-ssn+$cgidir/nlog=smb.pl+NetBIOS"; 5: $ c g i F i n d e r = " f i n d e r + $ c g i d i r / n l o g - f i n d e r . p l + F i n d e r " ; 6: 7: $ q c g i l i n k s = "$cgiSunRPC $cgiSMB $ c g i F i n d e r " ;
9. Между строками 5 и 6 добавьте следующую строку: $cgiBIND = "domain+$cgidir/nlog-bind.pl+BIND";
10. Отредактируйте строку 7, чтобы она имела следующий вид: $ q c g i l i n k s = "$cgiSunRPC $cgiSMB $ c g i F i n d e r
$cgiBIND";
В строке 7 вы можете аналогичным образом добавить ссылки на любые другие созданные вами процедуры. 11. Скопируйте ф а й л nlog-bind.pl из этого каталога в свой cgi-каталог (var/www/cgi в Mandrake Linux), и измените режим доступа (chmod), что¬ бы приложение могло его прочитать. 162
Глава 4
Сканеры портов
Теперь, когда Nmap найдет открытым порт 53 (обычно это D N S - с е р вер), вы можете щелкнуть м ы ш ь ю на ссылке, которую создает Nlog, и в ы яснить, какая версия B I N D выполняется. Следуя логике этого примера, м о ж н о написать дополнительные процедуры для р а с ш и р е н и я Nlog.
Интересные применения Nlog и Nmap Теперь вы умеете сканировать порты с п о м о щ ь ю Nmap, а также сор¬ тировать и анализировать результаты с помощью Nlog. Что ж е можно де¬ лать с этими новыми игрушками? Существует несколько интересных при¬ ложений сканеров портов. Приведем несколько реальных примеров, кото¬ р ы е есть смысл попробовать в вашей сети (или в чьей-нибудь еще, с разре ш е н и я хозяев, конечно!). Возможно, полученные результаты вас удивят. Выявление
малоупотребительных
сервисов
Если имеется сервис или номер порта, который виден только на од н о й или двух машинах, то, вполне возможно, это нечто чужеродное для вашей сети. Это может быть троянская программа или з а п р е щ е н н ы й сер вис (например, Kazaa, I C Q или M S N ) или неверно сконфигурированная м а ш и н а , в ы п о л н я ю щ а я сервер F T P или и н о й сервер общего доступа. М о ж н о настроить Nlog, чтобы сгенерировать с п и с о к интересующих вас сущностей в порядке возрастания числа их вхождений, от самых редких к самым частым. Вероятно, вы не захотите включать в это сканирование серверы своей организации, так к а к на них будет обнаружено множество сервисов с о д и н о ч н ы м и вхождениями. Однако не вредно просканировать эти серверы отдельно, либо для тонкой настройки, либо для исключения посторонних сервисов. Охота на незаконные/неизвестные
Web-серверы
Вероятно, если в вашей организации поддерживается несколько Web-серверов, то при сканировании сети несколько раз проявится сервис H T T P . Однако, вполне возможно, что о н проявится не только там, где вы ожидали его увидеть. Некоторые производители настольных компьюте¬ ров по умолчанию загружают теперь на свои м а ш и н ы небольшие Webсерверы для использования персоналом технической поддержки. К сожа л е н и ю , зачастую эти Web-серверы являются убогими программами с д ы рами в безопасности. Web-серверы м о ж н о также обнаружить на принте¬ рах, маршрутизаторах, межсетевых экранах и даже на коммутаторах и другом специализированном оборудовании. Эти серверы могут понадо¬ биться для настройки оборудования, но если о н и не используются, их н е 163
Курс
Защитные средства с открытыми исходными текстами
обходимо отключить. П о умолчанию подобные мини-серверы сконфигу¬ рированы без парольной защиты и могут предоставить хакеру плацдарм на д а н н о й м а ш и н е . О н и могут также открыть доступ к файлам на маши¬ нах, если нарушитель знает, к а к и м и манипулировать. Проведите скани¬ рование с целью выявления скрытых Web-серверов и либо выключите их, либо защитите к а к следует. Необходимо также поискать порты, отличные от 80, которые обычно используются для HTTP. В табл. 4.10 содержится краткий с п и с о к номеров портов для Web-сервиса. Табл. 4.10. Употребительные альтернативные порты Web-серверов Употребительный номер порта 81 88 443 8000-8002 8080 8888
Протокол Альтернативный Web-сервис Web-сервис Https, з а щ и щ е н н ы й Web-сервис Web-сервис Web-сервис Web-сервис
Сканирование с целью выявления серверов, выполняющихся на на¬ стольных системах Развивая предыдущий пример, ограничим диапазон IP-адресов не¬ серверными м а ш и н а м и и зададим диапазон портов от 1 до 1024. В резуль¬ тате будут выявляться настольные м а ш и н ы с сервисами, которые обычно выполняются на серверах, например, электронная почта, Web и FTP. Е с ли для этого нет уважительной п р и ч и н ы (например, PCAnywhere), подоб н ы е сервисы на настольных машинах запускаться н е должны. Охота на троянские
программы
Чтобы устроить в сети охоту на троянские программы, выполните сканирование сети и преобразуйте результаты в формат базы данных Nlog. Откройте страницу поиска Nlog, выберите порты и задайте диапа¬ зон от 30000 до 65400. Это излюбленный диапазон для троянских п р о грамм, так к а к о н находится в стороне от обычных сервисов и поэтому т р о я н ц ы зачастую остаются незамеченными — если, конечно, в ы н е п р и бегаете к с к а н и р о в а н и ю портов сети. С а м п о себе факт использования сервисами портов с большими номерами н е доказывает, что это т р о я н ские программы, н о обратить в н и м а н и е на них, безусловно, стоит. Сужая п о и с к д о м а ш и н ы и номера порта, м о ж н о определиться с н и м и , проверяя сервисы, запущенные на этих машинах, или подключаясь посредством
164
Глава 4
Сканеры портов
telnet к этим портам и проверяя, выдается ли приветственная и н ф о р м а ц и я сервиса. Проверка
внешнего
представления
сети
Поместите м а ш и н у с Nmap вне вашей сети, используя коммутируе¬ мое или д о м а ш н е е ш и р о к о п о л о с н о е соединение, и попробуйте просканировать общедоступные IP-адреса организации. Проделав это, вы уви дите, какие сервисы доступны из Интернет (и, таким образом, видны для любого человека, умеющего обращаться со сканером портов). Это н а и б о лее уязвимая часть сети, и для общедоступных сервисов следует принять дополнительные меры безопасности, используя сканер уязвимостей, на¬ пример, о п и с а н н ы й в следующей главе. Внешнее сканирование покажет также, правильно ли межсетевой э к р а н фильтрует порты, которые он пе¬ реправляет по адресам во внутренней Л В С . Итак, вы познакомились с замечательными возможностями, кото р ы е предоставляют сканеры портов, в частности Nmap. С их п о м о щ ь ю м о ж н о определить, что выполняется в сети, и какие места остаются от крытыми. Н о к а к узнать, уязвимы ли эти открытые точки? Н а самом ли деле безопасны сервисы, которые сознательно сделаны открытыми и, к а к предполагается, з а щ и щ е н н ы м и ? Это выходит за рамки ф у н к ц и й сканера портов и попадает в область сканирования уязвимостей — предмет следу¬ ю щ е й главы.
165
Курс
Защитные средства с открытыми исходными текстами
Глава 5. С к а н е р ы у я з в и м о с т е й Теперь, когда вы защитили свой периметр с п о м о щ ь ю межсетевого экрана и просканировали порты внутренней и в н е ш н е й сетей, что е щ е м о ж н о сделать, чтобы повысить безопасность сети? Межсетевые э к р а н ы не позволят легко проникать во внутреннюю Л В С извне. Сканирование портов выявит запущенные сервисы и даст возможность исключить не¬ нужные. Однако, к а к быть с сервисами, которые необходимы? Вы долж¬ н ы поддерживать Web-серверы и серверы электронной почты для о б щ е н и я с в н е ш н и м миром. Могут понадобиться и другие приложения, такие как FTP, S S H , Telnet и индивидуальные приложения баз данных. К а к уз¬ нать, безопасны л и эти сервисы? Чтобы оценить р и с к и , необходимо знать угрозы и методы осуществления несанкционированного доступа к ин¬ ф о р м а ц и и и ресурсам организации.
Обзор главы Изучаемые концепции: • Типичные уязвимости прикладного уровня • Настройка и конфигурирование сканирования уязвимостей • К а к выполнить безопасное и этичное сканирование уязвимостей • П р и м е р ы конфигураций сканирования • Чего н е делает сканирование уязвимостей Используемые инструменты: Nessus и NessusWX Что ч а щ е всего делает систему уязвимой? П р и л о ж е н и я . Взглянув на эталонную модель В О С , вы увидите, что уровень приложений находится на в е р ш и н е стека сетевых к о м м у н и к а ц и й , что делает его самым сложным и изменчивым. Сканеры уязвимостей позволяют проверить различные приложения в системе на предмет наличия д ы р , которыми могут восполь зоваться. Сканер уязвимостей может также использовать низкоуровневые средства, такие к а к сканер портов, для выявления и анализа возможных приложений и протоколов, выполняющихся в системе. Номер уровня модели ВОС Уровень 7
Название уровня
Примеры протоколов
Прикладной уровень
Уровень 6 Уровень 5 Уровень 4
Уровень представления Уровень сеанса Транспортный уровень
D N S , FTP, H T T P , S M T P , S N M P , Telnet XDR RPC NetBIOS, TCP, U D P
166
Глава 5
Уровень 3 Уровень 2 Уровень 1
Сканеры уязвимостей
Сетевой уровень К а н а л ь н ы й уровень Физический уровень
A R P , IP, I P X , O S P F Arcnet, Ethernet, Token ring Коаксиальный кабель, оптоволокно, витая пара
Выявление дыр в безопасности ваших систем Необходимо помнить, что компьютерная безопасность сродни дру¬ гим видам безопасности. Средний компьютерный нарушитель предпочи¬ тает цели подоступнее и попроще. Существуют, конечно, мастера взлома систем, которые охотятся за определенными целями и разрабатывают их в течение месяцев или даже лет, п р и м е н я я физические, морально-психо¬ логические и технические средства. И , как в случае физической безопас¬ ности, если кто-то действительно захочет проникнуть в ваш компьютер, и имеет для этого достаточно денег, времени и ресурсов, то он, вероятно, добьется успеха. Однако, если вы не работаете в банке, правительствен н о м учреждении или к о м п а н и и из Fortune 500, то вам, скорее всего, не стоит волноваться, что такой оберхакер будет вас преследовать. Вам надо опасаться рядовых компьютерных преступников, автоматических червей и вирусов. Ваша работа состоит в том, чтобы в вашей сети было меньше д ы р , чем у соседа, чтобы хакеры обошли вас стороной при выборе цели для взлома. Это как автомобиль с хорошей сигнализацией — только п о настоящему о п ы т н ы й и мотивированный угонщик будет пытаться ук¬ расть его. В действительности только очень небольшой процент компьютер¬ ных преступников исследуют и разрабатывают собственные методы атак. Большинство хакеров действуют с п о м о щ ь ю опубликованных и извест¬ ных дыр в безопасности и средств, показывающих, как проникнуть в ва¬ ш и компьютеры. Подобную и н ф о р м а ц и ю м о ж н о найти на бесчисленных Web-сайтах, а хакерские инструменты, использующие эти д ы р ы , доступ н ы для загрузки. Все основные сбои в работе Интернет, вызванные компьютерными преступлениями, возникали в результате использования дыр в безопасно сти, известных за некоторое время до инцидента. Обычно эпидемия рас пространяется через месяцы или даже годы после того, как становится и з вестна лежащая в ее основе уязвимость. П р и нашествии Code Red в 2001 г. использовалась уязвимость, корректирующая заплата для которой была доступна более года; то же с червем Nimda. Червь S Q L Slammer, атаковав¬ ш и й базы данных S Q L в феврале 2003 г., действовал спустя полгода после выпуска программной коррекции. Ф а к т состоит в том, что большинство вторжений в компьютеры используют хорошо известные методы и уязви мости, для которых доступны заплаты или з а щ и т н ы е р е ш е н и я . Так н а з ы 167
Курс
Защитные средства с открытыми исходными текстами
ваемое мгновенное использование уязвимостей и неопубликованных дыр в безопасности — относительная редкость. Почему люди пренебрегают простыми вещами и не заделывают ды¬ ры в безопасности своих систем? Если бы они это делали, то было бы зна¬ чительно меньше компьютерных преступлений и к н и г и , подобные этой, возможно, не существовали бы. Однако множество систем с множеством уязвимостей продолжает существовать по тысяче причин: • Нехватка времени или персонала. Организации сокращают расхо¬ д ы и в трудные времена увольняют технический персонал ( и н ф о р м а ц и о н н ы е технологии ( И Т ) не приносят прибыли). Иногда ф у н к ц и и И Т полностью передаются сторонним организациям. И хотя зачастую это практичное решение, в н е ш н и е организации, поддер¬ ж и в а ю щ и е локальные сети, далеко не всегда считают информаци¬ онную безопасность своей первейшей обязанностью. Главное для них — бесперебойная работа сети. Удовлетворение запросов поль зователей оказывается важнее безопасности. • Опасения в о т н о ш е н и и стабильности системы. Хорошо известно, что производители систем при выпуске заплат порой исправляют одну вещь и портят две других. Для критически важных систем за траты времени и ресурсов для надлежащего тестирования п р о граммных коррекций зачастую превышают выгоды от обновления. • Слишком много заплат, чтобы с ними управиться. Если вы являетесь подписчиком Windows Update, сервиса коррекций Microsoft, то вы, вероятно, как минимум раз в неделю получаете уведомление о необ ходимости обновить или залатать систему. Для занятых системных администраторов это может быть слишком большой нагрузкой в до¬ полнение к их обычным обязанностям. Действительно, было прове¬ дено исследование, показавшее, что расходы на корректировку про¬ граммного обеспечения нередко превышают его начальную цену. • Невежество. С и с т е м н ы е администраторы м н о г и х о р г а н и з а ц и й просто не знают о существовании проблемы и наличии заплаты. Теперь, при автоматическом обновлении от Microsoft, эта пробле¬ ма для систем Windows стала менее острой, но она остается для дру¬ гих производителей и менее известного программного обеспече¬ ния. Даже для Windows существует несколько несовместимых ме неджеров заплат. Это одна из п р и ч и н , почему S Q L Slammer так бы стро распространился, — стандартный сервис обновления Windows просмотрел его. Е щ е один момент, облегчающий ж и з н ь хакерам, состоит в том, что обычно имеется несколько различных путей п р о н и к н о в е н и я в систему. 168
Глава 5
Сканеры уязвимостей
Н а самом деле, для множества выполняемых сервисов может существо вать десяток или больше потенциальных о к о н для входа в подключенный к Интернет сервер. Если атака одного типа не работает, всегда м о ж н о по¬ пробовать другую. В следующих разделах описаны некоторые возможные способы, с п о м о щ ь ю которых з н а ю щ и й человек может вызвать разруше¬ н и е системы организации. Некоторые из них могут быть н е п р и м е н и м ы к вашей сети, но вполне возможно, что найдется по крайней мере два или три потенциальных источника уязвимости.
Переполнение буфера К а к упоминалось в главе 4, переполнение буфера является, несом н е н н о , наиболее популярным способом взлома систем. Первым докумен т и р о в а н н ы м использованием переполнения буфера был Интернет-червь, в ы п у щ е н н ы й Робертом Моррисом 2 ноября 1988 г. О н был назван червем Morris по и м е н и автора, и был создан только для того, чтобы доказать, что это м о ж н о сделать. Он работал, используя ошибку в программе finger и распространяя себя с одной м а ш и н ы на другую. Для своего тиражирова н и я он использовал плохую конфигурацию Sendmail и rsh. Предполага лось, что он скопирует себя только на несколько систем. Н о при програм мировании червя М о р р и с сделал ошибку, и тот быстро распространился по всей Сети, состоявшей тогда л и ш ь из нескольких тысяч систем. Червь поставил на колени к р у п н е й ш и е университеты и другие организации, пытавшиеся справиться с быстро распространяющейся о ш и б к о й . Это стало зарей новой эры для компьютерных хакеров и открыло глаза мно¬ гим из тех, кто считал Интернет безопасным и дружественным местом. С тех пор возможность переполнения буфера была найдена почти во всех важных программах и часто использовалось теми, кто пытался получить н е с а н к ц и о н и р о в а н н ы й доступ к системам. К а к защитить себя от переполнения буфера? Если вы не хотите отла живать все применяемое вами программное обеспечение (что, между прочим, подразумевает доступ ко всем исходным текстам!), остается ждать, когда кто-то обнаружит ошибку и сообщит о ней, а затем — когда программистская к о м п а н и я выпустит заплату. К сожалению, отслежива¬ н и е выпускаемых заплат и определение того, какие из них имеют к вам отношение, не говоря уже об их тестировании и установке, способно за нять все рабочее время. М н о г и е организации предпочитают просто не беспокоиться, а организации, прилежно устанавливающие все заплаты, зачастую не успевают делать это вовремя. Даже несколько собственных систем корпорации Microsoft пали жертвой эпидемии S Q L Slammer, так как на некоторых SQL-серверах не были установлены программные к о р р е к ц и и , которые корпорация сама выпустила! Одним из хороших спосо169
Курс
Защитные средства с открытыми исходными текстами
бов узнать, имеются ли условия для переполнения буфера в ваших п р и л о жениях, является их тестирование с п о м о щ ь ю программного обеспечения сканирования уязвимостей. Это позволит обнаружить большинство из¬ вестных переполнений буфера, существующих в системе, и своевременно применить корректирующие заплаты, необходимые для устранения этих условий.
Слабые места маршрутизаторов и межсетевых экранов Эти устройства являются первой линией обороны против посторон них, пытающихся проникнуть в вашу корпоративную сеть. Однако, в свя¬ зи с возрастающей сложностью устройств и изощренностью атакующих, при некорректном конфигурировании этот рубеж может оказаться сла бым. Владение я з ы к о м маршрутизатора для Cisco IOS — по сути отдель ная специальность. Если в организации нет технических специалистов по оборудованию Cisco, то, вероятно, маршрутизаторы Cisco с точки зрения безопасности сконфигурированы н е оптимально. А межсетевые э к р а н ы конфигурировать е щ е сложнее. К а к вы узнали и з главы 3, одна неверная строка конфигурации может свести на нет межсетевую защиту. Замотан н ы й технический специалист, п ы т а ю щ и й с я побыстрее настроить доступ для сотрудников или внешних пользователей, ч а щ е будет ошибаться в сторону р а с ш и р е н и я доступа, а н е лучшей защиты. Даже когда наборы правил н а п и с а н ы правильно, на маршрутизато¬ рах нередко выполняются слабые или опасные сервисы. М н о г и е маршру тизаторы для интерактивного входа по-прежнему полагаются на Telnet, а не на безопасное приложение, такое к а к S S H . Это открывает дверь для атак с п о м о щ ь ю сетевого анализатора путем перехвата к о м б и н а ц и и вход¬ ного и м е н и и пароля. Н а некоторых маршрутизаторах до сих пор выпол няются finger и другие службы, способные стать каналом утечки инфор¬ мации. Даже межсетевые э к р а н ы — наиболее з а щ и щ е н н ы е устройства — н е обладают абсолютной невосприимчивостью к атакам. Некоторые межсе¬ тевые э к р а н ы строятся поверх обычных операционных систем, таких к а к Windows или U N I X , и поэтому могут быть уязвимы для всех обычных атак уровня О С . Даже если операционная система межсетевого экрана являет ся собственной, в ней могут существовать уязвимости. М н о г и е межсете вые э к р а н ы взаимодействуют с пользователями при п о м о щ и Web-сервера, а значит, могут быть использованы д ы р ы в Web-интерфейсе. Обеспе¬ ч е н и е собственной безопасности этих средств передовой л и н и и обороны критически важно и должно считаться одним из высших приоритетов. Межсетевые экраны имеют также свойство обеспечивать безопас¬ ность, которая, по выражению Билла Чезвика, «тверда снаружи, мягка вну170
Глава 5
Сканеры уязвимостей
три». Это означает, что через них трудно проникнуть извне, но против атак изнутри сети почти никакой защиты не предусматривается. Необходимо добиться, чтобы внутренние системы были по крайней мере минимально защищены, а сетевая безопасность не зависела целиком и полностью от межсетевых экранов.
Использование уязвимостей Web-серверов В н а ш е время практически каждая к о м п а н и я должна иметь Web-сер вер. Отсутствие такового приравнивается к отсутствию телефона или фа кса. Web-серверы печально известны наличием о ш и б о к и дыр в безопас ности. Сама идея Web-сервера — возможность брать с сервера ф а й л ы без к а к о й - л и б о аутентификации — создает потенциал для брешей в защите. Большое число дыр обусловлено все возрастающим числом и разнообра¬ зием протоколов и команд, с которыми приходится иметь дело Web-сер верам. Когда Web-страницы состояли только из H T M L , держать все по контролем было значительно легче. Однако сейчас Web-серверы д о л ж н ы интерпретировать ASP, P H P и другие т и п ы трафика, содержащего испол¬ н и м ы й код, и по мере того как Web-приложения становятся все сложнее, проблемы безопасности будут только обостряться. Некоторые Web-серверы з а щ и щ е н ы лучше, чем другие, но у каждо го есть свои недостатки. А взлом Web-сервера может вызвать не только смущение из-за обезображенной Web-страницы, если этот сервер осуще ствляет также доступ к базе данных и другим внутренним системам, что в н а ш е время является общепринятым.
Использование уязвимостей почтовых серверов В электронный век электронная почта ж и з н е н н о важна для взаимо действия организаций. Однако, почтовые серверы традиционно служили излюбленными целями атакующих. С а м ы й первый агент передачи почты, Sendmail, был нашпигован уязвимостями и продолжает вызывать кон¬ вульсии у профессионалов в области и н ф о р м а ц и о н н о й безопасности. Н е м н о г и м лучше флагманский почтовый сервер Exchange корпорации Microsoft. Обычно и м е н н о серверы Web и электронной почты оказывают ся наиболее уязвимыми точками организаций.
Серверы DNS Серверы, которые управляют и поддерживают д о м е н н ы е имена ва шей организации, являются привлекательной целью для хакерам. Основ н о й D N S - с е р в е р , B I N D (Berkeley Internet Name Domain), постоянно на171
Курс
Защитные средства с открытыми исходными текстами
ходился в первой десятке наиболее эксплуатируемых хакерами сервисов. D N S — старая программа, и сама ее структура способствует наличию дыр (вместо модульной архитектуры — один м о н о л и т н ы й бинарный файл). D N S часто запускается от и м е н и суперпользователя, что делает его взлом еще более опасным. К р о м е того, поскольку D N S трудно настраивать и его плохо понимают, о н зачастую сконфигурирован неправильно и з а щ и щ е н плохо. Настройки межсетевых экранов для D N S нередко сконфигуриро¬ ваны неверно — большинство системных администраторов разрешают нефильтрованный доступ внутрь и наружу. Web, электронная почта и другие сервисы более заметны, и техниче ский персонал уделяет им больше в н и м а н и я ; в то ж е время, д ы р ы в D N S предоставляют самый быстрый и легкий способ стереть вашу организа ц и ю с карты Интернет. Д а ж е если сохраняется IP-связность с в н е ш н и м миром, без корректной работы сервиса D N S для ваших доменов никто не сможет добраться до ваших Web-серверов, и н и одно электронное сооб щ е н и е до вас не дойдет. На самом деле, D N S считается самым слабым ме стом всей инфраструктуры Интернет и потенциальной целью для атак к и бертеррористов. Вместо того чтобы взламывать серверы или прорываться через межсетевые э к р а н ы , атакующий может просто организовать атаку на доступность вашего сервиса D N S , э ф ф е к т и в н о отключая вашу органи зацию «от эфира». И л и , хуже того, используя атаку типа «отравление к э ша D N S » , хакер может по своему выбору перенаправить потенциальных посетителей вашего Web-сайта.
Использование уязвимостей баз данных М н о г и е Web-сайты организаций предоставляют в н е ш н и й доступ к своим базам данных. Н а п р и м е р , м о ж н о дать клиентам возможность по¬ мещать и оперативно проверять статус заказов, разрешить служащим по¬ лучать через Web и н ф о р м а ц и ю по программам социальной поддержки или предоставить поставщикам доступ к системе, чтобы автоматически обновлять время поставки. Такие ф у н к ц и и обычно обращаются к внут ренней базе данных организации. Это выводит Web-сайты за рамки одно¬ мерных оперативных изданий, к а к и м и о н и были в р а н н и е д н и Интернет, и делает их расширением ваших систем для внешних пользователей. Од н а к о , поступая так, вы активизируете большой потенциальный источник уязвимостей. Зачастую дополнительных мер безопасности для внешнего использования подобных систем не предпринимается. И н ы м и словами, предполагается, что пользователи будут добропорядочными и не будут совершать я в н о враждебных действий. Б ы л о обнаружено, что программ¬ ное обеспечение внешнего интерфейса Web, такое как ColdFusion и PHP, н е обладает д о с т а т о ч н ы м и средствами а у т е н т и ф и к а ц и и и содержит 172
Глава 5
Сканеры уязвимостей
о ш и б к и , приводящие, в частности, к переполнению буфера. Специально созданный универсальный локатор ресурсов может направить SQL-инст рукции или другие команды базы данных п р я м о в сердце вашей системы. Червь S Q L Slammer, быстро распространившийся по всему миру в начале 2003 г. и и с п о л ь з о в а в ш и й с л а б ы е места в S Q L Server к о р п о р а ц и и Microsoft, показал, как это может случиться.
Управление пользователями и файлами Эта область является одной из самых болезненных для и н ф о р м а ц и о н н о й безопасности. Вы д о л ж н ы предоставить пользователям доступ к системам и программам, которые нужны и м для в ы п о л н е н и я работы. Од н а к о , ключевым п р и н ц и п о м хорошей защиты является п р и н ц и п миними зации привилегий, то есть предоставление пользователям м и н и м а л ь н о д о статочного для работы доступа — и не больше. Определение этого уровня — хитрая задача. Предоставьте им с л и ш к о м мало прав, и вас задергают звон ками из службы п о м о щ и пользователям и жалобами; дайте с л и ш к о м мно¬ го прав, и в ы ослабите защиту своей системы. Большинство администра¬ торов будут отклоняться в сторону смягчения правил доступа, так как это уменьшает объем сваливающейся на них работы. К сожалению, системы, дружественные пользователям, такие как Windows, также делают крен в эту сторону, давая много прав на самом сла¬ бом уровне: низкий уровень безопасности по умолчанию. В Windows есть несколько встроенных системных счетов и разделяемых ресурсов, приме няемых для операций на системном уровне и имеющих больше прав, чем и м на самом деле требуется. Одним из примеров служит подразумеваемый разделяемый ресурс I P C (Inter-Process Communication — межпроцессное взаимодействие), который может использовать любой пользователь, что¬ бы получить и н ф о р м а ц и ю о м а ш и н е или домене. Аналогичным образом может применяться гостевой системный счет. М о ж н о отключить или огра¬ ничить эти системные счета, но вы д о л ж н ы сделать это вручную после ус¬ тановки. К чести Microsoft, эти т и п ы подразумеваемых системных счетов ограничены в Windows XP, но все еще существуют (поскольку они нужны для простых одноранговых сетей, которые допускает Windows). Немногим лучше системы U N I X . Недостает гранулярности в управлении системны¬ ми счетами, то есть существуют только супер- и обычные пользователи, а в результате права суперпользователя получают слишком многие. И , разумеется, поддержка актуального списка пользователей для больших сетей может требовать ежедневных усилий. Бездействующие или неиспользуемые системные счета — ц е н н а я цель для хакеров, так как их м о ж н о использовать, не беспокоясь о том, что реальный владелец заподо¬ зрит неладное. 173
Курс
Защитные средства с открытыми исходными текстами
Хороший сканер уязвимостей выявит подразумеваемые и слабые па роли, такие как стандартная к о м б и н а ц и я входного и м е н и и пароля «administrator/administrator» в системах Windows. Сканер будет также брать набор удостоверений и проверять, как далеко он сможет с зайти. О н может выявлять неиспользуемые системные счета и пользователей, кото р ы е никогда не меняли свои пароли (в системах Windows). Это поможет разглядеть т р е щ и н к и в вашей броне с точки зрения управления счетами пользователей.
Подразумеваемые системные счета производителей Пытаясь облегчить вам ж и з н ь , производители зачастую существен но усложняют вашу работу по обеспечению и н ф о р м а ц и о н н о й безопасно сти. М н о г и е производители оборудования поставляют его со стандартны ми подразумеваемыми входными именами и счетами пользователей для облегчения настройки. Некоторые из них добавляют также счета для тех нического и обслуживающего персонала. Предполагается, что сразу п о с ле установки оборудования или программного обеспечения вы измените подразумеваемые пароли, но далеко не все это делают. В результате во многие м а ш и н ы м о ж н о попасть после простого перебора некоторого чис¬ ла к о м б и н а ц и й подразумеваемых входных и м е н и паролей. П о д о б н ы е уязвимости наиболее характерны не для систем U N I X и Windows, а для маршрутизаторов, коммутаторов, телефонных систем и других типов обо¬ рудования. Однако, есть и исключения. Существует целый протокол, о с н о в ы в а ю щ и й с я на идее п о д р а з у м е в а е м ы х п а р о л е й . S N M P (Simple Network Management Protocol — простой протокол управления сетями) был создан для того, чтобы дать возможность программному обеспече¬ н и ю автоматически опрашивать устройства и получать базовую информа¬ ц и ю о них (например, состояние включено/выключено). В некоторых случаях S N M P позволяет даже выполнить простые к о н ф и г у р а ц и о н н ы е операции. В п р и н ц и п е , это была хорошая идея, и многие к о м п а н и и соз дали системы управления сетями на основе этого протокола. Однако при реализации производители использовали два основных подразумеваемых системных счета — «public» и «private» как цепочки символов или пароли своего сообщества. Зная эти пароли, любой и м е ю щ и й доступ к сети м о жет опросить состояние ваших устройств. S N M P позволяет также посылать на устройства основные команды, такие как возврат маршрутизатора в исходное состояние или отключение интерфейса. Очень немногие пользователи S N M P удосужились изменить подразумеваемые цепочки символов сообщества, поскольку делать это на каждой м а ш и н е — противно. В результате хакеры с простым инструмен¬ тарием, таким как snmpwalk, который свободно доступен в Интернет, м о 174
Глава 5
Сканеры уязвимостей
гут собрать и н ф о р м а ц и ю о сети, построить ее карту и, возможно, даже от¬ ключить ее, если в ы применяете S N M P с подразумеваемыми строками сообщества. Чтобы подлить масла в огонь, добавим, что новые програм¬ м ы использования переполнение буфера в реализациях протокола S N M P позволяют хакерам полностью подчинить себе удаленную машину. М н о гие выполняют S N M P на своих машинах, даже если н е используют его, потому что производители часто включают его п о умолчанию, чтобы об¬ легчить сетевую и д е н т и ф и к а ц и ю . Другим примером из области программного обеспечения является подразумеваемый системный счет sa, встроенный в S Q L Server корпора¬ ц и и Microsoft. Этот счет используется межсистемными процессами, н о о н может также быть доступен командному файлу или червю, что наглядно доказали разрушения, вызванный червем S Q L Slammer. В Интернет су¬ ществуют сайты, где перечислены все основные производители оборудо¬ вания и программного обеспечения и все подразумеваемые пароли, кото р ы е могут существовать. И , конечно, имеются автоматические програм¬ м ы , которые могут очень быстро и без больших усилий все их проверить.
Пустые или слабые пароли Хотя иметь системный счет с пустым паролем кажется безумием, во многих сетях делается и м е н н о это. И , хотите верьте, хотите нет, н о неко¬ торые поступают так даже со счетом администратора. Также неожиданно распространено использование к о м б и н а ц и и пользователь/пароль вида administrator/administrator, которая служит подразумеваемой настройкой Windows. Нет ничего удивительного, что черви и программы взлома авто¬ матически проверяют это условие. Если о н и его находят, то получают зо¬ лотой п р и з : п о л н ы й административный доступ к системе. Аналогично, когда пользователи задают пароли, о н и могут просто оставить их пусты¬ ми. Это дает шанс любому, имеющему с п и с о к пользователей, попытаться найти счета с пустым паролем. Вы можете задать свою политику управле¬ н и я паролями, запрещающую подобное легкомыслие, и предъявляющую дополнительные требования к длине и сложности паролей. Целесообраз но также потребовать регулярного изменения паролей и избавиться от н е используемых системных счетов. П р и сканировании уязвимостей пере ч и с л е н н ы е условия будут проверяться.
Ненужные сервисы Подобно рудиментарному хвосту, на машинах нередко выполняются приложения, которые больше н е служат н и к а к о й полезной цели. Эти сер висы могли использоваться п р е ж н и м и версиями библиотек, и програм175
Курс
Защитные средства с открытыми исходными текстами
мисты просто н е удосужились своевременно их удалить. Это одна и з от¬ рицательных сторон все возрастающей вычислительной мощности и ем¬ кости памяти. Р а н ь ш е программисты тщательно распределяли каждый используемый байт и н е оставляли в программах ненужных строк. Одна¬ ко в н а ш век раздутых до гигабайтных размеров операционных систем ча¬ сто легче оставить устаревшие сервисы, ч е м рисковать нарушить функци¬ онирование некоторых программ, которые от этих сервисов зависят. Н е п р и я т н ы й момент состоит в том, что нередко эти сервисы включены по умолчанию. В табл. 5.1 перечислены в ы ш е д ш и е и з употребления серви¬ сы, которые, к а к правило, могут быть безболезненно отключены. Табл. 5.1. Бесполезные сервисы Сервис
chargen
Обычный номер порта 19
daytime
13
discard
9
echo
7
finger
79
qotd (quote of the day — цитата д н я )
17
Функции
В ответ на запрос посылает поток стандарт¬ ных символов. Мало того, что д а н н ы й сервис больше н е применяется, о н может быть и с пользован для атаки на доступность, если за ставлять его непрерывно выплевывать пото ки символов. Возвращает время д н я . Н а самом деле н е тре буется н и для каких ф у н к ц и й современных систем. Молча отбрасывает все, что ему посылается. Применяется в основном в тестовых целях. Возвращает назад то, что было ему послано. К а к и chargen, может использоваться в атаках на доступность, если посылать ему постоян н ы й поток данных для эхо-отражения. Об этом сервисе было достаточно сказано ранее. Очень полезен для хакеров. П р и входе пользователя в систему посылает ему небольшую цитату и л и фразу, заданную системным администратором.
Утечки информации В поисках способа проникнуть в систему хакеры и л и в з л о м щ и к и на¬ чинают с некоторой базовой разведки. О н и пытаются к а к м о ж н о больше узнать о вашей системе и сети, прежде ч е м попытаться взломать их. П о 176
Глава 5
Сканеры уязвимостей
добно тому как вор-домушник осматривает объект п р о н и к н о в е н и я , они ищут электронные эквиваленты выключенного света, накопившихся га зет, незакрытых о к о н и т.д. Делается это с п о м о щ ь ю ряда инструментов, таких к а к сканеры портов или другие средства взлома, доступные в Ин¬ тернет. К сожалению, многие о п е р а ц и о н н ы е системы охотно помогают этим н е з а к о н н ы м сборщикам и н ф о р м а ц и и . К а к болтливый портье, они выдают ж и з н е н н о важную системную и н ф о р м а ц и ю , не спрашивая удо¬ стоверение личности. Особенно грешит этим Windows. Поскольку эта О С создавалась как самонастраивающаяся сетевая система, она предлагает всевозможную и н ф о р м а ц и ю любой системе, которая опрашивает ее с п о м о щ ь ю подхо д я щ е й команды. К а к упоминалось в ы ш е , неправильно сконфигуриро¬ в а н н ы е серверы D N S могут также выдавать много и н ф о р м а ц и и о конфи¬ гурации сети. Н а к о н е ц , огромный объем и н ф о р м а ц и и м о ж н о собрать при использовании общедоступных поисковых м а ш и н , таких как Google. Ин¬ ф о р м а ц и ю нередко оставляют в общедоступных каталогах Web-серверов, считая, что раз на нее нет ссылок с Web-страниц, то она не видна п о и с к о вым м а ш и н а м . Это не так, и желательно регулярно «гуглить» название ва¬ шей организации и универсальные локаторы ресурсов, чтобы посмот¬ реть, не всплывет ли что-то интересное. На основе этих данных в н е ш н и й пользователь может сгенерировать списки пользователей, разделяемые диски и каталоги, имена систем и с о трудников и другую и н ф о р м а ц и ю , полезную для взлома методом грубой силы, когда с п о м о щ ь ю автоматизированных программ пробуются раз л и ч н ы е к о м б и н а ц и и паролей, а также для п р и м е н е н и я методов мораль но-психологического воздействия (см. врезку о взломе систем).
Анатомия взлома системы Здесь приведен пример, показывающий как взломщик может приме нять некоторые из перечисленных в данной главе методов для получения не санкционированного доступа. Предположим, что хакер захотел взломать Example.com и получить доступ к данным о служащих. 1. Для начала хакер оконтурил цель. При кратком посещении Web-сайта Example.com для просмотра информации о персонале он смог опре делить, какие IP-диапазоны используются, и узнал имена некоторых системных администраторов из раздела о технических контактах. 2. Затем он просканировал порты в выявленном диапазоне IP-адресов и определил, как системы отвечают и какие службы они выполняют. 3. Используя более сложный инструмент, такой как сканер уязвимостей из данной главы, гипотетический хакер собрал дополнительную информа цию о системах, а именно, какие из них уязвимы и для каких атак. 177
Курс
Защитные средства с открытыми исходными текстами
4. Применяя сканер портов или программу анализа защищенности, ха¬ кер смог определить, что один из серверов допускает сеансы NetBIOS null, что помогло сгенерировать список всех пользователей системы. Хакер также обнаружил, что Web-сервер уязвим по отно шению к переполнениям буфера и для Windows-программы исполь зования уязвимости, открывающей доступ к любому каталогу на этом сервере. 5.Затем хакер произвел поиск в Интернет, задав ключевые слова для средств, эксплуатирующих выявленные слабые места. Он смог найти инструмент, предоставивший ему административный доступ через дыру с переполнением буфера. 6.Даже если бы оказалось, что системы не содержат уязвимостей, от¬ крывающих непосредственный доступ, хакер мог бы использовать собранную им информацию для атаки методом грубой силы на файл паролей или для применения методов морально-психологического воздействия. Он мог бы позвонить пользователю, представиться си¬ стемным администратором и спросить пароль. Или он мог бы позво¬ нить в службу поддержки, заявить, что он пользователь, который за¬ был свой пароль, и попросить их сменить пароль на указанный им. Вариации здесь ограничиваются только изощренностью фантазии взломщика.
Атаки на доступность Н е сумев получить доступ к вашей системе, многие компьютерные преступники получат не м е н ь ш е удовольствия, отключив ее, чтобы никто другой не мог ей воспользоваться. Это касается, в первую очередь, н а и б о лее примечательных сайтов и вопросов достижения политических целей. П р и большом объеме операций электронной к о м м е р ц и и , час простоя м о жет стоить м и л л и о н ы долларов. Атаки на доступность могут принимать различные ф о р м ы , от простого затопления основных маршрутизаторов потоками данных до реального использования слабого места в программе для нарушения работы сервиса и всего сервера. От первого трудно з а щ и титься, но последнее вполне предотвратимо при выявлении и последую щ е м исправлении или исключении условия, которое создает возможно сти для атаки на доступность.
С к а н е р ы у я з в и м о с т е й с п е ш а т на п о м о щ ь К а к м о ж н о видеть, современные компьютерные сети содержат мно¬ жество потенциальных областей небезопасности. К а к закрыть все эти пу178
Глава 5
Сканеры уязвимостей
ти для атак? Вы чувствуете себя одиноким стражем, п ы т а ю щ и м с я защи¬ тить гигантский замок с множеством окон, дверей и других путей проник¬ новения. Невозможно быть сразу везде. М о ж н о тратить день за д н е м , просто проверяя вручную д ы р ы в безопасности. Д а ж е если попробовать автоматизировать эту деятельность с п о м о щ ь ю командных файлов, п р и дется использовать десятки программ. К счастью для вас и вашей психи к и , существуют пакеты, называемые сканерами уязвимостей, которые а в томатически выявляют наличие слабых мест и помогают в р е ш е н и и дру¬ гих проблем. Nessus: Сканер уязвимостей со встроенным сканером портов Nessus Автор/основной контакт: Renaud Deraison Web-сайт: www.nessus.org Платформы: Linux, BSD UNIX Лицензия: GPL Рассмотренная версия: 2.0.10a Другие ресурсы: См. списки почтовой рассылки в разделе "Сеть надежной поддержки"
Nessus — действительно изумительная программа. Это великолеп¬ н ы й пример того, к а к хорошо могут работать проекты с открытыми ис¬ ходными текстами. О н надежен, хорошо документирован, хорошо под¬ держивается, о н лучший в своем классе. Nessus постоянно попадает в ч и с ло лучших среди всех сканеров уязвимостей, коммерческих и н е к о м м е р ческих. Это поразительно, если принять во в н и м а н и е его конкурентов, стоящих тысячи долларов и созданных крупными к о м п а н и я м и . О н п р о должает впечатлять и постоянно совершенствоваться и, самое главное, защищать тысячи сетей организаций. Р я д проектных р е ш е н и й делают Nessus уникальным и превосходящим другие сканеры уязвимостей.
Глубина тестирования В настоящее время Nessus предлагает более 2000 отдельных тестов уязвимостей, которые охватывают практически все области потенциаль¬ но слабых мест в системах. Очень немногие существующие сканеры мо¬ гут конкурировать с достигнутым в Nessus уровнем тестирования, и новые тесты добавляются ежедневно всемирной сетью разработчиков. Скорость выпуска новых тестов для выявляемых уязвимостей обычно измеряется д н я м и , если н е часами. Его архитектура на основе встраиваемых модулей
179
Курс
Защитные средства с открытыми исходными текстами
позволяет легко добавлять новые тесты. Н и ж е представлен перечень всех категорий тестов, которые выполняет Nessus. • • • • • • • • • • • • • • • • • • • • • •
П о т а й н ы е входы Ненадлежащее использование C G I Cisco Атаки на доступность Ненадлежащее использование Finger FTP Удаленный доступ к командному интерпретатору Удаленное получение прав суперпользователя Общие Прочие Netware NIS Сканеры портов Удаленный доступ к файлам RPC Настройки Проблемы S M T P SNMP Непроверенные Бесполезные сервисы Windows Windows: управление пользователями
М о ж н о отключить целую категорию тестов, если они н е п р и м е н и м ы к вашей системе или могут быть опасны для нее. Если вас беспокоят от¬ дельные тесты, м о ж н о отключить только их. Н а п р и м е р , естественно от¬ ключить категорию «Непроверенные», которая содержит тесты, еще не полностью оттестированные (клиент, конечно, всегда прав, но должен со¬ блюдать разумную осторожность). В приложении E приведен п о л н ы й с п и с о к всех проверок безопасности. П о м н и т е , однако, что этот с п и с о к соответствует указанной дате и постоянно изменяется по мере добавле н и я новых встраиваемых модулей.
Архитектура клиент-сервер Для в ы п о л н е н и я проверок безопасности Nessus опирается на архи тектуру клиент-сервер. Сервер выполняет проверки, а клиент конфигу рирует и управляет сеансами. Тот факт, что клиент и сервер могут быть разделены, предоставляет несколько уникальных преимуществ. Во-пер180
Глава 5
Сканеры уязвимостей
вых, сканирующий сервер м о ж н о расположить в н е вашей сети, н о обра¬ щаться к нему изнутри сети через клиента. Во-вторых, различные к л и е н ты могут поддерживать разные о п е р а ц и о н н ы е системы. В настоящее вре мя существуют доступные клиенты U N I X и Windows, и ведутся работы по созданию дополнительных. В настоящее время предоставляется также интерфейс Web-клиента, который делает Nessus полностью п л а т ф о р м н о независимым (по крайней мере, на стороне клиента).
Независимость Поскольку исходные тексты Nessus открыты, а встраиваемые моду¬ ли н а п и с а н ы разнообразными группами специалистов п о информацион¬ н о й безопасности, н е приходится опасаться каких-либо к о н ф л и к т о в и н тересов, возможных в коммерческих компаниях. Н а п р и м е р , если постав щ и к коммерческого сканера уязвимостей тесно связан с к р у п н е й ш и м производителем О С , то о н и могут быть настроены менее критически к своим продуктам и медленнее выпускать тесты для них. Проект с откры¬ т ы м и исходными текстами, такой к а к Nessus, н е имеет финансовых при¬ ч и н н е разрабатывать и н е выпускать тесты немедленно. И , опираясь на его расширяемость, вы всегда можете написать собственный модуль, н е дожидаясь официального.
Встроенный язык сценариев атак В дополнение к архитектуре со встраиваемыми модулями, в Nessus имеется собственный я з ы к сценариев атак, называемый NASL (Nessus Attack Scripting Language). Этот простой в изучении служебный я з ы к поз воляет легко и быстро писать собственные встраиваемые модули безопас ности, н е зная Си и л и всей внутренней кухни основной программы. (Да лее в д а н н о й главе приведен пример н а п и с а н и я пользовательского встра иваемого модуля на я з ы к е N A S L ) .
Интеграция с другими средствами Сканер уязвимостей Nessus м о ж н о применять сам п о себе или сов¬ местно с некоторыми другими защитными средствами с открытыми ис¬ ходными текстами. Часть из них рассмотрена в этой главе, и все о н и я в ляются лучшими и з имеющихся. Вместо встроенного м о ж н о применить лучший в мире сканер портов Nmap. Сканер портов в Nessus быстрее и немного э к о н о м н е е в расходовании памяти, н о Nmap, к а к в ы узнали из главы 4, предоставляет значительно больше возможностей и настроек. Почти все параметры Nmap м о ж н о конфигурировать из клиента Nessus. 181
Курс
Защитные средства с открытыми исходными текстами
Nessus также работает с Nikto и Whisker — средствами, которые в ы п о л н я ют более сложные проверки на Web-серверах; с программами C G I ; а так ж е с Hydra — средством для проведения парольных атак на употребитель н ы е сервисы методом грубой силы. Функциональность этих средств н а прямую задана в Nessus, поэтому м о ж н о вносить изменения в конфигура¬ ц и ю в рамках единого интерфейса.
Интеллектуальное тестирование Nessus м о ж н о настроить так, чтобы о н н е выполнял автоматически все тесты уязвимостей на всех хостах. Н а основе результатов сканирова н и я портов и л и других исходных данных, таких к а к результаты предыду щих тестов уязвимостей, Nessus будет запускать только тесты, подходя щ и е для д а н н о й м а ш и н ы . Н а п р и м е р , если на сервере н е запускается Webсервер, то и тесты Web-сервера выполняться н е будут. Nessus также доста¬ точно интеллектуален, чтобы н е предполагать автоматически, что Webсерверы будут использовать порт 80; о н будет проверять все возможные порты на наличие признаков Web-сервера. Nessus найдет даже несколько экземпляров сервисов, подключенных к разным портам. Это особенно важно, если вы нечаянно запустили Web-сервер или другой общедоступ¬ н ы й сервер на необычных портах.
База знаний Nessus может сохранять все результаты сканирования в базе данных, называемой базой знаний. Это позволяет использовать результаты п р о шлых сканирований для определения того, какие тесты выполнять, что избавляет, например, от сканирования портов п р и каждом запуске, так как Nessus будет помнить, какие порты были открыты в последний раз на каждом хосте, и проверять только их. О н может помнить также, какие х о сты о н видел в последний раз, и проверить только новые. Я н е р е к о м е н дую поступать так всякий раз, поскольку м о ж н о пропустить новые порты, открывшиеся на машинах, или новые уязвимости, проявившиеся на п р о сканированных ранее хостах. Однако, это позволяет выполнять с к а н и р о вание ч а щ е и с м е н ь ш и м и требованиями к полосе пропускания и процес сору, п р и условии, что в ы регулярно проводите полное сканирование.
Множество форматов отчетов Nessus входит в число лучших программ с открытыми исходными текстами и по возможностям генерации отчетов. Хотя о н и н е совершен н ы , д а н н ы е сканирования м о ж н о выдать почти в любом формате. Б а з о 182
Глава 5
Сканеры уязвимостей
вый H T M L и H T M L с круговыми диаграммами и графиками — два наи¬ более популярных формата. В отчеты входят итоговые д а н н ы е , так что почти без редактирования их м о ж н о разместить на внутреннем Web-сай те. Поддерживаются также форматы отчетов X M L , LaTeX и о б ы ч н ы й текст. Клиент Windows предлагает дополнительные форматы отчетов. До¬ ступны и другие средства, обсуждаемые в последующих главах, которые позволяют производить дальнейшие манипуляции с д а н н ы м и .
Сеть надежной поддержки Nessus имеет обширную сеть поддержки для получения п о м о щ и к а к по базовой установке и использованию, так и по более сложным вопро¬ сам программирования и индивидуальной настройки. Существует н е м е нее пяти списков почтовой рассылки Nessus, каждый из которых о р и е н тирован на свою область. П о д п и с ч и к и отметят, что сам главный автор, Renaud, отвечает на многие вопросы. Попробуйте получить такую под¬ держку от коммерческой компании! Имеется архив всех прошлых сооб щ е н и й , в котором м о ж н о проверить, н е давался л и уже ответ на ваш воп¬ рос. Н и ж е перечислены основные списки почтовой рассылки Nessus. • nessus: конечно ж е , с п и с о к общей дискуссии о Nessus. • nessus-devel: обсуждение разработки будущих версий. • nessu-cvs: информирует о ф и к с а ц и я х C V S , сделанных в дереве Nessus. • nessus-announce: модерируемый список с небольшим т р а ф и к о м , предназначенный для объявлений о доступности новых выпусков. • plug-ins-writers: список, п о с в я щ е н н ы й н а п и с а н и ю новых встраива¬ емых модулей Nessus. Если вы хотите писать собственные провер¬ ки безопасности, вам следует подписаться на него. Чтобы подписаться на любой из перечисленных списков, отправьте сообщение п о адресу [email protected] со следующим текстом в теле письма: Subsribe имя_списка
Замените имя списка названием списка, на который вы хотите под писаться. Чтобы отказаться от подписки, действуйте аналогичным обра зом, н о поместите в тело текст Unsubscribe имя_списка. На Web-сайте Nessus размещено много документации, включая под р о б н ы е инструкции п о установке и основам п р и м е н е н и я , а также учебни ки п о н а п и с а н и ю собственных проверок безопасности на я з ы к е N A S L . Насколько я знаю, никто еще н е пытался собрать в одном документе пол¬ н о е описание всех возможностей и настроек клиента Nessus. В д а н н о м разделе м ы попытаемся сделать это. 183
Курс
Защитные средства с открытыми исходными текстами
Nessus предоставляет быстрый и простой способ проверки сетей и систем на наличие уязвимостей почти всех видов, поэтому давайте уста¬ новим его.
Установка Nessus для систем Linux Имеется два необходимых условия, которые д о л ж н ы быть выполне¬ н ы перед установкой Nessus, и два других, которые желательно выпол¬ нить заранее, чтобы в полной мере воспользоваться дополнительными возможностями. 1. Необходимым условием является установка двух программных продуктов — Gimp Tool K i t ( G T K ) и libpcap. Если при изучении главы 4 вы установили Nmap, то эти программы у вас уже имеют¬ ся. В противном случае м о ж н о взять G T K по адресу: f t p : / / f t p . gimp. org/pub/gtk/v1. 2
а libpcap по адресу: www. tcpdump.org
2. Двумя не обязательными, но желательными программами я в л я ются OpenSSL и Nmap. Nessus может использовать Nmap в качест ве сканера портов, а OpenSSL — для безопасных к о м м у н и к а ц и й между сервером и клиентом. Есть три способа установки Nessus в системах U N I X , как очень про¬ стых, так и несколько более сложных. В д а н н о м конкретном случае я ре комендую более д л и н н ы й процесс, чтобы получить больше контроля над установкой. П р о щ е всего установить Nessus, запустив удаленным образом ко¬ м а н д н ы й файл автоматической установки. Это м о ж н о сделать, набрав: l y n x -source h t t p : / / i n s t a l l . n e s s u s . o r g
| sh
Эта команда инициирует к о м а н д н ы й файл установки и загрузит про¬ грамму в ваш компьютер. Однако на самом деле я не рекомендую делать это, так как если д а н н ы й U R L будет когда-либо скомпрометирован, ваш компьютер окажется открытым для атаки. Для более безопасной установ¬ ки сделайте следующие шаги. 1. Загрузите к о м а н д н ы й файл автоматической установки вручную с install.nessus.org и выполните его с п о м о щ ь ю команды: sh nessus- i n s t a l l e r . s h 184
Глава 5
Сканеры уязвимостей
Если процедура автоматической установки н е сработает долж¬ н ы м образом, вам придется скомпилировать программу вручную. Примечание: Я рекомендую выполнить все о п и с а н н ы е далее шаги, даже если «процедура» автоматической установки (не сов¬ сем точный термин, поскольку этот файл на самом деле содержит целую программу и все ее элементы) вроде бы сработала. Это важ¬ но, поскольку п р и установке сложной программы, такой к а к Nessus, иногда трудно понять, что делается, и где рванет, если п р о цедура пойдет как-то н е так. П о крайней мере, когда вы выполня¬ ете процесс вручную, вы лучше понимаете, к а к идет установка. 2. Чтобы установить Nessus вручную, необходимо сначала получить следующие четыре файла, либо с компакт-диска, либо с Web-сай та Nessus, и установить их по очереди. Если нарушить порядок ус¬ тановки, то Nessus н е будет правильно работать. • Nessus-libraries: Базовые библиотеки, необходимые для рабо¬ ты Nessus. • Libnasl: Модуль для N A S L , встроенного языка Nessus. • Nessus-core: Основная программа Nessus. • Nessus-plug-ins: Модуль, содержащий все встраиваемые моду ли, в ы п о л н я ю щ и е проверки безопасности. Чтобы гарантиро вать, что вы располагаете самыми свежими версиями встраи¬ ваемых модулей, после установки следует выполнить проце¬ дуру nessus-update-plugins, которая произведет необходимые обновления. 3. Перейдите в каталог nessus-libraries (используя команду cd), затем введите стандартную последовательность команд к о м п и л я ц и и : . /configure make make i n s t a l l
В к о н ц е каждого процесса к о м п и л я ц и и может потребоваться в ы п о л н е н и е специальных инструкций. Н а п р и м е р , для nessuslibraries придется добавить /usr/local/lib в файл /etc/ld.so.conf, а за тем набрать l d c o n f i g . В результате обновится и н ф о р м а ц и я о ката логах с библиотеками, так что операционная система сможет най¬ ти специальные каталоги Nessus. Убедитесь, что вы выполнили эти инструкции, прежде ч е м переходить к следующему шагу. 4. Сделайте то ж е для libnasl. В к о н ц е к о м п и л я ц и и необходимо про¬ верить, что /usr/local/sbin входит в с п и с о к поиска P A T H . Эта пере¬ менная окружения содержит с п и с о к каталогов для поиска испол н и м ы х файлов, который производится п р и вводе каждой к о м а н 185
Курс
Защитные средства с открытыми исходными текстами
ды. Программа установки должна сделать это автоматически, но для проверки наберите: echo $PATH
Команда выведет на экран значение P A T H . Если там отсутст¬ вуют /usr/local/sbin и /usr/local/bin, м о ж н о добавить их, редакти¬ руя файл /etc/bash.rc (правильный путь для Mandrake Linux при использовании командного интерпретатора bash). Для других д и стрибутивов маршруты могут слегка варьироваться. 5. Повторите этот процесс для двух других модулей. В результате в ы п о л н е н и я этих действий Nessus будет установлен. Однако, прежде чем его м о ж н о будет использовать, необходимо произвести его настройку.
Настройка Nessus Для подготовки Nessus к работе, прежде всего необходимо создать сертификат, который Nessus будет использовать для SSL-коммуникаций. 1. Наберите nessus-mkcert
Запустится утилита, создающая сертификат безопасности для вашей установки. Можно использовать также сторонние сертифика¬ ты, подписанные удостоверяющими центрами, такими как \eriSign. Если вы получили сообщение об о ш и б к е «file not found» («файл не найден»), проверьте, что /usr/local/bin и /usr/local/sbin присутствуют в списке поиска P A T H (как описано в процедуре ус¬ тановки). Отвечайте на вопросы по мере их появления. Вам понадобится зарегистрировать сертификат для вашей организации. Если вы не уверены, какие значения вводить, используйте подразумеваемые. 2. Затем необходимо создать несколько счетов пользователей, чтобы можно было входить в Nessus. Поскольку продукт имеет архитектуру клиент-сервер, то, прежде чем запустить сканирование, требуется войти в сервер с помощью клиента. У Nessus может быть любое число пользователей с индивидуальными наборами правил, которые вы должны задать на данном этапе настройки. Если вы собираетесь ис¬ пользовать Nessus единолично, то нужно просто определить одного пользователя без правил, но при желании можно ограничить IP-адре са, с которых он может входить. Если будет несколько пользователей, эта функция поможет отследить, кто использует ваш сервер Nessus. 186
Глава 5
Сканеры уязвимостей
Чтобы создать нового пользователя, наберите: nessus-adduser
Вам будет предложено выполнить последовательность шагов, требуемых для создания нового пользовательского счета. 3. Выполняйте эту команду всякий раз, когда необходимо создать нового пользователя. .Для того чтобы использовать Nessus, необ ходимо создать п о крайней мере одного пользователя и выполнить для него настройки. Теперь, наконец, м о ж н о запустить Nessus. 1. Убедитесь, что выполняется X-Window (графическая среда), и за¬ пустите к о м а н д н ы й интерпретатор. 2. В командной строке наберите: nessusd &
Запустится серверный процесс Nessus. З н а к & (амперсанд) предписывает выполнение программы в ф о н о в о м режиме, чтобы вы могли вводить другие команды. 3. Затем наберите команду: nessus
Запустится клиентская часть и на экране отобразится графи¬ ческий интерфейс Nessus. Теперь м о ж н о начать работать с Nessus.
Входная страница Nessus Первое, что вы увидите, будет входная страница Nessus (см. рис. 5.1). Вследствие архитектуры клиент-сервер, прежде чем начать работать с Nessus, необходимо сначала войти в его сервер. Если клиент и сервер будут запускаться на одной машине, то правильными параметрами входа будут: • • • •
Сервер: localhost Порт: 1241 Входное имя: и м я , заданное п р и настройке Nessus Пароль: пароль, заданный п р и настройке Nessus
К л и е н т и сервер могут также в ы п о л н я т ь с я на разных машинах. В этом случае замените l o c a l h o s t н а IP-адрес и л и и м я хоста сервера 187
Курс
Защитные средства с открытыми исходными текстами
Рис. 5.1. Входной экран Nessus
Nessus Selup
Рис. 5.2. Вкладка встраиваемых модулей Nessus (Plugins) 188
Глава 5
Сканеры уязвимостей
Nessus. Это дает возможность входить и з дома в серверы Nessus, функ¬ ц и о н и р у ю щ и е на работе, и запускать с к а н и р о в а н и е поздней ночью. К р о м е того, м о ж н о разместить сервер Nessus в центре обработки дан¬ ных, где доступна ш и р о к а я полоса п р о п у с к а н и я , и входить в него с вну т р е н н е й настольной системы, охраняемой межсетевым э к р а н о м . П о д о б н а я гибкость — важное преимущество Nessus перед н е к о т о р ы м и к о н к у р и р у ю щ и м и с к а н е р а м и , она повышает его масштабируемость для к р у п н ы х организаций. Н е к о т о р ы е л о к а л ь н ы е ф у н к ц и и м о ж н о выпол¬ нять н а клиенте, н е входя в сервер Nessus. В частности, м о ж н о вызвать результаты в ы п о л н е н н о г о р а н е е с к а н и р о в а н и я д л я просмотра и м а н и п у л и р о в а н и я , конфигурировать о п ц и и с к а н и р о в а н и я . О д н а к о д л я о б р а щ е н и й к встраиваемым модулям и л и разделу предпочтений без входа в сер вер н е обойтись, т а к к а к соответствующие д а н н ы е хранятся на сервер¬ н о й стороне.
Вкладка встраиваемых модулей Nessus После входа вы получаете доступ к различным вкладкам. С помо¬ щ ь ю вкладки Plugins м о ж н о выборочно включать и л и отключать опреде¬ л е н н ы е группы или отдельные встраиваемые модули (см. рис. 5.2). на вкладке перечислены все категории, а когда вы щелкаете м ы ш ь ю на неко¬ торой категории, то н и ж е появляются все ее модули. С н и м а я флажок справа от элемента, м о ж н о отключить категорию или модуль. Модули, к о т о р ы е могут вызывать п р о б л е м ы у сервиса и л и крах сер¬ веров, отмечены треугольником с в о с к л и ц а т е л ь н ы м з н а к о м (см. рис. 5.2). К р о м е того, в Nessus имеются к н о п к и , которые позволяют быстро включить все встраиваемые модули (Enable all), включить все модули, к р о м е опасных (Enable all but dangerous plugins), отключить все модули (Disable all), и л и загрузить пользовательский встраиваемый модуль (Upload plugin...). М о ж н о использовать к н о п к у Filter д л я сортировки модулей п о и м е н и (Name), о п и с а н и ю (Description), сводке (Summary), автору (Author), и д е н т и ф и к а ц и о н н о м у н о м е р у (ID) и л и к а т е г о р и и (Category). К а к п р а в и л о , рекомендуется запускать Nessus с о т к л ю ч е н н ы м и о п а с н ы м и модулями; включайте их только если вы готовы к настоя щ е й проверке доступности и сознательно идете н а р и с к краха некоторых серверов.
Вкладка предпочтений Nessus Большинство серверных о п ц и й Nessus конфигурируются с п о м о щ ь ю вкладки Preferences (см. р и с . 5.3). В следующих разделах и подразделах да н ы подробные сведения об этих опциях. 189
Защитные средства с открытыми исходными текстами
Курс
Рис. 5.3. Вкладка предпочтений Nessus (Preferences) Nmap Настройки Nmap используются для индивидуального конфигуриро вания части, отвечающей п р и в ы п о л н е н и и тестов за сканирования п о р тов. Многие из них непосредственно связаны с настройками Nmap, обсу ж д а в ш и м и с я в главе 4, куда и следует обратиться за подробными сведени я м и о каждой опции. • T C P scanning technique (Метод сканирования T C P ) : Задает требуе м ы й т и п сканирования портов, например, S Y N , F I N и л и Connect. • Timing policy (Политика управления частотой сканирования): См. раздел «Опции времени для Nmap» в главе 4. Можно также ввести маршрутное и м я файла результатов Nmap, чтобы Nessus мог использовать эти данные, а не выполнять новое сканирование. Ping the remote
host (Эхо-тестирование
удаленного
хоста)
Этот выбор позволяет эхо-тестировать м а ш и н ы целевой сети, чтобы прежде всего определить, работают л и о н и , и л и просто просканировать все IP-адреса в целевом диапазоне. П о умолчанию, Nessus пробует эхо-те сты I C M P и T C P н а портах Web и SSL. Если хост включен, о н должен от190
Глава 5
Сканеры уязвимостей
ветить на один и з этих запросов. Данную настройку м о ж н о рекомендо¬ вать в большинстве случаев, так к а к нет смысла впустую тратить время и полосу пропускания, тестируя мертвые адресах. Однако, если вы сканиру ете извне межсетевого экрана, может оказаться желательным выполнять Nessus без эхо-тестов хостов, чтобы заведомо ничего н е пропустить. М о ж но также задать число попыток, после отсутствия ответа на которые хост считается неработающим. Подразумеваемое значение, равное 10, вероят н о , с л и ш к о м велико для большинства высокоскоростных сетей. Если сканирование производится н е через коммутируемое соединение, умень шите число п о п ы т о к до 3, чтобы ускорить процесс сканирования, особен но для больших целевых сетей. М о ж н о также указать, следует л и вклю¬ чать в отчет неработающие хосты. Обычно это нежелательно, поскольку искажается общая статистика сканирования, — получается, что просканировано больше хостов, ч е м на самом деле есть в сети. Однако включе¬ н и е в отчет «мертвых душ» может быть полезным, если в ы хотите полу¬ чить д а н н ы е обо всех IP-адресах, с которыми был контакт. Login configurations
(Конфигурации
входа)
В этом разделе задаются счета для входа, если вы хотите, чтобы Nessus более глубоко тестировал некоторые сервисы. Стандартное скани¬ рование Nessus проверяет сеть без привлечения каких-либо дополнитель ных данных о н е й , кроме IP-адресов. Однако, если задать входное и м я и пароль для конкретного сервиса, то Nessus подвергнет его дополнитель н ы м проверкам. Н а п р и м е р , если ввести входное и м я для Windows-домена (SMB-счет), Nessus будет дополнительно тестировать безопасность этого домена к а к зарегистрированный пользователь. П о умолчанию о н прове¬ ряет только а н о н и м н ы й сервер F T P с п о м о щ ь ю входного имени «anonymous» и стандартного пароля в виде адреса электронной почты. С дейст¬ вующими входными именами м о ж н о организовать тестирование FTP, H T T P , I M A P , N N T P , POP2, POP3 и S N M P . Имеется отдельный раздел для тестирования входных ф о р м HTTP. М о ж н о задать определенный U R L и значения заполняемых полей ф о р мы. П о умолчанию будет проверяться индексный каталог с пустыми п о л я м и и м е н и пользователя и пароля. Brute-force
login (Hydra)
(Вход методом
грубой
силы —
Hydra)
Этот раздел позволяет воспользоваться дополнительной програм мой Hydra, которая проверяет целостность паролей вашей системы. Вы предоставляете ей файл входных и м е н и паролей, а она попытается п р о й ти по всему списку для всех указанных сервисов. Я н е рекомендую п р и м е 191
Курс
Защитные средства с открытыми исходными текстами
пять эту о п ц и ю , если только вы не готовы иметь дело с последствиями атаки методом грубой силы, которая может блокировать счета многих пользователей после превышения максимально допустимого числа попыток входа. Предпочтительный способ проверки стойкости ваших паролей — ав¬ тономное п р и м е н е н и е программ взлома к файлу паролей. Однако может быть полезно протестировать один сервис, который не часто использует¬ ся, например, F T P или Telnet. Опираясь на Hydra, метод грубой силы м о ж н о применять к следующим сервисам: Cisco IOS (стандартный и раз¬ р е ш а ю щ и й пароли), FTP, H T T P , I C Q , I M A P , L D A P , N N T P , P C N F S , POP2, Rexec, S M B (домен Windows), S O C K S 5, Telnet и V N C . SMB use host SID to enumerate local users SMB SID хоста для перебора локальных
(Использование пользователей)
В этом разделе задается диапазон числовых идентификаторов поль зователей, чтобы попытаться получить дополнительную и н ф о р м а ц и ю об именах пользователей в домене. П о умолчанию проверяются и д е н т и ф и каторы в диапазоне 1000-1020, который в сетях Windows всегда содержит по крайней мере счета административного и гостевого пользователей. Nessus проверит их с пустым паролем и с паролем, совпадающим с вход¬ н ы м именем. Services
(Сервисы)
Этот раздел предназначен для тестирования сервисов SSL. М о ж н о за дать проверяемые сертификаты и получить отчет об уровне ш и ф р о в а н и я , который поддерживают ваши Web-серверы. Это могут быть локальные серверы, которые все еще допускают старое 40-битное ш и ф р о в а н и е , что в н а ш е время считается небезопасным для критически важных данных. Web mirroring
(Зеркалирование
Web)
Д а н н а я настройка позволяет задать, насколько глубоко сканер будет читать Web-сайт в поисках каких-либо дефектов или дыр в безопасности. М о ж н о также изменить подразумеваемый начальный каталог. Misc. Information on the News Server (Прочая о сервере телеконференций)
информация
Если имеется сервер Network News ( N N T P ) , расположенный на л ю бом из IP-адресов в целевом диапазоне, Nessus проверит настройки и ог р а н и ч е н и я , установленные для посылок. Это гарантирует, что ваши сер192
Глава 5
Сканеры уязвимостей
веры телеконференций н е могут быть использованы для рассылки спама и и н о й ненадлежащей деятельности. Test HTTP dangerous methods (Проверка методов HTTP)
опасных
Тест Integrist проверяет, н е допускают л и некоторые Web-серверы в сети опасные команды вроде P U T и D E L E T E . П о умолчанию данная про¬ верка отключена, так к а к тест может удалить вашу д о м а ш н ю ю страницу, если сервер отвечает на эти команды. Ftp writable
directories
(Каталоги
Ftp, допускающие
запись)
Проверяются серверы FTP, которые разрешают доступ для записи а н о н и м н ы м пользователям (что н и к а к нельзя считать хорошей практи кой). Подразумеваемая настройка означает проверку прав доступа, в ы данных файловой системой, и р е а к ц и ю , если оказывается, что запись раз¬ решена. М о ж н о также задать игнорирование и н ф о р м а ц и и от файловой системы и пытаться в любом случае записать файл, чтобы убедиться, что доступные для записи каталоги отсутствуют. К а к и с тестом Integrist, будь те осторожны с этой опцией, так к а к дело может кончиться перезаписью файлов на сервере FTP. SMTP settings
(Настройки
SMTP)
Эти настройки используются для дополнительного тестирования почтовой системы. Nessus пытается послать поддельные с о о б щ е н и я , ч т о бы проверить, к а к реагирует система. Nessus.org используется к а к подра зумеваемый д о м е н , с которого будет приходить тестовая почта, н о эту ус¬ тановку м о ж н о здесь изменить. М н о г и е почтовые серверы н е отвечают, если и м я почтового сервера недействительно. Есть смысл изменить этот адрес, если в ы являетесь в н е ш н и м консультантом и хотите, чтобы ваш клиент знал, откуда приходят поддельные с о о б щ е н и я . Однако н е ис¬ пользуйте собственный д о м е н , если сканируете изнутри организации; это собьет с толку почтовый сервер, который увидит поступающие от са¬ мого себя с о о б щ е н и я , и может повлиять н а надежность результатов тес тирования. Libwhisker
options
(Опции
Libwhisker)
Эти о п ц и и предназначены для использования с дополнительной программой Whisker, которая проверяет целостность Web-серверов. Обра193
Курс
Защитные средства с открытыми исходными текстами
титесь к документации программы Whisker за объяснением данных на¬ строек. П о умолчанию эти о п ц и и отключены. SMB use domain SID to enumerate users (Использование SMB SID домена для перебора пользователей) В рамках этой проверки домена Windows делается попытка иденти¬ фицировать пользователей на основе их идентификаторов безопасности (SID). В типичных доменах Windows значение S I D , равное 1000, назначе¬ но администратору, и несколько других стандартных назначений приме¬ няются для системных счетов, таких к а к гостевой. Nessus опрашивает за д а н н ы й диапазон идентификаторов безопасности, пытаясь экстраполи¬ ровать имена пользователей. HTTP NIDS evasion (Обход сетевой системы выявления вторжений при тестировании HTTP) Этот раздел предоставляет различные методы, позволяющие избе жать обнаружения сетевой системой выявления вторжений (NIDS) путем создания и подделки специальных универсальных локаторов ресурсов для атак на Web-серверы. Чтобы этим воспользоваться, потребуется д о п о л н и тельная программа Whisker. Различные тесты пытаются послать странные U R L на ваши Web-серверы, чтобы посмотреть, н е дадут л и о н и пользова телю возможность выполнить с помощью CGI-процедур ненадлежащие действия. П о л н о е описание этих тестов можно найти в документации Whisker или в статье п о адресу www.wiretrip.net/rfp/libwhisker/README. П о у м о л ч а н и ю эти методы о т к л ю ч е н ы , т а к к а к о н и и м е ю т тенден¬ ц и ю создавать большой сетевой т р а ф и к и генерировать м н о г о л о ж н ы х с р а б а т ы в а н и й . О д н а к о , если в ы п р и м е н я е т е в своей сети с и с т е м ы в ы я в л е н и я в т о р ж е н и й и хотите п о н я т ь , работают л и о н и на с а м о м деле, м о ж н о в ы п о л н и т ь эти тесты, ч т о б ы посмотреть, будут л и о н и обнару¬ жены. NIDS evasion
(Обход
сетевых
систем
выявления
вторжений)
Этот раздел аналогичен предыдущему, за исключением того что Nessus для обхода сетевых систем выявления вторжений, которые дейст вуют п о п р и н ц и п у сопоставления с образцом, проделывает хитрые м а н и пуляции с реальными пакетами TCP, а н е с запросами универсальных л о каторов ресурсов. Большинство современных сетевых систем выявления вторжений разоблачат эти трюки, н о если у вас старая или давно н е о б н о влявшаяся система, то стоит попробовать этот тест, чтобы посмотреть, ка194
Сканеры уязвимостей
Глава 5
Рис. 5.4. Вкладка Scan Options в Nessus
кова будет реакция. И в этом случае также в отчеты могут попасть подоз рительные данные, поэтому для обычного тестирования уязвимостей применять эту опцию не рекомендуется. Вкладка
Scan Options
(Опции
сканирования)
В отличие от отдельных тестов на вкладке предпочтений, эта вклад ка содержит настройки, влияющие на весь процесс сканирования (см. рис. 5.4). Port range
(Диапазон
портов)
Д а н н ы й параметр контролирует фазу сканирования портов, задавая целевой диапазон (по умолчанию — 1-15000, что должно охватить боль шинство обычных сервисов). Если вы желаете поискать троянские про¬ граммы и другие сервисы, действующие на необычно больших номерах портов, подразумеваемый диапазон необходимо расширить и с к а н и р о 195
Курс
Защитные средства с открытыми исходными текстами
вать все 65535 портов T C P и U D P . Следует регулярно (ежемесячно или ежекваратально, в зависимости от размеров сети) выполнять полное ска¬ н и р о в а н и е портов всех м а ш и н . Consider unscanned (Считать несканированные
ports as порты
closed закрытыми)
Д а н н а я о п ц и я заставляет Nessus объявлять н е с к а н и р о в а н н ы е порты закрытыми. Вы можете что-то пропустить, если (посредством предыду¬ щей опции) н е задали достаточно ш и р о к и й диапазон портов, н о зато ска¬ н и р о в а н и е выполнится быстрее и с м е н ь ш и м сетевым трафиком. Number of hosts to test at the same time (Число одновременно тестируемых хостов) Задается число хостов, которые Nessus тестирует параллельно. В большой сети возникает соблазн завысить д а н н ы й параметр и тестиро¬ вать все хосты одновременно. Однако с некоторого момента это стано¬ вится контрпродуктивным — в действительности сканирование будет длиться дольше, а может и вообще н е закончиться, если завязнет на ка ком-то одном хосте. Н а самом деле, на средних серверных машинах (до 2 ГГц) я рекомендую задавать это значение равным 10 хостам вместо подра зумеваемого значения 30. Д л я большинства сканирований это представ ляется оптимальным значением. Однако, если в вашем распоряжении су персервер, а сеть очень большая, м о ж н о пытаться наращивать это значе¬ ние, пока это дает видимый эффект. Number of checks to perform at the same time (Число одновременно выполняемых проверок) Nessus поддерживает многозадачность н е только в смысле одновре¬ менного тестирования нескольких хостов, н о и в смысле одновременного в ы п о л н е н и я нескольких проверок. Подразумеваемое значение 10 пред ставляется разумным, однако, в зависимости от производительности сер¬ вера Nessus, м о ж н о увеличивать или уменьшать его. Path to the CGIs (Маршрут
к CGI)
Подразумеваемое место, где Nessus будет искать на удаленной систе¬ ме C G I - п р о ц е д у р ы для их тестирования. Если в ы используете на м а ш и н е необычную конфигурацию, то необходимо задать правильный маршрут, чтобы Nessus проверил CGI-процедуры. 196
Глава 5
Сканеры уязвимостей
Do a reverse обратный
lookup поиск
on the IP before testing it (Выполнять IP-адреса перед тестированием)
П р и использовании д а н н о й настройки перед проверкой делается попытка выполнить обратный п о и с к D N S и определить и м я хоста для ка ждого IP-адреса. Это существенно замедляет сканирование и по умолча¬ н и ю отключено. Optimize
the test (Оптимизировать
тестирование)
П о умолчанию при выполнении тестов Nessus пытается поступать разумно и н е делать проверок, н е п р и м е н и м ы х к конкретному хосту. Здесь эту о п ц и ю м о ж н о отключить, чтобы Nessus выполнял все тесты на всех хостах, независимо от того, что покажет сканирование портов. Safe checks
(Безопасные
проверки)
П о умолчанию всегда устанавливается д а н н ы й режим. Это значит, что Nessus н е будет выполнять никаких небезопасных проверок, которые могут вызвать аварию или как-то иначе повредить серверу. П о заголовкам и другой и н ф о р м а ц и и определяется, имеет л и хост определенную уязви¬ мость. Я рекомендую всегда выбирать безопасный режим, даже если это приводит к увеличению числа ложных срабатываний. Designate
hosts by their MAC address адресами доступа к среде
(Обозначать передачи)
хосты
В к л ю ч и т е эту о п ц и ю , если хотите, ч т о б ы в отчете Nessus хосты о б о з н а ч а л и с ь их M A C - а д р е с а м и , а н е адресами IP, к а к делается п о у м о л ч а н и ю . Е с л и в в а ш е й сети и м е е т с я х о р о ш а я база д а н н ы х M A C - а д р е с о в и если в а м трудно с о о т н о с и т ь I P - а д р е с а с о п р е д е л е н н ы м и хоста м и в связи с п р и м е н е н и е м п р о т о к о л а д и н а м и ч е с к о г о к о н ф и г у р и р о в а н и я хостов, п о д о б н ы й в ы б о р п о м о ж е т в а м получить более п о л е з н ы й отчет. Detached
scan (Обособленное
сканирование)
Д а н н а я в о з м о ж н о с т ь п о з в о л я е т Nessus в ы п о л н я т ь с к а н и р о в а н и е без с о е д и н е н и я с к л и е н т о м , ч т о п о л е з н о д л я с к а н и р о в а н и я в н е о б ы ч н о е в р е м я без вмешательства человека. М о ж н о указать, ч т о б ы отчет о с к а н и р о в а н и и н а п р а в л я л с я п о о п р е д е л е н н о м у адресу э л е к т р о н н о й почты. 197
Курс
Защитные средства с открытыми исходными текстами
Continuous
scan (Непрерывное
сканирование)
П р и использовании этой возможности сканирование запускается на регулярной основе, что полезно для автоматического сканирования сети по расписанию. Задайте интервал между с к а н и р о в а н и я м и в секундах (86400 — для ежедневного сканирования, 604800 — для еженедельного и п р и м е р н о 2592000 — для ежемесячного). Организовать регулярное скани¬ рование м о ж н о и более удобным способом, например п р и п о м о щ и Ко¬ мандного центра Nessus (Nessus Command Center, N C C ) , описанного в главе 8. Однако, если вы н е хотите устанавливать Web-сервер и базу д а н ных, требующиеся для N C C , рассматриваемая возможность позволяет легко и просто организовать регулярное сканирование. Port scanner
(Сканер
портов)
Здесь содержится несколько глобальных настроек для фазы с к а н и рования портов: • tcp connect() scan: В этом случае вместо Nmap применяется встро¬ е н н ы й в Nessus сканер портов. О н быстрее и требует значительно м е н ь ш е памяти, однако создает больше шума в сети и будет запро¬ токолирован на большинстве сканируемых м а ш и н . К р о м е того, над его н а с т р о й к а м и значительно м е н ь ш е к о н т р о л я , ч е м д л я Nmap. • Nmap: В этом случае применяется Nmap и соответствующие настрой ки, заданные во вкладке предпочтений для сканирования портов. • S Y N Scan: Д а н н а я возможность была реализована в версии 2.0. Предлагается встроенное сканирование S Y N в упомянутом в ы ш е режиме tcp connect. Это делает сканирование несколько менее ш у м н ы м , н о недостаток детального контроля по сравнению с Nmap все ж е остается. • Ping the remote host: Д о всех проверок выполняется эхо-тестирова¬ ние хостов в целевом диапазоне, чтобы проверить, работают ли они. • scan for LaBrea Tar-pitted hosts: Хосты L a Brea Tar-pitted служат для обнаружения сканирования портов и затягивания его до бесконеч ности, что может замедлить или вызвать аварию сканирования. Д а н н а я о п ц и я делает попытку обнаружить и обойти хосты с подоб¬ ной защитой. Вкладка
Target Selection
(Выбор
цели)
На этой вкладке задаются цели сканирования (см. рис. 5.5). П е р е ч и с л и м способы задания целей сканирования. 198
Сканеры уязвимостей
Глава 5
Рис. 5.5. Вкладка Target Selection в Nessus • • • •
Один IP-адрес: 192.168.0.1 IP-адреса, разделенные запятыми: 192.168.0.1,192.168.0.2 IP-диапазоны, разделенные дефисом: 192.168.0.1-192.168.0.254 Стандартная нотация с косой чертой: 192.168.0.1/24 (сеть класса C из 256 адресов) • И м я хоста: myhost.example.com • Любая к о м б и н а ц и я вышеприведенных обозначений, разделенных запятыми: 192.168.0.1-192.168.0.254,195.168.0.1/24 Н а этой вкладке м о ж н о задать несколько опций. Read file (Прочитать
файл)
Щ е л к н и т е м ы ш ь ю на этой к н о п к е , чтобы прочитать цели с к а н и р о вания из файла. Это должен быть стандартный текстовый файл с адреса¬ ми, отформатированными к а к в приведенных выше примерах. Perform
a DNS zone transfer
(Выполнить
передачу
зон DNS)
Делается попытка извлечь файл зон для домена, представленного целевыми IP- адресами. Н а собственных ( немаршрутизируемых) IP- адре¬ сах это не работает. 199
Защитные средства с открытыми исходными текстами
Курс
Save this session
(Сохранять
сеанс)
Поддерживает запись целей сканирования и настроек, чтобы их м о ж н о было восстановить в будущем. П о умолчанию включено. Save empty
sessions
(Сохранять
пустые
сеансы)
Сохранять сеансы, даже если о н и не содержат данных, например, IP- диапазон без единого работающего хоста в нем. Previous
sessions
(Предыдущие
сеансы)
Выдаются все предыдущие сеансы; м о ж н о загрузить любой из них, выбрав м ы ш ь ю соответствующий элемент списка. Вкладка
User
(Пользователь)
Н а этой вкладке отображаются все пользователи сервера Nessus и все ассоциированные с н и м и правила ( например, возможность входа только с определенного IP-адреса). Счета пользователей создаются с п о м о щ ь ю процедуры nessus-adduser, н о на этой вкладке всегда м о ж н о отредактиро¬ вать или добавить правила для любого существующего пользователя. v
Nessus Setup
»
Н
Nessusd host I P l a i n s I Prefc. | Scan option, | Target e l B c t i o r J u s e r f r ^ ] Credits I g
?
rNessus Knowledge B a s e Enable KB saving
0
® Test all hosts Only test hosts that have been tested in the past
О
Only test hosts that h a v e n e v e r b e e n t e s t e d in t h e p a s t •
Reuse the knowledge bases about the hosts for the test
•
Do not execute scanners that have already been executed
П Do not execute info gathering plugins that have already been executed •
Do not execute attack plugins that have already been executed
•
Do not execute DoS plugins that have already been executed
•
Only show differences with the previous scan
Рис. 5.6. Вкладка Knowledge Base в Nessus 200
X
Глава 5
Сканеры уязвимостей
Вкладка
KB (Knowledge
Base) (База
Знаний)
Эта вкладка содержит конфигурацию и элементы управления для ба¬ зы з н а н и й Nessus (см. рис. 5.6). Это одна из самых полезных возможно¬ стей, предлагаемых Nessus. П о умолчанию о н а отключена. Чтобы ее включить, необходимо поднять флажок «Enable K B saving*. База знаний отслеживает все в ы п о л н е н н ы е сканирования. Затем, когда вы захотите снова выполнить сканирование, Nessus использует сохраненные д а н н ы е , чтобы определить, к а к и е хосты сканировать и какие тесты на каждом из них выполнять. Доступные настройки описаны ниже. Test all hosts (Тестировать
все
хосты)
Используется по умолчанию. Д а н н ы е базы з н а н и й будут сохранять ся, н о каждый хост будет тестироваться полностью. Test only hosts that have been tested in the past (Тестировать только хосты, тестировавшиеся ранее) Эта настройка заставляет Nessus тестировать только те хосты в целе вом диапазоне, тестировавшиеся которые тестировались ранее. Это озна чает, что Nessus н е будет искать новых хостов. Тем самым несколько с н и жается сетевой трафик, н о м а ш и н ы , появившиеся в сети после предыду щего тестирования, проверены н е будут. Test only hosts that have never been tested in the past (Тестировать только хосты, не тестировавшиеся ранее) Противоположно предыдущей настройке; в целевой сети проверя ются только новые хосты. Это полезно для быстрой проверки новых ма ш и н в сети, без сканирования существовавших ранее. Reuse the knowledge bases about the hosts for the test (Использовать при тестировании базы знаний о хостах) Исключается в ы п о л н е н и е определенных проверок на основе задан¬ ных параметров и того, что было найдено ранее. • Do not execute scanners that have already been executed ( Н е сканировать повторно). Пропускается фаза сканирование портов, полагаясь на результаты предыдущих сканирований. • Do not execute info gathering plug-ins that have already been executed ( Н е запускать повторно модули сбора и н ф о р м а ц и и ) . Nessus н е будет за201
Курс
Защитные средства с открытыми исходными текстами
пускать модули сбора и н ф о р м а ц и и , работавшие во время предыду¬ щих сканирований. Все новые модули сбора и н ф о р м а ц и и , добав¬ л е н н ы е после предыдущего сканирования, будут запущены. • Do not execute attack plug-ins that have already been executed ( Н е запус кать повторно модули атак). То ж е , что предыдущая настройка, н о применительно к модулям атак. • Do not execute DoSplug-ins that have already been executed ( Н е запус кать повторно модули атак на доступность). Аналогично предыду¬ щей настройке. • Only show differences with the previous scan (Показывать только отли¬ ч и я от предыдущего сканирования). Выполняется д и ф ф е р е н ц и альное сканирование; отчет показывает различия между двумя п о следними сканированиями. Полезно, если нужно посмотреть, что изменилось в сети со времени последнего сканирования. То ж е м о ж н о сделать и с п о м о щ ь ю Командного центра Nessus, описанно¬ го в главе 8. Max age of a saved KB (in secs) (Максимальный сохраненной базы знаний (в секундах))
возраст
Эта настройка н е позволяет серверу использовать с л и ш к о м старые базы знаний сканирования. Подразумеваемый максимальный возраст — 86400 секунд (одни сутки). М о ж н о увеличивать это значение вплоть до 60 дней (5184000 секунд). Дальнейшее увеличение возраста нецелесообраз но, так к а к будут использоваться с л и ш к о м старые данные. П р и п о м о щ и базы знаний м о ж н о ускорить и упростить сканирова¬ ние, однако ее возможности следует применять избирательно и регуляр но (желательно — ежемесячно) выполнять полное сканирование.
Опции оперативного управления процессом сканирования Во время сканирования Nessus выдает э к р а н , отображающий состо я н и е процесса сканирования. М о ж н о видеть каждый проверяемый хост и насколько далеко проверки продвинулись. Показывается также выполня¬ емый в д а н н ы й момент встраиваемый модуль. Обычно элементы изобра¬ ж е н и я сменяются очень быстро, н о иногда картинка застревает на опре¬ деленном модуле. М о ж н о прервать тестирование текущего хоста, щелк¬ нув м ы ш ь ю на к н о п к е Stop с правой стороны экрана (см. рис. 5.7). М о ж но также щелкнуть м ы ш ь ю на к н о п к е «Stop the whole test* внизу, чтобы полностью остановить тестирование и получить отчет о полученных на текущий момент результатах. 202
Сканеры уязвимостей
Глава 5
Рис. 5.7. Экран процесса сканирования Nessus NessusWX: Клиент Nesuss для Windows NessusWX Автор/основной контакт: Web-сайт: Платформы: Лицензия: Рассмотренная версия: Другие ресурсы:
Victor Kirhenshtein www.securityprojects.org/nessuswx Windows 98, NT, 2000, XP GPL 1.4.4 nessuswx.nessus.org
NessusWX — это Nessus-клиент под Windows. О н представляет толь ко клиентскую часть программы. К сожалению, Nessus пока не предлага ет полное решение для тестирования уязвимостей из-под Windows. И м е ю щ а я прочные п о з и ц и и к о м п а н и я Network Security выпускает портированную под Windows коммерческую версию Nessus, называемую NeWT. Однако, если вы не можете позволить себе ее приобретение, вам придет¬ ся использовать сервер Nessus на платформе U N I X для подключения сво¬ его клиента NessusWX. NessusWX — не просто к л о н U N I X - к л и е н т а . П о м и м о доступа к серверу Nessus с W i n d o w s - м а ш и н ы , NessusWX предоставляет ряд в о з 203
Курс
Защитные средства с открытыми исходными текстами
м о ж н о с т е й , отсутствующих у U N I X - к л и е н т а . О н т а к ж е реализует н е к о т о р ы е н а с т р о й к и более л о г и ч н ы м и у д о б н ы м д л я п р и м е н е н и я образом. Н а с а м о м деле, м н о г и е считают NessusWX л у ч ш и м в а р и а н т о м исполь¬ з о в а н и я Nessus. П о м н и т е только, ч т о д л я с к а н и р о в а н и й в а м все р а в н о необходимо иметь сервер Nessus п о д U N I X . К р о м е того, п о с к о л ь к у NessusWX я в л я е т с я н е з а в и с и м ы м п р о г р а м м н ы м продуктом, его в о з м о ж н о с т и иногда будут н е м н о г о отставать от «родной» U N I X - п л а т ф о р мы. П е р е ч и с л и м н е к о т о р ы е п р и в л е к а т е л ь н ы е д о п о л н и т е л ь н ы е воз¬ м о ж н о с т и NessusWX. • Поддержка M y S Q L : М о ж н о экспортировать результаты с к а н и р о вания Nessus в базу данных M y S Q L — либо прямо во время с к а н и рования, либо сохраняя результаты в формате M y S Q L для последу¬ ю щ е й обработки. • Дополнительные форматы отчетов: NessusWX позволяет сохранять отчеты Nessus к а к файл P D F . Запланирована поддержка формата Microsoft Word и других форматов файлов. • Операции с отчетами: М о ж н о уточнять результаты сканирования, например помечать определенные тревожные сообщения к а к л о ж н ы е срабатывания, чтобы о н и н е появлялись в отчете. Это полезно, если ваш босс раздражается, когда видит отчет с несколькими д ы рами в безопасности, а вам необходимо объяснять, что это л о ж н ы е срабатывания и на самом деле д ы р нет. • Более простой интерфейс пользователя: П о моему м н е н и ю , поль¬ зовательский интерфейс NessusWX более дружественный, ч е м у Nessus, а параметры и предпочтения представлены у п р о щ е н н ы м образом. Однако, если в ы привыкли к п р и м е н е н и ю U N I X - и н т е р фейса, это может вас запутать, так к а к некоторые вещи выглядят немного иначе. Н о в целом Windows-реализация лучше, ч е м порой путаные и избыточные опции в UNIX-клиенте.
Установка NessusWX _
Установить NessusWX очень просто. Возьмите файл с компакт-диска или загрузите бинарный самораспаковывающийся файл с nessuswx.nessus.org/index.html#download. М о ж н о также получить пакеты с исходными текстами, если вы хоти¬ те поработать с н и м и и посмотреть, нельзя ли их улучшить. Н о если в ы н е намерены это делать, то для получения исходных текстов реальной при¬ ч и н ы нет. Просто щелкните м ы ш ь ю на файле, и программа установки бу¬ дет направлять ваши действия. 204
Сканеры уязвимостей
Глава 5
Применение Windows-клиента NessusWX П о внешнему виду интерфейс NessusWX отличается от исходного U N I X - к л и е н т а (см. рис. 5.8). Вы не увидите описанных ранее вкладок, но все рассмотренные конфигурационные о п ц и и доступны и в этой версии. В клиенте NessusWX проведено более четкое разграничение между на¬ стройками, которые контролирует клиент, и теми, что контролирует сер¬ вер. Контролируемые сервером настройки находятся в текстовом файле nessus.rc и являются глобальными настройками, в то время к а к настройки клиентской стороны по большей части относятся к определенным типам сканирования. Содержимое файла nessus.rc м о ж н о просмотреть и отреда ктировать, выбирая пункт Server Preferences в м е н ю Communications. Другое удобное свойство клиента Windows — возможность интерак тивного создания конфигураций сканирования, называемых сеансами (sessions), с последующим подключением к серверу Nessus. Это означает, что конфигурации м о ж н о создавать автономно, вне соединения с серве ром. Однако, чтобы начать сканирование или просмотреть и сконфигури ровать предпочтения серверной стороны, необходимо подключиться к серверу и войти в него. Для этого в м е н ю Communications щелкните м ы шью на Connect. М о ж н о также использовать о п ц и ю Quick Connect (Бы¬ строе соединение) и задать подразумеваемый сервер, чтобы всегда вхо-
^™^™
File Session Communications View Help Ш
Gf X
E
| Ц Q 9 Ш £ Л 1 El ||
Q
Ф
Ф, Ф
Q
Ф
Q
f
Ф
Ф
Ф
a
Q
Ф
Ф
О
Q
ml я
Ф
Q
Q
Q
Q
Q
Ф
Ф
Ф
Q
Q
Ф
Q
Q
1
ABC Соф.
Q
Nessus Console [Version 1.4.2 - Н Г 1 ] SSL l i b r a r y i n i t i a l i s e d
Q
Ф
Beta Corp.
Q
Q
Ф
Ф
Q
*
•
J
Ready
Disconnected
OK
Рис. 5.8. И н т е р ф е й с NessusWX 205
Курс
Защитные средства с открытыми исходными текстами
дить в него. Клиент также запомнит ваш пароль и входное и м я , чтобы их не нужно было вводить каждый раз. (Это удобно, н о , несомненно, менее безопасно!)
Создание профиля сеанса В первую очередь целесообразно создать п р о ф и л ь сеанса. Это цель или совокупность целей, которые вы хотите просканировать. 1. В м е н ю Profile (Профиль) выберите New (Новый). В появившемся диалоговом окне введите и м я сеанса сканирования. Имеет смысл выбрать содержательное и м я , поскольку оно будет фигурировать в шапке отчета сканирования. 2. Затем появится окно Session Properties (Свойства сеанса) (см. рис. 5.9). Не забудьте щелкнуть м ы ш ь ю на к н о п к е Apply (Применить) после ввода данных в каждой вкладке. 3. Щ е л к н и т е м ы ш ь ю на A d d (Добавить), чтобы задать адреса для сканирования. Отметим простой формат ввода различных диапа зонов. М о ж н о также импортировать список целей, вводя и м я со¬ держащего их текстового файла. 4. Щ е л к н и т е м ы ш ь ю на Remove (Удалить), чтобы удалять хосты с э к рана состояния, когда заканчивается их сканирование, и л и выбе рите режим без показа выполняемых модулей.
Рис. 5.9. Э к р а н Session Properties в NessusWX 206
Глава 5
Сканеры уязвимостей
Рис. 5.10. Вкладка Scan Options в NessusWX
Рис. 5.11. О п ц и и Port Scan в NessusWX 5. Затем щелкните м ы ш ь ю на вкладке Options (см. р и с . 5.10), чтобы задать о п ц и и сканирования, по большей части аналогичные о п ц и я м UNIX-клиента. 207
Курс
Защитные средства с открытыми исходными текстами
Рис. 5.12. Э к р а н хода сканирования NessusWX 6. Посредством вкладки Port scan конфигурируется фаза сканирова н и я портов (см. рис. 5.11). Подразумеваемая настройка включает только общеупотребительные серверные порты (1-1024), а не диа пазон 1-15000, к а к в UNIX-клиенте. К о н е ч н о , вы можете изме¬ нить д а н н ы й диапазон п о своему желанию. Доступны еще две на¬ стройки: Well-known services ( Общеизвестные сервисы) и Specific range (Определенный диапазон). Последняя позволяет задать лю¬ бой требуемый диапазон портов. 7. После входа в сервер вкладка Plugins позволит выборочно включать или отключать определенные модули или целые группы модулей. Н а самом деле, можно сконфигурировать некоторые параметры мо¬ дулей, такие к а к подразумеваемый пароль, подразумеваемые ката¬ логи и т.д., прямо из клиента, что невозможно в UNIX-клиенте. 8. Имеется также вкладка Comments. Это приятное добавление п о з воляет документировать различные сеансы сканирования, чтобы позднее м о ж н о было вспомнить, что вы пытались делать. 9. Щ е л к н и т е м ы ш ь ю на O K , чтобы закрыть окно. 10. Сконфигурировав все параметры сканирования, сделайте двой н о й щелчок м ы ш ь ю на иконке п р о ф и л я сканирования, который вы хотите использовать, а затем щелкните м ы ш ь ю на к н о п к е Execute. Д о л ж н о начаться сканирование, ход которого отобража ется экране состояния (см. рис. 5.12). М о ж н о заметить, что экран состояния сканирования для NessusWX подробнее, чем у UNIX-клиента. Н а н е м отображается, в частности, п р о цент выполненного сканирования портов. U N I X - к л и е н т показывает п р о гресс сканирования только в виде полосы, что не является точным. К р о ме того, показывается, сколько осталось до завершения тестов, а также текущее значение общего числа открытых портов, и н ф о р м а ц и о н н ы х с о 208
Глава 5
Сканеры уязвимостей
о б щ е н и й , предостережений и найденных д ы р в безопасности каждого хо ста. Так ж е как в U N I X - к л и е н т е , м о ж н о прервать сканирование отдель ных хостов или весь тест.
Отчеты NessusWX Чтобы получить, создать и просмотреть отчеты NessusWX, щелкните правой к н о п к о й м ы ш и на п р о ф и л е сканирования и выберите Results из контекстного меню. Несколько о п ц и й этого экрана позволяют управлять выводом отчетов. М о ж н о выбрать сортировку отчета по хостам или по уязвимостям. М о ж н о задать удаление из отчета ложных срабатываний или включение конфигурации сканирования, чтобы м о ж н о было вспом нить, какие настройки использовались для получения этих результатов. Н е составляет труда сделать так, чтобы отчет содержал только открытые порты и сообщения безопасности низкого, среднего или высокого уров ней серьезности, снимая выбор соответствующих флажков. Все это поз воляет гибко управлять ф о р м о й представления отчетов, что важно, если вы представляете эти отчеты нетехническому руководству, аудиторам, за¬ казчикам или другим непрофессионалам. Опции отчетов в NessusWX включают форматы .nsr (бывший «род ной» формат Nessus), .nbe, html, обычный текст и .pdf. Все результаты хра нятся в базе данных, поэтому м о ж н о легко извлечь результаты прошлых сканирований. М о ж н о также сравнить результаты двух сканирований с п о м о щ ь ю опции diff. Базовый отчет H T M L включает ряд дополнений по сравнению с HTML-отчетами в U N I X . О н включает имя профиля, пока¬ зывающее, что и м е н н о сканировалось, а также временной штамп и другие статистические данные, такие как длительность сканирования. Кроме то го, результаты сканирования можно упорядочить по IP-адресам, как упо¬ миналось ранее, что существенно облегчает поиск определенного хоста (это подтвердит любой, кто пытался упорядочить расположенные случай н ы м образом результаты сканирования в U N I X ) . К сожалению, отсутству ют встроенные H T M L - с с ы л к и , которые имеются в UNIX-отчетах, что могло бы существенно облегчить навигацию в отчете. (Будем надеяться, что кто-нибудь сумеет объединить лучшее из отчетов U N I X и Windows.) К р о м е того, все результаты сканирования м о ж н о поместить в базу данных и создать собственные отчеты с п о м о щ ь ю N C C , как описано в главе 8.
Примеры конфигураций сканирования Nessus П р и столь большом выборе настроек непросто сообразить, что де лать при первом сканирования. Для детального изучения всех о п ц и й тре буется некоторое время, но м ы приведем несколько примеров конфигу209
Курс
Защитные средства с открытыми исходными текстами
р а ц и и , которые д о л ж н ы давать хорошие результаты для наиболее типич¬ ных сетевых конфигураций. Пример
конфигурации IP-адресов
1: Внешнее сканирование без межсетевого экрана
множества
Это простейшая из возможных конфигураций, которая требует наи¬ меньших изменений в подразумеваемой конфигурации Nessus. • Предпочтения: Оставьте все открытым настежь; н и к а к о й скрытно¬ сти на самом деле н е нужно, однако сканирование S Y N снизит се¬ тевой трафик. • О п ц и и сканирования: П р и сколько-нибудь заметном числе хостов лучше применять встроенное сканирование S Y N , так к а к сканиро¬ вание с п о м о щ ь ю Nmap может потребовать много времени. • Оставьте все остальные опции в подразумеваемом состоянии. Пример
конфигурации 2: Внешнее сканирование сети с внешним IP-адресом межсетевого экрана
одним
Это немного сложнее и требует некоторой скрытности, чтобы паке¬ ты сканирования попали за межсетевой экран. • Предпочтения: Используйте Nmap для SYN-сканирования с фраг ментацией пакетов. Д л я единственного IP-адреса память и время не составляют проблемы. • О п ц и и сканирования: Н е делайте эхо-тест хоста, так к а к большин¬ ство межсетевых экранов отбрасывают подобные пакеты, и вы н е получите никаких результатов. • Оставьте все остальные опции в подразумеваемом состоянии. Если вы ничего н е получите в ответ, попробуйте сканирование без вклю¬ ченного сканирования портов. Пример конфигурации 3: Внешнее сканирование с несколькими общедоступными IP-адресами для межсетевого экрана и в демилитаризованной
сети зоне
• Предпочтения: Используйте Nmap для SYN-сканирования с фраг¬ ментацией пакетов. • О п ц и и сканирования: Выполните эхо-тестирование хостов, чтобы исключить недействующие IP-адреса в демилитаризованной зоне. Для целевых сетей и з более чем 20 хостов используйте встроенное сканирование S Y N . • Оставьте все остальные опции в подразумеваемом состоянии. Если вы ничего н е получите в ответ, попробуйте сканирование без ска¬ н и р о в а н и я портов. 210
Глава 5
Сканеры уязвимостей
Пример конфигурации 4: Несколько внешних IP-адресов с сетевой системой обнаружения вторжений • Предпочтения: М о ж н о попробовать несколько методов обхода с и стемы обнаружения вторжений. М о ж н о также применить экзоти ческие т и п ы сканирования, такие как F I N и Z M A S , если общедос тупные серверы не являются Windows-машинами. Стоит п о п р о б о вать растягивание интервалов между пакетами сканирования, хотя это и затянет сканирование. • О п ц и и сканирования: Откажитесь от сканирования портов, иначе наверняка сработает система обнаружения вторжений. • Встраиваемые модули: Стоит отключить самые ш у м н ы е встраива¬ емые модули, такие к а к «потайные входы». Пример
конфигурации 5: Внутреннее сканирование межсетевого экрана
позади
П р и таком сканировании для вас важен состав генерируемых д а н ных, а скрытность не имеет большого значения (поскольку вы уже нахо¬ дитесь позади межсетевого экрана). • Предпочтения: Сработает простое SYN-сканирование, так как не нужно заботиться о прохождении через межсетевой экран. Фраг ментация пакетов не нужна, поскольку это замедлит сканирова¬ ние. Если вы находитесь в сети Windows, введите свои входные дан¬ н ы е для домена, чтобы Nessus мог проверить настройки ваших пользователей Windows. М о ж н о выполнить одно сканирование с входными д а н н ы м и и одно без таковых, чтобы увидеть, что полу¬ чит некто, не располагающий и н ф о р м а ц и е й о пользователях, при простом подключении к вашей Л В С . • О п ц и и сканирования: Для большого числа хостов используйте встроенное SYN-сканирование. Эхо-тестируйте удаленные хосты, чтобы быстро исключить недействующие IP-адреса. • Встраиваемые модули: Стоит отключить некоторые категории мо¬ дулей, н е п р и м е н и м ы е для внутреннего с к а н и р о в а н и я , такие к а к подразумеваемые системные счета U N I X (если у вас нет внутрен¬ них U N I X - м а ш и н ) , и то ж е для модулей Windows, если все маши¬ н ы работают под управлением U N I X . Маршрутизаторы и межсе¬ тевые э к р а н ы брать в расчет не нужно, если только у вас нет внут¬ р е н н и х сегментов Л В С с межсетевыми э к р а н а м и . Если вы не ис¬ пользуете Novell Netware, отключите эту категорию модулей. Отк¬ лючите все остальное, что н е соответствует вашей внутренней сре¬ де Л В С . 211
Курс
Защитные средства с открытыми исходными текстами
У г о л о к к о д и р о в щ и к о в Ф л э м и Теха: Написание собственных процедур Nessus К а к упоминалось в ы ш е , Nessus м о ж н о индивидуализировать и расширить д л я ваших конкретных нужд, поскольку его ис¬ ходные тексты открыты. Н а самом деле, Nessus даже легче расширять, ч е м другие программы с открытыми исходными текстами, так к а к о н включает собственный встроенный интерпретируемый я з ы к , называемый Nessus Attack Scripting Language ( N A S L ) . N A S L позволяет легко и быстро писать новые тесты д л я Nessus-сканирования, н е погру жаясь во внутреннее устройство Nessus и н е занимаясь с л о ж н ы м про¬ граммированием. Примечание: Тем н е м е н е е , п р е ж д е ч е м браться за N A S L , н е о б х о д и м о владеть о с н о в а м и п р о г р а м м и р о в а н и я (в ч а с т н о с т и , я з ы к о м п р о г р а м м и р о в а н и я С и ) . N A S L о ч е н ь п о х о ж на С и с м н о г о ч и с л е н н ы м и и з ъ я т и я м и - в н е м нет, н а п р и м е р , структур и д е к л а р а ц и й п е р е м е н н ы х . Э т о о б легчает быстрое н а п и с а н и е н о в ы х процедур д л я п р о в е р к и н е к о т о р ы х условий. Процедуры N A S L очень похожи на любые другие программы с перемен¬ н ы м и , условными инструкциями и ф у н к ц и я м и , которые м о ж н о вызывать. Благодаря Рено и его команде, создавшим множество функций, которые можно использовать для упрощения работы, вам не придется самостоя¬ тельно придумывать, к а к изготовить пакет или проверить открытый порт. Каждая процедура состоит и з двух частей. Первая является разделом р е гистрации, который Nessus использует для целей документирования. В нем вы информируете Nessus, какого типа эта процедура, и предоставля ете некоторые сведения о н е й , чтобы пользователи знали, что она делает. Второй раздел является разделом атаки. И м е н н о здесь вы реально выпол няете код п о о т н о ш е н и ю к удаленной м а ш и н е и что-то делаете с резуль¬ татами. Предположим для примера, что в вашей сети возникли реальные пробле м ы с Yahoo Messenger. Запуск Nessus и л и сканера портов показывает от¬ крытые порты, н о в ы хотите получить специальное уведомление, когда проявится порт Yahoo. Для этой цели м о ж н о написать на N A S L индивидуальную процедуру Nessus. Н а машинах с запущенной программой Yahoo Messenger открыт порт 5101, поэтому с п о м о щ ь ю ф у н к ц и и N A S L get_port_state() м о ж н о лег¬ ко и быстро найти м а ш и н ы , в ы п о л н я ю щ и е эту программу, и известить об этом. Н и ж е представлен пример программы на N A S L для р е ш е н и я поста вленной задачи. Все строки с символом # в начале являются комментари я м и и н е обрабатываются интерпретатором N A S L . 212
Глава 5
Сканеры уязвимостей
# Это раздел регистрации # Проверка на Yahoo Messenger # if(description) { # Это раздел регистрации и содержит информацию для Nessus s c r i p t _ n a m e ( e n g l i s h : " L o o k s f o r Yahoo Messenger Running"); s c r i p t _ d e s c r i p t i o n ( e n g l i s h : " T h i s s c r i p t checks t o see i f Yahoo Messenger i s running"); script_summary(english:"connects on remote t c p port 5101"); script_category(ACT_GATHER_INFO); script_family(english:"Misc."); s c r i p t _ c o p y r i g h t ( e n g l i s h : " T h i s s c r i p t was w r i t t e n by Tony Howlett"); exit(0); } # Это раздел атаки # Проверить, открыт ли на удаленной системе порт 5101 # Если открыт, то вернуть уведомление port = 5101; if(get_po rt_state(port)); { report = "Yahoo Messenger i s running on t h i s machine!"; s e c u r i t y _ w a r n i n g ( p o r t : 5 1 0 1 , data: r e p o r t ) ; } # Конец
Вот и все. В этой простой процедуре используются два предположения. Первое состоит в том, что порты удаленной м а ш и н ы были просканирован ы п о крайней мере д о номера 5101, т а к к а к ф у н к ц и я get_port_state могла бы о ш и б о ч н о вернуть истину для порта 5101, если его состояние было н е определенным. Предполагается также, что м а ш и н а с открытым портом 5101 выполняет Yahoo Messenger, хотя это может быть и некоторое другое приложение. П р и ж е л а н и и м о ж н о добавить дополнительную логику для проверки этого, перехватывая заголовок и л и некоторую часть ответа и анализируя его характеристики. Это очень простой п р и м е р . С п о м о щ ь ю N A S L м о ж н о сделать значи¬ тельно больше. Обратитесь к о п е р а т и в н о й с п р а в к е N A S L , чтобы полу¬ ч и т ь д о п о л н и т е л ь н у ю и н ф о р м а ц и ю обо всех ф у н к ц и я х , к о т о р ы е м о ж н о использовать, и с и н т а к с и с е я з ы к а . Существует п р е к р а с н ы й учебник, н а п и с а н н ы й с а м и м Р е н о , р а с п о л о ж е н н ы й п о адресу www.nessus.org/ doc/nasl.html. 213
Курс
Защитные средства с открытыми исходными текстами
Особенности сканирования уязвимостей Теперь, когда вы полностью понимаете все возможности, м о ж н о приступить к сканированию. Н о прежде чем в ы отправите пакеты, поз¬ вольте несколько слов об ответственном сканировании. Хотя я уже у п о минал об этих вопросах в главе 4, тестирование уязвимостей имеет н е к о торые особенности. Сканирование портов является довольно н е в и н н о й деятельностью, хотя эта активность и раздражает, когда в ы видите ее за ф и к с и р о в а н н о й в журналах. Однако тестирование уязвимостей может быть существенно более разрушительным, приводя к авариям серверов, разрывая соединения с Интернет, или даже удаляя д а н н ы е (например, тест Integrist). М н о г и е и з тестов Nessus специально созданы для организа¬ ц и и атак на доступность. Даже с включенной опцией безопасной провер¬ ки тесты могут вызывать проблемы на некоторых системах. В связи с этим дадим несколько рекомендаций.
Не сканируйте без разрешения Вы н и к о г д а н е д о л ж н ы с к а н и р о в а т ь сеть, которая н е находится под в а ш и м н е п о с р е д с т в е н н ы м к о н т р о л е м , и л и если в ы н е имеете я в н о го р а з р е ш е н и я от владельца. Н е к о т о р ы е и з видов а к т и в н о с т и , и н и ц и и р о в а н н о й Nessus, могут ю р и д и ч е с к и рассматриваться х а к е р с к и м взло¬ м о м (особенно п р и в к л ю ч е н н о й о п ц и и атак н а доступность). Если в ы н е хотите быть о б в и н е н н ы м п о закону, отвечать в суде и л и отвечать н а ж а л о б ы со с т о р о н ы п о с т а в щ и к о в Интернет-услуг, необходимо всегда получать р а з р е ш е н и е на с к а н и р о в а н и е . С т о р о н н и е консультанты долж¬ н ы обязательно получать п и с ь м е н н о е р а з р е ш е н и е со всеми необходи м ы м и оговорками. Образец бланка такого документа имеется в п р и л о ж е н и и D . В н у т р е н н и й п е р с о н а л д о л ж е н убедиться, что о н и и м е ю т пра¬ во с к а н и р о в а т ь все м а ш и н ы в целевом д и а п а з о н е . Согласуйте это долж¬ н ы м образом с другими д о л ж н о с т н ы м и л и ц а м и , т а к и м и к а к админист¬ р а т о р ы межсетевых э к р а н о в и п е р с о н а л службы и н ф о р м а ц и о н н о й без¬ опасности.
Убедитесь, что все резервные копии актуальны Вы всегда должны быть уверены, что ваши резервные к о п и и акту¬ альны, н о это вдвойне важно п р и сканировании уязвимостей, на тот слу¬ чай, если сканирование приведет к проблемам с сервером. Выполнение сканирования Nessus сразу после резервного копирования гарантирует, что в ы сможете восстановить самую свежую версию. К р о м е того, убеди¬ тесь, что в ы н е сканируете во время резервного копирования. Это н е толь214
Глава 5
Сканеры уязвимостей
ко может привести к порче данных резервной к о п и и , но и существенно замедлит оба процесса.
Планируйте время сканирования В продолжение предыдущего замечания, не забывайте к о о р д и н и р о вать время проведения сканирования для получения требуемых результа тов с м и н и м а л ь н ы м влиянием на других служащих. Сканирование почто вого сервера в 8 часов утра, когда все стремятся получить свою почту, ед ва ли повысит вашу популярность среди персонала. Планируйте с к а н и р о вание постоянно включенных серверов на нерабочее время и старайтесь избегать наложения с другими операциями по администрированию с и с темы и повседневной деятельностью (сканировать сеть бухгалтерии нака нуне сдачи годового отчета вряд ли разумно). Сканирование внутренних м а ш и н , видимо, придется выполнять в рабочее время — либо следует д о говориться с каждым пользователем, чтобы он оставил машину включен н о й в к о н ц е рабочего дня. Для проведения сканирования в рабочее время лучше всего использовать обеденный перерыв, когда в сети будет рабо¬ тать минимальное количество людей.
Избегайте избыточного сканирования Планируйте сканирование так часто, как сочтете необходимым, но не полагайте автоматически, что ежесуточное сканирование сделает вашу сеть более безопасной. Н е проводите сканирование с такой частотой, ес¬ ли вы не в состоянии интерпретировать отчеты сканирования и реагиро¬ вать на них каждый день, так как в итоге вы получите только избыточный сетевой трафик. Выбор частоты сканирования должен основываться на возможностях вашего персонала по обработке результатов. Я рекомендую делать это как м и н и м у м раз в месяц, но если ваша сеть используется очень активно, то лучше сканировать уязвимости еженедельно. Анало гично, если у вас очень небольшая в н е ш н я я сеть, то сканирование может проводиться раз в квартал. Ежедневное сканирование, скорее всего, и з быточно, если только у вас нет специального персонала для проведения необходимой работы. Если вам требуется постоянная надежная защита, то используйте в дополнение к тестированию уязвимостей системы обна ружения вторжений.
Правильно размещайте сервер сканирования Если вы хотите по-настоящему проверить в н е ш н ю ю (из Интернет) уязвимость вашей и н ф о р м а ц и о н н о й системы, следует разместить сервер 215
Курс
Защитные средства с открытыми исходными текстами
Nessus вне вашего межсетевого экрана. Это может быть д о м а ш н е е соеди¬ н е н и е с Интернет, центр обработки данных, расположенный в н е сети ва¬ шей организации или в другой организации (возможно, вы сможете дого¬ вориться об использовании ресурсов другой организации для сканирова н и я и позволить и м использовать ваши для той ж е цели). Помните, что в силу клиент-серверной архитектуры Nessus, вы сможете по-прежнему уп равлять сканированием, находясь под защитой межсетевого экрана. Н е обходимо только включить поддержку SSL для криптографической защи¬ ты к о м м у н и к а ц и й между клиентом и сервером. П р и сканировании внутренней сети сервер необходимо разместить позади межсетевого экрана. Установка Nessus на П К - б л о к н о т е может о б легчить выполнение сканирования к а к изнутри, так и извне вашей сети, не требуя множества м а ш и н .
Какие у я з в и м о с т и т е с т и р о в а н и е не н а х о д и т Хотя тестирование уязвимостей — полезное средство в арсенале обеспечения безопасности, н е следует считать его панацеей. Имеются с и туации и области, где программа тестирования уязвимостей н е может п о мочь. Д л я уменьшения рисков требуются дополнительные системы и процедуры. Н и ж е перечислены проблемы безопасности, которые н е бу¬ дут обнаружены п р и тестировании уязвимостей.
Логические ошибки Логические о ш и б к и — это дыры в безопасности в виде о ш и б о ч н о й программной логики. Обычно это необнаруженные или неисправленные о ш и б к и , когда программа выполняется н е так, к а к задумано. П р и м е р — входная Web-страница, которая проводит аутентификацию н е совсем корректно. Е щ е один пример — ошибка, позволяющая пользователям по¬ лучить больше привилегий, чем о н и должны иметь. Общеизвестные логи¬ ческие о ш и б к и наиболее употребительных программ могут быть включе¬ н ы в тесты уязвимостей Nessus, н о большинство из них с л и ш к о м сложно обнаружить, что удается, к а к правило, только специально з а н и м а ю щ и м ся этим хакерам.
Необнаруженные уязвимости Тестирование уязвимостей основывается на опубликованных отче тах об уязвимостях. Обычно после сообщения об уязвимости для системы пишется специальный дополнительный модуль. Д л я программ с откры¬ т ы м и исходными текстами это может потребовать всего л и ш ь нескольких 216
Глава 5
Сканеры уязвимостей
дней. Однако в течение этого времени о к н о уязвимости остается откры т ы м , так к а к ваш сканер н е может найти д ы р в безопасности, хотя о н и су¬ ществуют. К о н е ч н о , вы можете быстро написать собственный тест, ис¬ пользуя N A S L , пока н е появится о ф и ц и а л ь н ы й выпуск.
Индивидуальные приложения Средства тестирования уязвимостей обычно ориентированы только на опубликованные программы, коммерческие или с открытыми исход¬ н ы м и текстами. Если вы применяете программу, которая была разработа на только для внутреннего использования, тестирование уязвимостей, ве роятно, ничего н е сможет в ней проверить. Если она опирается на стан¬ дартные протоколы или подпрограммы, такие к а к H T T P , FTP, или S Q L , то некоторые из этих тестов будут п р и м е н и м ы . Существуют дополнитель¬ н ы е программы, специально созданные для тестирования кода на его без опасность, которые вы должны применить к этим приложениям. С п о м о щ ь ю средства тестирования, такого к а к Nessus, для внутреннего приложе н и я м о ж н о написать специальные проверки.
Безопасность персонала Все имеющиеся в мире проверки н е помогут, если у вас плохая поли¬ тика безопасности, или таковой нет вообще, и л и она н е доведена до све¬ дения персонала. К а к было показано во врезке, хакеры, которым н е уда¬ лось получить доступ к сети техническими средствами, могут воспользо¬ ваться методами морально-психологического воздействия, то есть п о п ы таться договориться с кем-нибудь о предоставлении доступа. Это может оказаться удивительно легко, так к а к хакеры играют на природе человека, его готовности помочь другим, особенно коллегам. Существует только один способ борьбы с подобными методами, и о н н е требует никаких тех¬ нических средств. Хорошая политика безопасности, доведение ее до све дения сотрудников, проведение ее в ж и з н ь снизят вашу уязвимость п о от¬ н о ш е н и ю к таким атакам.
Атаки прошлые и текущие Тестирование уязвимостей показывает только потенциальные д ы р ы в безопасности вашей системы; о н о н е сообщит, использовались л и эти д ы р ы , и н е предупредит, если атака происходит в настоящий момент. (Выявление атак, когда о н и происходят, является целью систем обнару ж е н и я вторжений и рассматривается в главе 7.) Такие программы, к а к Nessus, по своей природе предназначены исключительно для превентив217
Курс
Защитные средства с открытыми исходными текстами
ных целей, и они будут э ф ф е к т и в н ы только в том случае, если вы что-то предпринимаете для исправления обнаруживаемых проблем. Сканеры уязвимостей не исправляют ошибок, хотя Nessus очень полезен в том пла не, что предоставляет подробные инструкции о том, как исправить л ю бую обнаруженную проблему. И как говорил Бен Ф р а н к л и н : «Грамм п р о ф и л а к т и к и стоит килограмма лечения».
218
Глава 6
Сетевые анализаторы
Глава 6. С е т е в ы е а н а л и з а т о р ы Теперь вы в состоянии должным образом обезопасить и укрепить свои системы и проверить сеть на наличие уязвимостей с п о м о щ ь ю пре¬ вентивных средств, помогающих поддерживать нормальное функциони¬ рование и безопасность и н ф о р м а ц и о н н ы х систем. М ы приступаем к рас¬ смотрению некоторых средств, которые позволяют действовать и реаги¬ ровать, когда, вопреки всем вашим профилактическим мерам, в сети про¬ являются компьютерные атаки или проблемы безопасности. К этой кате гории средств относятся сетевые анализаторы, а также системы обнару ж е н и я вторжений и беспроводные анализаторы.
Обзор главы Изучаемые концепции: • Основы сетевых анализаторов • История и ф у н к ц и о н и р о в а н и е Ethernet • К а к выполнить безопасный и этичный анализ сети • П р и м е р ы конфигураций анализатора • П р и л о ж е н и я сетевых анализаторов Используемые инструменты: Tcpdump, WinDump и Ethereal Грубо говоря, сетевой анализатор (network sniffer) прослушивает или «обнюхивает» («sniffs») пакеты определенного физического сегмента се ти. Это позволяет анализировать т р а ф и к на наличие некоторых ш а б л о н о в , исправлять определенные проблемы и выявлять подозрительную активность. Сетевая система обнаружения вторжений является н и ч е м и н ы м , к а к развитым анализатором, который сопоставляет каждый пакет в сети с базой данных известных образцов вредоносного трафика, ана¬ логично тому, как антивирусная программа поступает с ф а й л а м и в ком¬ пьютере. В отличие от средств, описанных ранее, анализаторы действуют на более н и з к о м уровне. Если обратиться к эталонной модели В О С , то ана лизаторы проверяют два нижних уровня — физический и канальный. Физический уровень — это реальная физическая проводка или иная среда, п р и м е н е н н а я для создания сети. Н а канальном уровне происходит первоначальное кодирование данных для передачи через конкретную среду. Сетевые стандарты канального уровня включают беспроводной 802.11, Arcnet, коаксиальный кабель, Ethernet, Token Ring и многое дру гое. Анализаторы обычно зависят от типа сети, в которой они работают. Н а п р и м е р , для анализа трафика в сети Ethernet вы д о л ж н ы иметь анали¬ затор Ethernet. 219
Курс
Защитные средства с открытыми исходными текстами
Номер уровня модели ВОС Уровень 7
Название уровня
Примеры протоколов
Прикладной уровень
Уровень Уровень Уровень Уровень Уровень Уровень
Уровень представления Уровень сеанса Транспортный уровень Сетевой уровень К а н а л ь н ы й уровень Физический уровень
D N S , FTP, H T T P , SMTP, S N M P , Telnet XDR RPC NetBIOS, TCP, U D P A R P , IP, I P X , O S P F Arcnet, Ethernet, Token ring Коаксиальный кабель, оптоволокно, витая пара
6 5 4 3 2 1
Существуют анализаторы коммерческого класса, доступные от таких производителей, к а к Fluke, Network General и других. Обычно это специ¬ альные аппаратные устройства, которые могут стоить десятки тысяч дол ларов. Хотя эти аппаратные средства способны осуществлять более глу¬ бокий анализ, м о ж н о создать недорогой сетевой анализатор с п о м о щ ь ю программного обеспечения с открытыми исходными текстами и недоро гого П К на Intel-платформе. В д а н н о й главе рассматриваются несколько сетевых анализаторов Ethernet с открытыми исходными текстами. Я решил остановиться в этой главе на Ethernet, так к а к этот протокол наиболее употребителен в ло¬ кальных сетях. Весьма вероятно, что ваша организация использует сеть Ethernet или о н а взаимодействует с подобными организациями. Когда-то сетевой м и р был очень ф р а г м е н т и р о в а н н ы м в т о м , что касалось стандартов передачи ф и з и ч е с к о г о и к а н а л ь н о г о у р о в н е й ; н е существовало единого д о м и н и р у ю щ е г о стандарта д л я Л В С . К о р п о р а ц и я I B M сделала свою т о п о л о г и ю Token Ring стандартом д л я своих се¬ тей П К . М н о г и е к о м п а н и и , к о т о р ы е п е р в о н а ч а л ь н о и с п о л ь з о в а л и обо¬ рудование I B M , п р и м е н я л и Token Ring, потому что у н и х н е было в ы б о ра. Arcnet, в силу своей д е ш е в и з н ы , был п о п у л я р е н в н е б о л ь ш и х к о м п а ниях. Ethernet д о м и н и р о в а л в университетских и исследовательских средах. С у щ е с т в о в а л о м н о ж е с т в о других п р о т о к о л о в , т а к и х к а к AppleTalk к о м п а н и и Apple д л я к о м п ь ю т е р о в Macintosh. Эти п р о т о к о л ы о б ы ч н о были с п е ц и ф и ч н ы м и д л я к о н к р е т н о г о производителя. О д н а к о с р а з в и т и е м И н т е р н е т стандарт Ethernet стал н а б и р а т ь все большую по¬ пулярность. П о с т а в щ и к и оборудования начали стандартизацию и со¬ средоточились н а д е ш е в ы х платах Ethernet, к о н ц е н т р а т о р а х и коммута¬ торах. Н а с е г о д н я ш н и й д е н ь Ethernet стал ф а к т и ч е с к и м стандартом д л я л о к а л ь н ы х сетей и Интернет. Б о л ь ш и н с т в о к о м п а н и й и о р г а н и з а ц и й в ы б р а л и его и з - з а н е в ы с о к о й стоимости и п о с о о б р а ж е н и я м совмести¬ мости. 220
Глава 6
Сетевые анализаторы
Краткая и с т о р и я E t h e r n e t Боб Меткалф изобрел Ethernet в 1973 году в исследовательском цен¬ тре Xerox в Пало Альто. ( И з того ж е «инкубатора изобретений» в ы ш л и ла¬ зерный принтер и графический пользовательский интерфейс.) Б о б и его группа разработали и запатентовали «многоточечную систему связывания данных с обнаружением коллизий», которая позже стала известна к а к Ethernet. Затем Б о б организовал к о м п а н и ю , специализирующуюся на с о здании оборудования для этого нового протокола. С о временем она пре¬ вратилась в 3Com — одну из крупнейших сетевых к о м п а н и й в мире. К счастью, Ethernet был выпущен к а к общественное достояние, поэтому другие к о м п а н и и могли вносить свой вклад в эти с п е ц и ф и к а ц и и . Д л я Token Ring и большинства других сетевых протоколов того времени это было н е так. Если бы Ethernet остался в частной собственности или был ограничен оборудованием только одной к о м п а н и и , то, возможно, о н н е превратился бы в д о м и н и р у ю щ и й сегодня стандарт. Со временем о н был п р и н я т к а к о ф и ц и а л ь н ы й стандарт I E E E (International Electrical and Electronic Engineers — Институт инженеров по электротехнике и электро¬ н и к е ) , что практически гарантировало его ш и р о к о е п р и з н а н и е корпора¬ т и в н ы м и и правительственными пользователями во всем мире. Н а осно¬ ве Ethernet были разработаны другие стандарты, такие к а к Fast Ethernet, Gigabit Ethernet и W i - F i . Ethernet регламентирует к а к управление физической средой, так и программное кодирование данных, передаваемых по сети. Так как Ethernet имеет широковещательную топологию и все компьютеры потенциально могут «говорить» одновременно, в н е м предусмотрен механизм обработки коллизий — когда два компьютера одновременно посылают пакеты дан¬ ных. Если обнаруживается коллизия, то обе стороны повторно посылают д а н н ы е после задержки со случайной длительностью. В большинстве слу¬ чаев это работает вполне успешно. Однако это также является недостатком архитектуры Ethernet. Все компьютеры, подключенные к сети Ethernet, пересылают д а н н ы е по одному и тому ж е физическому кабелю, и плата Ethernet видит весь проходящий трафик. Плата Ethernet предназначена для обработки только тех пакетов, которые ей адресованы, н о в ы легко мо¬ жете заметить здесь потенциальные проблемы безопасности. Представьте себе, что почтальоны, вместо того, чтобы раскладывать корреспонденцию п о почтовым я щ и к а м адресатов, просто вываливали бы ее посреди улицы, так что каждый житель должен копаться в этой ку че в поисках адресованной ему почты, оставляя другую корреспонденцию на месте. (Было бы любопытно взглянуть на подписчиков «Плейбоя» и на получателей повесток о просрочке налоговых платежей.) Подобная в ы м ы ш л е н н а я система н е с л и ш к о м безопасна, да и время получателей р а с 221
Курс
Защитные средства с открытыми исходными текстами
ходуется н е особенно э ф ф е к т и в н о , н о в сущности и м е н н о так спроекти¬ рован Ethernet. В наше время для повышения эффективности большинство сетей Ethernet являются коммутируемыми. Это означает, что каждый порт Ethernet видит н е весь трафик, а только тот, что предназначен для подклю¬ ченной к нему машины. Это помогает сгладить некоторые проблемы при¬ ватности и перегрузки, но в каждый порт все же приходит много широкове¬ щательного трафика. Обычно широковещательный трафик направляется во все порты сети с целью обнаружения или для информации. Это относится к таким протоколам, как D H C P , где машина посылает широковещательное сообщение, разыскивая в сети какой-либо из серверов D H C P , чтобы полу¬ чить у него адрес. М а ш и н ы под управлением Microsoft Windows также из¬ вестны тем, что генерируют обильный широковещательный трафик. В локальных сетях Ethernet присутствуют и другие т и п ы широкове щательного трафика. Одним и з них является протокол разрешения адре сов (Address Resolution Protocol — A R P ) , который используется, когда ма ш и н а впервые пытается узнать, какой адрес уровня доступа к среде пере дачи (MAC-адрес) соответствует определенному IP-адресу (см. врезку об IP-адресах в главе 3). В сетях Ethernet MAC-адреса являются 12-значными шестнадцатеричными числами и присваиваются платам п р и производст¬ ве. Каждый производитель имеет собственный диапазон чисел, поэтому обычно по MAC-адресу можно узнать, кто сделал плату. Если машина зна ет IP-адрес, н о н е адрес Ethernet, она посылает пакеты A R P , спрашивая: «Кому принадлежит этот адрес?» Получив ответ, м а ш и н а сможет затем по¬ слать остальную часть сообщения п о правильному MAC-адресу. И м е н н о этот тип трафика оставляет локальные сети Ethernet восприимчивыми для атак анализатора, даже если о н и используют коммутацию вместо широко¬ вещания всего трафика во все порты. К р о м е того, если хакерам удастся по¬ лучить доступ к коммутатору (эти устройства зачастую плохо з а щ и щ е н ы ) , они могут превратить свой собственный порт в порт «монитора» или «зер¬ кала», который показывает т р а ф и к других портов.
Особенности применения сетевых анализаторов Чтобы применять сетевые анализаторы этично и продуктивно, необ ходимо выполнять следующие рекомендации.
Всегда получайте разрешение Анализ сети, к а к и многие другие ф у н к ц и и безопасности, имеет по¬ тенциал для ненадлежащего использования. Перехватывая все д а н н ы е , передаваемые п о сети, вы вполне можете подсмотреть пароли для различ222
Глава 6
Сетевые анализаторы
ных систем, содержимое почтовых сообщений и другие критичные дан¬ ные, как внутренние, так и в н е ш н и е , так как большинство систем не шифрует свой т р а ф и к в локальной сети. Если подобные д а н н ы е попадут в нехорошие руки, это, очевидно, может привести к серьезным нарушени¬ я м безопасности. К р о м е того, это может стать нарушением приватности служащих, если таковая фигурирует в политике вашей организации. Все¬ гда получайте письменное разрешение руководства, желательно высшего, прежде чем начинать подобную деятельность. Следует также предусмот реть, что делать с д а н н ы м и после их получения. П о м и м о паролей это мо¬ гут быть другие критичные данные. К а к правило, протоколы сетевого анализа д о л ж н ы вычищаться из системы, если только о н и не нужны для уголовного или гражданского преследования. Существуют документиро¬ в а н н ы е прецеденты, когда благонамеренных системных администрато¬ ров увольняли за н е с а н к ц и о н и р о в а н н ы й перехват данных.
Разберитесь в топологии сети Прежде чем настраивать анализатор, убедитесь, что вы полностью понимаете физическую и логическую организацию вашей сети. Проводя анализ в неправильном месте сети, вы либо получите о ш и б о ч н ы е резуль¬ таты, либо не сможете увидеть то, что ищете. Проверьте, что между ана¬ лизирующей рабочей станцией и тем, что вы собираетесь наблюдать, нет маршрутизаторов. Маршрутизаторы будут направлять т р а ф и к в сегмент сети, только если происходит обращение к расположенному там узлу. Аналогично, если вы находитесь в коммутируемой сети, вам понадобится сконфигурировать порт, к которому вы подключились, как порт «монито¬ ра» или «зеркала». Разные производители используют различную терми¬ нологию, но по сути вам необходимо, чтобы порт действовал как концен¬ тратор, а не к а к коммутатор, так как он должен видеть весь трафик, иду¬ щ и й через коммутатор, а не только тот, что направлен на вашу рабочую станцию. Без такой настройки порт монитора будет видеть только то, что направлено в порт, к которому вы подключены, и сетевой широковеща¬ тельный трафик.
Используйте жесткие критерии поиска В зависимости от того, что вы ищите, использование открытого фильтра (то есть показ всего) сделает вывод данных объемным и трудным для анализа. Используйте специальные критерии поиска, чтобы сокра¬ тить вывод, который выдает ваш анализатор. Даже если вы не знаете точ¬ н о , что ищете, м о ж н о , тем не менее, написать фильтр для ограничения результатов поиска. Если вы ищете внутреннюю машину, задайте крите223
Курс
Защитные средства с открытыми исходными текстами
р и и для просмотра только исходных адресов внутри вашей сети. Если вы пытаетесь отследить определенный тип трафика, скажем, т р а ф и к FTP, то ограничьте результаты только тем, что приходит в порт, используемый приложением. Поступая таким образом, вы сделаете результаты анализа значительно более полезными.
Установите эталонное состояние сети П р и м е н и в сетевой анализатор во время нормальной работы и запи сав итоговые результаты, вы получите эталонное состояние, которое м о ж н о сравнивать с результатами, полученными во время п о п ы т о к выде л е н и я проблемы. Анализатор Ethereal, рассматриваемый в этой главе, с о здает для этого несколько удобных отчетов. Вы получите также некоторые д а н н ы е для отслеживания использования сети в зависимости от времени. П р и п о м о щ и этих данных м о ж н о определить, когда сеть насыщается и каковы основные п р и ч и н ы этого — перегруженный сервер, рост числа пользователей, изменение типа трафика и т.п. Если есть точка отсчета, п р о щ е понять, кто и в чем виноват. Tcpdump: Анализатор трафика Ethernet Tcpdump Автор/основной контакт:
University of California, Lawrence Berkeley Laboratories www.tcpdump.org Большинство UNIX-платформ BSD 3.8.1
Web-сайт: Платформы: Лицензия: Рассмотренная версия: Списки почтовой рассылки: [email protected] Это список только для объявлений. [email protected] Этот список для обсуждения программ. По нему также рассылаются объявления, поэтому, если вы в него входите, вам нет нужды подписы ваться на первый список. Оба списка архивируются, поэтому вы можете выполнять поиск среди старых сообщений. Список обсуждения программ доступен также в формате еженедельного итогового дайджеста. Существует много доступных анализаторов, к а к свободных, так и коммерческих, н о Tcpdump доступен наиболее ш и р о к о и недорог. Он по¬ ставляется с большинством дистрибутивов U N I X , включая Linux и B S D . На самом деле, если у вас достаточно свежий дистрибутив Linux, то, весь224
Глава 6
Сетевые анализаторы
ма вероятно, что вы уже имеете установленный и готовый к употребле н и ю Tcpdump.
Установка Tcpdump Tcpdump полностью оправдывает свое имя: он выдает содержимое пакетов T C P / I P , проходящих через сетевой интерфейс, на устройство вы¬ вода (обычно — на э к р а н или в файл). 1. Чтобы анализатор Tcpdump работал, он должен иметь возмож ность перевести сетевую плату в так называемый режим прослуши вания (или неразборчивый режим — promiscuous mode). Это озна чает, что сетевая плата будет перехватывать весь т р а ф и к Ethernet, а не только тот, что адресован ей. Каждая операционная система п о своему обрабатывает т р а ф и к платы Ethernet. Чтобы предоставить общую ссылку для программистов, была создана библиотека pcap. В U N I X она называется libpcap, а в Windows — WinPcap. Эти н и з коуровневые драйверы могут изменять способ, которым плата обычно обрабатывает трафик. О н и д о л ж н ы быть установлены до Tcpdump. Если Tcpdump уже присутствует в системе, то установлены и драйверы. В противном случае возьмите их и з каталога misc на компакт-диске, п р и л о ж е н н о м к этой книге, или с Web-сайта Tcpdump. Н е забудьте установить их перед установкой Tcpdump. Примечание: Д л я libpcap требуются также интерпретируемые я з ы к и Flex и Bison или, в качестве замены, — Lex и Yacc. Если у вас их нет, найдите их на дистрибутивном диске своей операционной системы или в Сети, и установите, чтобы установка libpcap прошла успешно. 2. Установите libpcap, распаковав ее и выполнив стандартные к о м а н ды компиляции: . /configure make make i n s t a l l
Если во время к о м п и л я ц и и вы получите предупреждение ви¬ да «Cannot determine packet capture interface» («Невозможно опре¬ делить интерфейс перехвата пакетов»), то ваша сетевая плата н е поддерживает режим прослушивания, и для п р и м е н е н и я Tcpdump придется взять другую плату. Большинство современных плат д о л ж н ы поддерживать этот режим. 3. После установки libpcap распакуйте пакет Tcpdump и перейдите в его каталог. 225
Курс
Защитные средства с открытыми исходными текстами 4. В ы п о л н и т е те ж е к о м а н д ы к о м п и л я ц и и : ./configure make make i n s t a l l Tcpdump готов к употреблению.
Запуск Tcpdump Существует р я д о п е р а ц и й д л я фильтрации вывода, чтобы н а й т и оп¬ р е д е л е н н ы й т и п т р а ф и к а и л и с н и з и т ь о б щ и й объем вывода. Н а с а м о м де¬ ле, в а к т и в н о используемой сети н е ф и л ь т р о в а н н ы й вывод Tcpdump будет пролетать н а э к р а н е быстрее, ч е м в ы сможете его прочитать! О д н а к о п р я мо сейчас для д е м о н с т р а ц и и возможностей Tcpdump запустим его и з ко¬ м а н д н о й с т р о к и , набрав просто: tcpdump Вы увидите весь н е ф и л ь т р о в а н н ы й т р а ф и к T C P , п р о х о д я щ и й через плату Ethernet в а ш е й м а ш и н ы . О н может выглядеть п р и м е р н о так, к а к в п р и м е р е н а листинге 6.1. Листинг 6.1. П р и м е р выдачи Tcpdump 12:25:38.504619 12.129.72.142.http > 192.168.1.3.3568: . ack 1418369642 win 31856 <nop,nop,timestamp 72821542 25475802> ( D F ) 12:25:38.504758 192.168.1.3.3568 > 12.129.72.142.htt: . ack 1 win 40544 <nop,nop,timestamp 25486047 72811295> ( D F ) 12:25:38.507753 192.168.1.3.4870 > 65.83.241.167.domain: 11414+ PTR? 142.72.129.12. in-addr.arpa. (44) (DF) 12:25:38.561481 65.83.241.167.domain > 192.168.1.3.4870: 11414 NXDomain*- 0/1/0 (113) 12:25:38.562754 192.168.1.3.4870 > 65.83.241.167.domain: 11415+ PTR? 3.1.168.192. in-addr.arpa. (42) (DF) 12:25:38.609588 65.83.241.167.domain > 192.168.1.3.4870: 11415 NXDomain 0/1/0 (119) 12:25:38.610428 192.168.1.3.4870 > 65.83.241.167.domain: 1416+ PTR? 167.241.83.65. in-addr.arpa. (44) (DF) 12:25:38.649808 65.83.241.167.domain > 192.168.1.3.4870: 11416 1/0/0 (69) 12:25:43.497909 a r p who-has 192.168.1.1 t e l l 192.168.1.3 12:25:43.498153 a r p r e p l y 192.168.1.1 i s - a t 0:6:25:9f:34:ac 12:25:43.498943 192.168.1.3.4870 > 65.83.241.167.domain: 11417+ 226
Глава 6
Сетевые анализаторы
PTR? 1.1.168.192.in-addr.arpa. (42) (DF) 12:25:43.533126 65.83.241.167.domain > 192.168.1.3.4870: 11417 NXDomain 0/1/0 (119) 12:25:44.578546 192.168.1.1.8783 > 192.168.1.255.snmptrap: Trap(35) E:3955.2.2.1 192.168.1.1 e n t e r p r i s e S p e c i f i c [ s p e c i f i c trap(1)!=0] 43525500[|snmp]
На первый взгляд выдача кажется запутанной, но если разбить ее на составляющие, то смысл начинает проясняться. Первое число является временной меткой с точностью до долей секунды, так как в активно ис¬ пользуемой сети каждую секунду проходит множество пакетов. Следую¬ щее число — это IP-адрес отправителя пакета, за которым следует > (знак больше), а затем целевой адрес. Н а к о н е ц , могут присутствовать некото¬ р ы е комментарии и другие данные. В примере м о ж н о видеть несколько различных видов трафика, включая т р а ф и к D N S (domain), A R P и S N M P . П о умолчанию Tcpdump выполняется, пока не будет остановлен на жатием Ctrl+C или другим сигналом прерывания. Когда Tcpdump останав ливается, он выдает сводные данные о просмотренном трафике, включая: • Пакеты, полученные фильтром. Это количество пакетов, обрабо¬ танных фильтром Tcpdump, а не общее число пакетов T C P в сети, если только вы не выполняете Tcpdump без критериев фильтрации. • Пакеты, отброшенные ядром. Число пакетов, которые были отбро ш е н ы в связи с отсутствием ресурсов в системе. Эта возможность поддерживается не всеми системами. Д а ж е когда она поддержива ется, число может быть неточным, если сеть очень загружена или м а ш и н а анализатора очень медленная.
З а г о л о в к и п а к е т о в TCP/IP В этом разделе описывается содержимое заголовков пакетов T C P / I P , чтобы вы могли разобраться в выводе Tcpdump. Структура пакетов T C P / I P определена в документе R F C 793 для TCP-части и в R F C 791 для IP-части. П о л н ы й текст этих с п е ц и ф и к а ц и й м о ж н о найти по адресу www.rfc-editor.org. Рис. 6.1 является графическим представлением заго ловков T C P и IP. Заголовки обоих типов имеют длину не менее 20 байт и обычно представляются 32-битными секциями (4 байта) с адресами, о п ц и я м и и другими настройками сеансов. Рассмотрим сначала IP-часть, так к а к это н и ж н и й уровень сетевой модели. Заголовок протокола IP содержит адреса получателя и отправи теля пакета. Так к а к каждый адрес занимает 32 бита (4 октета по 8 бит ка ж д ы й ) , то исходный и целевой IP-адреса вместе составляют 8 байт. В первой части заголовка помещаются различные переключатели и о п ц и и пакета. Первая строка содержит несколько бит, которые и д е н т и ф и ц и р у 227
Защитные средства с открытыми исходными текстами
Курс
Заголовок TCP I 1о vie Р ге ie ю
о; [Н )Г() г01
F от ie
[1(>pi W СО й н ф( 53£рС ме Щ SHие 3<
К ОГ
адгв Ф
т ер п
ф Лс ГГ Т С ]
П( >р а г
до М(V e i И5[
>
ie] >с KI[а
Рс
BIФ )В ш 0 OJ ы [а5 [ с yjv м<п С Р
•
Ук аз ат<ж > срс 41 0( ; T I [
0 НЕ H I [1 С Р Данные
гт i
Ширина 1 бит
Заголовок IP
Г 1
в Ф :и я] р
} (л ГЕа : sar ол 01 кг
и де ГПИ( Шка го р< щ
0 бБ гд
Т иг с Ф зи са
ITIicj И! :ai 01 >фр* ГАcei гаО ( :м
в зе VI я ж из HI[
(ei [И 5 С Ф
Д1 LHJi ie ГТ1
ъ 01 IT]ю. 1Ь да а с У* IMа
П PC тс КСл
3 1Г()Л( )В са
Ис ж )Д] 1Ый р -а, Ф ?с L
ei 01 [I >-
0
адре
Щи
Данные
Рис. 6.1. Заголовок T C P / I P ют версию IP. Большинство сетей используют IP версии 4 (IPv4), но бо лее новая 128-битная система IP, называемая IP версии 6 (IPv6), сущест вует уже несколько лет и постепенно получает п р и з н а н и е . Предполагает ся, что IPv6 разрешит проблемы адресного пространства IP, выделяя до 128 бит для адресной части, что должно удовлетворить любые м ы с л и м ы е потребности. IPv6 решает также проблемы безопасности и в е р и ф и к а ц и и , и м е ю щ и е с я в IPv4. Н о в настоящее время вы в подавляющем б о л ь ш и н стве случаев будете видеть пакеты IPv4. Затем следуют значения д л и н ы заголовка и типа сервиса (последний служит для д и ф ф е р е н ц и а ц и и при определении приоритетов пакетов). Заключительный фрагмент этой строки представляет общую длину заголовка, которая обычно одинакова 228
Глава 6
Сетевые анализаторы
для всех пакетов (20 байт), н о может меняться д л я новых протоколов, та ких к а к IPv6. В двух следующих строках располагаются идентификатор пакета и контрольная сумма, помогающая проверять его корректность. Н а к о н е ц , имеются IP-адреса отправителя и получателя и поле о п ц и й , которое м о жет иметь переменную длину или дополняться нулями и произвольными данными. Заголовок T C P отвечает за создание сеанса T C P и ф у н к ц и и более высокого уровня. Обычно о н имеет длину 20 байт и начинается с номеров исходного и целевого портов п о 16 бит каждый. И м е н н о поэтому номера портов н е могут быть больше 65535 (2 в степени 16 равно 65536). (Инте¬ ресно, что выбор всех этих чисел, вроде бы абсолютно произвольный, всегда на чем-то основан.) Номера портов, к а к упоминалось ранее, определяют программу, к о торой необходимо направлять пакеты на удаленной м а ш и н е , и и д е н т и ф и цируют сеанс на локальной м а ш и н е . Следующая строка содержит поряд ковый номер. О н используется для сборки пакетов в правильном порядке на удаленном к о н ц е , даже если о н и приходят в другом порядке. Это один из аспектов отказоустойчивости сеансов TCP. К р о м е того, имеется номер подтверждения, также д л и н о й 32 бита, который позволяет проверить, что пакет идет с правильной м а ш и н ы . Следующая строка содержит 4-битную секцию, называемую смещением данных, которая определяет, сколько 32-битных строк или «слов» имеется в заголовке (обычно 4); за ней р а с п о лагаются 6 бит, зарезервированных для будущих п р и м е н е н и й . Затем сле дует 6-битная секция, называемая флагами TCP. Вторая половина этой строки служит для согласования размера окна и говорит получателю, сколько бит готов принять отправитель. Флаги T C P весьма важны, здесь задаются различные управляющие биты, контролирующие обработку па кетов. Каждый тип к о м м у н и к а ц и й T C P задается одним битом, единица соответствует включению, ноль — отключению. В табл. 6.1 перечислены шесть полей раздела флагов T C P и описано их применение. Примечание: Каждое «поле» имеет ш и р и н у один бит (просто — единица или ноль, включено или выключено). Табл. 6.1. Поля флагов T C P Флаг TCP Полное имя Описание URG Указатель срочности Показывает приоритет TCP-пакетов. ACK Подтверждение Помечает этот пакет к а к подтвержде¬ н и е получения. PSH Выталкивание Выталкивает поставленные в очередь д а н н ы е из буферов. 229
Курс
Защитные средства с открытыми исходными текстами
RST
Сброс
SYN FIN
Синхронизация Завершение
Сбрасывает соединение T C P по завершении или после разрыва. Синхронизирует соединение. Завершает передачу.
Обычно только один или два из этих флагов установлены (биты заданы как единица), но, как мы видели в главе 4, ничто не мешает отправить пакет со всеми битами взведенными (сканирование X M A S ) или выключенными (сканирование N U L L ) , чтобы попытаться запутать удаленную систему. Следом располагается контрольная сумма T C P и указатель срочно сти. Затем идет строка со всеми T C P - о п ц и я м и пакета, такими к а к допол¬ нительные контрольные суммы, метки времени и т.д. Эта строка допол¬ няется д о 32 бит нулями, если опции н е заполняют ее целиком. Н а к о н е ц , следует полезная нагрузка — д а н н ы е пакета. Может показаться, что на от¬ правку одного пакета уходит с л и ш к о м много накладных административ¬ ных расходов (примерно 48 байт для каждого пакета), н о это на самом д е ле обеспечивает относительно устойчивое соединение в сети, которая н е всегда обладает сквозной надежностью (как Интернет). В действительно¬ сти, чтобы избежать дополнительных расходов TCP, некоторые протоко¬ лы, н е требующие соединения, используют U D P — протокол без устано вления соединений с м е н ь ш и м и накладными расходами. В стандартном сеансе Tcpdump с о б ы ч н ы м уровнем подробности вы¬ вода вы увидите метку времени, за которой следует порядковый номер TCP. Затем выдаются IP-части, включая исходный и целевой адреса, раз¬ деленные знаком > (больше), означающим, что пакет идет отсюда туда. В к о н ц е располагается и н ф о р м а ц и о н н о е поле, которое показывает, что д е лает пакет. М о ж н о использовать о п ц и и -v или -vv, чтобы получить от Tcpdump более подробные д а н н ы е о заголовке (см. следующий раздел). Обычно вы будете запускать Tcpdump с некоторыми установленны¬ ми о п ц и я м и или фильтрами, чтобы уменьшить и сфокусировать вывод. О б щ и й вид инструкции запуска Tcpdump таков: Tcpdump опции выражения
Замените опции и выражения одной или несколькими допустимыми переменными. О п ц и и Tcpdump перечислены в табл. 6.2. Табл. 6.2. О п ц и и Tcpdump Опция -a
Описание Пытается преобразовать адреса в имена. Это создает д о полнительную нагрузку на систему и может привести к потере пакетов. 230
Глава 6 -с число - C размер _ файла -d -dd -ddd -e - E алгоритм: секрет
- F файл - i интерфейс
-n -N
-P
-q
Сетевые анализаторы Останавливает Tcpdump после обработки заданного числа пакетов. Ограничивает размер выходных файлов заданным числом байт. Выдает процедуру сопоставления пакетов с образцом в удобочитаемом виде и затем останавливается. Выдает процедуру сопоставления пакетов с образцом в виде фрагмента программы на я з ы к е С и . Выдает процедуру сопоставления пакетов с образцом в виде десятичных чисел. В каждой строке выдачи печатает заголовок канально го уровня (в сетях Ethernet это MAC-адрес). Использует встроенную в Tcpdump возможность рас шифровывать на лету пакеты, з а ш и ф р о в а н н ы е по п р о токолу IPsec ESP. Разумеется, чтобы использовать эту о п ц и ю , в ы д о л ж н ы располагать разделяемым секрет¬ н ы м ключом. В число возможных значений параметра «алгоритм» входят des-cbc, 3des-cdc, blowfish-cbc, r3ccbc, приведенный 128-cbc. К р о м е того, о н о может быть пустым. П о умолчанию используется des-cbc. Значени¬ ем параметра «секрет» должен служить секретный ключ E S P в текстовом виде. Дополнительную и н ф о р мацию об IPsec м о ж н о найти в главе 9. Использует файл (а н е сеть) для ввода данных. Это удобно для анализа событий «постфактум». Читает и з заданного интерфейса, когда на анализирую щей м а ш и н е имеется несколько сетевых интерфейсов. П о умолчанию Tcpdump использует действующий ин¬ терфейс с н а и м е н ь ш и м номером. В системах Linux м о ж н о использовать также параметр any для перехвата пакетов и з всех сетевых интерфейсов. Н е преобразовывает адреса в имена. Н е печатает в именах хостов и м я домена вышележаще го уровня. Это полезно, если вам необходимо предста¬ вить обезличенную версию вывода и в ы н е хотите рас¬ крывать, ч ь я это сеть. Н е переводит интерфейс в режим прослушивания. И с пользуется только при исследовании трафика, направ ленного в анализирующий компьютер. Печатает быстрый вывод. Печатается меньше прото кольной и н ф о р м а ц и и , поэтому строки оказываются короче. 231
Курс
-T тип
-t -tt -ttt -tttt -v
-vv -vvv -w и м я ф а й л а
-x -X
Защитные средства с открытыми исходными текстами
Заставляет интерпретировать пакеты, выбранные за¬ д а н н ы м в выражении фильтром, в соответствии с ука¬ з а н н ы м типом. Н е печатает метку времени в каждой строке. Печатает неформатированную метку времени в каждой строке. Печатает интервал времени между пакетами. Печатает в каждой строке дату, а затем метку времени в подразумеваемом формате. Использует чуть более подробный вывод, включающий время ж и з н и , идентификатор, общую длину и поля о п ц и й каждого пакета. Предоставляет более детальный вывод. Пакеты N F S и S M B полностью декодируются. Предоставляет е щ е более подробный вывод. Это может существенно замедлить работу анализатора. Записывает пакеты в указанный файл вместо вывода их на экран. Таким образом результаты «вынюхивания» без участия человека м о ж н о сохранить и проанализи¬ ровать их позже. Н а п р и м е р , если в вашей сети проис¬ ходят какие-то странные вещи, вы можете запустить Tcpdump на ночь, чтобы перехватить весь необычный трафик. Н е забудьте написать хороший фильтр, иначе полученный наутро файл может оказаться с л и ш к о м большим. Выводит каждый пакет (без заголовка канального уровня) в шестнадцатеричном виде. Выводит содержимое пакетов и в шестнадцатеричном, и в текстовом видах.
Выражения Tcpdump Выражения Tcpdump определяют выбор отображаемых сетевых па кетов. И м е н н о здесь происходит реальная работа Tcpdump. Выдаются только те объекты, которые соответствуют выражению; если выражения не заданы, отображаться будут все пакеты. Выражение Tcpdump состоит из одной или нескольких директив, называемых примитивами, которые, в свою очередь, состоят из идентификатора и следующего за н и м к в а л и ф и катора. В табл. 6.3 перечислены три различных вида квалификаторов, а в Табл. 6.4 — доступные к о м б и н а ц и и примитивов. Существуют также более сложные выражения, которые м о ж н о стро ить с п о м о щ ь ю булевых операций, таких к а к И , И Л И , Н Е , и операций 232
Глава 6
Сетевые анализаторы
сравнения (больше, м е н ь ш е и т.п.). Обратитесь к оперативной справке Tcpdump, чтобы детальнее ознакомиться с примерами и методами п р и м е н е н и я выражений. Табл. 6.3. К в а л и ф и к а т о р ы Tcpdump Квалификатор тип
направление
протокол
Описание Определяет, к чему относится идентификатор, задан н ы й к а к имя или номер. Возможными типами служат host, net и port. Например, host foo, net 128.3 или port 20. Определяет направление трафика от определенного идентификатора. Возможными направлениями служат src; dst; src or dst и src and dst (src обозначает исходный адрес, dst — целевой). Позволяет определить протокол для фильтрации. Воз м о ж н ы м и протоколами являются ether, fddi, tr, ip, ipv6, arp, rarp, decnet, tcp и udp. Если протокол н е задан, то допустимы все протоколы, совместимые с остальной частью выражения. П р и п о м о щ и фильтров с этим к в а лификатором м о ж н о определить, какая м а ш и н а делает чрезмерное количество arp-запросов, или для отбра сывания на фильтре udp-запросов, которых немало во многих сетях, так к а к D N S использует udp.
Табл. 6.4. Допустимые к о м б и н а ц и и примитивов Комбинация dst host хост
src host хост host хост ether dst
Ethernet-хост
ether src Ethernet-хост ether host Ethernet-хост gateway хост
Описание Показывает только трафик, адресованный хос¬ ту, который может быть задан IP-адресом или именем. Показывает только трафик, исходящий из хоста. Показывает к а к исходящий, так и входящий т р а ф и к хоста. Показывает трафик, предназначенный для ука занного Ethernet-хоста, который может быть задан либо именем, либо MAC-адресом. Показывает трафик, исходящий из Ethernet-хоста. Показывает к а к исходящий, так и входящий т р а ф и к Ethernet-хоста. Показывает любой трафик, использующий хост в качестве шлюза. И н ы м и словами, тра¬ ф и к , переправляемый с хоста. Так происходит, 233
Курс
Защитные средства с открытыми исходными текстами
dst net сеть
src net сеть net сеть
net сеть mask маскасети
net сеть/длина
маски
dst port порт
src port порт
less длина
greater длина
ip proto протокол
когда IP-адрес отправителя или получателя н е соответствует Ethernet-адресу хоста. Д а н н у ю возможность целесообразно использовать, ко¬ гда необходимо отследить весь трафик, прохо¬ д я щ и й через И н т е р н е т - ш л ю з или некоторый конкретный маршрутизатор. Фильтрует трафик, предназначенный для к о н кретной сети, заданной в нотации 0.0.0.0. Ана логично ether dst Ethernet-хост за исключением того, ч т о это может быть значительно больше, чем один хост. Фильтрует сеть отправителя. То ж е , ч т о и две предыдущие инструкции, н о т р а ф и к разрешен к а к в заданную сеть, так и и з нее. Сопоставляется с трафиком в заданную сеть или и з нее, с указанной маской сети. П р и м е н я ется для задания точного размера сети с шагом меньше, ч е м класс C . В этой к о м б и н а ц и и допу¬ скается использование примитивов src и dst для указания направления потоков данных. Сопоставляется с трафиком с сетевыми адреса ми и з указанной сети и заданным числом бит в маске сети. Аналогична предыдущей комби¬ нации. Фильтрует т р а ф и к T C P и U D P с заданным це¬ левым портом. Здесь м о ж н о также специфици¬ ровать т и п перехватываемого трафика, T C P или U D P . П о умолчанию отображается т р а ф и к обоих типов. То ж е , ч т о и предыдущая к о м б и н а ц и я , только перехватывается т р а ф и к с заданным исходным портом. Отображает пакеты с д л и н о й , меньшей или равной заданной. Допустима также комбина¬ ц и я len <= длина. То ж е , ч т о и предыдущая к о м б и н а ц и я , только перехватывается т р а ф и к с длиной пакетов больше или равной указанной. Перехватывает т р а ф и к заданного протокола. Допустимыми протоколами служат icmp, icmpv6, igmp, igrp, pim, ah, esp, vrrp, udp и tcp. И м е н а tcp, udp и icmp д о л ж н ы помещаться м е жду двумя обратными косыми чертами, чтобы 234
Глава 6
Сетевые анализаторы
они н е читались к а к ключевые слова. Пример: ip proto \tcp\. ip6 proto протокол Аналогично предыдущей к о м б и н а ц и я , н о для пакетов и типов IPv6. ip6 protochain протокол И щ е т пакеты IPv6, и м е ю щ и е заголовок указан ного протокола. ip protochain протокол То ж е , что и выше, н о для пакетов IPv4. ip broadcast Идентифицирует только широковещательный трафик, то есть трафик, и м е ю щ и й все нули или все е д и н и ц ы в поле целевого адреса. ether multicast Регистрирует вещательные пакеты Ethernet. ip multicast Регистрирует вещательные пакеты IP. ip6 multicast Регистрирует вещательные пакеты IPv6. ether proto протокол Отображает трафик, который имеет указанный тип протокола Ethernet. Допустимыми имена¬ ми протоколов служат ip, ipv6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, moprc, iso, stp, ipx и netbeui. Эти имена являются также идентифи¬ каторами, поэтому о н и должны быть экрани¬ р о в а н ы с п о м о щ ь ю обратных косых черт. decnet src хост Перехватывает т р а ф и к DECnet с исходным ад ресом хоста. decnet dst хост Аналогично предыдущей к о м б и н а ц и я , н о фильтрует целевой адрес хоста. decnet хост Фильтрует т р а ф и к DECnet с исходным или ц е левым адресом хоста. ip С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto ip. Ловит трафик, соответ¬ ствующий Ethernet-протоколу ip. ip6 С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto ip6. Ловит трафик, соответ¬ ствующий Ethernet-протоколу ip6. arp С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto arp. Ловит трафик, соот¬ ветствующий Ethernet-протоколу arp. rarp С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto rarp. Ловит трафик, соот¬ ветствующий Ethernet-протоколу rarp. atalk С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto atalk. Ловит трафик, соот¬ ветствующий Ethernet-протоколу atalk. aarp С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto aarp. Ловит трафик, соот¬ ветствующий Ethernet-протоколу aarp. 235
Курс
Защитные средства с открытыми исходными текстами
decnet
iso
stp
ipx
netbeui
vlan идентификатор_ ВЛВС tcp udp icmp iso proto протокол clnp esis isis
С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto decnet. Ловит трафик, со¬ ответствующий Ethernet-протоколу decnet. С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto iso. Ловит трафик, соответ¬ ствующий Ethernet-протоколу iso. С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto stp. Ловит трафик, соответ¬ ствующий Ethernet-протоколу stp. С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto ipx. Ловит трафик, соответ¬ ствующий Ethernet-протоколу ipx. С о к р а щ е н н ы й вариант описанной в ы ш е ком¬ бинации ether proto netbeui. Ловит трафик, со¬ ответствующий Ethernet-протоколу netbeui. Перехватывает пакеты на основе стандарта 802.1Q V L A N . Идентификатор виртуальной локальной сети м о ж н о опускать. С о к р а щ е н н а я форма к о м б и н а ц и и ip proto tcp. С о к р а щ е н н а я форма к о м б и н а ц и и ip proto udp. С о к р а щ е н н а я форма к о м б и н а ц и и ip proto icmp. Перехватывает пакеты ВОС с заданным типом протокола — clnp, esis или isis. С о к р а щ е н н а я форма о п и с а н н о й в ы ш е к о м б и нации с clnp в качестве протокола. С о к р а щ е н н а я форма к о м б и н а ц и и iso proto протокол с esis в качестве протокола. С о к р а щ е н н а я форма к о м б и н а ц и и iso proto протокол с isis в качестве протокола.
Примеры применения Tcpdump Н и ж е представлены несколько практических примеров п р и м е н е н и я Tcpdump. Просмотр
всего входящего и исходящего определенного хоста
трафика
Если вы хотите отслеживать только входящий и исходящий т р а ф и к определенного хоста, то м о ж н о отфильтровать все остальное с п о м о щ ь ю 236
Глава 6
Сетевые анализаторы
простого выражения «host». Н а п р и м е р , чтобы следить за хостом с I P - а д ресом 192.168.1.1, нужно выполнить инструкцию tcpdump -n host 192.168.1.1
Наблюдение
за входящим и исходящим определенного порта
трафиком
Если вы хотите проследить за использованием определенного при¬ ложения, м о ж н о применить Tcpdump для улавливания всего трафика, на правляемого в определенный порт T C P / U D P . Если приложением, за к о торым вы пытаетесь наблюдать, является Telnet (порт 23), то это м о ж н о сделать с п о м о щ ь ю следующего выражения Tcpdump: tcpdump -n port 23
Просмотр всего входящего и исходящего трафика определенного хоста, за исключением некоторых видов трафика Предположим, что вы хотите следить за одним хостом, как в первом примере, но желаете отфильтровать трафик S S H (если вы подключаетесь к этому хосту посредством S S H , то нефильтрованный вывод Tcpdump будет отображать трафик вашего собственного соединения). Это можно сделать, добавив выражение port с булевой операцией Н Е . Вот как выглядит команда: tcpdump -n host 192.163.1.1 and not port 22
Выявление
вредоносной
рабочей
станции
Если возникли сетевые проблемы, и вы подозреваете, что вредонос¬ н ы й компьютер норовит затопить вашу сеть, можно применить Tcpdump для быстрого прослеживания виновника. Вне зависимости от того, будет ли это неисправная сетевая плата или П К с троянской программой, вызываю¬ щей атаку на доступность, Tcpdump поможет пролить свет на проблему. Сначала попробуйте просто запустить Tcpdump без фильтрации и посмот¬ реть, что порождает большую часть трафика. Используйте опции -а и -e для генерации имен и MAC-адресов. tcpdump -ae
Отметим, что м о ж н о объединять две буквы с одним дефисом. Если вывод н а э к р а н е проскальзывает с л и ш к о м быстро, используйте о п ц и ю -c 1000, чтобы остановиться после получения 1000 пакетов. 237
Курс
Защитные средства с открытыми исходными текстами
Слежение
за определенной
рабочей
станцией
С п о м о щ ь ю Tcpdump вы легко можете запротоколировать трафик, исходящий из определенной рабочей станции, для последующего анали¬ за (убедитесь только, что вы имеете на это законное право). Используйте инструкцию Tcpdump из первого примера с ключом -w для записи в файл. Если в сети применяется динамическое конфигурирование хостов по протоколу D H C P , то предпочтительным может оказаться использование и м е н S M B (Windows). Пример: tcpdump -w l o g f i l e host 192.168.1.1
где l o g f i l e представляет файл протокола. М о ж н о также добавить о п ц и и -c или - C для ограничения размера файла вывода. Поиск подозрительного
сетевого
трафика
Если у вас вызывает беспокойство сетевая активность в нерабочее вре мя, то можно оставить запущенный Tcpdump, отметив трафик, который вы считаете сомнительным. Можно запустить Tcpdump с установленным флагом gateway 192.168.0.1, заменяя IP-адрес на адрес своего Интернет-шлюза. Если ваша домашняя сеть использует IP-диапазон от 192.168.0.0 до 192.168.0.254, в этом случае будет помечаться весь трафик, проходящий через шлюз Интер нет. Если имеется внутренний почтовый сервер, и вы не хотите протоколиро¬ вать этот трафик, так как он допустим, можно добавить инструкцию and host != 192.168.0.2
где IP-адрес является адресом почтового сервера. Восклицательный знак действует к а к булева операция Н Е . Будет помечаться весь входящий трафик, н е предназначенный для почтового сервера. Выражение может выглядеть следующим образом: tcpdump -w l o g f i l e gateway 192.168.0.1 and host != 192.168.0.2
Для выявления пользователей, п р и м е н я ю щ и х определенное прило¬ ж е н и е , например, программы потокового видео или аудио, м о ж н о уточ¬ нить выражение, если известен номер порта. Если вы знаете, что исполь¬ зуется порт T C P 1000, то м о ж н о применить примитив port для перехвата трафика подозрительного приложения. Пример: tcpdump -w l o g f i l e gateway 192.168.0.1 and host != 192.168.0.2 dst
port 1000 238
Глава 6
Сетевые анализаторы
Для более сложных сценариев обнаружения вторжений лучше п р и менить одну из систем обнаружения вторжений, описанных в главе 7, но для быстрого предварительного анализа Tcpdump может быть очень по¬ лезным средством. WinDump: Анализатор Ethernet-трафика для Windows WinDump Автор/основной контакт: Loris Degioanni Web-сайт: windump.polito.it/install/default.htm Платформы: Windows 95, 98, ME, NT4, 2000, XP Лицензия: BSD Рассмотренная версия: 3.8 alpha Список почтовой рассылки WinPcap: www.mail-archive.com/[email protected]/
Н а к о н е ц появилась программа Tcpdump для Windows. На самом де ле, это настоящая UNIX-программа Tcpdump, перенесенная на платфор му Windows, поэтому все ф у н к ц и и и выражения работают точно так же.
Установка WinDump Л о р и с Д и ж о н был настолько л ю б е з е н , что не т о л ь к о перенес Tcpdump на платформу Windows, но и сделал установку WinDump еще бо¬ лее простой, чем у UNIX-аналога. 1. К а к и для Tcpdump в U N I X , сначала, до того как м о ж н о будет за¬ пускать WinDump, необходимо установить библиотеки перехвата пакетов. Специальная версия библиотек для Windows называется WinPcap. Она присутствует на компакт-диске в каталоге Misc. Са мая свежая версия доступна также на Web-сайте программы. 2. Установите библиотеки WinPcap, щелкнув м ы ш ь ю на этом файле. 3. Загрузите и с п о л н и м ы й файл WinDump и поместите его в каталог, откуда о н должен запускаться. Н и к а к и х дополнительных действий по установке не требуется.
Применение WinDump WinDump применяется точно так ж е , к а к и Tcpdump — из командной строки. Просто перейдите в к о м а н д н ы й режим в Windows и выполните команду в каталоге, в котором находится и с п о л н и м ы й файл WinDump. Все команды и выражения работают так ж е , но в табл. 6.5 представлены несколько команд, специфических для Windows-версии. 239
Курс
Защитные средства с открытыми исходными текстами
На Web-сайте также доступны исходные тексты для тех, кто хочет внести свой вклад или сделать собственные усовершенствования. Однако, одно предостережение: д а н н ы й вид программирования для Windows — удел крутых парней, хорошо разбирающихся в сетевых протоколах. Это все, что нужно для работы в Windows или U N I X . Если вы хотите иметь что-то большее, чем просто интерфейс командной строки, вос пользуйтесь о п и с а н н ы м н и ж е средством, предлагающим для вынюхива н и я графический интерфейс. Табл. 6.5. Дополнительные команды WinDump Команда -B
-D
Описание Устанавливает размер буфера драйвера в килобайтах для се анса перехвата. Если пакеты теряются с л и ш к о м часто, по¬ пробуйте немного увеличить это значение. П о умолчанию используется 1 М Б (-В 1000). Печатает список доступных сетевых интерфейсов в вашей си¬ стеме. Выводится имя интерфейса, его номер и описание, ес ли таковое имеется. Эти параметры можно использовать для задания интерфейса перехвата с п о м о щ ь ю ключа Tcpdump - i .
Ethereal: Анализатор сетевых протоколов для UNIX и Windows Ethereal Автор/основной контакт: Web-сайт: Платформы:
Gerald Combs www.ethereal.com Большинство UNIX, Windows 95, 98, ME, NT4, 2000, XP Лицензия: GPL Рассмотренная версия: 0.10.2 Списки почтовой рассылки: Ethereal-announce Общий список объявлений. Не принимает сообщения. Подписка по адресу www.ethereal.com/mailman/listinfo/ethereal-announce. Ethereal-users Общие вопросы использования Ethereal. Отправляйте свои вопросы сюда. Подписка по адресу www.ethereal.com/mailman/listinfo/ethereal-users.
Ethereal-dev Дискуссии разработчиков. Подписка по адресу www.ethereal.com/mailman/listinfo/ethereal-dev. 240
Глава 6
Сетевые анализаторы
Ethereal-doc Для тех, кто пишет документацию Ethereal или хочет в этом участвовать. Подписка по адресу www.ethereal.com/mailman/listinfo/ethereal-doc. Ethereal-cvs Для отслеживания изменений в CVS-дереве Ethereal, в котором поддер живается самая свежая версия кода для разработчиков. Сообщения не принимаются, любые вопросы должны направляться в Ethereal-users или -dev в зависимости от их содержания. Подписка по адресу www.ethereal.com/mailman/listinfo/ethereal-cvs.
Ethereal предлагает все выгоды средства командной строки, такого как Tcpdump, а также р я д дополнительных преимуществ. О н обладает удобным пользовательским графическим интерфейсом, поэтому н е нуж¬ но изучать все о п ц и и командной строки. К р о м е того, о н предлагает зна¬ чительно больше аналитических и статистических возможностей. К чис¬ лу прочих достоинств Ethereal относятся: • Более я с н ы й формат вывода. П о сравнению с необработанными наборами перехваченных пакетов в Tcpdump, выдачу Ethereal зна¬ чительно легче читать и понимать. • Поддержка значительно большего числа форматов протоколов. Ethereal может интерпретировать более 300 различных сетевых протоколов, что охватывает почти все когда-либо изобретенные виды сетей. • Поддержка большего числа физических форматов сетей. Сюда вхо дят новые протоколы, такие к а к IP поверх A T M и F D D I . • Возможность интерактивно просматривать и сортировать перехва¬ ч е н н ы е сетевые данные. • Возможность сохранения выдачи в виде обычного текста или в формате PostScript. • Наличие режима фильтрации вывода с ш и р о к и м и возможностями, включая выделение цветом некоторых пакетов. Имеется графиче ский интерфейс создания фильтра, облегчающий д а н н ы й процесс. • Возможность следить за потоком T C P и просматривать его содер¬ ж и м о е в текстовом виде. Это может быть очень полезно, когда тре¬ буется читать межсерверные сообщения, чтобы отслеживать проб лемы электронной почты или Web. Д а н н а я возможность позволяет оперативно следить за общением между взаимодействующими уз¬ лами. • Возможность работать с рядом программ и библиотек перехвата. Ethereal, п о м и м о libpcap, работает также со специализированным 241
Курс
Защитные средства с открытыми исходными текстами
оборудованием. В число поддерживаемых программ входят Sniffer и Sniffer Pro от Network Associates; LANalyser от Novell; некоторые устройства от Cisco, Lucent и Toshiba; некоторые беспроводные уст¬ ройства анализа, такие как NetStumbler и Kismet Wireless. Ethereal работает как встраиваемый модуль для многих из этих программ и устройств. • Возможность сохранять сеансы в нескольких форматах. Это полез¬ но, если вы хотите проводить дополнительный анализ с п о м о щ ь ю других средств, таких к а к libcap (по умолчанию), Sun Snoop, Microsoft Network Monitor и Sniffer от Network Associates. • Поддержка терминального режима командной строки, предназна¬ ченного для тех, кому не по душе графический интерфейс, хотя п о давляющая часть полезных свойств Ethereal проистекает из его гра фического инструментария. Ethereal настолько полезен в качестве сетевого средства, что он был оценен на Web-сайте Insecure.org, п о с в я щ е н н о м безопасности, к а к з а н и м а ю щ и й вторую п о з и ц и ю по популярности среди доступных средств се¬ тевой безопасности. П о м и м о собственно безопасности, Ethereal допуска¬ ет множество п р и м е н е н и й ; на самом деле его м о ж н о использовать и как универсальное средство анализа сети.
Установка Ethereal для Linux 1. Прежде чем загружать Ethereal, необходимо располагать библиоте¬ ками libpcap и библиотеками разработки G T K . Если вы загружали описанные в предыдущих главах сканеры портов или уязвимостей, то все библиотеки должны быть уже установлены. В противном слу¬ чае следует загрузить библиотеки G T K или установить их с дистри¬ бутивных компакт-дисков вашей ОС. libpcap можно взять с прилага емого к книге компакт-диска или на сайте www.tcpdump.org, G T K — на www.gtk.org. 2. Затем необходимо решить, использовать ли R P M или компилиро¬ вать исходные тексты. Существует множество пакетов R P M для различных версий Linux. Если такой пакет есть для вашего дист¬ рибутива, то м о ж н о использовать его и пропустить процесс ком¬ п и л я ц и и . В противном случае придется выполнить к о м п и л я ц и ю . 3. Ч т о б ы с к о м п и л и р о в а т ь Ethereal, сначала загрузите и распакуйте с а м ы й с в е ж и й дистрибутив. С т а н д а р т н а я установка д о л ж н а г о диться для большинства применений. Просмотрите файл I N S T A L L , если захотите задать д о п о л н и т е л ь н ы е параметры вре¬ мени компиляции. 242
Глава 6
Сетевые анализаторы
4. Перейдите в каталог установки и, как обычно, наберите: ./configure make make i n s t a l l
Теперь можно запустить Ethereal, набрав ./ethereal в командной стро ке или щелкнув м ы ш ь ю на исполнимом файле в X-Window. Чтобы запус кать Ethereal в среде X-Window, необходимо быть пользователем root. Для запуска Ethereal в режиме командной строки можно набрать ./tethereal.
Установка Ethereal для Windows 1. Прежде чем запускать Ethereal, необходимо установить библиоте¬ ки WinPcap. Если вы уже установили в своей Windows-системе о п и с а н н ы е в предыдущих главах сканеры портов или уязвимостей, то библиотеки у вас уже есть и м о ж н о переходить к шагу 2. Убедитесь, что ваша версия WinPcap не ниже, чем 2.3. Если вы ра¬ ботаете на многопроцессорной м а ш и н е или на м а ш и н е с н о в ы м и процессорами Pentium с технологией многопоточности, то необ¬ ходимо использовать WinPcap 3.0 или в ы ш е , но результаты все равно могут быть непредсказуемы, так к а к Ethereal не очень хоро¬ ш о работает с несколькими процессорами. 2. Средства G T K для графического интерфейса включены в пакет установки Ethereal. Загрузите с Web-сайта Ethereal самораспако вывающийся файл установки. (Я рекомендую устанавливать би н а р н ы й файл, а не заниматься к о м п и л я ц и е й на Windows-машине. Это существенно п р о щ е и не требует компилятора под Windows.) 3. После загрузки файла сделайте на нем двойной щелчок м ы ш ь ю . Программа проведет вас через процесс установки. Когда это будет сделано, на рабочем столе появится и к о н к а , и м о ж н о начать рабо¬ ту с Ethereal.
Применение Ethereal Независимо от п р и м е н я е м о й версии, Windows или Linux, почти все операции и интерфейсы схожи. После запуска Ethereal вы увидите э к р а н с тремя разделами. В этих окнах отображаются перехваченные д а н н ы е и другая и н ф о р м а ц и я о сеансе. На рис. 6.2 показан пример основного окна с активным сеансом. В верхней трети экрана выводится поток пакетов в порядке получе н и я , хотя результаты м о ж н о отсортировать почти л ю б ы м образом, щелкая м ы ш ь ю на заголовках колонок. В табл. 6.6 перечислены выводимые д а н н ы е для каждого пакета или кадра. 243
Защитные средства с открытыми исходными текстами
Курс
А
/
] Filter:||
/|
Reset
A p p l y | | R e a d y 1о load or capture
7
Рис. 6.2. Основной экран Ethereal В следующем разделе экрана более детально отображается каждый выделенный пакет. Вывод организован таким образом, чтобы в целом с о ответствовать модели В О С , поэтому сначала идут детали канального уровня и т.д. Небольшие символы плюс м о ж н о раскрыть, чтобы отобра зить еще больше и н ф о р м а ц и и на каждом уровне. Удивительно, к а к много подробностей о каждом пакете м о ж н о увидеть. Ethereal действует к а к электронный м и к р о с к о п для сетевых пакетов! В последнем разделе показано реальное содержимое пакета в шестнадцатеричном и, где возможно, в текстовом виде. Б и н а р н ы е ф а й л ы и за ш и ф р о в а н н ы й т р а ф и к по-прежнему будут выглядеть к а к мусор, н о весь открытый текст станет виден. В этом проявляется м о щ ь анализатора (и опасность его присутствия в сети). Табл. 6.6. Д а н н ы е потока пакетов Данные Номер пакета Время
Описание Присваивается Ethernet Время получения пакета. П о умолчанию о н о устана вливается к а к время, прошедшее с начала сеанса пе¬ рехвата, н о м о ж н о сконфигурировать вывод астроно¬ мического времени, даты и времени или даже интер244
Глава 6
Сетевые анализаторы
валов между пакетами (это полезно для анализа ф у н к ц и о н и р о в а н и я сети). Адрес, откуда пришел пакет. В IP сетях это IP адрес. Адрес, куда направляется пакет, также обычно IP-адрес. Протокол четвертого уровня, используемый пакетом. Некоторая сводная и н ф о р м а ц и я о пакете, обычно поле типа.
Исходный адрес Целевой адрес Протокол Информация
Запуск сеанса перехвата Имеется множество допустимых о п ц и й и фильтров. Начните с мак симально открытого сеанса перехвата. Выберите Start в меню Capture. Появится о к н о Capture Options (см. рис. 6.3). {•9} Ethereal: Capture Options
Capture Interface:
|lntel(R) PRO PCI Adapter: \Device\Pac_/j
j Limit each packet to
gg
/ byti
Г Capture packets in promiscuous mode Filter: I | Capture file(s) File:! I j
Use ring buffer
Display options — j Update list of packets in real time _j Automatic scrolling in live capture Capture limits у packet(s) captured
J Stop capture after J Stop capture after
kilobyte(s) captured
J Stop capture after
-) second(s)
Name resolution — Г Enable MAC name resolution j Enable network name resolution Г Enable transport name resolutior OK
Рис. 6.3. О п ц и и перехвата Ethereal 245
Cancel
Курс
Защитные средства с открытыми исходными текстами
В табл. 6.7 описаны о п ц и и , которые м о ж н о задавать перед началом сеанса. Табл. 6.7. О п ц и и перехвата Ethereal Опция Описание Interface (Интерфейс) Выбирает интерфейс для перехвата и з выпадаю щего меню. Ethereal автоматически определяет все доступные интерфейсы и выдает их. М о ж н о также задать одновременный перехват на всех интерфейсах, совсем к а к в Tcpdump. Limit each packet to Задает максимальный размер перехватываемых x bytes (Ограничить пакетов. Это полезно, если есть вероятность, каждый пакет что некоторые из пакетов могут быть очень x байтами) большими, а вы н е хотите чрезмерно нагружать свою машину. Capture packets i n Подразумеваемая опция. Выключите ее, если promiscuous mode хотите перехватывать только потоки данных, (Перехват пакетов направленные в вашу машину-анализатор. в режиме прослу¬ шивания) Filter (Фильтр) Щ е л к н и т е м ы ш ь ю на к н о п к е Filter, чтобы соз дать фильтр, используя выражения в стиле Tcpdump. Вам будет предложено задать и м я фильтра (которое м о ж н о будет использовать в будущих сеансах) и ввести выражение. Capture file(s) Щ е л к н и т е м ы ш ь ю на к н о п к е File, если хотите (Файлы перехвата) читать д а н н ы е из файла, а н е перехватывать их «вживую». Display options П о умолчанию отключены, н о их м о ж н о вклю¬ (Опции отображения) чить, если вы хотите наблюдать движение паке¬ тов в реальном масштабе времени. Если пере¬ хват происходит в загруженной сети или ваша м а ш и н а с л и ш к о м медленная, то поступать так не рекомендуется, поскольку это может зато¬ пить сеанс и вызвать потерю пакетов. Однако отображение весьма полезно, если вы хотите по¬ наблюдать за т р а ф и к о м , чтобы получить общее представление о природе потоков данных в сети. Capture limits Здесь представлено несколько дополнительных (Пределы перехвата) опций для задания условий завершения пере¬ хвата. П о м и м о остановки вручную, м о ж н о за246
Сетевые анализаторы
Глава 6
Name resolution (Разрешение имен)
ставить Ethereal остановиться после перехвата некоторого числа x пакетов и л и килобайт дан¬ ных или после того, к а к пройдет определенное число секунд. М о ж н о указать, должен или нет Ethereal разре шать имена на различных уровнях сетевой моде¬ ли. М о ж н о выборочно разрешать имена M A C адресов, сетевые имена ( S M B или имена хос¬ тов), и / и л и имена транспортного уровня. Вклю¬ чение всех этих опций, особенно D N S , может существенно замедлить перехват.
После установки о п ц и й щелкните м ы ш ь ю на O K , и сеанс начнется. Появится окно, в котором в реальном масштабе времени отображается статистика сеанса (см. рис. 6.4). Если сеанс настроен для показа пакетов в реальном времени, вы будете наблюдать их в окне, по мере того к а к о н и проходят по среде передачи (см. рис. 6.2). Сеанс можно остановить в любое время, щелкнув мышью на кнопке Stop в окне статистики или выбрав Stop в меню Capture. Если вы задали оп¬ ции пределов перехвата, то по их достижении сеанс остановится автоматиче ски. Теперь можно анализировать результаты сеанса и манипулировать ими. Щелкая мышью на заголовках вверху окна, можно переупорядочить ре¬ зультаты по этому заголовку, так что можно сортировать вывод по исходным и целевым адресам, протоколу или информационному полю. Это помогает организовать данные, если вы ищите трафик определенного вида, например,
Captured Frames Total SCTP TCP UDP ICMP ARP OSPF GRE NetBIOS IPX VINES Other ^uniiing
144 С 99 27 16 2 0 0 0 0 0
с
CI 00.0%) (D.0%) (БО.3%) (10.3%) (11.1%) (1.4%) (D.0%) (0.0%) (0.0%) (0.0%) (D.0%) (D.0%)
D0:D2:30 Stop
Рис. 6.4. О к н о статистики сеанса Ethereal 247
Курс
Защитные средства с открытыми исходными текстами
все запросы D N S или весь трафик, связанный с почтой. Конечно, в первую очередь стоит написать фильтр для перехвата трафика определенного вида.
Опции отображения В табл. 6.8 перечислены команды из меню Display, при п о м о щ и к о торых м о ж н о воздействовать на способ отображения пакетов на экране.
Средства Ethereal Вместе с Ethereal поставляется несколько встроенных аналитиче ских средств. Д а н н а я программа построена в архитектуре со встраивае м ы м и модулями, поэтому другие программы могут взаимодействовать с Ethereal, или вы можете написать свою собственную. Доступ к этим воз¬ можностям находится в м е н ю Tools (см. табл. 6.9). Табл. 6.8. О п ц и и м е н ю Diplay Ethereal Пункт меню П о д м е н ю Options
Colorize display
Collapse/expand all
Описание Здесь м о ж н о установить глобальные параметры, та¬ кие как способ вычисления поля времени. М о ж н о также включить автоматическую прокрутку трафи¬ ка и разрешение имен, так как по умолчанию они отключены. М о ж н о указать, чтобы пакеты определенных видов окрашивались определенным цветом. Это облегча¬ ет восприятие вывода и фокусирует в н и м а н и е на нужной и н ф о р м а ц и и . Показывать либо все детали каждого элемента, ли¬ бо только верхний уровень.
Табл. 6.9. О п ц и и м е н ю Tools Ethereal Пункт меню Summary
Protocol hierarchy statistics
Описание Показывает список данных верхнего уровня сеанса п е рехвата, например, затраченное время, число пакетов, средний размер пакета, общее количество перехвачен¬ ных пакетов и среднюю плотность данных в среде пере дачи во время перехвата. Выдает статистическое представление трафика вашей сети. Показывает, какой процент сеанса перехвата со¬ ставляет каждый тип пакетов. М о ж н о свернуть или рас248
Глава 6
Statistics
Plugins
Сетевые анализаторы
пахнуть представление, чтобы увидеть основные уровни или второстепенные протоколы определенного уровня. Содержит ряд отчетов, с п е ц и ф и ч н ы х для определенных типов протоколов. Дополнительную и н ф о р м а ц и ю по этому вопросу м о ж н о найти в документации Ethereal. Показывает встраиваемые модули анализатора пакетов, которые вы загрузили. Это декодировщики для новых протоколов, которые м о ж н о добавлять к Ethereal, не изменяя основной версии программы. И поскольку это архитектура со встраиваемыми модулями, м о ж н о пи¬ сать свои собственные.
Сохранение вывода Ethereal Закончив перехват и анализ данных в Ethereal, м о ж н о сохранить их либо для анализа дополнительными средствами, либо для предоставле н и я другим пользователям. С п о м о щ ь ю о п ц и и Save As меню File м о ж н о выбрать подходящий формат, включая libpcap (по у м о л ч а н и ю ) , Sun Snoop, LANalyser, Sniffer, Microsoft Network Monitor и Visual Networks.
Приложения Ethereal Теперь, после знакомства с основами Ethereal, представим несколь¬ ко практических приложений, для которых его м о ж н о использовать. Оптимизация
сети
Выполняя ш и р о к о открытый перехват сети и используя затем стати стические отчеты, м о ж н о понять, насколько загружена ваша сеть и на ка кой вид пакетов приходится основная часть трафика. Проанализировав эти д а н н ы е , м о ж н о решить, что п р и ш л о время перейти на коммутируе мую сеть 100 М б и т / с е к или разделить два отдела на маршрутизируемые Л В С вместо одной большой сети. М о ж н о также определить, что требует ся установить сервер W I N S (слишком много запросов и м е н S M B , переда¬ ваемых по сети), или что некоторый сервер необходимо перенести в де¬ милитаризованную зону или на отдельный порт маршрутизатора, чтобы удалить ассоциированный с н и м т р а ф и к из сети. Поиск дефектов
в работе
серверов
приложений
С вашим почтовым сервером не удается установить соединение? Возникли проблемы с D N S ? Устранить подобные дефекты прикладного 249
Курс
Защитные средства с открытыми исходными текстами
уровня бывает крайне сложно. Однако, п р и м е н я я Ethereal, м о ж н о под ключиться к сети и понаблюдать за к о м м у н и к а ц и я м и между серверами. М о ж н о увидеть реальные сообщения серверов для таких протоколов, как S M T P или H T T P , и, следя за потоком TCP, определить, где возникает про¬ блема.
250
Глава 7
Системы обнаружения вторжений
Глава 7 . С и с т е м ы о б н а р у ж е н и я в т о р ж е н и й В предыдущей главе м ы ознакомились с сетевыми анализаторами и многими полезными вещами, которые м о ж н о делать с их п о м о щ ь ю . Ана лизаторы м о ж н о использовать даже для выявления подозрительной ак¬ тивности в сети. Е щ е один шаг в этом направлении м о ж н о сделать, ис¬ пользуя программное обеспечение, называемое системами обнаружения вторжений. П о сути эти программы представляют собой м о д и ф и ц и р о в а н н ы е анализаторы, которые видят все потоки данных в сети, пытаются в ы явить потенциально вредный сетевой т р а ф и к и предупредить вас, когда таковой появляется. Основной метод их действия заключается в исследо вании проходящего трафика и сравнении его с базой данных известных шаблонов вредоносной активности, называемых сигнатурами. Использо вание сигнатур очень похоже на работу антивирусных программ. Боль¬ шинство видов атак на уровне T C P / I P имеют характерные особенности. Система обнаружения вторжений может выявлять атаки на основе I P - а д ресов, номеров портов, и н ф о р м а ц и о н н о г о н а п о л н е н и я и произвольного числа критериев. Существует другой способ обнаружения вторжений на системном уровне, состоящий в контроле целостности ключевых файлов. К р о м е того, развиваются новые методы, сочетающие к о н ц е п ц и и обнару ж е н и я вторжений и межсетевого э к р а н и р о в а н и я или п р е д п р и н и м а ю щ и е дополнительные действия п о м и м о простого обнаружения (см. врезку «Новое поколение систем обнаружения вторжений»). Однако в этой гла ве основное в н и м а н и е уделено двум наиболее популярным способам о б наружения вторжений в сети и системах: сетевое обнаружение вторжений и контроль целостности файлов.
Обзор главы Изучаемые концепции: • Типы систем обнаружения вторжений • Сигнатуры для систем обнаружения вторжений • Л о ж н ы е срабатывания в сетевых системах обнаружения втор¬ жений • Правильное размещение систем обнаружения вторжений • Настройка систем обнаружения вторжений • Контроль целостности файлов Используемые инструменты: Snort, модуль Snort Webmin, Snort for Windows, Tripwire Сетевая система обнаружения вторжений может защитить от атак, к о торые проходят через межсетевой э к р а н во внутреннюю Л В С . Межсете вые э к р а н ы могут быть неправильно сконфигурированы, пропуская в 251
Курс
Защитные средства с открытыми исходными текстами
сеть нежелательный трафик. Даже при правильной работе межсетевые эк¬ р а н ы обычно пропускают внутрь т р а ф и к некоторых приложений, кото¬ р ы й может быть опасным. Порты часто переправляются с межсетевого экрана внутренним серверам с трафиком, предназначенным для почтово го или другого общедоступного сервера. Сетевая система обнаружения вторжений может отслеживать этот т р а ф и к и сигнализировать о потенци¬ ально опасных пакетах. Правильно сконфигурированная сетевая система обнаружения вторжений может перепроверять правила межсетевого э к рана и предоставлять дополнительную защиту для серверов приложений. Сетевые системы обнаружения вторжений полезны при защите от внешних атак, однако одним из их главных достоинств является способ ность выявлять внутренние атаки и подозрительную активность пользо¬ вателей. Межсетевой экран защитит от многих внешних атак, но, когда атакующий находится в локальной сети, межсетевой э к р а н вряд л и смо¬ жет помочь. Он видит только тот трафик, что проходит через него, и обычно слеп по о т н о ш е н и ю к активности в локальной сети. Считайте се¬ тевую систему обнаружения вторжений и межсетевой экран взаимодо-
Рис. 7.1. Защита с п о м о щ ь ю сетевой системы обнаружения вторже¬ н и й и межсетевого экрана 252
Глава 7
Системы обнаружения вторжений
п о л н я ю щ и м и устройствами безопасности — вроде надежного дверного замка и системы сигнализации сетевой безопасности. Одно из них защи¬ щает вашу в н е ш н ю ю границу, другое — внутреннюю часть (см. рис. 7.1). Имеется веская причина, чтобы внимательно следить за т р а ф и к о м внутренней сети. К а к показывает статистика ФБР, более 70 процентов компьютерных преступлений исходят из внутреннего источника. Хотя м ы с к л о н н ы считать, что н а ш и коллеги не сделают ничего, чтобы нам на¬ вредить, но иногда это бывает не так. Внутренние злоумышленники — не всегда ночные хакеры. Это могут быть и обиженные системные админи¬ страторы, и неосторожные служащие. Простое действие по загрузке фай¬ ла или по открытию файла, присоединенного к электронному сообще¬ н и ю , может внедрить в вашу систему троянскую программу, которая соз даст дыру в межсетевом экране для всевозможных бед. С п о м о щ ь ю сете вой системы обнаружения вторжений вы сможете пресечь подобную ак¬ тивность, а также другие возможные компьютерные интриги. Хорошо на¬ строенная сетевая система обнаружения вторжений может играть роль электронной «системы сигнализации» для вашей сети.
Новое поколение систем обнаружения вторжений Системы обнаружения вторжений на основе выявления аномаль ной активности Вместо применения статических сигнатур, с помощью которых можно выявлять только явно вредоносную деятельность, системы нового поколе ния отслеживают нормальные уровни для различных видов активности в се ти. Если наблюдается внезапный всплеск трафика FTP, то система предупре дит об этом. Проблема с системами такого рода состоит в том, что они весь ма склонны к ложным срабатываниям — то есть выдаче сигналов тревоги, когда в сети имеет место нормальная, допустимая деятельность. Так, в при мере с FTP-трафиком загрузка особенно большого файла будет возбуждать сигнал тревоги. Следует учитывать также, что системе обнаружения вторжений на ос нове выявления аномальной активности требуется время, чтобы построить точную модель сети. Вначале система генерирует так много тревожных сиг налов, что пользы от нее почти никакой. Кроме того, подобные системы об наружения вторжений можно обмануть, хорошо зная сеть. Если хакеры дос таточно незаметны и используют протоколы, которые активно применяются в сети, они не привлекут внимания систем такого рода. С другой стороны, важное преимущество подобных систем — отсутствие необходимости по¬ стоянно обновлять набор сигнатур. Когда эта технология достигнет зрелости и достаточной интеллектуальности, она, вероятно, станет употребительным методом обнаружения вторжений. 253
Курс
Защитные средства с открытыми исходными текстами
Системы предотвращения вторжений Новый тип сетевых систем обнаружения вторжений, называемый сис темами предотвращения вторжений, декларирован как решение всех проб лем корпоративной безопасности. Основная идея состоит в том, чтобы при генерации тревожных сигналов предпринимать ответные действия, такие как написание на лету индивидуальных правил для межсетевых экранов и маршрутизаторов, блокирующих активность подозрительных IP-адресов, запрос или даже контратака систем-нарушителей. Хотя эта новая технология постоянно развивается и совершенствуется, ей еще слишком далеко до проведения анализа и принятия решений на уровне человека. Факт остается фактом - любая система, которая на 100% зависит от машины и программного обеспечения, всегда может быть обма нута посвятившим себя этому человеком (хотя некоторые проигравшие шах матные гроссмейстеры могут с этим не согласиться). Примером системы предотвращения вторжений с открытыми исходными текстами служит Inline Snort Джеда Хейла — свободный модуль для сетевой системы обнаружения вторжений Snort, обсуждаемой в данной главе.
Примеры сигнатур сетевых систем обнаружения вторжений Сетевые системы обнаружения вторжений действуют, проверяя п а кеты и сравнивая их с и з в е с т н ы м и сигнатурами. Х о р о ш и м п р и м е р о м р а с п р о с т р а н е н н о й атаки, которую м о ж н о четко и д е н т и ф и ц и р о в а т ь п о ее сигнатуре, является атака cmd.exe, н а п р а в л е н н а я против И н ф о р м а ц и о н н о г о Сервера И н т е р н е т (IIS) — Web-сервера к о р п о р а ц и и Microsoft. Эта атака п р и м е н я е т с я И н т е р н е т - ч е р в я м и и вирусами, т а к и м и к а к N i m d a и Code Red. Атакующий червь и л и ч е л о в е к пытается в ы п о л н и т ь в каталоге с правом на запись к о п и ю п р о г р а м м ы cmd.exe — к о м а н д н о г о интерпретатора Windows, используя п е р е п о л н е н и е буфера в модуле IIS, н а з ы в а е м о м Internet Server A P I (ISAPI). В случае успеха хакер и л и червь получает доступ к к о м а н д н о й строке н а этой м а ш и н е и может произве¬ сти значительные р а з р у ш е н и я . Однако команда для к о п и р о в а н и я этого файла является очевидной и нет п р и ч и н ы для ее легального в ы п о л н е н и я пользователями через сеть с п о м о щ ь ю IIS. Поэтому, если в ы видите п о добную активность, то весьма вероятно, что это п о п ы т к а вторжения. П р о в е р я я полезную нагрузку пакета и р а з ы с к и в а я слова cmd.exe, сете вая система обнаружения в т о р ж е н и й может и д е н т и ф и ц и р о в а т ь данную атаку. Н а листинге 7.1 п о к а з а н один и з таких пакетов. Ш е с т н а д ц а т е р и ч н о е представление содержимого находится слева, а перевод в текст — справа. 254
Глава 7
Системы обнаружения вторжений
Листинг 7.1. Пакет в ы п о л н е н и я cmd.exe l e n g t h = 55 000 : 47 45 54 20 scripts/..% 010 : 35 63 25 35 5c%5c../winnt/sy 020 : 73 74 65 6D stem32/cmd.exe?/ 030 : 63 2B 64 69
2F 73 63 72 69 70 74 73 2F 2E 2E 25 GET / 63 2E 2E 2F 77 69 6E 6E 74 2F 73 79 33 32 2F 63 6D 64 2E 65 78 65 3F 2F 72 0D 0A c+dir..
Другой атакой, которую легко идентифицировать по ее сигнатуре, является переполнение буфера .ida. Червь Code Red распространялся с п о мощью этого метода. Эксплуатируется переполнение буфера в расшире н и и .ida для Web-сервера Microsoft IIS. Это расширение установлено по умолчанию, но часто не требуется. Если вы не наложили заплату на это ме сто, оно может предоставить прямой доступ к вашей машине. П о счастью, сетевая система обнаружения вторжений способна быстро идентифици ровать эти пакеты, находя содержащийся в них оператор G E T /default.ida. Частичный листинг атаки .ida показан на листинге 7.2. В этом конкретном примере присутствуют также слова Code Red II, свидетельствующие о том, что он был создан червем Code Red, пытавшимся инфицировать данную машину. Даже если ваша м а ш и н а полностью защищена от подобных атак, не мешает выяснить, откуда они приходят и с какой частотой. Листинг 7.2. Сигнатура атаки .ida length= 1414 000 : 47 45 54 20 /default.ida 010 : 3F 58 58 58 ? XXXXXXXXXXXXXXX 020 : 58 58 58 58 ?XXXXXXXXXXXXXXX 030 : 58 58 58 58 ?XXXXXXXXXXXXXXX 040 : 58 58 58 58 ?XXXXXXXXXXXXXXX 050 : 58 58 58 58 ?XXXXXXXXXXXXXXX 060 : 58 58 58 58 ?XXXXXXXXXXXXXXX
2F 64 65 66 61 75 6C 74 2E 69 64 61 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 255
GET
Курс
Защитные средства с открытыми исходными текстами 070 : 58 58 58 58 58 ?XXXXXXXXXXXXXXX 080 : 58 58 58 58 58 ?XXXXXXXXXXXXXXX 090 : 58 58 58 58 58 ?XXXXXXXXXXXXXXX 0a0 : 58 58 58 58 58 ?XXXXXXXXXXXXXXX 0b0 : 58 58 58 58 58 ?XXXXXXXXXXXXXXX 0c0 : 58 58 58 58 58 ?XXXXXXXXXXXXXXX 0d0 : 58 58 58 58 58 ?XXXXXXXXXXXXXXX 0e0 : 58 58 58 58 58 ?XXXXXXXXXXXXXXX 0f0 : 58 25 75 39 30 X%u9090%u6858%uc 100 : 62 64 33 25 75 bd3%u7801%u9090% 110 : 75 36 38 35 38 u6858%ucbd3%u780 120 : 31 25 75 39 30 1%u9090%u6858%uc 130 : 62 64 33 25 75 bd3%u7801%u9090% 140 : 75 39 30 39 30 u9090 %u8190°/ou00c 150 : 33 25 75 30 30 3%u0003%u8b00%u5 160 : 33 31 62 25 75 31bo/ou53ffo/ou0078o/o 170 : 75 30 30 30 30 u0000o/ou00=a HTT 180 : 50 2F 31 2E 30
58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 39 30 25 75 36 38 35 38 25 75 63 37 38 30 31 25 75 75 39 30 39 25 25 75 63 62 64 33 25 75 37 38 30 39 30 25 75 36 38 35 38 25 75 63 37 38 30 31 25 75 39 30 39 30 25 25 75 38 31 39 30 25 75 30 30 63
0
30 33 25 75 38 62 30 30 25 75 35 35 33 66 66 25 75 30 30 37 38 25 25 75 30 30 3D 61 20 20 48 54 54 0D 0A 43 6F 6E 74 65 6E 74 2D 74
P/1.0..Content-t 190 : 79 70 65 3A 20 74 65 78 74 2F 78 6D 6C 0A 43 6F ype: text/xml.Co 1a0 : 6E 74 65 6E 74 2D 6C 65 6E 67 74 68 3A 20 33 33 n t e n t l e n g t h : 33 1b0 : 37 39 20 0D 0A 0D 0A C8 C8 01 00 60 E8 03 00 00 79
256
Глава 7
Системы обнаружения вторжений
1c0 : 00 CC EB FE 64 67 FF 36 00 00 64 67 89 26 00 00 . . . .dg.6..dg.&. . 1d0 : E8 DF 02 00 00 68 04 01 00 00 8D 85 5C FE FF FF h \... 1e0 : 50 FF 55 9C P.U. . .\. . . P.U. 1f0 : 10 8B 08 89 X U.=... 200 : 00 0F 94 C1
8D 85 5C FE FF FF 50 FF 55 98 8B 40 .@ 8D 58 FE FF FF FF 55 E4 3D 04 04 00 3D 04 08 00 00 0F 94 C5 0A CD 0F B6
210 : C9 89 8D 54 FE FF FF 8B 75 08 81 7E 30 9A 02 00 ...T u..-0... 220 : 00 0F 84 C4 00 00 00 C7 46 30 9A 02 00 00 E8 0A F0 230 : 00 00 00 43 6F 64 65 52 65 64 49 49 00 8B 1C 24 ...CodeRedII.. .$
Проблема ложных срабатываний сетевых систем обнаружения вторжений Одной из главных проблем систем обнаружения вторжений являет ся их склонность к большому числу ложных срабатываний. Л о ж н о е сра батывание имеет место, когда система генерирует сигнал тревоги на о с н о ве того, что она считает вредоносной или подозрительной активностью, но что в действительности оказывается н о р м а л ь н ы м трафиком для д а н н о й сети. Обычно в подразумеваемой конфигурации сетевая система об наружения вторжений будет реагировать на все хоть чуть-чуть необычное. У большинства подобных систем имеются о б ш и р н ы е используемые по умолчанию базы данных из тысяч сигнатур возможной подозрительной активности. Производители сетевых систем обнаружения вторжений не могут знать характер вашего сетевого трафика, поэтому для перестрахов¬ ки они предусматривают срабатывание по каждому поводу.
Типичные причины ложных срабатываний Работа
системы
мониторинга
сети
Многие организации используют системы мониторинга сети, такие как H P OpenView или WhatsUp Gold, чтобы следить за системами в своей се ти. Они характеризуются высокой сетевой активностью опроса и обнаруже ния. Для опроса состояния эти системы обычно применяют S N M P или ана¬ логичный протокол, но они могут также использовать эхо-тестирование и 257
Курс
Защитные средства с открытыми исходными текстами
другие, более назойливые проверки. П о умолчанию большинство систем обнаружения вторжений рассматривают эту активность как вредоносную или, по крайней мере, подозрительную. В большой сети мониторинг может порождать тысячи сигналов тревоги в час, если система обнаружения втор жений настроена для отслеживания такой деятельности. Этого можно избе жать, игнорируя активность с участием IP-адреса системы мониторинга. Можно также исключить из базы данных соответствующие сигналы трево ги, если их отслеживание не представляет для вас особой важности. Сетевое
сканирование
уязвимостей/сканеры
портов
Всякий раз когда вы запускаете сетевое тестирование уязвимостей или сканирование портов с помощью таких программ, как Nessus и Nmap, ваша сетевая система обнаружения вторжений будет сходить с ума. Эти програм мы созданы для выполнения именно того, что делают хакеры. Н а самом де ле, вероятно, сигналы тревоги заданы для большинства встраиваемых моду лей Nessus. И здесь также можно отключить сообщения с участием IP-адреса сервера Nessus или Nmap, но лучше всего вообще выключать систему об¬ наружения вторжений на время планового сканирования. В этом случае ска нирующая машина будет по-прежнему защищена от атак, когда не выполня ется сканирование, а база данных сигналов тревоги не будет искажена мно¬ жеством данных от вашей собственной активности по сканированию. Пользовательская
активность
Большинство сетевых систем обнаружения вторжений настроены для сигнализации об опасной активности пользователей, такой к а к о д н о ранговое разделение файлов, мгновенный обмен с о о б щ е н и я м и и т.д. Од н а к о , если подобная активность допускается либо формальной полити¬ к о й , либо просто несоблюдением существующих политик, то она будет фиксироваться в журналах в виде сигналов. Это может стать основанием для проведения в ж и з н ь или создания политик против таких видов д е я тельности, так к а к м о ж н о показать, какую часть полосы пропускания и сколько времени о н и занимают, н е говоря уже о последствиях для безо¬ пасности. Однако, если вы намерены и далее разрешать такую актив¬ ность, то необходимо закомментировать эти правила, чтобы н е заполнять журналы сигналами ложных срабатываний. Поведение,
напоминающее
троянскую
программу
или
червя
Современные вирусы и вирусоподобное программное обеспечение (черви и троянские программы) нередко используют сетевые средства, 258
Глава 7
Системы обнаружения вторжений
пытаясь выполнять такие действия, к а к и н ф и ц и р о в а н и е других м а ш и н или массовая рассылка электронных сообщений. Подобную активность м о ж н о выявить с п о м о щ ь ю сетевых систем обнаружения вторжений. Од¬ нако эти сигнатуры могут порождать сигналы тревоги и при нормальной деятельности. П р и м е р о м служит червь Nimda, который пытается к о п и р о вать на различные системы ф а й л ы с определенными р а с ш и р е н и я м и , та к и м и к а к .eml. К сожалению, программа Microsoft Exchange ведет себя аналогично при использовании ее Web-интерфейса. Поэтому, хотя знать о подобной троянской активности в сети было бы полезно, м о ж н о при ж е л а н и и отключить сигналы, порождаемые известной нормальной деятель ностью, даже когда имеется потенциальная опасность, что т р а ф и к все-та ки окажется вредоносным. Это поможет избежать чрезмерного количест¬ ва ложных срабатываний. Длинные
базовые
цепочки
аутентификации
Сигнал такого типа ориентирован на чрезмерно д л и н н ы е входные строки Web, поскольку некоторые программы использования уязвимо стей применяют подобный метод для переполнения буфера и н е с а н к ц и о нированного получения доступа. Однако в последнее время многие Webсайты набивают в это поле много и н ф о р м а ц и и и могут ненароком сбить с толку сетевую систему обнаружения вторжений. Аутентификационная
активность
базы
данных
Некоторые сетевые системы обнаружения вторжений следят за д е я тельностью по администрированию баз данных. Теоретически в п р о и з водственных базах данных не должно наблюдаться высокой администра¬ тивной активности, а ее наличие может служить признаком того, что ктото пытается что-то сделать с базой. Однако во многих базах данных и с пользование идет параллельно с разработкой, отсюда и большой объем администрирования. Эта деятельность, хотя и вполне законная, будет п о рождать множество сигналов тревоги. Если ваша база данных находится в состоянии непрерывного развития, то вам, вероятно, следует отключить эти сигналы, по крайней мере пока база не стабилизируется и не перейдет в режим производственной эксплуатации. Существует много других п р и ч и н ложных срабатываний, зависящих от конфигурации сети и уровня активности. В подразумеваемой конфигу р а ц и и сетевая система обнаружения вторжений может порождать сотни ложных срабатываний в день, что способно привести системного адми¬ нистратора в отчаяние. В результате сигналы тревоги этих систем вскоре начинают игнорироваться, как некий посторонний шум. Однако при н е 259
Курс
Защитные средства с открытыми исходными текстами
больших усилиях и с п о м о щ ь ю методов, описанных в этой главе, сетевая система обнаружения вторжений может быстро стать полезным средст¬ вом, а не электронной версией мальчика, который то и дело кричал «Волк!».
Как п о л у ч и т ь м а к с и м у м п о л ь з ы от с и с т е м ы обнаружения вторжений Ч т о б ы реализовать и с т и н н ы й п о т е н ц и а л системы обнаружения вторжений, необходимо сделать несколько вещей, к а к перед установкой, так и после нее.
Правильное конфигурирование системы Если вы только что установили систему обнаружения вторжений и запустили ее в подразумеваемой конфигурации, то тысячи ложных сраба тываний скоро переполнят чашу вашего терпения. Хотя вы сможете пере¬ настроить систему постфактум, лучше поберечь силы и нервы, уделив не¬ которое время упреждающему конфигурированию. Н е принимайте под разумеваемые настройки, индивидуализируйте их для своей Л В С . Большинство систем обнаружения вторжений группирует сигналы тревоги по категориям. Просмотрите каждую группу, чтобы решить, н а сколько она подходит для вашей сети. Если имеется группа сигнатур для U N I X - п л а т ф о р м , но у вас в сети нет UNIX-систем, то, вероятно, м о ж н о безопасно отключить весь этот пакет сигналов. В некоторых системах предусмотрены сигналы тревоги, зависящие от политики и отвечающие за такие вещи, как использование мгновенного обмена с о о б щ е н и я м и или программного обеспечения одноранговых сетей. Если у вас уже есть сис¬ темы, фильтрующие подобные виды активности, или вы их разрешаете, то эти сигналы м о ж н о отключить. Необходимо тщательно проанализиро¬ вать группы сигналов. Хотя вам может пригодиться большинство сигна лов для Windows-платформ, некоторые из них, возможно, не имеют отно ш е н и я к вашей сети или будут вызывать л о ж н ы е срабатывания. М о ж н о также освободить некоторые хосты от контроля. Если ваша персональная м а ш и н а п о с т о я н н о посылает в сеть S N M P - з а п р о с ы , или вы п о с т о я н н о входите как администратор, то это может порождать м н о го бесполезных сигналов тревоги. Хотя освобождение от контроля сни¬ жает уровень безопасности и может оставить критически в а ж н ы е маши¬ н ы без з а щ и т ы , о н о способно сделать систему обнаружения вторжений более э ф ф е к т и в н о й . Уделив несколько часов тщательному конфигуриро¬ в а н и ю системы до ее активации, м о ж н о сберечь много времени и сил в будущем. 260
Глава 7
Системы обнаружения вторжений
Настройка системы обнаружения вторжений Когда система запущена и работает, даже при скрупулезном конфи¬ гурировании она начнет генерировать сигналы тревоги. Вскоре, если вы найдете время для их анализа и начнете деактивировать правила, которые не подходят для вашей сети, вы сможете снизить число ложных срабаты ваний. Попутно у вас появится п о н и м а н и е того, к а к работает ваша сеть и к а к и е потоки данных текут по ней, что полезно для любого сетевого ад министратора. Каждую неделю выделяйте некоторое время для м о д и ф и кации настроек системы обнаружения вторжений. Некоторые системы позволяют относительно легко пометить сигнал как источник ложных срабатываний, тогда как другие заставят вас преодолеть некоторые пре пятствия. В среднем требуется несколько месяцев, чтобы настроить с и с тему обнаружения вторжений на выдачу полезных сигналов о наказуемой активности, и то только в случае целенаправленных усилий по тонкой на¬ стройке.
Средства анализа для систем обнаружения вторжений С и с т е м ы о б н а р у ж е н и я в т о р ж е н и й о б ы ч н о предлагают а д м и н и с т раторам несколько различных способов получения уведомлений о с р а б а т ы в а н и и с и г н а л о в т р е в о г и . В п р о с т е й ш е м случае с и г н а л ы могут просто протоколироваться для последующего просмотра. На самом д е л е это н е р е к о м е н д у е т с я , т а к к а к заставляет а д м и н и с т р а т о р а не¬ у с ы п н о следить за р е г и с т р а ц и о н н ы м и ж у р н а л а м и . Е с л и н е делать это¬ го е ж е д н е в н о , то могут п р о й т и д н и и л и н е д е л и , п р е ж д е ч е м п о п ы т к и в т о р ж е н и я будут о б н а р у ж е н ы . Д р у г о й в о з м о ж н о с т ь ю и з в е щ е н и я соот¬ ветствующего д о л ж н о с т н о г о л и ц а о в о з н и к н о в е н и и с и г н а л а тревоги я в л я е т с я о т п р а в к а с о о б щ е н и я п о э л е к т р о н н о й п о ч т е и л и на п е й д ж е р . О д н а к о д а ж е с х о р о ш о н а с т р о е н н о й с и с т е м о й п о л у ч е н и е на п е й д ж е р по несколько сообщений в день может доставлять слишком много хлопот. К р о м е т о г о , э л е к т р о н н ы е с о о б щ е н и я будут и м е т ь формат, в к о т о р о м их с л о ж н о с р а в н и в а т ь с п р о ш л ы м и с и г н а л а м и тревоги и л и анализировать каким-то и н ы м образом. Лучшим способом обработки с и г н а л о в тревоги я в л я е т с я их н е м е д л е н н о е з а н е с е н и е в базу д а н н ы х , ч т о б ы м о ж н о было в ы п о л н и т ь у г л у б л е н н ы й а н а л и з . Существует сред¬ ство с о т к р ы т ы м и и с х о д н ы м и т е к с т а м и д л я систем о б н а р у ж е н и я в т о р ж е н и й , н а з ы в а е м о е A C I D (Analysis Console for Intrusion Detection — консоль анализа для обнаружения вторжений). Оно подробно рассма т р и в а е т с я в главе 8. Теперь, ознакомившись с тем, как работают системы обнаружения вторжений, давайте построим такую систему и запустим ее в работу. 261
Курс
Защитные средства с открытыми исходными текстами
Snort: система обнаружения вторжений для UNIX с открытыми исходными текстами Snort Автор/основной контакт: Martin Roesch Web-сайт: www.snort.org Платформы: FreeBSD, Linux, Windows и некоторые UNIX Лицензия: GPL 2.1.1 Рассмотренные версия: Списки почтовой рассылки: Snort-announcements Общие объявления о версиях и коррекциях. Не для обсуждения. Подпи ска по адресу lists.sourceforge.net/lists/listinfo/snort-announce. Snort-users Общая дискуссия о Snort. Новички приветствуются. Подписка по адресу lists.sourceforge.net/lists/listinfo/snort-users. Snort-developers Для разработчиков или желающих разрабатывать код ядра snort. Под писка по адресу lists.sourceforge.net/lists/listinfo/snort-developers. Snort-sigs Для разработчиков или желающих разрабатывать правила snort. Подпи ска по адресу lists.sourceforge.net/lists/listinfo/snort-sigs. Snort-cvsinfo Только для активных разработчиков, желающих получать уведомления при обновлении дерева CVS. Дискуссии не допускаются. Подписка по адресу lists.sourceforge.net/lists/listinfo/snort-cvsinfo. На сайте Snort доступен архив прошлых сообщений. При возникнове нии вопроса целесообразно сначала поискать ответ в архиве. Вполне возможно, что кто-то встречался с вашей проблемой раньше. Посетите www.snort.org/lists.html Существуют локальные группы пользователей, которые время от време ни собираются для обсуждения различных вопросов, связанных со Snort. Список этих групп представлен на www.snort.org/user-groups.html. Примерно в полудюжине крупных городов имеются активные группы пользователей, и еще в дюжине подобные группы находятся в стадии становления. Форма на упомянутой выше Web-странице позволяет вы разить заинтересованность в создании такой группы, если в ваших кра ях ее еще нет. Snort — творение Мартина Реша, вышедшее, однако, далеко за пре делы его авторства. В настоящее время ядро группы разработчиков насчи тывает более 30 человек, не считая тех, кто пишет правила и другие части программного обеспечения. К а к м о ж н о видеть из приведенных в ы ш е списков рассылки, существует много доступных источников и н ф о р м а ц и и 262
Глава 7
Системы обнаружения вторжений
о Snort. И это только бесплатные сетевые ресурсы. Имеется также н е сколько полноформатных книг на эту тему. Д а н н ы й раздел, хотя и н е я в ляется истиной в последней и н с т а н ц и и , дает достаточно сведений об о с новах, позволяет освоить Snort и работать с н и м . Snort м о ж н о отнести к системам обнаружения вторжений на основе сигнатур, хотя с добавлением модуля Spade о н приобрел способность в ы являть аномальную активность. Имеются также дополнительные модули, такие к а к Inline Snort, которые позволяют автоматически реагировать на любые сигналы тревоги.
Уникальные особенности Snort • Открытые исходные тексты. Исходные тексты Snort открыты, о н переносим практически на любую разновидность операционной системы U N I X . Доступны также версии для Windows и других опе¬ р а ц и о н н ы х систем. • Легковесность. В силу э ф ф е к т и в н о й реализации Snort н е требует м о щ н о г о оборудования (см. врезку «Оборудование»). Это позволя ет анализировать т р а ф и к в сети 100 М б и т / с е к практически в реаль н о м масштабе времени, что кажется невероятным, если предста вить, что делается с каждым пакетом. • Индивидуальные правила Snort. Snort предлагает простой способ рас¬ ширения и индивидуализации программы путем написания собствен ных правил или сигнатур. Обширная документация помогает нау читься этому, н е говоря уже о сетевых форумах и справочных списках.
Установка Snort Snort устанавливается довольно просто. 1. В качестве предварительного условия требуется установить пакет libpcap. Если вы загрузили любой из пакетов и з глав с 4 по 6, то libpcap уже установлен. В противном случае его м о ж н о загрузить с www.tcpdump.org. 2. После загрузки этих библиотек просто возьмите файл с компактдиска, прилагаемого к книге, и л и загрузите самую свежую версию с Web- сайта. 3. Когда файл окажется в вашей м а ш и н е , распакуйте его и в ы п о л н и те команды к о м п и л я ц и и : . /configure make make i n s t a l l 263
Курс
Защитные средства с открытыми исходными текстами
Запуск Snort Snort запускается и з командной строки. Его м о ж н о выполнять в трех различных режимах: анализа, протоколирования и обнаружения вторже н и й . Последний режим является наиболее употребительным, н о имеются п р и м е н е н и я и для первых двух. Режим
анализа
пакетов
В этом режиме Snort действует просто к а к анализатор, показывая не¬ фильтрованное содержимое среды передачи. К о н е ч н о , если вам требует¬ ся только анализатор, м о ж н о применить Tcpdump или Ethereal, однако д а н н ы й режим позволяет убедиться, что все работает правильно и Snort видит пакеты. В табл. 7.1 перечислены ключи, которые м о ж н о использо¬ вать п р и в ы п о л н е н и и Snort в режиме анализа. Необходимо включить к а к м и н и м у м команду -v, поскольку иначе Snort по умолчанию будет выпол¬ няться в одном из двух других режимов (протоколирования или обнару ж е н и я вторжений), ожидая других о п ц и й . Испробовать этот режим м о ж н о , просто набрав в командной строке snort -v
или snort -vde
Выдача будет практически такой ж е , к а к от анализаторов, описан¬ ных в предыдущей главе. Д л я выхода нажмите Ctrl+C, и вы увидите свод¬ н ы е д а н н ы е сеанса анализа пакетов. Табл. 7.1. О п ц и и режима анализа пакетов Опция -v -d -e
Описание Выдает на экран заголовки пакетов T C P / I P в сети Ethernet. Аналогично предыдущей о п ц и и , н о отображаются также д а н н ы е прикладного уровня. Аналогично предыдущей о п ц и и , н о выдаются также заголов ки канального уровня.
Требования к оборудованию для сетевых систем обнаружения вторжений Есть ряд моментов, которые нужно учитывать при выборе оборудования для работы сетевых систем обнаружения вторжений. Поскольку системы об наружения, как правило, активно используют процессор и дисковое простран264
Глава 7
Системы обнаружения вторжений
ство, настоятельно рекомендуется, чтобы сетевая система обнаружения втор¬ жений выполнялась на специально выделенном компьютере. Однако, по¬ скольку система функционирует на платформе Linux, она все равно потребует меньше оборудования, чем эквивалентная машина Windows. При этом пред¬ полагается, что не используется графическая среда X-Window, которая дляя Snort не нужна, но существенно увеличивает нагрузку на процессор. Для работы Snort желательно иметь процессор Intel 500 МГц, хотя мож но обойтись и ПК с 266 МГц. Если вы храните файлы журналов локально, вам потребуется также по крайней мере несколько гигабайт доступного диско¬ вого пространства. Должна применяться сетевая плата 100 Мбит/сек, чтобы исключить возможность заторов, если вы будете анализировать сеть 100 Мбит/сек. Авторы Snort утверждают, что программа будет работать в актив¬ но используемом сегменте сети 100 Мбит/сек без потери пакетов. Однако, если ваша сеть перегружена, то, возможно, придется несколько повысить требования к оборудованию - до процессора 1 ГГц. Так или иначе, необходи мым требованиям легко удовлетворит любая машина, кроме разве что са мых старых.
Режим протоколирования
пакетов
Этот режим аналогичен предыдущему, н о позволяет записывать па кеты на д и с к для последующего анализа, аналогично ф у н к ц и я м протоко лирования в описанных в ы ш е анализаторах. Чтобы запустить Snort в р е ж и м е протоколирования, воспользуйтесь той ж е команды, что и для р е ж и м а анализа (-v, -d и / и л и -e), н о с добавлением ключа - l каталог_журналов, задающего маршрутное и м я каталога журналов, в которые Snort будет записывать пакеты. Пример: snort -vde - l
/var/log/snort
Эта команда создаст ф а й л ы журналов в каталоге /var/log/snort. Убе¬ дитесь, что указанный каталог существует, иначе программа н е будет за¬ гружаться правильно. Snort протоколирует пакеты п о IP-адресам, созда вая отдельный каталог для каждого из них. Если вы протоколируете тра ф и к в большой локальной сети с множеством адресов, ситуация может быстро выйти из-под контроля. Поэтому м о ж н о применить другую на¬ стройку, чтобы Snort протоколировал пакеты относительно вашей до¬ м а ш н е й сети, в которой в ы находитесь. Это делается с п о м о щ ь ю команды -h домашняя_сеть, где домашняя_сеть — диапазон IP-адресов локальной се¬ ти в нотации с косой чертой. В этом случае Snort будет помещать пакеты в каталоги на основе нелокального IP-адреса в пакете, что позволяет лег265
Курс
Защитные средства с открытыми исходными текстами
ко распознавать «неместный» трафик. Если оба хоста, целевой и исход¬ н ы й , являются локальными, Snort помещает пакет в каталог, соответству ю щ и й стороне с большим номером порта, к а к бы отдавая предпочтение подключающемуся хосту перед серверным. В случае равенства номеров портов Snort по умолчанию использует исходный адрес в качестве катало га для размещения данных пакета. Сейчас это может показаться несуще¬ ственным, н о если вы протоколируете сигналы о вторжении, важно быст¬ ро определить, откуда исходит подозрительный трафик. Учитывая приведенные соображения, командной строке для режима протоколирования пакетов целесообразно придать следующий вид: snort -vde - l
/ v a r / l o g / s n o r t -h 192.168.1.0/24
Тем самым внутренняя сеть задается диапазоном 192.168.1.1-254. М о ж н о также применить о п ц и ю -b для протоколирования всех д а н ных в одном бинарном файле, пригодном для последующего чтения с по¬ м о щ ь ю анализатора пакетов, такого к а к Ethereal или Tcpdump. П р и про¬ токолировании с опцией -b нет необходимости определять д о м а ш н ю ю сеть, так к а к д а н н ы е будут записываться последовательно в один большой файл. Этот метод намного быстрее для протоколирования работы актив¬ но используемых сетей или на медленных машинах. О н также облегчает анализ с п о м о щ ь ю более развитых средств, которые приходится п р и м е нять п р и просмотре больших объемов перехваченных сетевых данных. Режим
обнаружения
вторжений
В этом режиме Snort протоколирует подозрительные или требующие дополнительного внимания пакеты. Для перевода Snort в режим обнаруже н и я вторжений достаточно добавить к приведенной выше инструкции ключ -c конфигурационный_файл, предписывающий использовать указанный конфигурационный файл для управления протоколированием пакетов. Конфигурационный файл определяет все настройки Snort, он очень важен. Snort поставляется с подразумеваемым конфигурационным файлом, н о п е ред запуском в него целесообразно внести некоторые изменения, отражаю¬ щ и е специфику вашей среды. Поэтому, набрав в командной строке snort -de - l /var/log/snort -h 192.168.1.0/24 -c /etc/snort/snort.conf
вы запустите Snort в режиме обнаружения вторжений с использованием подразумеваемого конфигурационного файла snort.conf. Убедитесь, что указанный к о н ф и г у р а ц и о н н ы й файл существует, или задайте маршрутное и м я , соответствующее его расположению в вашей системе. 266
Глава 7
Системы обнаружения вторжений
Обратите в н и м а н и е , что я н е использовал ключ -v для запуска Snort в режиме обнаружения вторжений. Если, п о м и м о сопоставления всех па кетов с сигнатурами, заставлять Snort е щ е и выдавать на э к р а н сигналы тревоги, это может привести к потере пакетов, особенно в загруженных сетях. М о ж н о также н е задавать ключ -e, чтобы повысить производитель ность, если н е требуется протоколировать работу канального уровня. Е с ли убрать ключ - l , то Snort будет использовать подразумеваемый каталог протоколов /var/log/snort. Опять-таки убедитесь, что этот каталог сущест вует, иначе Snort н е запустится. М о ж н о также задать ключ -b, если в ы х о тите направить протокол в бинарный файл для последующего анализа от дельной программой. Команда для запуска Snort в режиме обнаружения вторжений в результате будет выглядеть следующим образом: snort -h 192.168.1.0/24 -c / e t c / s n o r t / s n o r t . c o n f
Режимы
сигнализации
Snort
П р и протоколировании пакетов, вызывающих сигналы тревоги, не¬ обходимо выбрать подходящий уровень детализации и формат «тревож¬ ных» данных. В табл. 7.2 перечислены о п ц и и , которые м о ж н о задавать в командной строке после ключа -A. Табл. 7.2. О п ц и и режима сигнализации Snort Опцияя - A full
- A fast
- A unsock - A none
Описание П о л н а я и н ф о р м а ц и я о сигнале, включая прикладные дан¬ ные. Это подразумеваемый режим сигнализации. О н будет использоваться п р и отсутствии с п е ц и ф и к а ц и й . Быстрый режим. Протоколируются только заголовки паке тов и тип сигналов. Это полезно в очень быстрых сетях, н о если требуется дополнительная судебная и н ф о р м а ц и я , н е обходимо использовать о п ц и ю full. Посылает сигнал в U N I X - с о к е т с указанным номером, на котором может слушать другая программа. Отключает сигналы тревоги.
Имеются также о п ц и и вывода syslog, smb и database, н о о н и исполь зуют н е ключ - A , а отдельные модули вывода и предлагают более ш и р о к о е разнообразие выходных форматов. Эти о п ц и и следует конфигурировать во время к о м п и л я ц и и п р и п о м о щ и ключей инструкции configure. • S M B посылает с и г н а л ы тревоги службе в с п л ы в а ю щ и х о к о н Windows, поэтому в ы увидите сигналы всплывающими на вашем 267
Курс
Защитные средства с открытыми исходными текстами
экране и л и экране м а ш и н ы , осуществляющей мониторинг. Одна¬ ко, прежде ч е м использовать эту о п ц и ю , желательно тщательно на¬ строить систему обнаружения вторжений, иначе вы н е сможете н и чего делать, кроме к а к наблюдать всплывающие то и дело окна! Для того чтобы включить этот метод сигнализации, п р и установке Snort задайте в инструкции configure о п ц и ю -enable-smbalerts. За¬ тем нужно запустить snort со следующими аргументами: snort -c / e t c / s n o r t . c o n f -M рабочие_станции
задав после -M имена хостов Windows, на которые отправляются сигналы. • Syslog посылает сигналы тревоги Syslog-серверу U N I X . Syslog — это служба, в ы п о л н я ю щ а я с я на м а ш и н е (обычно U N I X ) , которая м о жет подхватывать и сохранять различные ф а й л ы журналов. Это по¬ могает консолидировать журналы вашей сети в одном месте, а так¬ ж е затрудняет хакеру удаление протоколов вторжений. В д а н н о й книге н е рассматриваются особенности настройки сервера Syslog, но если о н у вас есть, то п р и наличии в командной строке ключа -s Snort будет посылать сигналы туда. М о ж н о также определить в конфигурационном файле различные форматы Syslog, которые рассматриваются в следующем разделе. • Snort напрямую поддерживает четыре вида вывода в базу данных посредством своих модулей вывода. К числу поддерживаемых фор¬ матов принадлежат M y S Q L , PostgreSQL, Oracle и u n i x O D B C . Это должно удовлетворить потребности большинства пользователей баз данных. И , естественно, если ваша база данных н е поддержива ется, м о ж н о взяться за проект по н а п и с а н и ю нужного модуля рас ш и р е н и я . Модуль вывода в базу данных требует к а к параметров времени к о м п и л я ц и и , так и настроек в конфигурационном файле. Более подробные сведения — в следующем разделе.
К о н ф и г у р и р о в а н и е Snort д л я д о с т и ж е н и я максимальной производительности Теперь, когда система Snort установлена, а вы ознакомились с основ¬ н ы м и командами, следует отредактировать к о н ф и г у р а ц и о н н ы й файл, чтобы сделать ее надежной системой обнаружения вторжений и получать требуемые результаты. Подразумеваемым к о н ф и г у р а ц и о н н ы м файлом служит snort.conf, который по умолчанию помещается в /etc/snort.conf. В этом файле задаются все настройки Snort. И м я этого файла м о ж н о и з м е нить, если п р и запуске Snort после ключа -c указать новое маршрутное 268
Глава 7
Системы обнаружения вторжений
имя. Д а н н ы й файл м о ж н о редактировать с п о м о щ ь ю vi, E M A C S или дру гого текстового редактора. М н о г и е строки в этом файле начинаются со знака #, за которым следуют различные комментарии. З н а к # служит стандартным началом строк комментариев, которые многие интерпрета¬ торы, к о м а н д н ы е или такие к а к Perl, игнорируют. Строки комментариев применяются для документирования программ или для отключения ста¬ рого кода. Вы будете использовать их позже п р и тонкой настройке набо¬ ра правил. Н о пока единственными строками, реально воздействующими на конфигурацию, являются строки без знака # в начале. Остальные п р и сутствуют только для и н ф о р м а ц и о н н ы х целей. К о н ф и г у р а ц и о н н ы й файл настраивается в несколько шагов. 1. Задание домашней сети. Необходимо сообщить Snort адреса, которые представляют до¬ м а ш н ю ю сеть, чтобы о н мог правильно интерпретировать внеш¬ н и е атаки. Это делается с п о м о щ ь ю инструкции v a r HOMENET адреса
где адреса следует заменить н а адресное пространство вашей ло¬ кальной сети. Если имеется несколько сетей, то м о ж н о ввести их все, разделяя запятыми. М о ж н о также ввести и м я интерфейса, что бы IP-адрес и маска сети, присвоенные этому интерфейсу, исполь зовались к а к H O M E N E T . Д л я этого служит следующий формат: v a r HOMENET $ имя_интерфейса
где имя интерфейса заменяется интерфейсом, н а котором слушает Snort (например, ethO или eth1). С п о м о щ ь ю аналогичной инструкции м о ж н о определить в н е ш н и е сети, заменяя HOME_NET н а EXTERNAL NET. Подразумевае¬ м ы м значением обеих переменных служит any. М о ж н о оставить их в таком виде или определить одну или обе. Я рекомендую опреде¬ лить внутреннюю сеть, н о оставить в н е ш н и е сети заданными к а к any. 2. Задание внутренних серверов. В конфигурационном файле м о ж н о определить р я д серверов, включая Web, mail, D N S , S Q L и Telnet. Это уменьшит число л о ж ных срабатываний для этих сервисов н а этих машинах. М о ж н о также задать номера портов для этих сервисов, чтобы регистрировались только атаки н а указанные порты. Все эти оп¬ ц и и конфигурации позволяют сократить число ложных срабаты ваний, чтобы д о вас доводилась только и н ф о р м а ц и я , обладающая реальной ценностью. Имеется также раздел для добавления серве¬ ров A I M , чтобы отслеживать п р и м е н е н и е A O L Instant Messenger. 269
Курс
Защитные средства с открытыми исходными текстами
Это имеет смысл только в том случае, если включен класс правил Chat. 3. Конфигурирование декодировщиков и препроцессоров Snort. Ряд ключей и настроек в конфигурационном файле управляют д е кодировщиками и препроцессорами Snort. Эти процедуры приме¬ няются к трафику, прежде ч е м о н пройдет через к а к о й - л и б о набор правил, обычно с целью правильного форматирования и л и для обработки определенного вида трафика, который п р о щ е п р е п р о цессировать, ч е м применять наборы правил. П р и м е р о м подобно¬ го типа трафика служат фрагментированные пакеты. В Snort при¬ сутствует декодировщик, собирающий фрагментированные паке¬ ты. М н о г и е атаки пытаются скрыть свою истинную природу, фрагментируя пакеты, так что описываемые возможности Snort являются весьма ц е н н ы м и . Другой декодировщик предназначен для пакетов сканирова н и я портов. Так к а к о н и имеют склонность приходить группами и в большом количестве, лучше обрабатывать их заранее общей мас¬ сой, чем пытаться сравнивать каждый пакет с сигнатурой. Это так ж е делает систему обнаружения вторжений более з а щ и щ е н н о й от атак на доступность. Подразумеваемые настройки для этих подси¬ стем д о л ж н ы работать хорошо, однако, получив некоторый опыт работы со Snort, в ы можете попытаться изменить их, чтобы повы¬ сить производительность и достичь лучших результатов. 4. Конфигурирование модулей вывода. Это важный шаг, если вы хотите использовать базу данных при об¬ работке вывода Snort. Здесь вы указываете программе, к а к обраба¬ тывать д а н н ы е сигналов тревоги. Имеется несколько модулей в ы вода, которые м о ж н о применять в зависимости от требуемого формата данных: Syslog, Database и новый модуль Unified, кото¬ р ы й поддерживает универсальный бинарный формат, полезный для импорта данных другими программами. О б щ и й формат для конфигурирования модулей вывода таков: output имя_модуля: конфигурация опции где имя_модуля следует заменить
на a l e r t _ s y s l o g , database
или
a l e r t _ u n i f i e d в зависимости от используемого модуля. Опциями конфигурации для различных модулей вывода служат: • Syslog Для систем U N I X / L i n u x нужно использовать следующую дире¬ ктиву: output a l e r t _ s y s l o g :
LOG_AUTH LOG_ALERT 270
Глава 7
Системы обнаружения вторжений
Для Windows-систем м о ж н о использовать любой из следующих форматов: output a l e r t _ s y s l o g : LOG_AUTH LOG_ALERT output a l e r t _ s y s l o g : host=имя_хоста, LOG_AUTH LOG_ALERT output a l e r t _ s y s l o g : host=имя_хоста:порт, LOG_AUTH LOG_ALERT
где и м я х о с т а и порт нужно заменить, соответственно, на I P - а д рес и порт сервера Syslog. • Database О б щ и й формат для настройки вывода в базу данных таков: output database: l o g , тип_базы_данных, user=имя_пользователя password=пароль dbname=имя_базы_данных host=адрес_базы_данных
где тип_базы_данных заменяется одной и з допустимых для Snort разновидностей баз данных ( M y S Q L , postgresql, unixodbc или mssql), имя_пользователя — допустимым именем пользователя м а ш и н ы базы данных, а пароль — его паролем. Переменная dbname задает и м я базы данных для протоколирования. Н а к о нец, адрес_базы_данных является IP-адресом сервера базы д а н ных. Н е рекомендуется устанавливать Snort и базу данных на один сервер. П о м и м о того что безопаснее держать д а н н ы е сиг¬ налов тревоги на другом компьютере, работа Snort и базы дан¬ ных на одной м а ш и н е будет существенно снижать производи¬ тельность. Хотя настройка баз данных н е является темой к н и г и , базовая конфигурация базы данных M y S Q L для Snort и других программ обсуждается в главе 8. • Unified Это основной бинарный формат быстрого протоколирования и сохранения для будущего использования. Поддерживаются два аргумента — filename и l i m i t , а вся директива может выглядеть п р и м е р н о так: output a l e r t _ u n i f i e d : filename s n o r t . a l e r t ,
l i m i t 128
5. Индивидуализация наборов правил М о ж н о выполнить тонкую настройку Snort, добавляя или удаляя наборы правил. Ф а й л snort.conf позволяет добавлять или удалять целые классы правил. В к о н ц е файла перечислены все наборы правил генерации сигналов тревоги. М о ж н о отключить целые ка¬ тегории правил, закомментировав строки с п о м о щ ь ю знака # в на¬ чале. Н а п р и м е р , м о ж н о отключить все правила icmp-info для с н и ж е н и я числа ложных срабатываний на трафике ping или все пра вила NetBIOS, если в сети нет м а ш и н Windows. Имеются также о б 271
Курс
Защитные средства с открытыми исходными текстами
щедоступные наборы правил, уже настроенные для определенных сред. Закончив внесение и з м е н е н и й в к о н ф и г у р а ц и о н н ы й файл, сохрани¬ те его, и тогда все будет готово для запуска Snort.
Правильное размещение сетевой системы обнаружения вторжений Решая, где разместить сетевую систему обнаружения вторжений, сле дует принять во внимание, что именно вы пытаетесь защитить и как можно максимизировать эффективность и взаимную поддержку средств сетевой безопасности. Имеется несколько вариантов размещения сетевой системы обнаружения вторжений, у каждого из которых есть свои достоинства и не¬ достатки. • В ЛВС позади межсетевого экрана. Это наиболее распространенная конфигурация, которая предлагает наилучшую защиту как от внеш них, так и от внутренних угроз. Прослушивая локальную среду переда¬ чи, можно выявлять внутреннюю активность пользователей, такую как взаимодействие между рабочими станциями или ненадлежащее при¬ менение программ. Это также обеспечивает дополнительную под¬ держку межсетевого экрана, позволяя обнаружить подозрительный трафик, каким-то образом сумевший проникнуть во внутреннюю сеть через фильтры экрана. В действительности, систему обнаруженияя вторжений можно применять для тестирования межсетевого экрана, чтобы увидеть, какой трафик он пропускает. Однако при подобном размещении будет генерироваться много сигналов тревоги на основе потоков данных Windows, так что будьте готовы проделать большой объем работы по настройке в этой облас ти. Далее, если у вас коммутируемая ЛВС, то понадобится возмож ность отражения всех портов в порт монитора, чтобы система обнару¬ жения вторжений могла прослушивать весь трафик ЛВС. • В демилитаризованной зоне. Можно поместить сенсор Snort в деми¬ литаризованной зоне, чтобы отслеживать активность по отношению к вашим общедоступным серверам. Так как эти серверы наиболее от крыты в вашей организации и обычно представляют собой ценные ре сурсы, то весьма разумно наблюдать за ними с помощью системы об наружения вторжений. Проблема, которая возникает при подобной конфигурации, состоит в сортировке всех сигналов. Хотя все они мо¬ гут быть оправданными сигналами тревоги, в наше время общий уро¬ вень атакующего трафика в Интернет таков, что любой общедоступ¬ ный IP-адрес по несколько раз в день подвергается случайным ата¬ кам. Реагирование и попытки отследить эти сигналы будут излишни¬ ми и контрпродуктивными. 272
Глава 7
Системы обнаружения вторжений
Как же отличить обычных червей, отраженных вашим сервером, от пакетов, которые действительно уносят что-то ценное? Один из возможных подходов состоит в сокращении числа сигнатур до не¬ большой величины, чтобы срабатывания происходили, только если компьютер действительно был скомпрометирован. Примером могут служить специальные правила для приложений, выполняющихся на этом компьютере, такие как правила для MySQL или web-iis, или пра¬ вила, связанные с административным входом в систему. Можно ис¬ ключить большинство сигналов зондирующего характера и не реаги¬ ровать на такую деятельность, как сканирование портов и т. д. • Между вашим поставщиком Интернет-услуг и межсетевым экраном. В этом случае будет фильтроваться весь входящий и исходящий тра¬ фик вашей ЛВС и демилитаризованной зоны. Положительная сторона этого подхода состоит в том, что вы будете перехватывать все, что на¬ правлено против ваших общедоступных серверов и внутренней ЛВС, отрицательная — в том, что вы не увидите внутренний трафик, а об¬ щий объем сигналов может быть весьма большим из-за высокого уровня фонового атакующего трафика. Как и в предыдущем примере, попробуйте ограничить набор сигналов, оставив включенными только те, которые действительно будут отражать проблему для данного сетевого сегмента. Следует учитывать также, что сенсор, размещенный в канале между вашим по¬ ставщиком Интернет-услуг и межсетевым экраном, может стать уз¬ ким горлом и одиночной точкой отказа для сетевого трафика. Воз¬ можное решение состоит в установке небольшого концентратора ме¬ жду двумя каналами и в подключении системы обнаружения вторже¬ ний к нему. Мы перечислили все разумные варианты размещения системы обнару жения вторжений. Разумеется, ничто не мешает использовать их все, если у вас достаточно оборудования и времени для управления.
Отключение правил в Snort Простейшим способом ограничения потока сигналов является от ключение правил, н е п р и м е н и м ы х к вашей системе. Д л я этого нужно вой ти в компьютер, на котором выполняется Snort, и найти каталог rules (обычно в каталоге, в котором установлен Snort). В этом каталоге имеет¬ ся много файлов с р а с ш и р е н и е м .rules. К а ж д ы й и з н и х содержит м н о ж е ство правил, сгруппированных по категориям. М о ж н о отключить целый класс правил, закомментировав его в к о н ф и г у р а ц и о н н о м файле, или ж е отключать отдельные правила, если вы хотите сохранить защиту других 273
Курс
Защитные средства с открытыми исходными текстами
правил этого класса. Чтобы закомментировать правило, нужно найти его в соответствующих файлах .rules и поместить символ # перед строкой это¬ го правила. Отметим, что обычно лучше отключать отдельные правила, а не классы, за исключением случаев, когда какой-то класс целиком н е п р и м е н и м для вас. В табл. 7.3 перечислены все имена файлов для классов правил Snort и приведено их краткое описание. Табл. 7.3. И м е н а файлов классов правил Snort Класс правил attack-responses.rules
backdoor.rules
bad-traffic.rules
chat.rules
ddos.rules
dns.rules
dos.rules
Описание Это сигналы для пакетов обычных ответов после успешных атак. О н и редко оказываются ложны¬ ми. В большинстве случаев их следует оставить включенными. Это обычные признаки использования потай ных входов или троянских программ. О н и редко бывают л о ж н ы м и . Эти правила представляют нестандартный сете¬ вой трафик, который обычно н е должен присут¬ ствовать в большинстве сетей. И щ е т стандартные признаки многих популяр ных программ чата. Если чат допускается я в н о или неявно, то эти сигналы необходимо отклю чить. Отметим также, что о н и н е являются у н и версальным средством для чата и могут н е обна руживать все виды трафика чата. Тем н е менее, о н и могут быть полезны для выявления н а и б о лее злостных нарушителей. И щ е т стандартные распределенные атаки на до¬ ступность. В демилитаризованной зоне и гло¬ бальной сети эти сигналы будут бесполезны, так к а к в случае распределенной атаки на доступ¬ ность в ы узнаете об этом, вероятно, сразу. Одна¬ ко о н и могут быть весьма ц е н н ы м и в локальной сети для обнаружения м а ш и н - з о м б и , бессозна¬ тельно участвующих в распределенной атаке на доступность другой сети. И щ е т некоторые стандартные атаки против сер¬ веров D N S . Если у вас нет собственного сервера D N S , эти правила м о ж н о отключить. Аналогично вышеупомянутому набору правил ddos.rules. 274
Глава 7
experimental.rules
exploit.rules
finger.rules
ftp.rules
icmp-info.rules
icmp.rules
imap.rules
info.rules
Системы обнаружения вторжений
Отключены п о умолчанию. О н и обычно исполь¬ зуются только для тестирования новых правил, пока о н и н е будут перемещены в одну и з других категорий. Предназначены для стандартного трафика и с пользования уязвимостей и всегда д о л ж н ы быть включены. Эти правила сигнализируют о трафике, связан¬ ном с серверами finger. Если вы н е используете finger, то м о ж н о , наверное, их отключить. Одна¬ ко серверы finger часто выполняются скрытно от системного администратора, поэтому м о ж н о ос¬ тавить их в к л ю ч е н н ы м и , так к а к о н и н е будут вызывать ложных срабатываний, если у вас нет серверов finger. Аналогично finger.rules, н о ищет признаки и с пользования уязвимостей FTP. Эти правила так¬ же вполне м о ж н о оставить включенными, даже если у вас нет серверов FTP, так к а к о н и будут сигнализировать обо всех нелегальных серверах FTP. Эти правила отслеживают сообщения I C M P в вашей сети, порожденные, например, утилитой ping. О н и часто являются причиной ложных сра¬ батываний, и м о ж н о , наверное, отключить весь набор, если только вы н е хотите строго контро¬ лировать т р а ф и к I C M P в своей сети. Другой класс известного незаконного трафика I C M P icmp.rules перехватывает сканирование портов и сходную активность Охватывает н е з а к о н н ы й или подозрительный т р а ф и к I C M P , такой к а к сканирование портов, и н е столь часто, к а к icmp-info.rules, порождает л о ж н ы е срабатывания. Однако, возможно, что они будут часто возникать в загруженной сети с множеством работающих диагностических сервисов. Правила, относящиеся к использованию в ва шей сети протокола I M A P (Internet Message Access Protocol). Перехватывает различные сообщения об о ш и б ках от Web, F T P и других серверов. 275
Курс
local.rules
misc.rules
multimedia.rules
mysql.rules
Netbios.rules
nntp.rules
oracle.rules other-ids.rules
p2p.rules
Защитные средства с открытыми исходными текстами
В этот файл вы добавляете индивидуальные сиг натуры для сети. П о умолчанию файл пуст. В к о н ц е этой главы имеется раздел о том, к а к п и сать индивидуальные правила Snort. Правила, которые н е попадают н и в одну из дру¬ гих категорий или н е заслуживают собственных разделов. Примером служат старые сигналы, та¬ к и е к а к признаки использования уязвимостей сервера Gopher. Отслеживает использование программного обес¬ печения типа потокового видео. Если вы разре шаете применять приложения потокового видео или проводить видеоконференции в вашей сети, то при желании м о ж н о отключить эти правила. Следит за административным доступом и други¬ ми важными файлами в базе данных M y S Q L . Если вы н е используете M y S Q L , то можете, на¬ верное, отключить эти сигналы. Если база дан¬ ных M y S Q L находится в процессе создания, эти правила могут порождать много ложных сраба¬ тываний. Этот класс правил сообщает о различных видах активности NetBIOS в вашей Л В С . Часть и з них соответствует очевидным атакам. Однако, другая часть, например, сигналы о сеансах N U L L , м о жет иметь место в нормальных условиях в Л В С Windows. Необходимо поэкспериментировать с этим разделом, чтобы выявить правила, подхо д я щ и е для вашей Л В С . Правила, и м е ю щ и е о т н о ш е н и е к серверу теле¬ к о н ф е р е н ц и й . Если вы их н е используете, то эти правила, наверное, м о ж н о отключить. Правила для сервера баз данных Oracle. Если вы его не используете, можно отключить эти правила. Эти правила связаны с использованием уязви мостей для пакетов других производителей с и с тем обнаружения вторжений. Весьма вероятно, что в вашей Л В С нет никаких других сетевых си¬ стем обнаружения вторжений, н о если таковые есть, оставьте эти правила включенными. Правила, управляющие использованием п р о граммного обеспечения однорангового разделе276
Глава 7
policy.rules
pop2.rules pop3.rules
porn.rules
rpc.rules
rservices.rules
scan.rules
Системы обнаружения вторжений
н и я файлов. Эти правила будут порождать сиг налы во время нормального использования дан¬ ных продуктов, поэтому, если п р и м е н е н и е этого программного обеспечения допустимо, их необ ходимо отключить. Этот файл содержит различные сигналы, связан¬ ные с разрешенной активностью в Л В С , такой как Go-to-my-pc и другими программами. Необ¬ ходимо просмотреть эти правила и включить только те, которые соответствуют внутренним политикам. Оба файла относятся к почтовым серверам. Большинство организаций при использова н и и P O P будут п р и м е н я т ь с е р в е р P O P 3 . Ес¬ ли у вас есть к а к о й - либо и з этих двух т и п о в серверов, оставьте эти правила включенны¬ ми, если нет — отключите. Это несколько рудиментарные ловушки для Web-серфинга п о порнографическим сайтам. Они н и в коей мере н е могут заменить хорошую систему фильтрации и н ф о р м а ц и о н н о г о н а п о л н е н и я , н о способны выявить некоторые из н а и более в о п и ю щ и х нарушений. Этот класс обрабатывает сигналы тревоги, вы¬ званные применением удаленного вызова про¬ цедур. Д а ж е если в ы считаете, что н е используе¬ те подобные сервисы, следует учитывать, что они часто выполняются к а к часть других про¬ грамм, поэтому важно знать, когда это происхо¬ дит в вашей Л В С . Удаленный вызов процедур может допускать удаленное в ы п о л н е н и е кода, что часто используется т р о я н с к и м и программа ми и программами эксплуатации уязвимостей. Отслеживает использование программ различ¬ ных удаленных сервисов, таких к а к rlogin и rsh. Вообще говоря, это небезопасные сервисы, н о если без них н е обойтись, их следует тщательно отслеживать с п о м о щ ь ю данного набора правил. Предупреждает об использовании программ ска¬ нирования портов. Сканирование портов я в л я ется надежным индикатором ненадлежащей а к тивности. Если в ы применяете сканирование 277
Курс
shellcode.rules
smtp.rules
sql.rules
telnet.rules
tftp.rules
virus.rules
web-attacks.rules web-cgi.rules web-client.rules web-coldfusion.rules
Защитные средства с открытыми исходными текстами
портов, то нужно либо отключать Snort в это время, либо отключить определенное правило для м а ш и н ы сканирования. Этот класс правил ищет пакеты, содержащие ас¬ семблерный код, низкоуровневые команды, на¬ зываемые также к о м а н д н ы м кодом. Эти коман¬ д ы являются существенной частью многих п р о грамм использования уязвимостей, таких к а к пе¬ реполнение буфера. Перехват фрагмента ко¬ мандного кода зачастую служит надежным ин¬ дикатором развивающейся атаки. Управляет сигналами об использовании почто вых серверов в Л В С . Этот раздел нуждается в тщательной настройке, так к а к большая часть нормальной активности почтового сервера будет вызывать сигналы тревоги. Правила для различных программ баз данных SQL. Если вы н е используете никаких баз дан¬ ных, эти правила м о ж н о отключить, однако не¬ плохо оставить их включенными на тот случай, если имеется база данных S Q L , о которой вы н е знаете. Отслеживает использование Telnet в сети. Telnet часто применяется на маршрутизаторах или дру¬ гих устройствах с интерфейсом командной стро¬ ки, которые целесообразно контролировать, даже если вы не используете Telnet на своих серверах. T F T P (trivial F T P ) является альтернативным сер вером FTP, часто в ы п о л н я е м ы м на маршрутиза торах. О н может применяться для загрузки но¬ вых конфигураций, поэтому стоит за н и м сле¬ дить. Содержит сигнатуры некоторых распространен¬ ных червей и вирусов. Этот с п и с о к н е является п о л н ы м , поддерживается нерегулярно и н е мо¬ жет служить заменой антивирусного программ¬ ного обеспечения, н о способен перехватывать некоторых сетевых червей. Все эти классы относятся к различным видам подозрительной Web-активности. Некоторые и з них универсальны, например, класс web-attacks. Другие, такие к а к web-iis и web-frontpage, с п е 278
Глава 7
web-frontpage.rules web-iis.rules web-php.rules
Xll.rules
Системы обнаружения вторжений
ц и ф и ч н ы для определенных серверных плат¬ ф о р м Web. Даже если вы полагаете, что у вас в сети нет Web-серверов Microsoft и P H P н е используется, стоит оставить все правила вклю¬ ч е н н ы м и , чтобы обнаруживать в Л В С любую ак¬ тивность такого рода, о которой вы можете и н е знать. Необходимо тщательно настроить эти правила, особенно если ваши Web-серверы а к тивно развиваются. Отслеживает п р и м е н е н и е графической среды X l l в вашей сети.
Запуск Snort в качестве службы Если вы собираетесь выполнять Snort на сервере, предназначенном для круглосуточной работы, то желательно запускать Snort при загрузке операционной системы, чтобы после временного выключения м а ш и н ы она перезагружала Snort, и система обнаружения вторжений продолжала защищать ваши Л В С . Один и з способов сделать это — включить в число стартовых процедур небольшой командный файл, запускающий Snort с параметрами командной строки. В Linux м о ж н о поместить строку для за пуска Snort в файл rc.local в каталоге /etc/rc.d. Пример: snort -h 192.168.1.0/24 -c / e t c / s n o r t / s n o r t . c o n f &
З н а к & (амперсанд) в к о н ц е означает запуск Snort в ф о н о в о м режи¬ ме. М о ж н о также запускать Snort к а к службу, воспользовавшись коман¬ дой service snort
start.
Snort Webmin Interface: Графический интерфейс для Snort Snort Webmin Interface Автор/основной контакт: Web-сайт: Платформы: Лицензия: Рассмотренная версия:
Mike Baptiste/MSB Networks msnnetworks.net/snort/ Большинство Linux GPL 1.1
Настраивать Snort из командной строки — скучновато. Хотя Snort не имеет пока собственного графического интерфейса, существует мо¬ дуль для популярного средства управления Webmin на базе Web. О н поз воляет произвести всю настройку и конфигурирование из любого Webнавигатора. Свойствами этой системы являются: 279
Курс
Защитные средства с открытыми исходными текстами
• Доступ к к о н ф и г у р а ц и о н н ы м файлам Snort на основе форм. • Различные уровни доступа пользователей, что позволяет задать различные права доступа для различных пользователей. • Возможность включать и выключать наборы правил щелчком мыши. • И н д и к а т о р статуса для всех правил и наборов правил. • Встроенные ссылки к внешней базе данных, такой к а к archNIDS, C V E и Bugtraq. • Запись изменений в журналах. • Средства поддержки различных языков. • Поддержка запуска Snort в качестве службы с п о м о щ ь ю файлов rc.d. • З а щ и щ е н н о е удаленное администрирование через S S L (если вклю¬ чено). В главе 3 рассмотрена загрузка Webmin для администрирования меж сетевого экрана. Этот ж е дополнительный модуль м о ж н о применять и для конфигурирования Snort. Обратитесь к главе 3, если вы еще не загрузили Webmin. Для Snort требуется версия Webmin 0.87 или выше. М о ж н о использо- - вать файл Snort Webmin с компакт-диска, загрузить модуль Snort с п о м о щью интерфейса Webmin или сначала загрузить файл, а потом установить его локально, взяв его по адресу: www.msbnetworks.com/snort/download/snort-l.l.wbm Чтобы загрузить модуль Snort через интерфейс Webmin, выполните следующие действия. 1. Перейдите на основную страницу Webmin. Войдите с п о м о щ ь ю и м е н и и пароля, заданных во время установки Webmin. 2. Щ е л к н и т е м ы ш ь ю на вкладке конфигурирования Webmin. Щелк¬ ните на Modules и выберите либо Local file, либо F T P U r l , в зави¬ симости от того, загрузили вы его уже на свою машину или хоти¬ те, чтобы Webmin взял его с Web-сайта. 3. Щ е л к н и т е м ы ш ь ю на Install module, в результате будет установлен файл модуля Snort. Модуль Snort появится как и к о н к а на основ¬ ной странице Webmin. Щ е л к н и т е м ы ш ь ю на этой и к о н к е , чтобы отобразить интерфейс Webmin Snort (см. рис. 7.2). Открыв страницу Snort, вверху экрана вы увидите все основные разде¬ лы конфигурационного файла, такие как настройки сети, параметры пре¬ процессора и опции входа. Щелкнув м ы ш ь ю на любом из параметров кон¬ фигурации, можно заполнить форму своей информацией, и Webmin произ¬ ведет изменения в соответствующих конфигурационных файлах Snort. Все наборы правил перечислены н и ж е , и м о ж н о видеть, какие из них включены или выключены. Галочка указывает, что набор правил в к л ю чен, а значком Х отмечены в ы к л ю ч е н н ы е наборы. Для того чтобы отклю280
Системы обнаружения вторжений
Глава 7
Рис. 7.2. Модуль Webmin Snort чить целый набор правил, достаточно сделать двойной щелчок м ы ш ь ю в поле Action. Если вы хотите просмотреть набор правил и модифицировать отдельное правило, щелкните м ы ш ь ю на голубом подчеркнутом тексте, и вы попадете на страницу Edit Ruleset (Редактирование набора правил) (см. рис. 7.3). Н а н е й м о ж н о видеть все активные правила набора. С пра вилами м о ж н о выполнять действия — выключение, включение или удале ние из набора правил. Если в описании сигнала тревоги имеются ссылки на внешние базы данных, такие к а к номера в словаре уязвимостей C V E (Common Vulnerability or Exploit), то м о ж н о получить дополнительную и н ф о р м а ц и ю о действии сигнала, щелкнув м ы ш ь ю на гиперссылке. Ис¬ пользование подобного интерфейса может существенно облегчить на¬ стройку правил. Модуль Webmin Snort позволяет также управлять доступом п о л ь з о вателей к н а с т р о й к а м (см. р и с . 7.4). Н а странице пользователей Webmin 281
Защитные средства с открытыми исходными текстами
Курс Д .|..=..|1Ч.Ч щД|.| ||ЕИ=Н ;
3
|
File |
0|
шикни
Edit View Search Go Bool: г - r. • Tasks Help Debug QA
Edit Ruleset
Webmin Servers V/ ebmin Index Module Config
rch docs,,
Current Rules in /etc/snort/rpc.rules Rule ^
Status Action
Signature
Lisa bis. Edit Delete Disable Eta Delete
Alert udp SEXIEEMJU._HET SJIJ? -> SK0ME_HET 111 <»rj:"PPC pcrtmsp rt«ij**t r#t»t*"j *Oftttnt: " | 01 85 Д0 00 ,::ia-'-.]ip-L: a-teiiaate i-L-a<-,:ri; а-ем1 ; ;
-, A
j
. и jp ;E:.:TLPJIWL_HET any : ;.]LU::L JIJJT 11: O0|";oflset:4O;.iepth:8; refe aence
' m . pn-.'Hf rsouiFt a aimix.,:'" .: ui.ts.it." | и1 0" 0 а и С cljEsaupe: 3.--.6iii_:itEi:.-i-;ccr. f i d S8»; rrtv: 1; > ;
;
I.I JJ._I тпгтрм.> 5K0HE НЕТ j.iv HIT
111 (.....j ' E l i p at V up rtqwtft *tltction IV»" ; content: " | 01 85 JF 00 OOr^offseti-IOiaeptliiSi r («rtn;i -i :• ..ни..':..: cl»£i-.vpi : dtt*iupi-.ed-iictiL. ui Hi. r«v 1; >
X
.HIEL". udp :;1::.:т^>^ги. л и .aaay -J (HOME ЛЕТ 111 (uiscr 'ы i: psrVYSp. rtcuist status" ; content;" 1 01 06 Б8 00 C0|" offset:4ij;depth:8; refe -etice : Аг аспп ii-a, 1 ^ cljss type • Attempted-re с on; 5 id- 6:37 rev: 1; )
•
E
Alert uip SiXIBRHJU. H i : «MJ -> Г.Цл'::Е НЕТ 111 'M;Q: ' H i . рггМ-ар «£•<№•; t ^Mttst.-v" ; с tot sat "|01 i t F3 00 in: 1 . П...1. 1 • • 1.1. •: 1..1..-I..H . i • .u.i '. : I I .. 'll..ii,j. ...1-х......... . ..J .. i
-f
fi
-H-e--. uip :;E:.:TErj:ftL_Hir ЖЧ . В -> 5НОНЕ НЕТ 111 (msgr: "IPC portm.ap reqiaeit yppisi.,.,..i content: " | 01 85 A3 00 ОЩ-j offset:4D;dspUl:8j refe седее: arachnids , 14. i l u t t w i ; atteiftsted-recoa. s i d r e v : l , >
J
Л 4
;
0
;
;
J
j l e r t udp $E::TEPMBL_HET any -> SHOME_HET 111 (msg: "EPC portmAp replies' .., • . . content: " 1 01 86 Д4 00 -en: e . a.ra.:_miij-, 12 •: I а ЕЕ .upe . a.. .einj t E с. racn. aic. njl, :EV.:,'I
о
a_e_-a. uip « в ш г л , HIT E . ._4V : Г.К0..Е :-lZT 111 Oil .ofi=.:t 4ii..H-:fth ?. a'ii
.;г..гч 'PI С раг.-чар rE.:aaeat. i.pi.i:. d.^. ..e,? , .: onten..: " | Jl ;:;ь ВС Ой
n *
His." uip ifEKTEIJJflL НЕТ any ;НОМЕ_НЕТ .:£?7 0 (1T139 : "KPC rstitd q[aerv". conts^t:" | 00 00 00 00 00 00 [id 02 00 [11 Si nl|"; offset: 5; refe -en:a ar a: juLiij-, j, .;la;;H;ce at - erdp t e i re : "n sld: E92j rev:!;)
m
i l s t t uip SE:;IEKHAL НЕТ SJLU -> ?H01-JE_HET 111 (rus-g; 'Pir гшфл.атj чщ*1р"; rjc: 100243,*/*J rtltrttice :buqtr»«. 2417: el*s tiipe ...tteriLp -.eiJ-LLi. 'an Lj.'i:b.H>: rev 1:)
1 U
Disable
,,
у
e
Dekte Disable. Edit X
:
Alert u-ip >E::TEPHAL_HET amy • Л№::Е_НЕТ 111 vr.J-g. 'FI0 eapd ^pjtry", rpc 7Э:023,^*; referenaa ,:ve uj->-г j 0 J - iij j 1i:lasi-.!,ipi: a.-teiiiated-racci-i, sid:S34; rev:ljj
У
Alei •• 1 ip .:ЕУТ^Г)'ПТ. m- ...n.i
a ;»T'E чят 11*. (mscr: "spr; t?P'J croeq»": .j.. ШОг».*.*; elass-upe: a-.tempteii-rEccri; ; u . :evl;..
У
' ;JLU::L НЕТ 11. a-.j-.j-. 'PJ-I. par.-aap liatiriq-" fla.ea. .41. rp: . = . ,-23 cliiitpp*. *tt«m.ptt«-x-eeor.j iid.536, r«v. i.)
У
:
•Щ
Alert^tcp^$EXTERNJU._HET AjVy -i «К0НЕ_НЕТ 32771 <*Wjr; *W« portliiip li.rtlnj" , fl*gj; Я+; 1JC: ,;:la.sa tuaa : -a-tarap a-ed-re,: ,an: a id : ? 1 ? : гам : 1 ^
ir
slerr a.;, CEUEJ-JfAL art H±-IV . VMUML HUT 111
1 0
;
1Й
А й
Al=rt ?E::TEP:IM. MET a-i-iv - > :aH0ME_HET 32771 [rnt'j : "КРС ."a.-juaj lij-t-JJlj" , eontent: | 00 01 86 AO OO OH HO ог no oo oo 02|"; . . : • , . . . .r-a aimidaa. 42a:: ala.a-aatvaie att amp-ei-re,: ian: ai,i::.53 re-,,-: 2; > 11
;
14 ± J
E. Jit Delete Disable Eoit Delete Fair-: all la. Edit
Alert top ^EXTERNAL NET Any a ;HOHE_HET ,ar,;j ,;raa:g 'Paaia EMPIIJIT at-atd::"; flaga "/bm|c74604|/sh ; reference: 11
H+• ,:,:.nten-
Enable Edit Delete Disable Edit Delete Disable. Edit Delete P|jble Delete К 5 alls. Edit Delete Disable Edit Delete DisableEdit Delete Disable Edit Disable Edit Delete C'ljijliL Edit Delete
Add. Rule.
-t^H "•)
P,etum to Snort A dmmistratLon Г711
LiplL;
_1LH. Jir lu'
Litiu.a a l l
Рис. 7.3. Страница редактирования наборов правил Webmin Snort м о ж н о задать р я д параметров д л я каждого пользователя (при условии, что в ы являетесь а д м и н и с т р а т о р о м Webmin). М о ж н о предоставить о п р е д е л е н н ы м пользователям доступ д л я р е д а к т и р о в а н и я п р а в и л , н о н е для р е д а к т и р о в а н и я к о н ф и г у р а ц и о н н ы х ф а й л о в . М о ж н о управлять тем, к к а к и м к о н ф и г у р а ц и о н н ы м ф а й л а м о н и будут иметь доступ — и л и позволить и м только просматривать ф а й л ы без р е д а к т и р о в а н и я и л и от к л ю ч е н и я . Таким образом, модуль Webmin Snort предоставляет весьма детальное управление доступом, ч т о позволяет в а м делегировать еже д н е в н ы е о б я з а н н о с т и п о н а с т р о й к е менее к в а л и ф и ц и р о в а н н о м у техни ч е с к о м у специалисту, оставляя за собой управление к о н ф и г у р а ц и е й и изменениями. 282
Системы обнаружения вторжений
Глава 7
Рис. 7.4. Управление доступом для модуля Webmin Snort Snort for Windows: система обнаружения вторжений для Windows с открытыми исходными текстами Snort for Windows Автор/основной контакт: Перенос в Windows: Web-сайт: Платформы: Лицензия: Рассмотренная версия: Другие ресурсы:
Martin Roesch Michael Davis, Chris Reid www.snort.org Windows 2000, XP GPL 2.0.0 См. список в разделе "Snort: система обна ружения вторжений для UNIX с открытыми исходными текстами" выше в этой главе.
К счастью для тех, кто не может или не хочет устанавливать версию Snort для U N I X , имеется полностью поддерживаемая версия для плат ф о р м ы Windows. Хотя отдача от каждого вложенного в аппаратуру долла ра для U N I X - в е р с и и будет выше, Windows-версия не является просто по¬ бочным проектом — фактически, она разработана основной группой Snort и в достаточной степени синхронизирована с UNIX-версией. Она позволяет воспользоваться преимуществами простоты установки, а также другими достоинствами Windows 2000 и XP, такими к а к встроенная под283
Курс
Защитные средства с открытыми исходными текстами
держка IPSec. П р и я т н о видеть проект с открытыми исходными текстами, участники которого понимают, что имеется много к о м п а н и й , использую щих только Windows, которые с удовольствием применят возможности этой отличной системы обнаружения вторжений с открытыми исходны¬ ми текстами.
Требования для использования Snort в Windows Snort для Windows требует Windows 2000 или X P ; на N T , 98 или 95 вы¬ полнение невозможно. Необходимы также установленные библиотеки WinPcap. Если они были установлены для программ, описанных ранее в этой книге, таких к а к Ethereal или WinDump, тогда все готово. В против ном случае м о ж н о взять их по адресу: netgroup-serv.polito.it/winpcap Вам может также потребоваться база данных M y S Q L , если вы п л а н и руете импортировать результаты в базу данных. Конкретная конфигура ц и я M y S Q L для этой цели описана в главе 8. Для того чтобы Snort для Windows демонстрировал ту ж е производи тельность, что и U N I X - в е р с и я , понадобится более м о щ н а я аппаратура,. М а ш и н а с процессором 700 МГц — это м и н и м у м , но лучше использовать процессор с частотой 1 ГГц и выше. Необходимо также убедиться, что сервер Windows хорошо з а щ и щ е н , на нем выполняется м и н и м у м серви¬ сов и удалены программы, активно использующие процессор, такие как IIS. Воспользуйтесь о к н о м Services из Administrative tools Панели управле¬ н и я , чтобы проверить, не запускается ли что-нибудь лишнее.
Установка Snort для Windows Чтобы установить Snort для Windows, возьмите бинарный файл с прилагаемого к книге компакт-диска или с сайта www.snort.org. Сделайте на н е м двойной щелчок м ы ш ь ю , и он автоматически установится. Вас спросят, нужна ли вам определенная база данных или дополнительные модули, такие как модуль гибкого реагирования.
Настройка Snort для Windows Процесс настройки версии Snort для Windows весьма схож с н а стройкой для U N I X . Все ф а й л ы конфигурации и правил находятся в тех ж е относительных подкаталогах. Войдите в файл snort.conf в подкаталоге etc установки Snort. И з м е н и т е и отредактируйте его, как предложено в разделе о U N I X - в е р с и и . Затем перейдите в ф а й л ы правил и произведите 284
Глава 7
Системы обнаружения вторжений
и з м е н е н и я там. После этого все будет готово к запуску Snort. Обратитесь к разделу «Запуск Snort» для U N I X , чтобы получить дополнительную и н ф о р м а ц и ю о п р и м е н е н и и Snort для Windows, так к а к все команды такие же. Дополнительные настройки и рекомендации п о р а з м е щ е н и ю — те ж е , что и для исходной U N I X - в е р с и и .
У г о л о к к о д и р о в щ и к о в Ф л э м и Теха: Написание индивидуальных правил Snort Хотя стандартные наборы правил, с которыми поставляется Snort, обеспечивают достаточную защиту от атак с известны¬ ми сигнатурами, м о ж н о создавать некоторые индивидуаль¬ н ы е правила, с п е ц и ф и ч н ы е для вашей сети, чтобы получить от системы обнаружения вторжений максимальную отдачу. Вы можете написать пра вила для: • Отслеживания входящего и исходящего доступа для определенных серверов. • Поиска определенных типов и л и и м е н файлов, с п е ц и ф и ч н ы х для вашей организации. • Наблюдения за определенными типами трафика, чужеродными для вашей сети. Научиться писать правила для Snort несложно; это позволит быстро нара¬ щивать функциональность программы даже п р и отсутствии обширных программистских знаний. К а к вы видели, все правила Snort являются просто текстовыми инструкциями в одном и з файлов правил. Если нужно, чтобы Snort обнаруживал некое особое поведение, которое в вашей сети будет считаться подозрительным, можно быстро закодировать правило и тут же протестировать это поведение. Правила Snort по сути пред ставляют собой одиночные текстовые строки, начинающиеся с действия (как правило — «alert»), за которым следует несколько аргументов. В новей шей версии (2.0 и выше) можно добавить несколько строк, просто помещая \ (обратную косую черту) в конце каждой строки, кроме последней. В более сложных случаях можно также вызывать другие программы, используя и н струкцию включения. Н о в своей базовой форме правило Snort имеет две части: заголовок и параметры. Ниже представлен пример правила. a l e r t t c p any any 192.168.0.0/24 \ (content:"|00 05 A4 6F 2E|";msg:"Test A l e r t " ; )
Заголовок является частью перед первой скобкой. Д а н н а я инструкция со¬ держит действие (в нашем случае — alert), протокол, а также адреса и п о р 285
Курс
Защитные средства с открытыми исходными текстами
ты отправителя и получателя. Действие будет выполняться, если заданное правилом условие истинно. В д а н н о м случае будет порождаться сигнал тревоги (alert). Другими вариантами действий служат Log, Pass, Activate и Dynamic. Log Pass Activate Dynamic
Просто протоколирует пакеты Игнорирует пакет. Это подразумеваемое действие для па кетов, не соответствующих правилу. Сигнал тревоги, затем активация динамического правила. Остается пассивным, пока не активируется д и н а м и ч е с к и м правилом, затем действует как log.
Протоколами могут быть tcp, udp, icmp или ip, что означает любой IPпротокол. (В будущем могут поддерживаться протоколы не на основе IP, такие как IPX). Исходный и целевой порты самоочевидны. Исходный ад¬ рес идет первым и задается в стандартной нотации с косой чертой для IPдиапазона. М о ж н о также перечислить несколько индивидуальных адре¬ сов и сетей, разделяя их запятой без пробелов и заключая в квадратные скобки, например: a l e r t t c p any <> [192.168.1.1,192.168.1.5,192.168.1.10] 80 \ (content:"|00 05 A4 6F 2E|";msg:"Test A l e r t " ; )
Эта инструкция ориентирована на трафик, приходящий из любых адре сов, н а п р а в л я ю щ и й с я на м а ш и н ы с адресами 192.168.1.1, 192.168.1.5 и 192.168.1.10 в порт 80. П р и условии, что это ваши Web-серверы, приведен¬ ное правило будет искать идущий туда трафик, который содержит указан¬ н ы е шестнадцатеричные д а н н ы е в разделе содержимого. Второй частью правила Snort служат о п ц и и , задающие дополнительные детали выявляемого трафика. М о ж н о искать по набору полей в заголовке T C P / I P (см. описания в главе 6) или по полезной нагрузке пакета. За ка¬ ждой опцией д о л ж н ы следовать кавычки и разыскиваемое значение. М о ж н о добавить несколько о п ц и й , разделяя их с п о м о щ ь ю точки с запя¬ той. Н и ж е приведены допустимые опции. msg logto ttl tos id ipoption
Предоставляет текстовое описание сигнала тревоги. Записывает пакет в заданный пользователем файл вместо стандартного выходного файла. Проверяет значение поля T T L в заголовке IP. Проверяет значение поля TOS в заголовке IP. Сравнивает значение поля идентификатора фрагмента в заголовке IP с указанной величиной. И щ е т поля опций IP с определенными кодами. 286
Глава 7
fragbits dsize flags seq ack itype icode icmpid icmpseq content content-list offset depth
nocase session rpc resp react
reference sid rev classtype priority uricontent
Системы обнаружения вторжений
Проверяет биты фрагментации в заголовке IP. Сравнивает размер полезной нагрузки пакета с указан¬ н ы м значением. Проверяет флаги T C P на соответствие определенным значениям. Сравнивает поле порядкового номера T C P с определен н ы м значением. Проверяет поле подтверждения T C P на соответствие о п ределенному значению. Проверяет поле типа I C M P на соответствие определен ному значению. Проверяет поле кода I C M P на соответствие определен ному значению. Проверяет поле E C H O I D I C M P на соответствие опреде ленному значению. Проверяет порядковый номер E C H O I C M P на соответст вие определенному значению. И щ е т определенный шаблон в полезной нагрузке пакета. И щ е т определенный набор шаблонов в полезной нагруз¬ ке пакета. М о д и ф и к а т о р для о п ц и и содержимого. Задает с м е щ е н и е для начала сопоставления с образцом. М о д и ф и к а т о р для о п ц и и содержимого. Устанавливает максимальную глубину поиска п р и сопоставлении с об¬ разцом. Сравнивает предыдущую цепочку содержимого без учета регистра символов. Вывод и н ф о р м а ц и и прикладного уровня для данного с е анса. Следит за сервисами R P C для выявления определенных вызовов приложений/процедур. Активный ответ. Закрывает соединение (например, раз рывая его). Активный ответ. Отвечает запрограммированным пове¬ дением (например, блокированием определенных Webсайтов). И д е н т и ф и к а т о р ы ссылок на в н е ш н и е атаки. Идентификатор правила Snort. Н о м е р версии правила. К л а с с и ф и к а ц и о н н ы й идентификатор правила. Идентификатор уровня серьезности правила. Сопоставление с образцом в части U R I пакета. 287
Курс
Защитные средства с открытыми исходными текстами
tag ip proto sameip stateless regex byte test distance byte test byte_jump
Дополнительные действия по протоколированию для правил. Значение протокола в заголовке IP. Определяет, н е р а в н ы л и исходный и целевой IP-адреса. П р и м е н и м о независимо от состояния потока. Сопоставление с образцом с применением метасимволов. Числовое сравнение. Заставляет при относительном сопоставлении с образцом пропустить в пакете определенное число байт. Числовое сопоставление с образцом. Числовое сопоставление с образцом и корректировка смещения.
Более подробную и н ф о р м а ц и ю о каждой и з о п ц и й правил м о ж н о полу¬ чить в оперативной справке. Н и ж е представлены несколько примеров п р и м е н е н и я этих о п ц и й для создания индивидуальных правил Snort.
Пример 1 индивидуального правила Предположим, имеется набор бухгалтерских серверов, доступ к которым может осуществляться только и з внутренней сети. М о ж н о написать пра¬ вило Snort, реагирующее на трафик, идущий с любого н е принадлежаще¬ го вашей сети IP-адреса и направленный на эти серверы. Пусть бухгалтер ские серверы имеют IP-адреса 192.168.1.10, 192.168.1.11 и 192.168.1.12, а ваша внутренняя сеть — адреса 192.168.2.0/24. Тогда правило будет выгля¬ деть п р и м е р н о так: a l e r t t c p !192.168.1.0/24 any \ <> [192.168.1.10,192.168.1.11,192.168.1.12] any \ (msg:"nonbiTKa внешнего доступа к бухгалтерскому серверу";)
З н а к операции ! (восклицательный знак) обозначает логическое отрица¬ ние. Смысл правила в том, чтобы выдать сигнал тревоги п р и обнаруже¬ н и и TCP-трафика, идущего н е из сети 192.168.1.0/24 и направленного на указанные серверы. Н е задается никаких о п ц и й , кроме msg — метки, п о я в л я ю щ е й с я в журналах сигналов. Дело в том, что нас интересует любой т р а ф и к на любой порт. Будет отмечено любое обращение к бухгалтерским серверам, исходящее из внешнего мира, так к а к предполагается, что л ю бой в н е ш н и й т р а ф и к к этим серверам должен считаться вредоносным.
Пример 2 индивидуального правила Опираясь на сценарий из примера 1 предположим, что следует разрешить некоторый в н е ш н и й доступ к бухгалтерским серверам, н о , тем н е менее, гарантировать, что никто н е скопирует определенные файлы. Предполо288
Глава 7
Системы обнаружения вторжений
ж и м , что имеется файл с и м е н е м payroll.xls, который содержит все д а н н ы е о зарплате (совершенно секретный файл, к а к внутри, так и вне организа¬ ции). М о ж н о написать правило, которое проследит за л ю б ы м т р а ф и к о м , внутренним и л и в н е ш н и м , направленным на эти серверы и содержащим и м я секретного файла. Это м о ж н о сделать с п о м о щ ь ю опции content, осу ществляющей п о и с к в реальном содержимом пакетов. Правило будет в ы глядеть примерно так: a l e r t t c p ![192.168.1.10,192.168.1.11,192.168.1.12] any <> \ [192.168.1.10,192.168.1.11,192.168.1.12] any \ (content: "payron.xls";msg:"nonbn~Ka доступа к файлу зарплат";)
Отметим, ч т о з н а к операции ! снова означает, что нас интересует трафик, направленный на бухгалтерские серверы и з любого места, к р о м е этих серверов. Тем самым устраняется сигнализация о межсерверном трафике. Отметим также, ч т о символ \ позволяет писать многострочные правила, а о п ц и я content — осуществлять п о и с к текста payroll.xls в пакетах. В резуль¬ тате серверные м а ш и н ы могут иметь доступ в Интернет, н о если этот кон¬ кретный файл будет когда-либо выгружаться с них, в ы будете об этом оповещены. С п о м о щ ь ю других опций м о ж н о писать правила для выявления трафика практически любого вида. Если ваши правила могут представлять интерес для других организаций, стоит послать их разработчикам Snort для встав ки в о ф и ц и а л ь н ы й набор распространяемых правил. Если вы решите это сделать, постарайтесь использовать все средства документирования, та¬ к и е к а к msg, sid, rev, classtype и priority. Также тщательно протестируйте свои правила, чтобы гарантировать, что о н и действительно охватывают все виды активности, которую вы пытаетесь поймать, и н е дают ложных срабатываний.
Хостовые системы обнаружения вторжений М ы уделили много в н и м а н и я сетевым системам обнаружения втор ж е н и й . Однако имеются и другие методы выявления п о п ы т о к вторжения. Один и з них — искать признаки вторжения в самой системе. Если м а ш и на скомпрометирована, то зачастую оказываются и з м е н е н н ы м и опреде¬ л е н н ы е системные файлы. Н а п р и м е р , может быть м о д и ф и ц и р о в а н файл паролей, добавлены пользователи, и з м е н е н ы системные конфигурацион¬ н ы е ф а й л ы или р е ж и м ы доступа к файлам. Обычно эти системные ф а й л ы не д о л ж н ы существенно меняться. Просматривая внесенные в них изме н е н и я , м о ж н о обнаружить вторжение или другую нетипичную актив¬ ность. 289
Курс
Защитные средства с открытыми исходными текстами
Этот метод обнаружения вторжений может быть значительно более т о ч н ы м , генерирующим м е н ь ш е ложных срабатываний, так как тревога поднимается только тогда, когда система на самом деле подверглась опре¬ деленному воздействию. Правда, д а н н ы й подход несколько сложнее про¬ водить в ж и з н ь , так как требуется загрузить программное обеспечение на все з а щ и щ а е м ы е системы, но поддержание безопасности критически важных систем с п о м о щ ь ю как хостовых, так и сетевых средств обнаруже¬ н и я вторжений стоит затраченных сил и времени.
Преимущества хостовых методов обнаружения вторжений • М е н ь ш е е число ложных срабатываний • Отслеживается активность, а не сигнатуры, поэтому не требуется постоянное обновление сигнатур • Менее подвержены обману • Требуют м е н ь ш е обслуживания и настройки
Недостатки хостовых методов обнаружения вторжений • Необходимость загрузки и управления программным обеспечени¬ ем на каждой защищаемой м а ш и н е • Сигналы тревоги поступают после успешной атаки; сетевые системы обнаружения вторжений обеспечивают иногда более раннее преду¬ преждение. Tripwire: Программа проверки целостности файлов Tripwire Автор/основной контакт: Web-сайт: Платформы: Лицензия: Рассматриваемая версия:
Dr. Eugene Spafford и Gene Kim www.tripwire.org Большинство UNIX GPL V 2.3.47
Tripwire может служить е щ е о д н и м п р е к р а с н ы м п р и м е р о м п р о г р а м м н о г о о б е с п е ч е н и я с о т к р ы т ы м и и с х о д н ы м и т е к с т а м и , совершив¬ ш е г о переход на к о м м е р ч е с к у ю платформу. П е р в о н а ч а л ь н о Tripwire была в ч и с т о м виде п р о г р а м м о й с о т к р ы т ы м и и с х о д н ы м и т е к с т а м и . Со в р е м е н е м о с н о в а т е л и о р г а н и з о в а л и к о м п а н и ю для п р о д а ж и и под¬ д е р ж к и Tripwire на к о м м е р ч е с к о й о с н о в е , о д н а к о и с х о д н ы й б а з о в ы й к о д о н и выпустили п о д л и ц е н з и е й G P L , ч т о б ы р а з р а б о т к а могла п р о д о л ж а т ь с я в с о о б щ е с т в е о т к р ы т о г о П О . Текущая о т к р ы т а я в е р с и я 2.3 290
Глава 7
Системы обнаружения вторжений
была получена путем о б н о в л е н и я в е р с и и 2.2.1, в ы п у щ е н н о й в о к т я б р е 2000 года. Имеются существенные различия между коммерческой и открытой версиями. Самые значительные из них — поддержка коммерческой версией большего числа платформ и ее закрытость. Версия с открытыми исходными текстами в настоящее время доступна только для Linux, в то время как ком мерческая — на нескольких платформах, включая Windows. Еще одно раз личие состоит в том, что коммерческая версия поставляется с программой, называемой twagent, которая служит для управления несколькими установ ками Tripwire. Коммерческая версия имеет также прекрасный графический интерфейс для управления базами данных и конфигурациями. Обе версии Tripwire работают, создавая базу данных эталонных атри бутов важных файлов, которые предполагается отслеживать, поэтому в любое время м о ж н о сравнить текущие атрибуты с эталонными, чтобы уз нать, изменилось ли что-нибудь. Это хорошо подходит для отслеживания системных бинарных файлов. Один из любимых приемов хакеров при п р о н и к н о в е н и и в систему состоит в замене ключевых бинарных файлов собственными троянскими версиями. Таким образом, когда вы выполня¬ ете команду типа ls или ps, вы не увидите нелегальные ф а й л ы или процес¬ сы. Tripwire м о ж н о также применять во время судебного разбирательства, чтобы определить, где был взломщик; это напоминает исследование циф¬ ровых отпечатков.
Установка Tripwire 1. Чтобы установить Tripwire, возьмите ф а й л ы с компакт-диска или загрузите R P M или tar с Web-сайта Tripwire для к о м п и л я ц и и ис¬ ходных текстов. Для некоторых дистрибутивов существуют также доступные R P M ( R P M для Mandrake и RedHat п о м е щ е н ы на компакт-диск). Просто щелкните м ы ш ь ю на файле R P M , чтобы установить про¬ грамму. Если у вас нет R P M для вашей операционной системы, то м о ж н о загрузить файл .tar с исходными текстами (или «tarball», как его часто называют) для последующей к о м п и л я ц и и . Распакуй те tar-файл и перейдите в каталог src. 2. В каталоге src наберите: make a l l
Программа Tripwire будет скомпилирована и подготовлена для дальнейшего конфигурирования. 3. Откройте файл install.cfg и проверьте, что все подразумеваемые значения подходят для вашей системы. Этот файл управляет мес291
Курс
Защитные средства с открытыми исходными текстами
том установки файлов программы и другими переменными сис¬ темного уровня. Большинство подразумеваемых значений годятся для большинства систем. Проверьте, что ваш почтовый клиент за¬ дан правильно. 4. После установки переменных окружения перейдите в каталог /etc/tripwire и наберите t w i n n s t a l l . sh. Будет выдано л и ц е н з и о н н о е соглашение. Необходимо ввести accept, и затем к о м а н д н ы й файл установки скопирует ф а й л ы в предназначенные для них места и предложит ввести пароли для сайта и локального входа. Эти пароли будут использоваться для разблокирования базы данных Tripwire, поэтому они очень важны. Выбор сильных паролей и сохранение их в надежном месте — важный момент, так к а к с их п о м о щ ь ю будет проводиться ш и ф р о вание базы данных и конфигурационных файлов. Предохраняйте их от компрометации. Если вы их потеряете или забудете, то в кри¬ тическую минуту не сможете использовать Tripwire. На этом процесс установки Tripwire завершается.
Конфигурирование Tripwire Заключительным шагом, предшествующим запуску Tripwire, служит задание вашей п о л и т и к и . Ф а й л п о л и т и к и очень важен для работы Tripwire: в нем специфицируются отслеживаемые ф а й л ы и уровень дета лизации. Основной файл политики, twpol.txt, находится в главном ката логе Tripwire. Строго говоря, это не сам файл политики, а к о п и я зашиф¬ рованной версии, которую в действительности использует программа. Для большей безопасности необходимо сделать к о п и ю и удалить неза ш и ф р о в а н н у ю версию twpol.txt, после того как вы определите и протести¬ руете свою политику. В начале файла политики задано несколько системных переменных, а затем следует список различных файлов и каталогов с директивами по¬ литики для них. Эти директивы представлены либо кодовыми буквами, либо именами переменных. О н и называются масками свойств и задают свойства, отслеживаемые Tripwire. В табл. 7.4 перечислены элементы, к о торые могут отслеживаться для каждого файла, и их кодовые буквы. Табл. 7.4. Маски свойств Tripwire Буква кода a b с
Отслеживаемый атрибут Время последнего доступа Отведенные блоки Время с о з д а н и я / и з м е н е н и я 292
Глава 7 d g i l m n P s t u C H M S
Системы обнаружения вторжений Идентификатор устройства, на котором располагается описатель файла Идентификатор владеющей группы файла Н о м е р описателя файла Разрешен ли рост файла Метка времени изменения Значение счетчика ссылок в описателе файла Режим доступа к файлу Размер файла Тип файла Идентификатор пользователя владельца файла Хэш-код CRC32 Х э ш - к о д Haval Хэш-код M D 5 Хэш-код SHA/SHS
П о л и т и к и Tripwire действуют по п р и н ц и п у флагов игнорирования. М о ж н о сконфигурировать TriPwire для отслеживания или игнорированияя различных свойств файлов. З н а к + (плюс) используется для отслежива н и я свойств, а знак — (минус) — для их игнорирования. Формат инструк ц и й в файле политики таков: имя_файла/каталога -> маска_свойств;
Н а п р и м е р , следующая строка в файле политики: / e t c / s e c r e t f i l e . t x t -> +amcpstu;
предписывает Tripwire извещать вас всякий раз, когда у файла secretfile.txt в каталоге /etc изменяются время последнего доступа, время создания или м о д и ф и к а ц и и , режим доступа, владелец, размер или тип файла. Существует также несколько предопределенных масок свойств. В табл. 7.5 перечислены эти стандартные маски и их действие. Предопределенные переменные соответствуют поведению различных наборов файлов. Например, можно использовать $Readonly для ключевых конфигурационных файлов, так как время доступа будет изменяться, когда программы их используют, но вы не желаете, чтобы изменялись размер или содержимое. М о ж н о использовать $Growing для файлов журналов, так как они будут (во всяком случае, должны) постоянно увеличиваться в размере. В к о н ф и г у р а ц и о н н о м файле политики определяется также несколь¬ ко переменных, которые являются к о м б и н а ц и я м и упомянутых в ы ш е пре¬ допределенных переменных с некоторыми добавлениями или исключе¬ н и я м и и позволяют быстро задавать политики для различных классов файлов. И х м о ж н о немного изменить, если вы хотите проигнорировать 293
Курс
Защитные средства с открытыми исходными текстами
или исследовать дополнительные моменты. Эти переменные из файла политики показаны на листинге 7.3. Табл. 7.5. Стандартные маски свойств Маска свойств $Readonly $Dynamic $Growing $Device $IgnoreAll $IgnoreNone
Действие +pinugtsdbmCM-rlaSH +pinugtd-srlbamcCMSH +pinugtdl-srbamcCMSH +pugsdr-intlbamcCMSH -pinugtsdrlbamcCMSH +pinugtsdrrlbamcCMSH
Листинг 7.3. П е р е м е н н ы е масок свойств SEC_CRIT = $(IgnoreNone)-SHa ; SEC_SUID = $(IgnoreNone)-SHa ; SEC_BIN = $(ReadOnly) ; SEC_CONFIG = $(Dynamic) ;
SEC_LOG = $(Growing) ;
SEC_INVARIANT = +tpug ;
SIG_LOW = 33 ;
SIG_M ED = 66 ;
SIG_HI = 100 ;
# # # # # # # # # # # # # # # # # # # # # # # #
Критичные файлы, которые не могут изменяться Бинарные файлы с установленными флагами SUID или SGID Бинарные файлы, которые не должны изменяться Конфигурационные файлы, которые редко изменяются, но часто используются Файлы, которые увеличиваются, но никогда не должны мен ть владельца Каталоги, у которых никогда не должны измен тьс режим доступа или владелец Некритичные файлы, которые имеют минимальное вли ние на безопасность Некритичные файлы, которые имеют значительное вли ние на безопасность Критичные файлы, которые являются существенными точками у звимости
Ниже масок свойств заданы политики для различных файлов и катало¬ гов в системе. Можно начать с подразумеваемого файла политики и посмот¬ реть, как он работает для вашей системы. Найдите время для внимательного 294
Глава 7
Системы обнаружения вторжений
изучения файла, чтобы знать, какие файлы отслеживаются. Когда вы будете удовлетворены, сохраните файл и выйдите. Все готово к запуску Tripwire.
Инициализация эталонной базы данных Первым шагом при в ы п о л н е н и и Tripwire является формирование эталонной базы данных. Создается начальный список сигнатур, согласно которым будут применяться политики. П о м н и т е , что в ы п о л н е н и е этого шага после того, как в системе появились подозрительные ф а й л ы , н и к ч е му хорошему не приведет; необходимо создать эталонную базу данных до того, к а к появятся какие-либо проблемы с безопасностью, лучше всего сразу после установки и конфигурирования системы. Чтобы создать на¬ чальный файл базы данных, используйте команду t r i p w i r e -m i -v
К л ю ч -m определяет режим в ы п о л н е н и я , в д а н н о м случае i означает и н и ц и а л и з а ц и ю . К л ю ч -v задает р а с ш и р е н н ы й вывод, чтобы м о ж н о было посмотреть, что происходит. Tripwire определяет все ф а й л ы , заданные в файле политики, создает базу данных в каталоге ./database и шифрует ее с п о м о щ ь ю пароля сайта. Чтобы по-настоящему обезопасить Tripwire, необходимо сделать ко¬ пию эталонной базы данных на некотором защищенном несетевом носите¬ ле информации — флоппи-диске, компакт-диске или магнитной ленте. Ес¬ ли вы будете хранить копию в сети, всегда будет существовать возможность ее изменения, хотя Tripwire и имеет от этого некоторые средства защиты.
Проверка целостности файлов Это основной режим в ы п о л н е н и я программы Tripwire после ввода в эксплуатацию. В этом режиме текущие атрибуты определенных файлов сравниваются с атрибутами в базе данных Tripwire. Формат запуска в этом режиме таков: t r i p w i r e -m c маршрутное_имя
Задается маршрутное и м я файла или каталогов, которые вы хотите контролировать. Эта команда будет проверять атрибуты файла согласно с п е ц и ф и к а ц и я м файла политики и выдавать отчет обо всех изменениях.
Обновление базы данных П о мере уточнения политики и при существенных изменениях сис¬ темы необходимо обновлять базу данных, чтобы она отражала реальное 295
Курс
Защитные средства с открытыми исходными текстами
состояние файлов. Это важно, так к а к в базу данных не только будут до¬ бавляться новые ф а й л ы и каталоги, но и исключаться л о ж н ы е срабатыва¬ ния. Не обновляйте базу данных, если есть вероятность, что ваша система была скомпрометирована. В этом случае сигнатуры станут недействи¬ тельными, а база данных Tripwire бесполезной. М о ж н о обновить катало¬ ги выборочно; в к о н ц е к о н ц о в , некоторые вещи, например системные бинарные файлы, будут изменяться редко. База данных Tripwire обновля¬ ется с п о м о щ ь ю следующей команды: t r i p w i r e -m u - r маршрутное_имя_отчета
Здесь маршрутное_имя_отчета соответствует самому свежему файлу от¬ чета. Выполнение этой команды покажет все произошедшие и з м е н е н и я , а также правила, их обнаружившие. Рядом с ф а й л а м и , в которых обнару¬ жились и з м е н е н и я , будет присутствовать знак x в квадратных скобках. Если оставить x на месте, то Tripwire обновит сигнатуру для этого файла, когда вы закончите работу с отчетом. Если удалить x, то Tripwire будет предполагать, что исходная сигнатура правильна и не будет ее обновлять. П р и выходе Tripwire внесет изменения. М о ж н о задать ключ -c в команд¬ ной строке, чтобы пропустить предварительный просмотр отчета. В этом случае Tripwire просто учтет обнаруженные изменения.
Обновление файла политики Со временем вы поймете, какие правила порождают л о ж н ы е сигна¬ лы, и пожелаете удалить их, изменить в них маски свойств или уточнить маски для некоторых файлов. Внесите и з м е н е н и я в файл политики Tripwire, сохраните его, а затем выполните следующую команду, чтобы Tripwire обновил файл политики: t r i p w i r e -m p текстовый_файл_политики
указав новый файл политики. Прежде чем обновить политику, Tripwire запросит у вас пароли для сайта и локального входа. Когда политики Tripwire будут настроены в достаточной степени, можно будет создать зада¬ ние cron и выполнять его ежедневно (или так часто, как захотите), чтобы проверять файловые системы в поисках следов взлома.
296
Глава 8
Средства анализа и управления
Глава 8. С р е д с т в а а н а л и з а и у п р а в л е н и я Рассматривавшиеся до сих пор средства предоставляют много полез¬ ной и н ф о р м а ц и и , которая может помочь в решении проблем сетевой без¬ опасности. Н о эти замечательные программы сами создают проблему — иногда они порождают слишком много информации. Одно-единственное сканирование большой сети с п о м о щ ь ю Nessus способно породить отчет длиной в сотни страниц. Активный сенсор Snort может выдавать тысячи сигналов в день. Даже с к р о м н ы й межсетевой экран в состоянии посылать записи в журнал каждый час. Отслеживание всей этой защитной инфор¬ мации способно занять весь рабочий день. На самом деле, в крупных орга¬ низациях нередко требуется небольшая группа сотрудников исключитель¬ но для отслеживания и анализа данных системы безопасности. С многочисленными д а н н ы м и , которые порождают защитные сред¬ ства, очень легко перейти от неинформированности, когда ситуация с без¬ опасностью покрыта «мраком неизвестности» (что очень плохо), к пере груженности информацией (что, возможно, еще хуже). У системного ад министратора может возникнуть состояние «аналитического паралича» — ощущение беспомощности, когда просто не я с н о , с чего начать. Перегру¬ ж е н н ы е технические специалисты зачастую вообще отказываются от дей¬ ствий или откладывают проблемы безопасности на потом, когда появитсяя время, чтобы с н и м и разобраться.
Обзор главы Изучаемые концепции: • Управление ф а й л а м и журналов серверов • Использование баз данных и Web-серверов для защитных дан¬ ных • Анализ данных систем обнаружения вторжений • Управление д а н н ы м и сканирования уязвимостей • Эксплуатация системы управления сканированием уязвимостей Используемые инструменты: Swatch, A C I D , N P I и N C C Чтобы избежать о п и с а н н о й ситуации, требуются средства, способ¬ н ы е помочь организовать з а щ и т н ы е д а н н ы е и определить приоритеты действий. В этом о т н о ш е н и и полезны многие коммерческие пакеты, та¬ к и е к а к H P OpenView, B M C NetPatrol и NetIQ. К счастью для организаций с небольшим бюджетом, имеется несколько прекрасных пакетов с откры¬ т ы м и исходными текстами.
297
Курс
Защитные средства с открытыми исходными текстами
Хотя эти приложения с открытыми исходными текстами, строго го¬ воря, н е являются средствами безопасности, т а к к а к о н и активно н е оп¬ рашивают и н е защищают м а ш и н ы в сети, о н и во всех отношениях н е ме¬ нее важны, ч е м сетевые сканеры и системы обнаружения вторжений. Де¬ ло в том, что если в ы за деревьями н е видите леса, то ваше положение ни¬ чем н е лучше, ч е м раньше, когда защитных средств у вас н е было. Одним из примеров проблемы при анализе защитных данных служат журналы сообщений сервера. Большинство серверов, к а к U N I X , т а к и Windows, поддерживают журналы различной активности, происходящей в системе. Большая часть этой активности, такая к а к запуск служб, доступ пользователей и т.д., безвредна. Linux, например, поддерживает систем¬ н ы е журналы в каталоге /var/log. Обычно имеется два общих журнала — syslog и messages — а также несколько других, более специальных. В этих текстовых файлах отражается все, что происходит в системе. Н а листинге 8.1 показано типичное содержимое файла messages из Linux. Листинг 8.1. Ф а й л messages и з Linux Aug 17 04:02:06 e a r t h syslogd 1.4.1: r e s t a r t . Aug 18 21:07:57 earth sshd(pam_unix) [17904]: s e s s i o n opened f o r user j o i n by (u id=502) Aug 18 21:12:39 earth su(pam_unix) [17960]: s e s s i o n opened f o r user root by john (uid=502) Aug 18 21:12:52 earth su(pam_unix) [17960]: s e s s i o n c l o s e d f o r user root Aug 18 21:13:44 earth sshd(pam_unix) [18008]: s e s s i o n opened f o r user j o i n by (u id=502) Aug 18 21:14:02 earth sshd(pam_unix) [18008]: s e s s i o n c l o s e d f o r user j o i n Aug 18 21:23:21 earth su(pam_unix) [18482]: s e s s i o n opened f o r user root by john (uid=502) Aug 18 21:24:12 earth su(pam_unix) [18482]: s e s s i o n c l o s e d f o r user root Aug 18 21:39:00 earth su(pam_unix) [10627]: s e s s i o n opened f o r user root by john (uid=502) Aug 18 21:44:57 earth h t t p d : httpd shutdown succeeded Aug 18 21:44:58 earth httpd: httpd: Could not determine the serv¬ e r ' s f u l l y q u a l i f i e d domain name, using 127.0.0.1 f o r ServerName Aug 18 21:45:00 e a r t h h t t p d : httpd s t a r t u p succeeded Aug 19 23:39:02 earth sshd(pam_unix) [13219]: a u t h e n t i c a t i o n f a i l u r e : logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=tayhou-tnt-9-216-40-228-250. i s p . n e t user=john 298
Глава 8 Aug 22 user Aug 22 user
Средства анализа и управленияя 10:31:14 earth sshd(pam_unix) [16205]: s e s s i o n opened f o r tony by (uid=500) 10:31:20 earth su(pam_unix) [16240]: s e s s i o n opened f o r root by tony (uid=500)
Эти сообщения могут оказаться полезными п р и отладке системы или устранении неисправностей после установки новой программы. М о ж н о видеть д а н н ы е для каждой программы или процесса, запускаемых в системе. Видно, когда возникают какие-либо проблемы. И з приведен¬ ного примера м о ж н о понять, что процесс httpd, Web-сервер, выключает¬ ся. Следующая строка показывает, что имеется проблема с д о м е н н ы м именем, заданным для сервера. В данном случае п о о ш и б к е в качестве и м е н и хоста был задан IP-адрес. Файлы журналов содержат также информацию, представляющую ин¬ терес с точки зрения безопасности. Некоторые виды активности нередко служат предвестниками атаки. Неудачные попытки входа могут быть од¬ н и м из таких признаков. Н а листинге 8.1 можно увидеть, что пользователю «john» было отказано во входе. Указано даже, откуда john пытался войти — с адреса, принадлежащего Isp.net. Если это была просто одиночная неудач ная попытка, и вы знаете, что «john» использует Isp.net, то можно, наверно, не беспокоиться. Вполне возможно, что john просто неправильно ввел па¬ роль. Однако, если вы видите несколько неудачных попыток входа, или эта единственная попытка предпринята с незнакомого адреса, то ситуацию следует проанализировать внимательнее. Другой сигнал неблагополучия — самопроизвольная перезагрузка сервера в необычное время. Это л и ш ь не¬ многие из протоколируемых событий, требующих вашего внимания. В идеале вы д о л ж н ы ежедневно просматривать все ф а й л ы журналов. К сожалению, большинство из нас н е имеют времени делать это даже р а з в неделю; некоторые вообще н е заглядывают в журналы. В этих файлах с л и ш к о м много и н ф о р м а ц и и , чтобы м о ж н о было легко найти действи¬ тельно важные данные. Было бы здорово иметь вспомогательную про¬ грамму, которая ищет подобные вещи и информирует, когда о н и появля¬ ются, чтобы м ы могли прореагировать своевременно, а н е через несколь¬ ко дней и л и недель. К счастью, имеется программа с открытыми исход¬ н ы м и текстами, которая и м е н н о это и делает. Swatch: Программа мониторинга журналов Swatch Автор/основной контакт: Web-сайт: Платформы:
Todd Atkins swatch.sourceforge.net/ Linux, большинство UNIX 299
Курс
Защитные средства с открытыми исходными текстами
Лицензия: Рассмотренная версия: Списки почтовой рассылки:
GPL 3.0.8 Swatch-announce
В основном для обновления версий и новых выпусков. Не принимает со общений. Подписка по адресу list.sourceforge.net/list/listinfo/swatch-announce. Swatch-users Для общих справок, вопросов и информации о разработке. Подписка по адресу list.sourceforge.net/list/listinfo/swatch-users. Разные люди расшифровывают название Swatch по-разному — как Simple watcher (простой наблюдатель) или как Syslog watcher (наблюда¬ тель syslog). В любом случае, Swatch — полезная программа, которая берет на себя наблюдение за системными журналами и поднимает тревогу толь¬ ко при появлении в них с п е ц и ф и ц и р о в а н н ы х вами записей. Swatch — это Perl-программа, регулярно просматривающая ф а й л ы основных журналов и отыскивающая определенные ключевые слова, которые вы можете за¬ давать. Она способна выполняться в ф о н о в о м режиме к а к демон или как задание cron. М о ж н о сконфигурировать Swatch для сигнализации о лю¬ бых событиях в файлах журналов messages и syslog, указывающих на про¬ блемы безопасности. Однако Swatch м о ж н о также применять для извеще н и я почти о любом виде активности: о запуске определенной программы, о входе определенного пользователя в систему или о других событиях, от¬ ражаемых в файле журнала. Swatch м о ж н о также сконфигурировать дляя наблюдения за журналами определенных приложений вместо подразуме¬ ваемых общих файлов журналов. Возвращаясь к п р и м е н е н и ю Swatch в целях безопасности, отметим, что некоторые протоколируемые события имеют к безопасности непо¬ средственное отношение. П о умолчанию Swatch отслеживает следующие события. • Неудачные п о п ы т к и входа. Критерии: В файле messages появляют¬ ся слова Invalid, Repeated или Incomplete. • Крах системы. Критерии: В файлах журналов появляются слова panic или halt. • Перезагрузка системы. Критерии: Заголовок вашей О С должен по¬ являться в файлах журналов только при перезагрузке. Вот некоторые другие связанные с безопасностью события, которые по вашему ж е л а н и ю может искать Swatch. • С о о б щ е н и я Snort или Nessus. Если вы записываете д а н н ы е Snort в файл syslog, то м о ж н о указать, чтобы Swatch искал вхождения сло300
Глава 8
Средства анализа и управленияя
ва snort. Оно будет появляться каждый раз, когда генерируется сиг¬ нал Snort. • П р и м е н е н и е текстового редактора. Это может указывать на то, что кто-то в вашей системе пытается внести изменения в конфигура¬ ц и о н н ы е файлы. К о н е ч н о , если в системе часто используется тек¬ стовый редактор, будет порождаться с л и ш к о м много ложных сра¬ батываний. • П р и м е н е н и е FTP, S S H или Telnet. Если кто-то загружает или вы¬ гружает ф а й л ы на вашей системе, это может означать проблему. Аналогично, если кто-то удаленно входит в систему, за этим необ¬ ходимо проследить. Однако, если вы сами часто так поступаете, то будет больше шума, чем пользы. Примечание: П о умолчанию программа Swatch сконфигурирована для поиска элементов, с п е ц и ф и ч н ы х для операционной системы Sun. Л и ш ь некоторые из них могут быть о б щ и м и для Linux и других операци¬ онных систем на основе U N I X . Н а п р и м е р , при поиске перезагрузки в си¬ стеме Mandrake Linux вам придется заменить аргументы поиска Sun OS Release на Linux Mandrake Release. Если вы используете другую О С , ука жите элементы из сообщения о перезагрузке вашей ОС. Ч т о б ы узнать текст сообщения, выполните перезагрузку, а затем найдите в файле mes¬ sages соответствующее специфическое словосочетание.
Установка Swatch 1. Для Swatch требуется Perl 5 или выше. Если вы используете новую установку Linux или B S D (не старше года), то у вас должна быть подходящая версия. 2. Для Swatch требуются также некоторые дополнительные подпро граммы для языка Perl: Date::Calc, Date::HiRes и Date::Format. Ес¬ ли у вас эти модули отсутствуют, процесс конфигурирования вы¬ даст соответствующие сообщения. Ч т о б ы получить модули, зай¬ дите на Web-сайт www.prmfind.net и посмотрите, нет ли там дос¬ тупного R P M для вашего дистрибутива. Если вы используете дистрибутив Linux, то высока вероят¬ ность, что R P M для установки этих модулей присутствует на дисках дистрибутива. Если у вас нет R P M для модулей Perl, то для загруз¬ ки требуемых модулей м о ж н о воспользоваться системой Comprehensive Perl Archive Network ( C P A N ) . (Система C P A N позво¬ ляет автоматически и без особых проблем загружать требуемые би¬ блиотеки Perl.) Чтобы сделать это, наберите следующую команду: cpan - i имя_модуля 301
Курс
Защитные средства с открытыми исходными текстами
где имя_модуля заменяется на Date: : Calc или тот модуль, кото¬ р ы й в ы пытаетесь загрузить. Проверьте, что и м я модуля задано правильно с учетом регистра символов и наберите оба двоеточия. Вам придется сделать это три раза — п о одному для каждого требу¬ емого модуля. Система C P A N позаботится о соединении с цент¬ ральными серверами C P A N , загрузке модуля и его установке. 3. Загрузите tar-файл с прилагаемого к книге компакт-диска или с Web-сайта Sourceforge и распакуйте его. 4. Так к а к Swatch является программой Perl, то процесс установки несколько и н о й п о сравнению с предыдущими программами на я з ы к е Си. Последовательность вводимых команд будет следую¬ щей: perl make make make make
M a k e f i l e . PL test install realclean
Когда эти процессы завершатся, Swatch будет установлен и готов к последующим действиям.
Конфигурирование и запуск Swatch Swatch — утилита командной строки, и запускается командой swatch с р а з л и ч н ы м и параметрами, о п и с а н н ы м и в табл. 8.1. Н а п р и м е р , команда ./swatch - - c o n f i g - f i l e /home/john/my-swatch-config --daemon
запустит Swatch с к о н ф и г у р а ц и о н н ы м файлом /home/john/my-swatchconfig вместо подразумеваемого. Программа будет выполняться к а к фо¬ н о в ы й процесс или демон. Эти о п ц и и могут задаваться п о отдельности или вместе. Табл. 8.1. О п ц и и команды Swatch Опция --config-file имя_ конфигурационногофайла --restart-time время
Описание Swatch запускается с указанным конфигураци¬ о н н ы м файлом. П о умолчанию используетсяя ./swatchrc. Swatch перезапускается в указанное время. Мож¬ но использовать знак +, чтобы программа переза¬ пустилась по истечении заданного времени с т е 302
Глава 8
--input-recordseparator регулярное_ выражение
--daemon
Средства анализа и управленияя
кущего момента. Это полезно, чтобы освежить и м е ю щ и й с я образ файла журнала. Эта опция предписывает Swatch применять регу¬ л я р н о е выражение для определения границ между записями и строками в файле журнала. П о умол¬ ч а н и ю используется возврат каретки, н о если в вашей операционной системе применяется что-то иное, м о ж н о указать это здесь. Swatch запускается к а к системный демон. Эквива¬ лентно запуску Swatch с ключом & (амперсанд).
Табл. 8.2. О п ц и и Swatch для файлов журналов --examine файл
--read-pipe программа --tail файл
Предписывает Swatch выполнить п о л н ы й про¬ смотр указанного файла. Применяется, когда проверяемый файл каждый раз создается заново. Вместо чтения файла м о ж н о заставить Swatch осуществлять ввод непосредственно и з канала от указанной программы. Читать только вновь добавленные в файл строки. Это подразумеваемый режим Swatch на файлах журналов, так к а к новые записи обычно добавля¬ ются в конец существующего файла. Это значи¬ тельно быстрее, чем каждый раз читать весь файл, особенно для журналов, которые могут достигать больших размеров, как, например, журнал Webсервера.
В табл. 8.2 описаны некоторые дополнительные о п ц и и , которые м о ж н о применять для управления чтением файлов журналов. В каждый момент времени допускается использование только одной из них. Напри¬ мер, команда ./swatch --examine messages --daemon
заставит Swatch п р и каждом запуске выполнять п о и с к во всем файле mes¬ sages, а н е только во вновь добавленных строках. Swatch обычно просматривает U N I X - ф а й л messages, а п р и отсутст¬ вии такового п о умолчанию читается syslog. П р и п о м о щ и ключей из табл. 8.2 м о ж н о заставить Swatch просматривать любые ф а й л ы журналов, на¬ пример, журналы безопасности или даже ф а й л ы журналов определенных приложений, такие к а к nessus.messages. 303
Курс
Защитные средства с открытыми исходными текстами
Конфигурационный файл Swatch В конфигурационном файле Swatch располагаются все важные на¬ стройки. В этом файле, именуемом п о умолчанию swatchrc, вы указывае¬ те программе, что искать в журналах и что делать в случае успешного по¬ иска. Два примера файлов swatchrc поставляются вместе с программой в каталоге examples. Ф а й л swatchrc.personal предназначен для примененияя на персональных рабочих станциях, а swatchrc.monitor — для мониторин¬ га сервера. Н а листинге 8.2 показано, к а к выглядит версия monitor. Листинг 8.2. К о н ф и г у р а ц и о н н ы й файл swatchrc.monitor
# Конфигурационный файл Swatch для постоянного мониторинга # # Неудачные попытки входа watchfor /INVALID|REPEATED|INCOMPLETE/ echo bell 3 exec " / u s r / l o c a l / s b i n / b a d l o g i n f i n g e r $ 0 " # Температура в машинном зале watchfor /WizMON/ echo i n v e r s e bell # Аварии и остановки машины watchfor / ( p a n i c | h a l t ) / echo bell mail exec " c a l l _ p a g e r 3667615 0911" # Перезагрузки системы watchfor /SunOS Release/ echo bell mail exec " c a l l _ p a g e r 3667615 0411"
К а к м о ж н о видеть и з листинга 8.2, базовый формат включает инст¬ рукцию watchfor, за которой следует текстовая инструкция между двумяя 304
Глава 8
Средства анализа и управленияя
к о с ы м и чертами, а затем одна и л и несколько команд действия. Текст ме¬ жду к о с ы м и чертами служит аргументом поиска, когда Swatch просматри¬ вает файл журнала (или его последние записи). В случае успешного поис¬ ка Swatch выполняет указанные далее действия. В табл. 8.3 описаны под¬ держиваемые Swatch инструкции действий. Табл. 8.3. Инструкции действий Swatch Инструкция действия echo режим
bell число
exec команда
pipe команда mail addresses=адресi: адрес2:адрес3,тЪ]вс1= текст
write пользователь 1: пользователь2
Описание Выдает и с к о м ы й текст на экран. Режим указы¬ вать н е обязательно; он задает цвет выводимо¬ го текста. П о умолчанию используется обыч¬ н ы й э к р а н н ы й цвет текста, н о м о ж н о также за¬ давать р е ж и м ы blink (мигание), bold (жирный), underline (подчеркнутый), inverse (инверсный) и цвета green, blue, red, yellow, black, magenta, cyan, white или любой из перечисленных вари¬ антов, за которым следует суффикс _ h для под свеченной цветной версии, например b l a c k h . Звуковой сигнал через внутренний д и н а м и к П К указанное число раз. П о умолчанию выда¬ ется один сигнал. Выполняет указанную команду. Полезно дляя вызова другой программы или командного файла с целью в ы п о л н е н и я различных дейст¬ вий, таких к а к отправка всплывающего сооб¬ щ е н и я S M B на определенную рабочую стан¬ цию. Эта о п ц и я существенно расширяет воз¬ можности Swatch. М о ж н о даже задать вызов командного файла, который будет предприни¬ мать дальнейшие действия согласно некото¬ р ы м условиям, с учетом того, что и м е н н о было найдено в файле журнала. Передает команду в другой процесс. Посылает электронное сообщение, используяя программу Sendmail п о одному или несколь¬ к и м адресам, разделенным двоеточием, с за¬ д а н н ы м текстом темы. Текст сигнала тревоги помещается в тело письма. Посылает сигнал посредством U N I X - к о м а н д ы write одному или нескольким пользователям.
305
Курс
Защитные средства с открытыми исходными текстами
throttle часы:минуты: секунды
Управляет тем, сколько раз за некоторый про¬ межуток времени посылается сигнал для одной инструкции watchfor. Это избавляет от получе¬ н и я десятков сообщений, если строка текста несколько раз появляется в файле журнала в пределах заданного временного окна.
К а к м о ж н о видеть, Swatch способен извещать вас об отмеченных протоколируемых событиях несколькими различными способами. Про¬ стейшим является подача звукового сигнала или вывод текста на экран. Если вы н е находитесь постоянно рядом с сервером, м о ж н о настроить программу для отправки электронных сообщений. Если ваш пейджер или сотовый телефон поддерживает обмен текстовыми с о о б щ е н и я м и по электронной почте, то вы сможете получать сообщения на своем устрой¬ стве. М о ж н о также написать к о м а н д н ы й файл, чтобы сервер набирал но¬ мер пейджера с п о м о щ ь ю U N I X - к о м а н д ы tip.
Использование баз данных и Web-серверов для управления защитными данными Раз уж вы в ы ш л и за р а м к и простой п р о в е р к и журналов серверов, вы захотите также иметь возможность анализировать выдачу программ безопасности, р а с с м о т р е н н ы х ранее. Л у ч ш и й способ сделать это — им¬ портировать результаты в базу данных. Средства, о п и с а н н ы е в остав¬ ш е й с я части д а н н о й главы, п р е д н а з н а ч е н ы д л я импорта и просмотра за¬ щ и т н ы х д а н н ы х в БД. Д л я п р и м е н е н и я этих средств требуются п р о г р а м ма базы д а н н ы х и Web-сервер д л я просмотра результатов. Хотя имеются и другие в о з м о ж н о с т и , м ы рекомендуем использовать базу д а н н ы х M y S Q L и Web-сервер Apache с поддержкой P H P . Необходимо настроить эти п р о г р а м м ы , прежде ч е м устанавливать л ю б о е и з о п и с ы в а е м ы х средств. Далее кратко о п и с а н а установка и к о н ф и г у р и р о в а н и е упомяну¬ тых базовых серверов.
Настройка сервера MySQL M y S Q L я в л я е т с я базой д а н н ы х н а о с н о в е S Q L с о т к р ы т ы м и исход¬ н ы м и текстами, заслужившей п р и з н а н и е к о р п о р а т и в н о г о мира за свою м о щ ь и гибкость. Хотя эта к н и г а н е п р е д н а з н а ч е н а д л я обучения всем т о н к о с т я м п р и м е н е н и я M y S Q L , следующая процедура п о м о ж е т на¬ строить и в ы п о л н и т ь н е к о т о р ы е о с н о в н ы е а д м и н и с т р а т и в н ы е задачи на базе д а н н ы х M y S Q L , чтобы м о ж н о было использовать средства ана¬ лиза. 306
Глава 8
Средства анализа и управления
1. Загрузите самую свежую версию M y S Q L с сайта www.mysql.com или используйте R P M с дистрибутивных д и с к о в вашей О С . Про¬ верьте, что версия M y S Q L не н и ж е 4.0. Примечание: Если у вас уже имеется установленная база дан¬ ных M y S Q L версии 4.0 или выше, перейдите к шагу 4. 2. Распакуйте файл и выполните обычные команды к о м п и л я ц и и в созданном каталоге: ./configure make make i n s t a l l
3. Выполните к о м а н д н ы й файл установки, расположенный в ката¬ логе scripts, набрав: mysql_install_db
Программа базы данных будет инициализирована и подгото¬ влена к работе. 4. Создайте пользователя и группу mysql для базы данных, от и м е н и которых будут выполняться задачи. Для этого следует набрать ко¬ манды: groupadd mysql useradd -g mysql mysql
5. Чтобы M y S Q L могла функционировать, задайте владельца и ре¬ ж и м доступа файла с п о м о щ ь ю следующих команд: chown -R root / u s r / l o c a l / m y s q l chown -R mysql / u s r / l o c a l / m y s q l . v a r chgrp -R mysql / u s r / l o c a l / m y s q l cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
6. Откройте в редакторе файл /etc/ld.so.conf и добавьте в него следу¬ ю щ и е строки: /usr/local/mysql/lib/mysql /usr/local/lib
7. Сохраните файл. 8. От и м е н и пользователя root введите: l d c o n f i g -v
9. От и м е н и пользователя root задайте пользователя admin для базы данных M y S Q L , набрав: /usr/local/mysql/bin/mysqladmin -u root password 123456 307
Курс
Защитные средства с открытыми исходными текстами
где 123456 надо заменить в ы б р а н н ы м вами паролем. Н е забудьте записать пароль и сохранить его в безопасном месте. Когда вы это сделаете, вернитесь под свое обычное входное и м я , набрав «exit» в командной строке. 10. М о ж н о настроить M y S Q L для запуска в качестве демона, чтобы БД выполнялась все время, и н е надо было запускать ее вручную. Для этого достаточно поместить следующую строку в к о н ц е фай¬ ла rc.local, находящегося в /etc/rc.d/. mysqld -user=mysql &
Эта команда будет запускать M y S Q L к а к системный про¬ цесс п р и каждой перезагрузке системы. 11. Н а к о н е ц , необходимо повысить защищенность M y S Q L , чтобы БД н е стала дырой в безопасности вашей системы. П о умолча¬ н и ю защищенность M y S Q L весьма слаба. Хотя безопасность M y S Q L н е является темой данной книги, н и ж е представлено не¬ сколько советов, которыми м о ж н о воспользоваться. • Удалите стандартных пользователей, если только у вас нет программ, которые их используют. • Проверьте, что пользователь root может подключатьсяя только с небольшого числа хостов. • Задайте несколько правил на межсетевом экране, разре¬ ш а ю щ и х соединение с сервером M y S Q L только ограни¬ ченному числу портов с ограниченного числа м а ш и н . • Создайте системные счета для запуска программ. Систем¬ н ы й счет root или счет M y S Q L root (это две разные вещи) используйте только в случае крайней необходимости (к сожалению, N P I этого требует). Д а н н а я глава включает п р и м е р ы специальных счетов приложений для создания в каждом пакете описания везде, где это возможно. Теперь сервер M y S Q L готов к работе. Наберите mysql в командной строке ОС. Появится приглашение для ввода и м е н и пользователя и паро¬ ля, чтобы войти в стандартную командную строку M y S Q L , где м о ж н о применять стандартные команды S Q L к базам данных M y S Q L . См. врез¬ ку о некоторых основных командах M y S Q L .
Основные команды MySQL Чтобы войти в MySQL, наберите mysql -u имя_пользователя -p пароль, заменяя имя_пользователя и пароль соответствующими именем и паролем одного из счетов базы данных MySQL. 308
Глава 8
Средства анализа и управленияя
Примечание: Это не то же самое, что вход в систему. В данном случае вы входите в MySQL и получаете приглашение mysql>, после которого мож но набирать команды. Не забывайте ставить в конце команды точку с запя той, прежде чем нажать клавишу ввода для ее выполнения. Ниже представлено несколько основных команд для навигации и поис ка в базе данных MySQL. Отображает все доступные на сервере MySQL базы данных. use имя_базы_данных; Делает указанную базу данных активной, после чего над ней можно выполнять операции. show t a b l e s ; Перечисляет все таблицы, существующие в базе данных. s e l e c t запрос from Выдает записи, соответствующие заданному имя_таблицы; запросу в таблице с указанным именем. Имеется show d a t a b a s e s ;
ряд операндов, которые можно использовать в ин¬ струкции запроса. Звездочка * в качестве запроса приведет к выводу всех записей таблицы.
Настройка Web-сервера Apache Развитые средства анализа из данной главы основаны на примене¬ н и и Web-сервера в качестве к а к интерфейса конфигурирования, так и ме¬ ханизма вывода. К о н е ч н о , этот краткий раздел н е претендует на исчерпы¬ вающее описание Web-сервера; здесь рассмотрены только настройка и другие действия, требуемые для использования средств безопасности. Е с ли вы намерены применять этот сервер для чего-то еще, п о м и м о A C I D и N C C , или в крупномасштабных средах, вам необходимо более глубоко о з накомиться с администрированием Web-сервера. п р и использовании Web-сервера следует учитывать вопросы безопасности — необходимо по¬ заботиться о том, чтобы серверы были укреплены, выполняли м и н и м у м сервисов и п о возможности быстро латались. Если вы желаете применять IIS или другой Web-сервер, то он должен поддерживать P H P версии 4.0 или выше. 1. Загрузите самую свежую в е р с и ю сервера Apache с сайта www.apache.org. Если он есть на дистрибутивных дисках О С или уже установлен в системе, проверьте, что его версия н е н и ж е 1.3. Примечание: Если сервер Apache версии 1.3 или более позд¬ ней уже установлен, перейдите к шагу 3. 2. Распакуйте программу и выполните следующие команды: 309
Курс
Защитные средства с открытыми исходными текстами . / c o n f i g u r e -prefix=/www -enable-so ules/php4/libphp4.a make make i n s t a l l
-activate-module=src/mod-
Эти команды задают подразумеваемый каталог /www и акти¬ визируют нужные модули. 3. Запустите Web-сервер, набрав в командной строке apachectl s t a r t . Эта команда запускает демон http и настраивает его для выполне¬ н и я в качестве системного процесса. М о ж н о остановить Apache в любой момент, в ы п о л н и в ту же команду с аргументом stop. В других вариантах Linux и U N I X запуск и остановка могут осуществляться по-другому. Уточните в документации, как это де¬ лается. 4. Проверьте установку Web-сервера, открывая Web-навигатор и вво дя IP-адрес сервера или задавая localhost, если вы работаете прямо на серверной м а ш и н е . Если будет выведена Web-страница Apache, то Web-сервер успешно установлен. К о р н е в ы м каталогом Webсервера, в который помещают документы для публичного просмо¬ тра, в системе Mandrake Linux служит /usr/local/apache2/htdocs/; различные дистрибутивы могут немного различаться. 5. Затем задайте автоматический запуск Apache при перезагрузке си¬ стемы (вряд ли вы захотите перезапускать Web-сервер вручную). Для этого перейдите в каталог, где находятся все стартовые ко¬ мандные файлы; в Mandrake Linux это /etc/rc.d. Каждый файл rc. представляет свой уровень в ы п о л н е н и я . Добавьте следующие строки в ф а й л ы rc4.d и rc5.d: . . / i n i t . d / h t t p d S85httpd . . / i n i t . d / h t t p d K85httpd
М о ж н о протестировать внесенные и з м е н е н и я , перезагрузив систему и проверив, что в выдаче команды ps -ax присутствует процесс httpd. 6. Необходимо повысить защищенность Apache, чтобы предотвра¬ тить его ненадлежащее использование. Web-серверы — одна из наиболее распространенных целей атакующих, поэтому если вы собираетесь разрешить доступ к этой м а ш и н е извне вашей сети, требуется обеспечить ее безопасность. Н и ж е представлены неко¬ торые основные рекомендации по обеспечению хорошей безопас¬ ности Web-сервера. • Выполните сканирование уязвимостей Web-сервера сразу после завершения установки и конфигурирования, чтобы 310
Глава 8
Средства анализа и управленияя
убедиться, что все корректирующие заплаты наложены и от¬ сутствуют какие-либо очевидные д ы р ы в безопасности. • Защитите все непубличные Web-каталоги с п о м о щ ь ю како¬ го-либо метода контроля доступа. С а м ы м быстрым и легким способом является п р и м е н е н и е файлов .htaccess. • Ш и ф р у й т е к о м м у н и к а ц и и между клиентами и сервером с п о м о щ ь ю S S L всякий раз, когда имеете дело с и н ф о р м а ц и е й ограниченного доступа (данные о безопасности я в н о попа¬ дают в эту категорию). Если вы обращаетесь к серверу извне своей локальной сети, то есть через Интернет, справьтесь в документации Web-сервера или в Интернет о необходимых настройках. Вышеизложенное н е является исчерпывающим рассмотрением про¬ блем безопасности Web-серверов, н о все это необходимо выполнить, пре¬ жде ч е м делать сервер общедоступным.
Настройка PHP P H P является интерпретируемым я з ы к о м , предназначенным для ис¬ пользования в Web-страницах. О н н е требует к о м п и л я ц и и , поэтому мож но просто поместить PHP-процедуру в каталог, который распознает P H P , и она будет выполняться п р и обращении. Это упрощает н а п и с а н и е про¬ грамм, встроенных в Web-страницы. Большинство современных Web-серверов распознают P H P , однако для этого может потребоваться дополни¬ тельная настройка п р и установке. В силу перечисленных достоинств P H P стал предпочтительным язы¬ ком реализации многих приложений на Web-платформе. О н потребуется н а м для трех оставшихся средств этой главы ( A C I D , N P I и N C C ) . Уста¬ новка P H P должна быть предусмотрена в директиве configure в описанной в ы ш е процедуре установки Apache. Ч т о б ы проверить, что P H P установ¬ лен в вашей системе, и узнать, какова его версия, наберите в командной строке php -v. Если о н присутствует, то должна появиться некоторая вы¬ дача с номером версии. Однако если вы н е смогли установить его к а к часть Apache или хотите установить самую свежую версию, примените представленную н и ж е процедуру. 1. Загрузите самую свежую версию P H P с сайта www.php.net или и с пользуйте R P M с установочных дисков операционной системы. В последнем случае проверьте, что у вас версия 4.0 или выше. 2. Распакуйте дистрибутив. 3. В каталоге установки выполните следующие команды компиляции: 311
Курс
Защитные средства с открытыми исходными текстами . / c o n f i g u r e -prefix=/www/php -mysql=/usr/local/mysql \ -with-apxs2=/www/bin/apxs - w i t h - z l i b - d i r = / u s r / l o c a l -with-gd make make i n s t a l l
Инструкция configure включает несколько модулей, нужных средствам д а н н о й главы. 4. Отредактируйте к о н ф и г у р а ц и о н н ы й файл Web-сервера httpd.conf, как правило находящийся в /www. Добавьте следующие строки, а затем сохраните файл. LoadModule php4_module modules/libphp4.so AddType a p p l i c a t i o n / x - h t t p d - p h p . p h p
5. Чтобы проверить, что P H P работает правильно, воспользуйтесь текстовым редактором для создания небольшой процедуры в фай¬ ле с именем test.php. Наберите в файле следующий текст, а затем сохраните его.
П р и в ы п о л н е н и и этой P H P - п р о ц е д у р ы будет выдана некото¬ рая базовая системная и н ф о р м а ц и я . 6. Скопируйте тестовый файл в каталог /www/htdocs. Введите U R L или IP-адрес м а ш и н ы , а затем наберите /test.php. Вы д о л ж н ы уви деть на Web-странице номер версии PHP. Если все получилось, то Web-сервер с поддержкой P H P готов к работе. ACID (Консоль анализа для баз данных вторжений) ACID Автор/основной контакт: Web-сайт:
Roman Danyliw www.andrew.cmu.edu/~rdanyliw/snort/ snortacid.html Большинство UNIX GPL .9.9b23
Платформы: Лицензия: Рассмотренная версия: Список почтовой рассылки: Список пользователей Acidlab. Подпишитесь, послав сообщение со сло вом "subscribe" в теле по адресу [email protected]. П р о г р а м м а A C I D (Analysis Console for Intrusion Databases — кон¬ соль анализа д л я баз д а н н ы х в т о р ж е н и й ) п р е д н а з н а ч е н а д л я более эф¬ ф е к т и в н о г о и с п о л ь з о в а н и я д а н н ы х , генерируемых средствами обнару¬ ж е н и я в т о р ж е н и й . Ее н а п и с а л Р о м а н Д а н ы л и в с коллегами в рамках 312
Глава 8
Средства анализа и управленияя
проекта A i r C E R T , в ы п о л н я е м о г о университетом К а р н е г и - М е л л о н . Это ч а с т ь б о л е е к р у п н о й д е я т е л ь н о с т и C E R T (Computer Emergency Response Team — Группа р е а г и р о в а н и я н а н а р у ш е н и я и н ф о р м а ц и о н н о й безопасности). C E R T в т е ч е н и е м н о г и х лет у с п е ш н о п р и м е н я е т эту программу д л я з а щ и т ы И н т е р н е т и о р г а н и з а ц и й . C E R T отслеживает к о м п ь ю т е р н ы е преступления и направляет и з в е щ е н и я в с п и с к и почто¬ вой р а с с ы л к и , когда происходит к р у п н ы й инцидент. С п и с о к почтовой р а с с ы л к и C E R T я в л я е т с я р а з н о в и д н о с т ь ю с и с т е м ы р а н н е г о предупре¬ ж д е н и я обо всех больших к р и з и с а х и л и атаках, п р о и с х о д я щ и х в Интер¬ нет. К а к т а к о в о й он может быть весьма полезен с и с т е м н ы м админист¬ раторам. Вы можете посетить сайт C E R T www.cert.org и подписаться на почтовую рассылку. В рамках проекта A i r C E R T сенсоры систем обнаружения вторжений были р а з м е щ е н ы в различных организациях с целью изучить общие тен¬ д е н ц и и вторжений. Ч т о б ы облегчить анализ, была написана программа A C I D . Поскольку исходные тексты этого проекта были сделаны открыты¬ ми, вы можете использовать их в собственных целях, н е п р и н и м а я уча¬ стия в проекте A i r C E R T . Положенная в основу A C I D идея состоит в переносе всех данных об обнаруженных вторжениях в базу данных, где их м о ж н о отсортировать и организовать п о приоритетам. A C I D предоставляет панель управления на основе Web для сортировки, просмотра и манипулирования этими резуль¬ татами. A C I D может использовать почти любую базу данных S Q L и любой Web-сервер и поддерживает множество сенсоров для ввода данных. Допу¬ скаются также необработанные сигналы Snort и ф а й л ы журналов в фор¬ мате syslog. В настоящее время A C I D работает напрямую только с одной системой обнаружения вторжений — Snort, н о с п о м о щ ь ю утилиты Logsnorter, которая доступна на Web-сайте A C I D , м о ж н о импортировать журналы в базу данных A C I D и з любого устройства, выводящего д а н н ы е в формате syslog. Для своей работы A C I D требует наличия некоторых программ. Кро¬ ме базы данных, Web-сервера и P H P , которые уже были рассмотрены в этой главе, нужны также следующие библиотеки и подпрограммы.
ADOdb Этот пакет обеспечивает уровень абстракции базы данных, позволяю¬ щ и й P H P использовать стандартный интерфейс для множества баз данных, включая M y S Q L . Возьмите его по адресу http://php.weblogs.com/adodb, рас¬ пакуйте в /www/htdocs или подходящем корневом каталоге Web, и он дол¬ жен быть готов к работе. Никакой дополнительной установки не требуется. 313
Курс
Защитные средства с открытыми исходными текстами
PHPLOT Этот пакет позволяет создавать графики с п о м о щ ь ю A C I D . Если вы хотите использовать эту возможность, возьмите модуль с www.phplot.com. Распакуйте его в каталоге /www/htdocs и, так ж е к а к A D O d b , о н должен быть готов к употреблению.
JpGraph Эта программа позволяет P H P генерировать цветные графики. Она понадобится наряду с P H P L O T , если вы захотите представлять данные Snort в графическом виде. Возьмите ее по адресу www.aditus.nu/jpgraph/ и распакуйте в корневом каталоге Web (например, /www/htdocs). Она создаст собственный подкаталог и будет доступна, когда понадобится для A C I D .
GD Этот пакет содержит библиотеки манипуляции изображениями дляя PHP, которые нужны также для создания графиков. Если вы установили P H P согласно д а н н ы м ранее в этой главе инструкциям, то у вас уже долж¬ на иметься эта утилита. В противном случае возьмите ее по адресу www.boutell.com/gd/ и установите в каталоге /www/php. Если вы н е компи¬ лировали P H P с п о м о щ ь ю представленных в ы ш е команд, то следует также убедиться, что имеются следующие библиотеки, необходимые для G D . • libpng. Предоставляет для G D поддержку формата P N G . Ее м о ж н о взять на www.libpng.org/pub/png/ или с дистрибутивных дисков ва шей О С . • libjpeg-6b. Это библиотека jpeg д л я P H P . М о ж н о взять ее на www.ijg.org/ или с дистрибутивных дисков вашей О С . • zlib. Эта библиотека предоставляет для G D поддержку сжатия. М о ж н о взять ее на www.ijg.org/ или с дистрибутивных дисков ва¬ шей О С .
Конфигурирование Snort для MySQL 1. A C I D предполагает, что имеется один или несколько активных сен¬ соров Snort, поставляющих данные. Если вы еще н е создали сенсо¬ р ы Snort, вернитесь к главе 7. Сенсоры Snort необходимо сконфигу¬ рировать таким образом, чтобы они записывали данные в M y S Q L . Для этого выполните следующие действия при установке Snort. • П р и первоначальной к о м п и л я ц и и Snort используйте следу¬ ющую инструкцию configure: 314
Глава 8
Средства анализа и управленияя
. / c o n f i g u r e --with-mysql=/usr/local/mysql
Проверьте, что указан каталог, где находится M y S Q L . • Отредактируйте файл конфигурации snort.conf. Найдите за комментированную строку, которая начинается с #output database. Отредактируйте ее следующим образом: output database: log,mysql,user=snort password=123456 dbname=snort h o s t = l o c a l h o s t
Замените пользователя snort и пароль 123456 на правильные имя пользователя базы данных и его пароль, которые будут приме¬ няться для A C I D . A C I D создаст базу данных с именем «snort», хотя можно изменить это и м я , редактируя файл конфигурации A C I D . Если вы подключаетесь к локальной базе данных, то оставьте у пе¬ ременной host значение l o c a l h o s t . Если вы подключаетесь к базе данных на другой м а ш и н е , задайте здесь IP-адрес или и м я хоста. 2. Н е забудьте удалить символ комментария # в начале строки и за¬ тем сохраните файл. В д а н н о й главе предполагается, что A C I D и сенсор Snort ус¬ танавливаются на разных машинах. Размещение их на одной ма¬ ш и н е неудачно н е только с точки зрения безопасности; работа сенсора Snort замедлится до такой степени, что от окажется беспо¬ лезным. Компьютер с A C I D предпочтительно расположить в сег¬ менте сети, отличном от сегмента с сенсорами Snort — это затруд¬ нит взломщику доступ к журналам. Н а рис. 8.1 показаны элемен¬ ты связки ACID-Snort.
Установка ACID После загрузки всех необходимых программ м о ж н о , наконец, уста¬ новить A C I D . 1. Возьмите файл программы с компакт-диска книги или с Web-сай¬ та A C I D . 2. Поместите tar-файл в каталог /www/htdocs. Распакуйте его там, и о н создаст собственный каталог. 3. Удалите tar-файл, поскольку все, оставленное в корневом катало ге /htdocs, может быть доступно пользователям Web-сервера.
Конфигуриривание ACID 1. Перейдите в каталог /htdocs/www/acid. 2. Отредактируйте файл acid conf.php. Строки, начинающиеся с ко¬ сой черты и звездочки, служат комментариями и инструкциями по 315
Защитные средства с открытыми исходными текстами
Курс
Рис. 8.1. Система обнаружения вторжений ACID-Snort конфигурированию. Строки, начинающиеся с $, являются пере менными и сообщают программе специфическую информацию о системе. 3. В инструкциях $ задайте параметры своей системы. В табл. 8.4 пере числены переменные, а также рекомендации для каждого элемента. Табл. 8.4. Переменные для конфигурирования A C I D Имя переменной $DBtype
$alert_dbname
Описание Тип базы данных, которую будет использовать A C I D . П о умолчанию — mysql, н о можно также ука зать postgresql и л и mssql, если вы хотите применить какую-либо из этих двух баз данных. Система обнаружения вторжений, д а н н ы е которой использует A C I D . В настоящее время поддерживает316
Глава 8
$alert_host
$alert_port
$alert_user
$alert_password
$archive_dbname
$archive_host
$archive_port $archive_user
$archive_password
$chartlib_path $chart_file_format
Средства анализа и управленияя
ся только собственный формат Snort snort_log, хотяя имеются планы п о р а с ш и р е н и ю этого набора. Хост, на котором будет храниться база данных сиг налов. Может задаваться к а к IP-адрес или и м я хос¬ та. Если A C I D и база данных располагаются на од¬ ной м а ш и н е , то следует указать localhost. Для повы¬ ш е н и я безопасности и производительности целесо¬ образно выделить для базы данных машину, отлич¬ ную от Web-сервера P H P . Порт, по которому происходит обращение к базе данных. Если вы размещаете ее локально, то задайте д а н н о е значение просто к а к "". И м я пользователя базы данных, которое будет при¬ менять A C I D п р и протоколировании данных. Про¬ верьте, что о н о совпадает с именем пользователяя M y S Q L , созданным п р и настройке базы данных. Пароль пользователя базы данных. И здесь проверь¬ те, что о н совпадает с паролем M y S Q L для данного пользователя. И м я базы данных, которую Snort использует для ар¬ хивирования. Подразумеваемое и м я snort archive вполне разумно, если только вы н е храните несколь¬ ко баз данных на одной м а ш и н е и н е хотите задать более содержательные имена. Хост, на котором будет располагаться база данных архива. Если она находится на той ж е м а ш и н е , то значение должно задаваться к а к localhost. Порт для записи на сервере базы данных. Исполь¬ зуйте "", если запись происходит локально. Пользователь базы данных, от имени которого про¬ изводится запись архивных данных. Обычно это значение совпадает с $alert_user (см. выше), хотя м о ж н о создать отдельного пользователя для записи архивов. Пароль для пользователя базы данных, от имени ко¬ торого записываются архивные данные. Обычно совпадает с $alert password. Маршрут к модулям создания графиков — /www/htdocs/jpgraph-1.11/src. Формат файлов графиков. П о умолчанию — png. Другими допустимыми форматами служат jpg и gif. 317
Защитные средства с открытыми исходными текстами
Курс
4. После сохранения файла с этими параметрами откройте Web-на вигатор и введите / a c i d / a c i d _ m a i n . php после и м е н и хоста или IPадреса Web-сервера. Пример: http://localhost/acid/acid_main.php
Будет выведена страница с конфигурацией A C I D . С этого м о мента м о ж н о применять Web-интерфейс для завершения конфи¬ гурирования A C I D . 5. Щ е л к н и т е м ы ш ь ю на кнопке Create A C I D A G . Это приведет к со зданию базы для данных Snort. Подразумеваемое и м я этой БД — «snort». 6. Перейдите на http://localhost/acid, и вы увидите основную страни цу A C I D для своей базы данных Snort (см. рис. 8.2). Н а этом конфигурирование A C I D завершается и м о ж н о приступать к использованию этой программы для управления системами обнаруже¬ н и я вторжений.
Основы применения ACID П р и первом входе в A C I D отображается основная страница ( см. рис. 8.2). Верхняя часть основного представления базы данных показывает об щую статистику просматриваемой БД, включая ее имя, временные р а м к и всех содержащихся в н е й записей, дату и время последнего запроса.
Added 0 alert{s) to the Alert cache Queried o n : Thu August 21.2003 10:18:53 Database; @ .netsecuntysvcscorn;3306 Time window; [2002-08-09 12:30:02]-[2003-08-21 Sensors: 1 Unique Alerts: 130
( 10 categories
) Total Number of Alerts: 34385 • Source IP addresses 1991 * Dest. IP addresses: 330 . Unique IP links 2818 • Source Ports: 4577 0 TCP (4577) UOP(O) • Dest. Porta: 2365 о TCPт 2365) UDP(O)
(schema version; 105) 15:14:14)
Traffic Profile by Protocol TCP (100%) UDP (0%) ICMP(<1%)
Portscan Traffic
(0%)
. Search
Рис. 8.2. Основной интерфейс A C I D 318
Глава 8
Средства анализа и управления
Раздел, расположенный ниже, содержит всю сводную и н ф о р м а ц и ю по конкретной группе сигналов тревоги ( A G — alert group). A G — это сен¬ сор или группа сенсоров, представленных в этой базе данных. Если в ы желаете отслеживать различные группы сенсоров к а к единое целое (на¬ пример, сенсоры для различных заказчиков или подразделений), то необ¬ ходимо создать отдельную базу данных или A G для каждой группы. Это важно для создания отчетов и п р и м е н е н и я архивных средств A C I D . Вы сможете выполнять п о и с к или запросы только на отдельных A G , а н е на множестве A G , поэтому необходимо организовать сенсоры различных A G подходящим образом. Д л я большинства организаций будет достаточ¬ но иметь одну группу сигналов тревоги для всех сенсоров. Н о если вы ра¬ ботаете в консультационной к о м п а н и и или имеете дело с большим объе¬ м о м операций по нескольким подразделениям, то, вероятно, удобнее рас¬ пределить группы сенсоров по различным A G , чтобы м о ж н о было сле¬ дить за н и м и п о отдельности. В прямоугольнике слева на экране м о ж н о видеть статистику для дан¬ н о й A G : общее число сигналов, число уникальных сигналов и число раз¬ личных IP-адресов (как исходных, так и целевых), фигурирующих в базе данных. Если у вас несколько сенсоров в сети A C I D , то м о ж н о щелкнуть м ы ш ь ю на пункте Sensors, чтобы увидеть их список. М о ж н о ограничить п о и с к д а н н ы м и только одного сенсора. Н а основной странице представ¬ л е н ы также графические п р о ф и л и трафика сигналов для каждого прото¬ кола и порта, чтобы м о ж н о было понять, каков вид трафика, проходяще¬ го через сенсор сетевой системы обнаружения вторжений.
Применение ACID для управления сетевыми системами обнаружения вторжений и их настройки Прежде чем ваша сетевая система обнаружения вторжений станет сколько-нибудь полезной, ее необходимо настроить под вашу сеть, чтобы исключить л о ж н ы е срабатывания. Д л я подобной деятельности A C I D бес¬ ценна. П р и первом включении сетевой системы обнаружения вторжений все сигнатуры сигналов активны и ваша база данных начнет заполнятьсяя сигналами. Первоначально эти сигналы по большей части будут ложной тревогой. Д л я приведения сигнализации в соответствие с вашей сетью, следует удалить некоторые сигнатуры, чтобы избавиться от большей час¬ ти ложных срабатываний и получать от нее только те данные, которые за¬ служивают в н и м а н и я . Когда в ы накопите в базе данных достаточное количество сигналов (по крайней мере тысячу для загруженной сети), м о ж н о начать анализи¬ ровать тревожные д а н н ы е и исключать некоторые т и п ы сигналов. Внима¬ тельно наблюдайте за своей базой данных, так к а к для ее заполнения м о 319
Курс
Защитные средства с открытыми исходными текстами
жет потребоваться не так много времени, особенно для подразумеваемо¬ го списка правил Snort. Откройте A C I D и щелкните м ы ш ь ю на кнопке Unique Alerts. Будут показаны самые свежие из полученных сигналов, сгруппированные по типу (см. рис. 8.3). Н а этой странице представлена следующая и н ф о р м а ц и я для каждо¬ го типа сигналов: • И м я сигнатуры • К л а с с и ф и к а ц и я сигнала • Общее число сигналов этого типа в базе данных • Номер сенсора, с которого пришел сигнал • Число различных исходных IP-адресов, ассоциированных с этим сигналом • Число различных целевых IP-адресов, ассоциированных с этим сигналом • Время прихода сигнала. М о ж н о выполнить сортировку по любому из столбцов, щелкая мы¬ ш ь ю на маленькой стрелке вверху столбца. Н а п р и м е р , имеет смысл от¬ сортировать список по числу сигналов и щелкнуть м ы ш ь ю на строке, со¬ ответствующей максимальному числу срабатываний. Это сузит список до одного типа сигналов. Просмотрите список и попытайтесь определить, действительно ли это проблема безопасности или ложное срабатывание. Наличествуют ли какие-нибудь отличительные особенности? Замешан ли во всех сигналах этого типа один IP-адрес, исходный или целевой? Гене-
Рис. 8.3. С п и с о к самых последних уникальных сигналов тревоги 320
Глава 8
Средства анализа и управления
рируются л и сигналы с регулярными интервалами или кажутся случайны¬ ми? Если этот анализ не ведет к к а к и м - л и б о выводам, то копайте глубже, щелкая м ы ш ь ю н а отдельных сигналах. Это позволит увидеть реальный пакет, который вызвал сигнал, что весьма полезно с юридической точки зрения, если вы действительно были атакованы и пытаетесь в дальней¬ ш е м отреагировать и л и преследовать атакующих. Будьте осторожны. Если по сети передаются секретные данные, то вы можете нечаянно их увидеть, так к а к перехватываете и анализируете целые пакеты данных. Убедитесь, что вам разрешено видеть эти данные. Также очень важно, чтобы база данных Snort была з а щ и щ е н а д о л ж н ы м образом, так к а к любой, кто проникнет в м а ш и н у базы данных, потенци¬ ально будет иметь доступ к этой секретной и н ф о р м а ц и и . Другое решение этой проблемы — п о н и ж е н и е уровня детализации данных, фигурирую¬ щих в правилах сигнала, хотя это может помешать прослеживанию ви¬ н о в н и к а н а основе зарегистрированных сигналов тревоги. В примере на рис. 8.3 Web-IIS cmd.exe является самым распростра¬ н е н н ы м сигналом. Щ е л к н у в м ы ш ь ю н а данных сигнала, м о ж н о увидеть реальный пакет, который порождает этот сигнал (см. рис. 8.4). Показан исходный IP-адрес вместе со всеми портами T C P и настройками. П о и м е н и хоста м о ж н о сказать, что пакет пришел с адреса в Я п о н и и (домен верхнего уровня .jp) и определить, м о ж н о л и считать обращение к вашей сети с этого адреса нормальным. М о ж н о копнуть глубже и увидеть реальную полезную нагрузку пакета. Слева находятся данные пакета в шестнадцатеричном виде, справа — в текстовом ( если их м о ж н о предста-
Рис. 8.4. Детали сигнала тревоги в A C I D 321
Курс
Защитные средства с открытыми исходными текстами
вить таким образом). Это показывает реальные команды, которые отпра¬ витель пытается выполнить на вашей м а ш и н е . Глядя на эти д а н н ы е мож¬ н о предположить, что кто-то пытается получить доступ к к о м а н д е cmd.exe, и н ы м и словами, получить приглашение командной строки. Оче видно, это атака на вашу систему. К сожалению, это, скорее всего, запро граммированная атака, проводимая Интернет-червем, а атаки такого ти¬ па случаются каждый день десятками, к а к м о ж н о понять п о большому числу сигналов cmd.exe в базе данных. Тем н е менее, стоит за этим пона блюдать и проверить, н е появляется л и этот IP-адрес постоянно. М о ж н о , по крайней мере, написать жалобу поставщику Интернет-услуг и убе¬ диться, что атакованная м а ш и н а (определяемая п о целевому адресу) за¬ щ и щ е н а от подобных вещей. М о ж н о также принять дополнительные ме¬ р ы против IP-адреса, указанного к а к исходящий, например, начать юри¬ дическое преследование или вчинить гражданский иск, если произошло реальное проникновение. П о крайней мере, теперь в ы точно знаете, ка¬ кого вида атаки приходят в вашу сеть и что о н и пытаются делать. Это по¬ зволит лучше защитить сеть и реагировать, если она окажется под атакой.
Другие способы проанализировать данные сигналов тревоги с помощью ACID Кого
атакуют?
С п о м о щ ь ю A C I D найдите наиболее распространенные целевые IPадреса, то есть IP-адреса, которые, вероятно, атакуются ч а щ е всего и на которых необходимо сконцентрировать усилия п о защите. Это поможет также отличить л о ж н ы е срабатывания от реальных, поскольку в ы , воз¬ м о ж н о , обнаружите, что некая м а ш и н а создает огромное число сигналов из-за приложения, которое на ней выполняется. Внезапный всплеск ко¬ личества сигналов на определенном IP-адресе может указать на развива ющуюся атаку на эту машину. Затем м о ж н о принять меры для п о в ы ш е н и я безопасности этой м а ш и н ы , провести сканирование уязвимостей, прове¬ рить уровень «залатанности», отбрасывать на маршрутизаторе пакеты и з враждебного источника и т.д. Кто
атакует?
Определите исходящий IP-адрес, проявляющийся чаще всего. Перей дите с основной страницы к списку исходных IP-адресов. Это покажет IPадрес и полностью квалифицированное доменное и м я и подскажет, откуда идет атака. Сортировка по количеству сигналов позволит увидеть самых злостных нарушителей в терминах порождаемых сигналов. Если IP-адреса 322
Глава 8
Средства анализа и управления
Рис. 8.5. Детали исходного IP-адреса в A C I D с наибольшим количеством сигналов находятся в вашей сети, то, вероятно, имеется внутренний злоумышленник или приложение, которое включает сигнал. Используйте рассмотренный выше процесс для углубления на уро¬ вень данных сигнала и анализа сигнала. Если сигналы тревоги порождены внешними IP- адресами, то желательно определить, законен ли трафик, на¬ правленный в вашу сеть, или это реальная атака. Просмотрите отдельные сигналы, чтобы понять, что пытаются делать. Щелкните м ы ш ь ю на IP- ад¬ ресе, будет выведена страница с дополнительной информацией об адресе и некоторыми опциями для дальнейшего анализа (см. рис. 8.5). В A C I D мож¬ но применить к этому адресу различные функции, такие как обратный по¬ иск D N S , поиск A R I N и даже поиск Sam Spade (аналогичный средству, рас¬ смотренному в главе 2). Выдача этих функций должна подсказать вам, ка¬ кая организация владеет этими IP- адресами, контактные адреса электрон¬ ной почты их центра сетевых операций, и адреса для сообщений о злоупо¬ треблениях ( если таковые имеются). Можно использовать эти контактные адреса при регистрации жалобы на выявленную активность. Если вы заме¬ тите, что какие- то адреса появляются вновь и вновь, их можно отфильтро¬ вать на маршрутизаторе или межсетевом экране. Какой сервис
атакуется
чаще
всего?
Определяя порты, на которых чаще всего возникают сигналы, мож¬ но понять, на какие сервисы направлено большинство атак. Если вы в и 323
Защитные средства с открытыми исходными текстами
Курс
дите много сигналов на основе Web, следует уделить повышенное внима¬ ние усилению защиты Web-серверов. Если сигналы показывают высокую активность NetBIOS Windows, то необходимо провести ревизию прав д о ступа в Windows и политики паролей. И н ы м и словами, анализ подскажет, на каких сервисах сосредоточиться в первую очередь.
Ежедневное применение ACID Располагая работающей программой A C I D , настроенной в соответ¬ ствии с конфигурацией сетевой системы обнаружения вторжений, следу¬ ет взять за правило проверять к а к м и н и м у м раз в день, какие новые сиг¬ налы были сгенерированы. Лучше всего утром делать первую проверку, а перед уходом с работы — повторную. Если есть персонал, работающий после о к о н ч а н и я дневной смены, то и ему м о ж н о поручить проверку ба¬ зы данных сигналов A C I D . После входа в базу данных A C I D м о ж н о сразу перейти в раздел Snapshot (см. рис. 8.6) и щелкнуть м ы ш ь ю на Most Recent Alerts, чтобы быстро просмотреть вновь поступившие данные о сетевой активности. Будут выведены все сигналы в хронологическом порядке. Если п о - преж¬ нему генерируется настолько много сигналов, что их анализ затрудните¬ лен, то в разделе Today's Alers выберите Unique. Будут показаны все сего¬ д н я ш н и е сигналы, сгруппированные по типам, и м о ж н о видеть, какие из них порождают больше всего трафика. П о л е з н ы также о п ц и и Last 24 "3
о TCP [ 4577) UDP(O) • Dest. Ports: 2365 о TCP (2365) UDP(O)
Search Graph Alert data (EXPERIMENTAL) Snapshot • Most recent Alerts any protocol. TCP. UDP, ICMP • Today's alerts unique, listing. IP src / dst • Last 24 Hours: alerts unique, listing; IP src/dst • Last 72 Hours: alerts unique, listing; IP src / dst • Most recent 15 Unique Alerts
• Most frequent 5 Alerts • Most Frequent Source Ports: any , TCP . UDP • Most Frequent Destination Ports: any, TCP , UDP * Most frequent 15 addresses: source, destination
. Last Source Ports, any, TCP , UDP • Last Destination Ports: any .TCP , UDP
Graph alert detection time Alert Group (AG) maintenance Application cache and status [Loaded in 10 seconds] ACID vO 9.6b21 ( by as part of the Services provided by Network Security Services
project)
z.
Рис. 8.6. Раздел Snapshot в A C I D 324
Глава 8
Средства анализа и управленияя
Hours и Last 72 Hours из раздела Snapshot. О н и позволят выявить наибо¬ лее часто встречающиеся сигналы, адреса, и порты за различные периоды времени.
Графическое представление данных ACID Если вы предпочитаете зрительные образы, или вам нужны графики для демонстрации руководству, воспользуйтесь и м е ю щ и м и с я в A C I D средствами для построения графиков и диаграмм на основе базы данных сигналов. Эти средства пока имеют статус экспериментальных, и для ра¬ боты с н и м и необходимы графические модули PHP, перечисленные в на¬ чале этого раздела, однако о н и удобны для графического вывода итого¬ вых данных Snort. Графические средства м о ж н о вызвать, щелкнув м ы ш ь ю на Graph Alert Data сразу под прямоугольником со статистикой сигналов на основном экране A C I D . В результате будут отображены графические опции. Д а н н ы е для графиков м о ж н о организовать следующим образом: • П о времени (час, день, месяц) относительно числа сигналов • П о IP-адресам (исходным или целевым) относительно числа сиг¬ налов • П о портам T C P или U D P ( исходным или целевым) относительно числа сигналов Задайте параметры с п о м о щ ь ю раскрывающихся полей и щелкните м ы ш ь ю на Graph Data. Проверьте, что заполнили все поля, иначе будет
Рис. 8.7. График тревожных данных в A C I D 325
Курс
Защитные средства с открытыми исходными текстами
выдано сообщение об ошибке. A C I D построит и выведет график. Н а рис. 8.7 показан пример графика A C I D .
Обслуживание базы данных ACID По мере роста базы данных сигналов ей периодически требуется не¬ которое обслуживание, чтобы о н а н е становилась с л и ш к о м большой и громоздкой. Ваша статистика и графики также будут более т о ч н ы м и , ес¬ ли архивировать давние сигналы с множеством ложных срабатываний. К р о м е того, периодическая очистка базы ускорит обработку запросов. Для архивирования сигналов воспользуйтесь регулятором запросов внизу основного экрана. Создайте запрос для сигналов, которые хотите архивировать, например, все сигналы, сгенерированные за последний год. Затем выберите Archive Alerts в качестве действия для запроса. Мож¬ но выборочно архивировать сигналы п о дате, типу и другим критериям. М о ж н о также выбрать простое копирование сигналов в архив или их уда¬ ление. Архивированные сигналы будут помещаться в собственную базу данных с именем, которое было задано в файле acidconf.php в процессе конфигурирования. Следует заархивировать все сигналы первых нескольких месяцев ра¬ боты, в течение которых вы настраивали сенсоры Snort. После этого дан¬ н ы е будут в большей степени отражать реальные атаки, а н е л о ж н ы е сра¬ батывания. Неплохо также выполнять архивирование к а к м и н и м у м раз в год, и л и , возможно, ежеквартально, в зависимости от количества зареги¬ стрированных сигналов. К а к правило, нежелательно иметь в базе данных одновременно более 100000 сигналов. Итак, теперь в ы знаете, к а к построить законченную сеть Snort обна¬ ружения вторжений с множеством сенсоров, протоколирующих сигналы в базу данных, которую м о ж н о применять для анализа данных и генера¬ ц и и отчетов. Это поможет лучше использовать д а н н ы е об обнаруженных вторжениях, получить максимальную отдачу от усилий по обеспечению безопасности и запастись наглядными отчетами и графиками для демон¬ страции руководству. Теперь м ы рассмотрим несколько средств, помога¬ ющих разобраться с результатами сканирования уязвимостей.
Флэми Тех советует: Аккуратно используйте названия! Будьте осторожны в разговоре со своим руководством о п р и м е н е н и и Snort или A C I D на работе. Убедитесь, что руководст¬ во понимает, что это ц е н н ы е программы управления, а н е противозаконные наркотические вещества! 326
Глава 8
Средства анализа и управленияя
Одна из проблем при использовании сканера уязвимостей Nessus дляя сканирования сетей среднего и большого размера состоит в том, что отче¬ ты получаются весьма устрашающими. Вроде бы и форматы отчетов Nessus хороши, и перемещаться по HTML-документам легко, н о , получив на ана¬ лиз пару сотен страниц данных, довольно трудно выделить на ф о н е всего этого шума важные данные. Было бы прекрасно иметь возможность орга¬ низовать результаты сканирования удобным для изучения способом. Дляя того чтобы анализировать результаты, следует поместить их в базу данных, а не выдавать в виде стандартного плоского файла. Желательно также иметь простой доступ к данным, например, посредством Web-интерфейса. Располагая такими средствами, можно легко выделить наиболее важные данные и проанализировать изменение результатов сканирования во вре¬ мени, чтобы понять, становится ли сеть более или менее защищенной. К счастью, имеется несколько продуктов, интегрирующих Nessus с базой данных: NesQuick, Java Nessus Report Manager и Nessus P H P Interface (NPI). Для этой книги я п о ряду п р и ч и н выбрал N P I . Во-первых, это на самом деле продукт с открытыми исходными текстами без какихлибо коммерческих завязок. Во-вторых, о н опирается на M y S Q L и P H P , которые мы уже п р и м е н я л и для других средств, таких к а к A C I D . C помо¬ щ ь ю этих приложений N P I обеспечивает перенос данных Nessus в базу данных и их просмотр п р и п о м о щ и Web-навигатора. N P I п о своей архитектуре аналогичен A C I D . Он использует базу д а н ных M y S Q L для хранения результатов и поддерживающий P H P Web-сер вер для просмотра и запроса результатов. Н а рис. 8.8 показаны логические компоненты N P I . Одно и з различий между архитектурами Snort и Nessus состоит в том, что в Nessus есть две отдельные части, порождающие дан¬ ные: клиент, и н и ц и и р у ю щ и й сканирования, и в ы п о л н я ю щ и й их сервер. В некоторых случаях о н и могут находиться на одной м а ш и н е , н о на ри¬ сунке изображены два различных физических сервера. Имеется также сервер базы данных, куда записываются д а н н ы е сканирования, и Webсервер, предоставляющий интерфейс к д а н н ы м . База данных и Web-сервер также могут находиться на одной м а ш и н е или на двух разных. 327
Курс
Защитные средства с открытыми исходными текстами
Рис. 8.8. Логическая архитектура N P I Рис. 8.8 иллюстрирует потоки данных и логические части системы N P I . Клиент Nessus входит на сервер Nessus для и н и ц и а ц и и сканирова н и я некоторого объекта. Д а н н ы е сохраняются на клиентской м а ш и н е в собственном формате Nessus .nbe. Когда в ы получаете необработанный файл, N P I выполняет процедуру его преобразования и импортирует дан¬ ные в Б Д M y S Q L . После этого данные м о ж н о просматривать и запраши¬ вать Б Д посредством любого Web-навигатора через P H P - и н т е р ф е й с . Этот способ анализа результатов сканирования имеет существенные преиму¬ щества, поэтому стоит немного потрудиться и установить N P I .
Установка NPI Прежде чем приступать к установке N P I , необходимо располагать работающим сервером M y S Q L и Web- сервером Apache с поддержкой PHP. Если о н и еще не установлены, то вернитесь назад к соответствую¬ щ и м разделам этой главы и сделайте это. Когда серверы S Q L и Web будут готовы к работе, выполните следующие действия по установке N P I . 328
Глава 8
Средства анализа и управления
Возьмите файл с прилагаемого к книге компакт-диска, распакуй¬ те и растарьте программу. Поместите содержимое в отдельный ка¬ талог, и м я которого н е имеет значения (если все файлы находятсяя в одном каталоге). Н а п р и м е р , подойдет каталог /usr/local/nessusphp, если, к о н е ч н о , у вас есть право на запись в него. Перейдите в этот каталог и отредактируйте файл nsr-php с помо¬ щ ь ю текстового редактора. Этот ф а й л содержит п е р е м е н н ы е (строки, н а ч и н а ю щ и е с я с $), которые позволяют программе к о н тактировать с сервером M y S Q L . В табл. 8.5 перечислены перемен¬ ные, которые необходимо отредактировать, и даны рекомендации для задания их значений. Табл. 8.5. П е р е м е н н ы е N P I для сервера M y S Q L Переменная $db_host
$db_user
$db_pass $db_database
$db_suuser
$db_supass $your_domain
Описание Задается хост, на котором будет выполняться сервер M y S Q L . Если сервер M y S Q L выполняется на той ж е ма¬ ш и н е , ч т о и Web-север, укажите localhost. В противном случае введите IP-адрес или и м я хоста м а ш и н ы M y S Q L . И м я пользователя, используемое для входа в базу дан¬ ных M y S Q L . Может совпадать с и м е н е м , заданным при установке M y S Q L . Пароль, соответствующий вышеуказанному пользователю. И м я базы данных, созданной для хранения данных N P I . П о умолчанию N P I создает базу данных с именем nessus, н о п р и ж е л а н и и его м о ж н о заменить другим. Административный пользователь базы данных M y S Q L . Требуется для процедуры nsr-php. П о умолчанию ис¬ пользуется root, что годится для большинства устано¬ вок. Отметим, ч т о это н е то ж е самое, что пользователь root операционной системы. Пароль пользователя root для m y S Q L , соответствующий вышеописанному счету $db_suuser. С п и с о к доменов, имена которых вы хотите вырезать из вывода. Это очистит отчеты, если вы хотите, чтобы в выдаче присутствовали только имена м а ш и н , а н е пол¬ ные имена хостов Интернет. Это необязательная пере¬ менная.
3. Откройте файл nsr в текстовом редакторе и создайте в н е м те ж е элементы, что и в шаге 2 (см. табл. 8.5). Проверьте, что маршрут¬ ное и м я каталога встраиваемых модулей Nessus задано правильно. 329
Курс
Защитные средства с открытыми исходными текстами
В большинстве установок эти модули должны находиться в подра¬ зумеваемом каталоге /usr/local/lib/nessus/plugins. Убедитесь, что это действительно так. В противном случае сделайте необходимые изменения в файле nsr. 4. Отредактируйте файл nessusphp.inc, изменяя переменные так ж е , как и в двух предыдущих шагах. 5. Создайте базу данных Nessus. Д л я этого нужно выполнить проце¬ дуру nsr-php: php nsr-php -b
Для ваших данных сканирования будет создана база данных M y S Q L с именем nessus. М о ж н о войти в н е е и убедиться, что нуж¬ н ы е таблицы созданы. 6. Проверьте, что база данных создана д о л ж н ы м образом. a. Войдите в M y S Q L с п о м о щ ь ю команд, описанных в ы ш е в этой главе, во врезке, п о с в я щ е н н о й M y S Q L . b. Наберите show databases; (не забудьте точку с запятой) в ко¬ мандной строке M y S Q L . Будет выдан список всех баз дан¬ ных, и среди них должна присутствовать вновь созданная ба¬ за данных Nessus. c. Перейдите в эту базу данных, используя команду use NESSUS;, а затем наберите команду show t a b l e s ; . Вы должны получить результаты, п о к а з а н н ы е на рис. 8.9, — все три таблицы и з ба¬ зы данных nessus. mysql> show t a b l e s ; +
+
| Tables_in_nessus +
| +
| report | scans | scripts
| | | +
+ 3 rows i n s e t (0.00 s e c )
Рис. 8.9. Вывод команды show tables; 7. Перенесите ф а й л ы из подкаталога www установочного каталога N P I во вновь созданный подкаталог корневого каталога докумен¬ тов Web-сервера. Задайте правильные р е ж и м ы доступа для фай¬ лов. В этом месте вы будете осуществлять доступ к базе данных Nessus. Выполните следующие команды из каталога nessus-php. 330
Глава 8
Средства анализа и управленияя mkdir /usr/local/apache2/htdocs/nessus-php mv ./www /usr/local/apache2/htdocs/nessus-php chown -R www:www /usr/local/apache2/htdocs/nessus-php chmod 755 /usr/local/apache2/htdocs/nessus-php/*
Н е забудьте изменить маршрутное и м я корневого каталога документов Web, если о н о н е такое, к а к в примере. П р и желании м о ж н о изменить и м я каталога, в котором находятся файлы nessusphp. В приведенном примере страница доступа N P I помещается в подкаталог nessus-php корневого каталога документов Web. Дляя пользователя и группы, которые будут осуществлять доступ к базе данных M y S Q L , в примере использовано одно системное имяя (www). Д л я п о в ы ш е н и я безопасности заведите с п е ц и а л ь н о г о пользователя, которому будет разрешено только чтение данных. В этом случае необходимо заменить www:www на соответствующих пользователя и группу, которым разрешено только чтение. Необ¬ ходимо сделать это и для аналогичного счета M y S Q L . Программа N P I установлена.
Импорт результатов сканирования Nessus в NPI Теперь мы готовы к импорту результатов сканирования Nessus в базу данных. 1. П р и м е н и т е процедуру nsr к каждому импортируемому файлу с ре¬ зультатами сканирования Nessus. (Для этого, очевидно, у вас должны быть файлы проведенного сканирования, сохраненные в собственном формате .nbe). N P I также допускает и преобразует более старый формат Nessus, .nsr. Наберите следующую команду для запуска nsr из командной строки: ./nsr
./scans/scan.nbe
Замените ./scans/scan.nbe на маршрутное и м я своего файла сканирования. Команда импортирует исходный файл Nessus в ба¬ зу данных. О н а также проверит встраиваемые модули Nessus и со¬ здает записи в базе данных для всех новых модулей, которые мог¬ ли быть добавлены. 2. Теперь все готово к просмотру результатов сканирования Nessus в базе данных. Откройте Web-навигатор и введите IP-адрес Web-сервера N P I с маршрутным именем индексного файла Nessus-php, например: http://localhost/nessus-php/. Результаты д о л ж н ы поя¬ виться в интерфейсе PHP, позволяющем выполнять п о и с к и сор¬ тировку (см. рис. 8.10). 331
Курс
Защитные средства с открытыми исходными текстами
Рис. 8.10. Основной экран N P I
Применение NPI Теперь м о ж н о просматривать результаты сканирования, к а к любую другую базу данных, сортировать их и выполнять запросы для поиска оп¬ ределенных уязвимостей, хостов и т.д. Имеется много способов анализа результатов Nessus с п о м о щ ь ю N P I . М о ж н о выполнять сортировку на ос¬ нове: • Хоста (IP-адреса) с н а и б о л ь ш и м количеством уязвимостей • Наиболее распространенной уязвимости • Наиболее р а с п р о с т р а н е н н о й категории средств использования уязвимостей • Наиболее часто эксплуатируемого сервиса (номера порта) • Даты сканирования или диапазона дат • Номера C V E или C A N Выполнение N P I - з а п р о с о в позволяет сосредоточиться на областях, которые представляют наибольшую опасность для вашей сети, и макси¬ мизировать результаты вашей деятельности по п о в ы ш е н и ю безопасно¬ сти. М о ж н о также быстро исключить определенные сигналы и / и л и ма¬ ш и н ы . Посредством N P I м о ж н о произвольным образом, по вашему вы¬ бору манипулировать результатами сканирования. Н е к о т о р ы м недостат¬ к о м N P I является ручная загрузка каждого файла сканирования в базу данных. Не составляет труда написать к о м а н д н ы й файл для автоматиза¬ ц и и этого процесса, но м ы с коллегами р е ш и л и сделать в этом направле¬ н и и еще один шаг. 332
Глава 8
Средства анализа и управления
Рождение проекта с открытыми исходными текстами М о я консультационная к о м п а н и я активно применяет Nessus и Snort. М ы также используем A C I D для управления системами обнаружения вторжений. Н а м требовалось аналогичное средство для управления ска¬ н и р о в а н и я м и Nessus. Хотя в N P I имеются некоторые очень удобные воз¬ можности, о н все ж е н е вполне удовлетворял н а ш и потребности. Н а м нужно было инициировать сканирования через Web-интерфейс, а н е только просматривать последние результаты. М ы также п р и ш л и к выво¬ ду, что ручной импорт результатов каждого сканирования труден и отни¬ мает много времени. У нас десятки сканирований, которые нужно выпол¬ нять в самое разное время, и, поскольку о н и обычно принадлежат различ¬ н ы м организациям, их следует отслеживать раздельно. Н а самом деле м ы хотели иметь средство, управляющее р а з л и ч н ы м и конфигурациями ска¬ н и р о в а н и я , планирующее их, в ы п о л н я ю щ е е их автоматически и импор¬ тирующее результаты в соответствующую базу данных. М ы н е смогли найти средства с открытыми исходными текстами, удо¬ влетворяющего всем перечисленным требованиям, поэтому м ы оказались перед выбором: искать подходящий коммерческий продукт или выполнить собственную разработку. К а к оказалось, даже коммерческие сканеры уязвимостей предлагали не совсем то, что требовалось для планирования и от¬ слеживания данных сканирования различных клиентов. Очевидно, напи¬ сание нового сканера уязвимостей «с нуля» было бы непродуктивным. По¬ этому была выдвинута идея разработки дополнительного модуля для Nessus в качестве проекта с открытыми исходными текстами. М ы рассмотрели ряд вопросов, чтобы понять, насколько это целесообразно. Если вы собирае¬ тесь писать свою программу с открытыми исходными текстами, вам следу¬ ет сделать то же, принимая во внимание следующие факторы.
Нет ли уже чего-то подходящего? Прежде всего, поищите в Web, нет ли каких-либо средств, делающих то, что вам нужно. Посмотрите в таких местах, как Sourceforge.net и Freshmeat.net, используйте Google и другие поисковые машины. Велика ве¬ роятность, что для решения вашей задачи что-то уже существует. Если будет найдено «почти, н о н е совсем то», возможно, это можно использовать в ка¬ честве основы или вспомогательного средства при создании своей програм¬ мы, как м ы и сделали в случае N P I . Даже если ничего не существует, можно найти некоторые ответы на часто задаваемые вопросы или сайты с полезной для проекта информацией. Во время исследования вы можете также найти людей с аналогичной проблемой, желающих участвовать в проекте. 333
Курс
Защитные средства с открытыми исходными текстами
Имеет ли ваша программа широкую область применения? Если решаемая проблема специфична для вашей организации, то, ве¬ роятно, нет смысла связываться с проблемами выпуска ее как продукта с от¬ крытыми исходными текстами. Пошлите несколько сообщений в подходя¬ щ и е телеконференции, чтобы проверить, есть ли к данной теме какой-то ин¬ терес. При отсутствии интереса можно остановиться на внутреннем проекте. Однако даже в небольших отраслях обычно имеются схожие потребности в приложениях, а Интернет сделал мир еще меньше. Подумайте обо всех слу¬ чаях, когда вы искали что-то весьма необычное и все ж е находили, потому что кто-то в Web решил, что это стоит опубликовать. Поэтому, если есть хоть какой-то интерес, учреждайте проект с открытыми исходными текстами!
Разрешено ли вам выпускать свой продукт как открытое ПО? Если задуманный проект входит в ваши обязанности наемного ра¬ ботника, убедитесь, что вам разрешат открыть исходные тексты. Если это часть большой собственной программы организации, то маловероятно, что исходные тексты позволят открыть. Однако, если это самостоятель¬ ная программа, то с учетом выгод дополнительной критики и п о м о щ и сторонних разработчиков, а также бесплатной рекламы, вполне вероятно, что руководство возражать н е будет. Проясните этот вопрос, прежде ч е м начать распространение исходных текстов, если дорожите своей работой. М ы прошли через этот процесс и решили, что по приведенным вы¬ ш е соображениям стоит разработать собственное д о п о л н е н и е к Nessus как проект с открытыми исходными текстами. М ы назвали эту програм¬ му Nessus Command Center ( N C C ) . Вы присутствуете на публичной пре¬ мьере этой программы. Nessus Command Center (NCC) Nessus Command Center (NCC) Авторы/основные контакты: Tony Howlett, Brian Credeur, Matt Sisk, Lorell Hathcock Web-сайт: www.netsecuritysvcs.com/ncc Платформы: Linux, большинство UNIX Лицензия: GPL Рассмотренная версия: . 01b Список почтовой рассылки: Список рассылки NCC Общая дискуссия и вопросы о NCC. Направьте электронное письмо со словом "subscribe" в теле или в теме по адресу [email protected]. 334
Глава 8
Средства анализа и управленияя
Появление N C C обусловлено имевшейся у нас потребностью в сред¬ ствах управления для автоматизации сканирования и более качественно¬ го анализа результатов. Описанное в ы ш е средство N P I вполне успешно импортирует д а н н ы е Nessus в базу данных, н о н е решает вопросов плани¬ р о в а н и я , да и интерфейс оставляет желать лучшего. Чтобы н е изобретать колесо, м ы применили в н а ш е м проекте Web-интерфейса составные час¬ ти N P I и добавили модули управления и планирования. Проект преследо¬ вал цель создания следующих сущностей: • Платформа управления для Nessus-сканирования. Н а м требова¬ лось средство отслеживания сканирований для различных органи¬ заций с различными конфигурациями и даже различных групп ор¬ ганизаций. К а к консультационная к о м п а н и я м ы имеем дело с мно¬ жеством различных организаций. У нас даже есть посредники, за¬ казывающие для других организаций сканирование с использова¬ н и е м нашей инфраструктуры. М ы хотели получить единую панель управления всеми этими разнородными сущностями, сохраняя их разделенность. • База данных расписаний и интерфейс для Nessus. Первой целью была разработка способов каталогизации данных сканирований, планирования сканирований и их автоматического выполнения. М ы хотели иметь возможность отслеживать различные сущности, так к а к сканирования будут проводиться в интересах многих орга¬ низаций. Должен существовать административный уровень для со¬ здания и планирования сканирований, а также потенциальная воз¬ можность для клиентов входить и модифицировать определенные части своей конфигурации сканирования, такие к а к время, скани¬ руемые хосты и т.д. База данных должна поддерживать Web-интерф е й с , так к а к н а ш и заказчики и агенты, обращающиеся к системе для настройки своих сканирований, могут располагаться вне наше¬ го межсетевого экрана. • Интерфейс базы данных для результатов Nessus. Эта цель уже была частично достигнута в программе N P I , н о м ы хотели улучшить ин¬ терфейс, который представлялся н а м рудиментарным и н е поддер¬ живал, например, многопользовательский доступ с различными уровнями полномочий. М ы планировали использовать N P I в каче¬ стве основы для этой части программы. А так к а к N P I имеет л и ц е н зию G P L , и наша программа будет иметь л и ц е н з и ю G P L , это н е бу¬ дет создавать никаких проблем. • Web- интерфейс для настройки всех параметров Nessus. Н а самом деле, это необязательное требование. П р и изучении проблемы м ы обнаружили, что в большинстве сканирований применяется л и ш ь около пяти различных конфигураций. Однако было бы удобно 335
Курс
Защитные средства с открытыми исходными текстами
иметь возможность настраивать все возможные параметры скани¬ рования Nessus прямо из Web, не загружая клиента Nessus. Это по¬ зволяет вводить параметры сканирования прямо из офиса заказчи¬ ка или из любого другого места. М ы осмотрелись и обнаружили еще один проект с открытыми исходными текстами, называемый Inprotect, который предлагал Web-интерфейс для Nessus. Код был выпущен с лицензией G P L , поэтому м ы могли использовать его в качестве руководства к н а ш и м действиям в этой области. В связи со сложной природой д а н н о й задачи м ы р е ш и л и , что эта возмож¬ ность не будет присутствовать в бета-версии.
Платформы для NCC С самого начала м ы р е ш и л и , что будем писать программу для ряда платформ, называемого LAMP (Linux, Apache, M y S Q L и Perl). • Linux: П о очевидным причинам Linux предлагает наибольшую мо¬ бильность и наименьшую стоимость использования. Однако нет причин, которые препятствуют системе выполняться на других раз¬ новидностях U N I X с небольшими модификациями. Ее можно также перенести на платформу на базе Windows, такую как Perl for Windows. • Apache: Сервер Apache был также выбран в связи с открытостью исходных текстов и потому, что он является одним из наиболее по¬ пулярных Web-серверов. О н явился самым логичным выбором, п о скольку Web-сервер должен использоваться и для других средств. К р о м е него, эта система будет выполняться на любом поддержива¬ ю щ е м P H P Web-сервере, включая IIS. • M y S Q L : Имеется несколько хороших баз данных с открытыми ис¬ ходными текстами, включая Postgresql и другие. М ы выбрали M y S Q L , потому что были лучше всего с ней знакомы, а требования в л и ц е н з и и были самыми простыми. К а к и Apache, м ы уже приме¬ няли M y S Q L для своих баз данных A C I D . • Perl: К о н е ч н о , существует множество интерпретируемых я з ы к о в , но м ы выбрали Perl потому, что он один из самых мобильных, не требует к о м п и л я ц и и и легко модифицируем для третьих сторон. Основываясь на архитектуре L A M P , м ы начали создавать средство, удовлетворяющее н а ш и м потребностям. Сначала м ы написали план про¬ екта, детализировавший задуманную работу. Затем м ы разбили задачу на подзадачи с учетом имеющихся у нас навыков. М ы определили про¬ граммные элементы, которые потребуются для н а ш е й системы, включаяя процедуры Perl, P H P и M y S Q L , к о м а н д н ы е ф а й л ы , а также текстовые ф а й л ы документации. Табл. 8.6 содержит список всех необходимых эле¬ ментов проекта вместе с описанием их назначения. 336
Глава 8
Средства анализа и управленияя
Табл. 8.6. Элементы проекта N C C Тип Процедура Perl
Элемент ncc.pl
Процедура Perl
ncc-client.pl
Процедура Perl
ncc-daily.pl
Процедура P H P
Main.php и другие вспомога тельные php-файлы Reports.php
Процедура P H P
База данных M y S Q L База данных NCC Процедура M y S Q L Вспомогательная процедура
ncc.mysql install.pl
Текстовый файл
ncc.ini
Текстовый файл
INSTALL, README и т. д.
Описание Запускается с п о м о щ ь ю cron и вы¬ страивает очередь сканирований, готовых к выполнению. Удаляет запланированные сканиро¬ вания из очереди, вызывает коман¬ ду для их в ы п о л н е н и я , а затем осу¬ ществляет преобразование для пе¬ реноса файлов .nbe (по мере их п о лучения) в базу данных M y S Q L . Посылает ежедневные итоговые электронные сообщения и очищает очередь. Интерфейс для ввода данных в таблицу расписания; состоит из нескольких файлов.
И н т е р ф е й с для просмотра базы дан¬ ных M y S Q L , м о д и ф и к а ц и я версий N P I ; состоит и з нескольких файлов. Модель базы данных сканирований, внутренняя для программы базы данных M y S Q L . Создает начальную базу данных. Процедура для создания элемента для cron, вызов процедуры M y S Q L , копирование исполнимых файлов в / b i n и файла php в Web. Переменные окружения для процедур Perl и PHP, имена баз данных, распо¬ ложение файлов, адреса электронной почты для уведомлений и т.д. Несколько файлов с инструкциями по установке, эксплуатационными инструкциями и другими полезны¬ ми д а н н ы м и .
Н а м предстояло также спроектировать схему базы данных с табли¬ ц а м и , которые будут заполняться н а ш е й программой. Программа N P I 337
Курс
Защитные средства с открытыми исходными текстами
была отличным подспорьем в этом отношении, хотя м ы добавили новые таблицы, обслуживающие планирование. Несмотря н а то, что потоки данных были аналогичны N P I , имелись и некоторые существенные различия. М ы разработали диаграмму этих потоков, чтобы м о ж н о было проследить все логические связи между сис¬ темами. Н а рис. 8.11 показана логическая архитектура N C C . Для проекта м ы создали также Web- сайт и страницу Sourceforge. Web-страница расположена по адресу www.netsecuritysvcs.com/ncc. Хотя м ы решили, что в н а ш е й группе достаточно талантов для завершения про¬ екта, никогда не мешает познакомить других людей из сообщества откры того П О с тем, что вы делаете. Кроме того, когда проект будет закончен, может понадобиться п о м о щ ь п р и переносе н а другие платформы и п р и добавлении новых возможностей. Когда все приготовления были закончены, м ы начали работу, к а к правило, проводя еженедельные встречи для отслеживания продвиже¬ н и й . Поскольку это было не основное занятие и у всех имелась другая ра¬ бота, потребовалось около года для завершения программы в стадии бета-
Рис. 8.11. Логическая архитектура N C C 338
Глава 8
Средства анализа и управленияя
версии. Тем не менее, ее уже м о ж н о использовать и теперь, с п о м о щ ь ю се¬ тевого сообщества разработчиков, N C C м о ж н о расширять и улучшать. Н а п и с а н и е N C C к а к проекта с открытыми исходными текстами, несом¬ н е н н о , требует несколько больше усилий для внешних взаимодействий, чем выполнение его как частного проекта, поскольку необходимо выпол¬ нить исследование существующих программ и интегрировать базы исход¬ ных текстов, но зато м ы смогли воспользоваться существующими исход¬ н ы м и текстами, что значительно сократило общее время разработки. М ы также знали, что если наша система станет популярной, ее м о ж н о будет перенести на другие платформы или даже использовать в качестве осно¬ вы для более развитой программы, что н а м только помогло бы. В к о н ц е к о н ц о в , как показал опыт, в выигрыше осталась как моя к о м п а н и я , так и в н е ш н и е пользователи.
Установка NCC Предварительные требования N C C п р и м е р н о те ж е , что и у средства N P I , описанного в ы ш е в этой главе. Необходим поддерживающий P H P Web-сервер (такой как Apache), база данных M y S Q L , клиент и сервер Nessus. Предполагается, что все это уже установлено и работает. Если вы еще этого не сделали, то обратитесь к предыдущим разделам этой главы, п о с в я щ е н н ы м настройке Apache и M y S Q L , и к главе 5 за инструкциями по установке Nessus. Когда все будет на месте, м о ж н о приступать к установке N C C . 1. Загрузите программу или возьмите ее с прилагаемого к книге ком¬ пакт-диска. 2. Распакуйте программу в отдельном каталоге, проверив, что о н включен в ваш список поиска. 3. Перейдите в каталог N C C и наберите ./install.pl. Запустится про¬ цедура установки N C C . ( N C C не требует к о м п и л я ц и и , поскольку он запрограммирован на интерпретируемых языках, таких к а к Perl и PHP.) Программа установки сначала проверит присутствие модулей Perl, необходимых N C C . Если она их не найдет, то придется загру¬ зить соответствующие модули либо с дистрибутивных дисков, ли¬ бо с п о м о щ ь ю утилит C P A N , описанных в разделе «Установка Swatch» в ы ш е в этой главе. 4. Программа автоматически инициализирует базу данных и скопи¬ рует все ф а й л ы в подходящие места. Во время установки будет предложено ввести дополнительную и н ф о р м а ц и ю . В табл. 8.7 о п и с а н ы эти параметры установки. 339
Курс
Защитные средства с открытыми исходными текстами
Табл. 8.7. Параметры установки N C C Параметр Пользователь N C C
Каталог установки
Электронный адрес администратора N C C Адрес отправителя результатов И м я сервера M y S Q L
И м я базы данных для N C C
Пользователь M y S Q L Пароль M y S Q L Сервер Nessus
Порт Nessus
И м я пользователя Nessus Пароль Nessus Маршрут Nessus
Каталог Temp
Описание Системный счет, от и м е н и которого будет вы¬ полняться N C C . Рекомендуется создать специ¬ альный счет пользователя только для N C C . М о ж н о выбрать один и з двух стандартных вари¬ антов, /usr/local/ncc или текущий каталог, либо определить свой собственный. Адрес электронной почты администратора N C C , на который будут поступать все отчеты о еже¬ дневной активности. Адрес, откуда будут посылаться отчеты (важно для фильтрации спама). И м я хоста или IP-адрес сервера M y S Q L для N C C , который должен быть задан к а к localhost, если сервер M y S Q L функционирует на той ж е машине. И м я базы данных M y S Q L , создаваемой проце¬ дурой установки. Подразумеваемое значение ncc вполне подходит для большинства устано¬ вок. Допустимый пользователь системы M y S Q L , специально предназначенный для N C C . Пароль для указанного в ы ш е пользователя. И м я хоста или IP-адрес сервера Nessus (localhost, если Nessus и N C C выполняются на одной машине). Порт для подключения к серверу Nessus. Подра¬ зумеваемое значение 1241 годится, если только вы н е изменили это значение на сервере Nessus. Допустимый пользователь на сервере Nessus. Пароль для упомянутого в ы ш е пользователя. Маршрут к и с п о л н и м ы м файлам Nessus. Подра¬ зумеваемое значение соответствует стандартной установке Nessus. Здесь N C C будет накапливать результаты ска¬ н и р о в а н и й , прежде ч е м импортировать их в базу данных. М о ж н о заглянуть в этот каталог, если нужно найти необработанные ф а й л ы .nbe, кото¬ р ы е были использованы. 340
Глава 8
Средства анализа и управления
5. Затем будет запрошена к о м б и н а ц и я имени и пароля администра¬ тивного пользователя N C C . Этот пользователь будет администра¬ тором всей системы, поэтому тщательно выбирайте и м я и пароль. 6. Создайте символьную ссылку в каком-либо из общедоступных Web-каталогов, откуда вы хотите иметь доступ к N C C . Направьте ее на подкаталог html в корневом каталоге установки N C C . Это свяжет вас с основной страницей N C C и в а ш и м и общедоступны¬ ми Web-каталогами и защитит от доступа другие ф а й л ы N C C . 7. Теперь вы готовы к запуску N C C . Убедитесь, что база данных и Web-сервер работают, откройте Web-навигатор и введите и м я хос¬ та для сервера N C C вместе с именем созданной на предыдущем шаге символьной ссылки. Н а п р и м е р , если вы назвали символь¬ ную ссылку ncc и создали ее в корневом каталоге Web, а сервер N C C имеет имя ncc.example.com, то U R L будет выглядеть следую¬ щ и м образом: http://ncc.example.com/ncc
Если вы обращаетесь к N C C на локальной м а ш и н е , то сработает http://localhost/ncc
Отобразится входная страница N C C . 8. Введите имя пользователя и пароль, заданные в процессе установки. Теперь м о ж н о применять N C C для автоматизации и планированияя сканирований.
Применение NCC После входа отображается основной экран N C C (см. рис. 8.12). Здесь м о ж н о управлять всеми группами, организациями, целями сканированияя и расписаниями. N C C построен как модульная и расширяемая программа. Н а п р и м е р , м о ж н о применять N C C для управления несколькими с к а н и р о в а н и я м и одной организации. Однако, если вы работаете консультантом, то може¬ те определить сканирования для нескольких организаций с р а з н ы м и про¬ ф и л я м и . Давайте сделаем еще один шаг и предположим, что вы хотите стать поставщиком услуг приложений безопасности. N C C позволяет за¬ дать несколько групп, каждая со своими элементами-организациями, дляя всех ваших индивидуальных агентов и консультантов, продающих услуги анализа защищенности. (Со временем будут созданы настраиваемые ин¬ терфейсы для управления группами, но в бета-версии эти средства отсут¬ ствуют). 341
Курс
Защитные средства с открытыми исходными текстами
Рис. 8.12. Основной интерфейс N C C Вы можете выбирать из четырех основных о п ц и й . • System admin. Эти о п ц и и доступны только системному админист ратору. Здесь м о ж н о создавать группы и выполнять другие функ¬ ц и и системного уровня. • Group admin: Эти о п ц и и доступны только администраторам групп, которые могут добавлять, редактировать или удалять групповые п р о ф и л и организаций. Вы будете применять эти ф у н к ц и и , напри¬ мер, п р и задании различных организаций с набором целей, каждой из которых м о ж н о управлять. К а ж д ы й администратор групп будет видеть только те организации, к которым он имеет доступ. • Company admin: Здесь вы управляете пользователями, целевыми файлами и р а с п и с а н и я м и для каждой организации. Н а п р и м е р , вы можете пожелать, чтобы администратор более низкого уровня вы¬ полнял сканирование для одного подразделения, н о не для друго¬ го. Подобные параметры м о ж н о задавать здесь. • User functions: Этот раздел доступен всем пользователям. Здесь от¬ дельные пользователи могут редактировать данные своего профи¬ л я и выполнять действия со своими счетами, такие к а к изменение пароля. О н и могут также получить доступ к д а н н ы м выполненного сканирования. Возьмем простой пример и пройдемся по всем этапам добавленияя пользователей, добавления целей и составления расписания сканирова¬ н и й . Д л я простоты предположим, что вам не требуются средства под¬ держки нескольких организаций и нескольких групп. 342
Глава 8
Средства анализа и управления
Добавление пользователей 1. Во- первых, необходимо добавить пользователя ( отличного от сис¬ темного администратора, который был добавлен ранее). В разделе Company A d m i n щелкните м ы ш ь ю на A d d под строкой User Mgmt, чтобы добавить пользователя, который может запускать сканиро¬ вания. 2. Выберите организацию, которой он будет принадлежать, из выпа¬ дающего списка и щелкните м ы ш ь ю н а Add. 3. Н а экране управления пользователями впишите и н ф о р м а ц и ю о новом пользователе (см. рис. 8.13). Здесь м о ж н о выбрать и м я пользователя и пароль. Пароль п р и вводе заменяется звездочками и сохраняется к а к х э ш - значение M D 5 , а не к а к о б ы ч н ы й текст. Выберите здесь также тип пользова¬ теля: System admin, Group admin, Company admin или User. Отме¬ тим, что вы можете создавать пользователей, которые находятсяя на том же или нижележащем уровне, что и вы. Например, админи¬ страторы организаций не могут создавать пользователей уровняя системного администратора. Если вы хотите отредактировать и л и удалить существующего пользователя, щелкните м ы ш ь ю н а Edit/delete н а основном экра¬ не в разделе управления организациями (Company Management). 4. Щелкните м ы ш ь ю на Add, и N C C добавит в базу данных пользова¬ теля, который может теперь входить в систему и добавлять скани¬ рования к а к сотрудник организации, к которой он был приписан.
Рис. 8.13. Экран управления пользователями N C C . 343
Курс
Защитные средства с открытыми исходными текстами
Добавление целей В N C C цель определяется как произвольный набор IP- адресов и ассо¬ циированных настроек сканирования для этих адресов. П р и проектирова¬ нии программы м ы приняли сознательное решение разделить объекты целей и объекты расписаний. Это делает программу более модульной и повышает ее гибкость. Например, вы можете запланировать определенное сканирова¬ ние н а начало каждого месяца. Однако, если возникает новая уязвимость, вы можете пожелать однократно просканировать данную цель в середине меся¬ ца, чтобы проверить выявленную уязвимость. N C C позволяет добавлять со¬ бытие одноразового сканирования для данной цели, вместо того, чтобы из¬ менять, а затем восстанавливать ежемесячное сканирование в прежнем виде. 1. Чтобы добавить цель, щелкните м ы ш ь ю н а Target Mgmt в разделе Company A d m i n основного экрана. 2. Раскройте контекстное м е н ю , чтобы увидеть все цели, к которым вы имеете доступ. Если вы являетесь администратором группы, то вам покажут все цели для каждой организаций, которой вы при¬ надлежите. 3. Щ е л к н и т е м ы ш ь ю н а A d d , появится экран управления целями (см. р и с . 8.14). Здесь м о ж н о выбрать организацию, для которой добавляется цель. Задайте для цели текстовое описание, например "серверы в д е милитаризованной зоне". Это описание появится в раскрывающемся
меню, поэтому оно должно быть достаточно содержательным.
Рис. 8.14. Управление целями в N C C 344
Глава 8
Средства анализа и управленияя
4. Выберите тип сканирования: будет л и сканироваться один адрес, подсеть или диапазон адресов. 5. В поле Scan Value введите цепочку целевых IP-адресов в синтакси¬ се, который поддерживает Nessus. Н а п о м н и м (см. главу 5) допус¬ т и м ы е в Nessus форматы адресов: Один IP-адрес IP-адреса, разделенные запятыми IP-диапазон — пара адресов, разделенных дефисом Стандартная нотация с косой чертой И м я хоста Произвольная комбинация вышеприведенных э л е ментов, разделенных запятыми
192.168.0.1 192.168.0.1,192.168.0.2
192.168.0.1-192.168.0.254
192.168.0.1/24 (сеть класса C из 256 адресов)
myhost.example.com 192.168.0.1-192.168.0.254,195.168.0.1/24,192.168.0.1-192.168.0.254
6. Выберите конфигурацию сканирования. П о умолчанию использу¬ ется сканирование Nessus. Имеется до четырех других типов скани¬ рования. (В последующих версиях будет разрешена выгрузка файла индивидуальной конфигурации и вставка в текстовый файл). 7. Щ е л к н и т е м ы ш ь ю на Add, и цель будет добавлена. Теперь все го¬ тово для составления расписания сканирований.
Составление расписания сканирований Когда созданы объекты целей, для н и х м о ж н о определить расписа¬ н и е сканирований. 1. В основном м е н ю в разделе Company A d m i n щелкните м ы ш ь ю на Schedule Management. Появится экран управления расписанием (см. рис. 8.15). 2. Выберите организацию и цель в этой организации. Здесь также до¬ ступно раскрывающееся меню выбора, отражающее уровень поль¬ зователя, под именем которого вы вошли в систему. 345
Защитные средства с открытыми исходными текстами
Курс
Schedule Management
System Admin
Add Group Admin C«npinyM»mt Company Admin
Schedule De-scriptic
|-i.li-l_rr.iiU;;jlP Sl4
Target Selection
|N5SirfcjralNetooik
:
-•-!.-
_-j
|
UmMgmt •
User Functions
Start Now Start Liitr
Ms
jj
JTJ
|i:t
-d
Start Time V«w Report! NOTS: This tint wiHbt mtiifttdi sch*Ju$i typ<s.
LOGOUT Run Once Kim Daily
I
Run Weekly Г
Sun Mon Tue Wed Thu Fri Sat
о
а
о с с с с
Run Monthty
Day of Month |oi Zl
Finish Date
I-
JJ
1»м
d 1 • jd
MietWuts |
Рис. 8.15. Э к р а н управления расписанием в N C C 3. Выберите дату сканирования, время, частоту, число повторов. М о ж н о выполнять сканирование один раз, ежедневно, еже¬ недельно, ежемесячно, раз в два месяца, ежеквартально ( в после¬ дующих версиях будут поддерживаться индивидуальные последо¬ вательности повторений в формате cron и л и I-cat). М о ж н о также задать, чтобы повторение происходило только определенное ко¬ личество раз, например, для заказчика, который подписал годовой контракт н а ежемесячное сканирование. Допускается неограни¬ ченное число повторов, например, регулярное ежемесячное ска¬ нирование вашей собственной сети. 4. Щ е л к н и т е м ы ш ь ю н а A d d , и расписание для данного сканирова¬ н и я будет сформировано. Теперь м о ж н о спокойно сидеть и ждать отчетов. Пользова¬ тель, создавший сканирование, будет уведомляться п о электрон¬ н о й почте за день до его в ы п о л н е н и я ( за исключением ежеднев¬ ных сканирований, для которых уведомление происходит за час до начала). Е щ е одно электронное сообщение о н получит, когда от¬ чет будет готов для просмотра. 5. Когда сканирование выполнено, м о ж н о просмотреть его результа ты, выбирая View reports в разделе User Functions основного меню. Отобразится экран базы данных сканирований N C C (см. рис. 8.16). М о ж н о просматривать данные сканирований и генерировать индивидуализированные отчеты для заказчиков. 346
Глава 8
Средства анализа и управленияя
Рис. 8.16. Представление базы данных сканирований в N C C Заметим, что этот интерфейс похож на интерфейс N P I , который был рассмотрен выше в этой главе. Это объясняется тем, что при создании данного раздела м ы использовали фрагменты N P I . N P I имеет открытые исходные тексты с л и ц е н з и е й G P L , поэтому, если м ы выпускаем про¬ грамму с лицензией G P L и включаем и н ф о р м а ц и ю об авторских правах, то м ы имеем право заимствовать эти тексты. П р и использовании откры¬ тых исходных текстов вы имеете п о л н ы й доступ к л ю б ы м их продвижени¬ я м и усовершенствованиям. Может показаться, что для простого сканирования требуется слиш¬ к о м много работы, и это действительно так, если оно выполняется толь¬ ко один раз. Н о когда вы управляете десятками сканирований при уча¬ стии нескольких пользователей, то N C C может оказаться бесценным ин¬ струментом для контроля всей этой деятельности. И так, у вас есть средства и з н а н и я для создания законченной систе¬ м ы обнаружения вторжений и сканирования уязвимостей с развитыми аналитическими возможностями. П р и м е н я я этот инструментарий, вы сможете существенно повысить безопасность вашей внутренней сети и внешних серверов. В совокупности эти средства позволяют наиболее эф¬ фективно использовать время, затрачиваемое на повышение безопасно¬ сти сети. Теперь м ы приступаем к рассмотрению средств ш и ф р о в а н и я , помогающих обеспечивать безопасность ваших данных внутри и вне ва¬ шей сети.
347
Курс
Защитные средства с открытыми исходными текстами
Глава 9. К р и п т о г р а ф и ч е с к и е с р е д с т в а Рассмотренные до сих пор средства применялись для защиты сетей и м а ш и н , располагающихся в этих сетях. Однако, когда д а н н ы е выходят за границы сети, о н и оказываются вне защиты описанных средств и по¬ тенциально могут быть перехвачены злоумышленниками. Большинство современных Интернет-приложений передают свои д а н н ы е в открытом виде (открытым текстом). Это означает, что при просмотре пакетов лю¬ бой ж е л а ю щ и й может видеть данные. Когда д а н н ы е пересекают Интер¬ нет, они проходят через различные системы, большинство из которых на¬ ходятся вне вашего непосредственного контроля и поэтому д о л ж н ы счи¬ таться недружественными. Маршрутизаторы и коммутаторы поставщи ков Интернет-услуг могут применяться как внутри, так и вне вашей сети, а почтовые и Web-серверы стандартным образом обрабатывают ваши приватные данные. Н е существует способа избежать отправки данных за пределы вашей сети. Основное преимущество глобальности Интернет — возможность со¬ вместного использования и н ф о р м а ц и и со всеми бизнес-партнерами и за¬ казчиками из внешнего мира. Невозможно вернуться во времена полно¬ стью собственных сетей. К а к ж е защитить важные д а н н ы е , когда они по¬ кидают уютные и безопасные пределы д о м а ш н е й сети? Ч т о б ы обезопа¬ сить свои д а н н ы е в Интернет, большинство организаций полагаются на криптографию, и вы также можете применять это важное средство дляя поддержания целостности и конфиденциальности. Вам может понадобиться защитить д а н н ы е от несанкционированно¬ го просмотра и в вашей сети, поскольку не всякая и н ф о р м а ц и я должна быть доступна для всеобщего обозрения даже в пределах организации. Н а к о н е ц , ш и ф р о в а н и е важных данных может служить последней л и н и е й обороны против хакеров. Д а ж е если и м удастся проникнуть в сеть и под¬ чинить себе сервер, и м придется взломать ш и ф р , чтобы добраться до ва¬ ших данных.
Обзор главы Изучаемые концепции: • Симметричная и асимметричная криптографияя • Различные криптографические алгоритмы • Криптографические приложенияя • Модель безопасности с удостоверяющим центром • Модель безопасности с сетью доверияя Используемые инструменты: PGP, G n u P G , OpenSSH, F r e e S / W A N , John the Ripper
348
Глава 9
Криптографические средства
Имеется множество различных криптографических протоколов. Обратившись к эталонной модели ВОС (см. рис. 9.1), м о ж н о видеть, что существуют криптографические средства, действующие на нескольких различных уровнях модели. К а к вы, вероятно, догадались, доступно мно¬ го прекрасных криптографических средств с открытыми исходными тек¬ стами почти для любых приложений, от ш и ф р о в а н и я отдельных файлов до защиты всех ваших исходящих Интернет-соединений. На самом деле, доступность высококачественного криптографического программного обеспечения коренится в движении за открытость исходных текстов. Номер уровня модели ВОС Уровень 7 Уровень 6 Уровень 5 Уровень 4 Уровень 3 Уровень 2 Уровень 1
Название уровня Прикладной уровень Уровень представления Уровень сеанса Транспортный уровень Сетевой уровень К а н а л ь н ы й уровень Физический уровень
Криптографические стандарты PGP, G n u P G SSL, S S H IPsec
Рис. 9.1. Модель ВОС и криптография
Виды криптографии На сегодня имеется два основных метода ш и ф р о в а н и я . Первый ме¬ тод, именуемый симметричным или шифрованием с разделяемым секретом, применялся со времен древнего Египта. В н е м секретный ключ, называе м ы й разделяемым секретом, используется для превращения данных в не¬ понятную тарабарщину. Второй стороне разделяемый секрет (ключ) тре¬ буется для р а с ш и ф р о в а н и я данных в соответствии с криптографическим алгоритмом. Если изменить ключ, изменятся и результаты ш и ф р о в а н и я . Это называется симметричной криптографией, поскольку один и тот же ключ применяется обеими сторонами к а к для з а ш и ф р о в а н и я , так и дляя р а с ш и ф р о в а н и я данных (см. рис. 9.2). Проблема с этим методом состоит в том, что необходимо безопас¬ н ы м образом передать секретный ключ предполагаемому получателю. Ес¬ ли враг перехватит ключ, он сможет прочитать сообщение. Изобретались всевозможные системы с целью обойти это фундаментальное слабое мес¬ то, но факт остается фактом: требуется каким-то образом передавать сек¬ ретный ключ предполагаемому получателю, прежде чем м о ж н о будет на¬ чинать з а щ и щ е н н о е взаимодействие. 349
Курс
Защитные средства с открытыми исходными текстами
Рис. 9.2. Симметричная криптография Революция в криптографии началась, когда Витфилд Д и ф ф и , М а р тин Хеллман и Ральф Меркл изобрели криптографию с открытым к л ю чом. (Некоторые утверждают, что в действительности британский граж данский служащий Джеймс Эллис сделал это раньше и держал в секрете, но Д и ф ф и , Хеллману и Мерклу принадлежит первая публикация, датиру¬ емая 1976-м годом.) О н и пытались решить старую проблему обмена клю¬ чами. Д и ф ф и интересовало, как два человека, желающие осуществить финансовую транзакцию через электронную сеть, могут сделать это безо¬ п а с н ы м образом. Он думал о далеком будущем, так как Интернет тогда был в зачаточном состоянии, а электронной к о м м е р ц и и еще не существо¬ вало. Если правительственные организации имеют проблемы при обмене ключами, то как может справиться с этим рядовой гражданин? Он хотел построить систему, с п о м о щ ь ю которой две стороны могли бы легко под¬ держивать з а щ и щ е н н ы е к о м м у н и к а ц и и и безопасные транзакции, не об¬ мениваясь каждый раз ключами. Он знал, что если он сможет решить проблему обмена ключами, то это станет прорывом в криптографии. Д и ф ф и сотрудничал с М а р т и н о м Хеллманом и Ральфом Мерклом. И м потребовалось несколько лет, но в конце концов они создали систему, н а з ы в а е м у ю шифрованием с открытым ключом ( P K E — Public Key Encryption), известную также как асимметричная криптография. В асимметричной криптографии применяется ш и ф р о в а н и е , при ко¬ тором некая величина расщепляется на два ключа меньшего размера. Один из них делается открытым, а другой сохраняется в секрете. Вы шиф¬ руете сообщение с п о м о щ ь ю открытого ключа получателя. Получатель может затем расшифровать его с п о м о щ ь ю своего секретного ключа. И он может сделать то же самое для вас, шифруя сообщение с п о м о щ ь ю ваше¬ го открытого ключа, чтобы вы могли расшифровать его с п о м о щ ь ю сво350
Глава 9
Криптографические средства
Рис. 9.3. Асимметричная криптография (открытый ключ) его секретного ключа (см. рис. 9.3). Суть в том, что не требуется знать чейто секретный ключ, чтобы послать з а щ и щ е н н о е сообщение. Применяет¬ ся открытый ключ, который не нужно держать в секрете ( на самом деле, его можно публиковать наравне с номером телефона). Используя откры¬ тый ключ получателя, вы знаете, что только этот человек может расшиф¬ ровать сообщение при п о м о щ и своего секретного ключа. Д а н н а я система позволяет двум сущностям безопасно общаться без какого-либо предва¬ рительного обмена ключами. Асимметричная к р и п т о г р а ф и я обычно реализуется с п о м о щ ь ю од¬ носторонних ф у н к ц и й . В математических терминах это ф у н к ц и и , кото¬ рые очень легко вычислять в одном направлении, но очень сложно — в обратном. И м е н н о это позволяет публиковать открытые ключи, которые являются п р о и з в о д н ы м и от секретных ключей. Очень трудно выполнить обратное преобразование и определить секретный ключ. Н а сегодняш¬ н и й день наиболее употребительной односторонней ф у н к ц и е й являетсяя перемножение больших простых чисел. Очень легко перемножить два больших простых числа и получить произведение, однако определение того, к а к и м из множества возможных способов это произведение рас¬ кладывается на два множителя, является одной из трудных математиче¬ ских задач. Если бы кто-то изобрел метод быстрого определения множи¬ телей подобных больших чисел, это поставило бы крест на многих совре¬ м е н н ы х методах ш и ф р о в а н и я с открытым ключом. К счастью, имеются и другие трудновычислимые ф у н к ц и и , обратные к легковычислимым. Н а п р и м е р , пока неизвестны быстрые алгоритмы для логарифмированияя в к о н е ч н о м поле или в группе точек эллиптической кривой над конеч¬ н ы м полем, тогда как возведение в степень в обоих этих случаях выпол¬ нить очень легко. 351
Курс
Защитные средства с открытыми исходными текстами
Вскоре после п у б л и к а ц и и Д и ф ф и , Х е л л м а н а и М е р к л а другая группа из трех ч е л о в е к разработала п р а к т и ч е с к о е п р и л о ж е н и е т е о р и и . Эта система для ш и ф р о в а н и я с о т к р ы т ы м к л ю ч о м была названа R S A по и м е н а м авторов: Ronald Rivest (Рональд Ривест), A d i Shamir (Ади Ш а м и р ) и Leonard Adleman (Леонард Адлеман). О н и образовали к о м п а н и ю и начали л и ц е н з и р о в а т ь свою систему. Д е л о ш л о туго, и их компанияя почти о б а н к р о т и л а с ь , п о к а о н и н е д о г о в о р и л и с ь с м а л о и з в е с т н о й тогда к о м п а н и е й Netscape об и с п о л ь з о в а н и и в о з м о ж н о с т е й растущего поляя И н т е р н е т - к о м м е р ц и и . Остальное уже и с т о р и я , и R S A на с е г о д н я ш н и й д е н ь — с а м ы й у п о т р е б и т е л ь н ы й алгоритм ш и ф р о в а н и я с о т к р ы т ы м к л ю ч о м . Д и ф ф и и Х е л л м а н со в р е м е н е м выпустили с о б с т в е н н о е прак¬ т и ч е с к о е п р и л о ж е н и е , н о о н о п р и м е н я е т с я только д л я о б м е н а ключа¬ м и , в то время к а к R S A — для а у т е н т и ф и к а ц и и и о б е с п е ч е н и я неотказуемости. Ш и ф р о в а н и е с открытым ключом присутствует теперь на каждом Web- сервере, предлагающем б е з о п а с н ы е п о к у п к и . Ваша транзакцияя шифруется без передачи или получения секретного ключа, и все это про¬ исходит в ф о н о в о м режиме. К а к пользователи, м ы знаем, что в навигато¬ ре появился маленький символ замка SSL, и м ы чувствуем себя в безопас¬ ности. Нетрудно представить себе судьбу И н т е р н е т - к о м м е р ц и и , если бы при каждой покупке в Сети приходилось думать о секретном ключе, шифровать сообщение, а затем как-то передавать этот ключ другой сторо¬ не. Очевидно, что без криптографии с открытым ключом электроннаяя к о м м е р ц и я в ее современном виде не могла бы существовать. Имеется много различных алгоритмов ш и ф р о в а н и я , протоколов и приложений на основе этих двух основных видов криптографии. В следу¬ ющих разделах вы ознакомитесь с некоторыми из них.
Криптографические алгоритмы В н а ш е время сила криптографии обычно характеризуется размером ключа. Независимо от силы алгоритма, з а ш и ф р о в а н н ы е д а н н ы е могут подвергаться атакам методом грубой силы, пробующим всевозможные к о м б и н а ц и и ключей. Со временем ш и ф р может быть взломан. Для боль¬ шинства современных ш и ф р о в с подходящей длиной ключа время их взлома методом грубой силы измеряется тысячелетиями. Однако неиз¬ вестный дефект алгоритма, достижения в компьютерной технологии или математических методах могут резко сократить это время. О б ы ч н о считается, что д л и н а ключа д о л ж н а быть достаточной дляя с о х р а н е н и я з а щ и т ы д а н н ы х на р а з у м н ы й п е р и о д в р е м е н и . Если речь идет о к о р о т к о ж и в у щ и х д а н н ы х , таких к а к к о м м у н и к а ц и и на поле бояя и л и ежедневная биржевая и н ф о р м а ц и я , то в п о л н е достаточно ш и ф р а , 352
Глава 9
Криптографические средства
о б е с п е ч и в а ю щ е г о защиту в т е ч е н и е недель и л и месяцев. О д н а к о неко¬ т о р ы е в е щ и , т а к и е к а к н о м е р к р е д и т н о й карты и л и секреты националь¬ н о й безопасности, необходимо сохранять з а щ и щ е н н ы м и гораздо доль¬ ш е , по сути — навсегда. П о э т о м у п р и м е н е н и е слабых алгоритмов шиф¬ р о в а н и я или к о р о т к и х к л ю ч е й для н е к о т о р ы х д а н н ы х п р и е м л е м о , толь¬ к о если п о л е з н о с т ь и н ф о р м а ц и и для п о с т о р о н н и х теряется за к о р о т к о е время. Стандарт
шифрования
данных
DES (Data Encryption
Standard)
D E S является исходным стандартом, который правительство С Ш А рекомендовало для правительственных и коммерческих применений. Пер¬ воначально в 1970-е годы он считался практически невскрываемым, но с ростом вычислительной мощности и снижением стоимости вычислений его 56-битный ключ функционально устарел для высокосекретной инфор¬ мации. Тем не менее, он все еще применяется во многих коммерческих продуктах и считается приемлемым для приложений с умеренным уровнем безопасности. Он используется также в продуктах со слабыми процессора¬ ми, таких как смарт-карты и бытовые приборы, неспособных обрабатывать более длинные ключи. Тройной
DES
Тройной алгоритм D E S (TripleDES или 3 D E S , как его часто з а п и с ы вают) — более новая, усовершенствованная версия D E S , а его название отражает его функциональность. О н трижды применяет D E S к д а н н ы м , в ы п о л н я я з а ш и ф р о в а н и е , р а с ш и ф р о в а н и е и затем снова зашифрование. В действительности он не обеспечивает трехкратного усиления ш и ф р а (так как в нем задействованы всего два ключа — первый применяется два¬ ж д ы для з а ш и ф р о в а н и я , а второй служит для р а с ш и ф р о в а н и я результатов первого з а ш и ф р о в а н и я ) , но он тем не менее предоставляет эффективную длину ключа в 112 бит, что более чем достаточно почти для всех пользова¬ телей. RC4, RC5 и RC6 Это алгоритм ш и ф р о в а н и я , разработанный Рональдом Ривестом, одним из создателей R S A , первого коммерческого приложения крипто¬ графии с открытым ключом. Со временем были сделаны усовершенство¬ вания, чтобы усилить его и исправить некоторые недочеты. Текущая вер¬ сия RC6 допускает длину ключа до 2040 бит и переменный размер блока до 128 бит. 353
Курс
Защитные средства с открытыми исходными текстами
AES Когда правительство С Ш А осознало, что D E S со временем достигнет конца своей полезной ж и з н и , оно стало искать ему замену. Национальный институт стандартов и технологий С Ш А — правительственный орган стандартизации — объявил открытый конкурс на новый алгоритм, при¬ званный стать новым правительственным стандартом. Претендентов было много, включая R C 6 , Blowfish известного криптографа Брюса Шнайера и другие достойные алгоритмы. Победителем стал A E S , базирующийся на алгоритме Rijndael, разработанном двумя бельгийскими криптографами. То, что стандарт был выбран в результате открытого состязания, весьма примечательно, как и победа двух неамериканских разработчиков, позво¬ лившая без значительных финансовых вложений обеспечить ему мировое признание. A E S быстро становится новым стандартом шифрования. О н предлагает ключ ш и ф р о в а н и я до 256 бит, что представляется более чем до¬ статочным для обозримого будущего. Обычно A E S из соображений эффе¬ ктивности реализуется в режиме 128 или 192 бита.
Приложения криптографии Хэши Хэши служат специальным применением односторонних функций дляя аутентификации и верификации криптографическими средствами. Исход¬ н ы й файл пропускается через хэш-функцию, в результате чего порождаетсяя значительно меньший файл фиксированного размера с уникальными иден¬ тификационными признаками исходного файла. В дальнейшем это позво¬ ляет удостовериться, что файл никаким образом не был изменен. Хэшируяя подозрительный файл и сравнивая результат с заведомо хорошим значени¬ ем, можно определить, были ли внесены какие-либо изменения. Маловеро¬ ятно, что файлы с различной структурой будут порождать идентичные хэши. Даже изменение одного символа существенно меняет хэш. Вероятность того, что два различных файла дадут одинаковый хэш, пренебрежимо мала. Х э ш а м и часто снабжают загружаемые версии программного обеспе¬ ч е н и я , чтобы гарантировать получение подлинника. Это важно, особен¬ но для программ с открытыми исходными текстами, которые могут по¬ пасть к вам через третьи руки или с «неродного» сайта. На официальном Web-сайте обычно публикуется правильный хэш самой свежей версии. Если два значения не совпадут, то м о ж н о утверждать, что были внесены некоторые и з м е н е н и я , возможно, без разрешения или уведомления раз¬ работчиков программы. Наиболее популярный алгоритм хэшированияя называется M D 5 . 354
Глава 9
Криптографические средства
Цифровые
сертификаты
Ц и ф р о в ы е сертификаты — это «подпись» мира Интернет-коммер¬ ц и и . О н и применяются для аутентификации. О н и удостоверяют, что тот, с кем вы соединяетесь, действительно тот, за кого себя выдает. П р о щ е го¬ воря, сертификат служит «удостоверением» источника данных, содержа¬ щ и м открытый ключ организации. Х э ш сертификата шифруется с помо¬ щ ь ю секретного ключа этой организации или уполномоченной организа¬ ц и и — удостоверяющего центра (последнее предпочтительнее). Зная от¬ крытый ключ, п а р н ы й секретному, вы можете проверить подлинность сертификата и тем самым удостовериться в принадлежности Web-сайта интересующей вас организации. Сертификаты обычно приписываются определенному домену. О н и могут выпускаться удостоверяющим центром или локально, как описано выше. Имеется несколько удостоверяющих центров, самым крупным из которых является VeriSign — к о м п а н и я , поддерживающая также домен¬ ную систему имен. Удостоверяющие центры наделяют другие организа¬ ц и и правом предлагать сертификаты под их ответственность. Получить сертификат от VeriSign или одной из авторизованных организаций — все равно, как если бы кто-то поручился за вас. Обычно сертификат выпуска¬ ют только после проверки фигурирующих в н е м данных, осуществляемой либо по телефону, либо с п о м о щ ь ю некоторой бумажной документации, такой к а к устав организации. Когда вас «освидетельствуют», удостоверя¬ ю щ и й центр берет представленную вами и н ф о р м а ц и ю , включая U R L , для которого вы собираетесь применять сертификат, и «подписывает» ее ц и ф р о в ы м образом с п о м о щ ь ю своего секретного ключа. После этого Web-сервер или другая программа может использовать выданный серти¬ фикат. Когда в н е ш н и е пользователи получают с сервера некоторые дан¬ ные, например, Web-страницу, с присоединенным к н и м сертификатом, о н и могут применить криптографию с открытым ключом для проверки вашей личности. Ч а щ е всего сертификаты используются на Web-сайтах электронной к о м м е р ц и и , но они могут также применяться для коммуни¬ каций произвольного вида. S S H и Nessus могут использовать сертифика¬ ты для аутентификации. В виртуальных з а щ и щ е н н ы х сетях сертификаты также могут применяться для аутентификации вместо паролей.
Криптографические протоколы IPsec Хорошо известно, что при первоначальном проектировании I P - п р о токола вопросам безопасности уделяли не с л и ш к о м много внимания. IP 355
Курс
Защитные средства с открытыми исходными текстами
версии 4 (IPv4), д о м и н и р у ю щ и й протокол I P - к о м м у н и к а ц и й , н е предос тавляет никаких средств аутентификации и л и конфиденциальности. По¬ лезная нагрузка пакетов посылается в открытом виде, а заголовки пакетов м о ж н о легко изменять, т а к к а к о н и н е проверяются в месте назначения. М н о г и е атаки эксплуатируют эту базовую незащищенность инфраструк¬ туры Интернет. Н о в ы й стандарт IP, называемый IPv6, был разработан дляя обеспечения аутентификации и конфиденциальности с п о м о щ ь ю крип¬ тографии. О н также расширяет адресное пространство IP, используя 128битный адрес вместо применяемого сейчас 32-битного, и усовершенство¬ ван в ряде других направлений. Полная реализация стандарта IPv6 потребует широкомасштабной модернизации оборудования, поэтому развертывание IPv6 происходит довольно медленно. Однако была предложена реализация средств безо¬ пасности для IP, называемая IPsec, н е требующая значительных измене¬ н и й в схеме адресации. Производители оборудования перешли на IPsec, постепенно ставший фактическим стандартом для создания виртуальных з а щ и щ е н н ы х сетей в Интернет. IPsec — это н е к о н к р е т н ы й криптографический алгоритм, а скорее криптографический каркас для ш и ф р о в а н и я и в е р и ф и к а ц и и пакетов в протоколе IP. С п е ц и ф и к а ц и и IPsec предусматривают использование раз¬ личных алгоритмов и могут быть реализованы полностью или частично. К о м б и н а ц и я асимметричной и симметричной криптографии применяет¬ ся для ш и ф р о в а н и я содержимого пакетов, а хэширование добавляет к этому аутентификацию. Д а н н а я ф у н к ц и я называется протоколом аутентифицирующего заголовка — Authentication Header, A H ) . С п о м о щ ь ю A H создается и передается хэш IP-заголовка. Когда пакет прибывает в место назначения, хэш его заголовка перевычисляется. Если полученное значе¬ н и е н е совпало с п р и с л а н н ы м , значит, в процессе пересылки заголовок был изменен. Тем самым обеспечивается высокая степень доверия к под¬ линности исходного адреса. М о ж н о шифровать содержимое пакетов без добавления аутентифицирующего заголовка, чтобы н е снижать пропуск¬ ную способность и избежать проблем с трансляцией сетевых адресов и межсетевыми экранами. Имеется два различных режима работы IPsec: туннельный и транспортный. В туннельном режиме весь пакет — заголовок и все остальное — шиф¬ руется, помещается (инкапсулируется) в другой пакет и переправляетсяя по одному из туннелей виртуальной з а щ и щ е н н о й сети. В конечной точке этого туннеля пакет извлекается, расшифровывается и переправляется на правильный IP-адрес. Преимущество этого метода состоит в том, что по¬ сторонний наблюдатель н е может даже определить пункт назначения за¬ ш и ф р о в а н н о г о пакета. Другое преимущество — возможность централи¬ зованного управления и администрирования виртуальной з а щ и щ е н н о й 356
Глава 9
Криптографические средства
сети. Недостаток заключается в том, что для туннелирования требуетсяя специально выделенное оборудование на обоих концах. В транспортном режиме шифруется только полезная нагрузка пакетов; за головки посылаются без изменений. Это упрощает инфраструктуру и несколь¬ ко облегчает ее развертывание. Отметим, что транспортный режим можно со¬ четать с протоколом A H и верифицировать исходные адреса пакетов. Протокол туннелирования точка-точка (PPTP — Point-to-Point Tunneling Protocol) P P T P — стандарт, разработанный Microsoft, 3Com и другими боль ш и м и к о м п а н и я м и для обеспечения ш и ф р о в а н и я . К о р п о р а ц и я Microsoft включила его в Windows 98 и последующие выпуски, сделав вероятным кандидатом на роль основного стандарта массовой криптографии. Одна¬ ко в P P T P были обнаружены существенные дефекты, что ограничило его применение. Когда Microsoft включила поддержку IPsec в Windows 2000, это м о ж н о было счесть молчаливым п р и з н а н и е м победы IPsec как ново¬ го криптографического стандарта. Однако P P T P все-таки является полез н ы м и недорогим протоколом для создания виртуальных з а щ и щ е н н ы х се¬ тей П К со старыми версиями Windows. Протокол туннелирования второго уровня (L2TP — Layer Two Tunneling Protocol) Е щ е один индустриальный протокол, поддержанный к о м п а н и я м и Microsoft и Cisco. Хотя он часто используется в аппаратных устройствах ш и ф р о в а н и я , его п р и м е н е н и е в программном обеспечении довольно ог¬ раничено. Защищенный протокол сеансового (SSL — Secure Socket Layer)
уровня
Этот протокол специально предназначен для п р и м е н е н и я в Web, хо¬ тя он может использоваться почти для любого типа T C P - к о м м у н и к а ц и й . Первоначально к о м п а н и я Netscape разработала его для своего навигато¬ ра, чтобы помочь развитию электронной коммерции. SSL, опираясь на сертификаты, обеспечивает ш и ф р о в а н и е данных, аутентификацию обеих сторон и контроль целостности сообщений. В основном SSL работает в ф о н о в о м режиме при соединении с Web-сервером для защиты пересыла¬ емой и н ф о р м а ц и и , и его присутствие мало кто осознает. Обычно о н аутентифицирует только одну сторону — серверную, так как у большинства конечных пользователей нет сертификатов. 357
Курс
Защитные средства с открытыми исходными текстами
Криптографические приложения Ф и л Ц и м м е р м а н — п р о г р а м м и с т и а к т и в н ы й борец за права ч е л о века. Его т р е в о ж и л о , что все более ш и р о к о е п р и м е н е н и е к о м п ь ю т е р о в и к о м м у н и к а ц и о н н ы х сетей облегчает органам н а ц и о н а л ь н о й безопас¬ ности р е п р е с с и в н ы х р е ж и м о в перехват и сбор и н ф о р м а ц и и о диссиден¬ тах. Ф и л хотел н а п и с а т ь п р о г р а м м н о е о б е с п е ч е н и е , п о м о г а ю щ е е э т и м л ю д я м сохранять свою и н ф о р м а ц и ю в т а й н е и безопасности. П о д о б н о е П О могло бы в буквальном с м ы с л е спасать ч е л о в е ч е с к и е ж и з н и . О н т а к ж е н е в п о л н е доверял собственному правительству. О н з н а л , к а к лег¬ ко правительство может создать с и с т е м ы д л я п о и с к а о п р е д е л е н н ы х к л ю ч е в ы х слов в л ю б ы х э л е к т р о н н ы х с о о б щ е н и я х . О н хотел дать л ю д я м способ з а щ и т ы и гарантии их к о н с т и т у ц и о н н о г о права на тайну част¬ ной жизни. Он назвал свою программу «Приятное уединение» ( P G P — Pretty G o o d Privacy), так к а к считал, что проделал хорошую работу для защиты данных от разведок небольших стран. Однако агентство п о информаци¬ о н н о й безопасности С Ш А считало по-другому. Ц и м м е р м а н был обвинен в нарушении федеральных законов об экспорте вооружений за предоста¬ вление возможности загружать свою программу из любой точки мира. Первоначально Ц и м м е р м а н собирался учредить к о м п а н и ю для про¬ дажи своего изобретения. Однако, когда правительство стало его пресле¬ довать, о н бесплатно распространял свое программное обеспечение через Интернет, сделав его общедоступным. Впоследствии о н все-таки сформи¬ ровал к о м п а н и ю для продвижения коммерческих версий программного обеспечения, н о повсюду в Интернет имеются реализации P G P с откры¬ т ы м и исходными текстами. Некоторые и з н и х более популярны, ч е м дру¬ гие, а некоторые являются н и ш е в ы м и п р и л о ж е н и я м и , такими к а к шиф¬ рование электронной почты. В следующем разделе рассматривается офи¬ циальная условно свободная версия от P G P Corporation, а также версия с полностью открытыми исходными текстами. С п и с о к всех реализаций P G P м о ж н о найти п о адресу www.cypherspace.org/openpgp/. PGP Freeware: Средство криптографии с открытым ключом
358
Глава 9
Криптографические средства
Другие ресурсы: www.pgpi.com Списки почтовой рассылки: Группа поддержки PGP Freeware Рабочая группа IETF OpenPGP Пользовательский список рассылки PGP Рабочая группа PGP/MIME Список рассылки разработчиков PGPi Список рассылки переводчиков PGPi Список рассылки разработчиков Pgplib Все эти списки доступны для подписки по адресу: www.pgpi.org/links/mailinglists/en/. Телеконференции USENET: Alt.security.pgp Comp.security.pgp.announce Comp.security.pgp.discuss Comp.security.pgp.resources Comp.security.pgp.tech Официальную условно свободную версию P G P поддерживает М а с сачусетский технологический институт. Так к а к она лицензирована у Фи¬ ла Циммерамана и P G P Corporation, то м о ж н о н е сомневаться в ее цело¬ стности и законности. Недостатком условно свободной версии P G P явля¬ ется то, что она лицензирована только для индивидуального п р и м е н е н и я , поэтому ее м о ж н о использовать для персональной электронной почты или в целях образования, если вы — студент. Если вы собираетесь приме¬ нять эту версию P G P , н е забудьте внимательно прочитать лицензию. Хо¬ тя эта версия P G P имеет открытые исходные тексты и распространяетсяя бесплатно, существуют значительные ограничения на ее использование. П о м н и т е , что открытость исходных текстов н е обязательно означает бес¬ платность. Если вы желаете получить самую свежую версию в сочетании с простотой использования и поддержкой, то д о л ж н ы рассмотреть воз¬ можность покупки полной л и ц е н з и и у P G P Corporation. Она стоит при¬ мерно $125 на одного пользователя. П р и массовых закупках предоставля¬ ется скидка. Если вы н е можете или н е хотите платить, то более интерес¬ н ы м для вас может оказаться другое средство — G n u P G , полностью сво¬ бодная реализация P G P . Официальная версия P G P от P G P Corporation обладает некоторыми замечательными возможностями: • Встроенный клиент для виртуальных з а щ и щ е н н ы х сетей на основе IPsec 3 D E S , пригодный для безопасных к о м м у н и к а ц и й с л ю б ы м партнером, и м е ю щ и м P G P версии 8.0 или выше. 359
Курс
Защитные средства с открытыми исходными текстами
• Возможность создания саморасшифровывающихся архивов дляя отправки сообщений P G P тем, у кого нет установленного про¬ граммного обеспечения P G P . • Затирание удаленных файлов, то есть возможность удалить файл с последующей многократной перезаписью области данных на диске. • Затирание свободного пространства, аналогичное затиранию уда¬ ленных файлов, но для свободного дискового пространства, кото¬ рое может содержать следы старых данных. • Интегрированная поддержка командной строки для тех, кто зна¬ ком со старыми командами. • Встраиваемые модули для основных программ электронной почты: Outlook, Eudora и Claris Emailer (только в платной версии). • Поддержка посредников, полезная для пользователей, находящих¬ ся позади межсетевого экрана (только в платной версии). • P G P D i s k — средство ш и ф р о в а н и я целых томов или частей вашего диска, так что з а ш и ф р о в а н и е и р а с ш и ф р о в а н и е данных происхо¬ дит автоматически (только в платной версии). Прежде чем устанавливать и применять PGP, следует понять, как и на каких принципах работает программа. Д а н н ы й раздел не претендует на то, чтобы научить вас разбираться во всех деталях криптографии и P G P , для этого нужно обратиться к любой из множества книг на данную тему. Н о в результате прочтения этой главы вы с можете зашифровывать и рас¬ шифровать сообщения с п о м о щ ь ю PGP. Предостережение: П р и неправильном п р и м е н е н и и P G P может обес¬ печиваться л и ш ь слабая или вообще нулевая защита. К р о м е того, при не¬ осторожном обращении с ключами р а с ш и ф р о в а н и я м о ж н о безвозвратно потерять свои д а н н ы е (см. врезку «Не теряйте ваши ключи!»). P G P считается гибридной криптосистемой. Это означает, что для реа¬ лизации своих ф у н к ц и й она использует к о м б и н а ц и ю симметричной и асимметричной криптографии. Криптография с открытым ключом тре¬ бует значительно большей вычислительной м о щ н о с т и , чем симметрич¬ ная, так как обычно опирается на сложные математические действия с простыми числами. В P G P криптография с открытым ключом применя¬ ется только для выработки сеансового ключа, который затем использует¬ ся для ш и ф р о в а н и я сообщений с п о м о щ ь ю традиционной симметричной криптографии. Большинство криптосистем с открытым ключом приме¬ няют подобный метод для п о в ы ш е н и я эффективности. Вместо того ч т о б ы п р и к а ж д о м и с п о л ь з о в а н и и P G P ц е л и к о м вво¬ д и т ь свой с е к р е т н ы й к л ю ч , что требует н е м а л о в р е м е н и и с о п р я ж е н о с многочисленными ошибками, секретный ключ извлекается с жесткого д и с к а , где о н х р а н и т с я в з а ш и ф р о в а н н о м виде. Ч т о б ы р а з б л о к и р о в а т ь свой к л ю ч , н е о б х о д и м о в с я к и й раз п р и и с п о л ь з о в а н и и P G P вводить 360
Глава 9
Криптографические средства
парольную фразу. О н а похожа на п а р о л ь , н о о б ы ч н о д л и н н е е и состоит и з н е с к о л ь к и х с л о в , п р е д п о ч т и т е л ь н о из букв и ц и ф р . О ч е н ь в а ж н о за¬ п о м н и т ь эту п а р о л ь н у ю фразу, п о с к о л ь к у если в ы ее потеряете или за¬ будете, в ы н е с м о ж е т е в о с с т а н о в и т ь д а н н ы е , з а ш и ф р о в а н н ы е с помо¬ щью PGP.
Установка PGP и генерация пары ключей открытый/секретный 1. В первую очередь, загрузите файл программы P G P с Web-сайта. 2. Щ е л к н и т е м ы ш ь ю на самораспаковывающемся zip-файле, и о н автоматически начнет процесс установки. 3. У вас есть выбор между покупкой полной л и ц е н з и и и оценкой продукта. Щ е л к н и т е м ы ш ь ю на к н о п к е Purchase N o w (Купить сейчас), если хотите получить полную версию, авторизованную для коммерческого п р и м е н е н и я . В противном случае щелкните м ы ш ь ю на к н о п к е Later (Позже), чтобы воспользоваться условно свободной версией. 4. Программа установки затем проведет вас через процесс генерации пары ключей открытый/секретный. Этот процесс очень важен, так как служит основой защиты, которую предоставляет P G P . 5. Программа попросит вас ввести и м я , название организации, и ад¬ рес электронной почты. Вы не обязаны вводить электронный ад¬ рес, но если вы этого не сделаете, открытый ключ не будет ассоци¬ ирован с вашим адресом на сервере ключей, и человеку, который захочет послать вам з а ш и ф р о в а н н о е P G P - с о о б щ е н и е , будет слож¬ но найти ваш открытый ключ, если он его еще не имеет. 6. Затем программа попросит ввести парольную фразу, позволяю щую хранить ключи на диске. Не вводите здесь о б ы ч н ы й пароль, такой как одиночное слово или набор букв. Это существенно сни¬ зит безопасность ключей. Задайте последовательность слов с ком¬ бинацией из букв и ц и ф р . Это облегчит запоминание и в то же время гарантирует достаточную степень сложности. Х о р о ш и й пример сложной парольной фразы с числами, большими и малы¬ ми буквами и другими символами — one+one=Two. Примечание. Н е используйте этот пример... И, к о н е ч н о , это не моя парольная фраза. После ввода парольной фразы загрузится остальная часть программы, и установка будет завершена. Чтобы удалить P G P со своего компьютера, следует воспользоватьсяя предоставляемой функцией деинсталляции. Простого удаления файлов недостаточно, так к а к P G P вносит значительные изменения в реестр и другие базовые настройки Windows. 361
Курс
Защитные средства с открытыми исходными текстами
Флэми Тех советует: Не теряйте ключи!!! Л и ш и т ь с я ключей для P G P - почти то ж е , что потерять клю¬ ч и от квартиры или автомобиля, только намного хуже. Вооб¬ разите, что при утере физических ключей ваш дом или авто¬ мобиль навсегда становятся недоступными. И м е н н о это происходит с за¬ ш и ф р о в а н н ы м и д а н н ы м и , если теряется секретный ключ. А поскольку секретный ключ обычно з а ш и ф р о в а н на диске с п о м о щ ь ю парольной фразы, то потеря последней дает обычно тот ж е эффект. Н е забудьте сделать резервную к о п и ю папки с секретным ключом на ва¬ ш е м компьютере (вы ж е регулярно делаете резервное копирование своих данных, не так ли?) Если вам трудно запоминать пароли, запишите па¬ рольную фразу и сохраните ее где-нибудь в безопасном месте (желатель¬ но — не на «горчичнике», прилепленном к монитору). П о м н и т е , если вы потеряете ключ или парольную фразу, д а н н ы е будут безвозвратно утеряны; даже Агентство национальной безопасности не сможет вам помочь. Думаете, это преувеличение? Если бы ваши д а н н ы е легко восстанавливались, это было бы легко сделать и постороннему. По¬ этому помните о своей парольной фразе и ключах.
Применение PGP Доступ к P G P осуществляется из подменю Programs в меню Start. Там имеется несколько доступных о п ц и й , включая P G P M a i l и документа¬ цию. Условно свободная версия P G P снабжена отличной документацией, включая более чем семидесятистраничное введение в криптографию. Это прекрасный начальный курс для новичков в криптографии. Для P G P на¬ писано также огромное руководство пользователя. П р и запуске P G P M a i l на экране появляется небольшая панель инст¬ рументов. Ее м о ж н о минимизировать до небольшой и к о н к и на систем¬ ной панели, когда она не используется. Простой интерфейс P G P M a i l предлагает несколько опций: P G P K e y s , Encrypt, Sign, Encrypt and Sign, Decrypt/Verify, Wipe и FreeSpace wipe. К о н к р е т н ы е ф у н к ц и и каждого эле¬ мента рассмотрены ниже. PGPKeys Раздел PGPKeys служит для управления к а к в а ш и м и открытым и се¬ кретным ключами, так и открытыми ключами ваших партнеров (см. рис. 9.4). Программа P G P создает на диске два каталога, называемых кольца ми для ключей, так как они содержат все ключи, как открытые, так и сек362
Глава 9
Криптографические средства
Рис. 9.4. Э к р а н P G P K e y s ретные, которые нужны для п р и м е н е н и я P G P . Ф а й л pubring, находящий¬ ся в основном каталоге PGP, содержит ваш открытый ключ, а также от¬ крытые ключи других людей, которым вы предполагаете посылать за¬ ш и ф р о в а н н ы е файлы. Ф а й л secring содержит ваш секретный ключ, обыч¬ но в з а ш и ф р о в а н н о м виде. К а к правило, он содержит только один секрет¬ н ы й ключ, но у вас может быть и несколько секретных ключей. Н а п р и мер, вы можете применять один из них для деловых писем, а другой — для частной корреспонденции. Помните только, что документы, зашифро¬ ванные с п о м о щ ь ю определенного открытого ключа, м о ж н о расшифро¬ вать только с п о м о щ ь ю соответствующего ему секретного ключа. Здесь м о ж н о также создавать новые ключевые пары и отзывать пары ключей, которые больше не используются. М о ж н о загрузить свой откры¬ тый ключ на один из нескольких серверов открытых ключей. Это позво¬ лит тем, кто никогда с вами не общался, найти ваш ключ на сервере от¬ крытых ключей и послать вам сообщение P G P . Многие люди, применяю¬ щие PGP, имеют привычку размещать открытый ключ в строке подписи своих электронных сообщений, поэтому их адресаты могут легко послать и м сообщение, зашифрованное P G P . Другим способом, п о м о г а ю щ и м проверить законность некоторого персонального ключа, является его подписывание ключами других лю¬ дей. Это позволяет удостовериться, что н е к и й открытый ключ принадле¬ жит данному человеку. Вы должны подписывать открытые ключи только тех людей, которых хорошо знаете лично, и проверять, что ключ правиль¬ н ы й . Ваши друзья и знакомые также могут подписывать ваши ключи. Это кольцо подписывающих ключей создает неиерархическую модель дове¬ рия, называемую сетью доверия. Ее главное достоинство в том, что для ее работы не требуется центральный уполномоченный орган. Более подроб363
Курс
Защитные средства с открытыми исходными текстами
но о том, к а к работает сеть доверия, м о ж н о узнать из раздела G n u P G да¬ лее в этой главе. Чтобы добавить ключи других пользователей в ваше кольцо открытых ключей, можно либо импортировать их непосредственно из файла или про¬ извести поиск на серверах открытых ключей. Выбирая Search в меню Servers или щелкая мышью на иконке с изображением увеличительного стекла и вводя часть имени или некоторый идентифицирующий текст, можно уви¬ деть, какие ключи на серверах открытых ключей соответствуют вашему за¬ просу. Отбуксируйте выбранные элементы из результатов на основной эк¬ ран PGPKey, и открытый ключ этого человека будет доступен для использо¬ вания в сообщениях PGP. Можно также просмотреть специфические свой¬ ства любого ключа, включая подписавших этот ключ, размер ключа (в би¬ тах) и метод (обычно D H , что означает Diffie-Hellman). Наконец, можно импортировать или экспортировать ваши кольца ключей, если вы меняете компьютеры или должны восстановить данные с резервной копии. Encrypt Ф у н к ц и я Encrypt устроена просто. Сначала появляется диалоговое о к н о , которое позволяет выбрать файл для з а ш и ф р о в а н и я . Когда файл выбран, P G P попросит выбрать открытый ключ адресата из вашего коль¬ ца ключей. Если нужного ключа у вас еще нет, п о и щ и т е его на серверах открытых ключей, к а к описано выше, и добавьте его к своему списку. Вы¬ берите открытый ключ вашего адресата и отбуксируйте ключ из поля на¬ верху в с п и с о к адресатов. Флажки внизу слева позволяют задать несколько важных о п ц и й (см. рис. 9.5). Одна из наиболее важных — Wipe Original (Стереть оригинал). Установите этот флажок, если вы шифруете файл для хранения на жест¬ ком диске. В противном случае P G P просто создаст н о в ы й зашифрован¬ н ы й файл и оставит оригинал в открытом для просмотра текстовом виде в том ж е каталоге. П о м н и т е , однако, что если вы выберете эту о п ц и ю и потеряете свои ключи, то файл пропадет безвозвратно. Другим важным параметром является Conventional Encryption (Обыч¬ ное шифрование). Установка этого флажка отменяет шифрование с откры¬ тым ключом. Вместо этого будет производиться стандартное шифрование с разделяемым секретом, и вам нужно будет выбрать парольную фразу, что¬ бы зашифровать данные. Эту парольную фразу затем нужно безопасным образом передать адресату. Подобный метод ликвидирует основное досто¬ инство PGP, но он может быть необходим, если у вас нет открытого ключа адресата. Если у адресата нет программного обеспечения PGP, выберите опцию Self-Decrypting Archive (Саморасшифровывающийся архив). П р и этом будет создан файл, который сам расшифрует себя, когда получатель 364
Глава 9
Криптографические средства
Рис. 9.5. Экран о п ц и й ш и ф р о в а н и я P G P щелкнет на нем мышью. Конечно, получатель все равно должен знать па¬ рольную фразу, которая применялась при создании файла. Sign Ф у н к ц и я Sign дает возможность подписать файл с п о м о щ ь ю секрет¬ ного ключа, позволяя впоследствии проверить, что с момента подписа¬ н и я файл не изменился. П р и этом применяется х э ш - ф у н к ц и я для преоб¬ разования файла в формат дайджеста, а затем производится ш и ф р о в а н и е с п о м о щ ь ю секретного ключа. Это действие противоположно обычному ш и ф р о в а н и ю открытым ключом. Получатель может взять подпись и по¬ пытаться расшифровать ее с п о м о щ ь ю вашего открытого ключа. Если хэш и совпадут, то м о ж н о утверждать, что с момента подписания содержи¬ мое не изменилось. Д а н н а я ф у н к ц и я полезна, если вы больше озабочены целостностью файла, чем конфиденциальностью и н ф о р м а ц и и . Приме¬ ром может служить д л и н н ы й контракт, который был существенно отреда¬ ктирован. М о ж н о подписать его ц и ф р о в о й подписью и быть уверенным, что после этого никто не сможет его изменить. Подпись м о ж н о также применять для обеспечения так называемой «неотказуемости» — если вы подписали документ, то может быть доказано, что вы это сделали, если только кто- то не заполучил ваш секретный ключ. Это равносильно юри¬ дической силе физической подписи, за исключением того, что подделать цифровую подпись значительно труднее, чем обычную. 365
Курс
Защитные средства с открытыми исходными текстами
Encrypt
and Sign
Эта ф у н к ц и я совмещает ф у н к ц и и Encrypt и Sign, обеспечивая стро¬ гую конфиденциальность, целостность и неотказуемость. Decrypt/Verify Ф у н к ц и я Decrypt/Verify применяется для обращения процесса шиф¬ рования P G P . После выбора файла для р а с ш и ф р о в а н и я будет предложено ввести парольную фразу, чтобы м о ж н о было использовать хранящийся на диске секретный ключ. Если парольная фраза будет введена правильно, вам предложат задать имя нового файла, в который будет п о м е щ е н ре¬ зультат расшифрования. Эту ф у н к ц и ю м о ж н о также применять для про¬ верки подлинности подписи. Wipe Ф у н к ц и я Wipe навсегда стирает ф а й л с жесткого диска. Этот про¬ цесс существенно н а д е ж н е е , ч е м ф у н к ц и я Delete в Windows. П р о б л е м а с Windows и б о л ь ш и н с т в о м других о п е р а ц и о н н ы х систем состоит в т о м , что п р и удалении ф а й л а о н и на с а м о м деле н е удаляют д а н н ы е с жест¬ кого д и с к а , о г р а н и ч и в а я с ь удалением з а п и с и о ф а й л е в и н д е к с е файло¬ вой системы. Д а н н ы е п о - п р е ж н е м у остаются на д и с к о в ы х пластинах. И х м о ж н о просмотреть с п о м о щ ь ю н и з к о у р о в н е в о г о д и с к о в о г о редак¬ тора или восстановить с п о м о щ ь ю легко доступных утилит, таких к а к N o r t o n или D D ( D D демонстрируется в главе 11). Ф у н к ц и я Wipe на са¬ м о м деле н е с к о л ь к о раз перезаписывает д а н н ы е на д и с к е с л у ч а й н ы м и е д и н и ц а м и и н у л я м и . П о у м о л ч а н и ю это делается три раза, что в п о л н е достаточно для б о л ь ш и н с т в а случаев. П р и ж е л а н и и м о ж н о увеличить это ч и с л о по к р а й н е й мере до десяти, если вы стираете сверхсекретные д а н н ы е , поскольку с п е ц и а л и с т ы по в о с с т а н о в л е н и ю д а н н ы х в действи¬ тельности могут восстановить д а н н ы е даже после н е с к о л ь к и х переза¬ п и с е й . М о ж н о увеличить ч и с л о проходов до 28, и в этом случае даже Агентство н а ц и о н а л ь н о й безопасности будет бессильно. О т м е т и м , что п р и с т и р а н и и больших ф а й л о в с б о л ь ш и м ч и с л о м проходов может по¬ требоваться д о в о л ь н о м н о г о в р е м е н и . Это в ы с о к о и н т е н с и в н а я диско¬ вая о п е р а ц и я . Freespace
Wipe
Freespace Wipe выполняет ту ж е ф у н к ц и ю , что и Wipe, но для свобод¬ ного дискового пространства. Время от времени протирать свободные 366
Глава 9
Криптографические средства
Рис. 9.6. Диалоговое окно о п ц и й P G P блоки необходимо, так как старые файлы, которые вы удаляли, но не сти рали, все еще могут существовать. Кроме того, программы постоянно со здают временные файлы, которые могут содержать к о п и и данных ограни ченного доступа. О н и удаляются операционной системой, когда програм ма завершается, н о все еще существуют на диске. Freespace Wipe санирует весь ваш жесткий диск. М о ж н о запланировать автоматические регуляр¬ ные санации жесткого диска. Опции
PGP
В P G P имеется ряд глобальных опций. В основном м е н ю P G P K e y s в разделе File выберите Edit, чтобы вывести диалоговое о к н о о п ц и й P G P (см. рис. 9.6). В табл. 9.1 даны описания имеющихся вкладок. Табл. 9.1. Вкладки диалогового окна о п ц и й P G P Вкладка General
Описание Здесь м о ж н о задать запоминание вашей парольной фразы на определенное время после ее использования, чтобы не 367
Курс
Files Email
HotKeys
Servers
CA Advanced
Защитные средства с открытыми исходными текстами
нужно было вводить ее всякий раз при р а с ш и ф р о в а н и и файла или подписывании документа. Подразумеваемый срок — две минуты. М о ж н о также увеличить подразумевае¬ мое число проходов ф у н к ц и и Wipe и заставить Windows ав¬ томатически затирать файл после его удаления. Применяй¬ те эту о п ц и ю с осторожностью, если хотите оставить воз¬ можность восстановления удаленных файлов. Здесь м о ж н о изменить подразумеваемый каталог ваших ко¬ лец открытых и секретных ключей. На этой вкладке м о ж н о задать различные о п ц и и для обра¬ ботки з а ш и ф р о в а н н ы х электронных сообщений, включаяя автоматическое р а с ш и ф р о в а н и е сообщений P G P , подписы¬ вание всех исходящих сообщений и т.д. Здесь м о ж н о задать быстрый доступ к о с н о в н ы м ф у н к ц и я м P G P с п о м о щ ь ю горячих клавиш. Некоторые клавиши пре¬ допределены. Н а п р и м е р , м о ж н о очистить к э ш парольной фразы, нажав F12. Здесь задаются серверы для поиска открытых ключей. И м е ются два основных сервера, по одному в С Ш А и в Европе, но м о ж н о добавить и другие. Если вы хотите применять ц и ф р о в ы е сертификаты, то здесь задаются удостоверяющий центр и различные настройки. Эта вкладка содержит опции процесса ш и ф р о в а н и я . Мож¬ но выбрать алгоритм для симметричной части процесса (по умолчанию применяется A E S ) . М о ж н о также задать о п ц и и резервного копирования колец ключей. П о умолчанию при закрытии программы всегда создается файл с резервной ко¬ пией каждого кольца. Однако необходимо периодически перемещать ф а й л ы резервных к о п и й на безопасные носи¬ тели, прожигая их на компакт-диске или перенося на флоппи-диск. Это защитит ваши ключи в случае краха же¬ сткого диска или кражи компьютера.
Приведенных сведений достаточно для запуска P G P и защиты ва¬ ших файлов и коммуникаций. Повторим, что это л и ш ь краткий обзор продукта P G P . Более подробно с н и м м о ж н о ознакомиться посредством о б ш и р н о й документации. Если потребуются дополнительные ф у н к ц и и или коммерческое применение, м о ж н о рассмотреть возможность приоб¬ ретения коммерческой версии. Если вы не согласны со всеми ограничениями условно свободной л и ц е н з и и P G P , но хотите применять PGP, имеется другая возможность — G N U - в е р с и я PGP, описанная ниже. 368
Глава 9
Криптографические средства
GNU Privacy Guard (GnuPG): Реализация PGP на условиях GPL GNU Privacy Guard (GnuPG) Автор/основной контакт: Matthew Skala, Michel Roth, Niklas Hernaeus, Remi Guyomarch, Werner Koch и другие Web-сайт: www.gnupg.org Платформы: Linux, Windows, BSD и Mac Лицензия: GPL Рассмотренная версия: 1.2.4 Другие ресурсы: www.pgpi.com Списки почтовой рассылки: Группа поддержки PGP Freeware Рабочая группа IETF OpenPGP Пользовательский список рассылки PGP Рабочая группа PGP/MIME Список рассылки разработчиков PGPi Список рассылки переводчиков PGPi Список рассылки разработчиков Pgplib Все эти списки доступны для подписки по адресу: www.pgpi.org/links/mailinglists/en/. Телеконференции: Alt.security.pgp Comp.security.pgp.announce Comp.security.pgp.discuss Comp.security.pgp.resources Comp.security.pgp.tech
G N U Privacy Guard ( G n u P G ) основывается на стандарте O p e n P G P и является ответом на коммерческую и ограниченную условно свободную л и ц е н з и о н н ы е версии PGP. В названии программы, как и в названиях большинства программ от G N U , заключена игра слов (инверсия P G P ) . Важное преимущество версии G N U — возможность п р и м е н е н и я для лю¬ бого приложения, личного или коммерческого. К р о м е того, поскольку используется лицензия G P L , программу м о ж н о расширять или встраи¬ вать в любые приложения. Недостатком же является то, что это средство командной строки, поэтому в нем отсутствуют некоторые полезные доба¬ вления, имеющиеся в коммерческой версии PGP. Если цена составляет проблему, и вы не боитесь изучать работу команд, то G n u P G — для вас. Однако, одно предостережение: G n u P G , вероятно, не лучший выбор для нетехнических пользователей, если только вы не добавите собственный интерфейс или удобные для пользователей процедуры (некоторые из них доступны в Интернет). 369
Курс
Защитные средства с открытыми исходными текстами
Установка GnuPG М н о г и е современные версии Linux и B S D поставляются с предуста¬ новленной системой G n u P G . Это м о ж н о проверить, набрав в командной строке gpg --version. Если появится листинг с и н ф о р м а ц и е й о програм¬ ме, то м о ж н о пропустить д а н н ы й раздел и сразу перейти к п р и м е н е н и ю GnuPG. Проверьте также, содержат л и ваши дистрибутивные диски файл R P M для автоматической установки. Если вы хотите получить самую све жую версию, то на Web-сайте имеются R P M для многих дистрибутивов. Если там есть R P M для вашей О С , загрузите его и просто щелкните на нем м ы ш ь ю , чтобы установить программу. Если R P M отсутствует, то мож¬ но загрузить .tar-файлы с прилагаемого к книге компакт-диска или с о ф и циального Web-сайта и скомпилировать их вручную с п о м о щ ь ю следую¬ щих инструкций: 1. Распакуйте .tar-файлы, затем наберите обычные команды компи¬ ляции: ./configure make make i n s t a l l
Программа создаст структуру каталогов с корнем .gnupg в ва¬ ш е м пользовательском каталоге, где будут храниться ключи и дру¬ гая и н ф о р м а ц и я . 2. (Необязательно) После установки G n u P G наберите make clean, чтобы избавиться от бинарных или временных файлов, созданных в процессе конфигурирования.
Создание ключевых пар После установки программы прежде всего необходимо создать свою пару ключей открытый-секретный. Если у вас уже есть ключ и вы хотите импортировать его в G n u P G , воспользуйтесь командой: gpg --import
маршрутное_имя_файла_ключей
Следует выполнить эту инструкцию для вашего кольца открытых ключей и отдельно — для кольца секретных ключей. Обычные форматы для колец ключей — pubring.pkr и secring.skr. Если ключей у вас е щ е нет, следуйте приведенной н и ж е процедуре. 1. Наберите gpg --gen-key. Будет запущен процесс, который запро¬ сит у вас некоторые данные. 370
Глава 9
Криптографические средства
2. G n u P G попросит задать длину ключей в битах (по умолчанию — 1024, что обычно достаточно для надежной криптографии с от крытым ключом). М о ж н о увеличить длину до 2048 для усиления безопасности. 3. К а к правило, вам н е нужно, чтобы ваши ключи имели ограничен¬ н ы й срок годности, н о в специальном случае, когда ключи будут применяться ограниченное время, м о ж н о указать, когда истечет срок их действия. 4. G n u P G запросит у вас и м я и адрес электронной почты. Эти дан¬ н ы е важны, поскольку о н и определяют индексацию открытого ключа на серверах открытых ключей. 5. Н а к о н е ц , G n u P G предложит ввести парольную фразу. Она долж¬ на быть достаточно д л и н н о й и сложной, н о в то ж е время легко за¬ поминаемой. (См. описание парольной фразы в ы ш е в этой главе, в разделе о P G P ) . После двукратного ввода парольной ф р а з ы G n u P G создаст ключи. Это может занять некоторое время. В ходе этого процесса следует немного подвигать м ы ш ь ю . G n u P G ис¬ пользует случайные сигналы клавиатуры и м ы ш и для повышенияя энтропии своего датчика случайных чисел. Примечание: Е щ е раз — к а к и п р и работе с P G P или л ю б ы м другим средством сильной криптографии, сохраняйте резервные к о п и и пар ключей в безопасном месте и н е теряйте их, иначе ваши з а ш и ф р о в а н н ы е д а н н ы е будут безвозвратно потеряны.
Создание сертификата отзыва После создания ключей м о ж н о создать сертификат отзыва. О н при¬ меняется, когда вы теряете ключи, или если кто-то скомпрометирует ваш секретный ключ. Тогда м о ж н о воспользоваться этим сертификатом для отзыва ключа с серверов открытых ключей. Тем н е менее, вы сможете рас¬ шифровывать полученные ранее сообщения, з а ш и ф р о в а н н ы е с п о м о щ ь ю старого открытого ключа (если вы н е потеряли старый секретный), н о ни¬ кто больше н е сможет зашифровывать сообщения с п о м о щ ь ю ставших негодными открытых ключей. Чтобы создать сертификат отзыва, введите: gpg --output revoke.asc --gen-revoke
пользователь
где пользователь заменяется его уникальной фразой в вашем кольце секретных ключей. Создается файл revoke.asc. Необходимо переместить его с жесткого диска в какое-то безопасное место. Нежелательно остав¬ лять его рядом с секретным ключом, поскольку если кто-то получит дос¬ туп к секретному ключу, то сможет помешать и его отзыву. 371
Курс
Защитные средства с открытыми исходными текстами
Публикация открытого ключа Желательно разместить ваш открытый ключ на сервере ключей, что¬ бы его м о ж н о было легко найти и послать вам сообщение. Ч т о б ы сделать это, наберите команду: gpg --keyserver имя_сервера_открытых_ключей --send-key пользователь
где пользователь задается адресом электронной почты, с которым ассоци¬ ируется публикуемый ключ. М о ж н о использовать любой сервер откры¬ тых ключей P G P , так к а к все о н и регулярно синхронизируются. Выбери¬ те любой и з них, и ваш открытый ключ будет распространен на все ос¬ тальные. Имеется много серверов открытых ключей, например: • certserver.pgp.com • pgp.mit.edu • usa.keyserver.net
Шифрование файлов с помощью GnuPG Для з а ш и ф р о в а н и я файла служит команда --encrypt, и м е ю щ а я сле¬ дующий формат: gpg --output зашифрованный_файл --encrypt - - r e c i p i e n t адрес шифруемый_файл
Здесь адрес — это электронный адрес пользователя, которому вы хо¬ тите отправить з а ш и ф р о в а н н ы й файл. Отметим, что в ы д о л ж н ы иметь от¬ крытый ключ адресата в своем кольце ключей. G n u P G можно применять и для шифрования файлов с помощью простой с и м м е т р и ч н о й к р и п т о г р а ф и и , ч т о удобно д л я з а щ и т ы локаль¬ н ы х ф а й л о в и л и д л я отправки с о о б щ е н и я к о м у - т о , ч е й о т к р ы т ы й к л ю ч у вас отсутствует. Ч т о б ы сделать э т о , воспользуйтесь к о м а н д о й --sym¬ metric: gpg --output зашифрованный_файл --symmetric
шифруемый_файл
Расшифрование файлов Для р а с ш и ф р о в а н и я полученных файлов п р и п о м о щ и G n u P G , вос¬ пользуйтесь следующей командой: gpg --output расшифрованный_файл --decrypt зашифрованный_файл 372
Глава 9
Криптографические средства
Чтобы расшифровать файл, необходимо иметь в своем кольце сек¬ ретных ключей ключ пользователя, для которого файл был зашифрован. У вас запросят парольную фразу, и если вы введете ее правильно, G n u P G создаст р а с ш и ф р о в а н н ы й файл.
Подписывание файлов К а к упоминалось выше, имеется еще одно п р и м е н е н и е G n u P G и P G P — подписывание документов для контроля их целостности. Это м о ж н о сделать с п о м о щ ь ю следующей команды: gpg --output подписанный_файл - - s i g n
подписываемый_файл
Обычно G n u P G автоматически проверяет подпись при получении файла. Верификация файла по инициативе пользователя осуществляетсяя с п о м о щ ь ю команды gpg - - v e r i f y
подписанный_файл
М о ж н о создавать подписи в текстовом виде и отдельно от файла, ес¬ ли вы хотите, чтобы пользователи без G n u P G могли получить к н и м дос¬ туп. Для этого имеются две команды. Команда gpg - - c l e a r s i g n
подписываемый_файл
создает текстовое дополнение к подписываемому файлу. Если вы не хоти¬ те изменять этот файл, м о ж н о создать отдельный файл подписи с помо¬ щ ь ю команды gpg --output файл_подписи --detache-sign подписываемый_файл
Модель сети доверия PGP/GnuPG К а к упоминалось ранее, вместо иерархической системы доверия, с ц и ф р о в ы м и сертификатами и удостоверяющим их центром, в P G P и G n u P G используется модель сети доверия. Подписывая ключи людей, которых вы знаете, вы можете проверить, что их ключ заслуживает дове¬ рия. А если о н и подписывают ключи других людей, которых вы не знаете непосредственно, вы создаете цепочку доверия. Такая модель основана на идее «друг моего друга — мой друг». Модель, конечно, несовершенна; ктонибудь в дальней части цепочки доверия может оказаться плохим парнем. Н о основной п р и н ц и п состоит в естественном росте цепочки без к а к о й 373
Защитные средства с открытыми исходными текстами
Курс
Рис. 9.7. Модель сети доверия либо инфраструктуры, и поэтому ее нельзя легко разрушить или раздуть. Вы создаете сеть доверия, подписывая ключи каких-то людей и предоста вляя и м возможность подписывать ваши. В примере на рис. 9.7 Тони м о жет неявно доверять ключам Д ж е й н , Джо, Д ж о н а и Евы, хотя он не знает их непосредственно.
Подписывание ключей и управление доверием к ключам В G n u P G вы подписываете ключи и управляете доверием к н и м , пе¬ реходя в режим редактирования ключей с п о м о щ ь ю команды gpg
--edit-key
доверенный_адрес
Здесь доверенный адрес ассоциируется с подписываемым или упра¬ вляемым ключом, входящим в ваше открытое кольцо. Команда выдает основную и н ф о р м а ц и ю о ключе. В этом режиме наберите fpr, чтобы рас¬ печатать и д е н т и ф и к а ц и о н н у ю метку данного ключа. К а к и отпечатки пальцев для людей, и д е н т и ф и к а ц и о н н а я метка служит специфической ф о р м о й идентификатора ключа. Убедитесь, что это ключ нужного челове¬ ка, проверяя его либо по телефону, либо к а к и м - то другим способом. 374
Глава 9
Криптографические средства
М о ж н о также проверить, кто еще подписал этот ключ, вводя check. Будет напечатан список лиц, подписавших этот ключ, что может помочь вам определить его законность. Когда вы уверены, что это ключ нужного человека, наберите sign. Дан¬ ная команда подписывает ключ этого человека, так что все смогут узнать, что вы ему доверяете. В этом режиме можно также отредактировать уровни доверия различных ключей вашего кольца. Войдите в этот режим из режи ма редактирования ключа, набирая t rust. Появится следующее меню: 1 = Don't know ( Н е знаю) 2 = I do N O T trust (Я Н Е доверяю) 3 = I trust marginally (Я доверяю косвенно) 4 = I trust fully (Я доверяю полностью) s = Please show me more information ( М н е требуется дополнительная информация) m = Back to the main menu (Вернуться в основное меню) Выберите один из этих элементов, и ключ будет помечен д о л ж н ы м образом. Это еще один способ сообщить о том, какие пользователи вызы¬ вают у вас наибольшее доверие, а каких вы едва знаете. Вышеизложенное может служить хорошим введением в м и р P G P и G n u P G . Данная глава не претендует на полноту освещения этой темы, так что следует обратиться к соответствующим Web-сайтам и другим упомяну¬ тым источникам, чтобы лучше изучить эти революционные программы. P G P и G n u P G отлично работают для ш и ф р о в а н и я файлов. Однако как быть, если вы желаете шифровать все к о м м у н и к а ц и и между двумяя точками? Программа P G P в действительности не годится на эту роль (не¬ смотря на недавнее включение в коммерческую версию клиента вирту¬ альных з а щ и щ е н н ы х сетей). М ы приступаем к обсуждению средства с от¬ к р ы т ы м и исходными текстами для создания таких постоянных соедине¬ н и й , где все шифруется на лету. OpenSSH: Свободный инструментарий криптографической защиты сеансов OpenSSH (сервер) Автор/основной контакт: Tatu Ylonen (первоначальный автор) и другие Web-сайт: www.openssh.org Платформы: BSD, Linux и большинство UNIX Лицензия: BSD Рассмотренная версия: 2.1.1p4 Списки почтовой рассылки: Список объявлений Список только для чтения, который содержит общие объявления о выпу ске новых версий, исправлении ошибок и т.д. Подписка по адресу: www.mindrot.org/mailman/listinfo/openssh-unix-announce. 375
Курс
Защитные средства с открытыми исходными текстами
Общий список пользователей SSH Вопросы и общая дискуссия о применении SSH. Подпишитесь, послав пустое сообщение по адресу [email protected]. Чтобы отказаться от подписки, пошлите пустое сообщение по адресу: [email protected]. Имеется также архив данного списка по адресу http://marc.theaimsgroup.com/?!=secure-shell&r=1&w=2. Список разработчиков Обсуждение разработки SSH и программирования. Подписка по адресу www.mindrot.org/mailman/listinfo/openssh-unix-dev.
Большинство файловых и к о м м у н и к а ц и о н н ы х утилит, до сих пор применяемых в Интернет, восходят к тем временам, когда Интернет был небольшим и безопасным. Одним и з наиболее употребительных средств, п о м и м о Web-навигатора, является Telnet. Эта утилита служит для удален¬ ного терминального доступа к о всевозможным серверам, маршрутизато¬ рам, межсетевым экранам и другим устройствам. Б о л ь ш и м минусом Telnet является то, что утилита посылает свои д а н н ы е в открытую, поэто¬ му, если вы применяете Telnet для входа в системы через Интернет, то к т о нибудь может перехватить ваш трафик, включая ваши пароли. Вы вольны считать, что п о и с к вашего пароля в потоке данных подобен поиску игол¬ ки в стоге сена, н о хакеры написали программы, в ы п о л н я ю щ и е с я поверх сетевых анализаторов, для поиска обычных входных атрибутов и записи результатов. Это справедливо и для других средств удаленного доступа, таких к а к FTP, T F T P и RCP. S S H (Secure Shell, з а щ и щ е н н ы й к о м а н д н ы й интерпретатор) решает эту проблему, п р и м е н я я к а к асимметричную, так и симметричную крип¬ тографию для ш и ф р о в а н и я сеансов, начиная с первого нажатия клавиши. В этом случае злоумышленник, прослушивающий ваше соединение, по¬ лучит л и ш ь случайный шум. S S H н е только обеспечивает конфиденци¬ альность ваших данных с п о м о щ ь ю ш и ф р о в а н и я , н о предоставляет также сильную аутентификацию, препятствующую подделкам и другим маска¬ радным атакам. Это достигается с п о м о щ ь ю цифровых сертификатов дляя аутентификации пользователей. Н е путайте S S H с S S L — стандартом ш и ф р о в а н и я Web. Хотя о н и делают одно и то ж е дело, S S H работает с лю¬ бым протоколом, в то время к а к S S L предназначен прежде всего для Webкоммуникаций. S S H включает также S C P — безопасный эквивалент RCP, средства удаленного к о п и р о в а н и я , и S F T P — безопасный аналог FTP. S S H м о ж н о применять и для туннелирования других протоколов, таких к а к H T T P и SMTP. Некоторые приложения рассмотрены в к о н ц е данного раздела. 376
Глава 9
Криптографические средства
Использование этого пакета программ вместо старых аналогов гаранти¬ рует, что ваши коммуникации с серверами н е будут раскрыты. Отказаться от п р и м е н е н и я в вашей сети Telnet и F T P может быть нелегко, н о ч е м больше вы в этом преуспеете, тем в большей безопасности окажетесь. Чтобы использовать S S H , необходимо иметь сервер S S H , выполня¬ ю щ и й с я на м а ш и н е , к которой вы хотите подключиться, и клиент S S H на м а ш и н е , с которой вы подключаетесь. Обычные клиенты F T P и Telnet н е будут соединяться с сервером S S H . Клиент встроен в большинство совре¬ м е н н ы х операционных систем Linux, хотя, быть может, требуется выбрать эту о п ц и ю п р и установке О С . (См. в главе 2 дополнительную и н ф о р м а ц и ю о клиенте SSH). Сервер S S H обычно является необязательным, и его следует выбрать п р и установке О С . Чтобы проверить, установлен л и о н , наберите ps -ax | grep sshd
и посмотрите, выполняется ли процесс sshd. Если его нет, то необхо¬ д и м о установить сервер, чтобы обеспечить соединение с вашей м а ш и н о й через S S H .
Установка и запуск сервера OpenSSH 1. Первым делом загрузите пакет с Web-сайта или с прилагаемого к книге компакт-диска и распакуйте его. 2. Выполните обычные команды к о м п и л я ц и и в Linux: ./configure make make i n s t a l l
Произойдет сборка и установка программ S S H . Б и н а р н ы е ф а й л ы и ассоциированные библиотеки будут размещены в катало¬ ге /usr/local/bin (в системе Mandrake Linux, в других дистрибутивах может быть и н а ч е ) . С и с т е м н ы е д е м о н ы п о м е щ а ю т с я в /usr/local/sbin, а к о н ф и г у р а ц и о н н ы е ф а й л ы — в /usr/local/etc/ssh или /etc/ssh, в зависимости от установки. М о ж н о выбрать альтернативный маршрут установки, ис¬ пользуя аргумент configure --prefix=маршрут
где маршрут нужно заменить желательным альтернативным местом. 3. После установки OpenSSH проверьте к о н ф и г у р а ц и о н н ы й файл, находящийся в /etc/ssh, и убедитесь, что о н соответствует параме377
Курс
Защитные средства с открытыми исходными текстами
трам вашей системы. К о н ф и г у р а ц и о н н ы й файл для серверной ча¬ сти называется sshdconfig. Д л я внесения изменений м о ж н о вос пользоваться текстовым редактором, таким к а к vi или E M A C S . Необходимо проверить следующее: • Port: Порт, который S S H использует для входящих соедине¬ н и й . Подразумеваемый номер — 22. Если изменить это значе¬ ние, то люди, пытающиеся с вами соединиться, д о л ж н ы будут вручную изменить номер порта у своих клиентов S S H . • Protocols: Набор протоколов, которые S S H должен прини¬ мать. П о умолчанию принимаются оба типа соединений SSH1 и SSH2. Д л я п о в ы ш е н и я безопасности м о ж н о разрешить при¬ ем только SSH2, н о тогда некоторые старые клиенты н е смо¬ гут соединяться. • Hostkey: Задает расположение ключей, применяемых при про¬ ведении основанной на ключах аутентификации пользователяя во время соединения с другой машиной. Это н е то ж е самое, что ключи сервера, которые генерируются при установке. 4. Прежде чем пользователь сможет работать с S S H , он должен сге¬ нерировать ключи. Это делается с п о м о щ ь ю следующей команды: ssh-keygen - t r s a
Вы получите п р и м е р н о такой ответ. Generating p u b l i c / p r i v a t e r s a key p a i r . (Генерация пары RSAключей открытый/секретный) E n t e r f i l e i n which t o save the key (/home/me/.ssh/id_rsa): (Введите файл для сохранения ключа:) Created d i r e c t o r y '/home/me/.ssh'. Создан каталог) E n t e r passphrase (empty f o r no passphrase): ( Введите парольную фразу (пусто без фразы)) Your i d e n t i f i c a t i o n has been saved i n /home/me/.ssh/id_rsa. (Идентификационные данные сохранены в) Your p u b l i c key has been saved i n /home/me/.ssh/id_rsa.pub. (Открытый ключ сохранен в) The key f i n g e r p r i n t i s :f6:41:99:d8:a5:d1:fb:e7:93:86:7e:e6:4f:01:d9:5b (Идентификаци¬ онна метка ключа)
Эта ж е команда, н о с дополнительными о п ц и я м и (задающими, на¬ пример, неинтерактивный режим, длину ключей и и м я файла для сохра¬ н е н и я результатов), применяется и для генерации ключей хоста, необхо¬ димых серверу ssh. И д е н т и ф и к а ц и о н н а я метка служит уникальным иден¬ тификатором ключей. 378
Глава 9
Криптографические средства
5. Теперь м о ж н о запустить сервер S S H из командной строки, набрав sshd &. Эта команда в ф о н о в о м режиме запускает sshd — сервер¬ н ы й демон, постоянно слушающий п о п ы т к и подключений. Если вы хотите, чтобы sshd запускался автоматически при загрузке сис¬ темы (что предпочтительно), поместите эту строку в к о н ц е файла rc.local, находящегося в каталоге /etc/rc.d/ (в Mandrake Linux, или в соответствующем стартовом файле для вашего дистрибутива). П о м н и т е , чтобы соединиться с вашим сервером через S S H , необхо¬ д и м о иметь на клиентской стороне совместимую версию S S H . Инструк¬ ц и и п о установке и п р и м е н е н и ю клиента S S H м о ж н о найти в главе 2.
Переправка портов посредством OpenSSH Хотя S S H п е р в о н а ч а л ь н о п р е д н а з н а ч а л с я д л я в з а и м о д е й с т в и я н а у р о в н е к о м а н д н о й с т р о к и , п о д о б н о Telnet, его м о ж н о п р и м е н я т ь т а к ж е д л я с о з д а н и я безопасного т у н н е л я между двумя м а ш и н а м и д л я произ¬ в о л ь н о г о п р и л о ж е н и я . М о ж н о создать б е з о п а с н о е с о е д и н е н и е между двумя с е р в е р а м и с п о м о щ ь ю в с т р о е н н о й в S S H в о з м о ж н о с т и пере¬ п р а в к и порта. Ч т о б ы это сработало, S S H д о л ж е н в ы п о л н я т ь с я н а обо¬ их к о н ц а х с о е д и н е н и я . С о е д и н е н и е м о ж н о о р г а н и з о в а т ь д л я любого сервиса с л ю б ы м п о р т о м , в ы п о л н и в н а к л и е н т с к о й с т о р о н е следую¬ щую инструкцию: ssh -L локальный_порт:удаленный_хост:удаленный_порт -N удаленный _хост
где надо заменить: • локальныйпорт — случайно в ы б р а н н ы м большим номером порта для создания нового криптографически з а щ и щ е н н о г о соединенияя • удаленныйхост — IP-адресом или именем серверного хоста на дру¬ гой стороне соединенияя • удаленный_порт — портом сервиса, который в ы желаете туннелировать на удаленную сторону О п ц и я - L предписывает S S H слушать локальный порт на локальном хосте и переправлять любые соединения на удаленный порт удаленного хоста. О п ц и я -N освобождает S S H от п о п ы т о к входа; требуется просто поддерживать соединение открытым для переправляемого трафика. П р и п р и м е н е н и и данного метода вам н е нужно входить в удаленную систему для установления криптографически з а щ и щ е н н о г о соединения с удаленным сервером. Вам понадобятся, если о н и требуются, соответству¬ ю щ и е удостоверения для в ы п о л н е н и я желаемых действий через перепра¬ вляемый порт. 379
Курс
Защитные средства с открытыми исходными текстами
Н и ж е представлены два примера, которые показывают, к а к это ра¬ ботает. Пример 1: Создание криптографически защищенного соеди нения для электронной почты с помощью OpenSSH Обычно сообщения электронной почты пересылаются в открытом виде через порт 25. Предположим, вы желаете зашифровать это соедине¬ ние. Один из способов добиться этого — создать п р и п о м о щ и S S H крип¬ тографически з а щ и щ е н н ы й туннель для любого трафика, предназначен¬ ного для порта 25 почтового сервера. Используя вышеприведенный фор¬ мат и считая, что почтовый сервер имеет IP-адрес 192.168.1.2, получим следующую команду: ssh -L 5000:192.168.1.2:25 -N 192.168.1.2
Эта команда задает порт 5000 на локальной машине для туннелирования почты (порт 25) на удаленный почтовый сервер. Поэтому, если вы настроите свой почтовый клиент для соединения с localhost:5000 вместо подразумевае¬ мого почтового порта, S S H будет автоматически шифровать и переправлять трафик на порт 25 вашего почтового сервера. Теперь вы можете получать и по¬ сылать почту на эту машину, не опасаясь, что ее кто-то перехватит. Пример
2: Создание
безопасного
Web-соединения
Допустим, вы желаете соединиться со своим Web-сервером для вы¬ полнения з а щ и щ е н н о й транзакции. Если сервер н е настроен для под¬ держки S S L , вы все равно сможете при п о м о щ и S S H организовать безо¬ пасное туннелирование своего Web-трафика на сервер. Если ваш Webсервер расположен по адресу 192.168.1.3, то командная строка будет вы¬ глядеть примерно так: ssh -L 5000:192.168.1.3:80 -N 192.168.1.3
Теперь вы можете соединиться, вводя l o c a l h o s t : 5000 в Web-навигаторе, и п о безопасному туннелю ваш т р а ф и к будет переправляться в порт 80 удаленной м а ш и н ы . М о ж н о переправлять несколько портов на одной м а ш и н е . Н а п р и м е р , команда: ssh -L 5000:192.168.1.2:25 -L 5001:192.168.1.2:80 -N 192.168.1.2
будет переправлять весь т р а ф и к с локального порта 5000 на почтовый порт и с порта 5001 — на порт 80 удаленной м а ш и н ы с адресом 192.168.1.2. К о н е ч н о , предполагается, что в ы имеете почтовый счет на удаленном сервере. 380
Глава 9
Криптографические средства
М о ж н о видеть, что S S H отлично подходит для создания безопасных соединений между двумя м а ш и н а м и практически для любого протокола. Однако, что если вы хотите шифровать весь трафик, независимо от порта или сервиса? В этом случае имеет смысл создать виртуальную защищен¬ ную сеть.
Виртуальные защищенные сети Обычно организации создают з а щ и щ е н н ы е сети, арендуя у телефон¬ ных к о м п а н и й дорогие каналы «точка-точка». Обходится это в тысячи долларов в месяц, а соединенными оказываются л и ш ь две производст¬ в е н н ы е площадки. Со временем организации обрастают паутиной доро¬ гостоящих к о м м у н и к а ц и о н н ы х л и н и й , соединяющих их производствен¬ н ы е площадки. С введением Интернет в производственную эксплуата¬ ц и ю многие сразу оценили его потенциал для межфилиальных коммуни¬ каций. К сожалению, открытая природа Интернет создавала серьезную угрозу безопасности. Н а выручку п р и ш л а криптография. С ее п о м о щ ь ю организация может создать виртуальную защищенную сеть и использо¬ вать недорогой Интернет для корпоративных к о м м у н и к а ц и й , безопасно и без риска. Д а н н ы е инкапсулируются в криптографически з а щ и щ е н н ы й «туннель», поэтому злоумышленник при перехвате передаваемых пакетов не сможет добраться до полезной и н ф о р м а ц и и . Имеется много производителей специализированного оборудованияя для создания виртуальных з а щ и щ е н н ы х сетей, однако существует и реше¬ н и е с открытыми исходными текстами, позволяющее создать свою защи¬ щ е н н у ю сеть с п о м о щ ь ю л и ш ь пары дополнительных П К . FreeS/WAN: Программное обеспечение с открытыми исходными текстами для создания виртуальных защищенных сетей на основе спецификаций IPsec FreeS/WAN Автор/основной контакт: John Gilmore Web-сайт: www.freeswan.org/ Платформы: Большинство UNIX Лицензия: GPL Рассмотренная версия: 2.02 Списки почтовой рассылки: Announce Только чтение, для основных объявлений. Briefs Краткая сводка активности других списков. Users Основной список для вопросов пользователей и обсуждения. Users-moderated Модерируемая версия предыдущего списка с меньшим трафиком. 381
Курс
Защитные средства с открытыми исходными текстами
Design Обсуждение только среди разработчиков. Distros Форум по поддержке Linux-дистрибутивов. Bugs Для сообщений обо всех ошибках, найденных в FreeS/WAN. Инструкции по подписке на любой из перечисленных списков рассылки можно найти по адресу www.freeswan.org/mail.html. Старые сообщения архивированы по адресу: www.sandelman.ottawa.33on.ca/linux-ipsec/.
Проект F r e e S / W A N спонсирует и возглавляет Д ж о н Гилмор — леген¬ дарная фигура в кругах программистов и борцов за свободу в сети, один из о с н о в а т е л е й Ф о н д а э л е к т р о н н о й с в о б о д ы (Electronic Freedom Foundation — E F F ) , много лет защищавшего права на свободную сильную криптографию. Участвуя в работе нескольких и н н о в а ц и о н н ы х к о м п а н и й Кремниевой Д о л и н ы , в основном в Sun Microsystems, Гилмор составил состояние и теперь посвящает свое время различным проектам, многие из которых связаны с открытым П О . Проект F r e e S / W A N зародился к а к попытка дать возможность шиф¬ ровать свои к о м м у н и к а ц и и любому пользователю. Хотя эта цель е щ е н е достигнута, пользователи Linux могут воспользоваться недорогим спосо¬ бом создания виртуальных з а щ и щ е н н ы х сетей. Д а н н о е средство позволя¬ ет также соединяться с другими устройствами с п о м о щ ь ю IPsec, так к а к IPsec — о б щ е п р и з н а н н ы й стандарт. Некоторые производители н е строго следуют стандарту, поэтому возможны проблемы, если на другом к о н ц е применяется оборудование или программы других производителей. Про¬ верьте на Web-сайте F r e e S / W A N список совместимости с реализациями других производителей. П р и использовании IPsec все шифруется на уровне IP, независимо от приложения и л и порта. И м е н н о это делает IPsec наиболее распростра¬ н е н н о й системой для создания з а щ и щ е н н ы х коммуникаций. F r e e S / W A N может применять и так называемое ш и ф р о в а н и е «по возможности», на¬ зываемое также оппортунистическим. Это означает, что для коммуника¬ ц и й с хостами, поддерживающими IPsec, применяется ш и ф р о в а н и е ; с прочими хостами осуществляются обычные I P - к о м м у н и к а ц и и . Поэтому, если вы выполняете FreeS/WAN на компьютере межсетевого экрана, то вы можете получить автоматическую виртуальную защищенную сеть с сайтами, поддерживающими IPsec, п р и сохранении взаимодействия с другими сайтами, которые н е поддерживают IPsec. Вам потребуются две м а ш и н ы в качестве шлюзов. Д л я работы F r e e S / W A N необходимы к о м п ь ю т е р ы с О С U N I X , предпочтительно Linux. Ч т о б ы организовать соединение IPsec между системами Windows, 382
Глава 9
Криптографические средства
м о ж н о воспользоваться встроенной поддержкой IPsec (в Windows 2000 и более поздних разновидностях); FreeS/WAN для этого н е нужен. Предпо¬ ложительно, поддержка IPsec будет встроена в новое ядро Linux. Н о даже в этом случае F r e e S / W A N по-прежнему найдется п р и м е н е н и е для комму¬ н и к а ц и й со старыми версиями и для использования возможностей оп¬ портунистического ш и ф р о в а н и я . Команда F r e e S / W A N работает также над совместимостью с предполагаемой поддержкой IPsec в ядре Linux.
Установка и запуск FreeS/WAN F r e e S / W A N предустанавливается на многих дистрибутивах Linux. Ч т о б ы проверить наличие F r e e S / W A N , введите ipsec verify в командной строке. Если вы получите ответ «file not found», значит, у вас нет этой с и стемы. Даже если у вас нет R P M , м о ж н о взять исходные тексты с прила( ^ | гаемого к книге компакт-диска или загрузить свежую версию, чтобы вос пользоваться самыми последними криптографическими протоколами и возможностями. Д л я к о м п и л я ц и и F r e e S / W A N и з исходных текстов сле¬ дуйте приведенным н и ж е инструкциям. 1. Загрузите самый свежий пакет с Web-сайта и распакуйте его или скопируйте файл с компакт-диска. 2. Д л я к о м п и л я ц и и и установки пакета выполните следующие ко¬ манды от и м е н и пользователя root из каталога FreeS/WAN: make oldmod make m i n s t a l l
3. После установки пакета F r e e S / W A N необходимо перезагрузить систему, чтобы изменения вступили в силу. 4. Когда система перезагрузится, наберите в командной строке ipsec verify, чтобы проверить установку. Вы должны увидеть сообщение п р и м е р н о такого вида: Checking your system t o see i f IPsec got i n s t a l l e d and s t a r t e d correctly V e r s i o n check and i p s e c on-path [OK] Checking f o r KLIPS support i n k e r n e l [OK] Checking f o r RSA p r i v a t e key ( / e t c / i p s e c . s e c r e t s ) [OK] Checking t h a t p l u t o i s running [OK]
5. Если вы получили такую выдачу, м о ж н о запускать службу IPsec, набрав команду service start
ipsec 383
Курс
Защитные средства с открытыми исходными текстами
Служба IPsec выполняется в ф о н о в о м режиме. Теперь все готово к и н и ц и и р о в а н и ю сеанса IPsec.
Применение FreeS/WAN FreeS/WAN м о ж н о применять несколькими способами. Один и з н и х предназначен для постоянного соединения ш л ю з - ш л ю з и называется од¬ норанговым режимом. Этот режим подходит в случае, когда есть два офи¬ са, ж е л а ю щ и е безопасно общаться через Интернет. Второй метод называ¬ ется режимом мобильного пользователя. Он предназначен для удаленных пользователей, желающих безопасно подключаться к вашей Л В С . Нако¬ нец, м о ж н о оперировать в режиме ш и ф р о в а н и я «по возможности», когда шифруются соединения с хостами или шлюзами, которые на это способ¬ ны. Н и ж е описано, к а к задать каждый и з этих режимов. Одноранговый
режим
В F r e e S / W A N используются имена Right (Правый) и Left (Левый) для обозначения двух м а ш и н , соединяющихся посредством IPsec. Это ни¬ как н е связано с направлением или расположением и просто позволяет ссылаться на различные стороны IPsec-соединения. П о своему выбору назовите одну м а ш и н у Left, а другую — Right. 1. Сначала на м а ш и н е Right наберите следующую команду, чтобы получить ее открытый ключ: i p s e c showhostkey - - r i g h t
F r e e S / W A N выдаст некоторую и н ф о р м а ц и ю об IPsec на этой м а ш и н е , в том числе ее открытый ключ. После знака равенства бу¬ дет следовать д л и н н ы й список случайных на вид ц и ф р . Это и есть ключ. П е р е п и ш и т е это число или воспользуйтесь ф у н к ц и е й копи¬ рования текстового редактора. 2. Теперь получите открытый ключ м а ш и н ы Left, п р и м е н я я ту ж е са¬ мую команду, н о с ключом - - l e f t . 3. П е р е й д и т е в каталог /etc/freeswan и отредактируйте ф а й л ipsec.conf (в некоторых дистрибутивах этот файл может храниться в /etc). В табл. 9.2 перечислены и описаны параметры, которые не¬ обходимо установить в разделе conn net-to-net. 4. Оставьте остальные настройки без изменений и сохраните файл. 5. Скопируйте этот файл на другую машину в то ж е место. 6. П р и м е н и т е описанную в ы ш е команду ipsec v e r i f y , чтобы убе¬ диться, что служба IPsec функционирует на обеих машинах. 384
Глава 9
Криптографические средства
7. Чтобы установить соединение IPsec, наберите: i p s e c auto --up n e t - t o - n e t
Д о л ж н о появиться сообщение «IPsec S A established». Если это не так, проверьте настройки или изучите оперативную справку на предмет возможных п р и ч и н неисправностей. Табл. 9.2. Параметры F r e e S / W A N Параметр Left Leftsubnet Leftid
Leftrsasigkey Leftnexthop
Right Rightsubnet Rightid Rightrsasigkey Rightnexthop Auto
Описание IP-адрес шлюза IPsec Left Диапазон IP-адресов, прикрываемых шлюзом Left И м я хоста в формате полностью квалифицированного доменного и м е н и и со знаком @ перед н и м . Н а п р и м е р , @gateway.example.com. Ключ, скопированный ранее из м а ш и н ы Left. Подразумеваемый ш л ю з для м а ш и н ы Left. Подразуме¬ ваемые настройки д о л ж н ы работать в большинстве слу¬ чаев. То ж е , что Left выше, но для м а ш и н ы Right. То ж е , что Leftsubnet выше, но для м а ш и н ы Right. То ж е , что Leftid выше, но для м а ш и н ы Right. То ж е , что Leftrsasigkey в ы ш е , но для м а ш и н ы Right. То ж е , что Leftnexthop в ы ш е , но для м а ш и н ы Right. Подразумеваемое значение add санкционирует соеди¬ нение, но не инициирует его, когда загружается систе¬ ма. Если вы хотите, чтобы о н о запускалось автоматиче¬ ски, замените значение этого параметра на start.
Если вы применяете межсетевой э к р а н с трансляцией сете¬ вых адресов, то, возможно, придется написать для него специаль¬ ное правило, чтобы о н не транслировал сетевой адрес этой маши¬ ны. М н о г и е новые модели межсетевых экранов автоматически распознают пакеты IPsec и пропускают их без и з м е н е н и я , поэтому этот дополнительный шаг не требуется. 8. Чтобы проверить соединение, попробуйте выполнить эхо-тести¬ рование внутреннего адреса на другой стороне удаленного шлюза. Если будет получен успешный ответ, значит, туннель IPsec постро¬ ен и работает. 9. Если вы на самом деле хотите убедиться, что пакеты шифруются, примените анализатор пакетов, такой как Tcpdump или Ethereal, чтобы попытаться прочитать эти пакеты. Если анализатор иденти385
Курс
Защитные средства с открытыми исходными текстами
фицирует пакеты, к а к пакеты E S P (ESP — один и з подпротоколов IPsec), а полезная нагрузка будет выглядеть как тарабарщина, зна¬ чит все работает к а к надо. 10. Если вы желаете добавить несколько межсетевых соединений, можно просто добавить еще один раздел с новым заголовком, та¬ ким к а к conn office1-to-office2. М о ж н о также переименовать ис¬ ходное соединение net-to-net, н о оно обязательно должно быть одинаковым в конфигурационных файлах ipsec на обеих машинах. Режим мобильного
пользователя
Процедура практически аналогична предыдущей с некоторыми ис¬ ключениями. В этом режиме под м а ш и н о й Right понимается локальнаяя м а ш и н а вашего шлюза IPsec, под Left — м а ш и н а удаленного пользователя. 1. Н а удаленной м а ш и н е отредактируйте тот ж е файл /etc/freeswan/ ipsec.conf с п о м о щ ь ю следующего шаблона, аналогичного конфи¬ гурации net-to-net с небольшими отличиями. conn road left=%defaultroute leftnexthop=%defaultroute [email protected] leftrsasigkey=0sAQPIPN9uI... right=192.0.2.2 rightsubnet=10.0.0.0/24 r i [email protected] r ightrsasigkey=0sAQOnwiBPt... auto=add
В удаленной конфигурации % d e f a u l t r o u t e служит для полу¬ чения вашего динамического IP-адреса. 2. Сторона Right должна содержать и н ф о р м а ц и ю для шлюза. Зайди¬ те на м а ш и н у шлюза и примените следующий шаблон для файла ipsec.conf. conn road left=192.0.2.2 [email protected] leftsubnet=192.0.2.1/24 leftrsasigkey=0sAQOnwiBPt... rightnexthop=%defaultroute right=%any [email protected] 386
Глава 9
Криптографические средства rightrsasigkey=0sAQPIPN9uI... auto=add
Обратите в н и м а н и е , что строки в файле на шлюзе перестав¬ л е н ы , Left обозначает локальную машину, а Right — удаленную, IP-адрес которой задан к а к %any. Это метасимвол, допускающий произвольный IP-адрес, т а к к а к о н станет известен, л и ш ь когда удаленный пользователь попытается установить соединение. 3. Сохраните этот файл. 4. Все готово к соединению. Проверьте, что IPsec выполняется на м а ш и н е шлюза, а затем наберите следующую команду на стороне удаленного пользователя: i p s e c auto - - s t a r t
road
Это, к а к и раньше, должно инициировать соединение. Если вы н е получите сообщение "Ipsec SA e s t a b l i s h e d " , проверьте на¬ стройки и л и обратитесь к разделу устранения неисправностей на Web-сайте FreeS/WAN. 5. Протестируйте и верифицируйте соединение так ж е , к а к для к о н фигурации net-to-net. 6. М о ж н о установить несколько удаленных соединений, к а к в преды¬ дущей процедуре, и переименовать их содержательным образом. Оппортунистическое
шифрование
Если вы хотите воспользоваться д а н н о й возможностью F r e e S / W A N , то ваш шлюзовый компьютер н е должен располагаться позади межсете¬ вого экрана, применяющего трансляцию сетевых адресов (изменение IPадреса в заголовках нарушит режим проверки заголовков IPsec). Жела тельно, чтобы IP-адрес шлюза был статическим. Ш и ф р о в а н и е «по воз¬ можности» бывает п о л н ы м и л и частичным. В п о л н о м режиме вы можете инициировать исходящие соединения IPsec, равно к а к и другие хосты IPsec могут инициировать сеансы оппортунистического ш и ф р о в а н и я с вашим шлюзом. В частичном режиме инициировать соединение всегда должен ваш шлюз. В обоих режимах требуется, чтобы в ы имели доступ к записи D N S для и м е н и хоста, который в ы хотите настроить. Настройка
частичного оппортунистического (только инициирование)
шифрования
1. Сначала отредактируйте запись D N S для и м е н и хоста, которое бу¬ дете применять п р и добавлении элемента для ключа. Запись D N S должна соответствовать идентификатору в файле ipsec.conf. В р а с 387
Курс
Защитные средства с открытыми исходными текстами
смотренном в ы ш е примере с мобильным пользователем это gateway.example.com. Выполните следующую команду на шлюзовой м а ш и н е , чтобы создать эту запись: i p s e c showhostkey - - t x t @имя_хоста-шлюза
Замените имя_хоста-шлюза именем вида gateway.example.com. Будет создан текстовый файл с текстовой записью, содержа¬ щей ключ и отформатированной в соответствии с синтаксисом DNS. 2. Вставьте полученную запись в з о н н ы й файл этого домена к а к пря¬ мую запись TXT. Примечание: Если в ы н е знаете, к а к редактировать записи D N S , воспользуйтесь п о м о щ ь ю администратора D N S . О ш и б к а в записи D N S может легко привести к отключению всего домена. П о м н и т е также, что распространение изменений по Интер¬ нет займет некоторое время. В зависимости от места запроса этот процесс может занять до 48 часов. 3. Убедиться, что сделанные изменения вступили в силу, м о ж н о с по¬ мощью следующего запроса: i p s e c v e r i f y --host gateway.example.com
Д о л ж е н прийти ответ O K для прямой записи. Обратный п о и с к записи работать н е будет, н о это допустимо, пока в ы н е пожелаете применить полное оппортунистическое ш и ф р о в а н и е . Помните, что хотя в ы можете успешно опрашивать сервер D N S , другая сторона вашего соединения на это может быть еще н е способна. Там также следует выполнить команду проверки. 4. Когда обе стороны смогут видеть запись D N S , остается только пе¬ резапустить службу IPsec, набрав команду service ipsec
restart
Когда она выполнится, все будет готово к работе. Это все, что требуется, так к а к F r e e S / W A N автоматически сконфигурирует соединение с п о м о щ ь ю и н ф о р м а ц и и в записи DNS. Настройка
полного
оппортунистического
шифрования
Чтобы применять полное оппортунистическое ш и ф р о в а н и е , необ¬ ходимо иметь на шлюзе статический IP-адрес и располагать п о л н ы м кон¬ тролем над записью D N S для него. F r e e S / W A N использует обратный по¬ иск D N S для проверки открытого ключа любой м а ш и н ы , которая пыта388
Глава 9
Криптографические средства
ется подключиться. Инструкции здесь точно такие ж е , к а к и для частич¬ ного режима, за исключением того, что создается еще и обратная запись D N S для имени шлюзового хоста. Создайте текстовый файл таким ж е об¬ разом, к а к и в ы ш е , и после добавления его к а к прямой записи, добавьте ее и к а к обратную, связав ее со статическим IP-адресом. Опять ж е , если вы н е знаете, к а к редактировать файл D N S , попросите п о м о щ и . D N S о ш и б о к н е прощает. Когда обе записи будут видны из Интернет, следует перезапустить службу IPsec, и м о ж н о будет создавать соединения с хоста¬ м и , поддерживающими оппортунистическое ш и ф р о в а н и е IPsec. Взлом
паролей
Вы ознакомились с тем, к а к различными криптографическими ме¬ тодами защитить свою и н ф о р м а ц и ю , и к а к шифровать ф а й л ы , сеансы и целые соединения с другими сайтами. В следующем разделе рассматрива¬ ется средство, помогающее убедиться, что ф а й л ы паролей в безопасно¬ сти. Речь идет о программе взлома зашифрованных паролей. Она выпол¬ няет работу, обратную п о о т н о ш е н и ю ко всем средствам д а н н о й главы в том смысле, что пытается расшифровать файл паролей без каких-либо ключей. Она главным образом применяется к файлам паролей, чтобы га¬ рантировать, что у вас нет паролей, которые легко взломать. В н а ш е время большинство паролей н е хранится на сервере в откры¬ том виде. Хранятся хэши паролей, так что пароли н е передаются п о сети открытым текстом. Однако в некоторых операционных системах схема хэширования слаба и ш и ф р легко взламывается. В худшем случае, если кто-то перехватит файл паролей, о н сможет выполнить атаку методом грубой силы на хэши и выяснить некоторые пароли. Это возможно благо¬ даря склонности многих людей выбирать простые пароли. В большинст¬ ве операционных систем к паролям м о ж н о предъявлять определенные технические требования, н о пользователи все равно будут пытаться обой¬ ти ограничения с целью облегчить себе ж и з н ь . Тестирование файлов па¬ ролей с п о м о щ ь ю программ взлома — единственный способ точно узнать, насколько безопасны пароли пользователей. John the Ripper: Средство взлома паролей John the Ripper Автор/основной контакт: Web-сайт: Платформы: Лицензия: Рассмотренная версия:
Solar Designer www.openwall.com/john Windows и большинство UNIX Freeware, аналогично BSD 1.6 389
Курс
Защитные средства с открытыми исходными текстами
Утилита John the Ripper была разработана загадочным Солнечным Заговорщиком, чтобы помочь системным администраторам избавитьсяя от слабых паролей, в основном в системах U N I X . Программа использует текстовый файл возможных паролей и проверяет хэш каждого слова из этого файла по файлу паролей. Она даже пробует варианты словарных слов, такие как c a t l , cat2 и т.д. После завершения перебора всех слов из текстового файла программа переходит к методам рандомизации и пробу¬ ет их, пока вы ее не остановите. Она поставляется с файлом базовых слов. К р о м е того, вы можете загрузить дополнительные ф а й л ы слов для раз¬ личных операционных систем или создать свои собственные. Программа доступна для операционных систем U N I X и Windows. Так как она имеет командный интерфейс, то основные операции в обеих систе¬ мах одинаковы. Ниже описаны процессы установки для Windows и U N I X .
Установка в Windows 1. Загрузите бинарный пакет Windows с Web-сайта или с прилагаемо¬ го к книге компакт-диска и распакуйте файл в отдельном каталоге. 2. Н а самом деле установки как таковой в Windows не требуется. Просто разместите ф а й л ы по своему выбору и запускайте про¬ грамму из этого каталога с п о м о щ ь ю соответствующих команд. П р и ж е л а н и и м о ж н о добавить этот каталог в список поиска, если вы хотите запускать John the Ripper из любого места. В противном случае перейдите в каталог john/run, чтобы получить доступ к би¬ н а р н ы м файлам, и запустите программу.
Установка в UNIX 1. Загрузите и растарьте ф а й л ы исходных текстов с Web-сайта или с прилагаемого к книге компакт-диска. 2. Выполните следующую команду из каталога src, который будет со¬ здан: make
Будет выведен список поддерживаемых систем. Примечание: Если ваша система не указана, выполните на следующем шаге команду make generic (это должно сработать в большинстве случаев). 3. Выполните следующую команду, подставляя свой тип системы из списка поддерживаемых: make тип_системы 390
Глава 9
Криптографические средства
Команда соберет программу и поместит основные бинарные программные ф а й л ы в каталог john/run. 4. Перейдите в этот каталог. Все готово к запуску John the Ripper.
Применение программы John the Ripper 1. Прежде всего, необходимо получить к о п и ю файла паролей. В большинстве систем U N I X хэши не хранятся в основном файле паролей, а содержатся в файле, называемом теневым (shadow в си¬ стемах Linux). Это затрудняет н е с а н к ц и о н и р о в а н н ы й доступ к хэш а м , так как основной файл паролей пользователей должен быть доступен другим частям операционной системы, поэтому право на его чтение должно предоставляться всем. Файл хэшей паролей выглядит примерно так, как показано на листинге 9.1. Листинг 9.1. П р и м е р файла хэшей паролей root:$1$%8_pws/,$3ABCmAmVVtBbgXc1EpAZ7.:12080:0:99999:7::: bin:*:12080:0:99999:7::: daemon:*:12080:0:99999:7::: adm:*:12080:0:99999:7::: lp:*:12080:0:99999:7::: sync:*:12080:0:99999:7::: apache:!!:12080:0:99999:7::: postfix:!!:12080:0:99999:7::: mysql:!!:12080:0:99999:7::: tony:$1$bFIb/_R$6RFz rkqq6nY4zTkmWQ8xV0:12080:0:99999:7: : :
Случайная по внешнему виду последовательность символов после имени счета — хэш пароля. И м е н н о с ней работает John the Ripper. 2. Текстовый файл password в каталоге John the Ripper содержит под¬ разумеваемый список слов. Его м о ж н о пополнять, если вы хотите, чтобы были проверены несколько специфических паролей. П р и ж е л а н и и м о ж н о заменить его собственным словарем. 3. Чтобы запустить John the Ripper, наберите команду john проверяемый_файл_паролей
Во время работы на э к р а н выдаются пароли, которые удалось взломать. Большинство словарных слов будет просмотрено за не¬ сколько минут. Во многих ситуациях это с л и ш к о м долго, но если 391
Курс
Защитные средства с открытыми исходными текстами
вы хотите выполнять программу дольше, чтобы на самом деле протестировать пароли, то процесс м о ж н о запустить в ф о н о в о м режиме. М о ж н о также прервать процесс тестирования и вернуться к нему позже. Н а ж м и т е Ctrl+C один раз, чтобы остановить тестиро вание и сохранить результаты в файле с именем john.pot. Отметим, что в результате двукратного нажатия Ctrl+C п о и с к будет завер¬ ш е н без сохранения результатов. 4. М о ж н о просмотреть взломанные к текущему моменту пароли, вводя: john -show провер емый_файл_паролей
5. Если вы хотите возобновить процесс взлома паролей, воспользуй¬ тесь командой john - r e s t o r e
И это почти все о программе John the Ripper. Счастливого взлома! (Только своих паролей, естественно). Если вы обнаружите слабые пароли, то м о ж н о пойти к их владельцам и попросить изменить пароль, или уста¬ новить на сервере политику, требующую более сильных паролей.
392
Глава 10
Средства для беспроводных сетей
Глава 1 0 . С р е д с т в а д л я б е с п р о в о д н ы х с е т е й Д о недавних п о р сетевые администраторы должны были заботитьсяя в основном о защите физических, фиксированных активов информаци¬ онных технологий — серверов, маршрутизаторов и межсетевых экранов, составляющих кабельные сети. Однако, с появлением недорогого обору¬ дования для беспроводных сетей возник совершенно новый спектр (и это не игра слов) проблем безопасности. Новая технология помогла снизить стоимость развертывания сетей, предоставила доступ там, где его р а н ь ш е н е было, и дала возможность трактовать выражение «мобильные вычисления» буквально. Радикально изменился и периметр безопасности сетей всех размеров. Традиционно корпоративные сети соединялись с в н е ш н и м миром только в нескольких местах (см. рис. 10.1). Это позволяло сетевым администраторам концент¬ рироваться на защите этих критических точек доступа, размещая в них межсетевые э к р а н ы и другие средства защиты. Внутренность сети в зна¬ чительной степени считалась доверенной, поскольку н е существовало способа попасть туда, минуя з а щ и щ е н н ы е точки.
Обзор главы Изучаемые концепции: • Терминология беспроводных Л В С • П р о т о к о л ы 802.11 • Слабые места беспроводных Л В С • Оборудование для контроля беспроводных сетей Используемые инструменты: NetStumbler, StumbVerter, Kismet Wireless и AirSnort Развитие технологии снова подняло планку безопасности. П р и развер¬ тывании беспроводной Л В С новым периметром безопасности в буквальном смысле становится воздух вокруг вас. Такая беда, как беспроводная атака или прослушивание, может прийти «откуда не ждали», с любого направле¬ ния. Если у вас развернут беспроводной доступ, то кто угодно с платой все¬ го за полсотни долларов в принципе может прослушивать среду передачи вашей сети, даже не ступая на вашу территорию. На рис. 10.2 показан новый периметр сетевой безопасности при применении беспроводных технологий. Можно видеть, что при использовании для части сети беспроводного досту¬ па угрозы безопасности существенно возрастают. Н о прежде чем можно бу¬ дет надежно обезопасить беспроводную сеть, необходимо понять, как функ¬ ционируют локальные беспроводные сети и где их основные слабые места. Производители оборудования для беспроводных Л В С снизили ц е н ы настолько, что это стало разумной альтернативой д о м а ш н и х сетей. Вме393
Курс
Защитные средства с открытыми исходными текстами
Рис. 10.1. Сетевые угрозы до появления беспроводных сетей
Рис. 10.2. Сетевые угрозы для беспроводных сетей 394
Глава 10
Средства для беспроводных сетей
сто того, чтобы прокладывать в доме кабели Ethernet для соединения сво их П К , м о ж н о купить базовую станцию и пару плат для беспроводного соединения и использовать Интернет в любой комнате своего дома. Д л я участников многих деловых к о н ф е р е н ц и й сейчас предлагается бесплат¬ н ы й беспроводной доступ в Интернет. Жители проводят к а м п а н и и за пре¬ доставление бесплатного доступа в Интернет для домовладений вне дося¬ гаемости цифровых абонентских л и н и й или кабельных сетей, использую¬ щего общественные базовые станции. Ш и р о к о е развертывание техноло¬ гии беспроводных Л В С , несомненно, продолжится, и рано или поздно вам придется иметь с н и м и дело.
Обзор технологий беспроводных ЛВС На сегодняшний день наиболее популярный протокол для беспровод¬ ных Л В С — несомненно, семейство спецификаций 802.11 или, в просторе¬ ч и и , Wi-Fi. Стандарты этого семейства по сути являются расширением про¬ токола Ethernet, что обеспечивает отличное взаимодействие с проводными сетями Ethernet. Д л я передачи сигналов данных применяются частоты 2.4 ГГц для 802.11b и 802.11g, а также 5 ГГц для 802.11a. В С Ш А эти частоты принадлежат спектру общего пользования, поэтому не нужно получать ли¬ цензию на их использование. Оборотная сторона состоит в том, что другие потребительские устройства также могут работать этих частотах. Некото¬ р ы е беспроводные телефоны и микроволновые печи также попадают в по¬ лосу 2.4 ГГц, поэтому если в окрестности есть подобные устройства или другие сети W i - F i , вы можете столкнуться с некоторыми помехами. Выбранные длины волн прекрасно подходят для ближней связи, ко¬ торая и требуется для сетей W i - F i . Проектные параметры обеспечивают ра¬ диус действия 50 метров в помещении и более 250 метров на открытом про¬ странстве при нормальных условиях. Однако с мощной антенной в зоне прямой видимости можно увеличить расстояние до 30 км, что отлично под¬ ходит для городских межофисных коммуникаций (предполагается отсутст¬ вие гор и доступ на крышу многоэтажного здания). В табл. 10.1 описаны че тыре разновидности существующих стандартов беспроводной связи 802.11. Табл. 10.1. Стандарты беспроводной связи 802.11 Стандарт 802.11a
Описание В этой версия стандарта применяется частота 5 ГГц, при¬ надлежащая менее используемой части спектра. Следова¬ тельно, помехи менее вероятны. Теоретический потенциал этой технологии составляет 54 М б и т / с е к , ч т о являетсяя очень ш и р о к о й полосой пропускания, н о большинство р е 395
Курс
802.11b
802.11g
802.11i
Защитные средства с открытыми исходными текстами
альных приложений до теоретического максимума не дотя¬ гивают. В настоящее время это самый популярный стандарт беспро¬ водной связи. В нем применяется частота 2.4 ГГц, на кото¬ рой работают Bluetooth и другие потребительские устройст¬ ва. Он предлагает полосу пропускания до 11 Мбит/сек, хотяя практические приложения при неоптимальных условиях обычно получают примерно половину этого. Более новый стандарт предоставляет полосу пропускания до 54 Мбит/сек, но на той же частоте 2.4 ГГц, что и стандарт 11b. Он также обратно совместим с оборудованием 11b. Этот новый протокол является по сути р а с ш и р е н и е м 802.11b с исправлениями протокола ш и ф р о в а н и я , обеспе¬ ч и в а ю щ и м и значительно более высокий уровень безопас¬ ности. О н только недавно был одобрен I E E E , и использу¬ ю щ и е его продукты д о л ж н ы появиться в к о н ц е 2004 г.
Терминология Wi-Fi Имеется два вида беспроводных сетей. В произвольных сетях узлы соединяются напрямую. Это полезно, если вы хотите объединить н е сколько П К и вам не требуется доступ в Л В С или Интернет. Сети с инфра структурой опираются на базовые станции (точки доступа), соединенные с вашей Л В С . Все узлы подобной сети подключаются к Л В С через базовую станцию. Это наиболее распространенная конфигурация в корпоратив¬ ных сетях, так как она позволяет администратору централизованно конт¬ ролировать беспроводной доступ. Каждой точке беспроводного доступа и плате присвоен номер, называемый идентификатором базового набора сер¬ висов (Basic Service Set I D — BSSID). Это — MAC-адрес беспроводной стороны точки доступа. У точки доступа есть также идентификатор набора сервисов (Service Set Identifier — SSID). Это — имя беспроводной сети, с которой ассоциируются все узлы. Это имя не обязано быть уникальным среди точек доступа. На самом деле большинство производителей при¬ сваивают точкам доступа подразумеваемые идентификаторы, поэтому их м о ж н о использовать прямо из коробки. Идентификатор набора сервисов точки доступа необходим для подключения к сети. Некоторые базовые станции обладают дополнительной функциональностью, играя роль мар¬ шрутизаторов и встроенных серверов D H C P . Существуют даже интегри¬ рованные устройства, действующие как точка беспроводного доступа, межсетевой экран и маршрутизатор для д о м а ш н и х и малых сетей. Узел беспроводной сети создается путем установки в компьютер бес¬ проводной сетевой интерфейсной платы. Выпускается несколько видов 396
Средства для беспроводных сетей
Глава 10
Рис. 10.3. Работа беспроводной сети подобных плат. Это может быть плата, которая вставляется в слот П К , плата P C M C I A , внешнее устройство U S B , а теперь даже к о м п а к т н ы й ф л э ш - ф о р м а т для малых слотов К П К . Беспроводная сеть 802.11 с инфра¬ структурой содержит точки доступа, действующие к а к мост между ка¬ бельной Л В С Ethernet и одной и л и несколькими о к о н е ч н ы м и беспровод н ы м и точками. Точка доступа с определенной частотой включает ш и р о ковещательный «радиомаяк», чтобы оповещать окрестные беспроводные узлы о своем присутствии. Широковещательные сигналы приглашают за¬ регистрироваться любые беспроводные узлы в д а н н о й области и являют¬ ся одной из проблем W i - F i . Невозможно полностью выключить эти сиг¬ налы и таким образом скрыть факт наличия беспроводной сети в офисе. Кто угодно с платой беспроводного доступа может по крайней мере ви¬ деть сигналы радиомаяка, если находится вблизи, хотя некоторые устрой¬ ства позволяют ограничить объем и н ф о р м а ц и и , содержащейся в этих ши¬ роковещательных сообщениях. Эти сигналы содержат основную и н ф о р м а ц и ю о точке беспроводно¬ го доступа, включая, к а к правило, SSID (см. рис. 10.3). Если в сети не применяется ш и ф р о в а н и е и л и другие средства защиты, то этого доста397
Курс
Защитные средства с открытыми исходными текстами
точно для присоединения к сети. Однако даже в беспроводной сети с ш и ф р о в а н и е м SSID часто передается в открытую, а з а ш и ф р о в а н н ы е па¬ кеты могут перехватываться п о эфиру и подвергаться попыткам взлома.
Опасности беспроводных ЛВС Беспроводные сети характеризуются гибкостью и функционально¬ стью, отсутствующей у кабельных Л В С , н о в то ж е время создают р я д уг¬ роз и новые проблемы для сетевого администратора, отвечающего за без¬ опасность. Н и ж е рассмотрены некоторые аспекты, которые следует учи¬ тывать п р и добавлении в инфраструктуру беспроводных Л В С .
Прослушивание Для хакера в случае п р и м е н е н и я беспроводной сети н е составит ни¬ какого труда собирать пакеты с п о м о щ ь ю беспроводного сетевого анали¬ затора. С этим мало что м о ж н о сделать, разве что окружить здание свин¬ цовым экраном! Создатели беспроводных сетей учитывали это и встрои¬ ли в проект стандарт ш и ф р о в а н и я , называемый WEP (Wired Equivalent Privacy — секретность, эквивалентная проводной), чтобы д а н н ы е м о ж н о было шифровать. К сожалению, фундаментальным недостатком в орга¬ н и з а ц и и работы алгоритма является его потенциальная взламываемость (один из инструментов далее в этой главе демонстрирует это). Поэтому даже п р и п р и м е н е н и и W E P д а н н ы е , передаваемые по беспроводной сети, потенциально подвержены несанкционированному просмотру. Кто-ни¬ будь может прослушивать беспроводные соединения, выискивая входные имена, пароли и другие данные.
Доступ к ПК с беспроводными платами Беспроводной канал дает потенциальным злоумышленникам навод¬ ку на м а ш и н у вашей сети. П о м и м о точек доступа, извне могут быть вид¬ н ы и м а ш и н ы с беспроводными сетевыми платами. Используя этот спо¬ соб доступа, м о ж н о развернуть атаку против м а ш и н ы , которая, вероятно, не з а щ и щ е н а межсетевым э к р а н о м и н е укреплена, к а к ваши средства за¬ щ и т ы периметра или общедоступные серверы.
Доступ к ЛВС Это, вероятно, наибольшая опасность, которую создают беспровод¬ н ы е сети. Если хакеры смогут получить доступ к вашей Л В С через базо¬ вую станцию, то м о ж н о считать, что ключи от вашего королевства у н и х в 398
Глава 10
Средства для беспроводных сетей
кармане. В большинстве Л В С функционирует без всяких ограничений сервер D H C P , поэтому хакеры могут получить з а к о н н ы й IP-адрес и на чать исследовать вашу сеть. Затем о н и могут запустить сканер уязвимо стей или сканер портов, например, Nessus и л и Nmap, чтобы найти пред¬ ставляющие для них интерес м а ш и н ы и д ы р ы в их защите, поддающиесяя эксплуатации.
Анонимный доступ в Интернет Д а ж е если хакеров н е интересует ваша Л В С , о н и могут использовать вашу полосу пропускания для других н е з а к о н н ы х целей. Входя в вашу сеть и затем выходя в Интернет, о н и могут осуществлять противоправ¬ н ы е действия, н е оставляя п р и этом своих следов. Л ю б а я атака и л и мо¬ шенничество, с о в е р ш е н н ы е через это соединение, будут прослежены до вашей сети. Правоохранительные органы будут стучать в вашу дверь, а н е в их. Такой метод станет более р а с п р о с т р а н е н н ы м , когда хакеры осозна¬ ют, к а к трудно проследить атаки, н а ч и н а ю щ и е с я таким образом. Слиш¬ к о м мала вероятность перехвата з л о у м ы ш л е н н и к а и з беспроводной сети, если только н е применять заранее р а з м е щ е н н о е дорогостоящее триангу¬ л я ц и о н н о е оборудование. Н е з а щ и щ е н н ы е беспроводные Л В С предлага¬ ют хакерам лучший а н о н и м н ы й доступ, какой только м о ж н о себе пред¬ ставить.
Специфические уязвимости 802.11 К р о м е основных д ы р в безопасности беспроводных Л В С , имеетсяя ряд проблем, с п е ц и ф и ч н ы х для стандарта 802.11. Некоторые из них свя¬ заны с о ш и б к а м и проектирования, д о п у щ е н н ы м и производителем, и л и с подразумеваемыми конфигурациями. Другие объясняются проблемами в общей архитектуре стандарта. Подразумеваемые
идентификаторы
набора
сервисов
К а ж д а я базовая с т а н ц и я W i - F i имеет с п е ц и а л ь н ы й идентифика¬ т о р , к о т о р ы й необходимо знать, чтобы войти в сеть. П р и п р а в и л ь н о й р е а л и з а ц и и это обеспечивает н е к о т о р ы й уровень безопасности. К со¬ ж а л е н и ю , м н о г и е забывают и з м е н и т ь подразумеваемый идентифика¬ тор набора сервисов, з а д а н н ы й производителем. Очень легко н а й т и се¬ ти с п о д р а з у м е в а е м ы м и S S I D п р о и з в о д и т е л я , т а к и м и к а к l i n k s y s , d e f a u l t и т. д. Когда хакер это видит, он может п р е д п о л о ж и т ь , что адми¬ нистратор тратит н е с л и ш к о м м н о г о в р е м е н и на настройку и защиту беспроводной сети. 399
Курс
Защитные средства с открытыми исходными текстами
Вещание
радиомаяка
Вещание радиомаяка — врожденная патология беспроводных сетей. Базовая станция должна регулярно извещать сигналом о своем существо¬ вании, чтобы р а д и о п р и е м н и к конечного пользователя мог ее найти и до¬ говориться о сеансе связи, а поскольку устройства законных пользовате¬ лей еще не были аутентифицированы, этот сигнал должен вещаться в от¬ крытую. Он может быть перехвачен кем угодно, и, как м и н и м у м , будет известно, что у вас имеется беспроводная Л В С . М н о г и е модели позволя¬ ют отключать содержащую SSID часть этого вещания, чтобы хоть чутьчуть затруднить беспроводное подслушивание, но SSID тем не менее по¬ сылается при подключении, поэтому все равно существует небольшое ок¬ но уязвимости. Применение
по умолчанию
нешифруемых
коммуникаций
Большинство современных беспроводных сетевых устройств пред¬ лагают возможность включения встроенного стандарта беспроводного ш и ф р о в а н и я WEP. Проблема в том, что обычно его надо включать вруч¬ ную; по умолчанию оно, как правило, отключено. М н о г и е администрато¬ р ы настраивают беспроводную сеть в с п е ш к е и не находят времени на ак¬ тивацию этой важной возможности. Если сеть настраивает не техниче¬ ский специалист, то почти наверняка ш и ф р о в а н и е не будет включено. Имеется также проблема управления секретными ключами пользовате¬ лей, так как в W E P каждый пользователь разделяет свой секретный ключ с базовой станцией. Администрирование большого числа пользователей с беспроводным подключением может стать сущим кошмаром. Слабые
места
WEP
Даже когда встроенное ш и ф р о в а н и е задействовано, остается риск, что сигнал будет прочитан. В реализации алгоритма ш и ф р о в а н и я в W E P имеются фундаментальные дефекты, позволяющие взломать его после перехвата определенного объема данных. Эти дефекты связаны со спосо¬ бом порождения ключей. В W E P слабы векторы и н и ц и а л и з а ц и и , а часто¬ та их использования высока, так что со временем становится возможным взлом ключа. Когда ш и ф р о в а н и е взломано, атакующий сможет не только читать весь трафик, проходящий по беспроводной сети, но и, вероятно, войти в сеть. Поэтому, хотя W E P и предлагает некоторую базовую защиту против случайного прослушивания, любой серьезный з л о у м ы ш л е н н и к наверняка запасся программным обеспечением, п о з в о л я ю щ и м при необ¬ ходимости взломать ш и ф р о в а н и е . 400
Глава 10
Средства для беспроводных сетей
Ф е н о м е н « а г р е с с и в н о г о объезда» П о и с к н е з а щ и щ е н н ы х беспроводных Л В С стал популярным развле¬ ч е н и е м среди хакеров и любителей беспроводной связи. П о аналогии с тем, как р а н ь ш е хакеры осуществляли массовый или агрессивный обзвон случайного набора телефонных номеров, чтобы найти активные модемы, п о и с к н е з а щ и щ е н н ы х беспроводных Л В С назвали агрессивным объездом. Ч а щ е всего беспроводные хакеры ездят по округе с беспроводной платой и программным обеспечением в надежде поймать сигнал сети. Про¬ граммное обеспечение может зафиксировать точное расположение бес¬ проводной сети с п о м о щ ь ю системы глобального позиционированияя ( G P S ) , а также массу другой и н ф о р м а ц и и , такой как п р и м е н е н и е шифро¬ вания или отсутствие такового. Если в беспроводной Л В С не использует¬ ся ш и ф р о в а н и е или другие защитные средства, то хакеры смогут попуте¬ шествовать в Интернет или исследовать локальную сеть через беспровод¬ н о й канал. Для этого не нужно большого мастерства, что и привлекает ха¬ керов разного уровня. Организации, использующие беспроводные сети в плотно застроен¬ н о й среде вокруг своих о ф и с о в или вблизи крупных дорог, больше всего рискуют пострадать от подобной активности. В «группу риска» входят о ф и с ы в жилых и деловых районах города, где много высотных зданий. У беспроводных сетей, построенных по стандарту 802.11b, э ф ф е к т и в н ы й радиус действия составляет пару сотен метров. Почти наверняка это боль¬ ше, чем расстояние до соседнего здания, не говоря уже о расстоянии ме¬ жду этажами в многоэтажном здании. В скученном деловом центре не¬ сколько н е з а щ и щ е н н ы х беспроводных Л В С внутри одного здания — не редкость. С точки зрения безопасности высотные здания — одно из худ¬ ших мест для п р и м е н е н и я беспроводных Л В С . Типичное здание со стек¬ л я н н ы м и окнами позволяет сигналам Л В С распространяться на немалое расстояние. Если вблизи имеются другие здания, то почти наверняка в них м о ж н о перехватить некоторые сигналы. Здания в ж и л о м районе в этом плане еще хуже. Представьте себе подростков и других бездельни¬ ков, с удобствами сканирующих доступные беспроводные Л В С прямо из своей спальни. Недавнее исследование показало, что более 60% беспроводных Л В С полностью н е з а щ и щ е н ы . Хакеры даже помещают найденные точки бес¬ проводного доступа в оперативные базы данных с картами, чтобы каждый мог найти открытые беспроводные Л В С почти в любом месте страны. О н и классифицируют их по типу оборудования, п р и м е н е н и ю шифрова¬ н и я и т.д. Если ваша беспроводная Л В С расположена в деловом центре крупного города, то почти наверняка она попала в подобную базу, и дело л и ш ь за тем, чтобы какой-нибудь окрестный хакер нашел для нее н е м н о 401
Курс
Защитные средства с открытыми исходными текстами
го свободного времени. Н и ж е приведены некоторые из оперативных баз данных, где м о ж н о проверить, н е попала л и беспроводная Л В С вашей ор¬ ганизации в эти списки. • www.shmoo.com/gawd/ • www.netstumbler.com/nation.php Отметим, что большинство сайтов удалят название вашей организа¬ ц и и и з списка, если вы попросите об этом.
Оценивание безопасности беспроводной сети П р о щ е всего сказать, что из-за угроз безопасности беспроводных се¬ тей вообще н е следует предоставлять беспроводной доступ к вашей сети. Однако это все равно, что посоветовать вам спрятать голову в песок в на¬ дежде, что опасность вас минует. Беспроводной доступ — это н е преходя¬ щая мода, это одна и з наиболее активно развивающихся областей техно¬ логии, в которую делаются значительные инвестиции. Производители в жутком темпе, п о все более н и з к и м ценам «выбрасывают» на р ы н о к мас¬ су беспроводных адаптеров для всевозможных устройств. М н о г и е компа¬ н и и розничной торговли, такие к а к McDonald's и Starbucks устанавлива¬ ют точки беспроводного доступа в своих магазинах для привлечения по¬ купателей. В П К - б л о к н о т ы Intel Centrino встроена поддержка беспровод¬ ных сетей. Ваши пользователи жаждут свободы, которую приносит техно¬ логия беспроводных Л В С . И м нужна возможность входа в сеть со своих поддерживающих беспроводную связь П К - б л о к н о т о в , всегда и везде. Это значит, что вам рано или поздно придется иметь дело с безопасностью беспроводных сетей. Средства из данной главы помогут вам оценить и, при необходимости, повысить безопасность беспроводной сети. О н и так¬ ж е помогут вам развернуть беспроводную Л В С более безопасным обра¬ зом, если в ы делаете это впервые.
Выбор оборудования Чтобы оценить безопасность беспроводной сети, необходимо иметь как м и н и м у м беспроводную сетевую плату, машину для работы и некото¬ рое программное обеспечение. Беспроводные
платы
Большая часть программного обеспечения, рассмотренного в этой главе, — свободное, н о необходимо купить хотя бы одну беспроводную 402
Глава 10
Средства для беспроводных сетей
сетевую плату. Выбор производителей ш и р о к , и ц е н ы вполне конкуренто¬ способны. За типичную плату придется выложить от $40 до $80. Следует тщательно выбирать производителя и модель, так к а к не все платы рабо¬ тают со всеми пакетами беспроводного П О . П о сути имеется три различных набора микросхем для устройств в стандарте 802.11b. Набор микросхем Prism II к о м п а н и и Intersil является, в е р о я т н о , н а и б о л е е р а с п р о с т р а н е н н ы м и используется к о м п а н и е й Linksys, к р у п н е й ш и м производителем потребительских беспроводных плат. Набор микросхем Lucent Hermes применяется в платах WaveLAN и O R i N O C O и ориентирован в основном на корпоративное оборудование. Cisco располагает собственным набором микросхем, обладающим неко¬ торыми с п е ц и ф и ч е с к и м и з а щ и т н ы м и возможностями. Платы Prism II бу¬ дут работать с Kismet Wireless, программным обеспечением Linux, рассмо¬ т р е н н ы м в этой главе, но не на платформе Windows. Платы D - L i n k рабо¬ тают с Windows, но не с ш и р о к о доступным инструментарием безопасно¬ сти Windows. Может быть важен выбор конкретной модели определенно¬ го производителя. В старых платах Linksys U S B применялся другой набор микросхем, и о н и не очень хорошо работают на Linux. В довершение всего этого беспорядка некоторые новые протоколы еще не поддерживаются многими пакетами. Текущие версии программ¬ ных пакетов, рассмотренные в этой главе, не поддерживают н о в ы й стан¬ дарт 802.11g. О с н о в н ы м производителям еще предстоит выпустить интер¬ ф е й с н ы й код, чтобы разработчики программного обеспечения могли приняться за работу. Через некоторое время после того, как они это сде¬ лают, станут доступны драйверы. Вы д о л ж н ы изучить и н ф о р м а ц и ю на Web-сайтах соответствующих программ, прежде чем покупать оборудова¬ н и е для поддерживаемых плат и протоколов. П р и н а п и с а н и и данного об¬ зора применялась плата O R i N O C O G o l d P C M C I A , которая хорошо взаи¬ модействует с программным обеспечением Windows и Linux. Аппаратное
и программное
обеспечение
В качестве аппаратного обеспечения, на которое будут загружатьсяя программы, годится почти любая м а ш и н а нормальной мощности. Про¬ граммное обеспечение для U N I X прекрасно работает на PII 300 с ОЗУ 64 М Б . Программное обеспечение Windows также должно работать на такой системе. Н е с о м н е н н о , программы следует загрузить на ПК-блокнот, так как вы будете с н и м перемещаться. Существует версия Kismet Wireless дляя Palm OS и версия NetStumbler для Pocket P C , так что м о ж н о даже помес¬ тить программы в К П К . В н а ш е время доступны беспроводные платы дляя обеих основных платформ (Palm и Pocket P C ) малых К П К , способных воспользоваться этим программным обеспечением. 403
Курс
Защитные средства с открытыми исходными текстами
Необходимо также убедиться, что имеется достаточно свободного дискового пространства, если вы собираетесь взламывать ключи WEP. Требуется п р и м е р н о от 500 М Б до нескольких ГБ. Н е оставляйте м а ш и н у без присмотра при прослушивании беспроводных данных, если нет дос¬ таточного объема свободного дискового пространства — м о ж н о легко за¬ полнить весь жесткий диск, что приведет к аварийному останову компь¬ ютера. Если вы проводите аудит своего беспроводного периметра и хотите знать точное м е с т о п о л о ж е н и е , то м о ж н о приобрести н е б о л ь ш о й кар¬ м а н н ы й п р и е м н и к G P S . Проверьте, что в а ш е устройство G P S имеет N M E A - с о в м е с т и м ы й последовательный кабель для взаимодействия с П К - б л о к н о т о м . С п о м о щ ь ю этого оборудования вы сможете определить т о ч н ы е к о о р д и н а т ы мест, откуда доступны в а ш и точки беспроводного доступа. Р а с с м о т р е н н ы е в этой главе продукты с п о с о б н ы получать дан¬ н ы е G P S непосредственно из п р и е м н и к о в и вставлять их в результиру¬ ю щ у ю выдачу. Н а к о н е ц , если у вас получится п р и м е н и т ь совместимое с G P S п р о г р а м м н о е о б е с п е ч е н и я с о з д а н и я карт, т а к о е к а к Microsoft MapPoint, то вы сможете начертить в п о л н е п р и л и ч н ы е карты своей оце¬ н о ч н о й активности. Антенны Для беспроводного «вынюхивания» встроенной антенны в непо¬ средственной близости от офиса большинства плат будет вполне доста¬ точно. Однако, если вы действительно хотите проверить, насколько вы уязвимы извне, вам понадобится в н е ш н я я антенна, позволяющая опреде¬ лить пределы досягаемости вашей беспроводной сети. В к о н ц е к о н ц о в , плохие парни способны смастерить самодельную антенну дальнего дей¬ ствия из банки из-под ч и п с о в Pringles и куска провода. Вы можете купить недорогие а н т е н н ы профессионального уровня в различной комплекта¬ ц и и . Я купил набор, включающий плату O R i N O C O и в н е ш н ю ю антенну, подходящую для установки на крышу автомобиля. Это еще одна причина для тщательного выбора беспроводной платы. Некоторые платы позволяют присоединять в н е ш н и е антенны, другие — нет. Необходимо проверить, что на приобретаемой плате есть порт для ан¬ т е н н ы , если вы собираетесь оценивать беспроводную сеть. Известно, что платы O R i N O C O , Cisco, Samsung и Proxim поддерживают в н е ш н и е ан¬ тенны. Теперь, получив некоторые базовые з н а н и я и необходимое оборудо¬ вание, перейдем к рассмотрению свободного программного обеспечения, позволяющего производить оценку беспроводной сети (вашей, естест¬ венно). 404
Глава 10
Средства для беспроводных сетей
NetStumbler: Программа обнаружения беспроводной сети для Windows NetStumbler Автор/основной контакт: Web-сайт: Платформа: Лицензия: Рассмотренная версия: Форум NetStumbler:
Marius Milner www.netstumbler.com Windows Freeware 0.3.30z http://www.netstumbler.org/
NetStumbler, вероятно, — наиболее употребительное средство дляя оценивания беспроводной сети, в основном потому, что о н о свободно и работает на платформе Windows. Н а самом деле, о н о настолько популярно, что его название стало с и н о н и м о м «агрессивного объезда», к а к в выраже н и и «Вчера вечером я нетстумблил». Подозреваю, что автор так назвал свою программу, потому что при работе с ней он «случайно» натыкался на беспроводные сети (stumble — натыкаться, спотыкаться; русское слово «спотыкач» тоже вызывает осмысленные ассоциации — прим. перев.). NetStumbler н е считается программой с полностью о т к р ы т ы м и ис¬ ходными текстами, потому что в настоящее время автор е щ е н е сделал их доступными. Однако она условно свободна и заслуживает у п о м и н а н и я в силу распространенности. Д л я нее н а п и с а н о много д о п о л н е н и й с откры¬ т ы м и исходными текстами (одно и з них обсуждается далее в этой главе). К р о м е того, сообщество пользователей и Web-сайт NetStumbler п о л н о стью соответствуют идеологии открытого П О . Web-сайт весьма инфор¬ мативен и предоставляет много хороших ресурсов п о безопасности бес¬ проводных сетей, п о м и м о самой программы. Имеется также база д а н н ы х топографической съемки, куда пользователи NetStumbler вводят д а н н ы е о точках доступа, которые о н и обнаружили п р и п р и м е н е н и и программы. Если беспроводная сеть вашей организации находится в базе д а н н ы х и вы хотите, чтобы она была удалена, ваше ж е л а н и е с удовольствием ис¬ полнят.
Установка NetStumbler 1. Перед установкой NetStumbler убедитесь, что для беспроводной сетевой платы установлены правильные драйверы. В новых верси¬ ях Windows, таких к а к 2000 и XP, это обычно весьма просто. Уста¬ новите программное обеспечение, которое поставляется с вашей платой, и система должна автоматически распознать плату и поз¬ волить ее сконфигурировать. Поддержка для Windows 95 и 98 м о 405
Курс
Защитные средства с открытыми исходными текстами
жет быть ненадежной. Проверьте документацию платы по особен¬ ностям п р и м е н е н и я . 2. Когда плата включена и работает, проверьте ее, попытавшись п о лучить доступ в Интернет через точку беспроводного доступа. Ес¬ л и вы способны видеть в н е ш н и й м и р , то к установке NetStumbler все готово. 3. Процесс установки NetStumbler столь же прост, к а к и установка любой программы для Windows. Загрузите файл с прилагаемого к книге компакт-диска или с сайта www.netstumbler.com и распакуй¬ те его в отдельном каталоге. 4. Выполните файл setup в этом каталоге и начнется обычный про¬ цесс установки в Windows. Когда установка будет завершена, м о ж н о запустить NetStumbler.
Применение NetStumbler После запуска NetStumbler отображается о с н о в н о й э к р а н ( см. рис. 10.4). В столбце M A C м о ж н о видеть список точек доступа, обнаруженных NetStumbler. И к о н к и сетей слева от M A C - адреса о к р а ш е н ы в зеленый цвет, если о н и в настоящее время в зоне досягаемости. П о мере удаленияя
Рис. 10.4. Основной экран NetStumbler 406
Глава 10
Средства для беспроводных сетей
от сети и к о н к и становятся сначала желтыми, а затем красными. И к о н к и неактивных сетей будут серыми. Если в сети применяется ш и ф р о в а н и е , то отобразится замочек в кружке. Это позволяет быстро понять, в каких сетях используется WEP. NetStumbler собирает дополнительные д а н н ы е о любой обнаруживаемой точке. В табл. 10.2 описаны выводимые поля дан¬ ных и их смысл. П о мере проведения аудита основной экран NetStumbler заполнитсяя обнаруживаемыми беспроводными сетями. Вероятно, вас удивит количе¬ ство сетей, которые проявятся вокруг вашего офиса. Е щ е больше вас уди¬ вит число сетей с в ы к л ю ч е н н ы м ш и ф р о в а н и е м и подразумеваемыми идентификаторами набора сервисов. В левой стороне экрана отображаются обнаруженные сети. М о ж н о упорядочить их с п о м о щ ь ю различных фильтров, выбрать их по каналам, SSID и нескольким другим критериям. М о ж н о задать фильтры, чтобы отображались только сети, в которых ш и ф р о в а н и е включено или выклю¬ чено, инфраструктурные или одноранговые (произвольные), допускаю¬ щ и е C F - о п р о с (предоставление дополнительной и н ф о р м а ц и и п р и запро¬ се) или нет, с подразумеваемым или переустановленным значением SSID. Табл. 10.2. Поля данных NetStumbler Поле данных MAC
SSID
Name
Описание B S S I D или MAC-адрес базовой станции. Это уникаль¬ н ы й идентификатор, п р и с в о е н н ы й производителем. Он полезен, когда у вас много станций с одним и тем ж е подразумеваемым SSID производителя, таким к а к linksys. Идентификатор набора сервисов, с которым настраива¬ ется каждая точка доступа. О н определяет беспровод¬ ную сеть и необходим для входа в нее. NetStumbler охот¬ но извлечет его для вас и з сигналов радиомаяка. К а к от¬ мечено в о п и с а н и и поля M A C , это н е обязательно уни¬ кальный идентификатор, так к а к другие базовые стан¬ ц и и могут иметь такое ж е значение SSID. Возможны проблемы, если две организации в одном здании ис¬ пользуют одинаковые подразумеваемые значения SSID. В таком случае может статься, что служащие использу¬ ют сеть или выход в Интернет другой организации. Необязательное описательное и м я точки доступа. Иног¬ да производитель задает его. Владелец сети может его редактировать; например, Acme Corp Wireless Network. Иногда лучше оставить это поле пустым, если вы н е хо407
Курс
Channel
Vendor
Type
Encryption
SNR Signal Noise Latitude Longitude First seen Last seen Beacon
Защитные средства с открытыми исходными текстами
тите, чтобы посторонние, исследующие сетевой радио¬ э ф и р , узнали, что эта точка доступа принадлежит вам. Канал, в котором оперирует базовая станция. Если вы столкнулись с помехами, и з м е н е н и е этого значения у точки доступа может их устранить. Большинство произ¬ водителей используют подразумеваемый канал. Напри¬ мер, для точек доступа Linksys подразумеваемым служит шестой канал. NetStumbler с п о м о щ ь ю B S S I D пытается идентифици¬ ровать производителя и модель выявленного беспровод¬ ного оборудования. Указывает, была ли найдена точка доступа, узел сети или устройство какого-то другого типа. Обычно будут находиться точки доступа, которые обозначаются AP. Беспроводные узлы показываются как Peer. И м е н н о по¬ этому, даже без настроенной беспроводной сети, нали¬ ч и е в вашем П К беспроводной платы может быть рис¬ кованным. В н а ш е время многие П К - б л о к н о т ы постав¬ ляются со встроенными беспроводными передатчика¬ м и , поэтому желательно их отключить, если пользовате¬ ли не собираются их применять. Показывает, какой тип ш и ф р о в а н и я используется в сети (если используется). Это очень важно, поскольку, если сеть не шифруется, то посторонние могут извлечь ваш сетевой т р а ф и к прямо из э ф и р а и прочитать его. О н и могут также войти в вашу сеть, если отсутствуют другие средства защиты. Отношение сигнал/шум. Характеризует уровень помех и шума на входе приемника беспроводной платы. Уровень мощности сигнала на входе приемника. Уровень шума на входе приемника. Широта, если вы применяете вместе с NetStumbler п р и емник GPS. Долгота, если вы применяете вместе с NetStumbler при¬ емник GPS. П о к а з а н и я системных часов, когда был впервые принят сигнал радиомаяка сети. NetStumbler обновляет это значение всякий раз, когда вы входите в зону приема точки доступа. Частота посылки сигнала радиомаяка в миллисекундах. 408
Глава 10
Средства для беспроводных сетей
На панели в нижней части основного экрана можно видеть состояние своей беспроводной сетевой платы. Если она функционирует нормально, то вы увидите иконку, мигающую примерно каждую секунду, и количество в и димых в данный момент активных точек доступа. Если возникает проблема с интерфейсом между сетевой платой и программным обеспечением, то вы увидите это здесь. С правой стороны нижней панели находятся координаты G P S , если используется устройство глобального позиционирования. Мигание показывает, к а к часто в ы опрашиваете точки доступа. NetStumbler — средство активного сканирования сетей, поэтому о н п о стоянно посылает пакеты «Hello», чтобы проверить, ответит л и к а к а я - н и будь беспроводная сеть. Другие беспроводные средства, такие к а к Kismet (см. далее в этой главе), являются пассивными, так к а к о н и только при¬ нимают сигналы радиомаяка. Недостаток активных средств — возмож¬ н ы й пропуск некоторых точек доступа, настроенных не отвечать н а оп¬ р о с ; достоинство же в том, что некоторые точки доступа посылают сигна¬ л ы радиомаяка так редко, что с п о м о щ ь ю пассивных средств в ы можете никогда их не поймать. Помните также, что активный опрос может вызы¬ вать срабатывание беспроводных систем обнаружения вторжения, одна¬ ко очень немногие организации применяют подобные системы, а если в ы используете NetStumbler только к а к средство о ц е н и в а н и я собственной сети, то скрытность не должна быть важна. Если в этом режиме щелкнуть м ы ш ь ю н а к а к о й - либо сети, будет по¬ казан график о т н о ш е н и я сигнал/шум за период времени, когда в ы на¬ блюдали сеть. Это позволяет увидеть, насколько силен сигнал в различ ных областях (см. рис. 10.5).
Рис. 10.5. График сигнала NetStumbler 409
Курс
Защитные средства с открытыми исходными текстами
Опции NetStumbler Чтобы вывести диалоговое о к н о для задания о п ц и й NetStumbler, вы¬ берите подменю Options в меню View. В табл. 10.3 перечислены вкладки и возможные значения. Табл. 10.3. О п ц и и NetStumbler Вкладка General
GPS
Scripting
MIDI
Описание Задает частоту опроса точек доступа. М о ж н о также задать автоматическую подстройку с учетом вашей скорости, если применяется система глобального по¬ зиционирования. Имеется опция автоматического реконфигурирования вашей платы, когда найдена но¬ вая сеть, н о в ы , вероятно, н е захотите этого делать в н а с ы щ е н н о й области: если вокруг много точек досту¬ па, то конфигурация платы будет изменяться каждые несколько секунд и это замедлит работу компьютера. К р о м е того, программное обеспечение может скон¬ фигурировать плату для чужой сети, и тогда вы не¬ у м ы ш л е н н о станете нарушителем. (См. врезку «Реко¬ мендации по эффективному и этичному аудиту бес¬ проводных сетей»). Настраивает п р и е м н и к G P S д л я взаимодействия с NetStumbler. Я использовал к а р м а н н о е устройство G P S Meridian с последовательным кабелем. Приш¬ лось задать л и ш ь п р а в и л ь н ы й порт и параметры ком¬ м у н и к а ц и и , и NetStumbler сразу начал импортиро¬ вать д а н н ы е . Н а с т р о й к а вызова в н е ш н и х процедур. М о ж н о ис¬ пользовать Visual Basic и л и л ю б ы е другие я з ы к и н а Windows-платформе для в ы п о л н е н и я дополнитель¬ ных действий с выдачей NetStumbler. В н е ш н и е про¬ граммы также могут использовать эту функциональ¬ ность. М о ж н о настроить NetStumbler для проигрывания от¬ н о ш е н и я сигнал/шум к а к файла M I D I . Н е думаю, что это стоит делать в области с множеством сетей, по¬ скольку может стать очень ш у м н о , н о предполагаю, что п о и с к ускользающего сигнала по звуку способен быть э ф ф е к т и в н ы м . 410
Глава 10
Средства для беспроводных сетей
Р е к о м е н д а ц и и по э ф ф е к т и в н о м у и э т и ч н о м у а у д и т у беспроводных сетей Получите разрешения Не забудьте получить разрешение руководства на проведение оценки бес проводной сети. Если вы — внешний консультант, то должны иметь письменное разрешение или подписанное высшим руководством соглашение. Если органи зация не владеет зданием, руководство должно согласовать это со службой без опасности здания, чтобы вам было разрешено находиться в помещениях. Определите периметр беспроводной сети Обойдите внешние границы и определите, как далеко распространяет ся ваш сигнал. (Хорошим практическим правилом служит обход только об щедоступных мест, которые могут использоваться беспроводными взлом¬ щиками или агрессивными ездоками). Если возможно, достаньте карту и на¬ несите на нее свой беспроводной периметр. Начните вне области приема, которую вы считаете нормальной, и про двигайтесь внутрь по спирали, описав сначала широкую дугу вокруг ваших рабочих помещений и пытаясь определить, как далеко распространяется сигнал. Затем вернитесь назад и сделайте еще более широкий круг чтобы проверить, не простираются ли некоторые зоны приема еще дальше. Иногда особенности ландшафта или рукотворные объекты способны причудливым образом расширять распространение сигнала: он может отра жаться или фокусироваться зданиями, рекламными щитами, деревьями и другими объектами. Исходите из предположения, что агрессивные ездоки этим воспользуются. После определения периметра можно проанализировать зоны приема отклика и принять меры по их устранению или сокращению. Иногда можно уменьшить дальность распространения пакетов, перемещая точки доступа во внутренние помещения или на другую сторону здания. Как упоминалось выше, многие устройства позволяют настроить мощность сигнала, чтобы уменьшить излучение из здания.
Ф л э м и Тех с о в е т у е т : Будьте хорошим беспроводным соседом П р и проведении аудита своей сети вы можете наткнуться на другие точки и узлы беспроводного доступа в ближайшей ок¬ рестности или том ж е здании. Некоторые из них окажутся не¬ защищенными. Будьте хорошим соседом и дайте знать владельцам, что их точка доступа не защищена. Возможно, они даже не подозревают о грозящих им опасностях. 411
Курс
Защитные средства с открытыми исходными текстами
Будьте хорошим соседом и н е пытайтесь проехаться по их сети, чтобы продемонстрировать ее незащищенность. Это н е просто очень плохое по¬ ведение, это подсудное дело, если вас поймают. Поэтому н е поддавайтесь искушению и будьте хорошим беспроводным соседом. Применение внешней антенны П р и м е н е н и е платы, допускающей подключение в н е ш н е й антенны, резко расширяет зону доступа, и стоят о н и ненамного больше, чем самые деше¬ вые беспроводные сетевые интерфейсные платы. Потребительские вер¬ сии, такие к а к Linksys и л и D - L i n k , обычно это н е поддерживают, н о сто ит заплатить дополнительные $100 за лучшую плату. Если у вас совсем нет средств, посетите Web-сайты, на которых рассказано, к а к смастерить са¬ модельную антенну для вашей платы. Исходите и з предположения, что ваши потенциальные противники также смогут найти эти сайты и сдела¬ ют антенну н и к а к н е хуже вашей. Проводите аудит при оптимальных условиях Дождь, сырость, туман способны повлиять на беспроводную передачу. Волны с д л и н о й , соответствующей стандарту 802.11b, резонируют в воде, и это может приглушать сигнал во время л и в н я или даже просто п р и по¬ в ы ш е н н о й влажности. Листва деревьев из-за высокого содержания воды обладает таким ж е эффектом. Ваши результаты зимой могут отличаться от летних. Выберите для проверки я с н ы й , сухой день, чтобы оптимизиро¬ вать свои результаты.
Сохранение сеансов NetStumbler NetStumbler автоматически начинает сохранять сеанс всякий раз, как вы его открываете. Это позволяет анализировать сеансы NetStumbler позднее. П о умолчанию сеансы сохраняются в собственном формате NetStumbler. М о ж н о также сохранять сеансы к а к текст для импорта в электронную таблицу и л и текстовый процессор, и в формате wi-scan, ко¬ торый является активно развивающимся файловым стандартом для жур¬ налов анализа беспроводных сетей. М о ж н о также экспортировать их в не¬ которые другие форматы. Для каждого сеанса NetStumbler выводит вверху окна уникальный номер, я в л я ю щ и й с я комбинацией даты и времени (см. рис. 10.5). Это по¬ лезно п р и отслеживании сеансов и результатов. П р и ж е л а н и и м о ж н о за¬ менить это и м я на более содержательное. Теперь, имея множество данных о периметре беспроводной сети, желательно сгенерировать некоторые отчеты либо для руководства, либо для заказчика, если вы работаете к а к консультант. Если имеются д а н н ы е глобального п о з и ц и о н и р о в а н и я , м о ж н о построить наглядные карты с п о 412
Глава 10
Средства для беспроводных сетей
м о щ ь ю программы Microsoft MapPoint и рассмотренного н и ж е средства с открытыми исходными текстами. StumbVerter: Программа преобразования карты для NetStumbler StumbVerter Автор/основной контакт: Michael Puchol; Sonic Security Web-сайт: www.sonar-security.com Платформа: Windows Лицензия: Freeware (аналогична GPL) Рассмотренная версия: 1.5 Список почтовой рассылки: Пошлите пустое сообщение по адресу [email protected] StumbVerter — небольшая и з я щ н а я программа, которая берет выдачу NetStumbler и преобразует ее в исходные д а н н ы е для программы Microsoft MapPoint. Ее ф у н к ц и о н а л ь н о с т ь ш и р е , ч е м у базовой п р о г р а м м ы NetStumbler. Р а с ш и р е н и я включают: • Отображение точек доступа на карте в виде небольших маяков. • Изображение маяков различного размера и цвета в зависимости от м о щ н о с т и сигнала точки доступа и режима ш и ф р о в а н и я . • Н а л и ч и е кружков для записи заметок и другой и н ф о р м а ц и и . • Н а л и ч и е навигационной и н ф о р м а ц и и , такой к а к скорость, напра¬ вление и расстояние до ближайшей известной точки доступа. • Средство сравнения антенн. Д л я п р и м е н е н и я StumbVerter н е о б х о д и м о и м е т ь легальную лицен¬ з и ю н а Microsoft MapPoint 2002. Я п о н и м а ю , ч т о это н е соответствует духу с в о б о д н о г о п р о г р а м м н о г о о б е с п е ч е н и я , н о р а с ш и р е н и е функци¬ о н а л ь н о с т и в п о л н е с т о и т д о п о л н и т е л ь н ы х $200.00, т р е б у е м ы х MapPoint. И , к о н е ч н о , сама п р о г р а м м а StumbVerter условно свободна. Развивается н е с к о л ь к о п р о е к т о в п о р а з р а б о т к е п р о г р а м м д л я преобра¬ з о в а н и я ф а й л о в NetStumbler во ч т о - н и б у д ь с в о б о д н о е , т а к о е к а к MapQuest и л и MapBlast ( н о н и о д и н и з н и х п о к а н е достиг стадии, по¬ з в о л я ю щ е й в к л ю ч и т ь его в п у б л и к а ц и ю ) . В л ю б о м случае, если необ¬ х о д и м о представлять отчеты руководству, ц в е т н ы е к а р т ы будут более чем уместны.
Установка StumbVerter 1. Прежде чем устанавливать StumbVerter, убедитесь, что установле¬ н ы Microsoft MapPoint и NetStumbler. Без двух этих программ уста413
Курс
Защитные средства с открытыми исходными текстами
новка будет некорректной. Если вы установили их только что, пе¬ резагрузите компьютер. 2. Вы должны также задействовать п р и е м н и к G P S и фиксировать по¬ ступающую от него и н ф о р м а ц и ю в NetStumbler. Чтобы StumbVerter мог что-то сделать с д а н н ы м и , он должен иметь GPS-координаты беспроводных сетей. С их помощью вычисляется расположение графических элементов. 3. Загрузите StumbVerter с прилагаемого к книге компакт-диска или с Web- сайта и распакуйте его. 4. Сделайте двойной щелчок м ы ш ь ю на файле setup, и StumbVerter будет установлен в вашу систему. Когда все будет установлено, м о ж н о начать работать с NetStumbler и StumbVerter.
Применение StumbVerter 1. Ч т о б ы применять StumbVerter, требуются какие-то д а н н ы е дляя отображения. Поэтому прогуляйтесь с NetStumbler и соберите ин¬ ф о р м а ц и ю о своих беспроводных сетях. 2. Сохраните сеанс в NetStumbler и экспортируйте его в текстовый сводный формат. 3. Запустите StumbVerter, сделав двойной щелчок м ы ш ь ю на его и к о н к е на рабочем столе. 4. В меню вверху экрана щелкните м ы ш ь ю на M a p , выберите Create New, а затем выберите свою область. 5. Когда загрузится карта, щелкните м ы ш ь ю на Import и выберите файл .nsi, представляющий сеанс NetStumbler, который вы хотите отобразить. StumbVerter выводит записанные д а н н ы е в графиче¬ ском формате в виде карты (см. р и с . 10.6). Зеленые башенки обозначают шифрующие точки доступа; красные — нешифрующие. Мощность сигнала показана волнами, исходящими с вер¬ ш и н ы иконки: чем больше волн, тем сильнее сигнал. Если сделать одиночный щелчок м ы ш ь ю на определенной точке до¬ ступа, то эта точка станет центральной точкой карты и будет выведен кру¬ ж о к с и н ф о р м а ц и е й . В начале выдается идентификатор набора сервисов сети. После двойного щелчка м ы ш ь ю выводятся все связанные с этой точкой доступа заметки, а вам предоставляется возможность добавить свои комментарии. В м е н ю View имеется несколько опций для манипулирования картой и ее очистки. Н а п р и м е р , м о ж н о удалить важные точки (POIs), которые вставляет MapPoint, если о н и н е требуются в иллюстративных целях. М о ж н о убрать некоторые и н ф о р м а ц и о н н ы е кружки, если вы хотите ото414
Средства для беспроводных сетей
Глава 10
Рис. 10.6. Карта StumbVerter бражать только точки доступа. М о ж н о также применить чертежные сред ства для добавления на карту текста, графики или других объектов. Когда работа над картой будет завершена, ее м о ж н о сохранить либо в собствен¬ н о м формате MapPoint, либо выбрать о п ц и ю CSV, если вы хотите сохра¬ нить карту в текстовом формате, подходящем для экспорта в другие про¬ граммы. Возможность сравнения антенн полезна для сравнения нескольких внешних антенн и л и различных плат со встроенными антеннами, чтобы определить, какие работают лучше. М о ж н о импортировать до трех раз¬ личных файлов NetStumbler, и StumbVerter привяжет их к одним и тем же точкам доступа и отобразит результаты рядом друг с другом (см. рис. 10.7). Это может быть полезно п р и выборе платы и л и антенны, особенно если вы мастерите антенны сами. Теперь, о з н а к о м и в ш и с ь с з а м е ч а т е л ь н ы м и с р е д с т в а м и д л я W i n dows, р а с с м о т р и м средства д л я Linux. Хотя средства д л я Windows лег¬ че устанавливать и п р и м е н я т ь , есть н е к о т о р ы е в е щ и , к о т о р ы е о н и по¬ ка н е делают ( н а п р и м е р , п а с с и в н о е с к а н и р о в а н и е и п о п ы т к и в з л о м а WEP). 415
Курс
Защитные средства с открытыми исходными текстами
Рис. 10.7. Экран StumbVerter п р и сравнении антенн
Kismet Wireless: Программа обнаружения беспроводных сетей для Linux Kismet Wireless Mike Kershaw Автор/основной контакт: www.kismetwireless.net Web-сайт: Большинство Linux Платформы: GPL Лицензия: .4.0.1 Рассмотренная версия: Списки почтовой рассылки: [email protected] В основном о применении Kismet, а также предложения, обсуждение, объявление новых возможностей и т.д. Для подписки отправьте элек тронное сообщение со словом "subscribe" в теле по адресу [email protected]. Имеется также архив обсуждений по адресу www.kismetwireless.net/archive.php [email protected] Список почтовой рассылки для обсуждения беспроводной безопасно сти, уязвимостей и других тем, не связанных непосредственно с Kismet. Для подписки отправьте электронное сообщение со словом "subscribe" в теле по адресу [email protected]. 416
Глава 10
Средства для беспроводных сетей
Kismet Wireless — один из лучших анализаторов беспроводных сетей для операционной системы Linux. Есть и другие программы, в том числе AeroSniff и Prism2Dump, которые также хорошо работают в Linux. Я вы¬ брал Kismet из-за его растущей базы поддержки и дополнительных моду¬ лей, а также совместимости с разнообразным беспроводным оборудова¬ нием. К а к и Nessus, Kismet Wireless построен в архитектуре клиент-сер¬ вер, что делает его еще более гибким. Еще одной привлекательной чертой применения платформы Linux является возможность в ы п о л н е н и я программ WEPcrack и AirSnort, к о т о р ы е на другие п л а т ф о р м ы п о к а н е п е р е н е с е н ы . Н а мо¬ м е н т п у б л и к а ц и и н е существовало н и к а к о г о п о - н а с т о я щ е м у х о р о ш е г о д о с т у п н о г о п р о г р а м м н о г о о б е с п е ч е н и я с о т к р ы т ы м и и с х о д н ы м и тек¬ стами д л я т е с т и р о в а н и я W E P на п л а т ф о р м е Windows, н о ситуацияя должна измениться. Некоторые возможности Kismet выходят за р а м к и базовой функци¬ ональности такой программы, как NetStumbler. Kismet совместим с рядом других программ и может быть настроен для сбора слабых ключей шиф¬ рования для п о п ы т о к взлома в н е ш н и м и программами. Kismet способен работать даже к а к система обнаружения вторжений, исходящих из вашей беспроводной сети.
Установка сетевой интерфейсной платы и драйверов Прежде чем загружать Kismet, необходимо удостовериться, что ваша плата совместима с этой программой. В настоящее время Kismet работает со следующими беспроводными платами: • D-Link • Linksys (только P C I и P C M C I A ) • RangeLan • Cisco Aeronet • ORiNOCO Теоретически, Kismet должен работать с любой платой, в которой использованы наборы микросхем Prism II и Hermes, а также с платами, которые м о ж н о перевести в режим rf_mon или Monitor, но на практике результаты могут быть различными. Я рекомендую выбрать одну из пере¬ численных в ы ш е плат, чтобы избежать проблем. Теперь начинается самое интересное. Н у ж н о сделать н е с к о л ь к о шагов, чтобы превратить Linux-систему в беспроводной анализатор. Д л я разных аппаратных и п р о г р а м м н ы х к о н ф и г у р а ц и й эти действия н е много различаются. Проверьте д о к у м е н т а ц и ю на Web-сайте Kismet, ч т о бы узнать, нет ли каких-то с п е ц и ф и ч е с к и х и н с т р у к ц и й для вашего обо¬ рудования. 417
Курс
Защитные средства с открытыми исходными текстами
1. Начните с проверки актуальности ваших драйверов P C M C I A (ес¬ ли у вас плата P C M C I A ) . Если у вас не очень старая версия Linux, то, скорее всего, все будет нормально. В д а н н о м примере установ¬ ки используется Mandrake Linux 9.1. 2. Если драйверы нужно обновить, зайдите на сайт www.rpmfind.com и п о и щ и т е файл pcmcia-cs для вашего дистрибутива. Запустите R P M , и он установит самые свежие драйверы. 3. Удостоверьтесь, что все подходящие для вашей платы беспровод¬ н ы е драйверы загружены. Беспроводные драйверы для Linux под¬ держиваются не так хорошо, как для Windows, и обычно не имеют удобного графического интерфейса установки. (Будем надеяться, что ситуация изменится, когда производители добавят поддержку для Linux и кто-нибудь создаст R P M для установки драйверов.) М н е пришлось «прикручивать» собственные драйверы, и удо¬ вольствие было ниже среднего. Если возможно, выбирайте одну из поддерживаемых плат; в оперативном доступе имеются подробные инструкции и масса информации о них. Для платы O R i N O C O яя скомпилировал драйвер, имевшийся на приложенном к ней диске. Самые свежие драйверы доступны также по адресу www.orinocowireless.com, а на некоторых других сайтах предлагаются платы на осно¬ ве того же набора микросхем. Если вы используете плату Prism II, то вам потребуются драй¬ веры Linux wlan-ng. И х м о ж н о взять на www.linux-wlan.org. 4. Установите драйверы и все программные к о р р е к ц и и , необходи¬ м ы е для работы платы в режиме монитора, который требуется бес¬ проводным сетевым анализаторам. Этот режим аналогичен режи¬ му прослушивания для Ethernet, он заставляет плату принимать радиоволны, не ассоциируя их с определенной точкой доступа. Следующие инструкции предназначены для платы O R i N O C O , которой требовались коррекции для режима монитора. Справьтесь в документации или в Интернет по поводу других плат. a. Загрузите файл или скопируйте его с прилагаемого к книге ком¬ пакт-диска. b. Чтобы инициировать процесс установки, введите: make c o n f i g
Процедура конфигурирования задаст несколько базовых вопросов о вашей системе. Подразумеваемые значения, как правило, годятся. c. Выполните следующие команды от и м е н и пользователя root: ./Build ./Install 418
Глава 10
Средства для беспроводных сетей
d. Для платы O R i N O C O поверх драйвера требовалось наложить заплату, чтобы обеспечить работу в режиме монитора. Для дру¬ гих плат это может не понадобиться. Заплату м о ж н о взять по ад ресу airsnort.shmoo.com/orinocoinfo.html. e. Если драйвер нуждается в программной к о р р е к ц и и , загрузите корректирующий файл; в противном случае перейдите к шагу 5. f. Распакуйте файл и введите следующую команду: patch -p0 < текущий_корректирующий_файл
5.
6.
7.
8.
9.
Д о л ж н ы скорректироваться все файлы, нуждающиеся в обновлении. Если ключ -p0 не сработает, попробуйте -p1. Войдите в файл беспроводной конфигурации и отредактируйте параметры настройки. Этот файл находится в /etc/pcmcia/config.opts. • Если вы собираетесь использовать плату с Kismet, оставьте эти параметры пустыми. • Если вы хотите применять ее для доступа к своей локальной ба¬ зовой станции, введите в этот файл подходящие для сети на¬ стройки, такие как SSID и т.д. Теперь м о ж н о перезагрузить систему со вставленной в разъем бес¬ проводной платой. Когда это произойдет, д о л ж н ы прозвучать два коротких сигнала, показывающие, что сетевая плата опознана и сконфигурирована. Если вы не услышите сигналы, вернитесь к документации своей платы и убедитесь, что все шаги сделаны правильно. Наберите ifconfig в командной строке. Вы д о л ж н ы увидеть интер¬ фейс wlan01. Если его не видно, вернитесь к документации своей платы и убедитесь, что все шаги сделаны правильно. После того, как вам удастся загрузить драйверы, удостоверьтесь, что ваша беспроводная плата действительно работает. Вы должны иметь возможность выхода в Интернет или эхо-тестирования машин в про водной ЛВС. Если вы не сможете этого сделать, придется вернуться к инструкциям по установке платы. Нужно заставить плату работать, прежде чем устанавливать программное обеспечение Kismet. Необходимо также иметь свежую библиотеку libpcap, чтобы опе¬ р а ц и о н н а я система могла читать пакеты прямо из вашей платы. М н о г и е о п и с а н н ы е ранее в этой книге средства используют этот драйвер, поэтому, если вы его еще не установили, то загрузите его с прилагаемого к книге компакт-диска или с сайта www.tcpdump.org и установите. Н а к о н е ц , вы добрались до ф и н и ш а установки сетевой интер¬ ф е й с н о й платы и драйверов, необходимых для работы Kismet. 419
Курс
Защитные средства с открытыми исходными текстами
Установка Kismet Если все прошло успешно, м о ж н о перейти к установке программы. 1. Загрузите Kismet с прилагаемого к книге компакт-диска или с Web-сайта. 2. Распакуйте дистрибутив. 3. Д л я к о м п и л я ц и и Kismet наберите следующую команду с л ю б ы м и подходящими к о н ф и г у р а ц и о н н ы м и ключами, перечисленными в табл. 10.4. /configure
Табл. 10.4. К о н ф и г у р а ц и о н н ы е ключи Kismet Ключ --disable-curses --disable-panel --disable-gps --disable-netlink --disable-wireless --disable-pcap --enable-syspcap --disable-setuid
--enable-wsp100 --enable-zaurus --enable-local-dumper --with-ethereal=DIR --without-ethereal --enable-acpi
Описание Отключает пользовательский интерфейс на о с нове curses. Отключает р а с ш и р е н и я панели ncurses. Отключает поддержку G P S . Отключает перехват сокетов Linux NetLink (с за¬ платами для prism2/orinoco). Отключает беспроводные р а с ш и р е н и я ядра Linux. Отключает поддержку перехвата посредством libpcap. Использует системную библиотеку libpcap (не рекомендуется). Отключает возможность переустановки действу¬ ющего идентификатора пользователя (не реко¬ мендуется). Включает устройство перехвата — удаленный сенсор WSP100. Включает некоторые дополнительные возмож¬ ности (такие к а к пьезозуммер) для К П К Zaurus. Заставляет использовать локальные средства дампа, даже если присутствует Ethereal. Поддерживает прослушивание Ethereal для про¬ токолирования. Отключает поддержку прослушивания Ethereal. Включает поддержку продвинутого интерфейса конфигурирования и питания ядром Linux. 420
Глава 10
Средства для беспроводных сетей
Эти ключи времени компиляции м о ж н о задавать в инструк¬ ц и и configure для включения или отключения некоторых функций. 4. Когда процесс конфигурирования будет закончен, выполните сле¬ дующие команды от и м е н и пользователя root, чтобы закончить процесс к о м п и л я ц и и и установить программу: make dep make make i n s t a l l
5. Завершив установку программы Kismet, найдите файл kismet.conf, который по умолчанию должен располагаться в /usr/local/etc. В этом файле задаются ваши интерфейсные и протокольные пред¬ почтения. В табл. 10.5 описаны варьируемые параметры. 6. Теперь отредактируйте файл kismet_ui.conf, также находящийся в /user/local/etc. В нем задаются некоторые настройки интерфейса. В табл. 10.6 перечислены возможные варианты. 7. Сохраните оба файла. Теперь все готово к применению Kismet для аудита беспроводной сети. Табл. 10.5. И н т е р ф е й с н ы е и протокольные о п ц и и Kismet Параметр Capture source
Описание Определяет, к а к и е и н т е р ф е й с ы будет прослуши¬ вать Kismet. О б ы ч н о здесь уже д о л ж е н быть за¬ д а н о с н о в н о й б е с п р о в о д н о й и н т е р ф е й с (wlan0). Е с л и вы хотите д о б а в и т ь д о п о л н и т е л ь н ы е ин¬ т е р ф е й с ы , сделайте это в ф о р м а т е source=™n, интерфейс, имя. Например, настройка source=prism2, wlan0, Prism п р е д п и ш е т Kismet слушать wlan0 к а к плату т и п а prism2. В журналах соответствую¬ щ и е д а н н ы е будут ф и г у р и р о в а т ь п о д и м е н е м
Fuzzy encryption
Отображает все и д е н т и ф и ц и р о в а н н ы е пакеты к а к н е ш и ф р о в а н н ы е для станций, п р и м е н я ю щ и х не¬ определенные и л и собственные методы шифрова¬ ния. Обычно эту о п ц и ю оставляют выключенной, если только плата н е считает заведомо шифрую¬ щ и е сети н е ш и ф р у ю щ и м и . Ограничивает круг протоколируемых пакетов. Воспользуйтесь опцией n o i s e l o g , чтобы отбрасы¬ вать все пакеты, которые кажутся и с п о р ч е н н ы м и или фрагментированными из-за шума. В н а с ы -
Prism.
Filtering packet logs
421
Курс
Защитные средства с открытыми исходными текстами
Decrypt W E P keys
щ е н н о й области с множеством помех или при ис¬ пользовании платы без в н е ш н е й антенны это мо¬ жет уменьшить размер журнала. О п ц и я beaconlog отбрасывает все пакеты определенной точки дос¬ тупа, кроме первого пакета радиомаяка. Настрой¬ ка phylog отбрасывает все пакеты физического уровня, которые иногда подхватываются. Допус¬ тима любая к о м б и н а ц и я этих настроек. Расшифровывает перехваченные пакеты данных на лету. Для этого, однако, следует иметь ключ, который иногда м о ж н о добыть с п о м о щ ь ю про¬ граммы AirSnort (описанной далее в этой главе). Для каждой точки доступа требуется отдельнаяя инструкция вида bssid:key
Using an external IDS
где bssid — это MAC-адрес точки доступа, а key — ключ для нее. Посылает пакеты в н е ш н е й системе обнаруженияя вторжений для дальнейшего анализа. В этой инст¬ рукции задается и м е н о в а н н ы й канал, а сетевой системе обнаружения вторжений следует предпи¬ сать чтение из него.
Табл. 10.6. Настройки интерфейса Kismet Настройка Columns
Colors
Описание Определяет, какие столбцы и в каком порядке появятся в интерфейсе Kismet. И з м е н и т е значение columns или c l i e n t c o l u m n s в соответствии с тем, что вы хотите видеть. П о л н ы й с п и с о к столбцов имеется в оперативной справке Kismet. Определяет цвета элементов изображения. И з м е н и т е зна чение c o l o r x x x на требуемый код цвета. Придется немно¬ го поэкспериментировать с этой настройкой, чтобы пра¬ вильно подобрать цвета. (Я нашел, что подразумеваемые значения приемлемы, но не для печати, и заменил их цветами, которые лучше смотрятся на бумаге.)
Применение Kismet Wireless Запустите Kismet, набрав и м я исполнимого файла в командной строке или на терминале X-Window, поддерживающем инструментарий 422
Средства для беспроводных сетей
Глава 10
R-Network L i s t — ( A u t o f i t ) Name p@thflnd3r <гю s s i d > KrullNetl 1inksys marley <no s s i d ) PARMAS <no s s i d > GR^WirelessNetwo r k SECMAS <no s s i d >
T M
й Y 06 й N 05 A Y 06
N 06 N 06 N N 07 Y 06 Y 06 N 07 N • N
A A D A A A A D
Packts Flags 171 1 27 81 FU4 312 20 A2 30 1 2 13 1 A4 267
D a t a Clrvt 35 70 0 0 0 0 8 2 17 1 20 18 0 0 0 0
о
0 1 26 7
о
0 66 1
-Info Ntwrks 105 Fckets 1258 Cryptd 104 Weak Noise 289 Disord 289 Pkts/s 50
Elapsd -00002711—Status Found IP 159.139.90.1 f o r <no s s i d > : : 0 0 : 0 4 : 7 6 : B B 07:04 Found IP 159.139.90.1 f o r <no s s I d > : :00:04 :76 : BB H 7 : 0 4 Found IP 159.139.90.1 f o r ( n o s s i d > : : 0 0 : 0 4 : 7 6 : B B 07:04 Found IP 159.139.120.13 f o r <no s s i d > : :00 :B0 :D0 :DE : 60 I — B a t t e r y : AC c h a r g i n g 100'/. OhOmOs
via vi via :E3
HRP a ARP HRP v i a TCP
1
Рис. 10.8. Основной э к р а н Kismet Wireless Curses. Отобразится основной интерфейс (см. рис. 10.8). Kismet немед¬ ленно начнет сообщать обо всех беспроводных сетях в вашей округе и вы¬ давать и н ф о р м а ц и ю о них. В интерфейсе м о ж н о выделить три основные части. Раздел Network List слева отображает все активные в текущий момент беспроводные сети, которые Kismet смог увидеть, и основную и н ф о р м а ц и ю о них: SSID сети ( если доступен), т и п ( точка доступа и л и узел), шифруется о н а и л и нет с п о м о щ ь ю WEP, используемый канал вещания, число перехваченных до сих пор пакетов, любые флаги н а данных и объем данных, проходящих через сеть. Вывод кодируется цветом: активные сети отображаются крас¬ н ы м цветом, а неактивные — черным. В поле Info справа отображается общая статистика текущего сеанса перехвата, включая общее число обнаруженных сетей, общее число паке¬ тов, число пакетов, которые были з а ш и ф р о в а н ы , услышанные слабые се¬ ти, пакеты с высоким уровнем шума, отброшенные пакеты и среднее чис¬ ло пакетов в секунду. Поле Status внизу содержит прокручивающееся представление про¬ исходящих событий. С о о б щ е н и я всплывают, когда появляются новые се¬ ти и л и происходят другие события. Так к а к Kismet — средство командной строки, хотя и с графическим интерфейсом, для управления его ф у н к ц и я м и применяются клавишные команды. В табл. 10.7 перечислены клавишные команды, доступные и з основного экрана. 423
Курс
Защитные средства с открытыми исходными текстами
Табл. 10.7. К л а в и ш н ы е команды Kismet Клавишная команда
Описание
a
Выдает статистику числа пакетов и распределения кана¬ лов. Открывает клиентское всплывающее о к н о для отображе¬ н и я клиентов выбранной сети. Предписывает серверу начать извлечение из потока паке¬ тов цепочек печатных символов и их отображение. Открывает всплывающее о к н о на серверах Kismet. Это позволяет одновременно контролировать два или не¬ сколько серверов Kismet на различных хостах ( н а п о м н и м , что это архитектура клиент-сервер). Находит центр сети и отображает компас. Группирует помеченные в д а н н ы й момент сети. Выдает список возможных команд. Выдает подробную и н ф о р м а ц и ю о текущей сети или группе. Показывает уровни с и г н а л / м о щ н о с т ь / ш у м , если плата их сообщает. Отключает звук и речь, если они включены (или включает их, если они были перед этим выключены). Ч т о б ы этим пользоваться, в конфигурации д о л ж н ы быть включены звук или речь. Переименовывает выбранную сеть или группу. Выдает т и п ы пакетов по мере их получения. Выводит столбчатую диаграмму темпа порождения паке¬ тов Изменяет способ сортировки списка сетей. Помечает текущую сеть или снимает метку с нее. Исключает текущую сеть из группы. Выдает все предыдущие сигналы и предупреждения. Увеличивает панель вывода сети на весь экран (или воз¬ вращает ей нормальный размер, если она уже увеличена).
c d e
f g
h i l m
n p
r s t u w z
К а к отмечено в ы ш е , м о ж н о расширить представление и н ф о р м а ц и и о каждой обнаруженной сети, чтобы показать все детали определенной точки доступа, вводя i в командной строке. На рис. 10.9 воспроизведена эта выдача. С п о м о щ ь ю команды z м о ж н о расширить поле сети на весь экран и видеть дополнительную и н ф о р м а ц и ю о каждой сети, например произво424
Глава 10
Средства для беспроводных сетей
Рис. 10.9. Экран Kismet с подробными д а н н ы м и о сети дителя обнаруженного оборудования. Это облегчает группирование точек доступа, если вы пытаетесь следить л и ш ь за определенной частью из них и хотите иметь возможность отфильтровывать другие. Это делается с по¬ м о щ ь ю команд g и u, служащих для включения и удаления из группы со¬ ответственно. Удобно работать с поддержкой звука — звуковой сигнал подается при обнаружении новых сетей. Звук м о ж н о отключить с п о м о щ ь ю коман¬ ды m, если вы то и дело входите и выходите из области приема множест¬ ва сетей, иначе вы получите к а к о ф о н и ю сигналов!
Поддержка GPS в Kismet Kismet способен записывать данные G P S , если имеется п р и е м н и к G P S , подключенный к м а ш и н е . Для его чтения требуется программное обеспечение демона G P S для Kismet, G P S D . G P S D м о ж н о взять по адре¬ су http://russnelson.com/gpsd/. Необходимо включить поддержку G P S при к о м п и л я ц и и Kismet с п о м о щ ь ю параметров времени к о м п и л я ц и и , приве¬ денных выше в табл. 10.4. После этого Kismet будет автоматически добы¬ вать координаты услышанных сетей и протоколировать их. М о ж н о сделать еще один шаг и отобразить эти координаты на карте, так же к а к для программы в Windows. Kismet поставляется со встроенной программой G P S M A P , которая автоматически изображает собранные данные на картах в формате .gps. Для этого, правда, требуется предоста¬ вить собственную откалиброванную G P S - карту. Для построения карт в Linux имеется программа с открытыми исходными текстами GPSDrive. Ее м о ж н о загрузить со страницы http://gpsdrive.kraftvoll.at/index.shtml. 425
Курс
Защитные средства с открытыми исходными текстами
Kismet как система обнаружения вторжений Kismet м о ж н о настроить как беспроводную систему обнаруженияя вторжений, перехватывающую входящие сигналы и обнаруживающую беспроводной трафик, ассоциированный с агрессивным объездом или и н о й подозрительной беспроводной активностью. Kismet обнаруживает около 10 различных видов трафика, включая опросы NetStumbler, а также активность Airjack и других беспроводных хакерских средств. В настоя щее время эти возможности Kismet довольно ограничены, но м о ж н о ожи¬ дать их развития в будущем. И поскольку исходные тексты открыты, все¬ гда м о ж н о расширить функциональность самостоятельно, запрограмми¬ ровав собственные сигналы тревоги. Е щ е одна возможность — передать по каналу д а н н ы е Kismet т р а д и ц и о н н ы м системам обнаружения вторже¬ н и й , таким как Snort, для более детального анализа. Ф у н к ц и и обнаруже н и я вторжений задаются в файле kismet.conf и по умолчанию отключены. Kismet м о ж н о настроить и для сбора известных криптографически слабых ключей для такой программы, как AirSnort, — следующего средства, представленного в этой главе, которое анализирует беспроводные пакеты и пытается взломать ш и ф р о в а н и е WEP. AirSnort: Программа восстановления ключей шифрования WEP AirSnort Исходные авторы/основной контакт: Jeremy Bruestle и Blake Hegerle Web-сайт: http://schmoo.airsnort.org Платформы: Большинство Linux Лицензия: GPL Рассмотренная версия: 2.4.22 Авторы разработали AirSnort как практическое приложение для де¬ монстрации слабых мест в W E P — протоколе ш и ф р о в а н и я для беспровод¬ ных сетей. В статье, озаглавленной «Слабые места алгоритма генерации ключей RC4», н а п и с а н н о й специалистами по криптографии Флюхрером, М а р т и н о м и Ш а м и р о м , детализированы теоретические слабости алго¬ ритма W E P и показано, что некоторые векторы и н и ц и а л и з а ц и и будут слабыми. Пакеты, з а ш и ф р о в а н н ы е с п о м о щ ь ю слабых векторов инициа¬ лизации, м о ж н о собрать и со временем накопится достаточно данных дляя экстраполяции разделяемого секретного ключа. Это позволяет легко рас¬ шифровывать пакеты. Вскоре после опубликования статьи были выпуще¬ н ы два средства, AirSnort и WEPCrack, эксплуатирующие о п и с а н н ы е сла¬ бости для восстановления ключей WEP, фактически — взламывающие WEP. Оба средства хороши, но AirSnort обладает некоторой дополнитель426
Глава 10
Средства для беспроводных сетей
н о й функциональностью к а к беспроводной сетевой анализатор. AirSnort сейчас — проект с открытыми исходными текстами, базирующийся по адресу SourceForge.net, с момента своего появления он существенно рас¬ ш и р е н и улучшен. Поскольку на платформе Windows подобных средств нет, для тестирования W E P в настоящее время имеется л и ш ь два ж и з н е способных варианта — AirSnort и WEPCrack.
Применение AirSnort Зачем применять AirSnort в собственной беспроводной сети? Может создаться впечатление, что у этой программы нет законного п р и м е н е н и я , а ее единственное назначение — служить инструментом взлома. Однако яя считаю, что единственный способ узнать, каким опасностям подвержена ваша беспроводная сеть, — делать то, что делают хакеры, чтобы прове¬ рить, м о ж н о ли взломать ваше ш и ф р о в а н и е , и сколько для этого потребу¬ ется времени. AirSnort позволяет сделать и м е н н о это. Пытаясь взломать беспроводное ш и ф р о в а н и е , м о ж н о уяснить, на¬ сколько это реально. П р и использовании стандартного W E P — это просто вопрос времени. Математически установлено, что в некоторой точке его м о ж н о взломать с п о м о щ ь ю данного средства. Вопрос только в том, сколько на это потребуется времени. Если нужно много времени, то мож¬ но обоснованно считать, что вы достаточно з а щ и щ е н ы . Если т р а ф и к в ва¬ шей беспроводной Л В С небольшой, то на взлом может уйти несколько дней или даже недель. Это делает вашу сеть практически неинтересной для большинства случайных хакеров. Однако если сеть используется ин¬ тенсивно, то кто-нибудь сможет собрать достаточное количество пакетов, чтобы взломать ее через несколько часов или за день. З н а н и е этого поможет вам лучше обезопасить свою сеть, обосновать необходимость внедрения дополнительных средств защиты, таких к а к усиление физического контроля или ограничение трафика, а также обно¬ вления беспроводного оборудования. Устройство Cisco Aeronet использу¬ ет разновидность WEP, называемую L E A P , для улучшения и исправленияя слабостей исходного протокола WEP. Беспроводная сеть, основанная на этом протоколе, должна быть невзламываемой, по крайней мере с помо¬ щ ь ю легко доступных средств. Вы можете определить, что уровень ваше¬ го трафика делает непрактичным взлом ш и ф р о в а н и я . В любом случае, з н а н и е сделает ваш сон более с п о к о й н ы м .
Установка AirSnort Приведение в рабочее состояние драйверов и программного обеспе¬ ч е н и я для AirSnort может быть весьма трудоемким. Требования AirSnort 427
Курс
Защитные средства с открытыми исходными текстами
по сути те ж е , что и у Kismet. Вернитесь к разделу «Установка сетевой ин¬ терфейсной платы и драйверов» и следуйте о п и с а н н о й там процедуре. Когда все будет сделано, м о ж н о устанавливать AirSnort. Это — легкая по¬ ловина дела. 1. Загрузите файл программы с прилагаемого к книге компакт-диска или официального Web-сайта и распакуйте его. 2. Перейдите в каталог, в который в ы распаковали файл, и выполни¬ те процедуру ./autogen.sh
3. Станьте пользователем root и запустите make
Программа будет собрана автоматически. Если н е возникнет ошибок, значит, вы успешно установили AirSnort.
Запуск AirSnort AirSnort включает три основных исполнимых файла. • airsnort выполняет работу п о сбору пакетов из некоторого источни¬ ка, обычно беспроводной сетевой платы. • gencases разбирает перехваченные д а н н ы е для выявления слабых ключей. • decrypt выполняет попытки автономного р а с ш и ф р о в а н и я файлов, загруженных и з другого источника. AirSnort воспринимает ф а й л ы других анализаторов беспроводных сетей, если о н и сохраняются в формате pcap. Kismet, н а ш е рекомендуемое беспроводное средства для Linux, будет заранее специально вылавливать интересные для AirSnort пакеты, избавляя от этого шага. Н е обязательно собирать всю совокупность данных за один раз. AirSnort дает возможность сохранить сеанс, открыть его позже и допи¬ сать. Это делает AirSnort особенно о п а с н ы м для беспроводных сетей, т а к как для сбора достаточного для взлома сети количества пакетов н е требу¬ ется проводить весь сеанс без перерыва вблизи вашего здания. Эту дея¬ тельность м о ж н о разделить на небольшие, менее заметные интервалы, предполагая, что ключи в целевой сети меняются н е очень часто. После установки программы AirSnort м о ж н о запустить ее, набрав в командной строке airsnort. Интерфейс — сама простота: один э к р а н , на котором отображаются интересные пакеты и общее число ш и ф р о в а н н ы х и н е ш и ф р о в а н н ы х пакетов. В верхней части показаны такие настройки, как т и п сетевой платы и т.д. Слева м о ж н о изменить некоторые настрой ки, такие к а к размах — число пробных угадываний, которое будет делать 428
Глава 10
Средства для беспроводных сетей
AirSnort для каждого байта ключа при попытках р а с ш и ф р о в а н и я для к л ю чей в 40 или в 128 бит. П о умолчанию используется 3 для 40-битного ш и ф рования и 2 для 128-битного. Если у вас недостаточно данных или избы¬ ток вычислительной м о щ н о с т и , м о ж н о попробовать немного увеличить это значение, но не делайте его больше 4 или 5. Затем м о ж н о откинуться на спинку кресла и собирать пакеты. Н е ждите, что сможете взломать ключи W E P за несколько минут. Ч т о б ы AirSnort сработал успешно, требуется п р и м е р н о от 1500 до 4500 пакетов со слабыми ключами. Это соответствует примерно от 100 до 500 М Б данных. Ч т о б ы собрать столько данных в сети с умеренной нагрузкой, может по¬ требоваться день или больше. В менее загруженной сети на это уйдет зна¬ чительно больше времени, а в более загруженной — существенно меньше. В любом случае потребуется не менее двух часов, а, возможно, и больше. К о н е ч н о , многое зависит и от удачи, поэтому ваши результаты могут варьироваться от часа до бесконечности. К а к правило, на сбор данных стоит затратить примерно столько времени, сколько, по вашему м н е н и ю , затратит его средний посторонний хакер, ж е л а ю щ и й остаться незамечен¬ н ы м . И , конечно, возможность AirSnort возобновлять сеансы позволяет значительно сократить временное о к н о , так как хакеры могут собирать д а н н ы е в несколько приемов. После успешного взлома ключ W E P отображается слева на экране как в текстовом, так и в исходном шестнадцатеричном виде, и сеанс пе¬ рехвата завершается. Счастливого WEP-взлома! Ч т о делать, если вам удастся в ы ч и с л и т ь свои к л ю ч и W E P ? Н е па¬ н и к у й т е , п о т о м у что с л у ч а й н ы е хакеры в б о л ь ш и н с т в е своем н е созда¬ дут вам п р о б л е м . О д н а к о н е о б х о д и м о подумать об у с и л е н и и з а щ и т ы своей б е с п р о в о д н о й сети, ч т о б ы затруднить п о с т о р о н н и м сбор этих д а н н ы х . М о ж н о п р и н я т ь р я д м е р , н а ч и н а я от з а м е н ы о б о р у д о в а н и я до р е к о н ф и г у р и р о в а н и я и и з м е н е н и я р а с п о л о ж е н и я в а ш е й т о ч к и досту¬ па. И с х о д я из к р и т и ч н о с т и д а н н ы х в сети следует выбрать а д е к в а т н ы е меры.
М е р ы по п о в ы ш е н и ю б е з о п а с н о с т и беспроводной ЛВС Весьма в е р о я т н о , что со в р е м е н е м вам придется реализовать бес¬ п р о в о д н у ю технологию. Д а ж е если вы н е собираетесь этого делать, все р а в н о необходимо п е р и о д и ч е с к и проверять сеть, ч т о б ы убедиться, что н и к т о н е завел зловредную точку беспроводного доступа. Хотя приме¬ н е н и е любого беспроводного доступа с в я з а н о с р и с к о м , м о ж н о умень¬ ш и т ь свою н е з а щ и щ е н н о с т ь , п р и н и м а я следующие предупредительные меры. 429
Курс
Защитные средства с открытыми исходными текстами
Включите WEP Ш и ф р у я свои данные, вы заставите хакеров затратить существенно больше времени и усилий, чтобы добраться до ваших беспроводных дан¬ ных и сети. Это отвадит случайных хакеров и заставит злоумышленников провести в вашем районе день или больше, увеличивая вероятность того, что о н и будут замечены персоналом службы безопасности и л и бдитель¬ н ы м и служащими.
Применяйте беспроводное оборудование с улучшенным протоколом шифрования К а к упоминалось выше, в оборудовании Cisco применяется улуч¬ ш е н н а я версия протокола WEP, называемая L E A P , которая показала себяя невосприимчивой к попыткам взлома. Имеется также новый стандарт 802.11i, исправляющий проблемы WEP. К сожалению, 802.11i был одоб¬ рен к а к стандарт совсем недавно, и оборудование на его основе только начало появляться. Если вы можете его приобрести, то сделайте это. Це¬ н ы н е д о л ж н ы существенно отличаться от ц е н более старых устройств в стандартах 802.11a или 802.11b.
Требуйте, чтобы беспроводные пользователи входили через туннель виртуальных защищенных сетей Обычно подобный туннель становится непреодолимым препятстви¬ ем для возможных беспроводных взломщиков. Д а ж е если и м удастсяя взломать ш и ф р о в а н и е WEP, и м придется побороться с ш и ф р о в а н и е м виртуальных з а щ и щ е н н ы х сетей. Некоторые производители (такие к а к SonicWALL с Wi-FiSec) добавили такую возможность в свое оборудова¬ ние. Недостатком является то, что возникает дополнительный уровень сложности для ваших пользователей, затрудняется поддержка гостевых пользователей, так к а к для доступа к беспроводной Л В С и м придется за¬ гружать программное обеспечение клиента виртуальной з а щ и щ е н н о й се¬ ти, а также ключ WEP.
Считайте свою беспроводную сеть недоверенной Так к а к вы н е можете контролировать трафик, приходящий п о воз¬ духу в точки доступа, вы д о л ж н ы относиться к нему так ж е , к а к к общедо¬ ступной стороне межсетевого экрана. Если позволяют средства, помести¬ те межсетевой э к р а н между беспроводной сетью и Л В С (некоторые вари¬ анты с открытыми исходными текстами см. в главе 3) или разместите ее в 430
Глава 10
Средства для беспроводных сетей
своей демилитаризованной зоне. Тогда у вас будет возможность отфильт¬ ровать определенные виды атакующих пакетов, ограничить некоторые виды трафика и отслеживать любую активность на этом интерфейсе.
Регулярно проверяйте свой беспроводной периметр Это особенно важно, если вы находитесь в одной из вышеупомяну¬ тых перегруженных областей. Проверьте, насколько далеко ловится ваш сигнал и перекрывается ли ваша сеть с соседними. Даже если вы офици¬ ально не разрешаете беспроводной доступ, необходимо делать это перио¬ дически, чтобы обнаружить любые неконтролируемые или «неофициаль¬ ные» точки доступа. Беспроводной доступ стал настолько дешевым и про¬ стым в организации, что бездумные или безответственные менеджеры не¬ редко просто идут в местный магазин электроники и устанавливают точ¬ ку доступа для некоторой временной цели, например демонстрации в не оборудованном сетью конференц-зале, подставляя вашу сеть под беспро¬ водную атаку. К р о м е того, помните, что множество новых П К , особенно П К - б л о к н о т о в , поставляются со встроенными платами W i - F i , и их вклю¬ ч е н и е не составляет особого труда. Беспроводной доступ в сети может ис¬ пользоваться без вашего ведома. Беспроводной аудит — единственный способ прояснить ситуацию.
Переместите точки доступа Иногда простым перемещением базовой станции во внутреннее поме¬ щение можно существенно сузить зону распространения сигнала беспро¬ водной сети. Используйте результаты беспроводного аудита для выявленияя проблемных точек доступа. Поэкспериментируйте с размещением, чтобы добиться оптимального приема внутри здания, но минимизировать прием снаружи. Например, если перед вашим зданием располагается большая ав¬ тостоянка, а сзади — заросший деревьями участок, то перемещение базовой станции к задней стене здания сохранит, вероятно, ее доступность для боль¬ шинства внутренних пользователей, но ограничит распространение сигна¬ ла областью, которая не так легко доступна для агрессивных ездоков.
Должным образом сконфигурируйте беспроводную сеть Имеется много возможностей и настроек, которые позволяют суще¬ ственно повысить безопасность. Н е всякое оборудование поддерживает эти возможности, но вот что, тем не менее, м о ж н о сделать. • Отключите ш и р о к о в е щ а н и е SSID. В этом случае пользователь дол¬ ж е н знать идентификатор набора сервисов, чтобы открыть сеанс с 431
Курс
Защитные средства с открытыми исходными текстами
базовой станцией. Это действует как слабый пароль. Однако, если злоумышленник сможет взломать ваше ш и ф р о в а н и е , о н сможет легко получить SSID. • Ограничьте доступ по MAC-адресам. Это затруднит получение до¬ ступа к вашей сети через беспроводную базовую станцию. На боль¬ шинстве базовых станций м о ж н о ограничить доступ для опреде¬ ленных аппаратных MAC-адресов. Это довольно сильный метод аутентификации, так как только пользователи с сетевыми картами подходящих серий смогут получить доступ. Однако администриро¬ вание авторизованных плат может быть обременительным, да и но¬ вым пользователям, п р и ш е д ш и м в о ф и с , доступ будет разрешен не сразу. К р о м е того, если атакующий узнает один из авторизованных MAC-адресов, он сможет подделать его на своей плате и замаски¬ роваться под легального пользователя.
Обучите свой персонал К а к и вообще в компьютерной безопасности, человеческий фактор может быть самым слабым или самым сильным звеном. Убедитесь, что охрана, служащие в п р и е м н о й и другой персонал знают, как определять подозрительное поведение, ассоциированное с агрессивным объездом. Н а п р и м е р , если они заметят кого-то, длительное время сидящего в ма¬ ш и н е на вашей стоянке, возможно, со странной антенной на к р ы ш е , то, весьма вероятно, что о н нацелен на вашу беспроводную сеть. Разработайте также политику и получите с а н к ц и ю на уровне компа¬ н и и на развертывание беспроводных Л В С . Доведите до сведения менед¬ жеров, что им нельзя самостоятельно устанавливать беспроводные Л В С ; и м следует связаться с вами, чтобы получить о ф и ц и а л ь н о е подключение. Они должны понимать, что таким поведением подвергают риску всю ор¬ ганизацию. Зачастую демонстрация является лучшим способом показать опасность неофициального беспроводного доступа. И н ф о р м и р о в а н н ы е сотрудники — лучшая защита.
432
Глава 11
Судебные средства
Глава 1 1 . С у д е б н ы е с р е д с т в а Все средства и методы, ранее о п и с а н н ы е в этой книге, при правиль¬ н о й реализации и бдительной поддержке сделают вашу сеть весьма безо¬ пасной. Н о даже если все сделать верно, нельзя гарантировать абсолют¬ ную безопасность сети. Если атакующий достаточно настойчив или удач¬ лив, он иногда сможет проникнуть внутрь. В н е ш н и е злоумышленники способны эксплуатировать еще не опубликованные уязвимости или пой¬ мать вас в о к н е между объявлением уязвимости и наложением корректи¬ рующей заплаты. К о в а р н ы й сотрудник может применить для проникно¬ вения физические средства, такие как физический доступ к серверу или кража пароля. Могут использоваться и средства морально-психологиче¬ ского воздействия, чтобы с п о м о щ ь ю и з л и ш н е предупредительного сот¬ рудника обойти все ваши меры безопасности и получить несанкциониро¬ в а н н ы й доступ. Что ж е делать, если, несмотря на все ваши приготовле¬ н и я , сеть или система оказались скомпрометированы? П р и условии, что вас не выгнали с работы, это еще не конец света. Взломам подвергаются даже и н ф о р м а ц и о н н ы е системы самых крупных в мире к о м п а н и й с огромным персоналом компьютерной безопасности, поэтому в этом нет ничего постыдного. Однако, теперь ваша задача — ре¬ шить головоломку, определить, как все произошло, заделать д ы р ы в безо¬ пасности и, если необходимо, выследить злоумышленников и принять дополнительные меры. В этом может помочь ряд средств с открытыми ис¬ ходными текстами. Они называются судебными средствами, так как вы пытаетесь определить, что произошло, на основе доступных вам свиде¬ тельств.
Обзор главы Изучаемые концепции: • П р и м е н е н и е судебных средств • К о н ц е п ц и и реагирования на и н ц и д е н т ы • Подготовка к судебному расследованию • Догматы надлежащего судебного расследованияя Используемые инструменты: Fport, lsof, dd, ф а й л ы журналов U N I X и Windows, Sleuth K i t , Autopsy Forensic Browser и The Forensic Toolkit
Применение компьютерных судебных средств После атаки на систему вы захотите определить, как все происходи¬ ло, чтобы предотвратить подобное в будущем. Если хакеры смогли обой¬ ти существующие электронные средства защиты, то, очевидно, где-то в 433
Курс
Защитные средства с открытыми исходными текстами
броне имеется дыра. Сразу может быть неочевидно, где она находится, особенно, если злоумышленники хорошо замели следы. Судебные сред¬ ства помогают обнаружить эти ц и ф р о в ы е следы и найти д ы р ы , чтобы их м о ж н о было заделать.
Очистка и восстановление Если атакующие нанесли повреждения, следует точно определить, что они сделали, узнать, насколько о б ш и р н ы повреждения, и произвести необходимые восстановительные работы. Естественно, не в ваших инте¬ ресах оставлять в сети взломанные хакерами серверы или созданные и м и счета для тайного входа. Судебные средства помогают все это определить и, если атакующий удалил ф а й л ы , восстановить некоторые из них.
Уголовное расследование Если ущерб, нанесенный атакующим, достаточно серьезен, может возникнуть желание начать его уголовное преследование. Простое иска¬ ж е н и е Web-страницы или вторжение обычно не стоят преследования и з за высоких издержек. Однако, если существенно пострадала ваша инфра¬ структура или корпоративная репутация, возможно, имеет смысл выдви¬ нуть уголовное обвинение против атакующего. Ваша страховая компанияя может потребовать, чтобы вы представили полицейский отчет, чтобы вчинить иск. Судебные средства помогут идентифицировать атакующих, так что вы сможете представить отчет и доказательства для их судебного преследования. Есть несколько вопросов, которые необходимо рассмотреть, прежде чем ступить на этот путь. П р и незначительном ущербе вы можете подать заявление в местное отделение полиции. П о м н и т е , что на местном уров¬ не у них зачастую нет ресурсов для надлежащего расследования компью¬ терных преступлений, и вам, возможно, придется проводить большую часть расследования самостоятельно. Для этого м о ж н о применять средст¬ ва из д а н н о й главы. Только будьте осторожны, чтобы не испортить улики, иначе в суде о н и окажутся бесполезными (см. врезку о компьютерном расследовании). Если ущерб велик или злоумышленные действия попадают в разряд федеральных преступлений (связанных, например, с межштатной или международной торговлей), м о ж н о передать дело в ФБР. Контактную и н ф о р м а ц и ю местного отделения Ф Б Р м о ж н о найти в телефонном справоч н и к е или в Web на сайте www.fbi.gov. Если нарушены федеральные законы или материальные потери превысили $25000, ФБР, скорее всего, займет¬ ся вашим делом. В противном случае вас могут переадресовать в местные 434
Глава 11
Судебные средства
правоохранительные органы. Если вы сможете показать некую связь с терроризмом, межштатным мошенничеством (таким к а к кража номеров кредитных карт или маскарад), или некоторые другие элементы, которым Ф Б Р уделяет особое в н и м а н и е , вашим делом могут заняться и при мень¬ ш е м ущербе. Большинство атак едва ли будет серьезно расследоваться; каждый день сообщается о с л и ш к о м большом числе инцидентов, поэто¬ му в Ф Б Р реально уделяют в н и м а н и е только по-настоящему серьезным случаям. Если вы сумели добиться успеха и на злоумышленников заведено уголовное дело, то правильно проведенное расследование становится еще более важным. Применительно к компьютерным преступлениям очень трудно что-либо доказать. В суде весьма сложно обосновать связь между н е к и м и действиями, в ы п о л н е н н ы м и от и м е н и пользователя с определен¬ н ы м идентификатором, и конкретным человеком. Обычно обвинители д о л ж н ы доказать, что человек действительно находился за клавиатурой и использовал этот системный счет, когда имела место атака. В противном случае найдется масса отговорок, таких как «Кто-то использовал мой па роль», «Меня взломали» и т.д. П о в ы ш е н н о е в н и м а н и е уделяется также ре¬ ж и м у сохранения собранных свидетельств, то есть сведений о том, кто имел доступ к д а н н ы м и мог их изменить или подменить. В подобных слу¬ чаях обратитесь в правоохранительные органы, которые могут применить собственные средства сбора данных. М о ж н о также воспользоваться услу¬ гами независимых организаций, способных оказать профессиональную п о м о щ ь при взаимодействии с правоохранительными органами.
Флэми Тех советует: Недостаток знаний опасен! Если вы думаете о предъявлении уголовных обвинений, то не следует немедленно применять средства из этой книги. Кро¬ ме деятельности по блокированию и восстановлению, вы ни¬ к о и м образом не д о л ж н ы искажать свидетельства. Неумелый человек с п о м о щ ь ю этих средств может стереть доказательства или сделать их бес¬ полезными в суде. Представьте себе с ы щ и к а - н о в и ч к а , бродящего на мес¬ те убийства. Никуда не годится! Пусть этим занимаются профессионалы из правоохранительных органов, а вы сможете и м помочь, если понадо¬ бится, воспользовавшись инструментарием и з н а н и я м и из этой главы.
Карьера в судебной информатике Рост компьютерной преступности создал многообещающую область — судебную информатику с отличными перспективами карьерного роста для тех, кто ей интересуется. Потребность в компьютерно грамотных копах нико435
Курс
Защитные средства с открытыми исходными текстами
гда не была столь острой. Если вас привлекает подобная деятельность, есть несколько направлений, по которым можно выдвинуться. Местные правоохранительные органы В полицейских управлениях крупных городов обычно имеются отделы компьютерных преступлений. Чтобы туда устроиться, может потребоваться диплом, где в большей или меньшей степени фигурирует юриспруденция или нечто аналогичное. Однако порой в полиции возникает столь острая ну жда в технических специалистах, что они готовы смягчить требования к опы ту работы в полиции в обмен на технические знания. Федеральные правоохранительные органы Наиболее перспективны должности в области судебной информатики в ФБР Здесь вам придется работать с особо важными делами национального или международного уровня. Обычно ФБР продвигает сотрудников из соб ственных рядов, однако иногда делаются исключения для людей с опреде ленным талантом или положением. Работая в ФБР, вы сможете реально вли ять на компьютерную преступность. Вооруженные силы Если у вас склонность к военной службе, то во всех видах и родах воо руженных сил имеется персонал для борьбы с компьютерной преступно стью. В этом ряду выделяется Отдел специальных расследований ВоенноВоздушных Сил США. Хотя этот отдел ориентирован на преступления и ин циденты в вооруженных силах, его часто привлекают и к гражданским делам, поскольку разные компьютерные преступления могут быть взаимосвязаны. Министерство национальной безопасности Имеется множество новых вакансий и отделов, созданных как часть Ми¬ нистерства национальной безопасности. Работа в правоохранительных орга¬ нах или вооруженных силах зачастую оплачивается хуже, чем аналогичная дея тельность в коммерческой организации, однако многие считают эти должности более престижными. Есть также крупные организации, имеющие собственный персонал для компьютерных расследований. Государственная служба может существенно повысить ваш статус, если вы захотите затем перейти к частной практике или попасть в отдел судебной информатики крупной организации.
Гражданский иск Если вы решите, что уголовное преследование не оправдано, вы мо¬ жете возбудить против хакера гражданское дело. Иногда это единствен¬ н ы й способ заставить злоумышленника прекратить атаки. Если нападе436
Глава 11
Судебные средства
н и е исходит из другой организации, с а н к ц и о н и р о в а н н о , как в случае п р о м ы ш л е н н о г о шпионажа, либо н е с а н к ц и о н и р о в а н н о , как в случае не¬ управляемого сотрудника, обстоятельства могут вынудить вас подать гра¬ ж д а н с к и й иск и собрать достаточно доказательств. Хотя в случае граждан¬ ских дел требования к доказательствам не столь строги, вы все равно обя¬ заны обосновать свои претензии. Средства из д а н н о й главы помогут вам сделать это. Однако в случае серьезных проблем все равно лучше нанять специалиста по судебной информатике, чем пытаться сделать все самому.
Внутренние расследования Если вы подозреваете, что источник вторжения внутренний, его сле¬ дует обязательно проследить, поскольку он крайне опасен для производ¬ ственной деятельности. Внутренний хакер может нанести значительно больший ущерб, чем в н е ш н и й , поскольку зачастую он знает персонал и системы, ему известна и н ф о р м а ц и я , раскрытие или компрометация ко¬ торой может принести максимальный вред организации. П р и м е н я я су¬ дебные средства, вы можете его выследить и предоставить подтверждаю¬ щ и е свидетельства, чтобы оправдать д и с ц и п л и н а р н о е воздействие. Ведь вы не хотите отвечать перед судом на заявление бывшего служащего о не¬ з а к о н н о м увольнении?
Жалобы поставщику Интернет-услуг Если вы решили не возбуждать уголовного или гражданского дела, или если человек, н а п а в ш и й на вашу сеть, продолжает это делать, вы мо¬ жете подать жалобу его поставщику Интернет-услуг и попробовать по крайней мере его отключить. Часто это единственное реальное средство, не требующее больших расходов от организации, подвергшейся атаке ха¬ кера. С п о м о щ ь ю судебных средств из этой главы м о ж н о проследить на¬ рушителя по крайней мере до его поставщика Интернет-услуг, после чего вы можете подать последнему формальную жалобу с требованием при¬ нять дополнительные меры. Большинство поставщиков Интернет-услуг имеют политику надлежащего поведения для своих пользователей, кото¬ рая, естественно, не санкционирует взлом чужих сетей. Если вы сможете продемонстрировать достаточно доказательств, скорее всего, будут пред¬ п р и н я т ы некоторые действия, от предупреждения до ликвидации счета этого пользователя. В связи с необходимостью сохранения т а й н ы персо¬ нальных данных пользователей, они обычно раскрываются л и ш ь по ре¬ ш е н и ю суда, но некоторые поставщики Интернет-услуг охотно идут на сотрудничество для обеспечения и н ф о р м а ц и о н н о й безопасности. Боль¬ шинство крупных поставщиков имеет специальный электронный адрес 437
Курс
Защитные средства с открытыми исходными текстами
для сообщений о ненадлежащем поведении, по которому м о ж н о напра¬ вить свою жалобу. Вы должны убедиться, что собранной информации достаточно, для то¬ го чтобы они могли найти вашего противника. Имеются в виду прежде всего IP-адреса, связанные с определенными моментами времени. Большинство поставщиков Интернет-услуг выделяют IP-адреса динамически и они меня¬ ются всякий раз, когда кто-то входит в сеть. Без информации о времени, со¬ ответствующей их журналам, вам, вероятно, не смогут помочь. Если возмож¬ но, предоставьте несколько значений времени доступа, чтобы можно было скоррелировать пользователя по нескольким точкам данных, так как их фай¬ лы журналов могут быть не синхронизированы с вашими, и время не будет в точности совпадать. Включите также любые другие имеющиеся у вас дан¬ ные, такие как протоколы выполнения команд, места, куда копировались файлы, и т.д. Поставщик Интернет-услуг также может быть жертвой и ему могут потребоваться эти данные для последующего расследования.
В ы р а б о т к а п л а н а р е а г и р о в а н и я на и н ц и д е н т ы Подобно планам резервного копирования и восстановления после ава рий (они ведь у вас имеются, не так ли?), у вас должен быть план реагирова¬ ния на проявления компьютерной преступности. Это поможет вам действо¬ вать правильно, как до инцидента, так и после него, чтобы иметь надежный фундамент и не создавать себе лишних проблем. Это большая тема, которой посвящены специальные книги, но по сути вы должны задокументировать последовательность действий при возникновении инцидента, чтобы вы могли ее выполнить без лишних сомнений, когда что-то произойдет. С ведома руководства создайте план, который описывает ваши дей¬ ствия, если происходят определенные события. Позаботьтесь о том, что¬ бы высшее руководство санкционировало некоторые действия, такие как привлечение правоохранительных органов, иначе ваша работа может ока¬ заться под угрозой. В крупных организациях в реагировании, вероятно, примут участие юристы и отдел по связям с общественностью; тогда дело может быстро уйти из ваших рук, и это хорошо, если вы понимаете свою роль в этом процессе, и другие тоже ее понимают. П л а н действий в общих чертах может выглядеть примерно так: 1. Локализуйте проблему. Убедитесь, что ваш п р о т и в н и к не сможет нанести дополнительный ущерб. 2. Начните предварительные операции восстановления, не забывая д о л ж н ы м образом сохранять все свидетельства. 3. Оцените размер ущерба. Попробуйте быстро определить его де¬ н е ж н ы й эквивалент. Руководство обычно реагирует быстрее, ко¬ гда речь идет о деньгах. 438
Глава 11
Судебные средства
4. Сообщите о проблеме высшему руководству для принятия реше¬ н и я о передаче дела в правоохранительные органы или о проведе¬ н и и внутреннего расследования. 5. Решите, проводить ли расследование собственными силами или привлечь сторонних профессионалов. 6. Продолжите вашу деятельность, проводя внутреннее расследова¬ ние или помогая о ф и ц и а л ь н ы м лицам из правоохранительных ор¬ ганов.
Предварительная подготовка для получения доброкачественных судебных данных К а к и в любом деле, д о л ж н ы е предварительные действия до того, как случится беда, могут значительно облегчить вашу работу. Если протоко¬ лирование и аудит организованы плохо, то ваша судебная деятельность по меньшей мере существенно усложнится или вообще станет невозможной. К о н е ч н о , никому не нравится планировать несчастья, однако выполне¬ н и е следующих рекомендаций впоследствии поможет найти необходи¬ мую и н ф о р м а ц и ю .
Степень подробности журналов Если у вас достаточно дискового пространства и процессорного вре¬ м е н и , включите протоколирование с самым высоким уровнем детализа¬ ц и и , разумным для ваших серверов. Это предоставит значительно больше и н ф о р м а ц и и в случае, если необходимо извлечь что-то из журналов, и бу¬ дет полезно также для устранения серверных проблем. Вы захотите, веро¬ я т н о , отрегулировать настройки, чтобы найти разумный уровень детали¬ зации протоколов. В Windows степень детализации журналов задается с п о м о щ ь ю Event Viewer в Administrative Tools. Щ е л к н и т е м ы ш ь ю на свой ствах каждого типа журналов (application, security, system), и вы сможете задать уровень детализации каждого объекта.
Используйте центральный сервер журналирования Сохранение всех файлов журналов локально на каждом сервере пло¬ хо с нескольких точек зрения. Если атакующий сможет проникнуть в ма¬ шину, то он получит доступ к файлам журналов и сможет изменить их или стереть полностью. Имеются утилиты, которые помогают взломщикам выборочно стирать ф а й л ы журналов с протоколами их деятельности. Ес¬ ли журналы находятся на другом сервере, то в з л о м щ и к должен будет взломать по крайней мере еще одну машину, чтобы до них добраться. П о 439
Курс
Защитные средства с открытыми исходными текстами
пулярная утилита сервера журналов syslog — хорошее средство, и боль¬ шинство серверов, маршрутизаторов, межсетевых экранов и других уст¬ ройств поддерживают этот формат. С точки зрения управления значи¬ тельно легче иметь все журналы на одном сервере для регулярного про¬ смотра, и, кроме того, вы будет знать, что все о н и синхронизированы по одним часам. Это подводит нас к следующему пункту.
Синхронизация времени серверов Вы должны сделать так, чтобы все ваши серверы брали время с цент¬ рального сервера, а не полагались на внутренние часы. Часы П К известны своей неточностью и склонны к дрейфу. Можно применять сетевой прото¬ кол времени (Network Time Protocol — N T P ) , чтобы брать время с централь¬ ного сервера, подписаться на атомные часы в Интернет или поддерживать собственный внутренний сервер времени, чтобы иметь точное время. В этом случае протокольное время будет одинаково для всех серверов, что по¬ зволяет правильно отслеживать последовательность событий. Нет ничего более разочаровывающего, чем попытка восстановить последовательность событий атаки по журналам с множеством несогласованных часов. Настоя¬ тельно рекомендуется использовать общедоступный сервер времени. Боль¬ шинство из них бесплатны и используют атомные часы для повышения точ¬ ности. В этом случае ваши журналы, скорее всего, будут соответствовать внешним файлам журналов, таким как протоколы поставщика Интернетуслуг. Время общедоступных часов можно брать на следующих Web-сайтах: • clock.isc.org • clock.via.net • clock.sgi.net • ttp.nasa.gov • tick.gpsclock.org
Где и с к а т ь с у д е б н ы е д а н н ы е Имеются очевидные места для поиска и н ф о р м а ц и и после компью¬ терной атаки. Начинать надо с м а ш и н ы или м а ш и н , которые были атако¬ ваны. Протоколы и ключевые системные ф а й л ы часто содержат улики, такие как методы и и д е н т и ф и к а ц и я нарушителя. Следует также справить¬ ся во всех задействованных системах обнаружения вторжений. Эти сред¬ ства могут первыми просигнализировать об инциденте. Такие средства, как Tripwire (см. главу 7), могут быть бесценны при в ы я с н е н и и того, что было сделано, и была ли скомпрометирована система. Важная и н ф о р м а ц и я нередко располагается и в самых невероятных местах, таких как каталог пользователя в случае взлома системного счета 440
Глава 11
Судебные средства
или во временных каталогах, созданных вашим противником. Если воз¬ м о ж н о , поместите систему в карантин и прочешите частым гребнем. О п и с а н н ы е далее в этой главе средства помогут выполнить этот процесс. Н е ограничивайтесь только подозрительными компьютерами. Часто есть смысл поискать в других местах, п о м и м о атакованных м а ш и н , чтобы найти и н ф о р м а ц и ю о злоумышленниках. Хотя они могут стереть локаль¬ н ы е журналы на скомпрометированных машинах, иногда м о ж н о найти их следы на соседних серверах или устройствах. Атака редко бывает успеш¬ н о й с первого раза. Обычно атакующий вынужден проверить несколько м а ш и н , чтобы найти уязвимую. Эта активность отражается в файлах жур¬ налов соседних м а ш и н , где в ы можете найти свидетельства зондирующе¬ го сканирования. П р и з н а к и нетипичной активности м о ж н о обнаружить также на маршрутизаторах и межсетевых экранах. Проверьте журналы в окрестности времени вторжения (здесь-то как раз и важна синхронизированность журнальных файлов), в том числе журналы вашего общедоступ¬ ного Web-сервера. Когда хакеры находят уязвимый сервер, они часто за ходят на Web-сайт, ассоциированный с этим доменом, чтобы проверить, кого они взломали. Попробуйте выявить IP-адреса, фигурирующие в раз¬ личных журналах.
Догматы надлежащего судебного анализа Существуют различные приемы и методы выполнения судебного анализа и н ф о р м а ц и о н н ы х систем и множество программных средств, способных помочь в этой деятельности. Однако м о ж н о дать некоторые ос¬ новополагающие рекомендации, которым желательно следовать всегда.
Оперируйте с системой, отсоединенной от сети Если возможно, полностью отсоедините исследуемую систему от се¬ ти во время сбора данных. Если система соединена с сетью, при сборе данных вы можете иметь дело с движущейся целью. Ф а й л ы журналов мо¬ гут заполняться, дисковые области — перезаписываться, а сервисы — от¬ ключаться. В худшем случае, если атакующие все еще имеют доступ к си¬ стеме (а вы никогда не можете быть полностью уверены в обратном), они могут обнаружить вашу активность и замести следы, став неуловимыми. Если система была отключена в результате атаки, вы можете оказать¬ ся под сильным давлением требующих вернуть ее в сеть как м о ж н о быст¬ рее. Для производственных систем, продолжающих работать, также воз¬ м о ж н о сопротивление их отключению. Мера, конечно, непопулярная, но попробуйте отключить систему от сети по крайней мере на время сбора данных. Подождите о к о н ч а н и я рабочего д н я , если необходимо, и объяви441
Курс
Защитные средства с открытыми исходными текстами
те это периодом обслуживания системы. Сделайте к о п и ю подозритель¬ ных данных (если м о ж н о , скопируйте весь жесткий диск). Затем вы може¬ те вернуть систему в эксплуатацию и свести к минимуму длительность ее отключения для пользователей на время выполнения вашей работы. Это подводит нас к следующему пункту.
Работайте с копиями свидетельств П р и м е н я й т е программное обеспечение создания образов данных, такое к а к средство dd, представленное далее в этой главе, чтобы сделать к о п и и свидетельств для работы с н и м и . Если вы планируете возбудить су¬ дебное дело, уголовное и л и гражданское, сделайте две к о п и и и запечатай¬ те одну из них в з а щ и щ е н н ы й контейнер. Это обеспечит целостность сви¬ детельств и сделает ваше дело менее уязвимым для обвинений в незакон¬ ных свидетельствах. К р о м е того, если вы случайно сделаете ошибку и уда¬ лите некоторые важные свидетельства, вы всегда сможете вернуться к за¬ ведомо п о л н о ц е н н о й копии. Если м о ж н о , выполните эти начальные дей¬ ствия в присутствии свидетелей. Лучше всего, если это будет беспристра¬ стная третья сторона. Отпечатайте сопроводительную записку с указани¬ ем имени создателя, даты и времени, а затем фиксируйте каждый момент передачи материалов в другие руки, с подписью и датой.
Применяйте хэши для обеспечения свидетельств целостности П р и создании к о п и й данных и получении других свидетельских файлов есть смысл создавать M D 5 хэши данных и записывать их. Н е к о т о р ы е средства, такие к а к The Coroner's Toolkit (см. раздел о Sleuth K i t далее в этой главе), делают это автоматически. М о ж н о также применить одно из средств ш и ф р о в а н и я , рассмотренных в главе 9, такое к а к P G P или G n u P G . П о м и м о всего прочего, если аутентичность ваших данных будет оспариваться, вы сможете доказать, что к о п и я , с которой вы работали, являлась электронной копией содержимого атакованной м а ш и н ы . Это поможет также выявить различия между файлами и увидеть, н е были ли внесены какие-либо изменения утилитами системного уровня.
Применяйте доверенные загрузочные носители и исполнимые файлы П р и проверке системы целесообразно применять для загрузки дове¬ р е н н ы е носители, такие к а к загрузочный ф л о п п и - д и с к и л и компактдиск. Их м о ж н о создать в процессе установки ОС. Некоторые и з рассма¬ триваемых средств создают собственную загрузочную среду. Это особен442
Глава 11
Судебные средства
но важно, если вы работаете на взломанной системе. Если атакующий с п о м о щ ь ю специальных средств сумел скомпрометировать системные би¬ н а р н ы е ф а й л ы , то все результаты, получаемые от утилит на этом жестком диске, д о л ж н ы считаться подозрительными. П о м и м о возможной переза¬ писи дат файлов и других критичных данных, атакующий мог оставить некоторые временные бомбы или в ы п о л н я ю щ и е с я д е м о н ы , способные вызвать дальнейшие повреждения или стереть свидетельства. М о ж н о создать загрузочный компакт-диск для реагирования на ин¬ циденты, содержащий все необходимые программы. Вам понадобятсяя диски для систем Windows и U N I X , если у вас разнородная среда.
Средства судебного анализа Одна из проблем, с которой сталкиваются компьютерные следовате¬ ли, состоит в том, что обычные файловые утилиты могут необратимо из¬ менить файлы, фактически «смазывая» картину преступления и удаляя нужные вам свидетельства. Например, просмотр файлов с помощью обыч¬ ного редактора изменит такие вещи, как временные метки. Представьте, что кто-нибудь топчется в грязных ботинках на месте реального преступ¬ ления и двигает объекты по всему помещению. То же происходит при ос¬ мотре системы без подходящих средств. Вы не только лишитесь возмож¬ ности принять какие-либо уголовные или гражданские меры, но можете также стереть цифровые следы атакующего. Хакеры часто применяют средства, скрывающие процессы и ф а й л ы от обычных системных утилит, поэтому вам нужны специальные инструменты, действующие вне обыч¬ ной операционной системы, чтобы увидеть больше того, что видит ОС. В последующих разделах представлены средства к а к для Linux, так и для Windows. Сначала м ы рассмотрим несколько судебных средств уров¬ ня операционной системы, а затем — п о л н о ф у н к ц и о н а л ь н ы й инструмен¬ тарий для более глубокого анализа. П о м н и т е , что п р и м е н е н и е средств уровня операционной системы может возвращать неверные или поддель¬ н ы е д а н н ы е , если ваша ОС действительно была скомпрометирована. Fport: Средство идентификации процессов для Windows Fport Автор/основной контакт: Foundstone, Inc. Web-сайт: www.foundstone.com/index.htm?subnav=resources/ navigation.htm&subcontent=/resources/freetools.htm Платформы: Windows NT, 2000, XP Лицензия: Freeware Рассмотренная версия: 2.0 443
Курс
Защитные средства с открытыми исходными текстами
Это небольшое добавление к системе может быть полезно при иссле¬ довании м а ш и н ы на предмет подозрительной активности. Нередко вирус, резидентный в памяти, или троянская программа проявляются как про¬ цесс, в ы п о л н я ю щ и й с я под странным именем или с н е о б ы ч н ы м портом. Fport ищет открытые сетевые порты T C P или U D P и выдает их вместе с идентификатором ассоциированного процесса, именем процесса и мар¬ шрутным именем. Программа Fport аналогична собственной команде Windows netstat за исключением того, что предоставляет несколько боль¬ ш е и н ф о р м а ц и и и позволяет различным образом форматировать вывод для анализа. Это помогает отследить подозрительные программы, кото¬ р ы е открывают сетевые порты на вашей м а ш и н е . Подобное поведение служит признаком троянской программы. К о н е ч н о , не каждый н е о п о з н а н н ы й процесс является вредоносной программой, но желательно понять, что делают странные на вид сервисы, особенно с нестандартными маршрутными п р е ф и к с а м и (отличными от системных каталогов Windows и подобных), странными или хакерскими именами. Программа Fport создана и распространяется к о м п а н и е й Foundstone Corporation, занимающейся разработкой защитного программного обес¬ печения и оказывающей консультационные услуги. К о м п а н и я предлага¬ ет несколько других свободных средств безопасности, и их Web-сайт в л ю бом случае стоит посетить. Хотя исходные тексты программы Fport не вполне открыты (распространяются только бинарные ф а й л ы ) , она услов¬ но свободна, и для ее п р и м е н е н и я в коммерческих целях имеются л и ш ь незначительные ограничения.
Установка Fport Загрузите zip-файл с Web-сайта Foundstone и распакуйте его в от¬ дельном каталоге. Там появятся два файла — и с п о л н и м ы й файл Fport и небольшой и н ф о р м а ц и о н н ы й R E A D M E .
Применение Fport Программа Fport помогает определить, была ли м а ш и н а взломана и откуда пришел нарушитель. Она должна выполняться на ж и в о й системе, то есть включенной и работающей: Fport не может выполняться на стати¬ ческих данных. Д л я запуска Fport в каталоге с и с п о л н и м ы м ф а й л о м введите в ко¬ м а н д н о й строке fport. Будет р а с п е ч а т а н с п и с о к всех п о р т о в , о т к р ы т ы х в д а н н ы й момент, и а с с о ц и и р о в а н н ы х с н и м и п р и л о ж е н и й (см. лис¬ т и н г 11.1). 444
Глава 11
Судебные средства
Листинг 11.1. Выдача Fport Port v2.0 TCP/IP Process t o Port Mapper Copyright 2000 by Foundstone, Inc. http://www.foundstone. com Pid 940 4 4 1348
Process svchost System System WCESCOMM
-> -> ->
Port 135 139 445 990
Proto TCP TCP TCP TCP
4072
WCESMgr
->
999
TCP
1032 1032 1032 4 4072
svchost svchost svchost System WCESMgr
-> -> -> -> ->
1025 1031 1034 1042 2406
TCP TCP TCP TCP TCP
2384
websearch
->
3008
TCP
1144 4072
WCESMgr
-> ->
54321 5678
TCP TCP
2384
websearch
->
8755
TCP
136 1348
javaw WCESCOMM
-> ->
8765 123
TCP UDP
2384
websearch
->
123
UDP
940 1144 1932
svchost
-> -> ->
135 137 1026
UDP UDP UDP
svchost
->
Path C:\WINDOWS\system32\svchost.exe
C:\Program F i l e s \ M i c r o s o f t ActiveSync\WCESCOMM.EXE C:\Program F i l e s \ M i c r o s o f t ActiveSync\WCESMsg.exe C:\WINDOWS\System32\svchost.exe C:\WINDOWS\System32\svchost.exe C:\WINDOWS\System32\svchost.exe C:\Program F i l e s \ M i c r o s o f t ActiveSync\WCESMgr.exe C:\Program Files\websearch\websearch.exe C:\temp\cmd.exe C:\Program F i l e s \ M i c r o s o f t ActiveSync\WCESMgr.exe C:\Program Files\websearch\websearch.exe C:\WINDOWS\System32\javaw. exe C:\Program F i l e s \ M i c r o s o f t ActiveSync\WCESCOMM.EXE C:\Program Files\websearch\websearch.exe C:\WINDOWS\system32\svchost.exe C:\WINDOWS\System32\svchost.exe
П р и просмотре этого листинга взгляд скользит п о н о р м а л ь н ы м н а вид в ы п о л н я ю щ и м с я службам и п р о г р а м м а м , пока где-то в середине н е натыкается н а программу cmd.exe, з а п у щ е н н у ю и з каталога Temp. Э т о би¬ н а р н ы й ф а й л к о м а н д н о г о интерпретатора, и ему нечего делать в каталоге Temp. Тот факт, ч т о у службы нет и м е н и , т а к ж е подозрителен. Н а к о н е ц , н о м е р входного порта н е соответствует н и одному и з известных сервисов. 445
Курс
Защитные средства с открытыми исходными текстами
На самом деле, если поискать его в базе данных известных троянских программ в Интернет (www.simovits.com/trojans/trojans.html), м о ж н о об¬ наружить совпадение с номером порта документированной троянской программы. Это служит весомым свидетельством того, что система была взломана. Теперь вы должны решить, нужно ли выключить систему, что¬ бы провести дополнительный судебный анализ. В табл. 11.1 перечислено несколько о п ц и й Fport для сортировки вы¬ вода. М о ж н о также использовать о п ц и ю -h для вывода краткой справоч¬ ной и н ф о р м а ц и и . Табл. 11.1. О п ц и и сортировки Fport Опция -a -ap -i -p
Описание Сортировка Сортировка Сортировка Сортировка
вывода вывода вывода вывода
по по по по
и м е н и приложения. маршруту приложения. идентификатору процесса (PID). номеру порта.
Если процессов много, м о ж н о использовать эти ключи для просмо¬ тра программ с большими номерами портов, характерными для вредонос¬ ного П О . М о ж н о также отсортировать вывод п о маршруту приложенияя или и м е н и , чтобы выявить нестандартные приложения. lsof: Средство идентификации портов и процессов для UNIX lsof Автор/основной контакт: Ray Show Web-сайт: http://freshmeat.net/projects/lsof/ Платформы: Linux и большинство UNIX Лицензия: GPL Рассмотренная версия: 4.68 Зеркалирующие сайты (допускающие анонимный доступ по FTP без об ратного DNS): thewiretapped.net/pub/security/host-security/lsof ftp.tau.ac.il/pub/unix/admin/
Это средство аналогично только что рассмотренному Fport дляя Windows. L S O F (LiSt Open Files) ассоциирует открытые файлы с процессами и пользователями. Оно напоминает команду netstat, но выдает также сетевые порты, используемые сервисом. Это важно при попытке отследить активную программу в сети. Зачастую единственным способом найти неуловимые ошибки является наблюдение за тем, какие сетевые порты открываются. 446
Глава 11
Судебные средства
Средство lsof предустанавливается в некоторых дистрибутивах U N I X и Linux и доступно в ф о р м е R P M на установочных дисках других, таких как Mandrake и RedHat Linux. Чтобы выяснить, установлено о н о или нет, наберите lsof и посмотрите, каков будет ответ.
Установка lsof 1. Загрузите tar-файл с прилагаемого к книге компакт-диска или с официального Web-сайта. Если IP-адрес, с которого выполняется загрузка, н е имеет обратной записи D N S , то основной F T P - с а й т не позволит с н и м соединиться. Попробуйте один и з указанных зеркалирующих сайтов. 2. Распакуйте tar-файл. 3. Вы увидите несколько текстовых файлов и е щ е один tar-файл, что-нибудь вроде lsof_4.68_src. В этом файле содержатся исходные тексты. Распакуйте его и войдите в этот каталог. 4. Прежде чем начинать процесс к о м п и л я ц и и , необходимо выяснить с о к р а щ е н н ы й код вашего диалекта U N I X . Так к а к программа lsof переносима практически на любую версию U N I X , требуется сооб¬ щить, какая разновидность U N I X применяется, чтобы процедура конфигурирования могла настроить ее для вашей системы. Чтобы выяснить коды различных версий U N I X , введите: . / c o n f i g u r e -h
Н а п р и м е р , код Linux — linux (не правда л и , просто?). 5. Когда вы будете готовы, наберите следующую команду: ./configure
код_диалекта^1Х
Программа будет сконфигурирована для к о м п и л я ц и и . 6. Когда конфигурирование закончится, наберите: make
7. Это завершает процесс сборки. Программа lsof готова к употреблению.
Применение lsof Программа lsof имеет множество п р и м е н е н и й и подробную опера¬ тивную справку, а также несколько и н ф о р м а ц и о н н ы х файлов R E A D M E для различных приложений. Однако в д а н н о м разделе рассматриваетсяя л и ш ь несколько специфических команд, полезных для судебных исследо¬ ваний. 447
Курс
Защитные средства с открытыми исходными текстами
Если в ы хотите увидеть все о т к р ы т ы е в д а н н ы й момент ф а й л ы в си¬ стеме и а с с о ц и и р о в а н н ы е с н и м и п р о ц е с с ы , наберите: l s o f -n О п ц и я -n предписывает lsof н е пытаться разрешать з а п и с и D N S дляя каждого IP-адреса, п о д к л ю ч и в ш е г о с я к в а ш е й м а ш и н е . Это существенно ускоряет процесс. П р и м е р н ы й вид выдачи п о к а з а н н а л и с т и н г е 11.2. Листинг 11.2. Вывод к о м а н д ы lsof - n COMMAND xfs atd atd sshd sshd sshd dhcpcd dhcpcd dhcpcd xinetd xinetd
PID 903 918 918 962 962 962 971 971 971 1007 1007
USER FD TYPE xfs 0r DIR daemon r t d DIR daemon t x t REG root cwd DIR root rtd DIR root t x t REG root cwd DIR root rtd DIR root txt REG root cwd DIR root 5u IPv4
xinetd rwhod
1007 1028
root root
rwhod
1028
root
rwhod
1028 t i m
crond crond
1112 1112 1112 nessusd 1166 nessusd 1166 nessusd 1166 init 1 init 1 init 1
root root root root root root root root root
DEVICE 3,1 3,1 3,6 3,1 3,1 3,6 3,1 3,1 3,1 3,1
SIZE 4096 4096 14384 4096 4096 331032 4096 4096 31576 4096 1723
NODE 2 2 273243 2 2 274118 2 2 78314 2
8u unix 0xc37a8540i 1716socket cwd DIR 3,1 4096 61671 rtd
DIR
3,1
4096
61671
cwd
DIR
3,1
4096
61671
cwd DIR lw FIFO 2w FIFO cwd DIR rtd DIR txt REG cwd DIR rtd DIR txt REG
3,1 0,5 0,5 3,1 3,1 3,6 3,1 3,1 3,1
4096
14 1826 1827 4096 2 4096 2 1424003323952 4096 2 4096 2 31384 75197
NAME / / /usr/sbin/atd / / /usr/sbin/sshd / / /sbin/dhcpcd / TCP 127.0.0.1:102 4 (LISTEN) /var/spool/ rwho /var/spool/ rwho /var/spool/ rwho /var/spool pipe pipe / / / / /sbin/init
С о е д и н е н и я н а этом л и с т и н г е выглядят н о р м а л ь н о , в о п р о с ы вызы¬ вает л и ш ь п о д к л ю ч е н и е через службу rwho. Стоит убедиться, что допусти448
Глава 11
Судебные средства
м ы й пользователь применяет команду законно. Если этот счет принадле¬ ж и т кому-то и з нетехнического персонала, может понадобиться дальней¬ шее расследование. lsof м о ж н о также применять для поиска определенного файла. Если в ы хотите увидеть, обращался л и кто-то к файлу паролей, м о ж н о восполь¬ зоваться следующей командой: lsof
маршрут/имя_файла
Замените маршрут/имя_файла маршрутом и именем файла, который вас интересует, в д а н н о м случае — /etc/passwd. Необходимо задать для lsof полное маршрутное и м я , чтобы программа нашла этот файл. Е щ е один вариант п р и м е н е н и я lsof — получение списка всех откры¬ тых сокетов. В этом случае м о ж н о будет увидеть работающий сервер, о ко¬ тором в ы н е знаете. Формат этой команды таков: lsof - i
В результате получается выдача, аналогичная представленной на ли¬ стинге 11.3. Н а нем м о ж н о видеть все в ы п о л н я ю щ и е с я программы, в к л ю чая sshd и nessusd — д е м о н ы для S S H и Nessus. М о ж н о даже видеть отдель¬ н ы е соединения с этими службами. Похоже, что кто-то использует в дан¬ н ы й момент сервер Nessus. Проверив IP-адрес, м о ж н о понять, что это внутренний пользователь. Н а самом деле это ваша собственная машина! Поэтому беспокоиться н е о чем. Листинг 11.3. Вывод команды lsof - i COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME portmap 733 rpc 3u IPv4 1417 UDP *:sunrpc portmap 733 rpc 4u IPv4 1426 TCP *:sunrpc (LISTEN) sshd 962 root 3u IPv4 1703 TCP *:ssh (LISTEN) xinetd 1007 root 5u IPv4 1728 TCP l o c a l h o s t . l o c a l d o main:1024 (LISTEN) rwhod 1028 root 3u IPv4 1747 UDP *:who nessusd 1166 root 4u IPv4 1971 TCP *: 1241 (LISTEN) nessusd 1564 root 5u IPv4 1972 TCP 192.168.1.101:1024>192.168.1.2:1994 (ESTABLISHED)
М о ж н о задать для просмотра определенный IP-адрес или хост, п о мещая знак @ и адрес после ключа - i . Н а п р и м е р , команда lsof
[email protected]/24
отображает все соединения, исходящие из вашей сети, при условии, что ва¬ ша внутренняя сеть в нотации с косой чертой задается к а к 192.168.1.0/24. 449
Курс
Защитные средства с открытыми исходными текстами
Просмотр файлов журналов Необходимо внимательно просмотреть файлы журналов, когда вы ищете признаки беды. Файлы журналов Windows можно найти в разделе Event Viewer из Administrative Tools. В Linux и BSD-вариантах U N I X файлы журналов находятся в каталоге /var/log/. В других вариантах U N I X эти фай¬ лы также могут присутствовать, но их расположение может отличаться. В табл. 11.2 перечислены основные файлы журналов U N I X и их назначение. Табл. 11.2. Ф а й л ы журналов U N I X Файл журнала /var/log/messages /var/log/secure /var/log/wtmp /var/run/utmp /var/log/btmp
Описание Хранит общие системные сообщения. Хранит сообщения аутентификации и безопасности. Хранит историю входов в систему и выходов из нее. Хранит динамический с п и с о к пользователей, нахо дящихся в д а н н ы й момент в системе. Только для Linux. Хранит все неудачные или невер¬ н ы е попытки входа.
Эти файлы могут располагаться несколько иначе или не существовать в других версиях U N I X . Программы также часто создают собственные фай¬ лы журналов, хранящиеся обычно в каталоге /var. Для просмотра этих фай лов и поиска определенных цепочек символов или чисел (таких как IP-адреса и имена пользователей) можно воспользоваться текстовым редактором. В табл. 11.3 перечислены несколько команд уровня операционной системы, которые м о ж н о применять в системах Linux и U N I X для быст¬ рого просмотра этих файлов. Табл. 11.3. К о м а н д ы просмотра Linux и U N I X Команда users w
last
Описание Извлекает из файла utmp и выдает с п и с о к пользователей, находящихся в д а н н ы й момент в системе. Выдает детальную и н ф о р м а ц и ю о пользователях, находя¬ щихся в системе, в том числе: как они вошли (локально или удаленно), IP-адрес, если вход удаленный, какие команды они выполняют. Эта команда очень полезна для п о и м к и н а рушителя «с поличным». Выдает наиболее свежие записи файла wtmp. Это также мо¬ жет быть весьма полезно, чтобы увидеть, кто, когда и на¬ сколько входит в систему. Н а листинге 11.4 приведен пример подобной выдачи. 450
Глава 11
Судебные средства
lastb
Только для Linux. Делает то ж е , что и предыдущая команда, но для файла btmp — протокола неправильных входов. Здесь нарушитель может проявиться в первую очередь, если о н со¬ вершил много неудачных попыток входа. Листинг 11.4. Выдача команды last tony tony tony tony reboot tony tony tony hank hank hank tony larry tony brian hank sam
pts/0 pts/0 pts/0 pts/0 system tty1 pts/2 pts/2 pts/0 pts/0 pts/0 pts/3 pts/3 pts/3 pts/3 pts/5 pts/
10.1.1.1 10.1.1.1 10.1.1.1 10.1.1.1 boot 2.4.18-14 10.1.1.1 10.1.1.1 10.1.1.200 adsl-66-141-23-1 192.168.1.100 192.168.1.139 adsl-65-67-132-2 10.1.1.1 adsl-65-68-90-12 192.168.1.139 dialup-207-218-2
Sun Sep 5 Sun Sep 5 Sun Sep 5 Sun Sep 5 Sun Sep 5 Sun Sep 5 Sat Sep 4 Sat Sep 4 Sat Sep 4 F r i Sep 3 F r i Sep 3 F r i Sep 3 Thu Sep 2 Thu Sep 2 Thu Sep 2 Thu Sep 2 Wed Sep 1
23:06 s t i l l logged i n 22:44 — 23:04 (00:20) 21:08 — 21:16 (00:07) 20:20 — 20:36 (00:16) 17:32 (05:34) 17:29 — down (00:01) 23:02 — 23:34 (00:32) 22:36 — 22:36 (00:00) 12:13 — 12:22 (00:08) 23:53 — 23:53 (00:00) 14:47 — 14:47 (00:00) 09:59 — down (00:01) 22:59 — 23:11 (00:12) 21:33 — 21:49 (00:16) 18:23 — 18:31 (00:07) 14:29 — 15:35 (01:06) 22:24 — 00:40 (02:16)
Следует учитывать, что если ваша система была скомпрометирована, эти программы могут быть заменены троянскими к о п и я м и . Такие про¬ граммы, к а к Tripwire (см. главу 7), способны помочь определить, были ли и с к а ж е н ы системные бинарные файлы. Вы должны сделать заведомо хо¬ р о ш и е к о п и и этих бинарных файлов, чтобы было в о з м о ж н ы м исполне¬ н и е с безопасного загрузочного носителя, а н е из системы. П о м н и т е так¬ же, что атакующие часто будут выборочно редактировать ф а й л ы журна¬ лов, чтобы стереть все следы своей деятельности. Однако если о н и просто удалят ф а й л ы журналов, вы, возможно, сумеете их восстановить. К р о м е того, следует проверить все ф а й л ы журналов, так к а к некоторые новички удаляют л и ш ь часть из них.
Создание копий судебных свидетельств Если в ы убедились, что ваша система была атакована или взломана, то в первую очередь следует немедленно остановить атаку или ограничить р и с к и , которым подвергается эта машина. В идеале это означает отсоеди451
Курс
Защитные средства с открытыми исходными текстами
н е н и е м а ш и н ы от сети для проведения дальнейшего анализа. Если это не¬ возможно, все равно желательно отключить все подозрительные систем¬ н ы е счета, терминировать все н е з а к о н н ы е процессы, и, возможно, забло¬ кировать на межсетевом экране IP-адреса нарушителей, пока вы не уяс¬ ните, что происходит. После устранения непосредственной опасности необходимо сделать к о п и и всех важных данных для просмотра в автономном режиме в соот¬ ветствии с догматами надлежащего судебного анализа, сформулирован¬ н ы м и выше. Нежелательно применять ваши средства к ж и в ы м д а н н ы м , сделайте их полноценную к о п и ю . Для этого требуется создать образ дан¬ ных, а не просто их скопировать. Нежелательно применять встроенные в операционную систему ф у н к ц и и копирования, так как они могут изме¬ нять временные метки файлов и вставлять другую нежелательную инфор¬ мацию. Имеются специальные средства для получения зеркальных к о п и й образов. К сожалению, в настоящее время не существует хорошего вари¬ анта подобных средств с открытыми исходными текстами для платформы Windows (кто-нибудь хочет включиться в хороший проект с открытыми исходными текстами для Windows?). Наиболее популярной программой для Windows является Norton Ghost к о м п а н и и Symantec, которая продает ся п р и м е р н о за $50. В U N I X для этого существует прекрасная программа с открытыми исходными текстами dd, что означает дамп данных. dd: Средство тиражирования дисков и файлов dd Авторы/основные контакты: Web-сайт: Платформы: Лицензия: Рассмотренная версия: Другие ресурсы: Наберите man dd в командной
Paul Rubin, David MacKenzie и Stuart Kem http://mirrors.kernel.org/gnu/fileutils/ Большинство Linux и UNIX GPL Недоступна строке.
Программу dd м о ж н о применять для буквального чтения блоков данных непосредственно с жесткого диска и создания их точных копий. Она напрямую обращается к носителю, без посредничества файловой си¬ стемы, поэтому способна извлечь удаленные д а н н ы е и другие вещи, кото¬ рых файловая система не может видеть. Ее м о ж н о применять для созда¬ н и я побитных к о п и й данных файловых систем U N I X . Поскольку U N I X трактует устройства к а к файлы, то м о ж н о взять весь жесткий д и с к и тира¬ жировать его путем простого копирования файла устройства с п о м о щ ь ю такого средства, как dd. 452
Глава 11
Судебные средства
Установка dd В большинстве операционных систем U N I X устанавливать програм¬ му dd н е требуется, поскольку о н а является частью любой файловой сис¬ темы U N I X . Наберите man dd, чтобы убедиться в ее наличии. Если п о ка¬ кой-то п р и ч и н е ее нет, м о ж н о взять ее с прилагаемого к книге компактдиска и л и к а к часть файловых утилит G N U с приведенного в ы ш е сайта.
Применение dd Есть два способа применения dd. Один из них — побитное копирование данных. П р и этом создается зеркальный образ данных на другом жестком диске или разделе диска. Другой способ — создание одного большого файла. Иногда это удобнее для целей анализа и мобильности. Для верификации можно легко вычислить хэш файла. Этот файл часто называют свидетель ским, и многие судебные программы созданы для чтения данных из него. Основной формат команды dd следующий: dd ^ = в х о д н о й _ ф а й л ^=выходной_файл опции
где вместо входного файла нужно подставить копируемое устройство, вместо выходного — и м я файла, в который производится копирование, а вместо опций — любые о п ц и и dd, которые вы хотите использовать. У dd много о п ц и й ; в табл. 11.4 перечислены основные и з них. Табл. 11.4. Основные о п ц и и dd Опция bs= count=
skip=
conv=
Описание Размер блока. Размер в байтах блока, копируемого за один раз. Подсчет блоков. Сколько блоков копировать. Это полезно, если в ы н е хотите копировать всю файловую систему, по¬ скольку у вас очень большой жесткий д и с к и л и раздел диска или ограниченный объем пространства на целевом носителе. Пропустить заданное число блоков, прежде ч е м начать копи¬ рование. Это также полезно п р и к о п и р о в а н и и части ф а й л о вой системы. Задает любую и з следующих подопций: notrunc — н е обрезать вывод п р и возникновении о ш и б к и . Рекомендуется в большинстве случаев. noerror — н е останавливать чтение входного файла в случае о ш и б к и , такой к а к проблемы с физическим носителем. Так¬ ж е рекомендуется. 453
Курс
Защитные средства с открытыми исходными текстами
sync — требует перед собой команду noerror. Если происходит ошибка, то команда sync подставит на ее место нули, сохра¬ н я я последовательную непрерывность данных. Если вы хотите с п о м о щ ь ю dd скопировать устройство на приводе жесткого диска /dev/hdc на другой привод жесткого диска, устройство hdd, м о ж н о воспользоваться следующей командой: dd -if=/dev/hdc of=/dev/hdd bs=1024
conv=noerror,notrunc,sync
Эта команда копирует содержимое устройства /dev/hdc (вероятно, вашего основного жесткого диска) на устройство /dev/hdd (вероятно, ваш вторичный жесткий диск). Убедитесь, что вы понимаете, какие диски со¬ ответствуют к а к и м устройствам. К а к поясняется во врезке о программе dd, ошибка здесь может обойтись очень дорого! Ф л э м и Тех с о в е т у е т : Будьте очень осторожны с d d ! Н е проявляйте легкомыслия п р и использовании низкоуров¬ невых дисковых средств, таких к а к dd. Одна неверная коман¬ да может легко затереть весь ж е с т к и й диск. Будьте особенно осторожны в о т н о ш е н и и входных и выходных файлов. Если их перепу¬ тать, м о ж н о перезаписать свидетельства и л и сделать кое-что похуже. Н е играйте с dd, если н е владеете основами работы с ж е с т к и м и д и с к а м и , н е знаете, что такое блок и сектор. В отличие от дружественной п о отноше¬ н и ю к пользователям Windows, dd никогда н е переспрашивает дважды, когда вы собираетесь сделать какую-нибудь глупость. Поэтому, к а к хоро¬ ш и й портной, семь раз прочтите руководство и один раз в ы п о л н и т е ко¬ манду.
Если вы вместо тиражирования д и с к о в хотите создать один большой свидетельский файл, примените следующую команду для копированияя файла на новое устройство: dd if=/dev/hdc of=/mnt/storage/evidence.bin
Вероятно, вы захотите смонтировать новое устройство для сохране¬ н и я этого файла. Желательно, чтобы это был совершенно н о в ы й носи¬ тель, чтобы н е испортить свидетельства старыми д а н н ы м и . П о м н и т е , что даже стертые д а н н ы е проявятся при использовании этого средства. Если у вас нет чистого носителя, убедитесь, что п р и м е н я е м ы й носитель тща¬ тельно прочищен с п о м о щ ь ю дисковой утилиты (кстати, dd имеет такую возможность, прочтите о ней в оперативной справке). 454
Глава 11
Судебные средства
Когда все свидетельства собраны, вы готовы к их дальнейшему ана¬ лизу с п о м о щ ь ю судебного инструментария. Есть много великолепных, профессионального уровня коммерческих наборов средств. Имеются так¬ ж е некоторые очень хорошие свободные наборы судебных средств как для Windows, так и U N I X .
о
The Sleuth Kit/Autopsy Forensic Browser: Набор судебных средств для UNIX The Sleuth Kit/Autopsy Forensic Browser Автор/основной контакт: Brian Carrier Web-сайт: www.sleuthkit.org/sleuthkit/index.php Платформы: Большинство UNIX Лицензия: Публичная лицензия IBM Рассмотренная версия: 1.70 Списки почтовой рассылки: The Sleuth Kit User's list Общие вопросы и обсуждение Sleuth Kit. Подписка по адресу http://lists.sourceforge.net/lists/listrinfo/sleuthkit-users The Sleuth Kit Informer list Ежемесячный бюллетень с новостями, советами и рекомендациями. Подписка по адресу www.sleuthkit.org/informer/index.php. The Sleuth Kit Developer's list Для вопросов и обсуждений разработчиков. Подписка по адресу http://lists.sourceforge.net/lists/listinfo/sleuthkit-developers. The Sleuth Kit Announcement list Список рассылки только для чтения с основными объявлениями или вы¬ пусками Sleuth Kit/Autopsy Forensic Browser. Подписка по адресу http://lists.sourceforge.net/lists/listinfo/sleuthkit-announce. The Coroner's Toolkit (TCT) list Информация о TCT, на котором основывается Sleuth Kit. Подписка по ад¬ ресу www.porcupine.org/forensics/tct.htm#mailing_list.
Sleuth K i t Брайана Карьера является собранием различных судебных средств, р а б о т а ю щ и х п о д U N I X . О н содержит части п о п у л я р н о г о Coroner's Toolkit Д э н а Фармера, равно как и вклады других людей, и пре доставляет стильный Web-интерфейс на базе Autopsy Forensic Browser. Sleuth K i t предназначается для работы с файлами данных, такими к а к вы¬ вод дисковых утилит, аналогичных dd, и обладает ш и р о к и м и возможно¬ стями, фактически превосходя некоторые доступные коммерческие про¬ граммы. В число ключевых ф у н к ц и й Sleuth K i t входят: 455
Курс
Защитные средства с открытыми исходными текстами
• Отслеживание различных дел и нескольких следователей • Просмотр ф а й л о в и каталогов, которые были р а з м е щ е н ы в файло¬ вой системе или удалены из нее • Доступ к низкоуровневым структурам файловой системы • Генерация хронологии файловой активности • Сортировка по категориям ф а й л о в и проверяемым р а с ш и р е н и я м • П о и с к в данных образов по ключевым словам • И д е н т и ф и к а ц и я графических образов и создание пиктограмм • П о и с к в базах данных хэшей, включая судебные стандарты N I S T N S R L и Hash Keeper • Создание заметок следователяя • Генерация отчетов
Установка Sleuth Kit 1. Загрузите и распакуйте ф а й л с прилагаемого к книге к о м п а к т - д и с ка или Web-сайта. 2. В этом ж е каталоге наберите: make
Программа автоматически сконфигурирует и скомпилирует себя. В процессе установки она может задать вам несколько воп¬ росов.
Установка Autopsy Forensic Browser Эта программа — графический интерфейсный компонент для Sleuth Kit. Ее применение вместе с Sleuth Kit существенно облегчит вашу жизнь и позво¬ лит порождать привлекательный графический вывод. При желании можно по-прежнему независимо применять средства командной строки Sleuth Kit. 1. Прежде чем начинать установку Autopsy, удостоверьтесь, что инст¬ рументарий Sleuth K i t установлен. 2. Возьмите ф а й л Autopsy с Web-сайта или из каталога /autopsy п р и лагаемого к книге компакт-диска. 3. Распакуйте его с п о м о щ ь ю обычной к о м а н д ы t a r -zxvf . 4. Держите маршрут к программному каталогу Sleuth K i t под рукой и подумайте о том, где разместить «сундук с уликами» — специаль¬ н ы й каталог, где будут располагаться все д а н н ы е рассматриваемо¬ го с п р и м е н е н и е м Sleuth K i t дела. 5. Наберите команду make. Она установит программу и при этом по¬ просит вас указать каталог для хранения данных и каталог, в кото¬ р ы й установлен Sleuth K i t . 456
Судебные средства
Глава 11
Применение Sleuth Kit и Autopsy Forensic Browser 1. Чтобы запустить серверную программу, наберите . / a u t o p s y & в ка талоге autopsy. Сервер будет работать в ф о н о в о м режиме с портом 9999. 2. Скопируйте универсальный локатор ресурсов, который выдается при запуске сервера. О н понадобится для входа в серверную сис¬ тему. 3. Д л я подключения к серверу откройте Web-навигатор и введите U R L , который в ы скопировали и з адресного окна н а шаге 2. О н выглядит примерно так: http://localhost:9999/654378938759042387490587/autopsy
Число между косыми чертами изменяется при каждом запуске Sleuth Kit. После ввода U R L появится основной экран (см. рис. 11.1).
Заведение и протоколирование дела Sleuth K i t вместе с Autopsy Forensic Browser позволяет контролиро¬ вать несколько дел, чтобы м о ж н о было отслеживать различные инциден¬ ты и различных заказчиков. Необходимо завести дело для хранения сви¬ детельских файлов, прежде чем с н и м и м о ж н о будет работать.
;
File
Edit
View
Go
Bookmarks
i t . i .t ;
Back
Forward
i
lools
Window
Help
| $ . http://lacalhost:9999/28250B273l3215897454
T
| ^.Search
^
-
Reload
: ^уногле f Bookmarks ^ M a n d r a k e S o n . ^ M a n d r a k e S t o r e ^ M a n d r a k e E x p e r t ^ M a n d r a k e C l u b ^ M a n d r a k e O n l i n e b o r n e D u l l e r p r j t ' J e r n s n a v e tjeen r e p o r t e d « л т A u t o p s y ana f ' e r l " № r e o x o x is n o t s n o v v n ,
/ м а
Perl 5.6 should be used i f available. If data is missing, r e l o a d the page
AUTOPSY
^.7o)
h t t p : /'ЛлП'Т. sLeu.ti-J-.Lt • i
OPEN CASE
a
^
1
^
NEW CASE
-r:>$v
HELP
Document: Done (0.405 sees)
- Ц } ^
Рис. 11.1. Основной экран Autopsy Forensic Browser 457
Защитные средства с открытыми исходными текстами
Курс
••HE
'• -•- Create A New Case - Мог На ;;;;;; :
File
Edit
: j
^ Back
T
I ^Horne
View
Forward
Go
Bookmarks
i Reload
T
^Bookmarks
look:
\Jl
Ш
^MandrakeSoft
Window
Help
htto^Ocalhost:9999/Z3Z50&27.3-:.2'5897454 t
^MandrakeStore
^
_J
-y Search SB~
M a n d r a k e E x p art ^ M a n d r a k e C k i b
1 ?
ш
. / M a n d r a k e O n ine
^ M a
CREATE A NEW CASE
1.
Enter Case Name (directory name):
2, Enter Description (one line, optional)
|sample
|sampie
Case
3. Enter Investigator Logins (no spaces): a,
t o n y h o w l Bit
b,
.r
f.r
e
g-Г NEW
;::
-.Ь
У_,
И
<M
CASE
|
И Г
C A N C E L
HELP
D o c u m e n t : D o n e (0.4ijG s e e s )
Рис. 11.2. Э к р а н Create a New Case 1. Н а основном экране щелкните м ы ш ь ю на New Case. Появится э к ран заведения нового дела (см. рис. 11.2). 2. Введите название дела. О н о послужит именем каталога, в котором хранятся свидетельские данные. Этот каталог будет создан в ос¬ н о в н о м каталоге для хранения свидетельств, заданном п р и уста¬ новке. 3. П р и желании м о ж н о дать делу полное и м я , которое лучше его ха¬ рактеризует. 4. Необходимо создать по крайней мере один идентификатор следо¬ вателя для доступа к делу. В этом проявляется развитость програм¬ мы. Д а н н а я возможность позволяет подключать к работе над од¬ н и м делом несколько человек и отслеживать доступ и действия ка¬ ждого. Щ е л к н и т е м ы ш ь ю на New Case, чтобы завершить ввод. 5. Когда дело заведено, выводится Case Gallery с отображением всех заведенных вами дел. М о ж н о видеть детали каждого дела, включая следователей, которые с н и м работают. Выберите свое новое дело, щелкните м ы ш ь ю на O K и войдите в него. Теперь вы завели дело, вошли в него и готовы с н и м работать. 458
Судебные средства
Глава 11
Добавление хоста Когда вы вошли в дело, необходимо задать по крайней мере один хост, который вы собираетесь освидетельствовать. Этот хост представляет конкретную исследуемую машину. 1. В Case Gallery щелкните м ы ш ь ю на A d d Host. Появится э к р а н A d d a New Host (см. рис. 11.3). 2. Введите и м я хоста. 3. П р и желании введите краткое описание хоста. 4. Задайте часовой пояс и отклонение часов — расхождение с вре¬ м е н н о й меткой основного файла дела, чтобы Sleuth K i t п о - особо¬ му трактовал временные метки н а хосте. Это может быть очень важно п р и осмотре нескольких серверов с различным временем н а часах. 5. П р и желании добавьте необязательную запрошенную информа¬ цию. 6. Щ е л к н и т е м ы ш ь ю на A d d Host, чтобы добавить хост и вернуться в Case Gallery. 7. Выполните эту процедуру для каждого хоста, на котором имеются данные.
Рис. 11.3. Экран A d d a New Host 459
Курс
Защитные средства с открытыми исходными текстами
Добавление образа Теперь следует добавить образы данных для созданных хостов. Ис¬ пользуйте к о п и и данных, сделанные с п о м о щ ь ю dd, Norton Ghost или ка¬ к о й - либо и н о й утилиты тиражирования данных. 1. Выберите хост на экране Host Gallery и щелкните м ы ш ь ю на O K . 2. Щ е л к н и т е м ы ш ь ю на кнопке A d d Image. Появится э к р а н A d d a New Image (см. рис. 11.4). 3. Введите расположение и данные о файле образа. М о ж н о скопи¬ ровать файл в каталог для этого хоста в хранилище свидетельств или просто создать символьную ссылку на него. Будьте осторож¬ н ы и не перемещайте ф а й л ы образов, особенно больших, слиш¬ к о м часто, так к а к это может привести к потере данных, если во время переноса возникнут проблемы. 4. Выберите тип файловой системы. Это определяет способ, кото¬ р ы м Sleuth K i t смотрит на данные в образе. 5. Sleuth K i t автоматически создает файл хэша. Вы можете в любое время проверить соответствие хэша и данных в файле. Это значи¬ тельно повышает легитимность ваших усилий в суде. 6. Для каждого хоста м о ж н о добавить несколько образов. Например, вам, возможно, понадобится разбить большой д и с к на несколько
Рис. 11.4. Экран A d d a New Image. 460
Глава 11
Судебные средства
файлов образов. Щ е л к н и т е м ы ш ь ю на A d d Image, чтобы добавить образ и вернуться в основное о к н о Case Gallery.
Анализ данных Теперь вы, наконец, готовы приступить к анализу. Может показаться, что работы по настройке слишком много, но вы оцените Sleuth Kit, когда вам придется манипулировать большим числом образов или понадобитсяя быстро выдать определенный фрагмент данных. Перейдите в Image Gallery и щелкните м ы ш ь ю на образе, который хотите анализировать. В табл. 11.5 перечислены т и п ы анализа, который можно выполнять на образах данных. Sleuth K i t в сочетании с Autopsy Forensic Browser — м о щ н о е средство организации и анализа судебных данных на уровне любой профессио¬ нальной лаборатории в стране. В этом разделе затронуты л и ш ь некоторые основные ф у н к ц и и , но об этом замечательном инструменте м о ж н о напи¬ сать целые тома. Здесь не рассмотрены многие команды и ф у н к ц и и . До¬ полнительную и н ф о р м а ц и ю м о ж н о найти в оперативном руководстве и других ресурсах на Web-сайте. На сайте предлагается также ежемесячный бюллетень с интересными статьями и рекомендациями для интересую¬ щихся судебной и н ф о р м а т и к о й . Табл. 11.5. Типы проводимого в Sleuth K i t анализа Тип анализа File Analysis
Keyword Search
File Type
Image Details
Описание Показывает образ в виде файлов и каталогов, которые будет видеть файловая система. Здесь также видны ф а й л ы и п а п к и , которые обычно могут быть скрыты операционной системой. Позволяет искать во всем образе определенные клю¬ чевые слова. Это полезно, если вы ищете определен¬ ную программу или просто у п о м и н а н и е об определен¬ ной вещи. Ю р и с т ы часто пользуются д а н н о й возмож ностью при поиске свидетельств инкриминируемой противозаконной деятельности на принадлежащем подозреваемому жестком диске. Это помогает доволь¬ но быстро найти иголку в стоге сена (см. рис. 11.5). Сортирует все ф а й л ы или производит п о и с к по типу. Это удобно при поиске всех файлов определенного типа, например, J P E G или M P 3 . Выдает все детали изучаемого образа, которые могут пригодиться, например, при восстановлении данных, когда необходимо знать их физическое расположение. 461
Защитные средства с открытыми исходными текстами
Курс
MetaData
Data Unit
Отображает низкоуровневые структуры каталогов и файлов в образе, полезные при поиске удаленного со¬ держимого и просмотре других элементов, которые файловая система обычно не показывает. Позволяет углубиться в любой н а й д е н н ы й файл и просмотреть его реальное содержимое в текстовом или шестнадцатеричном виде.
The Forensic Toolkit: Набор судебных средств для Windows The Forensic Toolkit Автор/основной контакт: Foundstone, Inc. Web-сайт: www.foundstone.com/index.htm?subnav=resources/navigation.htm&subcontent=/resources/freetools.htm Платформы: Windows NT, 2000, XP Лицензии: Версия 1.4 — GPL, версия 2.0 — Freeware Рассмотренные версии: 1.4 GPL, 2.0 Freeware The Forensic Toolkit — еще одна замечательная свободная программа к о м п а н и и Foundstone. Этот набор средств полезен при осмотре файловых систем на платформе Windows и сборе и н ф о р м а ц и и для судебного рассле-
Рис. 11.5. Результаты поиска по ключевым словам 462
Глава 11
Судебные средства
дования. Версия 1.4 программы имеет полностью открытые исходные тексты с лицензией G P L . Версия 2.0 условно свободна и может приме¬ няться для коммерческих целей, но имеет ограничения на внесение в программу д о п о л н е н и й и и з м е н е н и й , а ее исходные тексты в настоящее время недоступны. Отметим, что эти средства работают только с ф а й л о в ы м и системами N T F S . Если вы желаете исследовать раздел FAT32, вам придется восполь¬ зоваться другим инструментарием.
Установка The Forensic Toolkit 1. Загрузите соответствующий файл с Web-сайта (версию 1.4 или 2.0, в зависимости от того, нужны ли вам открытые исходные тексты). 2. Распакуйте файл в его собственный каталог. Это завершает уста¬ новку.
Применение The Forensic Toolkit Инструментарий включает различные утилиты командной строки, генерирующие статистические д а н н ы е и и н ф о р м а ц и ю об исследуемой файловой системе. Ч т о б ы выполнить команду, наберите ее в о к н е ко¬ мандной строки (вы д о л ж н ы находиться в соответствующем каталоге). В последующих разделах о п и с а н ы отдельные средства. Afind Эта утилита ищет ф а й л ы по времени доступа к н и м , не изменяя ин¬ ф о р м а ц и ю о доступе, что отличает ее от обычных утилит Windows. Основ¬ н о й формат команды таков: a f i n d каталог_поиска опции
Основные о п ц и и перечислены в табл. 11.6. Табл. 11.6. Основные опции поиска для Afind Опция -f и м я ф а й л а -s X -m X
Описание Выдает и н ф о р м а ц и ю о времени доступа к файлу с за¬ д а н н ы м именем. Отыскивает ф а й л ы , к которым обращались в течение последних X секунд. Отыскивает ф а й л ы , к которым обращались в течение последних X минут. 463
Курс
Защитные средства с открытыми исходными текстами
-d X -a d/m/y-h:m:s
Отыскивает ф а й л ы , к которым обращались в течение последних X дней. Отыскивает ф а й л ы , к которым обращались после ука¬ занной даты и времени. Hfind
Это — средство поиска скрытых файлов в операционной системе Windows. Выдаются файлы, у которых установлен бит атрибута скрытости, а также файлы, скрытые с п о м о щ ь ю специального атрибутного мето¬ да каталога/системы Windows NT. Формат таков: hfind
каталог_поиска
Команда выдает с п и с о к скрытых файлов и дату и время последнего доступа к н и м . Будьте осторожны п р и поиске по всему жесткому диску, так к а к на это может потребоваться много времени. Sfind Средство поиска на жестком диске скрытых потоков данных. О н и отличаются от скрытых файлов, так к а к н е становятся видны на жестком диске, когда в ы щелкаете м ы ш ь ю на опции показа скрытых файлов. С к р ы т ы е потоки данных — особенность N T F S , предоставляющая опре¬ деленным программам доступ к альтернативным потокам данных. Эти ф а й л ы связываются с видимым родительским файлом, н о н е удаляются, когда файловая система удаляет последний. О н и могут применяться дляя сокрытия данных или вредоносного программного обеспечения. Формат команды sfind таков: sfind
каталог_поиска
Если в ы ищете, отправляясь от корневого каталога большого диска, п о и с к может быть весьма длительным. FileStat Эта команда выдает полную распечатку атрибутов файла, включаяя и н ф о р м а ц и ю о безопасности. В каждый момент времени она работает только с одним файлом. Вывод м о ж н о направить по каналу в текстовый файл для дальнейшей обработки. Эта команда выдает довольно много ин¬ ф о р м а ц и и , включая подробные сведения о файловом дескрипторе, кото¬ р ы е обычно н е сообщаются. Н а листинге 11.5 показан пример этой ин¬ ф о р м а ц и и для файла с именем test.txt. 464
Глава 11
Судебные средства
Листинг 11.5. Выдача команды FileStat C r e a t i o n Time 01/10/2004 03:18:40 Last Mod Time 01/10/2004 03:18:40 Last Access Time 01/10/2004 03:18:40 Main F i l e S i z e 11 F i l e A t t r i b Mask Arch Dump complete:Dumping C:\temp\test.txt: SD i s v a l i d . SD i s 188 bytes long. SD r e v i s i o n i s 1 ==SECURITY_DESCRIPTOR_REVISION1 SD's Owner i s Not NULL SD's Owner-Defaulted f l a g i s FALSE SID = TONYVPRDESKTOP/Tony Howlett S-1-5-21--181663460 SD's Group-Defaulted f l a g i s FALSE SID = TONYVPRDESKTOP/None S-1-5-21--181663460--953405037SD's DACL i s Present SD's DACL-Defaulted f l a g i s FALSE ACL has 4 ACE(s), 112 bytes used, 0 bytes f r e e ACL r e v i s i o n i s 2 == ACL_REVISION2 SID = BUILTIN/Administrators S-1-5-32-544 ACE 0 i s an ACCESS_ALLOWED_ACE_TYPE ACE 0 s i z e = 24 ACE 0 f l a g s = 0x00 ACE 0 mask = 0x001f01ff -R -W -X -D -DEL_CHILD -CHANGE_PERMS -TAKE_OWN SID = NT AUTHORITY/SYSTEM S-1-5-18 ACE 1 i s an ACCESS_ALLOWED_ACE_TYPE ACE 1 s i z e = 20 ACE 1 f l a g s = 0x00 ACE 1 mask = 0x001f01ff -R -W -X -D -DEL_CHILD -CHANGE_PERMS -TAKE_OWN SID = TONYVPRDESKTOP/Tony Howlett S-1-5-21--181663460ACE 2 i s an ACCESS_ALLOWED_ACE_TYPE ACE 2 s i z e = 36 ACE 2 f l a g s = 0x00 ACE 2 mask = 0x001f01ff -R -W -X -D -DEL_CHILD -CHANGE_PERMS -TAKE_OWN SID = BUILTIN/Users S-1-5-32-545 ACE 3 i s an ACCESS_ALLOWED_ACE_TYPE ACE 3 s i z e = 24 ACE 3 f l a g s = 0x00 465
Курс
Защитные средства с открытыми исходными текстами ACE 3 mask = 0x001f01ff -R -X SD's SACL i s Not Present Stream 1: Type: Secur i t y Stream name = ?? ? ? S i z e : 188 Stream 2: Type: Data Stream name = ?? ? ? S i z e : 11 Stream 3: Type: Unknown Stream name = ?? ? ? S i z e : 64
Hunt Это средство м о ж н о применять для получения детальной информа¬ ц и и о системе с п о м о щ ь ю возможностей пустого сеанса Windows. П р и оп¬ ределенной степени вседозволенности в вашей системе может выдавать¬ ся важная и н ф о р м а ц и я , такая к а к списки пользователей, разделяемых ре¬ сурсов и запущенных служб. Команда имеет следующий формат: hunt имя_исследуемого_хоста
На листинге 11.6 приведен пример выдачи команды Hunt. Листинг 11.6. Выдача команды hunt share
=
IPC$
—
share
= print$ —
Remote IPC Printer
Drivers
share = SharedDocs share = Pr i n t e r 3 — Acrobat
Distiller
share = Pr i n t e r 2 — Acrobat PDFWriter User = A d m i n i s t r a t o r , the computer/domain
, ,
B u i l t - i n account f o r a d m i n i s t r a t i n g
Admin i s TONYVPRDESKTOP\Administrator User = Howlett, , , 466
Глава 11
Судебные средства
User = Guest, puter/domain
, , B u i l t - i n account f o r guest access t o the com¬
User = H e l p A s s i s t a n t , Remote Desktop Help A s s i s t a n t Account, Account f o r P r o v i d i n g Remote A s s i s t a n c e User = SUPPORT_388945a0, CN=Microsoft Corporation, L=Redmond, S=Washington, C=US, vendor's account f o r the Help
, This i s a
and Support S e r v i c e
User = Tony Howlett,
В списке м о ж н о видеть двух пользователей, которые обычно не ото¬ бражаются в разделе User Account системы Windows: HelpAssistant и SUP¬ P O R T (возможности удаленной п о м о щ и и раздражающая возможность «уведомите службу поддержки», выскакивающая всякий раз, когда про¬ грамма отдает к о н ц ы ) . Это пользователи системного уровня для внутрен¬ них программ. С п о м о щ ь ю данного средства м о ж н о раскрыть других скрытых пользователей, спрятанных к в а л и ф и ц и р о в а н н ы м нарушителем. Это глава не претендует на полноту описания всех возможных судеб¬ ных средств, однако представленных средств достаточно, чтобы выпол¬ нять основные судебные действия практически на любой системе. Дляя тех, кто профессионально работает в д а н н о й области или оказался вовле¬ ч е н н ы м в расследование, имеется много других средств. Х о р о ш и й список судебных средств с открытыми исходными текстами м о ж н о найти по ад¬ ресу www.opensourceforensics.org/.
467
Курс
Защитные средства с открытыми исходными текстами
Глава 1 2 . Еще о п р о г р а м м н о м о б е с п е ч е н и и с открытыми исходными текстами Теперь вы знаете, как сохранять д а н н ы е в безопасности внутри и вне своей сети, как обнаруживать и расследовать атаки на ваши системы и се¬ ти. В этой книге были рассмотрены десятки защитных средств с открыты¬ ми исходными текстами, охватывающие практически все аспекты инфор¬ м а ц и о н н о й безопасности. Однако м ы всего л и ш ь скользнули по поверх¬ ности того, что доступно. В каждой категории я пытался выбрать для де¬ монстрации лучшие (по моему мнению) средства, но часто на выбор име¬ ется масса других. К р о м е того, существуют программные альтернативы с открытыми исходными текстами почти для любого типа приложений, включая текстовые процессоры, управление сетью, мультимедиа и т.д. С п и с о к м о ж н о продолжать и продолжать. В этой, заключительной главе представлены некоторые ресурсы дляя дальнейшего изучения средств безопасности с открытыми исходными текстами. Н а п и с а н о в ней и о том, как войти в сообщество открытого П О .
Р е с у р с ы о т к р ы т о г о ПО Если вы хотите продолжить исследование мира программного обес¬ печения с открытыми исходными текстами, посетите многочисленные доступные Интернет-ресурсы.
Телеконференции USENET USENET является сетью серверов, предоставляющей место для об¬ суждения самых разных тем, таких как политика, развлечения и, конеч¬ но, компьютеры. Эти форумы называются телеконференциями, и они функционируют как разновидность общественных досок объявлений для людей, интересующихся определенной тематикой. Сеть U S E N E T возни кла как дискуссионная техническая группа, и по-прежнему имеется боль¬ ш о е число групп, ориентированных на техническую тематику. Хотя с п а м меры и Web-форумы снизили действенность U S E N E T , все еще остается ряд активных телеконференций U S E N E T , связанных с открытым П О . Для доступа в U S E N E T требуется специальная программа чтения н о востей. В большинство современных Web-навигаторов она встроена. В Internet Explorer в меню Tools выберите M a i l and News, и затем выберите Read News. Для подписки также требуется действующий сервер телекон¬ ференций U S E N E T . Поставщики Интернет-услуг обычно предоставляли этот сервис как часть своего стандартного предложения, и многие продол468
Глава 12
Еще о программном обеспечении с открытыми исходными текстами
жают это делать. Если ваш поставщик этого не делает, то имеются общедо¬ ступные серверы U S E N E T , к которым можно подключаться. Зайдите на сайт www.newzbots.com, чтобы найти подобные серверы. После подписки на сервере можно заглянуть в несколько групп общего характера, которые могут представлять интерес. Есть также множество других групп, связан¬ ных с определенными операционными системами или программами. • comp.sci.opensource • comp.os.linux.advocacy • comp.os.unix.bsd.freebsd.misc • comp.os.unix.bsd.openbsd.misc Стоит также посетить сайт Google Groups (щелкните м ы ш ь ю на Groups на сайте www.google.com). К р о м е доступа к текущим с о о б щ е н и я м и группам, там нашлось место для бывшего сайта Dejanews — архива U S E N E T , начиная с 1992 года. Однако использование U S E N E T постепен но сходит на нет и многие форумы перемещаются на Web-платформу или в модерируемые списки почтовой рассылки, чтобы уменьшить отноше¬ н и е шум/сигнал в корреспонденции.
Списки почтовой рассылки Есть множество списков почтовой рассылки, связанных с открытым П О . Большинство из них ориентированы на конкретные программы. О н и служат для предоставления поддержки и сотрудничества в рамках проек¬ тов. Загляните на Web-сайт или в документацию программы, чтобы уз¬ нать, имеются ли п о с в я щ е н н ы е ей списки почтовой рассылки, и к а к на них подписаться. Д л я средств, рассмотренных в этой книге, подобные списки существуют, о н и указаны в начале описания каждого средства. Имеется также несколько общих списков почтовой рассылки: • Общее обсуждение Linux: http://computers.rootsweb.com/ Для подписки отправьте электронное сообщение по адресу [email protected] поместив S U B S C R I B E в строке Subject. • Архив почтовой рассылки B S D : http://www.hu.freebsd.org/hu/arch/
Web-сайты Открытому П О п о с в я щ е н а масса Web-сайтов. Есть также несколько хороших сайтов с общей и н ф о р м а ц и е й . Н и ж е представлены несколько замечательных сайтов, с которых м о ж н о начать знакомство с м и р о м про¬ граммного обеспечения с о т к р ы т ы м и исходными текстами. 469
Курс
Защитные средства с открытыми исходными текстами
SourceForge SourceForge (sourceforge.net) — превосходный Web-сайт, предостав л я ю щ и й поддержку проектов открытого П О и и н ф о р м а ц и ю о них (см. рис. 12.1). Его ведет Open Source Development Network, ф и н а н с и р у ю щ а я сайт за счет рекламы и продаж своего программного обеспечения с от¬ к р ы т ы м и исходными текстами. SourceForge содержит форум для обсуж¬ дения открытого П О и множество ресурсов для проектов с открытыми ис¬ ходными текстами. Если у вас есть многообещающая программа с откры¬ тыми исходными текстами, то SourceForge предоставит вам д о м а ш н ю ю страницу, форум, средства управления проектом, место хранения вашей программы для загрузки и много других ресурсов. Все это предоставляет¬ ся бесплатно, хотя имеются некоторые ограничения, связанные с исполь¬ зованием ресурсов. Web-сайт SourceForge — отличное место д л я п р о с м о т р а более 80000 к а т а л о г и з и р о в а н н ы х п р о е к т о в открытого П О . И х м о ж н о искать п о категории и п л а т ф о р м е . Ч а с т и ч н о э т о , к о н е ч н о , сырые идеи с мини¬ м а л ь н о й п о д д е р ж к о й , н о зато есть и т ы с я ч и п о л н о ф у н к ц и о н а л ь н ы х , п р о в е р е н н ы х в р е м е н е м программ. М о ж н о включиться в л ю б о й проект, получить о т к л и к и л и поддержку. SourceForge привлекает сотни т ы с я ч пользователей и создателей самого с о в р е м е н н о г о п р о г р а м м н о г о обес¬ п е ч е н и я с о т к р ы т ы м и и с х о д н ы м и текстами. Если вы затеваете н о в ы й проект, то Web-сайт SourceForge — п р е к р а с н о е место д л я п о и с к а ново¬ бранцев.
Рис. 12.1. Web-сайт SourceForge 470
Глава 12
Еще о программном обеспечении с открытыми исходными текстами
Slashdot Slashdot (www.slashdot.org) — сайт с новостями обо всем, что проис¬ ходит в мире открытого П О . О н создан для крутых программистов, в ос¬ н о в н о м п и ш у щ и х открытый исходный код, и поддерживается их силами. Здесь м о ж н о узнать последние слухи и сплетни, сногсшибательные ново¬ сти, а также познакомиться со всевозможными интересными статьями и м н е н и я м и . Частично это место о б щ е н и я , частично — источник горячих новостей и публикаций, насмешек и комментариев. Н а самом деле, в ле¬ к с и к о н технарей даже вошло выражение «сайт послэшдотили»: это когда сайт захлебывается от трафика после у п о м и н а н и я о нем на Slashdot. Freshmeat Freshmeat (www.freshmeat.net) — серьезный сайт для обсуждения и разработки открытого П О , некоторая к о м б и н а ц и я Slashdot и SourceForge, но меньшего масштаба. Это может быть плюсом для тех, кто напуган раз¬ мерами SourceForge и количеством его возможностей и ресурсов. Здесь также есть статьи и дискуссионные группы, равно к а к и непосредствен¬ н ы е предложения загрузки многих проектов.
Open Source Initiative Open Source Initiative (www.opensource.org) — организация, занимаю¬ щаяся продвижением и уточнением к о н ц е п ц и и разработки программно¬ го обеспечения с открытыми исходными текстами. Она предлагает фор¬ мальное определение того, и з чего должно состоять открытое П О , и сер¬ т и ф и к а ц и ю такого статуса, хотя многие утверждают, что это — движуща¬ я с я цель, и открытое П О п о определению есть нечто постоянно изменяю¬ щееся и неопределяемое. Д о сих пор л и ш ь небольшое число программ по¬ лучили печать их одобрения, н о зато это одни и з наиболее известных, та¬ к и е как Web-сервер Apache и программа Sendmail. Н а мой взгляд, это дви¬ ж е н и е в правильном направлении для будущего открытого П О : только когда м и р открытого П О самоорганизуется и согласится с некоторыми стандартами, о н получит значительную поддержку в корпоративной Аме¬ рике. Стандартизация способствует п р и з н а н и ю .
Free Software Foundation Сайт Фонда открытого программного обеспечения (www.fsf.org) — база одного из двух основных лагерей мира открытого П О . F S F поддер¬ живает проект G N U , а также его о ф и ц и а л ь н ы е программные продукты. 471
Курс
Защитные средства с открытыми исходными текстами
Здесь м о ж н о найти л и ц е н з и ю G P L и узнать все о т о м , к а к она работает. Отстаиваемую Ф о н д о м точку зрения, состоящую в том, что все программ¬ ное обеспечение должно быть свободным, некоторые могут счесть слиш¬ ком радикальной, н о здесь действительно заложили основы большей ча¬ сти доступного на сегодняшний день программного обеспечения с от¬ крытыми исходными текстами. Есть множество других сайтов, посвященных открытому П О , и все время создаются новые. Наберите в любой поисковой м а ш и н е запрос «open source security» или «open source software», и в ы легко в этом убедитесь.
П р и с о е д и н е н и е к д в и ж е н и ю з а о т к р ы т о е ПО Если вы с выгодой для себя воспользовались средствами безопасно¬ сти с открытыми исходными текстами и з этой к н и г и , у вас может возник¬ нуть желание расширить свое участие в этой деятельности. В большинст¬ ве случаев программное обеспечение свободно, и в ы н е обязаны что-ли¬ бо делать в благодарность за полученную выгоду. Однако в создание и поддержку примененного вами программного обеспечения абсолютно добровольно вложена масса времени и сил. Открытое П О продолжает ра¬ ботать и развиваться л и ш ь за счет коллективных усилий. Д л я некоторых, особенно для сотрудников коммерческих программистских к о н ц е р н о в , это звучит как-то по-социалистически, н о п о сути мало чем отличается от деятельности ассоциаций родителей и учителей или мелких бейсбольных лиг. Разработчики — вот кто делает м и р открытого П О прекрасным. Участвуя в этом движении, вы н е только поддержите развитие от¬ крытого П О , н о и заведете новых друзей с близкими вам интересами, ус¬ тановите ц е н н ы е деловые контакты в своей области и по ходу дела многое узнаете об управлении проектами, совместной работе и, конечно, приоб¬ ретете технических з н а н и я и опыт. Чтобы внести свой вклад, н е обязательно быть гуру в программиро¬ вании. Ключевым моментом в содействии преуспеянию движения за от¬ крытое П О является и м е н н о участие, которое может принимать различ¬ н ы е ф о р м ы — от выделения нескольких часов личного времени до пре¬ вращения этого занятия во вторую работу.
Поиск ошибок/бета-тестирование Даже если вы — простой пользователь и н е интересуетесь програм¬ мированием, вы можете помочь развитию средств безопасности с откры¬ т ы м и исходными текстами. В большинстве зрелых проектов есть списки почтовой рассылки для отслеживания о ш и б о к , а в некоторых — более сложные системы для сообщений о проблемах. Если в ы работаете с п р о 472
Глава 12
Еще о программном обеспечении с открытыми исходными текстами
граммой и обнаружите что-то, работающее неправильно, сообщите об этом и проверьте, м о ж н о ли это исправить. В процессе исправления вы поможете разработчикам найти о ш и б к и и улучшить программу. К о н е ч н о , вы д о л ж н ы будете убедиться, что ваша проблема вызвана о ш и б к о й в про¬ грамме, а не в а ш и м промахом при установке, но народ из списка рассыл¬ ки с превеликим удовольствием наставит вас на путь и с т и н н ы й . Чтобы надлежащим образом сообщить об ошибке, проверьте, что вы собрали значения всех переменных окружения, и попытайтесь воспроиз¬ вести ситуацию, чтобы точно определить, при каких условиях возникает ошибка. Такие вещи, как операционная система, версия программы, на¬ стройки, оборудование и т.д., важны. Н е забудьте также предоставить раз¬ работчикам для анализа все сообщения об ошибках, ф а й л ы журналов или образ памяти. М о ж н о заняться и бета-тестированием самых свежих версий. В не¬ которых проектах предлагаются возможности выполнять «стабильный» или «экспериментальный» код. Хотя большинство пользователей пред¬ почтут стабильный код, вы можете стать пионером и проверять экспери¬ ментальные или бета-версии. П о м н и т е , что при использовании этих про¬ грамм могут возникать неожиданные проблемы (например, иногда н о в ы й код будет разрушать вещи, до того работавшие). Если вы собираетесь применять бета-код, то, наверное, лучше запускать его сначала на тесто¬ вой м а ш и н е , а уж потом переносить на производственную. В других проектах бета-код могут распространять ограниченному списку проверяющих, чтобы первыми пользователями кода были люди о п ы т н ы е , сознающие, что они используют бета-версию. Таким образом м о ж н о избежать обычных о ш и б о к новичков, и иметь дело с пользовате¬ л я м и , которые понимают, как работает программа, и могут точно описать свои проблемы. Поэтому вам, вероятно, не стоит предлагать себя в каче¬ стве бета-пользователя, пока вы не получите некоторый опыт работы с этим программным обеспечением. Когда вы будете готовы, попросите ключевых разработчиков внести вас в список. В этом случае вы сможете помочь улучшить программное обеспечение для будущих пользователей. В качестве дивидендов вы получите первенство в доступе к н о в е й ш и м возможностям и п о н и м а н и е того, как дальше должен развиваться проект.
Участие в дискуссионных группах и поддержка других пользователей В большинстве проектов с открытыми исходными текстами есть с п и с о к почтовой рассылки для обсуждений и технических вопросов. Вы д о л ж н ы подписаться на него, даже если пока не планируете участвовать в его работе. Н е обязательно часто писать сообщения, чтобы получить н е 473
Курс
Защитные средства с открытыми исходными текстами
которую выгоду. Вполне допустимо просто наблюдать и читать публикуе¬ м ы е вопросы и ответы. Я многое узнал о программном обеспечении, со стороны наблюдая за дискуссиями в списке почтовой рассылки. Однако, одно предостережение: некоторые из подобных списков весьма активны, в них ежедневно поступают десятки сообщений. Такой объем информа¬ ц и и может оказаться избыточным, особенно если вы и так перегружены, как большинство системных администраторов. Н о даже чтение только случайных, заинтересовавших вас сообщений принесет определенную пользу. Если вы чувствуете, что получаете с л и ш к о м много электронных писем, попробуйте подписаться на дайджест-версию списка — ежеднев¬ н ы е или еженедельные сообщения, содержащие к о м п и л я ц и ю всей кор¬ респонденции. В этом случае вы получите только одно сообщение и смо¬ жете просмотреть его, когда найдется время. Убедитесь также, что вы зна¬ ете, как отменить подписку, прежде чем подписываться, чтобы м о ж н о бы¬ ло быстро отказаться от нее, если объем окажется для вас чрезмерным. В большинстве списков почтовой рассылки при проектах открытого П О в качестве средства управления применяется программный пакет Major Domo (это также проект с открытыми исходными текстами!). Стандартны¬ ми способами для подписки и отказа от подписки в такой системе служат: • Подписка: отправьте сообщение на адрес менеджера списка (обыч¬ но публикуемый на Web-сайте) со словом «Subscribe» в теме и теле письма. Вы можете получить запрос с просьбой подтвердить свое желание быть в списке. После вашего ответа вы начнете получать сообщения. • Отказ от подписки: отправьте сообщение на адрес менеджера спи¬ ска, поместив слово «Unsubscribe» в теме и теле письма. Списки почтовой рассылки бывают модерируемыми и немодерируемыми. В последнем случае все могут посылать сообщения, которые тут же будут появляться в списке. Это лучший вид списка для быстрого получе¬ н и я информации. Однако многие немодерируемые списки быстро засоря¬ ются посторонними сообщениями, спорами и просто взаимной руганью. И м е н н о поэтому большинство списков теперь модерируются. Это означа¬ ет, что человек — модератор списка — должен просматривать каждое сооб¬ щение, решать, имеет ли оно отношение к тематике списка, и одобрять его публикацию. В результате значительно уменьшается о б щ и й объем рассы¬ лаемых сообщений, которые теперь заведомо «в теме», однако ваше обра¬ щ е н и е за помощью может задерживаться на несколько дней, пока модера¬ тор до него доберется. Кроме того, модераторы обычно приостанавливают функционирование списка на время отпуска (они ведь его заслужили), по¬ этому получение ответов в д н и отдыха может быть нерегулярным. Когда вы поймете, что можете участвовать на равных, начинайте по¬ сылать сообщения, отвечать на некоторые простые вопросы и высказывать 474
Глава 12
Еще о программном обеспечении с открытыми исходными текстами
свое мнение. Это снимет часть нагрузки с технически более подготовлен¬ ных разработчиков и расширит базу знаний всего проекта. В конце концов, вы можете иметь опыт применения определенной конфигурации или плат¬ ф о р м ы , которого не имеет никто другой (возможно, вы действуете в не¬ обычной среде), или у вас может быть особое мнение по определенному во просу. Вполне возможно, что кто-то воспользуется вашей помощью. Вам будет приятно помочь другим, и вас поразит, насколько благодарными и любезными будут люди, которым вы помогли. Если бы ваши внутренние пользователи могли быть столь же приятными и признательными!
Предоставление ресурсов для проекта Есть нечто, что вы можете сделать, даже при отсутствии способно¬ стей к программированию и опыта работы с программным обеспечением. Проекты с открытыми исходными текстами обычно л и ш е н ы каких-либо поступлений для покрытия расходов на разработку и сопровождение про¬ граммного обеспечения. Хотя большая часть работы выполняется добро вольцами, остаются вопросы, связанные с размещением Web-сайта проек та, с его аппаратным обеспечением, и многие другие. Опять-таки, обычно большую часть ресурсов безвозмездно предоставляют сами участники проекта. Если у вас есть старая машина, которую можно использовать как Web-сервер, дайте знать ключевым разработчикам. Вы будете удивлены, узнав, что может делать старая машина, выполняя Linux и Apache. Если ва¬ ша организация согласится, подумайте, не могли бы вы предложить раз¬ местить Web-сайт проекта в своей коммуникационной инфраструктуре. Если проект большой, ваша организация едва ли захочет с н и м связывать¬ ся, но для небольших проектов использование полосы пропускания, ско¬ рее всего, будет м и н и м а л ь н ы м и по большей части приходящимся на не¬ рабочее время. Если вы обладаете навыками Web-дизайна, предложите со здать Web-сайт. Если ваш поставщик Интернет-услуг предоставляет бес платное пространство для Web-сайтов, предложите использовать его для проекта. Некоммерческие начинания обычно подпадают под условия об¬ служивания персонального Web-пространства. В конце концов, некото¬ р ы е пакеты открытого П О принимают даже старые добрые зеленые баксы как «пожертвования» за использование программного обеспечения. Вы можете раскрутить вашу организацию на некоторое количество баксов в качестве альтернативы оплаты коммерческого П О . В принципе, все, что придет вам в голову, может пригодиться для проекта открытого П О . Навы¬ ки графического дизайна для создания логотипа, счета электронной поч¬ ты для поддержки списков рассылки, юридическая п о м о щ ь при шлифов¬ ке лицензий — все это конструктивные способы помочь вашему любимо¬ му проекту с открытыми исходными текстами. 475
Курс
Защитные средства с открытыми исходными текстами
Станьте постоянным клиентом организаций, использующих или поддерживающих открытое ПО Хотя вы н е обязаны расходовать средства из вашего бюджета на про¬ граммное обеспечение, в ы все-таки можете потратить деньги на другие вещи. П р и покупке оборудования, программного обеспечения или услуг возьмите за правило в первую очередь рассматривать производителей, ис¬ пользующих или поддерживающих открытое П О . В к о н ц е к о н ц о в , если к о м п а н и я может быть коммерчески жизнеспособной, п р и м е н я я откры¬ тое П О к а к ключевой компонент своих предложений, это только способ¬ ствует делу. Такие к о м п а н и и , к а к Sun, I B M и Dell активно продвигают программное обеспечение с открытыми исходными текстами.
Еще о з а щ и т н ы х с р е д с т в а х с открытыми исходными текстами Теперь вы д о л ж н ы иметь общее представление о к о н ц е п ц и я х инфор¬ м а ц и о н н о й безопасности и о том, к а к применять их в своей организации с п о м о щ ь ю защитных средств с открытыми исходными текстами. Ис¬ пользуя эти программы и и н ф о р м а ц и ю и з настоящей к н и г и , вы сможете значительно лучше защитить свои системы и сети от угроз компьютерной преступности. М ы рассмотрели программы, п о в ы ш а ю щ и е конфиденци¬ альность, целостность и доступность ваших сетей, систем и данных по це¬ не, которая уложится в любой бюджет. Надеюсь, в ы понимаете, что подлинная и н ф о р м а ц и о н н а я безопас¬ ность н е сводится только к программам и технологии. Д л я нее также важ¬ н ы процессы и люди. Только сочетание надлежащих людей, процессов и технологии способно по-настоящему обезопасить вашу сеть. З а щ и т н ы е средства с открытыми исходными текстами могут дать вам лучшее про¬ граммное обеспечение для построения надежного фундамента информа¬ ц и о н н о й безопасности. Д в и ж е н и е за открытое П О ширится день ото д н я , становится все бо¬ лее заметным и легитимным. Надеюсь, что эта книга будет способство¬ вать вашему п р и о б щ е н и ю к делу создания качественных з а щ и т н ы х средств на основе программного обеспечения с открытыми исходными текстами, что вы внесете в него свой вклад. Это доставит вам массу удо¬ вольствия, вы многому научитесь, вам будет п р и я т н о сознавать, что бла¬ годаря вашим усилиям Интернет и сети стали безопаснее. Возможно, в будущей редакции этой к н и г и важнейшее место будет отведено написан¬ ному вами защитному средству с открытыми исходными текстами.
476
Приложение A
Лицензии для ПО с открытыми исходными текстами
Приложение A Л и ц е н з и и д л я ПО с о т к р ы т ы м и и с х о д н ы м и т е к с т а м и Это приложение содержит Генеральную публичную лицензию G N U и Л и ц е н з и ю открытого П О B S D . И х м о ж н о найти в Web по адресам www.gnu.org/licenses/gpl.html и www.opensource.org/licenses/bsd-license.php, соответственно. Генеральная публичная лицензия G N U ( G P L ) Перевод на русский я з ы к м о ж н о найти в переводе документации Linux: http://www.linux.org.ru/books/GNU/licenses/gplrus.htm или http://www.opennet.ru/base/rel/gplrus.txt.html Л и ц е н з и ю открытого П О B S D Перевод на русский я з ы к м о ж н о найти по адресу http://cylib.iit.nau.edu.ua/Mirrors/ask.km.ru/unics/bsd.html
477
Курс
Защитные средства с открытыми исходными текстами
Приложение B О с н о в н ы е к о м а н д ы Linux/UNIX В таблицах этого приложения перечислены некоторые основные ко¬ манды L i n u x / U N I X . В различных дистрибутивах могут встречаться не¬ большие различия в синтаксисе, а всего команд очень много, гораздо больше, чем здесь приведено. Дополнительную и н ф о р м а ц и ю о любой ко¬ манде м о ж н о найти в руководствах пользователя, оперативных ресурсах или с п о м о щ ь ю инструкции man
команда
набранной в командной строке. Табл. B.1. К о м а н д ы навигации в файловой системе Команда cd маршрутное_ имя каталога ls ls - l pwd
Описание Переход в указанный каталог, который становится текущим. Выдает краткий вариант данных о файлах текущего каталога. Выдает с п и с о к файлов с детальной и н ф о р м а ц и е й . Выводит имя каталога, в котором вы находитесь.
Табл. B.2. К о м а н д ы просмотра файлов Команда cat имяфайла less имяфайла pico
имяфайла
Описание Выдает на э к р а н содержимое указанного файла Открывает файл для просмотра в режиме только для чтения (только системы Linux). Открывает файл в текстовом редакторе.
Табл. B.3. К о м а н д ы манипулирования с каталогами и ф а й л а м и Команда cp -r исходный _ каталог целевой_ каталог cp исходныйфайл целевойфайл mkdir имякаталога
Описание Копирует содержимое всего исходного каталога в целевой. Копирует исходный файл в целевой. Создает н о в ы й каталог с указанным именем. 478
Приложение B
Основные команды Linux/UNIX
mv маршрутное_ имя_исходного_ файла маршрутное_ имя целевого файла rm имяфайла rmdir имя rmdir -rf
каталога имякаталога
Перемещает исходный файл в целевой.
Удаляет один или несколько (если в и м е н и встречаются метасимволы) файлов. Удаляет пустой каталог. Удаляет каталог и все подкаталоги и ф а й л ы в нем.
Табл. B.4. Дополнительные команды Команда date df du grep цепочка
printenv
ps ps -ax w
Описание Выдает системное время и дату. Важно убедиться, что это правильные время и дата. Выдает и н ф о р м а ц и ю об и м е ю щ е м с я пространстве в фай¬ ловой системе. Выдает и н ф о р м а ц и ю о суммарном объеме дискового пространства, занятого иерархией файлов. И щ е т указанную цепочку при использовании в конвейе¬ ре с другими командами. Н а п р и м е р , ls | grep Tony выдаст все ф а й л ы текущего каталога, содержащие в и м е н и ц е почку Tony. Выдает все переменные окружения для текущего пользо¬ вателя (подразумеваемые терминал, к о м а н д н ы й интер¬ претатор, текстовый редактор и т.д.). Выдает в ы п о л н я ю щ и е с я процессы, принадлежащие теку¬ щему пользователю. Выдает все в ы п о л н я ю щ и е с я процессы. Выдает д а н н ы е о находящихся в системе пользователях.
479
Курс
Защитные средства с открытыми исходными текстами
Приложение C О б щ е и з в е с т н ы е н о м е р а п о р т о в TCP/IP В этом приложении перечислены общеизвестные номера портов T C P / I P . Этот список поддерживается I A N A . Его самую свежую версию м о ж н о найти по адресу www.iana.org/assignments/port-numbers. (Последнее обновление 2003-10-20) Номера портов делятся на три диапазона: Общеизвестные порты, За регистрированные порты и Динамические и/или Частные порты. Общеизвестные порты имеют номера от 0 до 1023. Зарегистрированные порты имеют номера от 1024 до 49151. Динамические и/или Частные порты имеют номера от 49152 до 65535. ### НЕПРИСВОЕННЫЕ НОМЕРА ПОРТОВ НЕ ДОЛЖНЫ ИСПОЛЬЗОВАТЬСЯ. IANA БУ ДЕТ ПРИСВАИВАТЬ НОМЕР ПОРТА ПОСЛЕ ОДОБРЕНИЯ ВАШЕГО ЗАЯВЛЕНИЯ ### ОБЩЕИЗВЕСТНЫЕ НОМЕРА ПОРТОВ Общеизвестные Порты присваиваются IANA и на большинстве систем могут использоваться только системными (или суперпользовательски ми) процессами или программами, выполняемыми привилегированными пользовател ми. Порты используются в TCP [RFC 793] для обозначения оконечных то чек логических соединений, по которым осуществляются долговремен¬ ные коммуникации. С целью предоставлени услуг неизвестным або¬ нентам определ етс контактный порт сервиса. В данном списке спе¬ цифицированы контактные порты серверных процессов. Контактные порты иногда называют "общеизвестными". По возможности для UDP [RFC 768] используется то же распределение портов. IANA управл ет назначением портов в диапазоне 0-1023. Назначение портов: 480
Приложение C
Общеизвестные номера портов TCP/IP
Ключевое слово Десятичный номер 0/tcp 0/udp # tcpmux tcpmux
1/tcp 1/udp
# compressnet compressnet compressnet compressnet
2/tcp 2/udp 3/tcp 3/udp
# # # rje rje
4/tcp 4/udp 5/tcp 5/udp
# # # echo echo
6/tcp 6/udp 7/tcp 7/udp
# # # discard discard
8/tcp 8/udp 9/tcp 9/udp
# # # systat systat
10/tcp 10/udp 11/tcp 11/udp
# # # daytime daytime
12/tcp 12/udp 13/tcp 13/udp
# # # # #
14/tcp 14/udp 15/tcp 15/udp
Описание
Ссылки
Reserved Reserved Jon P o s t e l <[email protected]> TCP Port S e r v i c e M u l t i p l e x e r TCP Port S e r v i c e M u l t i p l e x e r Mark L o t t o r <[email protected]> Management U t i l i t y Management U t i l i t y Compression Process Compression Process Bernie V o l z
Курс
Защитные средства с открытыми исходными текстами
# # qotd qotd
16/tcp 16/udp 17/tcp 17/udp
# msp msp
18/tcp 18/udp
# chargen chargen ftp-data ftp-data ftp ftp # ssh ssh # telnet telnet
19/tcp 19/udp 20/tcp 20/udp 21/tcp 21/udp 22/tcp 22/udp 23/tcp 23/udp
# 24/tcp 24/udp # smtp smtp
25/tcp 25/udp
# # # nsw-fe nsw-fe
26/tcp 26/udp 27/tcp 27/udp
# # # msg-icp msg-icp
28/tcp 28/udp 29/tcp 29/udp
# # # msg-auth msg-auth
30/tcp 30/udp 31/tcp 31/udp
#
Unassigned Unassigned Quote o f the Day Quote o f the Day Jon P o s t e l <[email protected]> Message Send P r o t o c o l Message Send P r o t o c o l Rina N e t h a n i e l <---none--- > Character Generator Character Generator F i l e T r a n s f e r [ D e f a u l t Data] F i l e T r a n s f e r [ D e f a u l t Data] F i l e Transfer [Control] F i l e Transfer [Control] Jon P o s t e l <[email protected]> SSH Remote Login P r o t o c o l SSH Remote Login P r o t o c o l Tatu Ylonen
Приложение C # # dsp dsp # # #
Общеизвестные номера портов TCP/IP 32/tcp 32/udp 33/tcp 33/udp 34/tcp 34/udp 35/tcp 35/udp
Unassigned Unassigned D i s p l a y Support P r o t o c o l D i s p l a y Support P r o t o c o l Ed Cain
# # # time time
36/tcp 36/udp 37/tcp 37/udp
# rap rap
38/tcp 38/udp
# rlp rlp
39/tcp 39/udp
# # # graphics graphics name name nameserver nameserver nicname nicname mpm-flags mpm-flags mpm mpm
40/tcp 40/udp 41/tcp 41/udp 42/tcp 42/udp 42/tcp 42/udp 43/tcp 43/udp 44/tcp 44/udp 45/tcp 45/udp
Unassigned Unassigned Graphics Graphics Host Name Server Host Name Server Host Name Server Host Name Server Who I s Who I s MPM FLAGS P r o t o c o l MPM FLAGS P r o t o c o l Message P r o c e s s i n g Module [ r e c v ] Message P r o c e s s i n g Module [ r e c v ]
mpm-snd mpm-snd
46/tcp 46/udp
# ni-ftp ni-ftp
47/tcp 47/udp
# auditd
48/tcp
MPM [ d e f a u l t send] MPM [ d e f a u l t send] Jon P o s t e l <[email protected]> NI FTP NI FTP Steve K i l l e <[email protected]> D i g i t a l A u d i t Daemon 483
Курс
Защитные средства с открытыми исходными текстами
auditd
48/udp
# tacacs tacacs
49/tcp 49/udp
# re-mail-ck re-mail-ck
50/tcp 50/udp
# la-maint la-maint
51/tcp 51/udp
# xns-time xns-time
52/tcp 52/udp
# domain domain
53/tcp 53/udp
# xns-ch xns-ch
54/tcp 54/udp
# isi-gl isi-gl xns-auth xns-auth
55/tcp 55/udp 56/tcp 56/udp
# 57/tcp 57/udp # xns-mail xns-mail
58/tcp 58/udp
# 59/tcp 59/udp # 60/tcp ni-mail ni-mail
60/udp 61/tcp 61/udp
# acas acas
62/tcp 62/udp
#
D i g i t a l A u d i t Daemon L a r r y S c o t t <[email protected]> Login Host P r o t o c o l (TACACS) Login Host P r o t o c o l (TACACS) P i e t e r Ditmars
Приложение C
Общеизвестные номера портов TCP/IP
whois++ whois++
63/tcp 63/udp
# covia covia
64/tcp 64/udp
# tacacs-ds tacacs-ds
65/tcp 65/udp
# sql*net sql*net
66/tcp 66/udp
# bootps bootps bootpc bootpc
67/tcp 67/udp 68/tcp 68/udp
# tftp tftp
69/tcp 69/udp
# gopher gopher
70/tcp 70/udp
# netrjs-1 netrjs-1 netrjs-2 netrjs-2 netrjs-3 netrjs-3 netrjs-4 netrjs-4
71/tcp 71/udp 72/tcp 72/udp 73/tcp 73/udp 74/tcp 74/udp
# 75/tcp 75/udp # deos deos
76/tcp 76/udp
# 77/tcp 77/udp # vettcp
78/tcp
whois++ whois++ Rickard S c h o u l t z <[email protected]> Communications I n t e g r a t o r ( C I ) Communications I n t e g r a t o r ( C I ) Dan Smith
Курс
Защитные средства с открытыми исходными текстами
vettcp
78/udp
# finger finger
79/tcp 79/udp
# http http www www www-http www-http
80/tcp 80/udp 80/tcp 80/udp 80/tcp 80/udp
# hosts2-ns hosts2-ns
81/tcp 81/udp
# xfer xfer
82/tcp 82/udp
# mit-ml-dev mit-ml-dev
83/tcp 83/udp
# ctf ctf
84/tcp 84/udp
# mit-ml-dev mit-ml-dev
85/tcp 85/udp
# mfcobol mfcobol
86/tcp 86/udp
# 87/tcp 87/udp # kerberos kerberos
88/tcp 88/udp
vettcp Christopher Leong
B. C l i f f o r d Neuman
89/tcp 89/udp
486
Приложение C # mit-dov mit-dov # npp npp # dcp dcp # objcall objcall # supdup supdup # dixie dixie # swift-rvf swift-rvf #
Общеизвестные номера портов TCP/IP
91/tcp 91/udp 92/tcp 92/udp 93/tcp 93/udp 94/tcp 94/udp 95/tcp 95/udp 96/tcp 96/udp 97/tcp 97/udp
# gppitnp gppitnp acr-nema acr-nema # cso
Louis Mamakos
#
tacnews tacnews # metagram metagram # newacct hostname hostname # iso-tsap iso-tsap
C h a r l e s Watt <[email protected]> MIT Dover Spooler MIT Dover Spooler E l i o t Moss <[email protected]> Network Pr i n t i n g P r o t o c o l Network Pr i n t i n g P r o t o c o l
98/tcp 98/udp 99/tcp 99/udp 100/tcp 101/tcp 101/udp 102/tcp 102/udp 103/tcp 103/udp 104/tcp 104/udp 105/tcp
TAC News TAC News Jon P o s t e l <[email protected]> Metagram Relay Metagram Relay Geoff Goodfellow
Курс
Защитные средства с открытыми исходными текстами
cso
105/udp
# csnet-ns csnet-ns
105/tcp 105/udp
# 3com-tsmux 3com-tsmux
106/tcp 106/udp
# ########## rtelnet rtelnet
106 107/tcp 107/udp
# snagas snagas
108/tcp 108/udp
# pop2 pop2
109/tcp 109/udp
# pop3 pop3
110/tcp 110/udp
# sunrpc sunrpc
111/tcp 111/udp
# mcidas mcidas
112/tcp 112/udp
# ident auth auth
113/tcp 113/tcp 113/udp
# audionews audionews
114/tcp 114/udp
# sftp
115/tcp
sftp
115/udp
# ansanotify ansanotify
116/tcp 116/udp
# uucp-path uucp-path
117/tcp 117/udp
CCSO name s e r v e r p r o t o c o l Martin Hamilton <[email protected]> Mailbox Name Nameserver Mailbox Name Nameserver Marvin Solomon <[email protected]> 3COM-TSMUX 3COM-TSMUX Jeremy S i e g e l <[email protected]> Unauthorized use by i n s e c u r e poppassd protocol Remote T e l n e t S e r v i c e Remote T e l n e t S e r v i c e Jon P o s t e l <[email protected]> SNA Gateway Access Server SNA Gateway Access Server Kevin Murphy <[email protected]> Post O f f i c e P r o t o c o l - V e r s i o n 2 Post O f f i c e P r o t o c o l - V e r s i o n 2 Joyce K. Reynolds <[email protected]> Post O f f i c e P r o t o c o l - V e r s i o n 3 Post O f f i c e P r o t o c o l - V e r s i o n 3 M a r s h a l l Rose <[email protected]> SUN Remote Procedure C a l l SUN Remote Procedure C a l l Chuck McManis
Приложение C sqlserv sqlserv
Общеизвестные номера портов TCP/IP 118/tcp 118/udp
SQL S e r v i c e s SQL S e r v i c e s L a r r y Barnes
128/tcp 128/udp
# pwdgen pwdgen
129/tcp 129/udp
#
GSS X License V e r i f i c a t i o n GSS X License V e r i f i c a t i o n John L i g h t <[email protected]> Password Generator P r o t o c o l Password Generator P r o t o c o l Frank J. Wacho <[email protected]> 489
Курс cisco-fna cisco-fna cisco-tna cisco-tna cisco-sys cisco-sys statsrv statsrv # ingres-net ingres-net # epmap epmap # profile profile
Защитные средства с открытыми исходными текстами
136/tcp 136/udp
c i s c o FNATIVE c i s c o FNATIVE c i s c o TNATIVE c i s c o TNATIVE c i s c o SYSMAINT c i s c o SYSMAINT S t a t i s t i c s Service S t a t i s t i c s Service Dave M i l l s <[email protected]. EDU> INGRES-NET S e r v i c e INGRES-NET S e r v i c e Mike Berrow < — none—> DCE endpoint r e s o l u t i o n DCE endpoint r e s o l u t i o n Joe Pato <[email protected]> PROFILE Naming System PROFILE Naming System
# netbios-ns netbios-ns netbios-dgm netbios-dgm netbios-ssn netbios-ssn
137/tcp 137/udp 138/tcp 138/udp 139/tcp 139/udp
L a r r y Peterson
# emfis-data emfis-data emfis-cntl emfis-cntl
140/tcp 140/udp 141/tcp 141/udp
Jon P o s t e l <[email protected]> EMFIS Data S e r v i c e EMFIS Data S e r v i c e EMFIS C o n t r o l S e r v i c e EMFIS C o n t r o l S e r v i c e
# b l - idm b l - idm # imap imap # uma uma # uaac uaac #
130/tcp 130/udp 131/tcp 131/udp 132/tcp 132/udp 133/tcp 133/udp 134/tcp 134/udp 135/tcp 135/udp
142/tcp 142/udp 143/tcp 143/udp 144/tcp 144/udp 145/tcp 145/udp
Gerd B e l i n g
Приложение C
Общеизвестные номера портов TCP/IP
iso-tp0 iso-tp0 iso-ip iso-ip
146/tcp 146/udp 147/tcp 147/udp
# jargon jargon
148/tcp 148/udp
# aed-512 aed-512
149/tcp 149/udp
#
ISO-IP0 ISO-IP0 ISO-IP ISO-IP M a r s h a l l Rose <[email protected]> Jargon Jargon B i l l Weinman <[email protected]> AED 512 Emulation S e r v i c e AED 512 Emulation S e r v i c e A l b e r t G. B r o s c i u s
sql-net sql-net
150/tcp 150/udp
# hems hems bftp bftp
151/tcp 151/udp 152/tcp 152/udp
# sgmp sgmp
153/tcp 153/udp
# netsc-prod netsc-prod netsc-dev netsc-dev
154/tcp 154/udp 155/tcp 155/udp
Annette DeSchon
# sqlsrv sqlsrv
156/tcp 156/udp
Sergio Heker
# knet-cmp knet-cmp
157/tcp 157/udp
# pcmail-srv
158/tcp
pcmail-srv
158/udp
# nss-routing nss-routing
159/tcp 159/udp
# sgmp-traps sgmp-traps
160/tcp 160/udp
C r a i g Rogers
Курс # snmp snmp snmptrap snmptrap # cmip-man cmip-man cmip-agent cmip-agent # xns-courier xns-courier # s-net s-net # namp namp # rsvd rsvd #
Защитные средства с открытыми исходными текстами
161/tcp 161/udp 162/tcp 162/udp 163/tcp 163/udp 164/tcp 164/udp 165/tcp 165/udp 166/tcp 166/udp 167/tcp 167/udp 168/tcp 168/udp
send send #
169/tcp 169/udp
print-srv print-srv # multiplex multiplex cl/1 cl/1
170/tcp 170/udp
# xyplex-mux xyplex-mux # mailq mailq #
171/tcp 171/udp 172/tcp 172/udp 173/tcp 173/udp 174/tcp 174/udp
Marty S c h o f f s t a h l <[email protected]. NET> SNMP SNMP SNMPTRAP SNMPTRAP M a r s h a l l Rose <[email protected]> CMIP/TCP Manager CMIP/TCP Manager CMIP/TCP Agent CMIP/TCP Agent Amatzia B e n - A r t z i < — n o n e — > Xerox Xerox Susie Armstrong
Приложение C
Общеизвестные номера портов TCP/IP
vmnet vmnet
175/tcp 175/udp
# genrad-mux genrad-mux
176/tcp 176/udp
# xdmcp xdmcp
177/tcp 177/udp
# nextstep nextstep
178/tcp 178/udp
# bgp bgp
179/tcp 179/udp
# ris ris
180/tcp 180/udp
# unify unify
181/tcp 181/udp
# audit audit
182/tcp 182/udp
# ocbinder ocbinder ocserver ocserver
183/tcp 183/udp 184/tcp 184/udp
# remote-kis remote-kis kis kis
185/tcp 185/udp 186/tcp 186/udp
# aci
187/tcp
aci
187/udp
# mumps mumps
188/tcp 188/udp
# qft qft
189/tcp 189/udp
VMNET VMNET Christopher
Tengi
GENRAD-MUX GENRAD-MUX Ron Thornton
Communication I n t e r f a c e
Курс # gacp gacp # prospero prospero # osu-nms osu-nms
Защитные средства с открытыми исходными текстами
191/tcp 191/udp
Wayne Schroeder <schroeder@SDS. SDSC. EDU> Gateway Access C o n t r o l P r o t o c o l Gateway Access C o n t r o l P r o t o c o l C. P h i l i p Wood
192/tcp 192/udp
B. C l i f f o r d Neuman
190/tcp 190/udp
#
Doug K a r l
srmp srmp # irc irc # dn6-nlm-aud dn6-nlm-aud dn6-smm-red dn6-smm-red # dls dls dls-mon dls-mon # smux smux # src src # at-rtmp at-rtmp
201/tcp 201/udp
STATE.EDU> S p i d e r Remote M o n i t o r i n g P r o t o c o l S p i d e r Remote M o n i t o r i n g P r o t o c o l Ted J. S o c o l o f s k y
202/tcp 202/udp 203/tcp 203/udp 204/tcp 204/udp 205/tcp
AppleTalk AppleTalk AppleTalk AppleTalk AppleTalk AppleTalk AppleTalk
at-nbp at-nbp at-3 at-3 at-echo at-echo at-5
193/tcp 193/udp 194/tcp 194/udp 195/tcp 195/udp 196/tcp 196/udp 197/tcp 197/udp 198/tcp 198/udp 199/tcp 199/udp 200/tcp 200/udp
494
Name Binding Name Binding Unused Unused Echo Echo Unused
Приложение C at-5 at-zis at-zis at-7 at-7 at-8 at-8 # qmtp qmtp # z39.50 z39.50 # 914c/g 914c/g # anet anet # ipx ipx # vmpwscs vmpwscs # softpc softpc # CAIlic CAIlic # dbase dbase #
Общеизвестные номера портов TCP/IP 205/udp 206/tcp 206/udp 207/tcp 207/udp 208/tcp 208/udp 209/tcp 209/udp 210/tcp 210/udp 211/tcp 211/udp 212/tcp 212/udp 213/tcp 213/udp 214/tcp 214/udp 215/tcp 215/udp 216/tcp 216/udp 217/tcp 217/udp
# mpp mpp # uarps uarps
218/tcp 218/udp 219/tcp 219/udp
AppleTalk Unused AppleTalk Zone I n f o r m a t i o n AppleTalk Zone I n f o r m a t i o n AppleTalk Unused AppleTalk Unused AppleTalk Unused AppleTalk Unused Rob Chandhok
Курс
Защитные средства с открытыми исходными текстами
Ashok Marwaha < — n o n e — > I n t e r a c t i v e M a i l Access P r o t o c o l v3 I n t e r a c t i v e M a i l Access P r o t o c o l v3 James R i c e
220/tcp 220/udp
masqdialer masqdialer
224/tcp 224/udp
# # # direct direct
225-241 242/tcp 242/udp
# sur-meas sur-meas
243/tcp 243/udp
# inbusiness inbusiness
244/tcp 244/udp
# link link dsp3270 dsp3270
245/tcp 245/udp 246/tcp 246/udp
# subntbcst_tftp subntbcst_tftp
247/tcp 247/udp
# bhfhs bhfhs
248/tcp 248/udp
# #
249-255
masqdialer masqdialer C h a r l e s Wr i g h t
Приложение С # rap rap # set set # yak-chat yak-chat # esro-gen esro-gen # openport openport # nsiiops nsiiops # arcisdms arcisdms # hdap hdap # bgmp bgmp # x-bone-ctl x-bone-ctl # sst sst # td-service td-service td-replica td-replica #
Общеизвестные номера портов TCP/IP
256/tcp 256/udp 257/tcp 257/udp
258/tcp 258/udp 259/tcp 259/udp 260/tcp 260/udp
261/tcp 261/udp 262/tcp 262/udp 263/tcp 263/udp 264/tcp 264/udp 265/tcp 265/udp 266/tcp 266/udp 267/tcp 267/udp 268/tcp 268/udp
Jon P o s t e l <[email protected]> RAP RAP J.S. G r e e n f i e l d
Курс # http-mgmt http-mgmt # # personal-link personal-link # cableport-ax cableport-ax # rescap rescap # corerjd corerjd # # fxp fxp # k-block k-block # # novastorbakcup novastorbakcup # entrusttime entrusttime # bhmds bhmds # asip-webadmin asip-webadmin # vslmp vslmp
Защитные средства с открытыми исходными текстами 269-279 280/tcp 280/udp
Unassigned http-mgmt http-mgmt Adrian P e l l
281/tcp 281/udp
[email protected]> Personal Link Personal Link Dan Cummings <[email protected]> Cable Port A/X Cable Port A/X Craig Langfahl
282/tcp 282/udp
283/tcp 283/udp 284/tcp 284/udp 285 286/tcp 286/udp
287/tcp 287/udp 288-307 308/tcp 308/udp 309/tcp 309/udp 310/tcp 310/udp 311/tcp 311/udp 312/tcp 312/udp
bhmds John K e l l y <[email protected]> AppleShare IP WebAdmin AppleShare IP WebAdmin Ann Huang
Приложение С # magenta-logic magenta-logic # opalis-robot opalis-robot # dpsi dpsi # decauth decauth # zannet zannet # pkix-timestamp pkix-timestamp # ptp-event ptp-event ptp-general ptp-general # pip pip # rtsps rtsps # # texar texar # # pdap pdap # pawserv pawserv
Общеизвестные номера портов TCP/IP
313/tcp 313/udp 314/tcp 314/udp
315/tcp 315/udp 316/tcp 316/udp 317/tcp 317/udp 318/tcp 318/udp
319/tcp 319/udp 320/tcp 320/udp 321/tcp 321/udp 322/tcp 322/udp 323-332 333/tcp 333/udp 334-343 344/tcp 344/udp 345/tcp 345/udp
Gerben Wierda
Курс zserv zserv fatserv fatserv csi-sgwp csi-sgwp mftp mftp # matip-type-a matip-type-a matip-type-b matip-type-b # # The f o l l o w i n g bhoetty bhoetty # dtag-ste-sb dtag-ste-sb #
Защитные средства с открытыми исходными текстами
Zebra s e r v e r Zebra s e r v e r Fatmen S e r v e r Fatmen S e r v e r C a b l e t r o n Management P r o t o c o l C a b l e t r o n Management P r o t o c o l mftp mftp Dave F e i n l e i b
346/tcp 346/udp 347/tcp 347/udp 348/tcp 348/udp 349/tcp 349/udp
356/tcp 356/udp 357/tcp 357/udp
Kenneth Vaughn
Приложение С
Общеизвестные номера портов TCP/IP
shr inkwrap shr inkwrap # nsrmp nsrmp # scoi2odialog scoi2odialog # semantix semantix # srssend srssend # rsvp_tunnel rsvp_tunnel # aurora-cmgr aurora-cmgr # dtk dtk # odmr odmr # mortgageware mortgageware # qbikgdp qbikgdp # rpc2portmap rpc2portmap
358/tcp 358/udp
codaauth2 codaauth2 # clearcase clearcase # ulistproc
370/tcp 370/udp
359/tcp 359/udp 360/tcp 360/udp 361/tcp 361/udp 362/tcp 362/udp 363/tcp 363/udp 364/tcp 364/udp 365/tcp 365/udp 366/tcp 366/udp 367/tcp 367/udp 368/tcp 368/udp 369/tcp 369/udp
371/tcp 371/udp 372/tcp
Shr inkwrap Shr inkwrap B i l l Simpson <[email protected]> Network Secur i t y R i s k Management P r o t o c o l Network Secur i t y R i s k Management P r o t o c o l E r i c J a c k s c h <[email protected]> scoi2odialog scoi2odialog K e i t h P e t l e y
Курс
Защитные средства с открытыми исходными текстами
ulistproc
372/udp
# legent-1 legent-1 legent-2 legent-2
373/tcp 373/udp 374/tcp 374/udp
# hassle hassle
375/tcp 375/udp
# nip nip
376/tcp 376/udp
# tnETOS tnETOS dsETOS dsETOS
377/tcp 377/udp 378/tcp 378/udp
# is99c is99c is99s is99s
379/tcp 379/udp 380/tcp 380/udp
# hp-collector hp-collector hp-managed-node hp-managed-node hp-alarm-mgr hp-alarm-mgr
381/tcp 381/udp 382/tcp 382/udp 383/tcp 383/udp
# arns arns
384/tcp 384/udp
# ibm-app ibm-app
385/tcp 385/udp
# asa asa
386/tcp 386/udp
#
ListProcessor A n a s t a s i o s K o t s i k o n a s
Приложение С
Общеизвестные номера портов TCP/IP
aurp aurp # unidata-ldm unidata-ldm # ldap ldap #
387/tcp 387/udp
uis uis # synotics-relay synotics-relay synotics-broker synotics-broker # meta5 meta5 # embl-ndt embl-ndt # netcp netcp # netware- i p netware- i p mptn mptn # kryptolan kryptolan #
390/tcp 390/udp
iso-tsap-c2 iso-tsap-c2 #
399/tcp 399/udp
work-sol work-sol #
400/tcp 400/udp
388/tcp 388/udp 389/tcp 389/udp
391/tcp 391/udp 392/tcp 392/udp 393/tcp 393/udp 394/tcp 394/udp 395/tcp 395/udp 396/tcp 396/udp 397/tcp 397/udp 398/tcp 398/udp
A p p l e t a l k Update-Based Routing Pro. A p p l e t a l k Update-Based Routing Pro. C h r i s Ranch
Курс
Защитные средства с открытыми исходными текстами
ups ups
401/tcp 401/udp
# genie genie
402/tcp 402/udp
# decap decap nced nced ncld ncld
403/tcp 403/udp 404/tcp 404/udp 405/tcp 405/udp
# imsp imsp
406/tcp 406/udp
# timbuktu timbuktu
407/tcp 407/udp
# prm-sm prm-sm prm-nm prm-nm
408/tcp 408/udp 409/tcp 409/udp
# decladebug decladebug
410/tcp 410/udp
# rmt rmt
411/tcp 411/udp
# synoptics-trap synoptics-trap
412/tcp 412/udp
# smsp
413/tcp
smsp
413/udp
# infoseek infoseek
414/tcp 414/udp
# bnet bnet
415/tcp 415/udp
U n i n t e r r u p t i b l e Power Supply U n i n t e r r u p t i b l e Power Supply C h a r l e s Bennett
Приложение С # silverplatter silverplatter # onmux onmux # hyper-g hyper-g # ariel1 ariel1 # smpte smpte # ariel2 ariel2 ariel3 ariel3 # opc-job-start opc-job-start opc-job-track opc-job-track # icad-el icad-el # smartsdp smartsdp # svrloc svrloc # ocs_cmu ocs_cmu ocs_amu ocs_amu #
Общеизвестные номера портов TCP/IP
416/tcp 416/udp
417/tcp 417/udp 418/tcp 418/udp 419/tcp 419/udp 420/tcp 420/udp 421/tcp 421/udp 422/tcp 422/udp 423/tcp 423/udp 424/tcp 424/udp 425/tcp 425/udp 426/tcp 426/udp 427/tcp 427/udp 428/tcp 428/udp 429/tcp 429/udp
J i m Mertz <[email protected]> Silverplatter Silverplatter Peter C i u f f e t t i < p e t e c @ s i l v e r p l a t t e r . c o m> Onmux Onmux Stephen Hanna
Курс
Защитные средства с открытыми исходными текстами
utmpsd utmpsd utmpcd utmpcd iasd iasd
430/tcp 430/udp 431/tcp 431/udp 432/tcp 432/udp
# nnsp nnsp
433/tcp 433/udp
# mobileip-agent mobileip-agent mobilip-mn mobilip-mn
434/tcp 434/udp 435/tcp 435/udp
# dna-cml dna-cml
436/tcp 436/udp
# comscm comscm
437/tcp 437/udp
# dsfgw dsfgw
438/tcp 438/udp
# dasp dasp
439/tcp 439/udp
# sgcp sgcp
440/tcp 440/udp
# decvms-sysmgt decvms-sysmgt
441/tcp 441/udp
# cvc_hostd cvc_hostd
442/tcp 442/udp
# https https
443/tcp 443/udp
# snpp
444/tcp
UTMPSD UTMPSD UTMPCD UTMPCD IASD IASD N i r Baroz
Приложение С snpp # microsoft-ds microsoft-ds # ddm-rdb ddm-rdb ddm-dfm ddm-dfm # ddm-ssl ddm-ssl # as-servermap as-servermap #
Общеизвестные номера портов TCP/IP 444/udp 445/tcp 445/udp 446/tcp 446/udp 447/tcp 447/udp 448/tcp 448/udp 449/tcp 449/udp
tserver
450/tcp
tserver #
450/udp
sfs-smp-net sfs-smp-net sfs-config sfs-config # creativeserver creativeserver contentserver contentserver creativepartnr creativepartnr # macon-tcp
451/tcp 451/udp 452/tcp 452/udp
macon-udp # # scohelp scohelp # appleqtc
456/udp
453/tcp 453/udp 454/tcp 454/udp 455/tcp 455/udp 456/tcp
457/tcp 457/udp 458/tcp
Simple Network Paging P r o t o c o l [RFC1568] Microsoft-DS Microsoft-DS Pradeep Bahl <[email protected]> DDM-Remote R e l a t i o n a l Database Access DDM-Remote R e l a t i o n a l Database Access DDM-Distributed F i l e Management DDM-Distributed F i l e Management Steven R i t l a n d <[email protected]> DDM-Remote DB Access Using Secure Sockets DDM-Remote DB Access Using Secure Sockets Steven R i t l a n d <[email protected]> AS S e r v e r Mapper AS S e r v e r Mapper Barbara Foss
Курс appleqtc #
Защитные средства с открытыми исходными текстами 458/udp
apple q u i c k time M u r a l i Ranganathan
459/tcp 459/udp
ampr-rcmd ampr-rcmd Rob Janssen
# ampr-rcmd ampr-rcmd # skronk skronk # datasurfsrv datasurfsrv datasurfsrvsec datasurfsrvsec # alpes alpes # kpasswd kpasswd # urd igmpv3lite # digital-vrc digital-vrc # mylex-mapd mylex-mapd # photur i s photur i s # rcp rcp # scx-proxy scx-proxy # mondex mondex # ljk-login
<[email protected]>
460/tcp 460/udp 461/tcp 461/udp 462/tcp 462/udp 463/tcp 463/udp 464/tcp 464/udp 465/tcp 465/udp 466/tcp 466/udp 467/tcp 467/udp 468/tcp 468/udp 469/tcp 469/udp 470/tcp 470/udp 471/tcp 471/udp 472/tcp
scx-proxy scx-proxy S c o t t Narveson <[email protected]> Mondex Mondex B i l l Reding
Приложение С ljk-login # # hybrid-pop hybrid-pop # tn-tl-w1 tn-tl-w2 # tcpnethaspsrv tcpnethaspsrv # tn-tl-fd1 tn-tl-fd1 # ss7ns ss7ns # spsc spsc # iafserver iafserver iafdbase iafdbase # ph ph # bgs-nsi bgs-nsi # ulpnet ulpnet # integra-sme integra-sme # powerburst powerburst
Общеизвестные номера портов TCP/IP 472/udp
473/tcp 473/udp 474/tcp 474/udp 475/tcp 475/udp 476/tcp 476/udp 477/tcp 477/udp
478/tcp 478/udp 479/tcp 479/udp 480/tcp 480/udp 481/tcp 481/udp
482/tcp 482/udp 483/tcp 483/udp 484/tcp 484/udp 485/tcp 485/udp
ljk-login LJK Software, Cambridge, Massachusetts <[email protected]> hybrid-pop hybrid-pop Rami Rubin
Курс # avian avian # #
Защитные средства с открытыми исходными текстами
486/tcp 486/udp
saft saft #
487/tcp 487/udp
gss-http gss-http #
488/tcp 488/udp
nest-protocol nest-protocol # micom-pfs micom-pfs # go-login go-login # ticf-1 ticf-1 ticf-2 ticf-2 # pov-ray pov-ray # # intecourier intecourier #
489/tcp 489/udp
pim-rp-disc pim-rp-disc # dantz dantz # siam
490/tcp 490/udp 491/tcp 491/udp 492/tcp 492/udp 493/tcp 493/udp 494/tcp 494/udp
495/tcp 495/udp 496/tcp 496/udp 497/tcp 497/udp 498/tcp
Приложение С
Общеизвестные номера портов TCP/IP
siam
498/udp
# iso-ill iso-ill
499/tcp 499/udp
# isakmp isakmp
500/tcp 500/udp
# stmf stmf
501/tcp 501/udp
# asa-appl-proto asa-appl-proto
502/tcp 502/udp
# intrinsa intrinsa
503/tcp 503/udp
# citadel citadel
504/tcp 504/udp
# mailbox-lm mailbox-lm
505/tcp 505/udp
# ohimsrv ohimsrv
506/tcp 506/udp
# crs crs
507/tcp 507/udp
# xvttp xvttp
508/tcp 508/udp
# snare snare
509/tcp 509/udp
# fcp fcp
510/tcp 510/udp
# passgo passgo
511/tcp 511/udp
#
siam Philippe G i l b e r t
Курс exec # # comsat biff # # # login # # # # who # # # shell # # syslog printer printer videotex videotex # talk # # # # talk # # # # ntalk ntalk utime utime efs router
Защитные средства с открытыми исходными текстами 512/tcp
512/udp 512/udp
513/tcp
513/udp
514/tcp
514/udp 515/tcp 515/udp 516/tcp 516/udp 517/tcp
517/udp
remote process e x e c u t i o n ; a u t h e n t i c a t i o n performed using passwords and UNIX l o g i n names used by m a i l system t o n o t i f y users of new m a i l received; c u r r e n t l y r e c e i v e s messages o n l y from processes on the same machine remote l o g i n a l a t e l n e t ; automatic a u t h e n t i c a t i o n performed based on p r i v i l e d g e d port numbers and d i s t r i b u t e d data bases which i d e n t i f y " a u t h e n t i c a t i o n domains" m a i n t a i n s data bases showing who's logged i n t o machines on a l o c a l net and the load average of the machine cmd l i k e exec, but automatic a u t h e n t i c a t i o n i s performed as f o r l o g i n s e r v e r spooler spooler videotex videotex D a n i e l Mavrakis <[email protected]> l i k e tenex l i n k , but a c r o s s machine - u n f o r t u n a t e l y , doesn't use l i n k p r o t o c o l ( t h i s i s a c t u a l l y j u s t a rendezvous p o r t from which a tcp connection i s established) l i k e tenex l i n k , but a c r o s s machine - u n f o r t u n a t e l y , doesn't use l i n k p r o t o c o l ( t h i s i s a c t u a l l y j u s t a rendezvous p o r t from which a tcp connection i s established)
518/tcp 518/udp 519/tcp 519/udp 520/tcp 520/udp
unixtime unixtime extended f i l e name s e r v e r l o c a l r o u t i n g process (on s i t e ) ; 512
Приложение С
Общеизвестные номера портов TCP/IP
# # ripng ripng
521/tcp 521/udp
# ulp ulp
522/tcp 522/udp
# ibm-db2 ibm-db2
523/tcp 523/udp
# ncp ncp
524/tcp 524/udp
# timed timed tempo tempo
525/tcp 525/udp 526/tcp 526/udp
# stx stx custix custix
527/tcp 527/udp 528/tcp 528/udp
# irc-serv irc-serv
529/tcp 529/udp
# courier courier conference conference netnews netnews netwall
530/tcp 530/udp 531/tcp 531/udp 532/tcp 532/udp 533/tcp
netwall mm-admin mm-admin
533/udp 534/tcp 534/udp
# iiop iiop
535/tcp 535/udp
#
uses var i a n t o f Xerox NS r o u t i n g i n f o r m a t i o n p r o t o c o l - RIP ripng ripng Robert E. Minnear <minnear@ipsilon. ULP ULP Max Morr i s <[email protected]> IBM-DB2 IBM-DB2 J u l i a n a Hsu <jhsu@ca. ibm.com> NCP NCP Don Provan <[email protected]> timeserver timeserver newdate newdate Unknown Stock IXChange Stock IXChange Customer IXChange Customer IXChange Ferdi Ladeira
Курс
opalis-rdv opalis-rdv # nmsp nmsp #
Защитные средства с открытыми исходными текстами
536/tcp 536/udp 537/tcp 537/udp
gdomap gdomap #
538/tcp 538/udp
apertus-ldp apertus-ldp uucp uucp uucp-rlogin uucp-rlogin # commerce commerce # klogin klogin kshell kshell appleqtcsrvr appleqtcsrvr # # dhcpv6-client dhcpv6-client dhcpv6-server dhcpv6-server #
539/tcp 539/udp 540/tcp 540/udp 541/tcp 541/udp
afpovertcp afpovertcp # idfp idfp # new-rwho
548/tcp 548/udp
542/tcp 542/udp 543/tcp 543/udp 544/tcp 544/udp 545/tcp 545/udp
546/tcp 546/udp 547/tcp 547/udp
549/tcp 549/udp 550/tcp
J e f f M.Michaud <[email protected]> opalis-rdv opalis-rdv Laurent Domenech
krcmd krcmd appleqtcsrvr appleqtcsrvr M u r a l i Ranganathan <[email protected]> DHCPv6 C l i e n t DHCPv6 C l i e n t DHCPv6 S e r v e r DHCPv6 S e r v e r Jim Bound
Приложение С
Общеизвестные номера портов TCP/IP
new-rwho cybercash cybercash #
550/udp 551/tcp 551/udp
devshr-nts devshr-nts # pirp pirp # rtsp rtsp #
552/tcp 552/udp
dsf dsf remotefs remotefs openvms-sysipc openvms-sysipc # sdnskmp sdnskmp teedtap teedtap #
555/tcp 555/udp 556/tcp 556/udp 557/tcp 557/udp
553/tcp 553/udp 554/tcp 554/udp
558/tcp 558/udp 559/tcp 559/udp
rmonitor rmonitor monitor monitor chshell chshell
560/tcp 560/udp 561/tcp 561/udp 562/tcp 562/udp
nntps nntps # 9pfs 9pfs whoami whoami
563/tcp 563/udp 564/tcp 564/udp 565/tcp 565/udp
new-who cybercash cybercash Donald E. E a s t l a k e 3rd <[email protected]> DeviceShare DeviceShare Benjamin Rosenberg
r f s server r f s server openvms-sysipc openvms-sysipc Alan P o t t e r <[email protected]> SDNSKMP SDNSKMP TEEDTAP TEEDTAP Mort Hoffman
chcmd chcmd nntp p r o t o c o l over TLS/SSL (was snntp) nntp p r o t o c o l over TLS/SSL (was snntp) Kipp E.B. Hickman
Курс
Защитные средства с открытыми исходными текстами
streettalk streettalk banyan-rpc banyan-rpc
566/tcp 566/udp 567/tcp 567/udp
# ms-shuttle ms-shuttle
568/tcp 568/udp
# ms-rome ms-rome
569/tcp 569/udp
# meter meter meter meter sonar sonar
570/tcp 570/udp 571/tcp 571/udp 572/tcp 572/udp
# banyan-vip banyan-vip
573/tcp 573/udp
# ftp-agent ftp-agent
574/tcp 574/udp
# vemmi vemmi
575/tcp 575/udp
# ipcd ipcd vnas vnas ipdd ipdd
576/tcp 576/udp 577/tcp 577/udp 578/tcp 578/udp
# decbsrv
579/tcp
decbsrv
579/udp
# sntp-heartbeat sntp-heartbeat
580/tcp 580/udp
# bdp
581/tcp
streettalk streettalk banyan-rpc banyan-rpc Tom Lemaire
Приложение С bdp # scc-security scc-security # philips-vc philips-vc # keyserver keyserver # imap4-ssl imap4-ssl # # password-chg password-chg submission submission # cal cal # eyelink eyelink # tns-cml tns-cml # http-alt http-alt # eudora-set eudora-set # http-rpc-epmap http-rpc-epmap # tpip tpip
Общеизвестные номера портов TCP/IP 581/udp
Bundle D i s c o v e r y P r o t o c o l Gary Malkin
Eudora Set R a n d a l l G e l l e n s
Курс # cab-protocol cab-protocol # smsd smsd # ptcnameservice ptcnameservice # sco-websrvrmg3 sco-websrvrmg3 # acp acp # ipcserver ipcserver # syslog-conn syslog-conn # xmlrpc-beep xmlrpc-beep #
idxp idxp # tunnel tunnel # soap-beep soap-beep
Защитные средства с открытыми исходными текстами
595/tcp 595/udp 596/tcp 596/udp 597/tcp 597/udp 598/tcp 598/udp 599/tcp 599/udp 600/tcp 600/udp 601/tcp 601/udp 602/tcp 602/udp
603/tcp 603/udp 604/tcp 604/udp 605/tcp 605/udp
#
urm urm nqs nqs
606/tcp 606/udp 607/tcp 607/udp
Brad Spear <[email protected]> CAB P r o t o c o l CAB P r o t o c o l Winston Hetherington SMSD SMSD Wayne Barlow <[email protected]> PTC Name S e r v i c e PTC Name S e r v i c e Y u r i Machkasov
Приложение С
Общеизвестные номера портов TCP/IP
# sift-uft sift-uft
608/tcp 608/udp
# npmp-trap npmp-trap npmp-local npmp-local npmp-gui npmp-gui
609/tcp 609/udp 610/tcp 610/udp 611/tcp 611/udp
# hmmp-ind hmmp-ind hmmp-op hmmp-op
612/tcp 612/udp 613/tcp 613/udp
# sshell sshell
614/tcp 614/udp
# sco-inetmgr sco-inetmgr sco-sysmgr sco-sysmgr sco-dtmgr sco-dtmgr
615/tcp 615/udp 616/tcp 616/udp 617/tcp 617/udp
# dei-icda dei-icda
618/tcp 618/udp
# compaq-evm compaq-evm
619/tcp 619/udp
# sco-websrvrmgr sco-websrvrmgr
620/tcp 620/udp
# escp-ip escp-ip
621/tcp 621/udp
# collaborator collaborator
622/tcp 622/udp
#
B i l l S c h i e f e l b e i n <[email protected]> Sender-Initiated/Unsolicited F i l e Transfer Sender-Initiated/Unsolicited F i l e Transfer R i c k T r o t h
Курс
Защитные средства с открытыми исходными текстами
asf-rmcp asf-rmcp
623/tcp 623/udp
# cryptoadmin cryptoadmin
624/tcp 624/udp
# dec_dlm dec_dlm
625/tcp 625/udp
# asia asia
626/tcp 626/udp
# passgo-tivoli passgo-tivoli
627/tcp 627/udp
# qmqp qmqp
628/tcp 628/udp
# 3com-amp3 3com-amp3
629/tcp 629/udp
# rda rda
630/tcp 630/udp
# ipp ipp
631/tcp 631/udp
# bmpp bmpp
632/tcp 632/udp
# servstat servstat
633/tcp 633/udp
# ginad ginad
634/tcp 634/udp
# rlzdbase rlzdbase
635/tcp 635/udp
# ldaps
636/tcp
ASF Remote Management and C o n t r o l P r o t o c o l ASF Remote Management and C o n t r o l P r o t o c o l C a r l F i r s t
Приложение С
Общеизвестные номера портов TCP/IP
ldaps
636/udp
# lanserver lanserver
637/tcp 637/udp
# mcns-sec mcns-sec
638/tcp 638/udp
# msdp msdp
639/tcp 639/udp
# entrust-sps entrust-sps
640/tcp 640/udp
# repcmd repcmd
641/tcp 641/udp
# esro-emsdp esro-emsdp
642/tcp 642/udp
# sanity sanity
643/tcp 643/udp
# dwr dwr
644/tcp 644/udp
# pssc pssc
645/tcp 645/udp
# ldp ldp
646/tcp 646/udp
# dhcp-failover dhcp-failover
647/tcp 647/udp
# rrp rrp
648/tcp 648/udp
# cadview-3d
649/tcp
cadview-3d
649/udp
ldap p r o t o c o l over TLS/SSL (was s l d a p ) Pat Richard <[email protected]> lanserver lanserver Chr i s Larsson
Курс
Защитные средства с открытыми исходными текстами
# obex obex
650/tcp 650/udp
# ieee-mms ieee-mms
651/tcp 651/udp
# hello-port hello-port
652/tcp 652/udp
# repscmd repscmd
653/tcp 653/udp
# aodv aodv
654/tcp 654/udp
# tinc tinc
655/tcp 655/udp
# spmp spmp
656/tcp 656/udp
# rmc rmc
657/tcp 657/udp
# tenfold tenfold
658/tcp 658/udp
# # mac-srvr-admin mac-srvr-admin
659 660/tcp 660/udp
# hap hap
661/tcp 661/udp
# pftp pftp
662/tcp 662/udp
# purenoise
663/tcp
the i n t e r n e t David Cooper
Приложение С
Общеизвестные номера портов TCP/IP
purenoise 663/udp # asf-secure-rmcp 664/tcp asf-secure-rmcp 664/udp # sun-dr sun-dr # mdqs mdqs doom doom # disclose disclose # mecomm mecomm meregister meregister # vacdsm-sws vacdsm-sws vacdsm-app vacdsm-app vpps-qua vpps-qua cimplex cimplex # acap acap # dctp dctp # vpps-via vpps-via
665/tcp 665/udp 666/tcp 666/udp 666/tcp 666/udp 667/tcp 667/udp
668/tcp 668/udp 669/tcp 669/udp 670/tcp 670/udp 671/tcp 671/udp 672/tcp 672/udp 673/tcp 673/udp 674/tcp 674/udp 675/tcp 675/udp 676/tcp 676/udp
PureNoise Sam Osa <[email protected]> ASF Secure Remote Management and C o n t r o l Protocol ASF Secure Remote Management and C o n t r o l Protocol C a r l F i r s t
doom Id Software doom Id Software
Курс # vpp vpp # ggf-ncp ggf-ncp # mrm mrm # entrust-aaas entrust-aaas entrust-aams entrust-aams # xfr xfr # corba- i i o p corba- i i o p corba- i i o p - s s l corba- i i o p - s s l # mdc-portmapper mdc-portmapper # hcp-wismar hcp-wismar # asipregistry asipregistry # realm-rusd realm-rusd # nmap nmap # vatp vatp #
Защитные средства с открытыми исходными текстами
677/tcp 677/udp 678/tcp 678/udp 679/tcp 679/udp 680/tcp 680/udp 681/tcp 681/udp
682/tcp 682/udp 683/tcp 683/udp 684/tcp 684/udp 685/tcp 685/udp 686/tcp 686/udp 687/tcp 687/udp 688/tcp 688/udp 689/tcp 689/udp 690/tcp 690/udp
U l y s s e s G. Smith J r .
Приложение С msexch-routing msexch-routing # hyperwave-isp hyperwave-isp # connendp connendp # ha-cluster ha-cluster # ieee-mms-ssl ieee-mms-ssl # rushd rushd # uuidgen uuidgen # olsr olsr # accessnetwork accessnetwork # epp epp # # elcsd elcsd agentx agentx # silc silc # borland-dsj
Общеизвестные номера портов TCP/IP 691/tcp 691/udp 692/tcp 692/udp 693/tcp 693/udp 694/tcp 694/udp 695/tcp 695/udp
696/tcp 696/udp 697/tcp 697/udp 698/tcp 698/udp 699/tcp 699/udp 700/tcp 700/udp 701-703 704/tcp 704/udp 705/tcp 705/udp 706/tcp 706/udp
707/tcp
MS Exchange Routing MS Exchange Routing David Lemson