previous down next index search
Previous: 5 Диагностика локальных сетей и Интернет Down: 6.1 Технические средства сетевой безопасности
    Next: 7 Программирование для сетей (новые идеи, принципы и возможности)

6 Сетевая безопасность

Семенов Ю.А. (ИТЭФ-МФТИ)
Yu. Semenov (ITEP-MIPT)

Номер раздела Название раздела Объем в страницах Объем в кбайт
6.1 Технические средства сетевой безопасности 5 90
6.2 Виртуальные локальные сети VLAN, Интранет 4 26
6.3 Система Firewall 12 179
6.4 Системы шифрования 11 47
6.5 Протокол SSL. Безопасный уровень соединителей 22 98
6.6 Безопасная оболочка (SSH) 2 9
6.7 Безопасность WEB-серверов 3 10
6.8 Протокол TLS версия 1.0 59 250
6.9 Квантовая криптография 6 58
6.10 Идентификатор доступа к сети 4 11
6.11 Справочник по безопасности сетевого узла 58 405
6.12 DoS-атаки. Фильтрация на входе сети: Отражение атак DoS, которые используют подмену IP-адреса отправителя (RFC-2827) 11 44
6.13 Правила безопасности для пользователей 5 17
6.14 Технология IpSec 19 60
6.15 Алгоритм предотвращения несанкционированного копирования текстов, программ и мультимедиа-данных 2 7
6.16 Стек протоколов I2P и немного о TOR 46 1743
Итого  


 Who can hope to be safe? Who sufficiently
cautious? Guard himself as he may, every.
moment’s an ambush.
        Horace (Quintus Horatius Flaccus, Venusia, December 8, 65 BC)
Вирусы
Троянский конь
Кролики
Черви
Макровирусы
Молдавская связь
Человек-по-середине
Атаки DNS
Проверка добротности пароля
Инсайдеры
Официальные документы по вопросам безопасности

Совсем недавно персональная ЭВМ стоила в России дороже автомашины, сегодня же сотни тысяч (а может быть и миллионы) ЭВМ работают дома, развлекая и зарабатывая деньги своим хозяевам. Сети ЭВМ из достояния научных центров постепенно стали обязательным атрибутом процветающих торговых фирм, банков, милиции, таможни, налоговой службы и т.д. Если раньше главной проблемой было создание сети и обеспечение доступа к Интернет, то сегодня по мере увеличения размеров сети проблема безопасности выходит на лидирующие позиции. Безопасность - комплексное понятие, это и ограничение нежелательного доступа, и сохранность информации, и живучесть самой сети. Актуальность проблемы подтверждает количество RFC-документов, опубликованных за последнее время [1-14, 18] по данной тематике (см. библиографию в конце данного раздела). Эту статью и несколько последующих следует рассматривать как обзор возможных угроз и способов защиты. В основном это касается обычных сетей, не содержащих конфиденциальную или тем более секретную информацию. Но многие соображения, приводимые здесь, носят достаточно универсальный характер.


Уязвимость сетевых объектов в заметной степени определяется монопольным статусом основных видов программного обеспечения. Windows и UNIX занимают более 90% рынка ОС, Apache и IIS охватывают более 90% рынка программ WEB-сервиса. Когда на каждый десяток разработчиков программного обеспечения приходится миллион тесно сотрудничаюших хакеров, сокращение числа объектов атаки (ОС и основные приложения) создает благоприятные условия для уязвимости потенциальных жертв.
Все это лишний раз подтверждает, что монополии до добра не доводят. Единственным спасением является расшинение многообразия ОС и приложений.

Резонен вопрос, можно ли создать безопасное программное обеспечение? Вообще говоря, нет, но можно разрабатывать достаточно эффективные в отношении безопасности программы. Примером может служить ОС OpenBSD, для которой за семь лет была найдена только одна уязвимость. Но здесь, разумеется следует учесть то, что OpenBSD не слишком популярный продукт (нет многих нужных сервисов), а хакеры народ рациональный и они предпочитают копать под популярные продукты, так как это дает большие доходы.

Распространению эпидемий взломов способствует с одной строны незаинтересованность разработчиков программного обеспечения уведомлять пользователей о выявленных уязвимостях, с другой стороны то, что редкий пользователь по доброй воле устанавливает обновления программ, которые блокируют некоторые выявленные уязвимости.

Существуют юридические аспекты сетевой безопасности, организационные и программно-технические. Проблема усугубляется тем, что законодательство различных стран, связанное с обеспечением конфиденциальности и безопасности, отличается значительно, а Интернет по своей природе носит всемирный характер. Следует помнить, что практически любые меры безопасности ограничивают возможности и свободу клиентов сети. Здесь будут рассмотрены организационные и программно-технические подходы обеспечения безопасности, тем более что следование букве закона не относится к числу главных добродетелей программистов (особенно российских).

Если для защиты от обычных видов преступности мы в основном полагаемся на милицию и правоохранительные органы, то защититься от киберпреступлений мы можем в основном сами. Абсолютная неуязвимость практически невозможна. Но повысить защищенность своего компьютера и сети безусловно можно. К сожалению, киберпреступник часто физически находится за пределами страны жертвы. Более того, законодательство некоторых стран не предполагает выдачу преступников. Более того, киберпреступления часто совершаются с ведома и по поручению руководства.

Рассмотрим сначала факторы, влияющие на надежность сети. Источниками ненадежности сети могут быть:

Основу стабильности сети составляют надежность ЭВМ и сетевого оборудования, а также устойчивость каналов связи. Каналы связи, особенно если речь идет о проводных, достались нам от проклятого царизма, их создатели давно умерли, и спросить не с кого. Начинать надо с того, что в вашей власти, а это, прежде всего, правильная конфигурация узла, разумное распределение ответственности и качество сетевого питания (стабильность напряжения и частоты, амплитуда помех). Для решения последней проблемы используют специальные фильтры, мотор-генераторы и 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 Тбайт и более (а ведь еще несколько лет назад здесь стояла цифра 10Гбайт!).

Отдельную проблему может составлять катострофоустойчивость информационной системы. Здесь имеется в виду сохранность данных в случае стихийных бедствий (пожаров, землятресений, наводнений или прорывов водопроводной трубы на вышерасположенном этаже). Если вся критическая информация находится на каких-то носителях в пределах одной комнаты или даже здания, при катастрофах указанного типа она может быть утрачена. Интернет предоставляет решение этой проблемы. Ведь можно организовать резервное копирование критически важных файлов на носители в удаленном здании или даже в другом городе. Понятно, что при резервном копировании через Интернет данные должны быть криптографически защищаться. Криптографическая защита делает возможным бизнес предоставления услуг резервного копирования (SaaS-технология - Software as a Service). Смотри The Expert Guide to VMware Data Protection and Disaster Recovery. Eric Siebert. Sponsored by Veeam.

Во многих WEB-приложениях возникает необходимость хранения критически важных данных (паролей, номеров кредитных карт, номеров банковских счетов, персональной информации). Смотри также Insecure Storage (from OWASP). Хранится такая информация в базах данных или просто в файлах. Для защиты таких данных обычно используется криптография. То что данные зашифрованы, делает часто их хозяев беззаботными, а напрасно, так как при этом сохраняется достаточно много уязвимостей, сопряженных с ошибками пользователя:

Решение многих из названных выше проблем можно реализовать достаточно простыми мерами:

Существует и другой аспект информационной безопасности. Как защитить персональные данные от разглашения людьми, которые с ними работают? Известно, что базы данных об автомобилях и их владельцах, мобильных телефонах, о прописках, банковских проводках и т.д. стали предметом широкой торговли. Здесь предстоит решить проблемы не только технологического порядка. Проблема эта, вероятно только не в таком масштабе, знакома и в других странах (Essential Guide to Identity & Access Management).



Возможным решение проблем сохранности критических данных (помимо криптозащиты) может стать мониторинг и журналирование операций с файлами, содержащими такую информацию. Кроме того, можно реализовать программы фильтрующие конфиденциальные данные. Например, номера кридитных карт имеют известный формат и обычно снабжены контрольной суммой. Т.о. легко можно выявлять и блокировать попытки передачи по сети номеров кредитных карт.

Широкое внедрение SaaS (не только для резервного копирования) ставит ряд новых проблем. Среди них сопоставимость средств и политик защиты, а также оборудования и программ противодействия вторжениям и DoS-атакам. Важным пунктом является и согласование методов аутентификации и алгоритмов проверки целостности и неискаженности пересылаемых файлов. Большинство провайдеров предлагают 128-битную криптозащиту, но это не всегда является обязательным. Вероятно, это потребует выработки единого стандарта. Практически те же проблемы возникают в случае привлечения аутсорсинга.

