Перейти к содержимому

Как предотвратить несанкционированный доступ к устройству cisco через консольный порт

  • автор:

Безопасная Cisco

Всем привет!
Многие из вас видели и читали прекрасные материалы под общим названием «Сети для самых маленьких». Собственно, я не претендую на лавры, но решил написать нечто подобное в области безопасности сети на основе оборудования Cisco.

Первый материал будет посвящен BaseLine/L2 Security, т.е. тем механизмам, которые можно использовать при начальной конфигурации устройств а также на L2 коммутаторах под управлением IOS.
Всем, кому интересно, поехали!

Допустим, у нас brand-new [switch/router], для первой главы не принципиально. Мы подключаемся к нему с помощью консольного провода (более подробно описано Часть.1 Сети для самых маленьких). Т.к. мы не хотим, чтобы железка лежала у нас на столе или (если она уже в стойке) стоять и мерзнуть в серверной, сразу настроим на ней удаленное управление.

Remote control & credentials

  • 0 уровень: enable password Qwerty!23 – хранение данных в открытом виде.
  • 4 уровень: enable secret Qwerty!23 – преобразование данных в SHA256 Encryption в IOS 15, т.к. «change to new encryption, md5 can be deprecated soon».
  • 5 уровень: enable secret Qwerty!23 – преобразование данных в MD5 Hash.

Вроде бы все, если что забыл, прошу отписаться в комментарии, по крайней мере JDima, всегда делал стоящие комментарии.

L2 Security

  • Vlans бывают: Primary и Secondary: Isolated или Community.
  • Vlans types: Isolated (может быть только в единственном экземпляре, связь внутри vlan отсутствует, только с Promiscuous), Community (много, связь внутри Vlan есть и с Promiscuous)
  • Ports Types: Promiscuous — Primary Vlan port что-то типа dg, также Isolated и Community
  • Private Vlans требуют включения VTP transparent: vtp mode transparent.

Применять или нет решать вам в зависимости от целей.
Вроде бы все ясно, однако если Promiscuous port маршрутизируем, то существует возможность попасть из ISOLATED в другие VLAN, путем посылки подкрафченного пакета до L3 устройства. Закрывается такая возможность с помощью ACL на маршрутизаторе.
Примерно схожий функционал c Isolated VLAN имеется при настройке PVLAN Edge или Protected port. Настраивается это на каждом интерфейсе отдельно командой: switchport protected.
Ну и в завершении с VLAN рассмотрим ACL для VLANs: VLAN ACL (VACL) или VLAN map а также MacSec.
Если возникает необходимость контролировать трафик внутри VLAN нужно определить трафик и повесить его на нужный VLAN, примерно вот так:

Создаем обычный список доступа, который будет использоваться в VACL. Определим VLAN access map. Определим действие при совпадении трафика со списком. Применим к VLAN. 1 класс трафика будет останавливаться, весь другой пересылаться.
Интересная функция в IOS — MacSec.
Вот такой набор команд (к примеру на 2 устройствах):

Настроив на L2 устройствах, на портах через которые два коммутатора соединены между собой, получим симметрично зашифрованный канал (pmk на устройствах должен быть одинаковым).

CAM protection
Если взять утилиту macof (есть в Kali) и запустить ее на генерирование MAC адресов с клиента подключенного к коммутатору, то в зависимости от модели коммутатора через некоторое время он станет хабом. Почему? Из-за того, что место в CAM таблице закончится. Для того чтобы это предотвратить существует режим port security на интересующем нас интерфейсе:
imageи image
Работает этот режим только на trunk или access port, но не на dynamic port.
У режима имеются параметры: Protect (no packets if violation, no log), Restrict (no packets if violation, log: snmp, sylog), Shut down port (default, max=1, log: snmp, sylog), Shut down Vlan. Есть режимы Dynamic (memorize 5 first mac), Static (manually write into running config static mac) и еще sticky (brand new network -> auto write in running config).
Да и в конце настройки нужно не забыть активировать сам режим.

Snooping table
Для того, чтобы обезопасить себя от атак на dhcp можно применять dhcp snooping table. Суть заключается в том, что коммутатор запоминает за каким портом у него легальный dhcp сервер, тем самым выполнить dhcp starvation attack (ну или кто-то просто принес из дома dlink) с портов доступа не получится.
image
Включается режим отдельно на всю железку и vlans:
image
Ограничить количество запросов dhcp можно командой ip dhcp snooping limit rate 20. И по необходимости посмотреть имеющиеся связи:
image
Изначально в этом режиме по умолчанию все порты являются не доверенными.

