2004 г.
6. Сетевая безопасность
Семёнов Ю.А. (ГНЦ ИТЭФ),
book.itep.ru
Совсем недавно персональная ЭВМ стоила в России дороже автомашины, сегодня же десятки (а может быть и сотни) тысяч ЭВМ работают дома, развлекая и зарабатывая деньги своим хозяевам. Сети ЭВМ из достояния научных центров постепенно стали обязательным атрибутом процветающих торговых фирм, банков, милиции, таможни, налоговые службы и т.д. Если раньше главной проблемой было создание сети и обеспечение доступа к Интернет, то сегодня по мере увеличения размеров сети проблема безопасности выходит на лидирующие позиции. Безопасность - комплексное понятие, это и ограничение нежелательного доступа, и сохранность информации, и живучесть самой сети. Актуальность проблемы подтверждает количество RFC-документов, опубликованных за последнее время [1-14, 18] по данной тематике (см. библиографию в конце данного раздела). Эту статью следует рассматривать как обзор возможных угроз и способов защиты. В основном это касается обычных сетей, не содержащих конфиденциальную или тем более секретную информацию. Но многие соображения, приводимые здесь, носят достаточно универсальный характер.
Существуют юридические аспекты сетевой безопасности, организационные и программно-технические. Здесь будут рассмотрены два последних, тем более что следование букве закона не относится к числу главных добродетелей программистов. Рассмотрим сначала факторы, влияющие на надежность сети. Источниками ненадежности сети могут быть:
стихийные явления, к которым можно отнести отказы оборудования или питания, а также некомпетентность обслуживающего персонала;
несанкционированные действия операторов удаленных ЭВМ.
Основу стабильности сети составляют надежность ЭВМ и сетевого оборудования, а также устойчивость каналов связи. Каналы связи, особенно если речь идет о проводных, достались нам от проклятого царизма, их создатели давно умерли, и спросить не с кого. Начинать надо с того, что в вашей власти, а это, прежде всего, правильная конфигурация узла, разумное распределение ответственности и качество сетевого питания (стабильность напряжения и частоты, амплитуда помех). Для решения последней проблемы используют специальные фильтры, мотор-генераторы и UPS (uninterruptable power supply). Выбор того или иного решения зависит от конкретных условий, но для серверов использование UPS крайне желательно (ведь вы не хотите восстанавливать дисковую систему, которая разрушилась из-за отключения питания в момент записи в FAT или dir). При выборе UPS нужно учесть суммарную потребляемую мощность оборудования, подключаемого к источнику питания, и время, в течение которого UPS способен работать без напряжения в сети. При этом главная задача UPS - обеспечение завершения операций обмена с диском до того, как произойдет полное обесточивание сервера, или когда будет произведено переключение на резервный канал питания. Это осуществимо при использовании специального интерфейса и соответствующего программного обеспечения, работающего согласно протоколу SNMP. Указанный интерфейс обеспечит блокировку начала новых операций обмена или выполнит shutdown, если напряжение в сети упало ниже допустимого уровня. К UPS не следует подключать дисплеи (эти приборы не столь критичны к питанию, как диски и оперативная память) и принтеры (лазерные принтеры запрещено подключать к UPS из-за мощных печек, входящих в состав этих приборов). Сетевые фильтры являются желательными при работе с любыми ЭВМ, так как сеть в России сильно засорена высокочастотными помехами.
С использованием нанотехнологии фирма IBM разработала запоминающее устройство с плотностью записи данных 1 Терабит на квадратный дюйм. Это позволяет записать 25 миллионов страниц или 25 DVD дисков на площади одной почтовой марки. Система использует тысячи сверх тонких иголок из кремния, которые служат для формирования миниатюрных углублений в тонкой синтетической пленке. Вершины иголок имеют размер нескольких атомов (диаметр ≤ 10нм). Технология допускает перезапись.Внедрение этой технологии на какое-то время решит проблему.
Поскольку абсолютная надежность недостижима, одним из средств сохранения информации является дублирование носителей (напр. дисков), копирование и сохранение копий в надежном месте. Если раньше для этой цели годились гибкие диски или магнитные ленты, сегодня их пригодность может быть подвергнута сомнению. Конечно, ленты типа exabyte емкостью 2.5-20 Гбайт достаточно широко используются, но относительно высокая стоимость таких накопителей ограничивает их применимость (да и скорость записи для них не слишком высока). Альтернативой им могут стать накопители с перезаписываемыми CD, где стоимость устройства несколько ниже, за то емкость одного диска для дешевых моделей пока не превосходит 1 Гбайт. Не исключено, что в скором времени основным средством сохранения информации станет ее дублирование на независимом жестком диске. Это может произойти при широком внедрении компактных жестких дисков емкостью 10 Гбайт и более.
К сожалению, помимо объективных причин на надежность и устойчивость работы сети влияет и субъективный фактор. Это, прежде всего некомпетентный персонал, различные компьютерные вирусы и хакеры. Скрытая безработица среди высоко квалифицированных программистов способствует распространению хакерства в России. Практическое отсутствие сетевых вирусов связано с ограниченностью сетей в России и со сложностью их написания, но этот барьер будет скоро преодолен и к этому следует готовиться уже сегодня. Еще в декабре 1994 года я получил предупреждение о распространении сетевых вирусов (good times и xxx-1) по Интернет:
“there are two virus infected messages circulated in the internet.
one is called "good times" and the other "xxx-1".
do not read !! do not download !!! delete right away !!!!”
(Не читайте!! Не загружайте!!! Немедленно уничтожайте!!!!)
Или еще один более свежий пример
ЭВМ, подключенная к сети, потенциально всегда уязвима. Есть сообщения о вирусе cascade в сетях Novell, созданы вирусы, переносимые с помощью электронной почты (например, вирусы, базирующиеся на макросах WinWord), и т.д. Последние наиболее опасны, так как, проглядывая какое-то очередное сообщение, содержащее приложение (attachment), клиент может и не предполагать, какую угрозу это таит. Макро-вирус может выполнять функцию "троянского коня". Тривиальным и одновременно крайне полезным советом является рекомендация стирать, не читая, сообщения, содержащие исполняемое приложение, даже если это сообщение получено от вашего хорошего знакомого (это может быть рассылка, выполняемая мактро-вирусом, через его адресную книгу). Если есть сомнения, позвоните вашему знакомому, или пошлите ему mail, прежде чем читать подозрительное послание.
Троянский конь. К этой категории относят две разновидности объектов. Один из них – программа, засылаемая в атакуемый узел, которая осуществляет перехват всего ввод с терминала, записывает эти данные в файл и позднее пересылает этот файл “хозяину этого коня”. Другой объект является пассивным, выглядит безопасным и привлекательным. Например, находится в каталоге FTP-депозитария games и выглядит как игра. Легковерный клиент может скопировать такой файл и попытаться его запустить. Результатом может стать уничтожение содержимого жесткого диска.
Кролики. Это программы, которые быстро размножаются в памяти или на диске, поглощая ресурсы ЭВМ, что может привести к повисанию или разрушению операционной системы. Сами по себе эти программы, как правило, не несут в себе разрушительных функций.
Черви. Программы, напоминающие “кроликов”, но способные перемещаться по сети Интернет от одного узла к другому (узлы должны иметь идентичную операционную среду).
Макро вирусы. Вирусы, базирующие на макросах таких систем, как excel или winword. Опасность таких вирусов заключается в том, что они могут разноситься электронной почтой, когда соответствующие файлы подсоединены к почтовому сообщению. Попытка просмотра текста excel или winword приводит к заражению ЭВМ этим вирусом. После чего такая машина может стать сама разносчиком вируса. Из-за простоты заражения этот тип вируса в настоящее время наиболее опасен. Кроме того, он может иметь все свойства "троянского коня", что усугубляет опасность.
Все перечисленные программы создавались людьми специально для нанесения вреда, их мотивации предмет изучения психологов и социологов. Но есть потенциально опасные объекты, специально не создаваемые для нанесения вреда. Это, прежде всего, программы, разработанные не профессионалами и не лишенные ошибок. Следует иметь в виду, что любая ошибка в программе опасна сама по себе, но она может стать объектом атаки хакера. По этой причине бездумное использование не сертифицированных программ несет в себе достаточно высокий уровень риска.
Существуют и другие угрозы, например, так называемая “Молдавская связь”. Суть этой уловки, использованной впервые одним из провайдеров в Молдове, заключается в том, что в каком-то депозитарии или web-странице приводится ссылка на некоторый привлекательный объект, например набор эротических картинок. Но для их просмотра предлагается скопировать себе специальную программу. При запуске оговоренной программы канал связи с местным провайдером разрывается и устанавливается связь через модем с другим удаленным провайдером. Это особенно опасно для людей, подключенных к Интернет через модем, так как может стоить им многие сотни долларов за пользование междугородним телефоном.
Современные WEB-серверы довольно широко используют java-аплеты. При этом должны строго выполняться определенные правила.
Аплеты не могут читаться с или писаться на локальный диск.
Аплеты не должны иметь доступа к локальным внешним физическим устройствам.
Аплеты не должны иметь доступа к конфигурационной информации системы, включая ту, которая позволила бы им узнать с какой ОС они имеют дело.
Аплеты не должны исполнять системных команд или запускать внешние программы.
Аплеты не должны устанавливать сетевые соединения с машинами, кроме той, с которой они загружены.
Если все эти условия выполняются, аплеты совершенно безопасны, но контролировать это желательно.
При создании протоколов Интернет в начале 80-х годов авторы мало думали о безопасности. Предполагалось, что пользоваться сетью будут исключительно ответственные и добропорядочные люди. Но людям, к сожалению, свойственно преувеличивать свои положительные качества. Реальность оказалась не столь позитивна. Сказалась и любовь получать что-то бесплатно и врожденный разрушительный потенциал. Некоторые приемы хакеров описаны в разделе, посвященном протоколу TCP. Рассмотрим, что может произойти, если будет получен TCP-сегмент с битами SYN и FIN, равными 1. При получении такого сегмента TCP осуществляет переход в состояние close_wait. Если до этого не было установлено соединений, переход в это состояние не должен производиться, но большинство реализаций выполняют его. Такой переход крайне не желателен, так как в этом состоянии не работает таймер и система останется в нем вечно.
Другой вид атак протокола TCP называется “syn flooding”. Здесь используется трехшаговый диалог при установлении соединения (SYN -> syn+ack -> ack; см. описание протокола TCP в разделе 4.4.3). Когда ЭВМ-1 получает запрос syn от ЭВМ-2, она должна подождать в частично открытом состоянии, по крайней мере, 75 секунд. Это позволяет успешно устанавливать связь даже в условиях очень больших сетевых задержек. Проблема заключается в том, что многие реализации способны отслеживать ограниченное число соединений (по умолчания 5). ЭВМ-злоумышленник может воспользоваться ограниченностью очереди и послать атакуемой ЭВМ большое число SYN-запросов, не отвечая на присылаемые SYN+ACK. В результате очередь будет быстро переполнена и прием запросов на соединение прекратится до тех пор, пока очередь не будет обслужена или очищена по таймауту. Данный метод пригоден для отключения ЭВМ от сети, во всяком случае, на 75 сек. Этот вид атаки часто является частью процедуры проникновения, когда нужно заблокировать ЭВМ от получения нежелательных откликов.
Существует разновидность атаки, когда хакер посылает данные в пакетах с адресом отправителя, отличным от его собственного (при этом трудно установить адрес, откуда такая атака предпринимается). Здесь имеются некоторые проблемы для атакующей стороны. ЭВМ-адресат посылает все отклики по указанному адресу отправителя, кроме того, хакеру нужно как-то выяснить порядковый номер сегмента, записываемый в каждый пересылаемый пакет. При установлении соединения оконечный сегмент, содержащий ACK, должен нести ISN (initial sequence number; cм. описание транспортного протокола TCP раздел 4.4.3) удаленной ЭВМ. Этот сегмент посылается ЭВМ, чей адрес указан в первоначальном запросе SYN. Хакер должен выяснить ISN каким-то иным способом (этому может помочь служба netstat). Так как ISN 32-разрядное число случайно угадать его совсем не просто. Но в большинстве систем (например, unix bsd) ISN берется из некоторого счетчика, содержимое которого увеличивается на 128 каждую секунду и на 64 после каждого нового соединения. Например:
x -> s: syn(ISNx)
s -> x: syn(ISNs), ack(ISNx) (получено искомое текущее значение кода ISNs)
Таким образом, установив однажды соединение с нужной ЭВМ (s), некоторое время спустя можно с высокой вероятностью угадать значение ISN, послав несколько пакетов с разными значениями ISN. При завершении процедуры посылается сегмент SYN+ACK, который будет отвергнут, так как машина получатель не инициализировала связь. В пакете отклике будет установлен флаг RST и соединение окажется абортированным. Чтобы этого не произошло, хакер может предпринять атаку типа syn-flooding, что приведет к игнорированию SYN+ACK. В результате соединение будет установлено и хакер, празднуя победу, может продолжить свое черное дело, например, он может исполнить какую-либо r-команду на атакуемой ЭВМ. Если даже изменять ISN каждые 4 микросекунды, проблему угадывания разрешить не удастся. Радикальным решением может стать лишь псевдослучайная генерация ISN-кодов (при этом случайным образом должны задаваться не менее 16 бит). Решить проблему поможет шифрование соответствующей части содержимого пакета. Рассмотрим здесь еще несколько таких атак.
Один из известных методов базируется на IP-опции “маршрутизации отправителя” (source routing). ЭВМ инициатор обмена может специфицировать маршрут, которым получатель должен воспользоваться при пересылке отклика. Маршрут может быть специфицирован так, чтобы он проходил через узел, контролируемый хакером. Эта, достаточно простая методика атаки, в настоящее время неэффективна, так как большинство маршрутизаторов сконфигурированы так, чтобы отфильтровывать пакеты с маршрутизацией отправителя.
Интересные возможности предоставляет вариант, когда хакер вставляет свою машину на пути обмена двух других узлов (hijacking). Обычные методы атак (типа spoofing) могут не привести к успеху из-за необходимости идентификации (пароль!). В данном методе хакер позволяет завершиться установлению связи и аутентификации и только после этого перехватывает контроль над виртуальным каналом. Этот способ использует механизм “десинхронизации” tcp-соединения. Когда порядковый номер полученного пакета не совпадает с ожидаемым значением, соединение называется десинхронизованным. Полученный пакет в зависимости от его номера будет выброшен или буферизован (если он находится в пределах окна). Таким образом, если узлы, участвующие в обмене сильно десинхронизованы, приходящие к ним пакеты будут отбрасываться. Хакер в этом случае может вводить пакеты с корректными порядковыми номерами. Разумеется, это совсем просто, если машина хакера является транзитной, что позволяет ей “портить” или удалять нормальные пакеты и подменять их своими. Атака же возможна и в случае, когда машина хакера находится где угодно. В этом случае “отброшенные” пакеты могут вызвать посылку ACK, которые содержат ожидаемое значение порядкового номера пакета, но и они будут отвергнуты из-за неверного их номера и т.д.. При реализации этой схемы пересылается большое число “лишних” пакетов ACK. Количество их будет сколь угодно велико, по этой причине данная ситуация называется “штормом ACK’. Обмен уведомлениями (ACK) о неверных ISN будет продолжаться до тех пор, пока один из таких пакетов не будет потерян. Механизм обмена IP-дейтограммами устроен так, что вероятность потери тем выше, чем больше пакетов передается, т.е. процесс саморегулируется. Тем не менее, высокая интенсивность потока сегментов ACK может говорить об атаке. В норме процент сегментов ACK от общего потока TCP составляет 30-45%. Иллюстрацией данного метода нападения может служить рис. 6.1.
Рис. 6.1
Десинхронизация может быть осуществлена при установлении соединения. Хакер в этом случае обрывает процесс трехшагового диалога. После того как ЭВМ Б пошлет SYN+ACK ЭВМ А, ЭВМ хакера пошлет пакет от Б к А, который с помощью бита RST оповещает о закрытии соединения. После этого затевается новый трехшаговый диалог с целью установления соединения с А, но уже с другими кодами порядковых номеров. Схема алгоритма атаки показана на рис. 6.2 (Сравните с рис. 4.4.3.3 и 4.4.3.4).
ЭВМ Б проигнорирует сообщения от А, так как они имеют неправильные (навязанные хакером) номера, а ЭВМ А проигнорирует сообщения от Б, так как ожидает, что они будут пронумерованы по-новому. Теперь хакер знает, какие номера нужны А и Б (непосредственно же А и Б взаимодействовать не могут, так как не знают правильных номеров) и может перехватывать, модифицировать или посылать сообщения по своему усмотрению как А, так и Б.
Но десинхронизация может быть реализована и в ходе сессии. Если послать флаг RST в середине сессии, соединение будет закрыто, о чем будет оповещено приложение и пользователь. Для того чтобы вызвать десинхронизацию в середине сессии, не закрывая соединения, достаточно поменять порядковые номера в сообщениях. Протокол telnet имеет механизм, который позволяет решить такую задачу. В рамках протокола можно посылать команды nop (“Ничего не делать”, согласитесь – хорошие команды!). Эти команды не производят никакого эффекта, но увеличивают ожидаемое значение порядкового номера сегмента. Послав некоторое количество таких команд, ЭВМ хакера вызовет десинхронизацию. Теперь только хакер знает правильные значения порядковых номеров пакетов и может начать свою подрывную работу.
Одним из наиболее эффективных методов обнаружения таких атак помимо процента сегментов ACK является сравнение потоков ACK для сервера и клиента. Полной гарантией безопасности в такой ситуации может стать только шифрование на прикладном уровне, например по схеме kerberos. В случае использования почты хороший результат может дать электронная подпись (например, PGP).
Атака на раннем этапе установления соединения может осуществляться следующим образом. Соединение при этом разрушается и вместо него формируется новое с другим значением ISN. Хакер прослушивает виртуальный канал и ждет сообщения SYN+ACK от сервера клиенту (вторая фаза установления соединения). При получении такого сообщения хакер посылает серверу RST-кадр, а затем SYN-пакет с теми же параметрами (TCP-порт), но с другим значением ISN (далее и на рис 6.2 этот кадр обозначается a_ack_0; префикс А указывает на принадлежность атакующей машине хакера). Сервер, получив RST, закроет прежнее соединение и, получив SYN, сформирует новое для того же порта, но с новым значением ISN. После чего пошлет клиенту кадр SYN+ACK. Детектировав это пакет хакер посылает серверу кадр ACK. При этом сервер переходит в состояние established. Клиент перешел в это состояние при получении от сервера первого кадра SYN+ACK. На рис. 6.2 не показан обмен пакетами ACK, вызванными получением некорректных значений ISN. Как сервер так и клиент находятся в несинхронизованном состоянии established. Обмен здесь полностью контролируется атакующей ЭВМ
Рис. 6.2. Алгоритм атаки с использованием десинхронизации. Префикс А указывает на то, что сегмент послан атакующей ЭВМ; С - клиентом; s - сервером. Отправка атакующих кадров выделена малиновым цветом.
Определенные услуги хакеру может оказать внутренний протокол маршрутизации rip. Этот протокол служит для рассылки информации о маршрутах в локальной сети и не требует контроля доступа, что всегда благоприятствует злоумышленникам. Хакер может разослать маршрутную информацию, которая убедит окружающие узлы в том, что наикратчайший путь во внешний мир проходит через ЭВМ хакера Х. Тогда все пакеты, адресованные за пределы локальной сети, будут сначала попадать в ЭВМ Х.
Протокол управляющих сообщений ICMP носит вспомогательный характер (вспомним популярную утилиту ping, использующую этот протокол). Пакеты ICMP также не требуют проверки доступа (именно благодаря этому протокол пригоден для работы в масштабах Интернет). По одной этой причине протокол привлекателен для хакеров. Известны случаи, когда с его помощью люди с разных континентов бесплатно обменивались сообщениями. Пригоден протокол и для блокировки обслуживания. Для блокировки обслуживания используются icmp-сообщения “time exceeded” (превышено время) или “destination unreachable” (адресат недоступен). Первое сообщение означает, что предел указанный в поле TTL заголовка пакета превышен. Такое может произойти из-за зацикливания пакетов или, когда адресат расположен очень далеко. Сообщение “destination unreachable” имеет несколько значений. Но все они означают, что нет способа благополучно доставить пакет адресату. Оба сообщения вынуждают адресата немедленно прервать соединение. Для реализации своих коварных планов хакеру достаточно послать одно из этих сообщений одному или обоим участникам обмена.
Протокол ICMP может использоваться и для перехвата пакетов. ICMP-сообщение “redirect” обычно используется внешними портами (gateway) сети в случаях, когда какая-то ЭВМ по ошибке полагает, что адресат находится вне локальной сети и направляет пакеты, адресованные ему, через внешний порт. Хакер может послать ICMP-сообщение “redirect” и вынудить другую ЭВМ посылать пакеты через узел, указанный хакером. У данного метода (также как и предыдущего с использованием RIP) имеется определенное ограничение – хакер и жертва должны находиться в пределах общей локальной сети.
Ещё одним объектом атак может стать DNS (domain name service) локальной сети. Например, администратор узла durak.dura.com может принять решение разрешить только местные соединения. Это может быть специфицировано с помощью записи “allow *.dura.com”, а не обязательно через указание IP-адресов. Тем более, что в сети может использоваться большое число блоков IP-адресов. Когда соединение установлено ЭВМ durak обращается к DNS для того, чтобы преобразовать IP-адрес отправителя в имя, которое затем служит для проверки условия, заданного администратором. Если хакер имеет доступ к местному DNS-серверу, он может заставить DNSоткликаться на его IP-адрес любым именем ЭВМ или домена. Зная об установленных администратором ограничениях, хакер может сделать так, что на запрос с его IP-адресом DNS будет откликаться именем “trustme.dura.com” (что удовлетворяет установленному ограничению). Такая атака может быть легко предотвращена путем повторного DNS-запроса с именем ЭВМ, присланным при первом запросе. Если IP-адрес, полученный при втором запросе, не совпадет с использованным в качестве параметра в первом, это означает, что DNS подверглась атаке.
Для атаки DNS извне достаточно узнать номер используемого UDP порта и ISN. О способах определения ISN говорилось выше. Задача упрощается в тех случаях, когда начальным значением ISN является нуль. Номер же используемого в данный момент UDP-порта при определенном везении можно найти путем подбора, ведь здесь нет никакой аутентификации или ограничений на число попыток. DNS один из самых привлекательных объектов для атак, так как через посредство AXFR-запросов можно получить информацию об узлах, которые используют определенные версии ОС с известными слабостями, упрощающими вторжение.
Точкой уязвимости могут быть загружаемые через сеть рабочие станции или Х-терминалы. Процедура загрузки предполагает использование протоколов RARP, TFTP и BOOTP. Все они практически не имеют сколько-нибудь серьезной защиты. Наиболее уязвим протокол RARP. Здесь желательно позаботиться о том, чтобы номер порта udp выбирался ЭВМ, осуществляющей загрузку случайным образом. В противном случае хакер может легко перехватит процедуру обмена и загрузить нужную ему конфигурацию программного обеспечения, обеспечив себе широкие ворота для проникновения. bootp предлагает дополнительные возможности защиты в виде 4-байтного случайного кода идентификатора процедуры (transaction ID). Это заметно мешает хакеру прервать процедуру и инициировать новую сессию загрузки (rebooting). Должны быть предприняты все меры, чтобы начатая процедура загрузки была своевременно завершена. Пребывание системы в промежуточном состоянии заметно облегчает разнообразные атаки.
Некоторые другие виды атак описаны в разделе, посвященном протоколу http. Многие из перечисленных выше проблем решаются при использовании прокси серверов типа firewall.
Но даже Firewall не может предотвратить атак со стороны хакеров, работающих внутри локальной сети. Здесь к их услугам огромный арсенал. Это, прежде всего, использование сетевого интерфейса для приема всех пакетов, следующих по сегменту (6-ой режим работы интерфейса), а также программные продукты типа tcpdump или Etherfind. Такой режим легко позволяет перехватывать незашифрованные пароли, определять используемые номера портов или ISN. К счастью такой комфорт для хакера предоставляется в пределах его логического сегмента, что стимулирует, кроме всего прочего, использование мостов, переключателей и локальных маршрутизаторов, которые ограничивают зону, где хакер может осуществлять перехваты. По этой же причине рекомендуется авторизованным администраторам работать с консоли, а не удаленного терминала. Следует иметь в виду, что обнаружить такого “шалуна” не так просто, ведь он может во многих случаях указывать в посылаемых пакетах не свой IP- и MAC-адрес.
Еще одним инструментом взлома может оказаться протокол ARP. Хакер может послать большое число широковещательных запросов, содержащих несуществующий IP-адрес. ЭВМ при получении такого запроса должна его обработать и может попытаться его переадресовать какому-то серверу. Всё это уже само по себе нежелательно, так как порождает большой паразитный трафик. Помимо этого хакер может попытаться послать широковещательный отклик, сообщая свой MAC-адрес в качестве адреса места назначения. Это может при определенных условиях предоставить возможность перехвата трафика между ЭВМ, пославшей первичный запрос, и истинным узлом назначения. Таким образом, постоянный мониторинг широковещательных запросов следует считать одной из составных частей системы безопасности локальной сети (см. также Robert T. Morris, A Weakness in the 4.2bsd Unix TCP/IP Software, Computer Science Technical Report N 117, at&t Bell laboratories), тем более что такой мониторинг не пораждает дополнительного трафика.
Определенную пользу с точки зрения безопасности может принести программы типа wrapper, которая позволяет отфильтровать нежелательные запросы и решить проблему аутентификации. Новые возможности в этой сфере предоставит новая версия протокола IPv6. Некоторые проблемы могут быть решены путем шифрования содержимого пакетов.
Применение сетей расширяется со скоростью 20% в месяц. Внешний трафик мультинациональных организаций увеличивается со скоростью 30% в год, а только за 1996 год сетевые воры украли ценной информации на сумму более 10 млн. долларов США (www.cuviello.com/_potrfolio/_semaphore).
Число зарегистрированных попыток нелегального проникновения в информационные системы растет экспоненциально, достигнув темпа прироста 60% в год. Но нужно принимать во внимание, что существенная часть таких попыток остается незамеченной или незарегистрированной. Адекватны этому и темпы роста расходов крупных фирм на средства и системы информационной безопасности.
Следует, впрочем иметь в виду, что чем лучше сеть (или ЭВМ) защищена от хакеров, тем менее удобно в ней работать. Поэтому администратор сети всегда должен выбирать меньшее из зол, нельзя же делать лечение более опасным, чем сама болезнь.
Хакер, пытающийся нелегально проникнуть в ЭВМ, обычно начинает с использования процедуры Finger, чтобы определить имена реальных пользователей сети или ЭВМ (имя одного пользователя обычно известно - это root). Администратор сети-жертвы может заблокировать работу Finger. Но именно этот протокол наряду с SMTP используется системами Whois, X.500 и FRED при поиске людей в сети Интернет. Заблокировав Finger, администратор усложняет общение с внешними сетями.
Есть все же правила, следовать которым должен любой администратор. Среди них жесткое требование к выбору паролей и регулярной их смене является наиважнейшим. Известно, что 80% всех проблем, связанных с нелегальным проникновением в сеть, вызваны плохими паролями.
Пароль должен содержать не менее 5-7 символов. Желательно, чтобы он включал в себя строчные и прописные символы, а также цифры. Любые имена, фамилии, общеизвестные географические названия, названия улиц, номер страхового полиса, кредитной карточки, домашний номер телефона (записанные обычным образом или задом на перед), последовательности клавишей типа qwerty или абвгд и т.д. совершенно непригодны в качестве паролей, так как их подбор, например, с помощью программы satan занимает не более 5 минут. Наиболее важные части системы могут быть защищены двойным паролем, но даже это не дает полной гарантии. Во-первых, имеется возможность перехвата ваших пакетов (например, с помощью программы tcpdump или ее аналога), когда вы вводите свой пароль с удаленного терминала. Во-вторых, существуют программы типа "троянского коня", которые, будучи засланы в многопользовательскую систему, перехватывают весь ввод с терминалов, записывают их в виртуальные файлы и спустя какое-то время пересылаются "хозяину коня". На этом арсенал орудий взлома не исчерпывается. Одним словом, если у вас имеется информация, доступ к которой не желателен, не храните ее в ЭВМ, подключенной к Интернет (или любой другой аналогичной сети). Следует иметь в виду, что "шалуны" могут быть и среди ваших коллег или друзей. Никогда ни при каких обстоятельствах не следует передавать свой пароль кому бы то ни было. Если это в вашей власти, помогите просящему получить к ЭВМ легальный доступ, но не передавайте пароль. В моей практике был случай, когда один программист из ИТЭФ передал свой пароль своему другу. Этот друг ради баловства через узел ИТЭФ заслал троянского коня в амстердамский телекоммуникационный узел. Факт засылки стал известен (для обнаружения используется программный пакет cops) и администратор сети прислал нам в институт оповещение об этом досадном инциденте. Были приняты административные меры к человеку, передавшему свой пароль (он был лишен определенных привилегий и доступа к ряду ЭВМ). Вряд ли какой-либо администратор мечтает о славе пособника сетевым террористам.
Безопасность сети определяется ее администратором. Именно он должен позаботиться о распределении ответственности между пользователями и администраторами ЭВМ и субсетей, именно он определяет конфигурацию программного обеспечения узла, вырабатывает меры на случай вторжения или повреждения системы. Администратор сети формулирует требования к сетевым паролям и контролирует их выполнение, определяет время жизни паролей (рекомендуемое время замены паролей равно 3-6 месяцам, новый пароль должен радикально отличаться от старого).
В тех случаях, когда ЭВМ помимо терминальных входов имеет доступ через модемы, используются, кроме того, так называемые “телефонные пароли” (dialup passwords). В этом случае во время процедуры logon помимо имени-идентификатора и пароля вводится также и телефонный пароль. Этот пароль является общим для всех пользователей на данной машине. Управляет этой процедурой исполняемый файл /etc/dpasswd. Программа имеет ряд опций. Сами пароли хранятся в закодированном виде в файле /etc/d_passwd. Если идентификация пользователя по названным выше трем параметром не увенчалась успехом, пользователю будет предложено повторить процедуру без указания того, какой из параметров введен неверно.
Для того чтобы контролировать, кто, когда и сколько времени провел в вашей ЭВМ, имеется файл-дневник (log-файл), где производятся соответствующие записи (например, /etc/wtmp). В таблице 6.1 размещены ссылки на различные log-файлы.
Таблица 6.1.
Каталог и имя файла | Описание |
/etc/bootplog | Предназначен для документирования выполнения операций загрузки bootp |
/usr/adm/errlog | Регистратор ошибок на жестком диске |
/usr/adm/messages | Имя информационного файла syslog |
/usr/adm/sulog | Журнал записи входов в систему суперпользователя (root) |
/usr/lib/cron/log | Журнал регистрации исполнения команд cron (кто, что, когда). Могут записываться и сообщения об ошибках. |
/usr/spool/mqueue/syslog | Журнал записи операций sendmail и сообщений об ошибках. |
Одной из мер безопасности в локальной сети может быть кодировка всех пакетов, посылаемых с удаленных терминалов. Для реализации этого надо модифицировать все сетевое программное обеспечение или оснастить сеть специальными аппаратными средствами. Принимая во внимание, что в России используется на 99% зарубежное сетевое программное обеспечение, а денег на специальное оборудование безопасности обычно не предусмотрено в бюджете, этот путь представляется пока не самым удобным. Шифрование предполагает две процедуры - собственно кодирование информации с использованием секретного ключа и пересылка секретного ключа. Для передачи секретных ключей, паролей доступа (если их нужно пересылать) и идентификации партнеров, участвующих в обмене (а это иногда крайне важно, достаточно вспомнить посылку ложной телеграммы графом Монте-Кристо) используется схема с открытым и секретным ключами или алгоритм Диффи-Хелмана.
Схема с шифрованием проще реализовать для корпоративных сетей, т.е. для сетей принадлежащих одной фирме или отрасли (см. также раздел 6.5 и 6.6 ). Аналогичная схема может успешно использоваться между партнерами, которые заранее согласовали метод и ключи шифрования. Шифровка-дешифровка может проводиться аппаратным или программным образом для текстов или даже самих пересылаемых пакетов. Здесь предполагается наличие механизма пересылки ключей, подтверждения их получения и т.д. Шифрование не заменяет другие меры безопасности, так как несанкционированное вторжение может привести к потере или повреждению файлов, а в особо тяжелых случаях к разрушению всей операционной системы. В unix имеется две команды для шифрования - DES (data encryption standard) и crypt. Последняя команда базируется на старом методе кодирования, использованном в немецкой шифровальной машине enigma времен второй мировой войны. Обе программы имеют сходный формат применения и требуют ключ, который представляет собой последовательность символов, аналогичную паролю. Для указания ключа служит опция -k. Опция -e задает режим шифрования, -d - дешифрования. Так как программа crypt обеспечивает заметно меньшую защиту, чем DES, можно сначала архивировать файл, например, с помощью программы tar. На системах шифрования базируются некоторые почтовые системы, например, PGP (pretty good privacy) или PEM. Современные системы электронных подписей и конфиденциальной электронной почты основаны обычно на открытом и секретном ключах, эта технология (шифрование открытым ключом) базируется на криптографическом алгоритме Rivest-Shamir-Adelman’а (RSA). Эти ключи формируются попарно и являются математически связанными. Первый может пересылаться по обычным (открытым) каналам связи и используется для шифрования отправителем, а второй (секретный) - не пересылается и служит только для дешифрования получателем. Следует учитывать, что применение шифрования в России регулируется специальными законами.
Желательно, чтобы любые два объекта в сети общались друг с другом с использованием индивидуального набора ключей. Если в сети имеется n объектов, то необходимое число ключей равно [(n-1)*n]/2 (для n=100 это число равно 4950). Скрытое и эффективное хранение такого числа ключей само по себе уже может представлять проблему (а если n равно 1000!).
К сожалению, алгоритм RSA работает довольно медленно, по этой причине для шифрования больших объемов информации используются алгоритмы только с одним ключом (секретным), например, технология DES, которая способна гарантировать приемлемое быстродействие для шифрования и дешифрования в реальном масштабе времени. Секретный ключ DES пересылается с использованием техники шифрования RSA. RSA техника удобна для взаимной идентификации узлов до начала информационного обмена и для программ автоматического управления генерацией и распределением ключей дешифровки в сетях с большим числом объектов.
Существуют и аппаратные средства шифрования и контроля доступа, как отечественные, так и зарубежные (например, RG xxx комплекты фирмы racal или оборудование компании semaphore). Использование аппаратных средств может сохранить пропускную способность сети при введении шифрования/дешифрования неизменной. Особо эффективными для блокировки нелегального доступа могут быть специальные кодовые карточки, которые можно использовать и в случае удаленного доступа через коммутируемую телефонную сеть.
Интернет - открытая система, поэтому любые системы защиты плохо сочетаются с идеологией этой сети. Но Интернет может реально обеспечить любой уровень защиты уже сегодня. Рассмотрим одну из наиболее распространенных схем защиты (рис. 6.3).
Рис. 6.3.
Сначала формируется традиционный TCP-канал (для Telnet, FTP или SMTP). Этот канал используется для обмена командами. Далее управление передается блоку безопасности, который формирует отдельный канал для обмена шифрованной информацией (например, Kerberos). Перед началом обмена блок выясняет наличие аналогичного блока у партнера. Практически такая схема может быть реализована с использованием алгоритма Нидхама-Шрёдера (Needham-Schroeder). Здесь каждая ЭВМ использует общий ключ с сервером аутентификации. При необходимости установить соединение ЭВМ получает ключ от сервера и пересылает его адресату соединения (возможно в зашифрованном виде). Схема может работать с секретными и общедоступными ключами. Атака здесь затруднена не только из-за применения шифрования но и благодаря наличию дополнительного агента, участвующего в процессе соединения (сервера аутентификации). Функции такого сервера может взять на себя DNS. Конечно, не следует исключать возможности атаки на сервер аутентификации (например, с помощью подбора ISN).
Многие процедуры в Интернет не требуют для своего выполнения пароля, именно это обстоятельство создает еще одно окно уязвимости для сетей. Но и в случаях аутентификации с использованием пароля проблемы остаются. Если пароль передается в незашифрованном виде, он может быть легко перехвачен. Определенный интерес здесь может представлять и применение системы одноразовых паролей (например, skey). Суть этой технологии заключается в том, что после конфигурирования системы для очередной процедуры идентификации клиентом и сервером генерируется новый пароль. Перехват самого пароля в этом случае теряет смысл, так как воспользоваться им уже не возможно, а восстановить алгоритм формирования паролей даже по результатам достаточно большого числа перехватов практически не реально. Некоторые сетевые запросы (например, в HTTP) могут нести в себе пароли. Помимо перехвата таких сообщений имеется возможность использования их для подбора пароля, так как здесь часто нет ограничений на число попыток. Распознавание “свой-чужой” можно организовать непосредственно на пакетном уровне. Такая возможность предусмотрена в протоколе SNMP (поле community). Но возможно создание специального программного обеспечения, где все без исключения пакеты будут идентифицироваться. Для этого предусмотрены специальные коды для поля тип протокола (сети Ethernet). Например, для передачи шифрованных пакетов: UDP IP - 11; TCP/IP - 06; DEC LAT - 6004 и XNS - 0600. В последнее время широкое распространение получают индивидуальные сертификаты пользователя (см., например, www.verisign.com). Такие сертификаты эквивалентны высоконадежной электронной подписи идентифицирующей отправителя сообщения.
Создавая сеть, следует сразу закладывать некоторые элементы, обеспечивающие безопасность. Так прокладку сетевых кабелей желательно производить в металлических коробах, что сделает подключение к ним более затруднительным, или, там где это целесообразно, использовать оптоволоконные кабели. Повторители и концентраторы нужно размещать в запираемых шкафах. Некоторые концентраторы контролируют MAC-адреса пакетов. Такое оборудование позволяет блокировать порт, если обнаруживаются пакеты с неизвестным MAC-адресом, а также выявлять случаи подключения одного и того же MAC-адреса к разным портам. Определенную угрозу сетевой безопасности может представлять возможность присвоения хакером “чужого” MAC-адреса своей сетевой карте. Современные концентраторы запрещают подключенному к порту узлу передавать кадры с MAC-адресом, не совпадающим с определенным администратором для данного порта. Это обеспечивает дополнительную надежность канального уровня.
Как же можно определить, подверглась ли ваша ЭВМ атаке или нет? (Последующие рекомендации относятся к ОС UNIX).
Начинать надо с просмотра log-файла (см. ниже описание утилиты last). Но следует иметь в виду, что отсутствие подозрительных записей в этом файле не является гарантией безопасности. Хакер может без труда отредактировать этот файл.
Следующим шагом должен стать поиск любых спрятанных файлов. При этом нужно позаботиться о наличии копии всех рабочих системных и пользовательских файлов. Хакер может оставить каталоги с необычными именами типа “…”, “… “ (три точки + три пробела), “.xxx”, “.mail”, которые неопытный пользователь может принять за системные. Целесообразно контролировать неизменность базовых системных файлов, таких как logon, telnet и др., так как хакер, видоизменив их, может предоставить себе свободный доступ в систему. Полезно контролировать дату действующей версии таких программ. Далее следует просмотреть файл /etc/inetd.conf на предмет внесения в него каких-либо модификаций. Не рекомендуется разрешать в этом файле услуги типа: systat – порт 11; tftp – порт 69 и link – порт 87. Прежде всего следует искать строки, которые могут исполнять программы ядра (например, /bin/sh или bin/csh). Нужно проверить также все программы, на которые имеются ссылки в файле /etc/inetd.conf, так как хакер может заменить их и встроить в них программы типа троянского коня. Надо внимательно изучить содержимое файла /etc/hosts.equiv, /etc/hosts.lpd (эти файлы не должны допускать запись кому угодно) на наличие в них нелокальных имен ЭВМ, а также все файлы ~/.rhost в особенности ~root, ~uucp, ~ftp и другие программы, допускающие запись извне.
В случае обнаружения несанкционированного вторжения следует исследовать и другие ЭВМ, подключенные к сети. Нужно просмотреть файл /etc/passwd и выявить изменения, внесенные в него за последнее время. Особое внимание должно быть уделено авторизации новых пользователей.
Если ваша машина использует услуги UUCP, проверьте файл L.cmds. Он должен содержать только те команды, которые вам действительно нужны. Этот файл должен принадлежать root (а не uucp). Не следует оставлять без внимание содержимое файлов /etc/ttytab, /etc/ttys, а также /users/lib/aliases и любые другие файлы, определяющие конфигурацию системы. Везде, где возможно, нужно установить соответствующий уровень доступа к каталогам.
Определенного успеха в деле повышения защиты сети можно добиться, используя ограничения допуска. Маршрутизаторы и ЭВМ, имеющие контроль доступа, сверяют адрес отправителя запроса со списком доступа. Если адрес содержится в разрешительном списке, доступ реализуется, в противном случае запрос отвергается. Такие возможности предусмотрены в маршрутизаторах фирмы CISCO, имеются они и в некоторых сетевых пакетах UNIX (например, пакет wrapper). Этот пакет осуществляет мониторинг всех интернетовских и обычных сетевых запросов. Программа wrapper доступна по адресу: FTP:cert.sei.cmu.edu/pub/network_tools/tcp_wrapper.shar. Файл содержит исходный текст на языке Си и Makefile для генерации демона wrapper, который имеет имя tcpd.
В указанном выше депозитарии в каталоге info можно найти документ DOD 5200.28-std “Trusted Computer System Evaluation Criteria”, представляющий собой стандарт, который регламентирует общие принципы сетевой безопасности.
Целесообразно мониторировать доступ к fingerd, ftpd, tftpd, rshd, rlogind, rexecd и telnetd. Если вы строите защищенную систему, следует использовать статические таблицы маршрутизации. Должна быть заблокирована возможность добавления маршрутов по умолчанию в процессе загрузки системы. Регулярно просматривайте маршрутные таблицы с помощью команды netstat -nr.
При выборе программного обеспечения для защищаемой сети следует тщательно изучить его особенности, ведь авторы программ могут оставить "люки" (недокументированные обходы системы защиты) или предусмотреть универсальный ключ дешифровки сообщений. Абсолютных систем защиты не существует и вряд ли такие системы появятся в будущем. Но можно создать защиту, стоимость взлома которой не окупится. Именно к этому и следует стремиться (люди любопытны, но достаточно ленивы).
Помимо Finger, хорошую службу хакеру может сослужить программа TFTP (ведь она не требует пароля), если с помощью ее доступен файл /etc/passwd, где в закодированном виде хранятся все пароли. Заполучив этот файл, хакер сможет заняться подбором паролей на своей ЭВМ, благо для этой цели имеется немало программ. Желательно вообще закрыть доступ пользователей к TFTP, закомментировав, например, соответствующую запись в файле inetd.conf. Полезно также удалить systat и link. В новейших версиях ОС пароли хранятся в “теневых” файлах, недоступных для обычных пользователей.
Для проверки добротности паролей администратор сети может воспользоваться программами npasswd, passwd+ или SATAN. Программа npasswd проверяет соответствие паролей определенным требованиям перед их запоминанием в соответствующем файле. Среди параметров, контролируемых npasswd, содержится минимальное число символов в пароле, список нелегальных кодов (например, последовательности повторяющихся символов типа “wwww”). Программа контролирует отсутствие в пароле персональной информации, доступной с помощью Finger, проверяет наличие в пароле цифр и букв верхнего и нижнего регистров, а также общеупотребительных слов из словаря. Программа доступна по адресу: FTP://ftp.cc.utexas.edu/pub/npasswd.tar.Z. (см. также [14-16] в конце этой главы).
Программа passwd+ выполняет аналогичные функции, но предоставляет более гибкий набор средств тестирования паролей. passwd+ имеет специальный язык, позволяющий реконфигурировать систему контроля паролей. Конфигурация записывается в файл /etc/password.test (UNIX).
Программа SATAN (работает с ОС UNIX, в настоящее время доступна версия 1.1.1) была создана для подбора (“вскрытия”) паролей, но в умелых руках она может стать эффективным средством выбора надежных паролей и выявления непригодных. При использовании системы SATAN или других аналогичных программных продуктов нужно проявлять особую осторожность. Такие системы имеют встроенную систему защиты, но перехват, например, ключа сессии, может открыть доступ хакеру ко многим паролям пользователей. Эти программы для запуска требуют, как правило, системных привилегий.
Защищенность сети зависит от конфигурации программного обеспечения. Для ОС UNIX определенную угрозу предоставляют так называемые r-команды. Эти команды используют файлы /etc/hosts.equiv и .hosts. Следует проверить эти файлы и /etc/hosts.ltd на наличие символа (+). Нужно помнить, что файл .hosts имеется в каталоге каждого пользователя. Если в вашей сети используется UUCP, удалите все неиспользуемые команды из файла L.cmds, выполните команды chown root L.cmds, chown uucp L.sys и chmod 600 L.sys. Эти меры сделают вашу систему более устойчивой против нежелательных вторжений. Корректная конфигурация NFS и sendmail сделает систему еще безопаснее. Дальнейшей безопасности будет способствовать сокращение списка системных (secure) терминалов (файлы /etc/ttys и /etc/ttytab).
Но само по себе этого недостаточно - администраторы должны постоянно контролировать ситуацию. Для этого рекомендуется регулярно выполнять команды who и ps, которые сообщают список активных пользователей и процессов. Команды ps -aux для BSD и ps -ef для System 5 выведут на экран список пользователей, которые инициировали активные процессы. Вы можете также воспользоваться командой ls -lR, чтобы просмотреть принадлежность и уровни доступности файлов в каталоге. Хакеры часто оставляют на диске файлы, чтобы облегчить себе в будущем доступ или обеспечить системные привилегии. Для контроля ситуации следует время от времени выполнять команду ls -a | grep ‘^\.’, которая ищет файлы, начинающиеся с символа точка. Хакеры часто полагают, что пользователь воспримет файлы типа .mail или .xxxx как системные, и не будет беспокоиться. Если вами найдены файлы, вызывающие подозрения, следует немедленно проконсультироваться с администратором сети.
Объектом самого пристального внимания должны быть файлы /etc/inetd.conf, /etc/hosts.equiv, /etc/hosts.ltd, /etc/passwd и .rhosts. Доступ к ним должен быть ограничен, их копии полезно хранить в недоступном месте. Полезно также записать в отдельный файл основные параметры ваших рабочих файлов, это позволит вам заметить факт их модификации. Чтобы обнаружить “сюрпризы”, оставленные непрошеными визитерами, можно воспользоваться командой find / -user root -perm -4000 -print, которая ищет файлы, принадлежащие root и устанавливающие уровень привилегий -4000. Команда Find может использоваться для проверки уровня доступа к жизненно важным файлам (-perm -2 или -perm -2000), a также файлов без определенного хозяина (-nouser -o -nogroup). Последние файлы должны быть удалены.
Странная активность в системе в необычное время суток, в необычные дни или с неизвестного удаленного терминала должна вызывать пристальное внимание. Для контроля активности в ЭВМ (UNIX) служит команда last. Эта команда отображает содержимое файла /usr/adm/wtmp, где содержится информация о том кто, когда и откуда заходил в систему. Ниже приведен небольшой фрагмент результата работы команды last.
Имя пользователя | Терминал | Имя домена | Дата входа | Время входа |
ftp | ftp | svalla.smart.net | Sat Mar 30 | 02:57 |
semenov | ttyp3 | flta.Helsinki.FI | Fri Mar 29 | 11:51 |
ftp | ftp | osilab.nstu.nsk. | Fri Mar 29 | 08:21 |
ftp | ftp | fsite.dialup.ru | Thu Mar 28 | 16:11 |
ftp | ftp | ix-cha-nc9-55.ix | Thu Mar 28 | 04:59 |
ftp | ftp | pmax.dymaxion.ns | Thu Mar 28 | 03:24 |
ftp | ftp | slip-tsr.srcc.ms | Tue Mar 26 | 6:11 |
FTP | FTP | pmax.dymaxion.ns | Sun Mar 24 | 05:34 |
bobyshev | ttyp2 | 131.169.1.233 | Mon Nov 27 | 09: 57 |
FTP | FTP | ftp01.blue.aol.c | Mon Nov 27 | 03:20 |
FTP | FTP | foley.ripco.com | Mon Nov 27 | 01:03 |
Записи располагаются от настоящего к прошлому, что видно из предлагаемого отрывка. В колонке <Имя пользователя> и <терминал> в случае “анонимного FTP” помещается метка FTP. Так как обычно результат работы команды last занимает десятки страниц, бывает полезно воспользоваться командой grep, чтобы просмотреть отдельные фрагменты файла /usr/adm/wtmp, отвечающие определенным критериям. Например:
last | grep '03:'(поиск входов в систему межу 3 и 4 часами утра)
FTP | FTP | pmax.dymaxion.ns | Thu Mar 28 | 03:24 |
FTP | FTP | jwilson.ott.hook | Thu Mar 14 | 03:31 |
FTP | FTP | assign29.utw.com | Sun Feb 25 | 03:40 |
FTP | FTP | fh_ppp32.monmout | Thu Jan 25 | 03:07 |
FTP | FTP | tpafl3-6.gate.ne | Wed Jan 24 | 03:52 |
FTP | FTP | ttyC1.pandemoniu | Sat Dec 30 | 03:07 |
FTP | FTP | student.uq.edu.a | Sat Dec 9 | 03:17 |
FTP | FTP | s189_81.resnet.u | Wed Dec 6 | 03:37 |
FTP | FTP | golden.ripco.com | Wed Nov 29 | 03:25 |
FTP | FTP | hobbes.jct.ac.il | Wed Nov 1 | 03:43 |
........................................
Пользователю не важно, по какой причине он не получил своевременно важное сообщение, или почему реакция сети вдруг стала равной нескольким секундам. А такие вещи могут происходить из-за установки неоптимальных параметров сети (TTL, MTU, window и т.д.), в результате перегрузки сетевого сегмента (что может произойти, если один из пользователей разорвет кабельный сегмент) или из-за потока широковещательных запросов. Дестабилизация сети может происходить по причине зацикливания пакетов или осцилляций маршрутов. Зацикливание пакета возможно при установке маршрутов по умолчанию типа A -> B и B -> A, когда в системе появляется пакет с ошибочным адресом. Возможно это и при установке параметра вариация > 1 во внутреннем протоколе маршрутизации IGRP. Осцилляции маршрутов свойственны системам с динамическими протоколами маршрутизации при неверной установке таймеров. Источником потока широковещательных запросов может стать IP-мост, по обе стороны которого появились идентичные IP-адреса, или неисправное оборудование (например, сетевой принтер). Администратор должен отслеживать ситуацию и при возникновении нештатного ее состояния, с помощью диагностической программы выявить и устранить причину.
Вы можете быть защищены системой Firewall, использовать шифрование при обменах и т.д., но, если ваш персональный компьютер время от времени доступен для посторонних – он совершенно не защищен. Злоумышленник, вооруженный бутабильной дискетой, может стартовать ЭВМ и, обойдя, таким образом, необходимость ввести пароль, скопирует или сотрет нужные ему файлы. Несколько улучшит ситуацию конфигурация, которая требует ввода пароля на фазе загрузки системы (SYSKEY; Microsoft), а также запирание корпуса ЭВМ и порта флоппи-диска (если это предусмотрено). Если у злоумышленника достаточно времени, он может просто снять с вашей машины жесткий диск, поставить его на свою машину, и сделать все, что ему нужно. Так что какой-то гарантией безопасности может служить лишь надежный запор на помещении, где находится ваша ЭВМ.
Для мониторирования безопасности ЭВМ создан специальный набор программ COPS (Computer Oracle Password and Security). COPS контролирует доступ к файлам, каталогам и оборудованию, содержимое файлов /etc/passwd, /etc/group, /etc/hosts.equiv и .hosts, а также регистрирует изменения состояния SUID. После завершения всех проверок результат посылается в виде почтового сообщения системному администратору. Программы COPS доступны по адресу:
cert.sei.cmu.edu/pub/cops.tar.Z
Существует несколько подписных листов и депозитариев, аккумулирующих и распространяющих информацию по сетевой безопасности:
T (Computer Emergency Response Team) cert@cert.sei.cmu.edu. Депозитарий статей по данной тематике расположен по адресу: FTP://cert.cei.cms.edu /pub/cert_advisories.
t-advisory-request@cert.org
Security Bulletins nic@nic.ddn.mil. Адрес FTP-сервера: nic.ddn.mil /scc/.
ks Forum risks-request@csl.src.com.
опасность в UNIX. bugtraq-request@fc.net (сообщение в теле e-mail: subscribe bugtraq). Там же имеется архив: http://www.geek-girl.com/bugtraq/archieves.html.
же для LINUX: linux-alert-request@RedHat.com (в поле subject: subscribe). Там же есть архив: http://www.redhat.com/linux-info/security/linux-alert/
опасность Windows NT listserv@rc.on.ca (для подписка следует послать сообщение “SUB NTBUGTRAQ ваше имя” (имя, а не ваш почтовый адрес!). Там же имеется депозитарий http://ntbugtraq.rc.on.ca/archieves/ntbugtraq.html
US-L (информация о компьютерных вирусах на PC) listserv%lehiibm1.bitnet @mitvma.mit.edu. В теле сообщения следует поместить:
SUB VIRUS-L <ваше полное имя>.
Немало полезной информации по проблематике сетевой безопасности можно найти в группе новостей comp.security.announce и в анонимных депозитариях:
nic.merit.edu, pyrite.rutgers.edu, sparkyfs.erg.sri.com, ftp.win.tue.nl, info.cert.org, ftp.ucar.edu, ftp.ee.lbl.gov и т.д. (последние два адреса относятся к диагностическим сетевым программам).
Антивирусные программы можно найти во многих анонимных депозитариях, там же обычно есть разделы и по сетевой безопасности, например, www.ynet.com, http://www.esat.kuleuven.ac.be (система SESAME) или ftp://ftp.compapp.dcu.ie/pub/sesame и т.д. В таблице 6.2 приведены ссылки на серверы, посвященные проблематике безопасности и смежным областям.
Таблица 6.2. URL серверов по проблематике безопасности
Библиография по проблематике сетевой безопасности
1 | RFC-1108 | U.S. Department of Defense Security Options for the Internet Protocol, S. Kent, 1991 |
2 | RFC-1244 | Site Security Handbook, P.Holbrook, J.Reynolds, 1991. |
3 | RFC-1281 | Guidelines for the Secure Operations of the Internet, R.Pethia, S.Crocket and B.Frazer, 1991. |
4 | RFC-1507 | DASS - Distributed Authentication Security Service, C. Kaufman, 1993 |
5 | RFC-1508 | Generic Security Service Application Program Interface, J. Linn, 1993 |
6 | RFC-1510 | The Kerberos Network Authentication Service (V5), J. Kohl, B. Numan, 1993 |
7 | RFC-1535 | A Security Problem and Proposed Correction With Widely Deployed DNS Software, E. Gavron, 1993 |
8 | RFC-1675 | Security Concerns for IPng, S. Bellovin, 1994 |
9 | RFC-1750 | Randomness Recommendations for Security, D. Eastlake, S. Crocker, J. Schiller, 1994 |
10 | RFC-1824 | The Exponential Security System TESS: An Identity-Based Cryptographic Protocol for Authenticated Key-Exchange, (E.I.S.S.-Report 1995/4), H. Danisch, 1995 |
11 | RFC-1825 | Security Architecture for the Internet Protocol, R. Atkinson, 1995 |
12 | RFC-1827 | IP Encapsulating Security Payload (ESP), R. Atkinson, 1995 |
13 | RFC-1847 | Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted, J. Galvin, S. Crocker, N. Freed, 199 |
14 | RFC-1858 | Security Considerations for IP Fragment Filtering, G. Ziemba, D. Reed, P. Traina, 1995 |
15 | | TCP/IP Network Administration, Craig Hunt, O’Reilly & Associates, Inc., 1993 |
16 | | Practical UNIX Security, Simpson Garfinkel and Gene Spafford, O’Reilly & Associates, 1991 |
17 | | Computer Security Basics, Deborah Russell and G.T.Gangemi, O’Reilly & Assocates, 1991 |
18 | RFC-1579 | Firewall-Friendly FTP, S. Bellovin, AT&T Bell Laboratories, February 1994 |
Безопасность вещь относительная. Для того чтобы конкретизировать обсуждаемый предмет, введены четыре уровня безопасности, обозначенные латинскими буквами A-D. Каждый из уровней поделен на субуровни, обозначаемые соотвествующей буквой и цифрой (например, А1, А2, А3 или D1, D2 и т.д.). Уровню D1 соответствует DOS, где пользователь имеет доступ ко всем системным ресурсам и программам. Владельцем файлов является текущий пользователь. С-уровень предлагает большую безопасность, чем D-уровень. На С-уровне пользователь должен быть идентифицирован, прежде чем он получит доступ к своим файлам. Стандартная система UNIX с канонической схемой доступа (login/password) относится к уровню безопасности С1. Уровень С2 включает возможность блокировать для пользователя исполнение некоторых команд, если не выполняются определенные условия. При этом пользователь не может также контролировать определенные операции, которые имеют место. Многие современные UNIX-системы, в частности SCO-UNIX, могут обеспечивать безопасность на уровне С2. В-уровень дает еще большие гарантии безопасности, запрещая пользователю изменять условия доступа для файлов. Очень не многие операционные системы и практически ни одна коммерчески доступная система не обеспечивают такого уровня безопасности. Но при выборе уровня безопасности следует учитывать, что повышение надежности неизбежно уменьшает удобство пользования системой, так что обычно приходится идти на определенный компромисс.
Назад: 5.5. Конфигурирование сетевых систем
Оглавление: Телекоммуникационные технологии
Вперёд: 6.1. Технические средства сетевой безопасности