К сожалению, помимо объективных причин на надежность и устойчивость работы сети влияет и субъективный фактор. Это, прежде всего некомпетентный персонал, различные компьютерные вирусы и хакеры. Скрытая безработица среди высоко квалифицированных программистов способствует распространению хакерства в России. Практическое отсутствие сетевых вирусов связано с ограниченностью сетей в России и со сложностью их написания, но этот барьер будет скоро преодолен и к этому следует готовиться уже сегодня. Еще в декабре 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 !!!!”

(Не читайте!! Не загружайте!!! Немедленно уничтожайте!!!!)

Или еще один более свежий пример

"if you receive an email titled "it takes guts to say jesus" do not open it. it will erase everything on your hard drive. this information was announced yesterday morning from ibm; aol states that this is a very dangerous virus, much worse than "melissa," and that there is no remedy for it at this time."

Вирусы. ЭВМ, подключенная к сети, потенциально всегда уязвима. Есть сообщения о вирусе cascade в сетях Novell, созданы вирусы, переносимые с помощью электронной почты (например, вирусы, базирующиеся на макросах WinWord), и т.д. Последние наиболее опасны, так как, проглядывая какое-то очередное сообщение, содержащее приложение (attachment), клиент может и не предполагать, какую угрозу это таит. Макро-вирус может выполнять функцию "троянского коня". Тривиальным и одновременно крайне полезным советом является рекомендация стирать, не читая, сообщения, содержащие исполняемое приложение, даже если это сообщение получено от вашего хорошего знакомого (это может быть рассылка, выполняемая макро-вирусом, через его адресную книгу). Если есть сомнения, позвоните вашему знакомому, или пошлите ему mail, прежде чем читать подозрительное послание. Аналогичную угрозу может представлять и копирование через Интернет графических файлов. Они могут содержать в себе, например, фрагменты Java-кодов, которые запускаются при просмотре изображения. Такие коды способствуют более высокому уровню сжатия изображения, но могут использоваться и для вредоносного воздействия на вашу машину.

Троянский конь. К этой категории относят две разновидности объектов. Один из них - программа, засылаемая в атакуемый узел, которая осуществляет перехват всего ввод с терминала, записывает эти данные в файл и позднее пересылает этот файл “хозяину этого коня”. Другой объект является пассивным, выглядит безопасным и привлекательным. Например, находится в каталоге FTP-депозитария games и выглядит как игра. Легковерный клиент может скопировать такой файл и попытаться его запустить. Результатом может стать уничтожение содержимого жесткого диска.

Кролики. Это программы, которые быстро размножаются в памяти или на диске, поглощая ресурсы ЭВМ, что может привести к повисанию или разрушению операционной системы. Сами по себе эти программы, как правило, не несут в себе разрушительных функций.

Черви. Программы, напоминающие “кроликов”, но способные перемещаться по сети Интернет от одного узла к другому (узлы должны иметь идентичную операционную среду).

Макро вирусы. Вирусы, базирующие на макросах таких систем, как excel или winword. Опасность таких вирусов заключается в том, что они могут разноситься электронной почтой, когда соответствующие файлы подсоединены к почтовому сообщению. Попытка просмотра текста excel или winword приводит к заражению ЭВМ этим вирусом. После чего такая машина может стать сама разносчиком вируса. Из-за простоты заражения этот тип вируса в настоящее время наиболее опасен. Кроме того, он может иметь все свойства "троянского коня", что усугубляет опасность.

Все перечисленные программы создавались людьми специально для нанесения вреда, их мотивации предмет изучения психологов и социологов. Но есть потенциально опасные объекты, специально не создаваемые для нанесения вреда. Это, прежде всего, программы, разработанные не профессионалами и не лишенные ошибок. Следует иметь в виду, что любая ошибка в программе опасна сама по себе, но она может стать объектом атаки хакера. По этой причине бездумное использование не сертифицированных программ несет в себе достаточно высокий уровень риска.