DAI
На основе snooping table работает DAI – dynamic arp inspection, т.е. динамически сравнивает MAC-IP и тем самым предотвращает ARP poisoning: ip arp inspection vlan 456.
Это тип атаки при которой рассылаются ARP пакеты с измененными MAC адресами, после обновления ARP таблицы проводится MITM.
image
Если же в инфраструктуре нет DHCP, то аналогичного функционала можно добиться с использованием arp access-list:

Также есть функционал для сравнения ARP Validation Checks.

IP Spoofing/Source Guard
Опять же на основе snooping table функционирует IP Spoofing/Source Guard.
Яркий пример атаки с подменой IP, когда злоумышленник генерирует различные пакеты с разными IP DESTINATION и одинаковым IP SOURCE. В итоге все Destination пытаются ответить Source и проводят его DDoS.
image
Этот набор команд поможет защититься от атак типа IP Spoofing.
image

STP
Как вы знаете основной задачей STP является устранение петель в топологии, в которой есть избыточные соединения. Но возможно реализовать такую схему, когда нарушитель станет root bridge и опять же реализует MITM:
image
Для того, чтобы активировать защиту глобально на всех портах необходимо использовать команду spanning-tree portfast bpduguard default.
Далее переводим порт в режим portfast и получаем… Вместо тысячи слов:
image
Отдельно на интерфейсе это делается командой: spanning-tree bpduguard enable.

Storm Control

  • Производится мониторинг: Broadcast/Multicast/Unicast
  • Устанавливаются пороговые значения: %/PPS/BPS
  • Выбирается действие: Slow/Shutdown

В дополнение к вышеописанному существуют такие технологии как: Root Guard, EtherChannel Guard, Loop Guard, Port Blocking.

За сим все, спасибо, что дочитали до конца. Надеюсь, информация окажется полезной.

Базовые настройки безопасности Cisco

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

R0(config)#ip domain-name cisco-dmn

R0(config)#crypto key generate rsa

R0(config)#line vty 0 4

R0(config-line)#transport input ssh

R0 (config)# banner exec # text #

R0 (config)# banner incoming # text #

R0 (config-archive)# log config

R0 (config-archive-log-cfg)# logging on

R0 (config-archive-log-cfg)# hidekeys

R0 (config)#ip ssh time-out 60

R0 (config)#ip ssh logging events

R0 (config)#ip ssh authentication-retries 3

Логирование удачных и неудачных попыток авторизации:

R0 (config)#login on-failure log every

R0 (config-line)# exec-timeout <minutes> [seconds]

DHCP snooping — функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP.

Sw (config)# ip arp inspection vlan 1

Настройка доверенного порта:

Sw(config)# interface gigabitethernet1/0/1

Sw(config-if)# ip arp inspection trust

Включить DHCP snooping:

sw(config)# ip dhcp snooping

Включить DHCP snooping в VLAN, которые должны быть защищены с его помощью:

Configure Telnet, Console, and AUX Port Passwords on Routers

The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.

Contents

Introduction

This document describes sample configurations to configure password protection for inbound EXEC connections to the router.

Prerequisites

Requirements

In order to perform the tasks described in this document, you must have privileged EXEC access to the router command line interface (CLI). For information about the command line and to understand command modes, see Use the Cisco IOS Command-Line Interface.

For instructions on connection of a console to your router, refer to the documentation that accompanied your router, or refer to the online documentation for your equipment.

Components Used

The information in this document is based on these software and hardware versions:

Cisco 2509 router

Cisco IOS® Software Version 12

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Conventions

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Background Information

The use of password protection to control or restrict access to the command line interface (CLI) of your router is one of the fundamental elements of an overall security plan.

To protect the router from unauthorized remote access, typically Telnet, is the most common security that needs to be configured, but to protect the router from unauthorized local access cannot be overlooked.

Note: Password protection is just one of the many steps to use in an effective in-depth network security regimen. Firewalls, access-lists, and control of physical access to the equipment are other elements that must be considered when you implement your security plan.

Command line, or EXEC, access to a router can be made in a number of ways, but in all cases the inbound connection to the router is made on a TTY line. There are four main types of TTY lines, as seen in this sample show line output:

The CTY line-type is the Console Port. On any router, it appears in the router configuration as line con 0 and in the output of the show line command as cty . The console port is mainly used for local system access with a console terminal.

