No service pad cisco что это
Для удобства использования на роутерах по умолчанию включены различные сервисы. Эти сервисы создают угрозу для безопасности. При правильном дизайне сети роутеры находятся за файерволом, что исключает доступ к устройству или его сервисам из вне. Некоторые сетевые устройства помещают в зону DMZ в которой к ним открывается доступ. Не безопасное решение если роутер смотрит напрямую в интернет. В этом случае необходимо отключать открытые сервисы, и ограничивать доступ.
Уязвимость сервисов роутера
Сервисы роутера по угрозам безопасности группируются в след группы:
- Unnecesary services and inderfaces (сервисы и интерфейсы в которых нет необходимости).
- Common management services (сервисы для управления устройством).
- Path integrity mechanisms (сервисы, которые влияют на forwarding plane).
- Probes and scans (сервисы, которые возвращают информацию атакующему).
- Terminal access security (сервисы, которые ограничивают доступ к роутеру).
- Gratuitous and proxy ARP (сервисы, помогающие идентифицировать устройство в сегменте).
Рассмотрим эти группы подробнее.
Unnecessary services and interfaces
| Сервисы | Описание | Значения по умолчанию | Способ отключения |
| Интерфейсы роутера | Осуществляют прием и передачу пакетов | Выключены у роутера | (config-if)#shutdown |
| BOOTP сервер | Роутер выступает в качестве bootp сервера для сетевых устройств |
Включен | (config)#no ip bootp server |
| CDP | Рассылает инфу соседям | Включен глобально и на интерфейсах |
(config)#no cdp run (config-if)#no cdp enable |
| Configuration auto-loading | Автоматически копирует конфигу с сервера при загрузке |
Выключен | (config)#no service config |
| FTP сервер | FTP сервер | Выключен | (config)#no ftp-server enable |
| TFTP сервер | TFTP сервер | Выключен | (config)#no tftp-server file-sys:image name |
| NTP сервис | Возволяет как принимать время с другого сервера так и отсылать время другим NTP клиентам |
Выключен | (config)#no ntp server ip address |
| Packet assemble/disassemble (PAD) сервис | Обеспечивает доступ для X.25 PAD команд в X.25 сети |
Включен | (config)#no service pad |
| TCP и UDP minor service | Небольшой сервер в роутере используемый для диагностики. |
До 11.3 включен, после выключен | (config)#no service tcp-small-servers (config)#no service udp-small-servers |
| Maintance Operation Protocol (MOP) | Сервис поддержки Digital Equipment Corporation (DEC) в роутере. |
Включен на большинстве Ethernet интерфейсах |
(config-if)#no mop enable |
Common Management Services
Сервисы в этой категории служат для передачи конфигурационных файлов и IOS роутеру.
| Сервисы | Описание | Значение по умолчанию | Способ отключения |
| SNMP | Используется для конфигурации и получения информации с роутера | Включен | (config)#no snmp-server enable |
| HTTP сервер | Позволяет конфигурировать роутер по HTTP протоколу | В зависимости от устройства | (config)#no ip http server (config)#no ip http secure-server |
| DNS | Cisco роутеры по умолчанию используют 255.255.255.255 адрес для поиска DNS сервера и реализации имени | Включен | (config)#no ip domain-lookup |
Path integrity Mechanisms
Сервисы этой категории используются для передачи конфигурационных файлов, IOS, и вообще пакетов.
| Сервис | Описание | Значение по умолчанию | Способ отключения |
| ICMP Redirects | Этот сервис используется роутером для отсылки ICMP redirect сообщение когда пакет форвардится на тот же интерфейс, с которого и получен этот интерфейс | Включен | (config)#no ip icmp redirect (config-if)#no ip redirects |
| IP Source Routing | Этот сервис позволяет отправителю контролировать маршрут по которому пройдет пакет через сеть. | Включен | (config)#no ip source-route |
Probes and Scans
Сервисы этой категории используются для сбора информации, которая может быть использована злоумышленником.
| Сервис | Описание | Значение по умолчанию | Способ отключения |
| Finger service | Через Finger протокол (79 порт) получают список пользователей от сетевого устройства, который описывает номер линии, название соединения, время и место расположения терминала. | Включен | (config)#no service finger |
| ICMP unreachable notification | Этот сервис отправляет пользователю ICMP сообщение в котором говорится о недоступности IP подсети или IP адреса | Включен | (config-if)#no ip unreachables |
| ICMP mask reply | Этот сервис отправляет маску IP подсети по запросу | Выключен | (config)#no ip mask-reply |
| IP directed broadcast | Этот сервис обеспечивает уникастовому пакету попавшему на роутер стать броадкастовым для определенного сегмента. | Включен до 12.0, выключен после | (config-if)#no ip directed-broadcast |
Terminal Access Security
Эта группа сервисов используется для сбора информации о пользоваетлях или для DoS атак.
| Сервис | Описание | Значение по умолчанию | Способ отключения |
| IP identification service | Этот сервис по протоколу RFC 1413 оповещает идентификатор инициатора TCP соединения. | Включен | (config)#no ip identd |
| TCP keepalives | TCP keepalives позволяют закрыть TCP соединение если удаленная сторона перестала отвечать. | Выключен | (config)#service tcp-keepalives-in (config)#service tcp-keepalives-out |
Gratuitous and Proxy ARP
Эта группа сервисов используется для сбора информации о пользоваетлях или для DoS атак.
| Сервис | Описание | Значение по умолчанию | Способ отключения |
| Gratuitous ARP | Этот сервис обычно используется для атак ARP poisoning. | Включен | (config)#no ip arp gratuitous |
| Proxy ARP | Этот сервис используется для резолва адресов 2го уровня если роутер выступает в качестве бриджа. | Включен | (config)#no ip arp proxy |
Использование AutoSecure для защиты роутера.
Эта команда доступна с версии IOS 12.3 и позже. Может применятся в автоматическом режиме или интерактвном. В автоматическом режиме опции безпасности применяются ко всем сервисам, в интерактивном можно опционально отключать сервисы. Помимо отключения AutoSecure еще использует и другие функции для обеспечения безопасности.
- Management plane services and functions — к ним относятся finger, PAD, UDP and TCP small server, password encription, TCP keepalives, CDP, BOOTP, HTTP, source routing, gratuitous ARP, proxy ARP, ICMP redirects, ICMP mask replies, directed broadcast, MOP, banner.
- Forwarding plane services and functions — включает CEF и ACL, которые влияют на каждый пакет проходящий через роутер.
- Firewall services and functions — включает Cisco IOS fierwall inspection для основных протоколов, которая проводит более глубокий анализ пакетов.
- Logging functions — включает логирование и сохранение событий на роутере.
- NTP — проверяет что NTP настроен корректно и безопасно.
- SSH доступ — включает SSH доступ вместо telnet.
- TCP intercept services — предотвращает TCP SYN-flood атаки.
Команда имеет следующий вид:
router#auto secure [management | forwarding] [no-interact | full] [login | ntp | ssh | firewall | tcp-intercept]
no-interact включает ручной режим в котором можно конфигурировать отдельные сервисы.
full — обеспечивает полное выполнение команды по следующим этапам:
Курс молодого бойца: защищаем сам маршрутизатор
Следуя аксиомам безопасности, будем считать, что любой узел в сети является потенциальной целью. Поэтому хорошо бы знать, какие потенциально уязвимые места есть у этих самых узлов. Рассмотрим маршрутизатор cisco. Сразу же возникнет возражения: их много, сервисы поддерживаемые – разные и вообще, трудно свалить в одну кучу CRS-1 и древний 1600. Однако, я не ставлю своей целью охватить всё, но кое какие общие вещи опишу.
Итак, первое что надо запомнить, что маршрутизатор по умолчанию не блокирует на интерфейсе никакой нормальный трафик (фреймы с неправильной контрольной суммой не счёт). Однако, часть пакетов, при более глубоком рассмотрении (процессором) маршрутизатор таки признает ненужными, например:
1. Пакеты с TTL =0 или меньше
2. Пакеты, которые неизвестно куда отправить (сеть назначения пакета не присутствует в таблице маршрутизации и нет никакого явного правила отправки пакета (PBR))
3. Пакеты, относящиеся к служебным протоколам (например, протоколам маршрутизации), которые не запущены на маршрутизаторе.
Эти уничтоженные пакеты могут сыграть злую шутку: если такого трафика будет много, то он может существенно загрузить процессор маршрутизатора.
Далее, кроме транзитного трафика, маршрутизатор обрабатывает некоторый служебный трафик (направленный на него самого). Часто по умолчанию (или незнанию) на маршрутизаторе запущены ненужные для работы протоколы. Они опасны тем, что маршрутизатор обрабатывает пакеты этого протокола. И можно устроить, например, DoS атаку, узнать удалённо сведенья, не предназначенные для распространения или исследовать топологию сети. К таким протоколам относятся
1. TFTP (маршрутизатор может выступать сервером TFTP).
2. BOOTP (может раздавать бездисковым станциям их файлы настройки)
3. DHCP (Маршрутизатор может выступать сервером и клиентом)
4. TCP Small Servers (TCP Echo, Finger и др.)
5. UDP Small Servers (UDP Echo, Discard и др.)
6. CDP (Cisco Discovery Protocol)
7. NTP (Network Time Protocol. Маршрутизатор может выступать сервером и клиентом)
8. DNS (Включен по умолчанию броадкастовый поиск ДНС серверов в сегменте)
9. PAD (Packet Accembler/Disaccembler)
10. SNMP (Часто сконфигурированы дефолтные community)
Как правило, если данные протоколы не нужны, их лучше отключить.
1. no tftp-server
2. no ip bootp server (старая команда no service bootp)
3. no ip dhcp pool (no service dhcp)
4. no service tcp-small-servers
5. no service udp-small-servers
6. no cdp run (глобально), no cdp enable (на конкретном интерфейсе). Не стоит выключать этот протокол, если к интерфейсу подключен cisco ip phone, т.к. именно по этому протоколу происходит автоопределение подключенного устройства (данная рекомендация больше характерна для коммутаторов, но всё же)
7. no ntp master, no ntp server
8. no ip domain-lookup. Помните, что часто DNS на маршрутизаторе нужен, так что отключать надо не всегда
9. no service pad
10. no snmp-server community
Однако, даже если выключить эти и другие служебные протоколы (например, http, https, ssh), пакеты этих протоколов, приходящие на интерфейс маршрутизатора, попадут в мозг и только там будут откинуты. Т.е. даже выключив все, можно попробовать нагрузить процессор маршрутизатора отбрасыванием мусора.
Хотелось бы научиться отбрасывать такие пакеты, не нагружая мозг. Также, часто возникает задача ограничить нагрузку служебным трафиком на процессор. Например, указав максимальное количество служебных пакетов (всего или по отдельным протоколам) в очереди или количество служебных пакетов в секунду.
Эти задачи решаются при помощи специального режима
сontrol-plane host
Чтобы воспользоваться этой технологией можно создать специальные классы трафика
class-map type?
access-control access-control specific class-map
control Configure a control policy class-map
inspect Configure CBAC Class Map
logging Class map for control-plane packet logging
port-filter Class map for port filter
queue-threshold Class map for queue threshold
stack class-map for protocol header stack specification
Создать специальную политику (Policy-map type )
policy-map type?
access-control access-control specific policy-map
control Configure a control policy policy-map
inspect Configure CBAC Policy Map
logging Control-plane packet logging
port-filter Control-plane tcp/udp port filtering
queue-threshold Control-plane protocol queue limiting
И применить её в этом режиме:
control-plane host
service-policy type?
logging Control-plane packet logging
port-filter Control-plane tcp/udp port filtering
queue-threshold Control-plane protocol queue limiting
Ограничение же нагрузки на мозг служебными пакетами организуется похоже, только для этого достаточно описать обычный класс трафика, обычную политику, где в качестве действия указать ограничение словом police
police rate [units] pps
Разберем примеры:
1. Ограничим количество телнетовских пакетов от всех сетей, кроме хоста 10.1.1.100, до 100 пакетов в секунду
Для этого напишем список доступа
ip access-list extended TELNET
deny tcp host 10.1.1.100 any eq 23
permit tcp any any eq 23
Далее, создадим класс трафика
class-map TELNET
match access-group TELNET
Опишем политику
policy-map TELNET
class TELNET
police rate 100 pps
И повесим политику в control-plane
control-plane host
service-policy input TELNET
2. Заблокируем пакеты, направленные на порты приложений, не используемые маршрутизатором
Создадим специальный класс трафика
class-map type port-filter PORTS
match closed-ports
Опишем специальную политику
policy-map type port-filter PORTS
class PORTS
drop
И повесим политику в control-plane
control-plane host
service-policy type port-filter input PORTS
Чтобы защитить management-plane, т.е. управление маршрутизатором надо помнить следующие моменты:
1. По возможности надо использовать безопасные протоколы управления: ssh, https. Для этого надо выработать ключевую пару RSA, указать правила аутентификации и включить поддержку https (ip http secure-server)
2. Даже при использовании безопасных протоколов управления, а особенно при невозможности их использования, надо ограничивать административный доступ снаружи и изнутри при помощи списков доступа, примененных на интерфейсах, терминальных линиях (line vty) или в режиме control-plane host
3. Желательно применять сложные пароли, минимальной длиной 8 символов и содержащие цифры, буквы разного регистра и символы. А чтобы какой-нибудь юный администратор маршрутизатора не нарушил это правило создания паролей, есть команда
security passwords min-length [длина]
4. Пароли в конфиге лучше иметь захешированными. Тогда не будет возможности подглядеть пароль. Для этого применяйте не слово “password”, но слово “secret”
Примеры:
username admin secret <пароль>
enable secret <пароль>
5. Не забывайте о порте AUX. Это практически та же консоль и имеющий доступ к железу сможет подключиться, используя AUX, к командной строке. Если пароля на AUX не будет, то подключившийся сможет попасть как минимум в непривилегированный режим.
6. У многих маршрутизаторов есть функция защиты от подбора паролей. Можно блокировать пользователя после N неправильно введенных паролей, а можно после нескольких попыток вставлять задержку.
Пример:
security authentication failure rate [попытки] [log]
После N неправильных паролей (по умолчанию – 10) будет вставлена 15 секундная задержка. Слово log позволяет логгировать такие события.
7. Помните, что при использовании протокола SNMP желательно использовать 3 версию протокола с аутентификацией и шифрованием. При использовании более ранних, практически ничем не защищённых версий, строго следите за тем, что принятые по умолчанию community отключены.
8. В сетях с большим количеством устройств имеет смысл выделять так называемую сеть для управления (OOB, Out-of-Band management). Это отдельный сегмент сети, не имеющий пересечений с сетью передачи данных. До недавних пор маршрутизатор мог быть помещен в OOB только посредством консольного сервера, но в новых IOS вы можете административно задать интерфейс, с которого можно настраивать маршрутизатор и только с него. Делается это всё в том же режиме control-plane host явным указанием интерфейса и разрешенных протоколов
Пример:
control-plane host
management-interface f0/0 allow ssh snmp
Защита протоколов маршрутизации
Защита динамических протоколов маршрутизации тоже является весьма важной темой, т.к. если злоумышленнику удастся повредить таблицу маршрутизации, нужные пакеты просто будут уничтожены или пойдут «не туда». Поэтому очень рекомендую при работе с динамическими протоколами маршрутизации использовать аутентификацию обновлений, желательно MD5 суммой (хэшем). Такую технологию поддерживают почти все протоколы: BGP, OSPF, RIPv2, EIGRP. Часть протоколов поддерживает также и аутентификацию clear text (просто ключом), но т.к. ключ передается в самом пакете обновления, назвать такой механизм защищённым язык не поворачивается.
Для настройки аутентификации по MD5 как правило надо:
1. Описать одинаковый ключ на всех маршрутизаторах, работающих по одному протоколу (или на конкретном интерфейсе, в конкретной зоне)
2. Настроить метод защиты (без защиты, clear text, MD5)
3. Включить механизм
Пример: протокол OSPF
Ro(config-if)# ip ospf authentication message-digest
Ro(config-if)# ip ospf message-digest-key 1234 md5 cisco
Где 1234 – номер ключа, а от слова «cisco» будет вычислен md5 хэш.
Ben’s notes
When synchronous logging of unsolicited messages and debug command output is enabled, unsolicited device output appears on the console or printed after solicited device output appears or is printed. Unsolicited messages and debug command output appears on the console after the prompt for user input is returned. Therefore, unsolicited messages and debug command output are not interspersed with solicited device output and prompts. After the unsolicited messages appear, the console again displays the user prompt.
Turning Off the X.25 PAD Service
Packet assembler/disassembler (PAD) connects asynchronous devices such as terminals, IC-card readers, and computers to public/private X.25 networks. Since every computer in the world is pretty much IP savvy, and X.25 has gone the way of the dodo bird, there is no reason to leave this service running. Use the following command to disable the PAD service:
Lab_B(config)# no service pad
Enabling the Nagle TCP Congestion Algorithm
The Nagle TCP congestion algorithm is useful for small-packet congestion, but if you’re using a higher setting than the default MTU of 1500 bytes, it can create an above-average traffic load. To enable this service, use the following command:
Lab_B(config)# service nagle
It is important to understand that the Nagle congestion service can break XWindow connections to an Xserver, so don’t use it if you’re using XWindow.
Logging Every Event
Using the Cisco ACS server as a Syslog server can log events for you to verify. Use the logging trap debugging command and the logging ip_address command to turn this feature on:
Lab_B(config)# logging trap debugging
Lab_B(config)# logging 192.168.254.251
Lab_B# sh logging
Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns) Console logging: level debugging, 15 messages logged
Monitor logging: level debugging, 0 messages logged
Buffer logging: disabled
Trap logging: level debugging, 19 message lines logged
Logging to 192.168.254.251, 1 message lines logged
The show logging command provides you with statistics of the log on the router.
Disabling Cisco Discovery Protocol
Cisco Discovery Protocol (CDP) does just that—it’s a Cisco proprietary protocol that discovers Cisco devices on the network. But because it’s a Data Link–layer protocol, it can’t find Cisco devices on the other side of a router. Plus, by default, Cisco switches don’t forward CDP packets, so you can’t see Cisco devices attached to any other port on a switch.
Copyright ©2003 SYBEX Inc., 1151 Marina Village Parkway, Alameda, CA 94501.
130 Chapter 4 Cisco Perimeter Router Problems and Solutions
When you are bringing up your network for the first time, CDP can be a really helpful protocol for verifying your network. But because you’re going to be thorough and document your network, you don’t need the CDP after that. And because CDP does discover Cisco routers and switches on your network, you should disable it. You do that in global configuration mode, which turns off CDP completely for your router or switch:
Lab_B(config)# no cdp run
Or you can turn off CDP on each individual interface using the following command:
Lab_B(config-if)# no cdp enable
Disabling the Default Forwarded UDP Protocols
When you use the ip helper-address command as follows on an interface, your router will forward UDP broadcasts to the listed server or servers:
Lab_B(config)# interface f0/0
Lab_B(config-if)# ip helper-address 192.168.254.251
You would generally use the ip helper-address command when you want to forward DHCP client requests to a DHCP server. The problem is that not only does this forward port 67 (BOOTP server request), it forwards seven other ports as well. To disable the unused ports, use the following commands:
Lab_B(config)# no ip forward-protocol udp 69
Lab_B(config)# no ip forward-protocol udp 53
Lab_B(config)# no ip forward-protocol udp 37
Lab_B(config)# no ip forward-protocol udp 137
Lab_B(config)# no ip forward-protocol udp 138
Lab_B(config)# no ip forward-protocol udp 68
Lab_B(config)# no ip forward-protocol udp 49
Now, only the BOOTP server request (67) will be forwarded to the DHCP server. If you want to forward a certain port, say TACACS+, use the following command:
Lab_B(config)# ip forward-protocol udp 49
Here’s a list of available ports that you can opt to forward from the router, as well as the ports that are forwarded by default if you use the ip helper-address command: