Новый инструмент поможет следить за маршрутизаторами Cisco.
Сосредоточив все внимание на защите серверов приложений, ответственные за обеспечение безопасности администраторы нередко выпускают из поля зрения маршрутизаторы. Между тем маршрутизаторы являются важнейшими компонентами ИТ-инфраструктуры. Поскольку обычно эти устройства располагаются «по ту сторону» брандмауэров и потенциальные злоумышленники могут выходить на них прямо из Internet, маршрутизаторы, вероятно, защищены хуже, чем большинство серверов сети. Часто бывает, что единственным устройством, видимым за периметром средств сетевой защиты, как раз и является Internet-маршрутизатор, а ведь на нем могут быть установлены такие потенциально уязвимые службы, как SNMP, Finger и HTTP. Получившие доступ к маршрутизаторам непрошеные гости тем самым захватывают плацдарм для организации более сложных атак на демилитаризованную зону (demilitarized sone, DMZ) и на внутреннюю локальную сеть или для того, чтобы спровоцировать отказ в обслуживании (Denial of Service, DoS).

Маршрутизаторы следует оснащать, по меньшей мере, самыми необходимыми средствами защиты, а для этого нужно проводить их аудит. Поскольку в сетях большинства организаций имеются устройства компании Cisco Systems, от выполняющего такой аудит администратора требуется знание операционной системы Cisco Internetwork Operating System (IOS). Но даже ответственные за обеспечение безопасности администраторы, хорошо знакомые с Cisco IOS, могут счесть подобное исследование чрезвычайно сложным. Дело в том, что хотя такие сканирующие программы, как предназначенное для выявления пробелов в системе безопасности и созданное на базе UNIX средство Nessus с открытым исходным кодом, а также программа Internet Security Systems (ISS), и обеспечивают некоторые возможности для контрольных проверок маршрутизаторов, надо признать, что полученные с их помощью оценки, как правило, поверхностны. Да и вообще, эти средства ориентированы скорее на обследование серверов приложений, таких, как серверы электронной почты или Web-серверы. Тем не менее в Internet по адресу: http://www.cisecurity.org , можно получить бесплатно распространяемое центром Center for Internet Security (CIS) программное средство, которое поможет нам выяснить, соответствует ли тот или иной маршрутизатор базовым требованиям безопасности.

Средство контроля маршрутизаторов Cisco

Центр CIS выпустил бесплатную программу тестирования и получения контрольных характеристик маршрутизаторов Cisco IOS (и других устройств, функционирующих в среде Cisco IOS). Программа Cisco IOS Router Benchmark включает в себя представленный в виде документа HTML стандарт с описанием настроек конфигурации маршрутизаторов в соответствии с указаниями Агентства национальной безопасности США (National Security Agency, NSA), Router Audit Tool (RAT — не путать с «троянским конем» Remote Access Trojan). Это программа на языке Perl, она сравнивает настройки тестируемого маршрутизатора с эталонными и дает этим настройкам оценку. Чтобы загрузить данную программу, требуется представить некоторые сведения о своей организации, а если необходимо распространять RAT внутри предприятия или использовать ее для сертификации сетей на коммерческой основе, то нужно вступить в члены CIS.

Центр по разработке средств обеспечения безопасности в Internet — независимая организация. На основе предложений, поступающих от предприятий отрасли, правительства и пользователей, она создает стандарты и эталонные программы, способствующие повышению уровня безопасности работы в Internet. Центр финансируется за счет членских взносов и пожертвований, а основную часть работы выполняют добровольцы. Среди членов CIS — и такие крупные корпорации и организации, как Intel, Американский институт дипломированных аудиторов (American Institute of Certified Public Accountants, AICPA), Институт системного администрирования, аудита, сетевых технологий и проблем безопасности (SysAdmin, Audit, Network, and Security Institute, SANS), и небольшие компании, группы пользователей, а также отдельные лица.

RAT for Windows: два уровня защиты

До недавнего времени программу RAT могли применять только пользователи систем UNIX. Но с выпуском редакции RAT 1.1 центр CIS дополнил ее и Windows-версией. Среди других усовершенствований RAT 1.1 — более простая в использовании программа конфигурации, которая меняет условия тестирования в зависимости от особенностей конфигурации конкретного устройства, содержит список часто задаваемых вопросов, средство для загрузки RAT без использования написанной на языке Perl подпрограммы snarf (она применялась для загрузки файлов конфигурации более ранних версий RAT), а также незначительные исправления и корректировки.

Cisco IOS Router Benchmark, как, впрочем, и большинство других эталонных тестов CIS, основана на подготовленном Агентством национальной безопасности руководстве по конфигурированию маршрутизаторов NSA Router Security Configuration Guide. Поэтому государственные организации и коммерческие структуры в целом сходятся на том, что эталонные настройки обеспечивают достаточный уровень безопасности.

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

Cisco IOS Router Benchmark поддерживает два уровня безопасности: уровень 1 (Level 1) — ориентированный на типичные условия эксплуатации и пригодный для большинства компаний, и уровень 2 (Level 2) — предусматривающий применение некоторых нестандартных средств, таких, как протоколы Border Gateway Protocol (BGP) и IP Security (IPSec), и предназначенный для сетей, требующих более высокой степени защиты. Эталонная программа Level 1 обеспечивает минимальную степень защиты для подключенных к Internet маршрутизаторов в соответствии со стандартом для маршрутизаторов Cisco. Выбор необходимого уровня эталонной проверки осуществляется при запуске файла ncat_config, о котором пойдет речь в следующем разделе.

Установка программы RAT

Перед тем как приступить к использованию программы RAT, необходимо выполнить несколько подготовительных мероприятий. Во-первых, следует установить в системе средства для работы с языком Perl, если, конечно, они еще не установлены. Во-вторых, требуется загрузить и установить программу RAT (с подпрограммой snarf или без нее). В-третьих, нужно запустить программу ncat_config для установки RAT в своей сети. Теперь все готово к запуску программы RAT (с использованием команд snarf или без них).

RAT поставляется с компонентом snarf, который автоматически вступает во взаимодействие с маршрутизаторами и загружает их файлы конфигурации. Использовать snarf необязательно, однако этот компонент может пригодиться тем администраторам, которые редко работают с операционной системой Cisco IOS. Если нет желания использовать snarf, то потребуется учетная запись с правами администратора, а также IP-адреса для маршрутизаторов.

Как уже отмечалось, для запуска RAT необходимо, чтобы на машине Windows был предварительно установлен Perl. Хотя почти на всех системах UNIX этот язык устанавливается по умолчанию, в стандартный набор программ для систем Windows он не входит, так что его, по всей вероятности, придется загрузить и установить. Центр CIS рекомендует использовать версию ActiveState Perl 5.6.1 или более поздние редакции. Код можно получить на Web-узле компании ActiveState по адресу: http://www.activestate.com. Надо сказать, что Perl распространяется бесплатно и применяется многими программами, так что, в общем и целом, это полезное средство. Кстати, нужно будет заглянуть на сервер Comprehensive Perl Archive Network (CPAN-http://www.perl.com/CPAN), глобальное хранилище кода на языке Perl, служебных программ, часто задаваемых вопросов, документации и комплектов для установки, чтобы загрузить несколько дополнительных библиотек для Perl. В архиве CPAN можно автоматически и без лишних хлопот загрузить и установить необходимые библиотеки Perl. Для того чтобы загрузить дополнительные библиотеки, которые нужны для функционирования компонента snarf, после загрузки и установки Perl требуется открыть окно DOS и ввести следующие команды:

ppm install Net-Telnet

ppm install Net-Telnet-Cisco

Дополнительные библиотеки будут загружены из хранилища CPAN и установлены на машине. Если в планы администратора не входит загрузка файлов конфигурации средствами программы RAT, эти команды можно не использовать. Тем, кто не знаком с системой IOS или не может рассчитывать на помощь технического специалиста по Cisco, я настоятельно рекомендую воспользоваться подпрограммой snarf; она защитит маршрутизатор от возможных неприятностей, вызванных ошибками администратора.

Итак, все готово к установке программы RAT. Теперь необходимо загрузить ее с Web-узла CIS, распаковать и ввести в командной строке

perl winmake.pl PATH

где вместо PATH нужно указать путь к каталогу, в котором будет установлен RAT. Я не рекомендую размещать программу в том же каталоге, где она была распакована. Когда я попытался это сделать, система выдала сообщение об ошибке. Если использовать snarf для загрузки файлов конфигурации не планируется, необходимо ввести следующий текст:

perl winmake -nosnarf.pl

Еще одна возможность — использовать файл install.bat, с помощью которого можно автоматизировать ввод указанных команд.

После установки RAT нужно запустить программу ncat_config; она сконфигурирует RAT для проверки маршрутизаторов. Чтобы запустить ncat_config, следует ввести

perl ncat_config

в командной строке подкаталога /bin главного каталога RAT. Программа ncat_config задаст несколько вопросов о сети и использует полученные данные для приведения условий тестирования в соответствие с ее особенностями (к примеру, она спросит, используется ли в сети сервер времени Network Time и применяются ли другие необязательные настройки). Если администратор не уверен в ответе, можно ввести в командной строке символ «?» и получить более полное описание каждого параметра. Можно также просто принять предлагаемые по умолчанию настройки; они вполне подходят почти для всех конфигураций.

Выполнение программы RAT