The TTY lines are asynchronous lines used for inbound or outbound modem and terminal connections and can be seen in a router or access server configuration as line x . The specific line numbers are a function of the hardware built into or installed on the router or access server.

The AUX line is the Auxiliary port, seen in the configuration as line aux 0 .

The VTY lines are the Virtual Terminal lines of the router, used solely to control inbound Telnet connections. They are virtual, in the sense that they are a function of software — there is no hardware associated with them. They appear in the configuration as line vty 0 4 .

Each of these types of lines can be configured with password protection. Lines can be configured to use one password for all users, or for user-specific passwords. User-specific passwords can be configured locally on the router, or you can use an authentication server to provide authentication.

There is no prohibition against a configuration of different lines with different types of password protection. It is, in fact, common to see routers with a single password for the console and user-specific passwords for other inbound connections.

This is an example of router output from the show running-config command:

Configure Passwords on the Line

To specify a password on a line, use the password command in line configuration mode. To enable a password check at the log in, use the login command in line configuration mode.

Configuration Procedure

In this example, a password is configured for all users who attempt to use the console.

From the privileged EXEC (or enable) prompt, enter configuration mode and then switch to line configuration mode with these commands. Notice that the prompt changes to reflect the current mode.

Configure the password, and enable password checking at log in.

Exit configuration mode.

Note: Do not save configuration changes to line con 0 until your ability to log in has been verified.

Note: Under the line console configuration, login is a required configuration command to enable a password check when logging in. Console authentication requires both the password and the login commands to work

Verify the Configuration

Examine the configuration of the router to verify that the commands have been properly entered:

show running-config — displays the current configuration of the router.

To test the configuration, log off the console and log in again, and use the configured password to access the router:

Note: Before you perform this test, ensure that you have an alternate connection into the router, such as Telnet or dial-in, in case there is a problem during log in back into the router.

Troubleshoot Log in Failure

If you cannot log back into the router and you have not saved the configuration, reload the router to eliminate any configuration changes you have made.

If the configuration changes were saved and you cannot log in to the router, perform a password recovery. See Password Recovery Procedures to find instructions for your particular platform.

Configure Local User-Specific Passwords

To establish a username-based authentication system, use the username < /code> command in global configuration mode. To enable a password check at log in, use the login local command in line configuration mode.

Configuration Procedure

In this example, passwords are configured for users who attempt to connect to the router on the VTY lines with Telnet.

From the privileged EXEC (or enable ) prompt, enter configuration mode and enter username/password combinations, one for each user for whom you want to allow access to the router:

Switch to line configuration mode, and use these commands. Notice that the prompt changes to reflect the current mode.

Configure a password check at log in.

Exit configuration mode.

Note: In order to disable auto Telnet when you type a name on the CLI, configure no logging preferred /strong>on the line that is used. While transport preferred none provides the same output, it also disables auto Telnet for the defined host that are configured with the ip host command. This is unlike the no log preferred command, which stops it for undefined hosts and lets it work for the defined ones.

Verify the Configuration

Examine the configuration of the router to verify that the commands have been properly entered:

show running-config — displays the current configuration of the router.

To test this configuration, a Telnet connection must be made to the router. This can be done if you connect from a different host on the network, but you can also test from the router itself through telnet to the IP address of any interface on the router that is in an up/up state as seen in the output of the show interfaces command.

Here is a sample output if the address ofinterface ethernet 0were 10.1.1.1:

Troubleshoot User-specific Password Failure

Usernames and passwords are case-sensitive. Users who attempt to log in with an incorrectly cased username or password are rejected.

If users are unable to log into the router with their specific passwords, reconfigure the username and password on the router.

Configure AUX Line Password

In order to specify a password on the AUX line, issue the password command in line configuration mode. In order to enable a password check at log in, issue the login command in line configuration mode.

Configuration Procedure

In this example, a password is configured for all users who attempt to use the AUX port.

Issue th e show line command in order to verify the line used by the AUX port.

In this example, the AUX port is on line 65. Issue these commands in order to configure the router AUX line:

Verify Configuration

Examine the configuration of the router in order to verify that the commands have been properly entered:

The show running-config command displays the current configuration of the router:

Configure AAA Authentication for Log In

To enable authentication, authorization, and accounting (AAA) authentication for log ins, use the login authentication command in line configuration mode. AAA services must also be configured.

Configuration Procedure

In this example, the router is configured to retrieve users’ passwords from a TACACS+ server when users attempt to connect to the router.

Note: Configuration of the router to use other types of AAA servers (RADIUS, for example) is similar. See Configure Authentication for additional information.