Существуют и другие угрозы, например, так называемая “Молдавская связь”. Суть этой уловки, использованной впервые одним из провайдеров в Молдове, заключается в том, что в каком-то депозитарии или web-странице приводится ссылка на некоторый привлекательный объект, например набор эротических картинок. Но для их просмотра предлагается скопировать себе специальную программу. При запуске оговоренной программы канал связи с местным провайдером разрывается и устанавливается связь через модем с другим удаленным провайдером. Это особенно опасно для людей, подключенных к Интернет через модем, так как может стоить им многие сотни долларов за пользование междугородним телефоном.

Cовременные просмотрщики файлов (viewer) и вставные программы (plug-in), предоставляя определенные удобства, несут в себе ощутимые угрозы безопасности. Мало того, что они являются достаточно часто разносчиками вирусов, некоторые из них снабжены интерпретаторами команд. Такие интерпретаторы встраиваются, например, для создания справочной системы, но хакер может ввести туда свои, нужные только ему команды. А некоторые команды могут, скажем, разметить ваш диск. Подводя итоги, можно сказать, что всякая программа, имеющая макро процессор, потенциально опасна. По этой же причине следует избегать применения редактора emacs (UNIX) в качестве внешнего просмотрщика. Опасна и любая программа, способная запустить внешнее приложение. Примером такой программы можно назвать microsoft powerpoint, которая допускает во время презентации запуск любого приложения. Конфигурируя свою систему windows, не желательно объявлять powerpoint в качестве просмотрщика. И чем меньше программ просмотрщиков в системе, тем лучше для ее здоровья.

Современные WEB-серверы довольно широко используют java-аплеты. При этом должны строго выполняться определенные правила.

Если все эти условия выполняются, аплеты совершенно безопасны, но контролировать это желательно.

Если еще несколько лет назад главным стимулом хакера было самоутверждение, стремление всячески обратить на себя внимание, и по этой причине они создавали разрушительные вредоносные коды, то сейчас, когда определяющим является извлечение прибыли, их программы как правило ориентированы на получение конфиденциальной информации. Наметилась тенденция перехода хакеров с создания почтовых вирусов и червей на написание вредоносных кодов, заражение которыми происходит через WEB-серверы. В этом случае хакеры используют различные уязвимости Интернет-браузеров. При этом предпринимаются значительные усилия, чтобы сделать работу вредоносной программы незаметной.

Практически все виды бизнеса критически зависят от сохранности той или иной информации (бухгалтерская отчетность, деловая переписка с клиентами, описания технологий, списки клиентов и пр.). При работе с этими данными возникает достаточно много проблем, сопряженных с обработкой деловой информацией. Это и сокращение периодов резервного копирования, и стоимость систем памяти, и ускорение времени восстановления в случае повреждения файлов, и повышение надежности системы, и исключение кражи данных и т.д. Многие из этих проблем не связаны непосредственно с сетвой безопасностью, но и разделить одно от другого достаточно сложно.

При создании протоколов Интернет в начале 80-х годов авторы мало думали о безопасности. Предполагалось, что пользоваться сетью будут исключительно ответственные и добропорядочные люди. Но людям, к сожалению, свойственно преувеличивать свои положительные качества. Реальность оказалась не столь позитивна. Сказалась и любовь получать что-то бесплатно и врожденный разрушительный потенциал. Некоторые приемы хакеров описаны в разделе, посвященном протоколу TCP, другие в некоторых статьях данного раздела (см. Обзор уязвимостей, некоторых видов атак и средств защиты (раздел 6.3.1)). Рассмотрим, что может произойти, если будет получен 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 в середине сессии, соединение будет закрыто, о чем будет оповещено приложение и пользователь. Аналогичного эффекта можно добиться, послав отправляющей стороне ICMP_NET_UNREACH, ICMP_HOST_UNREACH или ICMP_PORT_UNREACH. Вариант с привлечением протокола ICMP привлекатетен тем, что не требует угадывания ISN. Для того чтобы вызвать десинхронизацию в середине сессии, не закрывая соединения, достаточно поменять порядковые номера в сообщениях. Протокол 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 (или AES), которая способна гарантировать приемлемое быстродействие для шифрования и дешифрования в реальном масштабе времени. Секретный ключ 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.


Имя пользователя Терминал Имя домена Дата входа Время входа
ftpftpsvalla.smart.netSat Mar 3002:57
semenovttyp3flta.Helsinki.FIFri Mar 2911:51
ftpftposilab.nstu.nsk.Fri Mar 2908:21
ftpftpfsite.dialup.ru Thu Mar 2816:11
ftpftpix-cha-nc9-55.ixThu Mar 2804:59
ftpftppmax.dymaxion.nsThu Mar 2803:24
ftpftpslip-tsr.srcc.msTue Mar 26 6:11
FTPFTPpmax.dymaxion.nsSun Mar 2405:34
bobyshevttyp2131.169.1.233Mon Nov 2709: 57
FTPFTPftp01.blue.aol.cMon Nov 2703:20
FTPFTPfoley.ripco.comMon Nov 2701: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

........................................


Из-за SPAM, spyware, malware и других вредоносных кодов теряется до 20% рабочего времени в год. Из материалов Galiup Management journal следует, что 56% служащих "путешествуют по Интернет" (например, посещают YouTube) вместо того, чтобы выполнять свои прямые служебные обязанности. Еще 15% служащих активно уклоняются от продуктивной работы. Все это говорит о том, что потери из-за сетевых атак, во многих случаях не могут пока считаться наибольшей угрозой бизнесу.

Решить данную проблему можно, введя определенную политику использования сети AUP (Acceptable Use Policy). Смотри также материалы по политике конфиденциальности. Такая политика характеризуется набором правил, часть из которых должны выполнять пользователи, а часть реализуется аппаратно, запрещая доступ к определенным URL. Но в любом случае должна существовать система мониторинга, контролирующая выполнение AUP сотрудниками.

Пользователю не важно, по какой причине он не получил своевременно важное сообщение, или почему реакция сети вдруг стала равной нескольким секундам. А такие вещи могут происходить из-за установки неоптимальных параметров сети (TTL, MTU, window и т.д.), в результате перегрузки сетевого сегмента (что может произойти, если один из пользователей разорвет кабельный сегмент) или из-за потока широковещательных запросов. Дестабилизация сети может происходить по причине зацикливания пакетов или осцилляций маршрутов. Зацикливание пакета возможно при установке маршрутов по умолчанию типа A -> B и B -> A, когда в системе появляется пакет с ошибочным адресом. Возможно это и при установке параметра вариация > 1 во внутреннем протоколе маршрутизации IGRP. Осцилляции маршрутов свойственны системам с динамическими протоколами маршрутизации при неверной установке таймеров. Источником потока широковещательных запросов может стать IP-мост, по обе стороны которого появились идентичные IP-адреса, или неисправное оборудование (например, сетевой принтер). Администратор должен отслеживать ситуацию и при возникновении нештатного ее состояния, с помощью диагностической программы выявить и устранить причину.

Вы можете быть защищены системой Firewall, использовать шифрование при обменах и т.д., но, если ваш персональный компьютер время от времени доступен для посторонних - он совершенно не защищен. Злоумышленник, вооруженный бутабильной дискетой, может стартовать ЭВМ и, обойдя, таким образом, необходимость ввести пароль, скопирует или сотрет нужные ему файлы. Несколько улучшит ситуацию конфигурация, которая требует ввода пароля на фазе загрузки системы (SYSKEY; Microsoft), а также запирание корпуса ЭВМ и порта флоппи-диска (если это предусмотрено). Если у злоумышленника достаточно времени, он может просто снять с вашей машины жесткий диск, поставить его на свою машину, и сделать все, что ему нужно. Так что какой-то гарантией безопасности может служить лишь надежный запор на помещении, где находится ваша ЭВМ.

