AutoSecure — интерактивная функция автоматического применения политик безопасности на маршрутизаторе, активируемая командой auto secure.
Я не сторонник того, что маршрутизатор предлагает сделать автоматически, но все же опишу основные команды, которые данная функция попытается применить к маршрутизатору, а вашей задачей останется выбрать и применить те команды, которые вам действительно необходимы.
Первый список команд отключает некоторые протоколы и сервисы:
no service finger no service pad no service udp-small-servers no service tcp-small-servers service password-encryption service tcp-keepalives-in service tcp-keepalives-out no cdp run no ip bootp server no ip http server no ip finger no ip source-route no ip gratuitous-arps no ip identd
- no service finger — запрещает запросы по протоколу finger;
- no service tcp-small-servers — запрещает доступ к ряду сервисов TCP, позволяющих хостам сети запрашивать Echo, Discard, Chargen и Daytime портов. По умолчанию серверы TCP в части сервисов Echo, Discard, Chargen и Daytime активированы. Если их отключить, то в ответ на соответствующий запрос порта программное обеспечение Cisco IOS пошлёт отправителю TCP-пакет RESET и отвергнет поступивший пакет;
- no service udp-small-servers — запрещает доступ к ряду сервисов UDP,позволяющих хостам сети запрашивать Echo, Discard, Chargen и Daytime портов.По умолчанию серверы UDP в части сервисов Echo, Discard, Chargen и Daytime активизированны. Если их отключить, то в ответ на соответствующий запрос порта программное обеспечение Cisco IOS пошлёт отправителю пакет «ICMP port unreachable» (порт недоступен) и отвергнет поступивший пакет;
- service password-encryption — зашифровывает все пароли на устройстве, заданные атрибутом password, расшифровать которые можно воспользовавшись формой для дешифрации паролей, расположенной в статье User;
- service tcp-keepalives-in и service tcp-keepalives-out — помогают разорвать Telnet сессию в случае если сессия была прервана каким либо промежуточным устройством, находящимся между пользователем, который инициировал сессию и конечным устройством. В случае отсутствия данных команд, конечное устройство (если оно поддерживает только одну удаленную сессию), откажет в повторном доступе на него, ссылаясь на то, что одна сессия уже установлена;
- no cdp run — отключает действие протокола Cisco Dicovery Protocol. Я бы не советовал использовать данную команду в режиме глобальной конфигурации. Предпочтительнее вручную отключить данный протокол на тех интерфейсах, на которых это необходимо;
- no ip bootp server — отключает сервис BOOTP (Bootstrap Protocol — протокол начальной самозагрузки) хоста;
- no ip bootp server, no ip http server, no ip finger, no ip source-route, no ip gratuitous-arps, no ip identd — отключают различные не столь нужные сервисы.
Далее, функция AutoSecure предложит создать баннер, что мы можем сделать и сами, пройдя по ссылке.
Команда security passwords min-length 6 ограничивает минимальную длину всех будущих паролей до 6 символов. Грамотному администратору подобная команда не понадобится.
Следующая команда, предложенная функцией AutoSecure, это security authentication failure rate 10 log. Суть ее заключается в том, что после 10 неудачных попыток аутентификации на устройстве, оно будет игнорировать все дальнейшие попытки в течение 15 секунд и собирать логи о неудачных попытках. Сложность в том, что в случае атаки на подбор пароля, администратор сам окажется отрезанным от устройства. Чтобы обеспечить доступ к устройству, администратору необходимо будет активировать функцию login quiet-mode, подробно описанную в статье VTY.
Далее AutoSecure предложит настроить AAA и Logging на свой вкус и цвет. Но это можно сделать самостоятельно так, как нужно нам самим, прочитав статьи AAA и Logging.
Далее на все интерфейсы будет предложено повесить следующие команды:
no ip redirectsno ip proxy-arpno ip unreachablesno ip directed-broadcast
no ip mask-reply
- no ip redirects — отключает отправку сообщений перенаправления, когда средства Cisco IOS пересылают пакет в рамках интерфейса, по которому этот пакет получен.Ограничивает информацию, посылаемую маршрутизатором в случае сканирования порта;
- no ip proxy-arp — отключает прокси-сервис ARP (Address Resolution Protocol — протокол разрешения адресов) в рамках указанного интерфейса;
- no ip unreachable — отключает генерирование сообщений ICMP Unreachable для данного интерфейса;
- no ip directed-broadcast — отключает управляемую групповую рассылку IP, что обеспечивает невозможность применения маршрутизатора в качестве широковещательного усилителя в распределённых атаках блокирования сервиса (DoS, Denial of Service атаках);
- no ip mask-reply — отключает генерирование сообщений ICMP Mask Reply для данного интерфейса.
При необходимости, можно добавить команду на интерфейс no cdp enable, которая отключает CDP (Cisco Discovery Protocol) для данного интерфейса. Отключать протокол следует на небезопасных интерфейсах.
Ну и последняя свзяка команд, предлагаемая функцией AutoSecure:
ip tcp intercept list autosec_tcp_intercept_list ip tcp intercept drop-mode random ip tcp intercept watch-timeout 15 ip tcp intercept connection-timeout 3600 ip tcp intercept max-incomplete low 450 ip tcp intercept max-incomplete high 550
Функция, предлагаемая для реализации данными командами защищает сервер внутри сети от TCP SYN атак, на который транслируется один или несколько портов на маршрутизаторе. Но так просто она не заработает. Для этого необходим небольшой тюнинг команд, предлагаемых функцией AutoSecure. Во-первых, необходимо создать расширенный список доступа с названием autosec_tcp_intercept_list куда нужно поместить диапазон IP адресов, в которых расположены сервера командой permit tcp any 192.168.1.0 0.0.0.255, где значения 192.168.1.0 0.0.0.255 указывают на подсеть с серверами. Подробнее о создании списков доступа можно прочитать в статье ACL (Access-lists). Во-вторых, нужно добавить команду ip tcp intercept mode watch. После тюинга, получится следующая реализация:
ip access-list extended autosec_tcp_intercept_list permit tcp any 192.168.1.0 0.0.0.255 ip tcp intercept list autosec_tcp_intercept_list ip tcp intercept drop-mode random ip tcp intercept mode watch ip tcp intercept watch-timeout 15 ip tcp intercept connection-timeout 3600 ip tcp intercept max-incomplete low 450 ip tcp intercept max-incomplete high 550
В данной статье были представлены основные, но не все защитные функции, предлагаемые к реализации интерактивной системой AutoSecure. Те функции, которые были перечислены здесь, смогут обеспечить базовую безопасность маршрутизатора. Для обеспечения большей защиты маршрутизатора, можно прочитать и применить рекомендации, описанные в статье CBAC.