Note: This document does not address configuration of the AAA server itself.

From the privileged EXEC (or enable ) prompt, enter configuration mode and enter the commands to configure the router to use AAA services for authentication:

Switch to line configuration mode and use these commands. Notice that the prompt changes to reflect the current mode.

Configure a password check at log in.

Exit configuration mode.

Verify the Configuration

Examine the configuration of the router to verify that the commands have been properly entered:

show running-config — displays the current configuration of the router.

To test this particular configuration, an inbound or outbound connection must be made to the line. See the Modem — Router Connection Guide for specific information on configuration of asynchronous lines for modem connections.

Alternately, you can configure one or more VTY lines to perform AAA authentication and perform your test thereupon.

Troubleshoot AAA log in Failure

Before you issue debug commands, see Important Information on Debug Commands.

To troubleshoot a failed log in attempt, use the debug command appropriate to your configuration:

Базовая настройка коммутатора Cisco — часть 1

Сетевые устройства могут работать в режимах, которые подразделяются на три большие категории.

Первая и основная категория- это передача данных (плоскость данных, data plane). Это режим работы коммутатора по передаче кадров, генерируемых устройствами, подключенными к коммутатору. Другими словами, передача данных является основным режимом работы коммутатора.

Во-вторых, управление передачей данных относится к настройкам и процессам, которые управляют и изменяют выбор, сделанный передающим уровнем коммутатора. Системный администратор может контролировать, какие интерфейсы включены и отключены, какие порты работают с какой скоростью, как связующее дерево блокирует некоторые порты, чтобы предотвратить циклы, и так далее. Так же важной частью этой статьи является управление устройством, осуществляемое через плоскость наблюдения (management plane). Плоскость наблюдения — это управление самим устройством, а не управление тем, что делает устройство. В частности, в этой статье рассматриваются самые основные функции управления, которые могут быть настроены в коммутаторе Cisco. В первом разделе статьи рассматривается настройки различных видов безопасности входа в систему. Во втором разделе показано, как настроить параметры IPv4 на коммутаторе, чтобы им можно было управлять удаленно. В последнем разделе рассматриваются практические вопросов, которые могут немного облегчить жизнь системного администратора.

Защита коммутатора через CLI

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

Однако не всегда имеется физический доступ к коммутатору и тогда необходимо иметь доступ к устройствам для удаленного управления, и первым шагом в этом процессе является обеспечение безопасности коммутатора так, чтобы только соответствующие пользователи могли получить доступ к интерфейсу командной строки коммутатора (CLI).

Настройка парольного доступа к коммутатору Cisco

В данной части рассматривается настройка безопасности входа для коммутатора Cisco Catalyst.

Защита CLI включает защиту доступа в привилегированный режим, поскольку из этого режима злоумышленник может перезагрузить коммутатор или изменить конфигурацию.

Защита пользовательского режима также важна, поскольку злоумышленники могут видеть настройки коммутатора, получить настройки сети и находить новые способы атаки на сеть.

Особенно важно, что бы все протоколы удаленного доступа и управления, чтобы IP-настройки коммутатора были настроены и работали.

Для того чтобы получить удаленный доступ по протоколам Telnet и Secure Shell (SSH) к коммутатору, необходимо на коммутаторе настроить IP-адресацию.

Чуть позже будет показано, как настроить IPv4-адресацию на коммутаторе.

В первой части статьи будут рассмотрены следующие вопросы защиты входа:

  • Защита пользовательского режима и привилегированного режима с помощью простых паролей;
  • Защита доступа в пользовательский режим с использованием локальной базы данных;
  • Защита доступа в пользовательский режим с помощью внешних серверов аутентификации;
  • Защита удаленного доступа с помощью Secure Shell (SSH);
Защита пользовательского и привилегированного режима с помощью простых паролей.

Получить полный доступ к коммутатору Cisco можно только через консольный порт.

В этом случае, настройки по умолчанию, позволяют получить доступ сначала к режиму пользователя, а затем можно перейти в привилегированный режим без использования паролей.

А вот по протоколам удаленного доступа Telnet или SSH получить доступ даже к режиму пользователя невозможно.

Настройки по умолчанию идут у совершенно нового коммутатора, но в производственной среде необходимо обеспечить безопасный доступ через консоль, а также включить удаленный вход через Telnet и/или SSH, чтобы была возможность подключаться ко всем коммутаторам в локальной сети.

Можно организовать доступ к сетевому оборудованию с использованием одного общего пароля.