Для испытания настроек маршрутизатора с помощью эталонной программы следует перейти в подкаталог /bin главного каталога RAT. Необходимо ввести команду
perl rat CONFIGFILE

в которой CONFIGFILE следует заменить именем и путем доступа к файлу конфигурации. Если на локальной машине нет копии файла конфигурации и нужно загрузить ее с помощью утилиты snarf, введите в командной строке следующие инструкции:

perl rat CONFIGFILE -snarf

-user USERNAME -userpw

USERPASSWORD -enablepw

ENABLEPASSWORD IPADDR-OF-ROUTER

заменив выделенные прописными буквами переменные соответствующим данными, характеризующими конкретный маршрутизатор. Если нужно подвергнуть эталонной проверке несколько маршрутизаторов, можно ввести несколько IP-адресов, отделяя их друг от друга запятыми. Если же IP-адреса неизвестны, можно использовать полные имена Fully Qualified Domain Names (FQDN), например router1.example.com. Если значения переменных snarf не задать, программа предложит ввести каждое из этих значений при попытке подсоединения к каждому из устройств.

Отчет RAT

По завершении выполнения программы RAT генерируется семь файлов. В Таблице 1 приводятся имена файлов и их описание. Я установил и протестировал RAT на маршрутизаторе Cisco 2600. Это довольно простая машина; по своим функциональным возможностям и уровню сложности она, вероятно, уступает более крупным базовым маршрутизаторам. Однако правила уровня безопасности 1 (Level 1) применимы ко всем маршрутизаторам.
Таблица 1. Файлы отчета RAT.
Имя файлаОписание файла
All.htmlФайл отчета, содержащий результаты по всем испытанным маршрутизаторам (если тестированию подвергалось несколько устройств одновременно).
All.ncat_report.txtТекстовый файл, содержащий сведения обо всех исследованных маршрутизаторах.
All.ncat_config.txtТекстовый файл, содержащий настройки конфигурации исследованных маршрутизаторов.
Cisco-IOS-benchmarkHTML-файл с описанием эталонных испытаний, которым программа RAT подвергает маршрутизаторы для их оценки.
Rules.htmlПолное описание всех правил, которые программа RAT учитывает в ходе испытаний.
Index.htmlГлавная страница со ссылками на все файлы отчета.
Sampleconfig.txt.htmlФайл отчета по отдельным файлам конфигурации (замените символы sampleconfig именем файла конфигурации). Если проверяется всего один маршрутизатор, данный файл будет идентичен файлу all.html.

Отображенный на Экране 1 файл all.html представляет собой отчет в формате HTML, где перечислены все правила и показано, действует ли то или иное правило на тестируемом маршрутизаторе. Pass означает, что правило используется, fail — что правило не учитывается. Инструментальное средство RAT оценивает каждое правило по шкале от 1 до 10. При этом правила, отсутствие которых может создать серьезные проблемы в системе безопасности, оцениваются более высоко. А те правила, несоблюдение которых может вызвать лишь незначительные неполадки с точки зрения защиты данных, получают более низкие значения. В принципе применение этой шкалы гарантирует, что, если маршрутизатор не использует несколько малозначительных правил, он тем не менее пройдет испытание. Несоблюдаемые правила выделены в тексте отчета красным шрифтом. Кроме того, в отчете суммируются результаты применения различных правил, и каждый маршрутизатор получает итоговую оценку. Первые 11 правил, связанных по большей части с обеспечением безопасности регистрации в системе, имеют самый большой вес. Строкам файла конфигурации, связанным с каждым правилом, присвоены номера, так что администратор может легко найти в файле конфигурации нереализованные правила.

В завершающей части общего отчета содержится сводка показателей каждого устройства, представленная на Экране 2. Показатели приводятся и в виде процента реализованных правил, и в виде взвешенной оценки, учитывающей значение каждого правила.

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

Известно, что маршрутизаторы — весьма капризные устройства, когда речь идет об их настройке (обеспечение должного уровня защиты маршрутизаторов требует меньших усилий). Многие администраторы с удовольствием «абстрагируются» от маршрутизаторов, если только те не вызывают очевидных проблем. Однако маршрутизаторы нередко являются в буквальном смысле слова воротами в сеть компании. Во многих случаях именно на них возлагается трансляция сетевых адресов (Network Address Translation, NAT), обеспечивающая сокрытие внутренних IP-адресов от внешнего мира. Поэтому обеспечение безопасности маршрутизаторов — важная задача. Было бы полезно посетить Web-узел центра CIS, загрузить программу RAT и посмотреть, как защищены маршрутизаторы Cisco.

Тони Хаулетт — президент консалтинговой компании Network Security Services, имеет сертификаты CISSP и GSNA. С ним можно связаться по адресу: thowlett@netsecuritysvcs.com.

Поделитесь материалом с коллегами и друзьями