Большинство средств, рассмотренных в этой книге, являются прикладными программами. Для их выполнения требуется поддержка операционной системы. Если рассматривать эти программы как инструментарий информационной безопасности, то операционную систему можно считать верстаком. Если ОС неустойчива, то работа по защите данных будет от этого страдать; вы никогда не сможете полностью доверять поступающим от нее данным. На самом деле, ваша ОС может даже понизить первоначальную безопасность сети. На жаргоне компьютерной безопасности окружение, в котором функционирует защищенная ОС, называется
Обзор лекции Изучаемые концепции: Используемые средства: Bastille Linux, |
Многие компьютерные атаки нацелены на операционную систему. Современные операционные системы "раздулись" до таких размеров, что одному человеку стало крайне сложно полностью понимать, что происходит "под капотом". XP, самая свежая версия Windows, содержит более 50 миллионов строк исходных текстов. Хотя она считается самой защищенной версией Windows (согласно Microsoft), почти ежедневно в ее системах защиты находят новые ошибки. Чем более сложным становится продукт, тем вероятнее, что непредвиденные исходные данные приведут к непредвиденному (но желательному для
Раньше программное обеспечение строилось контролируемым образом -
Добавьте к этому стремление поставщиков сделать компьютеры как можно более "готовыми к употреблению", чтобы пользователи могли просто включить их и приступить к работе. Может быть, для массового пользователя это и хорошо, но для безопасности, несомненно, плохо. Большинство защитных средств по умолчанию выключены, многие программы и службы загружаются автоматически, независимо от того, нужны они пользователю или нет, а к системе, в попытке превзойти конкурентов, приделано множество украшений. Хотя Microsoft Windows - наиболее злостный рецидивист в этой области, потребительские версии Linux немногим лучше, и даже операционные системы серверного уровня страдают этим грехом. Стандартная установка RedHat Linux по-прежнему загружает значительно больше служб и программ, чем требуется или хочется рядовому пользователю. В Windows
Обеспечение доверия
Существуют хакерские программы, разработанные именно для этой цели. Они изменяют некоторые системные файлы так, что любые данные, выходящие из компьютера, могут контролироваться хакером. Компьютеру, который был инфицирован одной из таких программ, никогда нельзя доверять. Практичнее всего переформатировать диск и начать все сначала.
Наконец, если неавторизованные пользователи получили контроль над вашей системой безопасности, они могут применить те же самые используемые вами защитные средства против вас и других сетей. Подключенный к Интернету компьютер с установленным инструментарием безопасности может стать очень ценной добычей для склонного к озорству злоумышленника.
Обеспечение доверия к безопасности базовой операционной системы на вашем защитном компьютере - первое, что вам следует сделать, прежде чем вы загрузите какие-либо средства или установите дополнительные программы. В идеале вы должны создать систему защитных средств с нуля, устанавливая гарантированно новую операционную систему. Таким образом вы можете быть уверены, что ни одна программа или процесс не будут мешать средствам безопасности. Это также гарантирует, что базовая операционная система свободна от каких-либо ранее измененных или
Выбор ОС для системы средств безопасности определяет, как вы собираетесь ее защищать. Я рекомендую операционную систему с открытыми исходными текстами, такую как Linux или BSD, но Windows также будет прекрасно работать, если вы ее сначала правильно обезопасите. Я использовал Mandrake Linux для установки и выполнения рекомендованных в этой книге средств на платформе Linux, которые, впрочем, можно применять на большинстве дистрибутивов Linux и вариантов операционной системы BSD или UNIX.
Как упоминалось в лекции 1, доступно множество операционных систем с открытыми исходными текстами. Большинство из них основано на UNIX, хотя все они снабжены графическим интерфейсом X-Window и
Я не сторонник мнения, что какая-то операционная система в плане безопасности по своей природе лучше других. Все зависит от того, как она используется и как сконфигурирована, поэтому ниже следует длинный раздел о повышении
Первое обсуждаемое средство автоматизирует повышение безопасности Linux-системы, гарантируя, что вы работаете с рабочей станцией, безопасной настолько, насколько это изначально возможно. Приводятся также некоторые общие рекомендации, как правильно обезопасить операционную систему Windows для использования в качестве защитной рабочей станции. Наконец, вы освоите некоторые средства уровня операционной системы. Существует ряд функций системного уровня, которые вы будете регулярно использовать в защитных приложениях, и некоторые из них включены в раздел инструментария.
Данная лекция не претендует на роль исчерпывающего руководства по безопасности какой-либо из упоминаемых операционных систем. Скорее, она является обзором основ и некоторых используемых средств.
После установки операционной системы необходимо повысить ее безопасность для применения в качестве защитной системы. Этот процесс подразумевает отключение ненужных служб, ужесточение прав доступа и, как правило, минимизацию видимых извне областей компьютера. Детали выполняемых действий варьируются в зависимости от предполагаемого использования компьютера и от операционной системы.
Повышение безопасности обычно достигается напряженным ручным трудом, просмотром и модификацией всех возможных настроек. На эту тему для каждой конкретной операционной системы написано множество книг. Однако вам не придется целиком читать какую-либо другую книгу, если вы укрепляете операционную систему Linux - теперь для этого существуют автоматические средства. В результате не только экономится время, но и снижается вероятность упущений.
| Bastille Linux: Программа повышения безопасности ОС для Linux |
|---|
Bastille Linux Автор/основной контакт: Jay Beale Web-сайт: http://www.bastille-linux.org Платформы: Linux (RedHat, Mandrake, Debian), HP/UX Лицензия: Рассмотренная версия 2.1.1 Важные адреса электронной почты: Общие вопросы: jon@lasser.org Технические вопросы: jay@bastille-Linux.org Списки почтовой рассылки: Извещения Bastille Linux: http://lists.sourceforge.net/mailman/listinfo/bastille-Linux-announce Разработка Bastille Linux: http://lists.sourceforge.net/mailman/listinfo/bastille-Linux-discuss Perl 5.5_003 или выше Perl TK Perl |
Первым защитным средством является инструмент повышения безопасности операционной системы, именуемый Bastille Linux. Несмотря на название, это не самостоятельная операционная система, а, скорее, набор командных файлов, которые просматривают и устанавливают некоторые системные параметры, основываясь на ваших подсказках. Данное средство существенно упрощает процесс повышения безопасности, сводя его к ответам на некоторые вопросы. Возможна также установка межсетевого экрана (см. следующую лекцию). Bastille Linux можно запускать в Mandrake, RedHat, Debian и HP/UX (последняя ОС даже не является вариантом Linux). Джей Бил, разработчик, продолжает выпускать версии, поддерживающие другие дистрибутивы Linux.
Bastille написан с применением инструментального пакета
Сначала необходимо загрузить и установить Perl
Теперь можно запустить Bastille, чтобы повысить (укрепить) безопасность вашей операционной системы.
Флэми Тех советует:
Сначала запустите Bastille на непроизводственной системе!
В первый раз всегда запускайте все средства на непроизводственной или тестовой системе. Эти программы могут отключать службы, необходимые для функционирования web-сервера или сервера электронной почты, вызвав тем самым перебои в работе. Только после полного тестирования всех эффектов и проверки стабильности можно запускать их в производственной среде.
startx в командной строке, и на экране появится графический интерфейс X-Window.bastille в терминальном окне, открытом в Х.Если вы не хотите или в силу каких-то причин не можете использовать Bastille в X-Window, можно запустить Bastille из командной строки, используя интерфейс на основе
Наберите
bastille c
в командной строке. Оба интерфейса дадут одинаковые результаты.
Можно запустить Bastille и в неинтерактивном режиме. В этом случае Bastille выполняется автоматически, не задавая никаких вопросов и действуя согласно предварительно созданному конфигурационному файлу. Конфигурационный файл создается при каждом запуске Bastille. После этого его можно использовать для выполнения Bastille на других компьютерах в неинтерактивном режиме. Этот метод полезен для быстрого повышения безопасности множества компьютеров. Если у вас есть конфигурационный файл, который делает то, что требуется, просто загрузите Bastille на другие машины и скопируйте на них конфигурационный файл (или предоставьте им доступ к этому файлу по сети). Затем введите bastille non- (здесь config-file - это
Чаще всего, однако, Bastille будет выполняться в интерактивном режиме. В этом режиме вы отвечаете на последовательность вопросов о том, как вы будете использовать компьютер. На основе ответов Bastille выключает ненужные службы или ограничивает привилегии пользователей и служб. Он спрашивает что-нибудь вроде: "Вы собираетесь использовать этот компьютер для доступа к машинам с Windows?" При отрицательном ответе он отключает сервер Samba, который позволяет вашему компьютеру взаимодействовать с Windows-машинами. Потенциально Samba может создать некоторые уязвимости в вашей системе, поэтому, если он не нужен, его лучше отключить. Если требуется запускать некоторые серверы (например,
Каждый вопрос сопровождается пояснением, почему эта настройка важна, так что можно решить, подходит ли она для вашей установки. Имеется также кнопка "More
Можно пропустить вопрос, если вы не вполне уверены в ответе, и вернуться к нему позднее. Не беспокойтесь, в конце у вас будет возможность придать окончательный вид всем настройкам. Можно также запустить Bastille позже, когда ответ будет найден, и изменить настройку в это время. Еще одна приятная особенность данного средства - предоставление в конце сеанса списка "недоделок" для всех элементов, оставшихся ненастроенными.
Теперь вы получили защищенный компьютер Linux для запуска средств безопасности. Если вы новичок в операционных системах на основе UNIX, то желательно ознакомиться с основными командами и навигацией. Если вы когда-то использовали DOS, то многие команды окажутся знакомыми, хотя их синтаксис несколько отличается. Одно из наиболее существенных различий между Windows и Linux и другими операционными системами на основе UNIX состоит в учете регистра символов в файловой системе. Приложение B содержит краткую таблицу наиболее часто используемых команд Linux и UNIX. Найдите время попрактиковаться в работе с операционной системой и убедитесь, что можете делать простые вещи, такие как
Существует несколько команд операционной системы, которые часто используются в защитной деятельности. Они не являются в полном смысле слова отдельными программами для защиты скорее - это утилиты операционной системы, которые можно применять для генерации данных безопасности. Они настолько часто используются в последующих лекциях и в целом в работе по обеспечению безопасности, что я хотел бы детально обсудить их.
| |
|---|
ping Автор: Mike Muus (покойный) Web-сайт: http://ftp.arl.mil/~mike/ping.html Платформы: Большинство платформ UNIX и Windows Лицензии: Различные Справочная информация в UNIX: Наберите |
Если вы имели дело с системами в Интернете, то, вероятно, использовали , но в приложениях безопасности применяется специфическим образом и по-особому обрабатывается. расшифровывается как напоминает использует использует , компьютер посылает запрос отклика другому компьютеру. Если машина на другом конце доступна и поддерживает совместимый стек TCP, то она ответит откликом.
Система A посылает системе B:
Система B получает запрос отклика и отправляет назад отклик, "Да, есть."
В типичном сеансе это повторяется несколько раз, чтобы проверить, теряют ли пакеты целевая машина или сеть. применяется также для определения задержки, то есть времени, которое требуется пакету для перемещения между двумя точками.
При использовании можно получить от хоста и другие типы
С помощью о хосте можно узнать не только то, работает он или нет, но и многое другое. Как вы увидите далее, способ, которым компьютер отвечает на , часто показывает, какая операционная система на нем функционирует. Можно также использовать для генерации поискового DNS-запроса и получения имени целевого хоста (если таковое имеется). Иногда это позволяет определить, является ли компьютер сервером, маршрутизатором или, возможно, домашним компьютером с коммутируемым или , которые могут оказаться полезными.
| Опция | Описание |
|---|---|
| -c count | Посылает сообщение count раз. В системах Linux и UNIX по умолчанию сообщения посылаются непрерывно, в Windows - четыре раза |
| -f | |
| -n | Не выполнять DNS на IP-адрес. Это может ускорить ответ и исключить проблемы с DNS при диагностике сетевых проблем |
| -s size | Посылает пакеты длины size. Это полезно при тестировании того, как машина или маршрутизатор обрабатывает большие пакеты. Ненормально большие пакеты часто используют в атаках на доступность, чтобы сбить или подавить систему |
| -p |
Посылает в качестве полезной нагрузки пакета |
Автор/основной контакт: Неизвестен Web-сайты: http://www.traceroute.org; http://www.tracert.com Платформы: Большинство платформ UNIX и все платформы Windows Лицензии: Различные Справочная информация в UNIX: Наберите |
Эта команда аналогична , но предоставляет намного больше информации об удаленном хосте. По сути, эхо-тестирует хост, но при отсылке первого пакета устанавливает поле
Это средство полезно, когда вы пытаетесь проследить источник или расположение злоумышленника, следы которого вы обнаружили в своих регистрационных файлах или тревожных сообщениях. Можно проследить маршрут до IP-адреса и кое-что узнать о нем. Результаты могут показать, имеете ли вы дело с домашним пользователем или сотрудником компании, кто является поставщиком Интернет-услуг (которому вы можете подать жалобу на ненадлежащее поведение), какой тип подключения используется и каковы его скоростные характеристики, где территориально он находится (иногда, в зависимости от содержательности промежуточных точек). Листинги 2.1 и 2.2 содержат примеры использования .
Tracing route to www.example.com (Трассировка маршрута к www.example.com) over a maximum of 30 hops: (не более чем за 30 переходов) 1 <10 ms <10 ms <10 ms 192.168.200.1 2 40 ms 60 ms 160 ms 10.200.40.1 3 30ms 40ms 100ms gateway.smallisp.net 4 100 ms 120ms 100ms iah-core-03.inet.genericisp.net [10.1.1.1] 5 70 ms 100 ms 70 ms dal-core-03.inet. genericisp.net [10.1.1.2] 6 61 ms 140 ms 70 ms dal-core-02.inet. genericisp.net [10.1.1.3] 7 70 ms 71 ms 150 ms dal-brdr-02. inet. genericisp.net [10.1.1.4] 8 60 ms 60 ms 91 ms 192.168.1.1 9 70 ms 140 ms 100 ms sprintdslcust123.hou-pop.sprint.com [192.168.1.2] 10 101 ms 130 ms 200 ms core-cr7500.example.com [192.168.1.2] 11 180 ms 190 ms 70 ms acmefirewall-hou.example.com [216.32.132.149] 12 110 ms 110 ms 100 ms www.example.com [64.58.76.229] Trace complete. (Трассировка завершена)
На листинге 2.1 имена реальных поставщиков Интернет-услуг изменены на вымышленные, но общая идея сохранена. Выполнив эту простую команду, можно понять, что исследуемый IP-адрес принадлежит компании с именем
Tracing route to resnet169-136.plymouth.edu [158.136.169.136] (Трассировка маршрута к resnet169-136.plymouth.edu) Over a maximum of 30 hops: (не более чем за 30 переходов) 1 <1 ms <1 ms 192.168.200.1 2 12 ms 7 ms 8 ms 10.200.40.1 3 26 ms 28 ms 11 ms iah-edge-04.inet.qwest.net [63.237.97.81] 4 37 ms 15 ms 12 ms iah-core-01.inet.qwest.net [205.171.31.21] 5 51 ms 49 ms 47 ms dca-core-03.inet.qwest.net [205.171.5.185] 6 52 ms 55 ms 65 ms jfk-core-03.inet.qwest.net [205.171.8.217] 7 73 ms 63 ms 58 ms jfk-core-01.inet.qwest.net [205.171.230.5] 8 94 ms 67 ms 55 ms bos-core-02.inet.qwest.net [205.171.8.17] 9 56 ms 56 ms 60 ms bos-brdr-01.ip.qwest.net [205.171.28.14] 10 64 ms 63 ms 61 ms 63.239.32.230 10 67 ms 59 ms 55 ms so-7-0-0-0.core-rtr1.bos.verizon-gni.net [130.81.4.181] 11 56 ms 61 ms 62 ms so-0-0-1-0.core-rtr1.man.verizon-gni.net [130.81.4.198] 12 58 ms 59 ms 57 ms so-0-0-0-0.core-rtr2.man.verizon-gni.net [130.81.4.206] 13 59 ms 57 ms 64 ms a5-0-0-732.g-rtr1.man.verizon-gni.net [130.81.5.126] 15 74 ms 62 ms 61 ms 64.223.133.166 16 68 ms 67 ms 68 ms usnh-atm.inet.plymouth.edu [158.136.12.2] 17 80 ms 2968 ms 222 ms xhyd04-3.plymouth.edu [158.136.3.1] 18 75 ms 2337 ms 227 ms xspe04-2.plymouth.edu [158.136.2.2] 19 74 ms 65 ms 72 ms resnet169-136.plymouth.edu [158.136.169.136] Trace complete. (Трассировка завершена)
Из примера трассировки на листинге 2.2 можно заключить, что рассматриваемый IP-адрес, вероятно, используется студентом Плимутского государственного университета (Плимут, Нью-Хемпшир). Как это можно узнать? Прежде всего, завершающее
Можно видеть, что иногда толкование результатов трассировки напоминает расследование, являясь скорее искусством, чем наукой, но со временем вы узнаете больше и станете лучше понимать, что означает каждое сокращение.
Трассировка дает много информации для преследования лица, использовавшего данный IP-адрес как исходную точку , чтобы выяснить технические контактные координаты организации.
| |
|---|
whois Автор/основной контакт: Неизвестен Web-сайт: Неизвестен Платформы: Большинство платформ UNIX Лицензии: Различные Справочная информация в UNIX: Наберите |
Команда полезна при выяснении контактной информации лица, создавшего проблемы в вашей сети. Эта команда опрашивает основные серверы доменной системы имен и возвращает всю информацию, которой располагает Internic (или другой регистратор имен). Internic - бывшее квазиправительственное агентство, ответственное за отслеживание всех доменных имен в Интернете. Затем Internic стала коммерческой компанией , как правило, можно по-прежнему найти, кому принадлежит домен.
Команда полезна для прослеживания
whois domain-name.com
Аргумент domain-name.com - это имя интересующего вас домена. На листинге 2.3 показана информация, которую можно получить.
Registrant:
Example Corp (EXAMPLE.DOM)
123 Elm, Suite 123
New York, NY 10000
US
212-123-4567
Domain Name: EXAMPLE.COM
Administrative Contact:
Jones, Jane (JJ189) jane.jones@example.com
123 Elm, Ste 123
New York, NY 10000
212-123-4567
Technical Contact:
John Smith (JS189) john.smith@example.com
123 Elm, Ste 123
New York, NY 10000
212-123-4567
Record expires on 06-Oct-2006.
Record created on 05-Sep-2002.
Database last updated on 30-Apr-2004 21:34:52 EDT.
Domain servers in listed order:
NS.EXAMPLE.COM 10.1.1.1
NS2.EXAMPLE.COM 10.1.1.2
Изучив листинг 2.3, можно напрямую связаться с техническим специалистом, отвечающим за интересующий вас домен. Если это не поможет, всегда можно связаться с кем-то из административного персонала. Команда обычно выдает адрес электронной и обычной почты и иногда - номера телефонов. Видно, когда домен был создан, и вносились ли в последние время изменения в регистрационные данные. Выдача также показывает серверы доменных имен, ответственные за это имя. Опросив эти данные с помощью команды dig (описанной далее), можно получить еще больше информации о конфигурации удаленной сети.
К сожалению, команда не встроена в платформы Windows, но существует множество
Флэми Тех советует:
Не вываливайте в содержимое корпоративных рабочих столов!
Если вы администрируете собственный домен, то проследите, чтобы выдача была актуальной и носила максимально общий характер. Размещение реальных фамилий и адресов электронной почты в полях контактной информации позволяет посторонним использовать эти данные либо в целях морально-психологического воздействия, либо для атаки путем подбора паролей. Кроме того, когда люди покидают организацию, такая запись становится неактуальной. Лучше использовать абстрактные адреса электронной почты, такие как dnsmaster@
| dig: средство опроса DNS |
|---|
dig Автор/основной контакт: Andrew Scherpbeir Web-сайт: http://www-search.ucl.ac.uk/htdig-docs/author.html Платформы: Большинство платформ UNIX Лицензии: Различные Справочная информация в UNIX: Наберите |
Команда dig запрашивает у сервера имен определенную информацию о домене. Dig является обновленной версией команды nslookup, постепенно выходящей из употребления. С помощью dig можно выяснить имена используемых в сети машин и связанные с ними IP-адреса, определить, которая из них является сервером электронной почты, и получить другую полезную информацию. Общий синтаксис команды dig таков:
dig @сервер домен тип
Здесь сервер - опрашиваемый как самый авторитетный источник информации о домене. Иногда этот сервер поддерживает компания; порой это делает поставщик Интернет-услуг. В табл. 2.2 перечислены виды записей, которые можно запрашивать с помощью аргумента "тип".
На листинге 2.4 приведен пример результатов работы команды dig. Можно видеть, что был загружен весь файл с данными о зонах домена. Это предоставляет ценную информацию, такую как имена хостов сервера электронной почты,
; <<>> DIG 9.2.1 <<>> @ns.example.com.com example.com ANY ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 4 ;; QUESTION SECTION: ;example.com IN ANY ;; ANSWER SECTION: example.com. 86400 IN MX 10 mail.example.com. example.com. 2560 IN SOA ns.example.com hostmaster.example.com. 1070057380 16384 2048 1048576 2560 example.com. 259200 IN NS ns.example.com. example.com. 259200 IN NS ns2.example.com. example.com. 86400 IN A 10.1.1.1 ;; ADDITIONAL SECTION: nat1.example.com. 86400 IN A 10.1.1.2 ns.example.com. 86400 IN 10.1.1.3 ns2.example.com. 86400 IN A 10.1.1.4 sq1.example.com 86400 IN A 10.1.1.5 www.example.com 86400 IN A 10.1.1.6 ;; Query time: 107 msec ;; SERVER: 64.115.0.245#53 (ns.example.com) ;; WHEN: Wed Dec 31 18:39:24 2003 ;; MSG SIZE rcvd: 247
| Опция | Описание |
|---|---|
| AXFR | Попытка получить весь файл для домена или файл с данными о зонах. Конфигурация некоторых современных серверов не разрешает передачу файлов с данными о зонах, поэтому, возможно, придется запрашивать конкретные записи |
| A | Возвращает все записи "A". Записи "A" являются именами отдельных хостов в сети, такими как webserver. |
| Возвращает зарегистрированное имя почтового хоста домена. Это полезно, если вы хотите вступить в контакт с администратором (попробуйте administrator@mailhost. |
|
| CNAME | Возвращает все синонимы. Например, |
| ANY | Возвращает всю информацию, которую можно получить о домене. Иногда это работает, когда не проходит AXFR |
Finger Автор/основной контакт: Неизвестен Web-сайт: Различные, включая http://www.infonet.st-johns.nf.ca/adm/finger.html http://www.developer.com/net/cplus/article.php/627661 Платформы: Большинство платформ UNIX и Windows Лицензии: Различные Справочная информация в UNIX:
Наберите |
- старая команда UNIX, вышедшая из активного употребления, но все еще запускаемая на многих машинах как унаследованная служба. Она была разработана, когда Интернет был более дружественным местом, и пользователей не беспокоило, что люди на другом конце Земли узнают их расписание, номера кабинетов и другую информацию. Большинство знающих системных администраторов сейчас отключают , так как он ассоциируется с множеством дыр в безопасности. Однако вы будете удивлены, узнав, на скольких серверах он все еще запускается. Многие маршрутизаторы поставляются с ним (я не могу понять, почему; разве что поставщик реализовал включающий его стек TCP), и некоторые операционные системы семейства UNIX все еще по умолчанию включают его при установке, а люди забывают или не знают, как его отключить.
Команда позволяет запросить информацию о пользователях удаленной системы. Синтаксис команды таков:
finger имя_пользователя@имя_хоста
Замените аргумент имя_пользователя на имя пользователя, которым интересуетесь, а имя_хоста - на полностью заданное host.. Можно также использовать IP-адрес. На листинге 2.5 показаны результаты выполнения запроса для пользователя bsmith на хосте server1..
Login name: bsmith In real life: Bob Smith Directory: /home/bsmith Shell: /bin/bash Last Login: 7/03/04 0800:02 No unread mail Project: Написание книги Plan: Буду в отпуске в Европе с 1 по 15 сентября.
Видно, что с помощью можно получить немало информации о Бобе, включая время последнего входа в систему, наличие непрочитанной почты и введенную им личную информацию. Он также любезно сообщил нам, когда его не будет в офисе. Все это может использоваться
Еще одно хитрое применение состоит в выполнении команды без имени пользователя. При этом генерируется список всех пользователей, находящихся в данное время в системе. На листинге 2.6 показаны результаты того, как могла бы выглядеть выдача подобной команды в вымышленном домене
Изучив выдачу, можно выполнить для любого из пользователей, подходящих для дальнейшей разработки. Команда генерирует для всех пользователей, находящихся в данный момент в системе.
[hostname.example.com] User Real Name What Idle TTY Host Console Location bsmith Bob Smith 2 lab1-30 (cs.example.edu) ajohnson Andrew Johnson 2 lab1-10 (dialup.generucisp.com) bjones Becky Jones co lab3-22 atanner Allen H Tanner 0:50 co lab3-9 atanner Allen H Tanner co lab3-1 atanner Allen H Tanner 4:20 co lab3-8 cgarcia Charles Garsia 3 lab1-10
ps Автор/основной контакт: Неизвестен Web-сайты: Различные, включая http://www.nevis.columbia.edu/cgi-bin/man/sh?man=ps Платформы: Большинство платформ UNIX Лицензии: Различные Справочная информация в UNIX:
Наберите |
Команда (сокращение от process (процесс)), показывает все процессы, выполняющиеся в системе. С ее помощью можно выяснить, нет ли среди выполняющихся демонов или процессов тех, которых не должно быть. Ее можно также использовать для отладки многих средств из этой книги. В табл. 2.3 перечислены некоторые полезные ключи .
| Ключ | Описание |
|---|---|
| A | Показывает процессы всех пользователей |
| a | Показывает все |
| u | Показывает имя |
| x | Выводит процессы без управляющих терминалов |
На листинге 2.7 приведена выдача команды с ключами -.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.7 1288 484 ? S 18:00 0:04 init [3] root 2 0.0 0.0 0 0 ? SW 18:00 0:00 [keventd] root 3 0.0 0.0 0 0 ? SW 18:00 0:00 [kapmd] root 5 0.0 0.0 0 0 ? SW 18:00 0:00 [kswapd] root 6 0.0 0.0 0 0 ? SW 18:00 0:00 [bdflush] root 7 0.0 0.0 0 0 ? SW 18:00 0:00 [kupdated] root 8 0.0 0.0 0 0 ? SW< 18:00 0:00 [mdrecoveryd] root 12 0.0 0.0 0 0 ? SW 18:00 0:00 [kjournald] root 137 0.0 0.0 0 0 ? SW 18:00 0:00 [khubd] root 682 0.0 1.0 1412 660 ? S 18:01 0:00 /sbin/cardmg rpc 700 0.0 0.8 1416 532 ? S 18:01 0:00 portmap root 720 0.0 1.2 1640 788 ? S 18:01 0:00 syslogd -m 0 root 757 0.0 1.8 1940 1148 ? S 18:01 0:00 klogd -2 root 797 0.0 0.8 1336 500 ? S 18:01 0:00 gpm -t ps/2 -m xfs 869 0.0 5.8 5048 3608 ? S 18:01 0:00 xfs -port -l daemon 884 0.0 0.8 1312 504 ? S 18:01 0:00 /usr/sbin/atd root 928 0.0 2.0 2660 1244 ? S 18:01 0:01 /usr/sbin/SSHd root 949 0.0 1.5 2068 948 ? S 18:01 0:00 xinetd -stayalive root 951 0.0 0.7 1292 496 ? S 18:01 0:00 /sbin/dhcpcd -h m root 1078 0.0 1.0 1492 628 ? S 18:01 0:00 crond root 1132 0.0 3.4 3808 2152 ? S 18:01 0:02 nessusd: waiting root 1134 0.0 1.9 2276 1224 ? S 18:01 0:00 login -- tony tony 1494 0.0 2.6 2732 1624 tty1 S 18:29 0:00 -bash tony 1430 0.0 2.6 2744 1636 tty1 S 18:29 0:00 bash tony 1805 0.0 1.2 2676 796 tty1 R 18:56 0:00 ps -aux
На выдаче можно видеть каждый процесс, выполняющийся в системе, вместе с его идентификатором (-u в левом столбце выводится имя . Если вы обнаружите, что выполняется некая загадочная служба, то ситуацию необходимо исследовать дополнительно. На выдаче присутствует служба, которая может показаться подозрительной:
Можно построить конвейер из команд и grep, чтобы найти определенные работающие службы. Например, команда
ps -ax | grep snort
сообщит, запущен ли в вашей системе Snort, и какой у него полезна для всех видов деятельности по системному администрированию, а не только для обеспечения безопасности.
| Клиент OpenSSH: служба защищенного терминала |
|---|
Клиент OpenSSH Автор/основной контакт: Tatu Ylonen Web-сайт: http://www.openSSH.com Платформы: Большинство платформ UNIX, Windows, OS/2 Лицензия: BSD Другие web-сайты: |
Чтобы получить доступ к удаленной системе с помощью
ssh -l входное_имя имя_хоста
Замените входное_имя вашим входным именем на удаленной системе имя_хоста. Можно также использовать конструкцию
ssh входное_имя@имя_хоста
Поэтому, чтобы войти в систему web-сервера с именем web.
ssh tony@web.example.com
Годится и . Если просто ввести , то сервер будет подразумевать то же имя пользователя, что и в вашей системе.
В табл. 2.4 перечислены некоторые другие опции
| Опция | Описание |
|---|---|
| -c протокол | Используйте конкретный криптографический протокол. Замените протокол на |
| -p номер_порта | Соединиться с заданным |
| -P номер_порта | Использовать заданный порт, который не является частью стандартного списка собственных портов (обычно - порт с номером больше 1024). Это может быть полезно, если имеется |
| -v | Подробный вывод. Полезно при отладке |
| -q | Молчаливый режим, противоположный |
| -C | Производить сжатие зашифрованного трафика. Может быть полезно для очень медленных соединений, таких как коммутируемые, но лучше иметь при этом мощный процессор для выполнения сжатия, иначе в итоге коммуникации замедлятся |
| -1 | Использовать только протокол |
| -2 | Использовать протокол |
Хотя это и не является основной темой книги, но при использовании систем Windows важно защитить их насколько возможно, чтобы можно было сформировать обсуждавшуюся выше надежную вычислительную базу. Известно, что в Windows обычно запускаются
Если вы используете одну из современных версий в UNIX). Можно просмотреть этот список и увидеть все небольшие программы, которые Windows любезно запускает для вас. Большинство из них - службы, требующиеся для нормальной работы Windows. Однако некоторые из них вам не нужны и просто отнимают процессорное время, замедляя компьютер и, возможно, создавая дыры в безопасности. Можно отключить их, щелкая на службе мышью и выбирая Stop. Не забудьте также задать тип запуска
Флэми Тех советует:
Убедитесь, что вы знаете, что отключаете!
Нужно быть очень осторожным при отключении подобных служб. Если вы не знаете точно, что делает служба, и не уверены, что она вам не нужна, то не трогайте ее. Многие процессы зависят от других, и если отключать их произвольным образом, это может нарушить нормальное функционирование системы.
Существует несколько прекрасных руководств, разработанных Агентством национальной безопасности США (http://www.nsa.gov), для безопасного конфигурирования операционных систем Windows.
Центр Безопасности Интернета (http://www.cisecurity.org) также публикует средства измерения и
Во многих книгах и Интернет-ресурсах данная тема рассматривается более глубоко. Можно также использовать некоторые из описанных далее средств, например, сканеры портов и сканеры уязвимостей, для сканирования и повышения безопасности систем Windows. Как бы вы это ни сделали, убедитесь, что вы укрепили свою систему, прежде чем начинать на ней установку защитных средств.
Хотя в Windows присутствуют некоторые средства сетевой диагностики и опроса, аналогичные имеющимся в UNIX, такие как и , эта система не предоставляет в готовом к употреблению виде ряд других служб, таких как и dig. Существует, однако, дополнительное защитное средство,
Sam Spade for Windows Автор/основной контакт: Steve Atkins Web-сайт: http://www.samspade.org Платформы: Рассмотренная версия: 1.14 Лицензия: Другие ресурсы: См. справочный файл, включенный в комплект поставки |
Этот прекрасный "швейцарский армейский нож" для машин Windows восполняет недостаток имеющихся в ОС Windows сетевых средств. Системные администраторы UNIX могут больше не злорадствовать над своими Windows-коллегами, у которых нет таких отточенных инструментов, как dig, и другие. На самом деле
Начните с посещения web-сайта Samspade.com и загрузки программы или возьмите ее с приложенного к книге компакт-диска. Затем просто дважды щелкните мышью на файле и позвольте программе установки позаботиться обо всем остальном. После установки
(рис 2.1) Основной экран Sam Spade
Интерфейс
Флэми Тех советует:
Будьте ответственным детективом!
Запуск
В табл. 2.5 перечислены основные функции
В табл. 2.6 перечислены другие полезные тесты, расположенные в меню Tools.
| Функция | Описание |
|---|---|
То же самое, что и в Windows и UNIX, но позволяет легко задавать число повторений запроса и выводит несколько более подробную выдачу |
|
| Nslookup | Аналог одноименной команды UNIX |
| Аналог одноименной команды UNIX | |
| IPBlock | Эта команда проверяет в базе данных |
Аналог команды , однако генерируется дополнительная информация, такая как обратные DNS-записи и графическое отображение задержек между межсетевыми переходами. |
|
Аналог команды в UNIX. |
|
| Time | Проверяет часы на удаленной системе. Полезно для синхронизации часов на серверах. |
| Тест | Описание |
|---|---|
| Проверяет, фигурирует ли ваш |
|
| Ищет официальный контакт для жалоб на ненадлежащее поведение для набора IP-адресов, чтобы вы могли подать жалобу, если у вас есть проблемы с одним из этих адресов | |
| Выполняет базовое сканирование портов диапазона адресов. Этот очень простой сканер портов выявляет открытые сетевые порты. Если требуется просканировать адреса, то лучше использовать один из полнофункциональных сканеров портов, рассмотренных в лекции 4. Помните также, что сканирование портов может рассматриваться владельцами внешних сетей как враждебная деятельность | |
| Crawl website | "Утюжит" Web-сайт, выявляя все ссылки, страницы и любые другие формы или файлы, до которых можно добраться. Это полезно при поиске всех страниц, на которые ссылается web-сайт, и для выявления файлов, о которых вы не знали |
(рис 2.2) Выдача Sam Spade IPBlock
Имеется несколько других средств, которые не являются темой данной книги, например, ликвидаторы отмеченных сообщений USENET и декодировщики URL, которые могут оказаться полезными, если вы разрабатываете Web-сайт.
| PuTTY: Клиент |
|---|
PuTTY Автор/основной контакт: Web-сайт: http://www.chiakr.greenend.org.uk/~sgtatham/putty Платформы: Рассмотренная версия 54b Лицензия: Другие ресурсы: Файл справок или web-сайт. |
В ближайшее время Microsoft собирается заняться этой программой и начнет поставлять встроенный клиент
Загрузите файл с Web-сайта или возьмите его с приложенного к книге компакт-диска и установите, сделав на нем двойной щелчок мышью. PuTTY имеет приятный, ясный интерфейс и способен эмулировать практически любой терминал. Можно задать
(рис 2.3) Основной экран PuTTY
Протоколы сеансов можно записывать в текстовые файлы, что может быть весьма полезно (я использовал PuTTY для сохранения листингов всех терминальных сеансов в этой книге). Можно также до бесконечности менять конфигурацию, в том числе, набор допустимых протоколов шифрования. Вас даже будут предупреждать при попытке соединиться с сервером
При соединении с сервером в первый раз PuTTY предупредит, что он добавляет в базу данных идентификационную метку и ключ этого сервера. Это нормально - просто проверьте, выглядит ли сертификат подходящим, примите его, и он больше не будет появляться при последующих соединениях с этим сервером.
Большинство средств, рассмотренных в этой книге, являются прикладными программами. Для их выполнения требуется поддержка операционной системы. Если рассматривать эти программы как инструментарий информационной безопасности, то операционную систему можно считать верстаком. Если ОС неустойчива, то работа по защите данных будет от этого страдать; вы никогда не сможете полностью доверять поступающим от нее данным. На самом деле, ваша ОС может даже понизить первоначальную безопасность сети. На жаргоне компьютерной безопасности окружение, в котором функционирует защищенная ОС, называется
Обзор лекции Изучаемые концепции: Используемые средства: Bastille Linux, |
Многие компьютерные атаки нацелены на операционную систему. Современные операционные системы "раздулись" до таких размеров, что одному человеку стало крайне сложно полностью понимать, что происходит "под капотом". XP, самая свежая версия Windows, содержит более 50 миллионов строк исходных текстов. Хотя она считается самой защищенной версией Windows (согласно Microsoft), почти ежедневно в ее системах защиты находят новые ошибки. Чем более сложным становится продукт, тем вероятнее, что непредвиденные исходные данные приведут к непредвиденному (но желательному для
Раньше программное обеспечение строилось контролируемым образом -
Добавьте к этому стремление поставщиков сделать компьютеры как можно более "готовыми к употреблению", чтобы пользователи могли просто включить их и приступить к работе. Может быть, для массового пользователя это и хорошо, но для безопасности, несомненно, плохо. Большинство защитных средств по умолчанию выключены, многие программы и службы загружаются автоматически, независимо от того, нужны они пользователю или нет, а к системе, в попытке превзойти конкурентов, приделано множество украшений. Хотя Microsoft Windows - наиболее злостный рецидивист в этой области, потребительские версии Linux немногим лучше, и даже операционные системы серверного уровня страдают этим грехом. Стандартная установка RedHat Linux по-прежнему загружает значительно больше служб и программ, чем требуется или хочется рядовому пользователю. В Windows
Обеспечение доверия
Существуют хакерские программы, разработанные именно для этой цели. Они изменяют некоторые системные файлы так, что любые данные, выходящие из компьютера, могут контролироваться хакером. Компьютеру, который был инфицирован одной из таких программ, никогда нельзя доверять. Практичнее всего переформатировать диск и начать все сначала.
Наконец, если неавторизованные пользователи получили контроль над вашей системой безопасности, они могут применить те же самые используемые вами защитные средства против вас и других сетей. Подключенный к Интернету компьютер с установленным инструментарием безопасности может стать очень ценной добычей для склонного к озорству злоумышленника.
Обеспечение доверия к безопасности базовой операционной системы на вашем защитном компьютере - первое, что вам следует сделать, прежде чем вы загрузите какие-либо средства или установите дополнительные программы. В идеале вы должны создать систему защитных средств с нуля, устанавливая гарантированно новую операционную систему. Таким образом вы можете быть уверены, что ни одна программа или процесс не будут мешать средствам безопасности. Это также гарантирует, что базовая операционная система свободна от каких-либо ранее измененных или
Выбор ОС для системы средств безопасности определяет, как вы собираетесь ее защищать. Я рекомендую операционную систему с открытыми исходными текстами, такую как Linux или BSD, но Windows также будет прекрасно работать, если вы ее сначала правильно обезопасите. Я использовал Mandrake Linux для установки и выполнения рекомендованных в этой книге средств на платформе Linux, которые, впрочем, можно применять на большинстве дистрибутивов Linux и вариантов операционной системы BSD или UNIX.
Как упоминалось в лекции 1, доступно множество операционных систем с открытыми исходными текстами. Большинство из них основано на UNIX, хотя все они снабжены графическим интерфейсом X-Window и
Я не сторонник мнения, что какая-то операционная система в плане безопасности по своей природе лучше других. Все зависит от того, как она используется и как сконфигурирована, поэтому ниже следует длинный раздел о повышении
Первое обсуждаемое средство автоматизирует повышение безопасности Linux-системы, гарантируя, что вы работаете с рабочей станцией, безопасной настолько, насколько это изначально возможно. Приводятся также некоторые общие рекомендации, как правильно обезопасить операционную систему Windows для использования в качестве защитной рабочей станции. Наконец, вы освоите некоторые средства уровня операционной системы. Существует ряд функций системного уровня, которые вы будете регулярно использовать в защитных приложениях, и некоторые из них включены в раздел инструментария.
Данная лекция не претендует на роль исчерпывающего руководства по безопасности какой-либо из упоминаемых операционных систем. Скорее, она является обзором основ и некоторых используемых средств.
После установки операционной системы необходимо повысить ее безопасность для применения в качестве защитной системы. Этот процесс подразумевает отключение ненужных служб, ужесточение прав доступа и, как правило, минимизацию видимых извне областей компьютера. Детали выполняемых действий варьируются в зависимости от предполагаемого использования компьютера и от операционной системы.
Повышение безопасности обычно достигается напряженным ручным трудом, просмотром и модификацией всех возможных настроек. На эту тему для каждой конкретной операционной системы написано множество книг. Однако вам не придется целиком читать какую-либо другую книгу, если вы укрепляете операционную систему Linux - теперь для этого существуют автоматические средства. В результате не только экономится время, но и снижается вероятность упущений.
| Bastille Linux: Программа повышения безопасности ОС для Linux |
|---|
Bastille Linux Автор/основной контакт: Jay Beale Web-сайт: http://www.bastille-linux.org Платформы: Linux (RedHat, Mandrake, Debian), HP/UX Лицензия: Рассмотренная версия 2.1.1 Важные адреса электронной почты: Общие вопросы: jon@lasser.org Технические вопросы: jay@bastille-Linux.org Списки почтовой рассылки: Извещения Bastille Linux: http://lists.sourceforge.net/mailman/listinfo/bastille-Linux-announce Разработка Bastille Linux: http://lists.sourceforge.net/mailman/listinfo/bastille-Linux-discuss Perl 5.5_003 или выше Perl TK Perl |
Первым защитным средством является инструмент повышения безопасности операционной системы, именуемый Bastille Linux. Несмотря на название, это не самостоятельная операционная система, а, скорее, набор командных файлов, которые просматривают и устанавливают некоторые системные параметры, основываясь на ваших подсказках. Данное средство существенно упрощает процесс повышения безопасности, сводя его к ответам на некоторые вопросы. Возможна также установка межсетевого экрана (см. следующую лекцию). Bastille Linux можно запускать в Mandrake, RedHat, Debian и HP/UX (последняя ОС даже не является вариантом Linux). Джей Бил, разработчик, продолжает выпускать версии, поддерживающие другие дистрибутивы Linux.
Bastille написан с применением инструментального пакета
Сначала необходимо загрузить и установить Perl
Теперь можно запустить Bastille, чтобы повысить (укрепить) безопасность вашей операционной системы.
Флэми Тех советует:
Сначала запустите Bastille на непроизводственной системе!
В первый раз всегда запускайте все средства на непроизводственной или тестовой системе. Эти программы могут отключать службы, необходимые для функционирования web-сервера или сервера электронной почты, вызвав тем самым перебои в работе. Только после полного тестирования всех эффектов и проверки стабильности можно запускать их в производственной среде.
startx в командной строке, и на экране появится графический интерфейс X-Window.bastille в терминальном окне, открытом в Х.Если вы не хотите или в силу каких-то причин не можете использовать Bastille в X-Window, можно запустить Bastille из командной строки, используя интерфейс на основе
Наберите
bastille c
в командной строке. Оба интерфейса дадут одинаковые результаты.
Можно запустить Bastille и в неинтерактивном режиме. В этом случае Bastille выполняется автоматически, не задавая никаких вопросов и действуя согласно предварительно созданному конфигурационному файлу. Конфигурационный файл создается при каждом запуске Bastille. После этого его можно использовать для выполнения Bastille на других компьютерах в неинтерактивном режиме. Этот метод полезен для быстрого повышения безопасности множества компьютеров. Если у вас есть конфигурационный файл, который делает то, что требуется, просто загрузите Bastille на другие машины и скопируйте на них конфигурационный файл (или предоставьте им доступ к этому файлу по сети). Затем введите bastille non- (здесь config-file - это
Чаще всего, однако, Bastille будет выполняться в интерактивном режиме. В этом режиме вы отвечаете на последовательность вопросов о том, как вы будете использовать компьютер. На основе ответов Bastille выключает ненужные службы или ограничивает привилегии пользователей и служб. Он спрашивает что-нибудь вроде: "Вы собираетесь использовать этот компьютер для доступа к машинам с Windows?" При отрицательном ответе он отключает сервер Samba, который позволяет вашему компьютеру взаимодействовать с Windows-машинами. Потенциально Samba может создать некоторые уязвимости в вашей системе, поэтому, если он не нужен, его лучше отключить. Если требуется запускать некоторые серверы (например,
Каждый вопрос сопровождается пояснением, почему эта настройка важна, так что можно решить, подходит ли она для вашей установки. Имеется также кнопка "More
Можно пропустить вопрос, если вы не вполне уверены в ответе, и вернуться к нему позднее. Не беспокойтесь, в конце у вас будет возможность придать окончательный вид всем настройкам. Можно также запустить Bastille позже, когда ответ будет найден, и изменить настройку в это время. Еще одна приятная особенность данного средства - предоставление в конце сеанса списка "недоделок" для всех элементов, оставшихся ненастроенными.
Теперь вы получили защищенный компьютер Linux для запуска средств безопасности. Если вы новичок в операционных системах на основе UNIX, то желательно ознакомиться с основными командами и навигацией. Если вы когда-то использовали DOS, то многие команды окажутся знакомыми, хотя их синтаксис несколько отличается. Одно из наиболее существенных различий между Windows и Linux и другими операционными системами на основе UNIX состоит в учете регистра символов в файловой системе. Приложение B содержит краткую таблицу наиболее часто используемых команд Linux и UNIX. Найдите время попрактиковаться в работе с операционной системой и убедитесь, что можете делать простые вещи, такие как
Существует несколько команд операционной системы, которые часто используются в защитной деятельности. Они не являются в полном смысле слова отдельными программами для защиты скорее - это утилиты операционной системы, которые можно применять для генерации данных безопасности. Они настолько часто используются в последующих лекциях и в целом в работе по обеспечению безопасности, что я хотел бы детально обсудить их.
| |
|---|
ping Автор: Mike Muus (покойный) Web-сайт: http://ftp.arl.mil/~mike/ping.html Платформы: Большинство платформ UNIX и Windows Лицензии: Различные Справочная информация в UNIX: Наберите |
Если вы имели дело с системами в Интернете, то, вероятно, использовали , но в приложениях безопасности применяется специфическим образом и по-особому обрабатывается. расшифровывается как напоминает использует использует , компьютер посылает запрос отклика другому компьютеру. Если машина на другом конце доступна и поддерживает совместимый стек TCP, то она ответит откликом.
Система A посылает системе B:
Система B получает запрос отклика и отправляет назад отклик, "Да, есть."
В типичном сеансе это повторяется несколько раз, чтобы проверить, теряют ли пакеты целевая машина или сеть. применяется также для определения задержки, то есть времени, которое требуется пакету для перемещения между двумя точками.
При использовании можно получить от хоста и другие типы
С помощью о хосте можно узнать не только то, работает он или нет, но и многое другое. Как вы увидите далее, способ, которым компьютер отвечает на , часто показывает, какая операционная система на нем функционирует. Можно также использовать для генерации поискового DNS-запроса и получения имени целевого хоста (если таковое имеется). Иногда это позволяет определить, является ли компьютер сервером, маршрутизатором или, возможно, домашним компьютером с коммутируемым или , которые могут оказаться полезными.
| Опция | Описание |
|---|---|
| -c count | Посылает сообщение count раз. В системах Linux и UNIX по умолчанию сообщения посылаются непрерывно, в Windows - четыре раза |
| -f | |
| -n | Не выполнять DNS на IP-адрес. Это может ускорить ответ и исключить проблемы с DNS при диагностике сетевых проблем |
| -s size | Посылает пакеты длины size. Это полезно при тестировании того, как машина или маршрутизатор обрабатывает большие пакеты. Ненормально большие пакеты часто используют в атаках на доступность, чтобы сбить или подавить систему |
| -p |
Посылает в качестве полезной нагрузки пакета |
Автор/основной контакт: Неизвестен Web-сайты: http://www.traceroute.org; http://www.tracert.com Платформы: Большинство платформ UNIX и все платформы Windows Лицензии: Различные Справочная информация в UNIX: Наберите |
Эта команда аналогична , но предоставляет намного больше информации об удаленном хосте. По сути, эхо-тестирует хост, но при отсылке первого пакета устанавливает поле
Это средство полезно, когда вы пытаетесь проследить источник или расположение злоумышленника, следы которого вы обнаружили в своих регистрационных файлах или тревожных сообщениях. Можно проследить маршрут до IP-адреса и кое-что узнать о нем. Результаты могут показать, имеете ли вы дело с домашним пользователем или сотрудником компании, кто является поставщиком Интернет-услуг (которому вы можете подать жалобу на ненадлежащее поведение), какой тип подключения используется и каковы его скоростные характеристики, где территориально он находится (иногда, в зависимости от содержательности промежуточных точек). Листинги 2.1 и 2.2 содержат примеры использования .
Tracing route to www.example.com (Трассировка маршрута к www.example.com) over a maximum of 30 hops: (не более чем за 30 переходов) 1 <10 ms <10 ms <10 ms 192.168.200.1 2 40 ms 60 ms 160 ms 10.200.40.1 3 30ms 40ms 100ms gateway.smallisp.net 4 100 ms 120ms 100ms iah-core-03.inet.genericisp.net [10.1.1.1] 5 70 ms 100 ms 70 ms dal-core-03.inet. genericisp.net [10.1.1.2] 6 61 ms 140 ms 70 ms dal-core-02.inet. genericisp.net [10.1.1.3] 7 70 ms 71 ms 150 ms dal-brdr-02. inet. genericisp.net [10.1.1.4] 8 60 ms 60 ms 91 ms 192.168.1.1 9 70 ms 140 ms 100 ms sprintdslcust123.hou-pop.sprint.com [192.168.1.2] 10 101 ms 130 ms 200 ms core-cr7500.example.com [192.168.1.2] 11 180 ms 190 ms 70 ms acmefirewall-hou.example.com [216.32.132.149] 12 110 ms 110 ms 100 ms www.example.com [64.58.76.229] Trace complete. (Трассировка завершена)
На листинге 2.1 имена реальных поставщиков Интернет-услуг изменены на вымышленные, но общая идея сохранена. Выполнив эту простую команду, можно понять, что исследуемый IP-адрес принадлежит компании с именем
Tracing route to resnet169-136.plymouth.edu [158.136.169.136] (Трассировка маршрута к resnet169-136.plymouth.edu) Over a maximum of 30 hops: (не более чем за 30 переходов) 1 <1 ms <1 ms 192.168.200.1 2 12 ms 7 ms 8 ms 10.200.40.1 3 26 ms 28 ms 11 ms iah-edge-04.inet.qwest.net [63.237.97.81] 4 37 ms 15 ms 12 ms iah-core-01.inet.qwest.net [205.171.31.21] 5 51 ms 49 ms 47 ms dca-core-03.inet.qwest.net [205.171.5.185] 6 52 ms 55 ms 65 ms jfk-core-03.inet.qwest.net [205.171.8.217] 7 73 ms 63 ms 58 ms jfk-core-01.inet.qwest.net [205.171.230.5] 8 94 ms 67 ms 55 ms bos-core-02.inet.qwest.net [205.171.8.17] 9 56 ms 56 ms 60 ms bos-brdr-01.ip.qwest.net [205.171.28.14] 10 64 ms 63 ms 61 ms 63.239.32.230 10 67 ms 59 ms 55 ms so-7-0-0-0.core-rtr1.bos.verizon-gni.net [130.81.4.181] 11 56 ms 61 ms 62 ms so-0-0-1-0.core-rtr1.man.verizon-gni.net [130.81.4.198] 12 58 ms 59 ms 57 ms so-0-0-0-0.core-rtr2.man.verizon-gni.net [130.81.4.206] 13 59 ms 57 ms 64 ms a5-0-0-732.g-rtr1.man.verizon-gni.net [130.81.5.126] 15 74 ms 62 ms 61 ms 64.223.133.166 16 68 ms 67 ms 68 ms usnh-atm.inet.plymouth.edu [158.136.12.2] 17 80 ms 2968 ms 222 ms xhyd04-3.plymouth.edu [158.136.3.1] 18 75 ms 2337 ms 227 ms xspe04-2.plymouth.edu [158.136.2.2] 19 74 ms 65 ms 72 ms resnet169-136.plymouth.edu [158.136.169.136] Trace complete. (Трассировка завершена)
Из примера трассировки на листинге 2.2 можно заключить, что рассматриваемый IP-адрес, вероятно, используется студентом Плимутского государственного университета (Плимут, Нью-Хемпшир). Как это можно узнать? Прежде всего, завершающее
Можно видеть, что иногда толкование результатов трассировки напоминает расследование, являясь скорее искусством, чем наукой, но со временем вы узнаете больше и станете лучше понимать, что означает каждое сокращение.
Трассировка дает много информации для преследования лица, использовавшего данный IP-адрес как исходную точку , чтобы выяснить технические контактные координаты организации.
| |
|---|
whois Автор/основной контакт: Неизвестен Web-сайт: Неизвестен Платформы: Большинство платформ UNIX Лицензии: Различные Справочная информация в UNIX: Наберите |
Команда полезна при выяснении контактной информации лица, создавшего проблемы в вашей сети. Эта команда опрашивает основные серверы доменной системы имен и возвращает всю информацию, которой располагает Internic (или другой регистратор имен). Internic - бывшее квазиправительственное агентство, ответственное за отслеживание всех доменных имен в Интернете. Затем Internic стала коммерческой компанией , как правило, можно по-прежнему найти, кому принадлежит домен.
Команда полезна для прослеживания
whois domain-name.com
Аргумент domain-name.com - это имя интересующего вас домена. На листинге 2.3 показана информация, которую можно получить.
Registrant:
Example Corp (EXAMPLE.DOM)
123 Elm, Suite 123
New York, NY 10000
US
212-123-4567
Domain Name: EXAMPLE.COM
Administrative Contact:
Jones, Jane (JJ189) jane.jones@example.com
123 Elm, Ste 123
New York, NY 10000
212-123-4567
Technical Contact:
John Smith (JS189) john.smith@example.com
123 Elm, Ste 123
New York, NY 10000
212-123-4567
Record expires on 06-Oct-2006.
Record created on 05-Sep-2002.
Database last updated on 30-Apr-2004 21:34:52 EDT.
Domain servers in listed order:
NS.EXAMPLE.COM 10.1.1.1
NS2.EXAMPLE.COM 10.1.1.2
Изучив листинг 2.3, можно напрямую связаться с техническим специалистом, отвечающим за интересующий вас домен. Если это не поможет, всегда можно связаться с кем-то из административного персонала. Команда обычно выдает адрес электронной и обычной почты и иногда - номера телефонов. Видно, когда домен был создан, и вносились ли в последние время изменения в регистрационные данные. Выдача также показывает серверы доменных имен, ответственные за это имя. Опросив эти данные с помощью команды dig (описанной далее), можно получить еще больше информации о конфигурации удаленной сети.
К сожалению, команда не встроена в платформы Windows, но существует множество
Флэми Тех советует:
Не вываливайте в содержимое корпоративных рабочих столов!
Если вы администрируете собственный домен, то проследите, чтобы выдача была актуальной и носила максимально общий характер. Размещение реальных фамилий и адресов электронной почты в полях контактной информации позволяет посторонним использовать эти данные либо в целях морально-психологического воздействия, либо для атаки путем подбора паролей. Кроме того, когда люди покидают организацию, такая запись становится неактуальной. Лучше использовать абстрактные адреса электронной почты, такие как dnsmaster@
| dig: средство опроса DNS |
|---|
dig Автор/основной контакт: Andrew Scherpbeir Web-сайт: http://www-search.ucl.ac.uk/htdig-docs/author.html Платформы: Большинство платформ UNIX Лицензии: Различные Справочная информация в UNIX: Наберите |
Команда dig запрашивает у сервера имен определенную информацию о домене. Dig является обновленной версией команды nslookup, постепенно выходящей из употребления. С помощью dig можно выяснить имена используемых в сети машин и связанные с ними IP-адреса, определить, которая из них является сервером электронной почты, и получить другую полезную информацию. Общий синтаксис команды dig таков:
dig @сервер домен тип
Здесь сервер - опрашиваемый как самый авторитетный источник информации о домене. Иногда этот сервер поддерживает компания; порой это делает поставщик Интернет-услуг. В табл. 2.2 перечислены виды записей, которые можно запрашивать с помощью аргумента "тип".
На листинге 2.4 приведен пример результатов работы команды dig. Можно видеть, что был загружен весь файл с данными о зонах домена. Это предоставляет ценную информацию, такую как имена хостов сервера электронной почты,
; <<>> DIG 9.2.1 <<>> @ns.example.com.com example.com ANY ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 4 ;; QUESTION SECTION: ;example.com IN ANY ;; ANSWER SECTION: example.com. 86400 IN MX 10 mail.example.com. example.com. 2560 IN SOA ns.example.com hostmaster.example.com. 1070057380 16384 2048 1048576 2560 example.com. 259200 IN NS ns.example.com. example.com. 259200 IN NS ns2.example.com. example.com. 86400 IN A 10.1.1.1 ;; ADDITIONAL SECTION: nat1.example.com. 86400 IN A 10.1.1.2 ns.example.com. 86400 IN 10.1.1.3 ns2.example.com. 86400 IN A 10.1.1.4 sq1.example.com 86400 IN A 10.1.1.5 www.example.com 86400 IN A 10.1.1.6 ;; Query time: 107 msec ;; SERVER: 64.115.0.245#53 (ns.example.com) ;; WHEN: Wed Dec 31 18:39:24 2003 ;; MSG SIZE rcvd: 247
| Опция | Описание |
|---|---|
| AXFR | Попытка получить весь файл для домена или файл с данными о зонах. Конфигурация некоторых современных серверов не разрешает передачу файлов с данными о зонах, поэтому, возможно, придется запрашивать конкретные записи |
| A | Возвращает все записи "A". Записи "A" являются именами отдельных хостов в сети, такими как webserver. |
| Возвращает зарегистрированное имя почтового хоста домена. Это полезно, если вы хотите вступить в контакт с администратором (попробуйте administrator@mailhost. |
|
| CNAME | Возвращает все синонимы. Например, |
| ANY | Возвращает всю информацию, которую можно получить о домене. Иногда это работает, когда не проходит AXFR |
Finger Автор/основной контакт: Неизвестен Web-сайт: Различные, включая http://www.infonet.st-johns.nf.ca/adm/finger.html http://www.developer.com/net/cplus/article.php/627661 Платформы: Большинство платформ UNIX и Windows Лицензии: Различные Справочная информация в UNIX:
Наберите |
- старая команда UNIX, вышедшая из активного употребления, но все еще запускаемая на многих машинах как унаследованная служба. Она была разработана, когда Интернет был более дружественным местом, и пользователей не беспокоило, что люди на другом конце Земли узнают их расписание, номера кабинетов и другую информацию. Большинство знающих системных администраторов сейчас отключают , так как он ассоциируется с множеством дыр в безопасности. Однако вы будете удивлены, узнав, на скольких серверах он все еще запускается. Многие маршрутизаторы поставляются с ним (я не могу понять, почему; разве что поставщик реализовал включающий его стек TCP), и некоторые операционные системы семейства UNIX все еще по умолчанию включают его при установке, а люди забывают или не знают, как его отключить.
Команда позволяет запросить информацию о пользователях удаленной системы. Синтаксис команды таков:
finger имя_пользователя@имя_хоста
Замените аргумент имя_пользователя на имя пользователя, которым интересуетесь, а имя_хоста - на полностью заданное host.. Можно также использовать IP-адрес. На листинге 2.5 показаны результаты выполнения запроса для пользователя bsmith на хосте server1..
Login name: bsmith In real life: Bob Smith Directory: /home/bsmith Shell: /bin/bash Last Login: 7/03/04 0800:02 No unread mail Project: Написание книги Plan: Буду в отпуске в Европе с 1 по 15 сентября.
Видно, что с помощью можно получить немало информации о Бобе, включая время последнего входа в систему, наличие непрочитанной почты и введенную им личную информацию. Он также любезно сообщил нам, когда его не будет в офисе. Все это может использоваться
Еще одно хитрое применение состоит в выполнении команды без имени пользователя. При этом генерируется список всех пользователей, находящихся в данное время в системе. На листинге 2.6 показаны результаты того, как могла бы выглядеть выдача подобной команды в вымышленном домене
Изучив выдачу, можно выполнить для любого из пользователей, подходящих для дальнейшей разработки. Команда генерирует для всех пользователей, находящихся в данный момент в системе.
[hostname.example.com] User Real Name What Idle TTY Host Console Location bsmith Bob Smith 2 lab1-30 (cs.example.edu) ajohnson Andrew Johnson 2 lab1-10 (dialup.generucisp.com) bjones Becky Jones co lab3-22 atanner Allen H Tanner 0:50 co lab3-9 atanner Allen H Tanner co lab3-1 atanner Allen H Tanner 4:20 co lab3-8 cgarcia Charles Garsia 3 lab1-10
ps Автор/основной контакт: Неизвестен Web-сайты: Различные, включая http://www.nevis.columbia.edu/cgi-bin/man/sh?man=ps Платформы: Большинство платформ UNIX Лицензии: Различные Справочная информация в UNIX:
Наберите |
Команда (сокращение от process (процесс)), показывает все процессы, выполняющиеся в системе. С ее помощью можно выяснить, нет ли среди выполняющихся демонов или процессов тех, которых не должно быть. Ее можно также использовать для отладки многих средств из этой книги. В табл. 2.3 перечислены некоторые полезные ключи .
| Ключ | Описание |
|---|---|
| A | Показывает процессы всех пользователей |
| a | Показывает все |
| u | Показывает имя |
| x | Выводит процессы без управляющих терминалов |
На листинге 2.7 приведена выдача команды с ключами -.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.7 1288 484 ? S 18:00 0:04 init [3] root 2 0.0 0.0 0 0 ? SW 18:00 0:00 [keventd] root 3 0.0 0.0 0 0 ? SW 18:00 0:00 [kapmd] root 5 0.0 0.0 0 0 ? SW 18:00 0:00 [kswapd] root 6 0.0 0.0 0 0 ? SW 18:00 0:00 [bdflush] root 7 0.0 0.0 0 0 ? SW 18:00 0:00 [kupdated] root 8 0.0 0.0 0 0 ? SW< 18:00 0:00 [mdrecoveryd] root 12 0.0 0.0 0 0 ? SW 18:00 0:00 [kjournald] root 137 0.0 0.0 0 0 ? SW 18:00 0:00 [khubd] root 682 0.0 1.0 1412 660 ? S 18:01 0:00 /sbin/cardmg rpc 700 0.0 0.8 1416 532 ? S 18:01 0:00 portmap root 720 0.0 1.2 1640 788 ? S 18:01 0:00 syslogd -m 0 root 757 0.0 1.8 1940 1148 ? S 18:01 0:00 klogd -2 root 797 0.0 0.8 1336 500 ? S 18:01 0:00 gpm -t ps/2 -m xfs 869 0.0 5.8 5048 3608 ? S 18:01 0:00 xfs -port -l daemon 884 0.0 0.8 1312 504 ? S 18:01 0:00 /usr/sbin/atd root 928 0.0 2.0 2660 1244 ? S 18:01 0:01 /usr/sbin/SSHd root 949 0.0 1.5 2068 948 ? S 18:01 0:00 xinetd -stayalive root 951 0.0 0.7 1292 496 ? S 18:01 0:00 /sbin/dhcpcd -h m root 1078 0.0 1.0 1492 628 ? S 18:01 0:00 crond root 1132 0.0 3.4 3808 2152 ? S 18:01 0:02 nessusd: waiting root 1134 0.0 1.9 2276 1224 ? S 18:01 0:00 login -- tony tony 1494 0.0 2.6 2732 1624 tty1 S 18:29 0:00 -bash tony 1430 0.0 2.6 2744 1636 tty1 S 18:29 0:00 bash tony 1805 0.0 1.2 2676 796 tty1 R 18:56 0:00 ps -aux
На выдаче можно видеть каждый процесс, выполняющийся в системе, вместе с его идентификатором (-u в левом столбце выводится имя . Если вы обнаружите, что выполняется некая загадочная служба, то ситуацию необходимо исследовать дополнительно. На выдаче присутствует служба, которая может показаться подозрительной:
Можно построить конвейер из команд и grep, чтобы найти определенные работающие службы. Например, команда
ps -ax | grep snort
сообщит, запущен ли в вашей системе Snort, и какой у него полезна для всех видов деятельности по системному администрированию, а не только для обеспечения безопасности.
| Клиент OpenSSH: служба защищенного терминала |
|---|
Клиент OpenSSH Автор/основной контакт: Tatu Ylonen Web-сайт: http://www.openSSH.com Платформы: Большинство платформ UNIX, Windows, OS/2 Лицензия: BSD Другие web-сайты: |
Чтобы получить доступ к удаленной системе с помощью
ssh -l входное_имя имя_хоста
Замените входное_имя вашим входным именем на удаленной системе имя_хоста. Можно также использовать конструкцию
ssh входное_имя@имя_хоста
Поэтому, чтобы войти в систему web-сервера с именем web.
ssh tony@web.example.com
Годится и . Если просто ввести , то сервер будет подразумевать то же имя пользователя, что и в вашей системе.
В табл. 2.4 перечислены некоторые другие опции
| Опция | Описание |
|---|---|
| -c протокол | Используйте конкретный криптографический протокол. Замените протокол на |
| -p номер_порта | Соединиться с заданным |
| -P номер_порта | Использовать заданный порт, который не является частью стандартного списка собственных портов (обычно - порт с номером больше 1024). Это может быть полезно, если имеется |
| -v | Подробный вывод. Полезно при отладке |
| -q | Молчаливый режим, противоположный |
| -C | Производить сжатие зашифрованного трафика. Может быть полезно для очень медленных соединений, таких как коммутируемые, но лучше иметь при этом мощный процессор для выполнения сжатия, иначе в итоге коммуникации замедлятся |
| -1 | Использовать только протокол |
| -2 | Использовать протокол |
Хотя это и не является основной темой книги, но при использовании систем Windows важно защитить их насколько возможно, чтобы можно было сформировать обсуждавшуюся выше надежную вычислительную базу. Известно, что в Windows обычно запускаются
Если вы используете одну из современных версий в UNIX). Можно просмотреть этот список и увидеть все небольшие программы, которые Windows любезно запускает для вас. Большинство из них - службы, требующиеся для нормальной работы Windows. Однако некоторые из них вам не нужны и просто отнимают процессорное время, замедляя компьютер и, возможно, создавая дыры в безопасности. Можно отключить их, щелкая на службе мышью и выбирая Stop. Не забудьте также задать тип запуска
Флэми Тех советует:
Убедитесь, что вы знаете, что отключаете!
Нужно быть очень осторожным при отключении подобных служб. Если вы не знаете точно, что делает служба, и не уверены, что она вам не нужна, то не трогайте ее. Многие процессы зависят от других, и если отключать их произвольным образом, это может нарушить нормальное функционирование системы.
Существует несколько прекрасных руководств, разработанных Агентством национальной безопасности США (http://www.nsa.gov), для безопасного конфигурирования операционных систем Windows.
Центр Безопасности Интернета (http://www.cisecurity.org) также публикует средства измерения и
Во многих книгах и Интернет-ресурсах данная тема рассматривается более глубоко. Можно также использовать некоторые из описанных далее средств, например, сканеры портов и сканеры уязвимостей, для сканирования и повышения безопасности систем Windows. Как бы вы это ни сделали, убедитесь, что вы укрепили свою систему, прежде чем начинать на ней установку защитных средств.
Хотя в Windows присутствуют некоторые средства сетевой диагностики и опроса, аналогичные имеющимся в UNIX, такие как и , эта система не предоставляет в готовом к употреблению виде ряд других служб, таких как и dig. Существует, однако, дополнительное защитное средство,
Sam Spade for Windows Автор/основной контакт: Steve Atkins Web-сайт: http://www.samspade.org Платформы: Рассмотренная версия: 1.14 Лицензия: Другие ресурсы: См. справочный файл, включенный в комплект поставки |
Этот прекрасный "швейцарский армейский нож" для машин Windows восполняет недостаток имеющихся в ОС Windows сетевых средств. Системные администраторы UNIX могут больше не злорадствовать над своими Windows-коллегами, у которых нет таких отточенных инструментов, как dig, и другие. На самом деле
Начните с посещения web-сайта Samspade.com и загрузки программы или возьмите ее с приложенного к книге компакт-диска. Затем просто дважды щелкните мышью на файле и позвольте программе установки позаботиться обо всем остальном. После установки
(рис 2.1) Основной экран Sam Spade
Интерфейс
Флэми Тех советует:
Будьте ответственным детективом!
Запуск
В табл. 2.5 перечислены основные функции
В табл. 2.6 перечислены другие полезные тесты, расположенные в меню Tools.
| Функция | Описание |
|---|---|
То же самое, что и в Windows и UNIX, но позволяет легко задавать число повторений запроса и выводит несколько более подробную выдачу |
|
| Nslookup | Аналог одноименной команды UNIX |
| Аналог одноименной команды UNIX | |
| IPBlock | Эта команда проверяет в базе данных |
Аналог команды , однако генерируется дополнительная информация, такая как обратные DNS-записи и графическое отображение задержек между межсетевыми переходами. |
|
Аналог команды в UNIX. |
|
| Time | Проверяет часы на удаленной системе. Полезно для синхронизации часов на серверах. |
| Тест | Описание |
|---|---|
| Проверяет, фигурирует ли ваш |
|
| Ищет официальный контакт для жалоб на ненадлежащее поведение для набора IP-адресов, чтобы вы могли подать жалобу, если у вас есть проблемы с одним из этих адресов | |
| Выполняет базовое сканирование портов диапазона адресов. Этот очень простой сканер портов выявляет открытые сетевые порты. Если требуется просканировать адреса, то лучше использовать один из полнофункциональных сканеров портов, рассмотренных в лекции 4. Помните также, что сканирование портов может рассматриваться владельцами внешних сетей как враждебная деятельность | |
| Crawl website | "Утюжит" Web-сайт, выявляя все ссылки, страницы и любые другие формы или файлы, до которых можно добраться. Это полезно при поиске всех страниц, на которые ссылается web-сайт, и для выявления файлов, о которых вы не знали |
(рис 2.2) Выдача Sam Spade IPBlock
Имеется несколько других средств, которые не являются темой данной книги, например, ликвидаторы отмеченных сообщений USENET и декодировщики URL, которые могут оказаться полезными, если вы разрабатываете Web-сайт.
| PuTTY: Клиент |
|---|
PuTTY Автор/основной контакт: Web-сайт: http://www.chiakr.greenend.org.uk/~sgtatham/putty Платформы: Рассмотренная версия 54b Лицензия: Другие ресурсы: Файл справок или web-сайт. |
В ближайшее время Microsoft собирается заняться этой программой и начнет поставлять встроенный клиент
Загрузите файл с Web-сайта или возьмите его с приложенного к книге компакт-диска и установите, сделав на нем двойной щелчок мышью. PuTTY имеет приятный, ясный интерфейс и способен эмулировать практически любой терминал. Можно задать
(рис 2.3) Основной экран PuTTY
Протоколы сеансов можно записывать в текстовые файлы, что может быть весьма полезно (я использовал PuTTY для сохранения листингов всех терминальных сеансов в этой книге). Можно также до бесконечности менять конфигурацию, в том числе, набор допустимых протоколов шифрования. Вас даже будут предупреждать при попытке соединиться с сервером
При соединении с сервером в первый раз PuTTY предупредит, что он добавляет в базу данных идентификационную метку и ключ этого сервера. Это нормально - просто проверьте, выглядит ли сертификат подходящим, примите его, и он больше не будет появляться при последующих соединениях с этим сервером.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.