Этот метод позволяет подключиться к оборудованию, используя только пароль — без ввода имени пользователя — с одним паролем для входа через консольный порт и другим паролем для входа по протоколу Telnet. Пользователи, подключающиеся через консольный порт, должны ввести пароль консоли, который был предварительно настроен в режиме конфигурации. Пользователи, подключающиеся через протокол Telnet, должны ввести пароль от Telnet, также называемый паролем vty, так называемый, потому что это режим конфигурации терминальных линий (vty). На рисунке 1 представлены варианты использования паролей с точки зрения пользователя, подключающегося к коммутатору.

Пример защиты доступа одним паролем, без ввода имени пользователя

Как видно из рисунка 1, на коммутаторах Cisco стоит защита привилегированного режима (enable) с помощью еще одного общего пароля, задаваемый командой enable password. Системный администратор, подключающийся к CLI коммутатора попадает в режим пользователя и далее, вводит команду enable.

Эта команда запрашивает у пользователя пароль входа в привилегированный режим; если пользователь вводит правильный пароль, IOS перемещает пользователя в привилегированный режим.

Пример 1. Пример входа в коммутатор из консоли, когда пароль консоли и пароль привилегированного режима были заранее установлены. Предварительно пользователь запустил эмулятор терминала, физически подключил ноутбук к консольному кабелю, а затем нажал клавишу Enter, чтобы войти в коммутатор.

В примере показаны пароли в открытом виде, как если бы они были набраны в обычном текстовом редакторе (cisco), а также команда enable, которая перемещает пользователя из пользовательского режима в привилегированный режим (enable). В реальности же IOS скрывает пароли при вводе, чтобы никто не смог увидеть их.

Чтобы настроить общие пароли для консоли, Telnet и привилегированного режима (enable), необходимо ввести несколько команд. На рис. 2 показан порядок задания всех трех паролей.

Команды настройки парольного доступа к коммутатору

На рисунке 2 показаны два ПК, пытающиеся получить доступ к режиму управления устройством. Один из ПК подключен посредством консольного кабеля, соединяющейся через линию console 0, а другой посредством Telnet, соединяющейся через терминальную линию vty 0 15. Оба компьютера не имеют Логинов, пароль для консоли и Telnet -cisco. Пользовательский режим получает доступ к привилегированному режиму (enable) с помощью ввода команды «enable secret cisco». Для настройки этих паролей не надо прилагать много усилий. Все делается легко. Во-первых, конфигурация консоли и пароля vty устанавливает пароль на основе контекста: для консоли (строка con 0) и для линий vty для пароля Telnet (строка vty 0 15). Затем в режиме консоли и режиме vty, соответственно вводим команды:

Настроенный пароль привилегированного режима, показанный в правой части рисунка, применяется ко всем пользователям, независимо от того, подключаются ли они к пользовательскому режиму через консоль, Telnet или иным образом. Команда для настройки enable password является командой глобальной конфигурации: enable secret <пароль пользователя>.

В старых версиях, для задания пароля на привилегированный режим, использовалась команда password. В современных IOS применяется два режима задания пароля: password и secret.

Рекомендуется использовать команду secret, так как она наиболее безопасна по сравнению с password.

Для правильной настройки защиты коммутатора Cisco паролями необходимо следовать по шагам, указанным ниже:

Шаг 1. Задайте пароль на привилегированный режим командой enable secret password-value

Шаг 2. Задайте пароль на доступ по консоли

  1. Используйте команду line con 0 для входа режим конфигурирования консоли;
  2. Используйте команду liassword liassword-value для задания пароля на консольный режим;
  3. Используйте команду login для запроса пароля при входе по консоли;

Шаг 3. Задайте пароль на терминальные подключения vty (Telnet)

  1. Используйте команду line vty 0 15 для входа режим конфигурирования терминальных линий. В данном примере настройки будут применены ко всем 16 терминальным линиям;
  2. Используйте команду liassword liassword-value для задания пароля на режим vty;
  3. Используйте команду login для запроса пароля при входе по Telnet

В Примере 2 показан процесс настройки, согласно вышеописанным шагам, а также установка пароля enable secret. Строки, которые начинаются с ! — это строки комментариев. Они предназначены для комментирования назначения команд.

Пример 3 показывает результирующую конфигурацию в коммутаторе, выводимой командой show running-config. Выделенный текст показывает новую конфигурацию. Часть листинга было удалено, что бы сконцентрировать ваше внимание на настройке пароля.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *