Все больше хакеров стало охотиться за добычей покрупнее. Предлагаемая информация поможет защитить ваши маршрутизаторы от их цепкой хватки.
Cамый распространенный подход к проектированию сети заключается в построении сплошной защиты по ее периметру, при этом на линии огня остается лишь маршрутизатор. Обеспечение его собственной безопасности приобретает все большее значение по мере усложнения подключенных к Internet сетей. Атаки на маршрутизатор могут вызвать перегрузку центрального процессора, привести к неправильному управлению трафиком и даже к полной неработоспособности устройства.
Подобные атаки на маршрутизаторы провайдеров Internet приводят к снижению производительности и, как следствие, к снижению качества предоставляемых клиентам услуг. Это всего лишь несколько причин, по которым безопасность маршрутизатора следует считать не менее важной, чем безопасность приложений или любых других компонентов сети.
В данной статье рассматриваются средства и методы защиты маршрутизатора, анализируются встроенные возможности обеспечения безопасности современных маршрутизаторов, а также детально рассматриваются процедуры, осуществление которых позволит повысить уровень защищенности маршрутизаторов.
ВСТРОЕННЫЕ БАРЬЕРЫ
Пытаясь определить, что же такое безопасность маршрутизатора, необходимо четко осознавать его отличия от межсетевого экрана. Основное предназначение маршрутизатора — направлять поток информации от источника к получателю через Internet, в то время как межсетевой экран призван защитить находящиеся за ним устройства. В данной статье под термином «защита маршрутизатора» понимается именно обеспечение собственной безопасности устройства, а не расположенных за ним элементов сети.
Наличие достаточного количества встроенных механизмов защиты является ключевым моментом в обеспечении безопасности маршрутизатора. Один из важнейших среди них — встроенная возможность анализа трафика. Обычно маршрутизаторы осуществляют контроль трафика на уровнях со второго по четвертый (пакетном — Data Link, сетевом — Network, и транспортном — Transport) иерархической модели взаимодействия открытых систем (Open Systems Interconnection, OSI). Лет десять назад такой защиты было бы вполне достаточно, но сегодня она неадекватна возросшим угрозам.
Контекстная проверка пакетов (Stateful Packet Inspection, SPI) и ситуативное управление доступом (Context Based Access Control, CBAC) дополняют простой контроль содержимого пакетов. Включение контекстной проверки расширяет возможности контроля доступа: устройства с контекстной проверкой создают таблицы, где хранится полная информация об установленных между различными системами соединениях и используемых при этом протоколах. Сравнивая входящие и исходящие запросы с таблицей, маршрутизатор с контекстной проверкой принимает решение о пропуске или блокировании трафика. В действительности, контекстная проверка не что иное, как интеллектуальный анализ пакетов на третьем и четвертом уровнях модели OSI.
Ситуативное управление доступом дополняет контекстную проверку, т. е. по сути выполняется анализ трафика в контексте на прикладном уровне: система анализирует запросы и ответы поддерживаемых приложений на прикладном уровне. Например, серверы и клиенты SMTP взаимодействуют с помощью небольшого набора команд. Если устройство с включенным ситуативным управлением доступом пропускает запросы SMTP, то клиент сможет послать на сервер лишь корректно сформированный прикладной запрос. Эта мера позволяет не допустить использования нарушителями некорректных или редко применяемых запросов прикладного уровня для проникновения в систему или сеть.
УСТРАНЕНИЕ БРЕШЕЙ В БЕЗОПАСНОСТИ
Для поддержания системы в защищенном состоянии встроенные механизмы обеспечения безопасности маршрутизатора следует дополнить адекватными организационными мерами. Ограничение физического доступа к системе — один из наиболее эффективных подходов к достижению этой цели. Развитием данного подхода является настройка сеансов работы с консолью и терминалами таким образом, чтобы они производили автоматическое отключение от системы по истечении небольшого периода неактивности (около 10 мин). От подсоединения модема к последовательному порту маршрутизатора следует воздерживаться, кроме тех случаев, когда это действительно необходимо: например, для обеспечения возможности получения дистанционной технической поддержки со стороны поставщика оборудования. Но при этом следует контролировать все действия службы технической поддержки.
После ограничения физического доступа к маршрутизаторам важно убедиться, что в системе установлены все выпущенные на текущий момент исправления. В середине 2001 г. в одном популярном семействе маршрутизаторов было обнаружено несколько серьезных недочетов, влияющих на защищенность. Один из них был связан с хранением паролей в памяти устройства в открытом виде. Эта ошибка позволила провести атаку по типу «отказ в обслуживании» путем посылки большого количества пакетов определенного типа, в результате злоумышленник получал возможность подобрать порядковые номера соединения TCP. Эти условия облегчали хакеру перехват и модификацию данных, причем он даже мог получить полный доступ с правами администратора. С помощью еще одного обнаруженного недостатка можно было заставить маршрутизатор совсем не реагировать на запросы. Он проявлялся, когда на уязвимый маршрутизатор посылался пакет ECHO REQUEST с опцией RECORD ROUTE.
Полгода спустя были обнаружены еще четыре ошибки, причем уже после того, как производитель исправил предыдущие. Этот пример подчеркивает важность отслеживания всех выпускаемых исправлений.
Международный центр реагирования на компьютерные инциденты (Computer Emergency Response Team, CERT) регулярно публикует сведения об обнаруженных ошибках и выпущенных исправлениях. При этом информация об ошибке носит общий характер, а о путях ее исправления — более подробный, что снижает риск использования публикуемого CERT материала для деструктивных действий. К сожалению, так поступают далеко не все организации, занимающиеся защитой. Подобное состояние дел породило множество споров о том, в какие сроки и в каких объемах должна публиковаться информация об обнаруженных проблемах.
В основном споры шли вокруг определения надлежащего интервала между сроками обнаружения уязвимости и обнародования этой информации. Производители маршрутизаторов должны обеспечить доступ к исправлениям своим клиентам и лишь после этого публиковать данные об ошибке.
К сожалению, третьи лица распространяют указанные сведения до того, как производитель успевает разработать и выпустить соответствующее исправление. Иногда такие шаги предпринимают сами клиенты, чтобы вынудить производителя реагировать на обнаружение ошибок более оперативно. Подобные методы воздействия в конце концов достигают желаемого результата, но приводят к тому, что хакерское сообщество получает возможность использовать полученную информацию до выхода необходимых корректив.
Пока потребители и производители не договорились о приемлемом «буферном периоде», в течение которого производитель обязан выпустить исправление, а сведения об ошибке не будут публиковаться, лучший способ защитить маршрутизаторы от неприятностей — постоянное отслеживание информации, публикуемой на сайтах Web производителей и в соответствующих группах новостей или списках рассылки. Не следует пренебрегать и сообщениями из хакерской среды — вы всегда будете в курсе появления новых вредоносных программ, использующих обнаруженные ошибки.
ПРЕДОТВРАЩЕНИЕ ПРОБЛЕМ С ИДЕНТИФИКАЦИЕЙ
Другой распространенный среди хакеров способ проникновения — использование некачественно выбранных персоналом или заданных по умолчанию паролей. Выполнение стандартных рекомендаций — например, задание минимально разрешенной длины паролей и периодическая (30-60 дней) их смена — поможет эффективно предотвратить эти угрозы. Внеочередную смену паролей необходимо производить при увольнении ключевых сотрудников подразделений ИТ.
На маршрутизаторах следует включить механизм шифрования паролей, чтобы в случае получения доступа к системным файлам конфигурации злоумышленник не мог узнать пароли без предварительного их дешифрования. Идентификация является одной из фундаментальных составляющих любой правильно спланированной стратегии обеспечения безопасности маршрутизатора. Для безопасного обмена критичной информацией с маршрутизаторами установите проверенные средства аутентификации. На большинстве маршрутизаторов аутентификацию можно настроить через систему управления доступом к контроллеру терминального доступа (Terminal Access Controller Access Control System, TACACS) и службу удаленной аутентификации пользователей по коммутируемому каналу (Remote Authentication Dial-In User Service, RADIUS) при помощи специализированных серверов аутентификации, что обеспечит надежную авторизацию с применением криптографических методов при доступе к маршрутизаторам.
При использовании этих методов аутентификации запрос пользователя об авторизации перенаправляется на специальные серверы аутентификации, расположенные обычно во внутренней сети. Сервер принимает решение о предоставлении доступа в зависимости от идентификатора пользователя, предъявленного пароля и других критериев: имени хоста или IP-адреса пользовательской системы, IP-адреса или имени ресурса, к которому запрошен доступ, текущего времени и дня недели. Серверы аутентификации позволяют дополнительно повысить уровень безопасности путем введения двухфакторной аутентификации, например, на основе обладания чем-либо и знания секрета. Роль первого фактора обычно играет программный модуль или устройство для генерации одноразовых паролей (токенов), а роль второго — идентификатор пользователя и пароль доступа к генератору токенов.
В других схемах аутентификации применяется туннелирование мандатов в Secure Shell (SSH) или IPSec. Эти протоколы позволяют предотвратить перехват критичной информации (идентификатора пользователя и пароля) путем ее шифрования и обеспечить целостность с помощью проверки криптографических контрольных сумм. Большинство маршрутизаторов поддерживает аутентификацию через SSH. Несмотря на достаточно широкую поддержку IPSec, это более сложное решение из-за необходимости обеспечения совместимости с механизмом преобразования адресов (Network Address Translation, NAT). Передача пакетов через туннель IPSec требует добавления специфичных маршрутов в конфигурацию маршрутизатора. В случае использования IPSec, скорее всего, придется настроить режим транспортного шифрования для туннеля IPSec, так как режим туннельного шифрования может вызвать трудности, если трафик проходит через сети с включенной трансляцией адресов. Это связано с тем, что в режиме туннельного шифрования пакеты шифруются полностью, включая заголовок, в противовес шифрованию только лишь тела пакета в транспортном режиме. Поскольку заголовки зашифрованы и защищены контрольной суммой, при внесении в них изменений транслирующим адреса устройством они воспринимаются как поддельные, и пакет отбрасывается.
Если нужно, чтобы маршрутизатор обеспечивал доступ по протоколу PPP, обратитесь к протоколу аутентификации Challenge Handshake Authentication Protocol (CHAP), передающему по каналу связи только хэшированное значение пароля. Выбор оптимального решения зависит от конфигурации сети и степени управляемости, которую требуется обеспечить для процесса аутентификации.
ОТКЛЮЧЕНИЕ НЕНУЖНЫХ СЕРВИСОВ
Возможность выбрать наиболее подходящий протокол маршрутизации или дополнительный сервис очень привлекательна, но это — обоюдоострый меч. Большое количество недавних взломов лишний раз подчеркивает важность отключения ненужных сервисов на маршрутизаторе, включая Finger, простой протокол передачи файлов (Trivial File Transfer Protocol, TFTP), HTTP, сетевой протокол передачи времени (Network Time Protocol, NTP), SNMP, динамический протокол конфигурации узлов (Dynamic Host Configuration Protocol, DHCP) и протокол обнаружения Cisco (Cisco Discovery Protocol, CDP). Маршрутизаторы используют CDP для обмена информацией о задействованных протоколах маршрутизации, специфичных настройках и об интерфейсах. Однако, если придется отключить CDP, помните, что это может привести к снижению производительности.
Перечисленные сервисы созданы для удобства сетевых и системных администраторов, но они также облегчают жизнь и злоумышленникам в их попытках проникнуть в информационные системы. Например, с помощью протокола TFTP хакер может скопировать файлы с маршрутизатора безо всякой аутентификации. Если на маршрутизаторе запущен демон TFTP, то злоумышленнику нужно знать только точное имя файла (например, главного файла конфигурации), который он хочет скопировать. Для создания дружественных пользователю административных интерфейсов на базе технологий Web применяется протокол HTTP. Во избежание использования этих интерфейсов для осуществления враждебных действий, необходимо установить жесткие правила контроля доступа к ним (подробнее мы остановимся на этом аспекте ниже).
Другой важный момент — синхронизация времени, без которой невозможно нормальное функционирование сети. Полагаться на синхронизацию, сделанную при первичной настройке сети опасно, так как накапливающаяся ошибка отсчета времени разными устройствами приводит к их рассинхронизации. В то же время многим механизмам обеспечения безопасности, к примеру серверам аутентификации, необходимы отметки времени, и они нуждаются в том, чтобы все задействованные устройства были достаточно точно синхронизированы. В противном случае возрастает вероятность сбоя сервиса или умышленного нарушения его работы.
Для синхронизации сетевых устройств с эталонным источником точного времени можно воспользоваться протоколом NTP. Однако через маршрутизатор этого не стоит делать, а лучше поместить сервер NTP в специальный сегмент сети, защищенный межсетевым экраном — так называемую демилитаризованную зону (DMZ), — и сконфигурировать его таким образом, чтобы он посылал запросы только доверенному источнику точного времени. Все остальные устройства сети будут синхронизироваться с этим сервером, что, с одной стороны, не позволит хакерам получить информацию о ее внутренней структуре, а с другой — поможет избежать неприятных ситуаций, связанных с рассинхронизацией времени на сетевых устройствах. Потребность в запуске на маршрутизаторах сервисов SNMP и DHCP возникает достаточно редко. Используйте их, только если это действительно необходимо.
ГРАНИЦА ПОД ЗАМКОМ
Выше уже говорилось о важности ограничения физического доступа к маршрутизаторам. Естественным дополнением к такому подходу оказывается ограничение и логического доступа, главным образом при помощи правильной настройки списков управления доступом (Access Control Lists, ACL). Запрет удаленного терминального доступа по протоколам наподобие telnet, особенно с неизвестных или удаленных адресов, поможет предотвратить осуществление хакерами логического доступа к вашим системам. Наиболее предпочтительным методом удаленного доступа является SSH, но если без telnet не обойтись, то средствами управления терминальным доступом его следует разрешить только с доверенных адресов. Для этого создайте список управления доступом к порту виртуального терминала, используемого протоколом telnet.
Обнаруженная недавно в программном обеспечении маршрутизаторов брешь позволяла злоумышленнику полностью вывести оборудование из строя путем отправки слишком длинного пароля. Причиной послужила ошибка в коде операционной системы маршрутизатора, из-за которой строки паролей длиной более 32 символов обрабатывались некорректно. Своевременная установка выпускаемых производителем исправлений поможет избежать негативных последствий от атак такого рода.
Ограничение логического доступа подразумевает также запрет всех видов трафика ICMP, кроме действительно необходимых (см. Рисунок 1). ICMP призван облегчить устранение проблем в сети, вызванных ошибками и перегрузками. К сожалению, он предоставляет взломщику информацию, с помощью которой тот может воссоздать структуру любой сети, получить значение локального времени, маски подсетей (включая размер и зону охвата) и сделать обоснованные предположения о версиях и подверсиях установленных операционных систем. Чтобы не дать хакерам возможности получить эти сведения, во внутреннюю сеть следует пропускать лишь следующие виды сообщений ICMP: icmp-net-unreachable, host-unreachable, port-unreachable, packet-too-big, source-quench и ttl-exceeded.
Механизмы управления входящей информацией позволяют обеспечить перенаправление определенных видов трафика только к соответствующим серверам. В частности, трафик SMTP допускается исключительно к почтовым серверам, трафик DNS — к серверам службы имен доменов (DNS), а HTTP/S (HTTP через SSL) — к серверам Web. Кроме того, чтобы не стать жертвой атаки по типу «отказ в обслуживании» или ее источником, на маршрутизаторах следует настроить правила фильтрации, блокирующие следующие виды входящих из внешних сетей пакетов: пакеты без IP-адресов (например, 0.0.0.0); пакеты с адресом localhost (127.0.0.1), широковещательные (255.255.255.255) и групповые, а также пакеты с обратным адресом, принадлежащим внутренней сети.
Конечно, все атаки по типу «отказ в обслуживании» предотвратить не удастся, но в ваших силах минимизировать их негативные последствия. Например, можно увеличить размер очереди пакетов с установленными флагами SYN/ ACK и уменьшить время ожидания подтверждения (пакета с флагом ACK). Эти меры помогут защитить маршрутизаторы от атаки TCP SYN, приводящей к поглощению всех доступных ресурсов маршрутизатора, в результате которой он практически не в состоянии обслуживать нормальные соединения с серверами.
Действия по фильтрации исходящего из сети трафика довольно эффективны. Настройки списков управления доступом должны обеспечивать блокировку трафика ICMP с внутренних адресов и выпускать наружу пакеты только с допустимыми адресами отправителя (принадлежащими защищаемой сети). Этот шаг позволит предотвратить атаки, связанные с подделкой IP-адресов отправителя, и снизить вероятность того, что хакеры воспользуются вашими системами для нападения на другие сети. Данная мера очень важна еще и в следующем аспекте: она поможет избежать ответственности, которая была бы возложена на вас в случае непринятия достаточных мер по защите систем.
КОНТРОЛЬ ИЗМЕНЕНИЙ КОНФИГУРАЦИИ
Для повышения безопасности маршрутизаторов недостаточно только вносить в их конфигурацию изменения, следующий шаг, который вы должны предпринять, состоит в тщательном их отслеживании. Если применяется протокол SNMP, важно убедиться, что выбор Community String произведен в соответствии с требованиями к паролям. Предпочтительнее использовать версию 3 протокола SNMP, поскольку она обеспечивает криптографическую защиту (шифрование) передаваемых сообщений. Если удаленное внесение изменений в конфигурацию со станции управления SNMP не планируется, все устройства SNMP следует настроить на режим «только чтение» (Read Only, RO). Запрет на запись исключает возможность внесения изменений в конфигурацию интерфейсов или их отключения злоумышленником, если тому каким-либо образом удастся узнать Community String.
Кроме того, маршрутизаторы можно настроить на посылку сообщений syslog на специально выделенный сервер, что позволяет фиксировать относящиеся к безопасности события, которые с помощью SNMP определить не удается. Настройка уровня детализации должна обеспечивать фиксацию всех попыток несанкционированного доступа. Однако при настройке syslog на маршрутизаторе протоколирование консоли следует отключить, так как это может привести к поглощению всех ресурсов маршрутизатора процессом регистрации.
Для обеспечения безопасности процесса администрирования разработаны механизмы шифрования, например SSH. Этот протокол полезен как для установления шифрованных соединений с маршрутизатором, так и для усиления аутентификации (SSH2) за счет предъявления цифрового сертификата помимо пароля. Дополнительно повысить уровень безопасности поможет ограничение списка узлов, с которых разрешено устанавливать соединения SSH с маршрутизатором. В него должно входить небольшое количество доверенных систем, регулярно задействуемых для администрирования.
Для управления конфигурацией важно обеспечить использование в сети соответствующих протоколов маршрутизации. RIP доверять не стоит, так как его легко ввести в заблуждение посылкой ложных сообщений об изменении маршрутов. Протокол пограничного шлюза (Border Gateway Protocol, BGP) и OSPF довольно надежны, поскольку они предусматривают взаимную аутентификацию устройств при приеме информации об изменении маршрутов путем посылки значений хэш-функций пароля, вычисляемых по алгоритму MD5. Такой подход позволяет предотвратить внесение ложных изменений в таблицы маршрутизации.
В относительно статичных сетях, к которым относится демилитаризованная зона, можно применить стратегию так называемой «плавающей маршрутизации». Ее суть заключается в программировании маршрутизаторов на перенаправление трафика по другому маршруту при возникновении определенных условий. Например, недоступность основного маршрута к какой-либо точке заставляет маршрутизатор направить поток информации по резервному («всплывающему») маршруту. Для реализации такой схемы достаточно назначить запасному маршруту более низкий приоритет по сравнению с основным.
На маршрутизаторе можно задать несколько альтернативных запасных маршрутов, каждый со своим приоритетом, поэтому со стороны будет казаться, что устройство функционирует так же, как при динамической маршрутизации. Использование плавающей маршрутизации затрудняет внесение ложных маршрутов в таблицу маршрутизации. Однако более-менее серьезные изменения в архитектуре сети потребуют от администратора перенастройки каждого маршрутизатора вручную.
РЕГЛАМЕНТАЦИЯ УПРАВЛЕНИЯ КОНФИГУРАЦИЕЙ
Невозможно обеспечить безопасность маршрутизатора без тщательно продуманной политики, где определяется порядок сохранения, восстановления и модификации настроек маршрутизаторов. Хранение резервных копий файлов конфигурации на защищенном сервере поможет заменить или перезагрузить настройки, а также вернуться к предыдущему состоянию при внесении ошибочных изменений в конфигурацию, сократив при этом время простоя и избежав других затруднений.
На маршрутизаторах с поддержкой интерфейса командной строки (Command Line Interface, CLI) хранение конфигурации может быть организовано двумя путями. Первый заключается в запуске на сервере конфигураций сценария для выполнения следующих действий: соединение с маршрутизатором по протоколу SSH, регистрация, отключение протоколирования c консоли, вывод на экран текущей конфигурации, сохранение ее в локальном файле и отключение от маршрутизатора. Протокол SSH обеспечивает шифрование всей передаваемой информации, поэтому параметры конфигурации не могут быть перехвачены посторонними во время этого процесса.
Второй путь сохранения конфигурации маршрутизатора состоит в организации между сервером конфигураций и маршрутизатором туннеля IPSec, через который по протоколу TFTP с маршрутизатора на сервер копируется конфигурационный файл. Как уже было упомянуто выше, сам по себе протокол TFTP небезопасен, так как передает данные в открытом виде. Использование SSH проще, а посему — предпочтительнее (организация туннеля IPSec требует более значительных затрат по конфигурированию, чем SSH). После копирования файла конфигурации маршрутизатора на сервер его следует зашифровать и отключить демон TFTP. Это не позволит злоумышленнику зайти на сервер и скопировать только что сохраненный файл конфигурации.
Важными составляющими процесса управления конфигурациями являются наделение конкретных сотрудников правом изменять конфигурацию маршрутизаторов, установление сроков проведения этой процедуры, выбор программного обеспечения и способов внесения изменений (в частности, потребовать разрыва всех сетевых соединений на время этой операции). Необходимо установить ограничения на ресурсы, с которых могут вноситься изменения (например, только с определенных IP-адресов или консоли), а также определить правила смены паролей (каким образом новые пароли устанавливаются на маршрутизаторах и сообщаются администраторам).
Прежде чем производить изменения, важно продумать в деталях процедуры отката. Если во время внесения изменений произойдет сбой, необходимо быстро вернуться к самым последним функциональным параметрам настройки конфигурации или версии ОС. Отслеживайте любые вносимые в конфигурацию маршрутизаторов исправления, а также изменения процедур отката. Создайте специальную инвентарную базу данных и храните в ней полный список ваших маршрутизаторов, установленных на них версий ОС, описание последних внесенных изменений и процедур отката для каждого маршрутизатора. Наконец, назначьте ответственного за каждый маршрутизатор, чтобы знать, к кому обращаться за дополнительными пояснениями о конфигурации конкретного маршрутизатора.
НОВАЯ СХЕМА УПРАВЛЕНИЯ
Вы можете найти множество технических решений, позволяющих повысить безопасность маршрутизаторов, но наибольший эффект дает применение организационных мер (см. Рисунок 2). Они включают в себя управление доступом к устройствам и их мониторинг, периодическую смену паролей, контроль изменений конфигурации и организацию безопасного хранения конфигурационных файлов. Чрезвычайно важно быть в курсе самых последних «достижений» в области взлома маршрутизаторов и мер противодействия им. А самое большое преимущество организационных мер защиты состоит в том, что при минимуме затрат они дают очень высокую отдачу.
Кертис Далтон — ведущий специалист по безопасности компании еGreenwich Technology Partners, специализирующейся на консалтинге в области информационных технологий. С ним можно связаться по адресу: cdalton@greenwichtech.com.