Устранение изъянов
Контрмеры: защита базы данных MIB
Обнаружение
Самый простой способ обнаружения SNMP-запросов на запись в базу данных MIB заключается в использовании утилиты syslog, настроенной на регистрацию каждого запроса. Для этого сначала на компьютере с системой UNIX или NT нужно запустить демон syslog, а затем настроить его таким образом, чтобы он регистрировал соответствующие события. На устройстве Cisco это можно сделать с помощью следующей команды:
logging 196.254.92.83
Защита
Для того чтобы воспрепятствовать злоумышленнику получить старую базу MIB, можно предпринять следующие меры.
- Используйте список ACL, чтобы разрешить применение протокола SNMP только для определенных узлов или сетей. На устройствах Cisco для этого нужно воспользоваться командой, имеющей следующий вид.
<strong>access-list 101 permit udp 172.29.11.0 0.255.255.255 any eq 161 log</strong>
- Включите режим доступа с помощью SNMP только для чтения (ко). На устройствах Cisco для этого нужно воспользоваться командой, имеющей следующий вид:
snmp-server community <сложная строка доступа> RO
- Лучше всего вообще отключите доступ через SNMP, воспользовавшись следующей командой, no snmp-server
Слабость алгоритмов шифрования паролей Cisco
Устройства Cisco, по крайней мере на момент написания данной книги, имели слабый алгоритм шифрования, используемый как при хранении пароля vty, так и пароля доступа. Оба пароля хранятся в конфигурационном файле устройств, а их взлом не представляет особого труда. Для того чтобы узнать, является ли ваш маршрутизатор уязвимым, просмотрите конфигурационный файл с помощью следующей команды.
show config
Если вы увидите строку, подобную показанной ниже, значит, пароль доступа к устройству легко расшифровать.
enable password 7 08204Е
С другой стороны, если в конфигурационном файле вы увидите запись, подобную приведенной ниже, можете не волноваться – пароль доступа надежно защищен (чего, к сожалению, нельзя сказать о пароле telnet).
enable secret 5 $1$.pUt$w8jwdabc5nHk1IHFWcDav
Эта запись означает, что грамотный администратор Cisco вместо используемой по умолчании команды enable password применил команду enable secret, активизирующую режим шифрования пароля по алгоритму MD5, который обеспечивает большую надежность, чем стандартный алгоритм Cisco. Однако, насколько нам известно, шифрование паролей с помощью MD5 распространяется только на пароль доступа, но неприменим для шифрования таких паролей, как пароли vty.
line vty 0 4 password 7 08204Е login
Слабость встроенного алгоритма шифрования Cisco объясняется тем, что он основан на использовании операции XOR и постоянного инициализирующего значения (seed value). Шифруемые пароли Cisco могут иметь до 11 алфавитно-цифровых символов разного регистра. Первые два байта пароля выбираются случайным образом из диапазона от 0x0 до 0xF, а оставшиеся представляют собой строку, полученную путем объединения с помощью операции XOR пароля и заданного блока символов dsfd;kfoA,.iyewrkldJKDHSUB.
Расшифровать такой пароль можно с помощью одной из множества программ, имеющихся в Internet.. Первая из них, написанная хакером Хоббитом (Hobbit) (http://www.avian.org), представляет собой сценарий командной оболочки. Вторая программа, ciscocrack.c, написана на языке С хакером Сфайксом (SPHiXe). Ее можно найти в многочисленных статьях, посвященных анализу паролей Cisco. Третьей программой является приложение Palm Pilot, созданное доктором Маджем (Dr. Mudge), одним из участников группы L0pht. И наконец, модуль расшифровки пароля Cisco был создан компанией SolarWinds. В системе NT этот модуль функционирует как часть программного пакета управления сетью. Его можно найти по адресу http://www.solarwinds.net.