Большинство современных маршрутизаторов и систем FireWall имеют средства обслуживания списков управления доступом ACL (Access Control List). Помимо безопасности ACL могут использоваться и для управления QoS/ToS. Списки доступа могут работать не только с IP-адресами, но и с адресами уровня L2. Список ACL содержит последовательность указаний. Такие указания могут содержать два оператора permit (разрешить) и deny (запретить). Когда список создан, маршрутизатор каждый пакет, следующий через маршрутизатор, сверяется со списком ACL (сверху - вниз). В начало списка следует помещать указания, которые реализуются с большей вероятностью. Списки для IP упордочиваются в порядку возрастания. Возможности при формировании и использовании списка ACL могут варьироваться в зависимости от версии IOS. Существуют и расширенные списки ACL, которые позволяют фильтровать трафик по протоколам, используя ключевые слова (icmp, ospf, tcp, udp, igmp, pim и др. В расширенных списках может использоваться и расширенный перечень операторов сравнения (по номерам портов, по уникаст и мультикаст-адресам, по ToS и т.д.).

Для мониторирования безопасности ЭВМ создан специальный набор программ 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

Существует несколько подписных листов и депозитариев, аккумулирующих и распространяющих информацию по сетевой безопасности:

  1. T (Computer Emergency Response Team) cert@cert.sei.cmu.edu. Депозитарий статей по данной тематике расположен по адресу: FTP://cert.cei.cms.edu /pub/cert_advisories.
  2. t-advisory-request@cert.org
  3. Security Bulletins nic@nic.ddn.mil. Адрес FTP-сервера: nic.ddn.mil /scc/.
  4. ks Forum risks-request@csl.src.com.
  5. опасность в UNIX. bugtraq-request@fc.net (сообщение в теле e-mail: subscribe bugtraq). Там же имеется архив: http://www.geek-girl.com/bugtraq/archieves.html.
  6. же для LINUX: linux-alert-request@RedHat.com (в поле subject: subscribe). Там же есть архив: http://www.redhat.com/linux-info/security/linux-alert/
  7. опасность Windows NT listserv@rc.on.ca (для подписка следует послать сообщение “SUB NTBUGTRAQ ваше имя” (имя, а не ваш почтовый адрес!). Там же имеется депозитарий http://ntbugtraq.rc.on.ca/archieves/ntbugtraq.html
  8. 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 серверов по проблематике безопасности

Адрес Тематика
http://cgi.netscape.com/newsref/std/cookie_spec.html Спецификация Netscape Cookie
http://www.eff.org Electronic Frontier Foundation
http://www.epic.org Electronic Privacy Information Center
http://www.cdt.org Center for Democracy and Technology
http://www.w3.org/pub/WWW/Security/Dsig/ Overview.html Обзор по электронным подписям
http://www.iitf.nist.gov/ipc/ ipc-pub.html Доклад IETF по проблемам конфиденциальности
http://www.w3.org/Privacy/ Информация по проекту Р3 (конфиденциальность)
http://www.w3.org/Submission/1997/6/Overview.html Предложение по открытому стандарту по профайлам
http://www.truste.org/ Проект TRUSTe
http://www.w3.org/pub/WWW/PICS/ Базовая страница PICS
http://www.rsac.org/ Страница RSAC
http://www.safesurf.com SafeSurf
http://www.c2.net
http://www.stronghold.ukweb.com/
SSL
http://www.microsoft.com/security/guidesent.htm
http://www.microsoft.com/ntserversupport/
ftp://ftp.microsoft.com/bussys/winnt-public/fixes/usa/ nt4/
Рекомендации по безопасной установке и конфигурированию Windows NT
ftp://ftp.microsoft.com/bussys/winnt-public/fixes/usa/nt4/ Служба быстрого реагирования для системы Windows NT
http://www.mcafee.com/ Антивирусная программа McAfee
http://www.symantec.com/ -“- Symantec
http://www.datawatch.com/ virex.shtml/ -“- Virex
http://www.av.ibm.com/ IBM AntiVirus
http://www.drsolomon.com/ Dr. Solomon’s Anti-Virus
http://www.vtw.org/ Наблюдательный совет по телекоммуникациям
http://www.microsys.com/pics/software.htm
http://www.n2h2.com/pics/proxy_servers.html
Тексты фильтрующих программ PICS
http://www.rsa.com/rsa/S-MIME/ Программное обеспечение безопасной почты S-MIME
http://www.verisign.com/ Страница VeriSign. Индивидуальные сертификаты.
http://www.perl.com/CPAN/modules/by-module/ Модуль MD5 на языке PERL
http://www.ee.washington.edu/computing/iebug/ Описание того, как пароли могут быть перехвачены в NT
http://www.security.org.il/msnetbreak/ То же для Windows-95
http://www.efsl.com/security/ntie/ “Дыры” в Firewall
http://www.nwnetworks.com/ietf.html/ Неофициальный сервер по безопасности MS Internet Explorer
http://www.microsoft.com/security/ Советы по безопасности компании Microsoft
http://home.netscape.com/info/security-doc.html/ Безопасность Netscape
http://www.entrust.com/
http://www.cybertrust.gte.com/
http://www.xcert.com/
http://www.thawte.com/
http://eurosign.com/
http://www.cost.se/
http://www.surgeons.co.za/certificate.html/
http://www.compusource.co.za/
http://www.keywitness.ca/
Сертификация
http://internet.junkbuster.com/
http://www.intermute.com/
http://www.anonymizer.com/
Анонимные прокси-серверы
http://www.w3.org/pub/WWW/PICS/
http://www.microsys.com/pics/software.htm/
http://www.n2h2.com/pics/proxy_servers.html/
http://www.rsac.org/
Фильтрующие программы PICS
http://hpcc995.external.hp.com/gsy/security/virvault/ HP WEB-сервер по вопросам безопасности
ftp://crvax.sri.com/risks/ Форум, где обсуждаются риски для вычислительных и сетевых систем
http://sweetbay.will.uiuc.edu/cgi%2B%2B/ Библиотека C++ CGI
http://www.boutell.com/cgic/ CGI библиотека для C
http://www.genome.wi.mit.edu/ftp/pub/software/WWW/ Perl-модули CGI
http://www.webcompare.com/ Сравнение различных WEB-серверов
http://hopf.math.nwu.edu/docs/security.html/ Безопасность WEB
http://www.iss.net/ www.ntsecurity.com/
http://www.lanwan.fi/turva/nt/ntscan.html/
ftp://coast.cs.purdue.edu/pub/tools/unix/iss/
Программа сканирования безопасности (коммерческая)
Тоже, но общедоступная
ftp://ftp.win.tue.nl/pub/security/satan.tar.Z/
http://www.cs.purdue.edu/coast/satan.html/
Программа проверки безопасности SATAN
ftp://net.tamu.edu/pub/security/TAMU/
ftp://ftp.cert.org/pub/tools/cops/
Проверка конфигурации системы
ftp://prep.ai.mit.edu/pub/gnu/ Проверка не поврежденности сообщений (MD5)
ftp://ftp.sunsite.unc.edu/pub/Linux/system/Admin/shadow-960129.tar.gz/ Увод файла паролей в “тень”
http://www.uu.se/ Software/Analysers/
http://www.tuckinfo.com/
http://www.netgen.com/
http://www.ics.icu.edu/pub/websoft/ wwwstat/
http://www.statlab.cam.ac.uk/~sret1/analog/
http://ntsoftdist.com/sentry.htm/
http://www.serverware.com/
http://www.marketwave.com/
http://www.webtrends.com/
http://www.boutell.com/wusage/
http://www.go-iis.com/
ftp://sierra.stanford.edu/pub/sources/ swatch-2.1tar.gz/
Анализаторы Log-файлов
 
 
 
 
NT
http://info.webcrawler.com/mak/projects/robots.html/ Страница роботов
http://www.osf.org/tech/dce/
http://octavia.anu.edu.au/~marcus/DCE-WEB/papers/Conf_94.html/
DCE и WEB
ftp://thumper.bellcore.com.pub/nmh/skey/ Одноразовые ключи
ftp://ftp.win.tue.nl/pub/security/ Сетевой доступ в UNIX (wrapper)
ftp://ftp.psy.uq.oz.au/pub/Crypto/ Telnet, базирующийся на протоколе SSL
http://www.cs.hut.fi/ssh/
http://www.datafellows.com/f-secure/
Безопасное ядро UNIX (SSH)
то же для Windows и Macintosh
ftp://ftp.ee.cornell.edu/pub/file/ Программа для определения содержимого файла

Библиография по проблематике сетевой безопасности

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. В-уровень дает еще большие гарантии безопасности, запрещая пользователю изменять условия доступа для файлов. Очень не многие операционные системы и практически ни одна коммерчески доступная система не обеспечивают такого уровня безопасности. Но при выборе уровня безопасности следует учитывать, что повышение надежности неизбежно уменьшает удобство пользования системой, так что обычно приходится идти на определенный компромисс.

Для коммерческих предприятий безопасность является экономической категорией (см. Risk Management: Bridging Policies and Procedures - Fundamental Security Concepts или Understanding the Basic Configuration of the Adaptive Security Appliance (ASA)) и нужно научится оценивать эффективность средств защиты. Чрезмерные издержки здесь могут быть столь же плохи, как и недостаточные вложения.

Ниже в таблиице представлен список базовых официальных документов по протоколам и алгоритмам безопасности.Securing IP networks

Тип документаДокументы
IPsecRFC 2401 - Security Architecture for the Internet Protocol
RFC 4301 - Security Architecture for the Internet Protocol
ESPRFC 2406 - IP Encapsulating Security Payload (ESP)
RFC 4303 - IP Encapsulating Security Payload (ESP)
AHRFC 2402 - IP Authentication Header
RFC 4302 - IP Authentication Header
ШифрыRFC 2405 - The ESP DES-CBC Cipher Algorithm With Explicit IV
RFC 2410 - The Null Encryption Algorithm and Its Use With IPsec
RFC 2451 - The ESP CBC-Mode Cipher Algorithms (3DES)
RFC 3602 - The AES CBC-Cipher Algorithm and Its Use With IPsec
RFC 3686 - Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP) NIST, FIPS PUB 197, Advanced Encryption Standard (AES), Nov 2001
NISA, Special Publication 800-38A, Recommendation for Block Cipher Modes of Operation, Dec 2001
RFC 4309 - Using Advanced Encryption Standard (AES) CCM Mode With IPsec Encapsulating Security Payload (ESP), Dec 2005
RFC 4106 - The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP), Jun 2005
RFC 4543 - The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH, May 2006
NIST, The Galois/Counter Mode of Operation (GCM), May 2005
csrc.nist.gov/CryptoToolkit/Modes/pro posedmodes/gcm/gcm-revised-spec.pdf
NIST FIPS 186-2, Digital Signature Standard, Jan 2000
fips186-2/csrc.nist.gov/publication/fips/fips186-2-change1.pdf
ANSI X9.31 - RSA Digital Signature
NIST FIPS 186-2, Digital Signature Standard, Jan 2000
csrc.nist.gov/publication/fips/fips186-2/fips186-2-change1.pdf
ANSI X9.31 - RSA Digital Signature
ANSI X9.62 - ECDSA, Elliptic Curve Digital Signature Algorithm
Алгоритмы аутентификацииRFC 2104 - HMAC: Keyed Hashing for Message Authentication, Informational February 1997
RFC 2403 - The use of HMAC-MD5-96 within ASP and AH, Nov 1998
RFC 2404 - The use of HMAC-SHA-1-96 within ASP and AH, Nov 1998
RFC 3566 - The AES-XCBC-MAC-96 Algorithm and its Use With IPsec, Sep 2003
NIST, FIPS-180-2 Secure Hash Standard (SHA-1, SHA-2, SHA-384, SHA-512), Aug 2002
RFC4231 - Identifiers and Test Vectors for HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384 and HMAC-SHA-512, Dec 2005
RFC4494 - The AES-CMAC-96 Algorithm and Its Use With IPsec, Jun 2006
IKE и IKEv2RFC 2407 - The Internet IP Security Domain of Interpretation for ISAKMP, Nov 1998
RFC 2408 - Internet Security Association and Key Management Protocol (ISAKMP), Nov 1998
RFC 2409 - The Internet Key Exchange (IKE), Nov 1998
RFC 4109 - Algorithms for Internet Key Exchange version 1 (IKEv1), May 2005
RFC 4306 - Internet Key Exchange (IKEv2) Protocol, Dec 2005
RFC 4434 - The AES-XCBC-PRF-128 Algorithm for the Internet Key Exchange Protocol (IKE), Feb 2006
NATRFC 3022 - Traditional IP Network Address Translator (Traditional NAT), Jan 2001
RFC 3715 - IPsec-Network Address Translation (NAT) Compatibility Requirements, Mar 2004
RFC 3948 - VDP Encapsulation of IPsec ESP Packets, Jan 2005
SRTPRFC 3711 - The Secure Real-time Transport Protocol (SRTP), Mar 2004
Алгоритм Диффи-ХелманаRFC 2539 - Storage of Diffie-Hellman Keys in the Domain Name System (DNS), Mar 1999
RFC 2631 - Diffie-Hellman Key Agreement Method, Jun 1999
RFC 3526 - More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE), May 2003
RFC 5144 (Jan 2008), 4754, 4753 and 4492

Previous: 5 Диагностика локальных сетей и Интернет Down: 6.1 Технические средства сетевой безопасности
    Next: 7 Программирование для сетей (новые идеи, принципы и возможности)