Практическая безопасность сетей - DEMO
Практическая безопасность сетей - DEMO
Практическая
безопасность сетей
Ольков Евгений, 2017
blog.netskills.ru
От автора 6
Применение 8
Введение 9
Миф безопасности 9
1. Доступ к оборудованию 11
1.1 Физический доступ 11
1.1.1 Вход в систему 12
1.1.2 Задаем пароль на enable 14
1.1.3 Создание пользователей 18
1.1.4 Подключение по консоли 20
1.1.5 Сброс пароля 21
1.2 Удаленный доступ 22
1.2.1 VTY 23
1.2.2 Telnet 25
1.2.3 SSH 26
1.2.4 HTTP/S 29
1.2.5 Ограничение доступа 31
1.2.6 Списки доступа к оборудованию 32
1.2.7 Защита от Brute Force 33
1.2.8 Идентификация устройства 34
1.3 AAA 36
1.3.1 RADIUS 37
1.3.2 TACACS+ 38
1.3.3 RADIUS vs TACACS+ 38
1.3.4 Настройка ААА-сервера 39
1.3.5 Настройка Authentication 42
1.3.6 Настройка Authorization 44
1.3.7 Настройка Accounting 46
1.3.8 Ограничения ААА 46
1.4 Парольная политика 47
1.5 Чек-лист №1 51
1.6 Пример конфигурации 52
2. Лучшие практики 54
2.1 Logs 54
2.1.1 Методы сбора логов 55
2.1.2 Уровни логирования 55
1
2.1.3 Console Logging 56
2.1.4 Buffered Logging 56
2.1.5 Terminal Logging 57
2.1.6 Syslog-сервер 57
2.1.7 SNMP Traps 59
2.1.8 Безопасность логов 59
2.1.9 Время 60
2.2 Лишние сервисы 61
2.3 Резервная память 62
2.4 Защищенные протоколы 62
2.4.1 SCP 62
2.4.2 SNMP 63
2.5 Резервные копии 64
2.6 Логирование команд 66
2.7 Обновления 66
2.8 Чек-лист №2 67
2.9 Пример конфигурации 68
4. Управление безопасностью 95
2
4.1 Иерархия средств защиты 96
4.2 Политика безопасности 97
4.2.1 Верхний уровень 98
4.2.2 Средний уровень 98
4.2.3 Нижний уровень 99
4.2.4 Пример политики безопасности 99
4.4 Чеклист №4 100
3
6.3.1 Зачем? 131
6.3.2 Лишние сервисы 132
6.3.3 Private VLAN 133
6.4 Чеклист №6 136
6.5 Пример конфигурации 136
Заключение 141
4
Посвящается моей жене Ксении и маленькому сыну Степану, которые всегда
меня поддерживали и были моей самой главной мотивацией.
5
От автора
Данная книга является результатом нескольких лет работы в области
системной интеграции, а также основана на анализе и переработке огромного
количества профессиональной литературы. Руководство носит исключительно
информативный характер. Приведенные рекомендации всего лишь личное мнение
автора и не являются абсолютной истиной!
Я буду придерживаться свободного стиля изложения и возможно у вас иногда
будет возникать ощущение, что вы читаете художественную, а не техническую
литературу. Надеюсь, что это позволит гораздо легче воспринимать весь материал.
Автор имеет техническое образование и совершенно однозначно не может
назвать себя писателем. Книга не проходила никакой модерации, поэтому с большой
долей вероятности вы встретите как орфографические, так и пунктуационные ошибки.
Заранее прошу прощения (буду благодарен, если вы сообщите мне об ошибках в
тексте)!
Кроме того, хотел бы обратиться к читателям с просьбой не
распространять эту книгу в сети Интернет. Автор потратил очень много сил на
ее написание. Хоть и небольшой доход от продаж книги позволяет поддерживать и
развивать бесплатный проект NetSkills, где и в дальнейшем будут публиковаться
бесплатные видео курсы.
6
вторжений, прокси-сервера и т.д. Бюджет проектов исчислялся десятками миллионов
рублей. Представьте мое удивление, когда после внедрения таких “дорогущих”
проектов обнаруживалось, что на обычном сетевом оборудовании использовались
пароли вроде “admin” или “1234” (и эти пароли не менялись годами, даже после смены
системных администраторов). Для подключения к коммутаторам использовался
незащищенный протокол “Telnet”. В офисах стояли хабы, которые принесли сами
пользователи, “потому что им так удобнее”. В корпоративную сеть подключались
личные ноутбуки сотрудников. В ИТ инфраструктуре была полная анархия.
Таким образом, несмотря на потраченные миллионы, такую сеть мог бы
“положить” даже школьник в течении 5 минут. А все из-за безалаберного отношения к
обычным коммутаторам и маршрутизаторам, которые обычно никто даже не
рассматривает в качестве средств защиты.
-----------------------------
В данной книге мы узнаем каким образом можно “закрутить гайки
безопасности” на обычных коммутаторах и маршрутизаторах. Попробуем описать
лучшие практики по настройке оборудования и процессы, необходимые для
обеспечения информационной безопасности.
-----------------------------
7
5. вам интересны лучшие практики в области сетевой безопасности;
6. просто интересуетесь сетевой безопасностью.
Также это руководство отлично подойдет для обучения сотрудников внутри
организации - сетевых инженеров и системных администраторов. Данная книга
особенно рекомендуется для завершивших “Курс молодого бойца”, как логическое
продолжение основ сетевых технологий.
Применение
Данное руководство описывает основные аспекты построения защищенной
сети на основе коммутаторов и маршрутизаторов, без использования
специализированных средств (межсетевых экранов, IPS, DLP и т.д.).
-----------------------------
В книге будут даны не только рекомендации, но и конкретные примеры
конфигурации оборудования. Все примеры будут касаться исключительно
оборудования компании Cisco Systems.
-----------------------------
Это не значит, что если вы используете коммутаторы другой фирмы, то данная
книга вам не подойдет. Все описанные настройки присутствуют в подавляющем
большинстве сетевого оборудования. Принцип остается тем же, отличаться будет
только синтаксис команд.
Следует отметить, что описанные в книге методы не гарантируют абсолютной
безопасности вашей сети. Руководство дает некий “шаблон”, придерживаясь которого
вы сможете существенно обезопасить сетевую инфраструктуру.
Также предполагается, что читатель обладает необходимым уровнем знаний и
способен отличить коммутатор от маршрутизатора.
После прочтения данного руководства настоятельно рекомендую к
ознакомлению книгу “Архитектура корпоративных сетей”. Книга познакомит вас с
принципами построения более комплексной и надежной защиты на основе
специализированных продуктов.
Важное замечание! Абсолютно все описанные технологии и настройки, можно
попробовать в GNS3, UNetLab (EVE NG) или Cisco Packet Tracer. Если у вас нет
опыта работы с данными программами, то вы можете воспользоваться бесплатными
видео уроками, которые вы найдете на сайте blog.netskills.ru.
8
Введение
Информационная безопасность (ИБ). Это очень емкое понятие, которое
трактуется по-разному. Но почти всегда эту фразу ассоциируют с чем-то сложным,
непонятным и даже раздражающим. Некоторые пользователи вообще ненавидят эту
самую безопасность, особенно когда им неожиданно закрыли доступ к любимому
сайту или ограничили права на файловом хранилище. Большинство воспринимают ИБ
как нечто мифическое, пока сами не столкнутся с неприятностями. А учитывая
последние тенденции компьютеризации всего и вся, возможностей у
злоумышленников становится все больше, в то время как мы становимся все более и
более уязвимыми.
Многие часто используют понятие “сетевая безопасность” как синоним
“информационной безопасности”. Это в корне не верно. Под сетевой безопасностью
мы будем подразумевать защиту нашей ИТ - инфраструктуры от злоумышленников
(как внешних так и внутренних), а также защиту от случайных ошибок персонала. Да,
опасность исходит не только от хакеров. Наш собственный пользователь
представляет не меньшую опасность, сам того не подозревая.
Мы начнем с базовых вещей, которые можно сделать “здесь и сейчас”, без
серьезного переделывания сети. Уделим внимание типичным ошибкам
администраторов сети. Узнаем об основных угрозах для сети и каким образом от них
защититься. Рассмотрим лучшие практики по настройке оборудования.
К концу книги мы рассмотрим более сложные вещи. Научимся производить
простейший аудит сети. Узнаем каким образом разграничивать доступ к
корпоративным ресурсам и попробуем разработать свою первую матрицу доступа.
-----------------------------
В итоге мы получим некий “чек-лист”, на который следует ориентироваться
при построении безопасной сети.
-----------------------------
Миф безопасности
Прежде чем продолжишь повествование, я должен сделать небольшое
лирическое отступление.
-----------------------------
Если вас захотят взломать, вы не сможете этому противостоять. Чтобы
вы не делали.
-----------------------------
Возможно данный тезис не очень мотивирует к дальнейшему чтению, но нужно
правильно понимать смысл этого утверждения. Ни одна система защиты не даст 100%
гарантию. Пока вы дочитали до этой строки уже появилось несколько новых (ранее
неизвестных) уязвимостей, которые уже кто-то использует с весьма корыстными
целями. Обеспечение информационной безопасности похоже на гонку вооружений,
вот только хакер всегда на шаг впереди. Всегда будут первые жертвы, после которых
появляются описания данных брешей, выходят всевозможные патчи и обновления для
9
средств защиты. Периодически взламываются такие серьезные структуры как ФБР,
Пентагон, ФСБ, Kaspersky, где бюджеты ИБ исчисляются миллиардами, а в службе
безопасности работают лучшие из лучших. Но даже они не могут защититься от
таргетированных (целенаправленных) атак, когда высококлассный хакер кропотливо
пытается подобрать ключик к самой современной системе защиты. Как бы дико не
звучало, но даже полностью изолированные сети (отключенные от Интернета)
подвержены успешным атакам. Современные вирусы способны внедряться в
закрытые сети через флеш-носители сотрудников, собирать нужную информацию и
терпеливо ждать, когда они смогут выбраться через те же флешки.
Но зачем тогда защищаться, если все так плохо? Но все плохо только на
первый взгляд. Процент таких таргетированных атак ничтожно мал, по сравнению с
атаками “на дурака”. Подавляющее большинство вторжений в сеть происходит с
применением простейших и давно известных приемов. Для воспроизведения таких
атак не требуется быть хакером - экспертом. Достаточно скачать специализированные
дистрибутивы (например Kali Linux) и воспользоваться уже готовыми программами для
взлома. Не нужно глубокое понимание работы стэка TCP/IP, не нужно уметь
программировать, не нужно разбираться в современных средствах защиты. Просто
скачать дистрибутив, нажать пару кнопок и готово. Можно даже скачать готовый
вирус/троян и закинуть его по почте. Наблюдается интересная статистика, в
праздничные дни возрастает кол-во атак. Как вы думаете, почему? Из-за студентов и
школьников на каникулах, которые пробуют свои силы в хакинге с помощью
популярных и весьма доступных утилит.
Кроме того, как было сказано выше, угрозу представляют не только внешние
“враги”, но и внутренние пользователи. Неосторожные действия могут привести к
весьма длительному простою сети, либо открыть окно для внешнего злоумышленника.
Поэтому не стоит пенять на отсутствие средств защиты, забывая о грамотной
настройке основного сетевого оборудования. Даже на уровне коммутаторов и
маршрутизаторов вы сможете отсечь подавляющее большинство опасностей для
вашей сети.
10
1. Доступ к оборудованию
Ограничить доступ к сетевому оборудованию, как физически, так и удаленно.
Это первое с чего вы должны начать. Просто поразительно сколько неприятностей
происходит в корпоративных сетях только из-за неограниченного доступа к
оборудованию.
11
установки подобного шкафа, постарайтесь убрать сетевое оборудование в
максимально недоступное место: под потолок, на высокий шкаф и т.д.
Если же ваше сетевое оборудование находится в неконтролируемой зоне
(общие коридоры, лестничные пролеты), то телекоммуникационный шкаф с надежным
замком является обязательным условием. Данная мера позволит существенно
снизить риск физического доступа злоумышленника к вашей сети. Иными словами -
хакер не сможет подключиться патч-кордом к вашему коммутатору. Плюс это может
спасти вас от вандалов, которые также представляют угрозу для информационной
безопасности.
Тоже самое можно сказать про витую пару. Все провода должны проходить в
труднодоступных местах, чтобы снизить вероятность злонамеренного внедрения.
-----------------------------
Ограничьте физический доступ к вашему сетевому оборудованию, а также
кабельной системе. Это снизит риски как случайных, так и целенаправленных
вторжений.
-----------------------------
12
пользовательского режима возможно собрать большое количество информации о сети
в целом. Приведем простой пример. Пусть наша сеть выглядит следующим образом:
Switch>?
Exec commands:
connect Open a terminal connection
disable Turn off privileged commands
disconnect Disconnect an existing network connection
enable Turn on privileged commands
exit Exit from the EXEC
logout Exit from the EXEC
ping Send echo messages
resume Resume an active network connection
show Show running system information
telnet Open a telnet connection
terminal Set terminal line parameters
traceroute Trace route to destination
13
Holdtime: 136
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)FX, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Wed 12-Oct-05 22:05 by pt_team
advertisement version: 2
Duplex: full
---------------------------
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)FX, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Wed 12-Oct-05 22:05 by pt_team
advertisement version: 2
Duplex: full
---------------------------
Version :
Cisco IOS Software, C1900 Software (C1900-UNIVERSALK9-M), Version 15.1(4)M4, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Thurs 5-Jan-12 15:41 by pt_team
advertisement version: 2
Duplex: full
14
Большинство руководств в сети Интернет описывает процесс установки пароля
с помощью команд:
Switch(config)#service password-encryption
Как видим пароль уже выглядит совсем иначе. Это так называемые Type 7
пароли. Но и этого недостаточно. Дело в том, что команда service
password-encryption использует довольно слабый и широко известный метод
шифрования. Данные пароли очень просто поддаются дешифрации. В интернете
огромное количество утилит, которые позволяют это сделать. Яркий пример - утилита
Cain&Abel. Также доступны онлайн ресурсы (это всего лишь пример и вы можете
найти другие сайты используя в google поисковый запрос “cisco type 7 password
decrypt”). Давайте попробуем восстановить пароль из нашей зашифрованной
последовательности 0822455D0A16.
15
Пароль успешно восстановлен. Таким образом, если злоумышленник все же
смог получить доступ к конфигурации устройства (или возможно он смог запомнить
зашифрованный пароль одним лишь взглядом), то он с легкостью расшифрует
реальный пароль. Шифрование здесь не помогло.
Для решения этой проблемы существует enable secret. Именно эту команду
необходимо использовать при задании пароля. Функция secret использует совершенно
другой принцип. Вместо шифрования, пароль проходит через определенный алгоритм
(MD5) и на выходе получается так называемый hash (хэш).
16
В конфигурации мы видим hash нашего исходного пароля. Цифра “5” после
enable secret означает, что используется алгоритм хэширования (в случае с enable
password отображается цифра 7). Как было сказано выше, данный пароль
невозможно декодировать. Однако и это не дает нам 100% защиты. Данный пароль
можно брутфорсить (от англ. brute force), т.е. подбирать. В интернете существуют
таблицы, где для самых распространенных паролей приведены их хэши. Есть даже
специализированные сервисы, например (можете найти другой сервис в google,
используя запрос “Cisco IOS Enable Secret Type 5 Password Cracker”).
17
1.1.3 Создание пользователей
Мы разобрались каким образом задавать пароль на вход в привилегированный
режим. Но этого недостаточно. Нам также необходимо защитить и пользовательский
режим, как это было описано выше. Для этого требуется настройка аутентификации по
учетной записи. В этом случае при входе на устройство (даже с консоли) необходимо
ввести логин (login) и пароль. Пример:
User Access Verification
Username: admin
Password:
Switch>
18
Теперь рассмотрим сам процесс создания учетных записей на устройствах
Cisco. Как правило рекомендуют использовать команду:
Если зайти в систему под пользователем worker, то вам будет доступно всего две
команды: show running-configи p
ing.
-----------------------------
Не создавайте учетные записи с уровнем привилегий 15. Пароль учетной записи и
пароль на enableдолжны быть разными!
-----------------------------
Гораздо разумнее будет создавать пользователей с уровнем 1, тогда при входе
на устройство вы будете попадать в пользовательский режим (switch>). Для перехода
в привилегированный режим (switch#) будет необходимо дополнительно ввести
команду enable и пароль. Это позволяет повысить уровень защищенности
(злоумышленнику придется угадывать два пароля вместо одного). Таким образом
создавая пользователя должна использоваться команда подобная примеру:
19
Здесь мы используем нестандартное имя учетной записи и пониженный уровень
привилегий. Вопрос выбора паролей будет описан чуть позже.
При использовании AAA сервера учетные записи не хранятся на оборудовании,
в этом случае можно присваивать уровень 15 (об этом мы поговорим чуть позже).
После этого при попытке входа в консоль устройства будет запрошен логин и пароль.
Однако это довольно старый способ и в любой современной литературе
используют новый метод, который так и называется new-model. Настройка
производится следующим образом:
Router(config)#aaa new-model /указываем что будем использовать метод new-model
Router(config)#aaa authentication login default local /создаем method list
Username: admin
Password:
Router>
20
Таким образом мы одновременно настроили аутентификацию для консоли (console )и
для удаленных подключений (vty).
Используя aaa new-model (вместо login local) в дальнейшем вы сможете более
плавно перейти к использованию AAA-серверов, т.к. там используется именно этот
метод. В главе AAA мы более подробно рассмотрим создание методов
аутентификации.
-----------------------------
Для настройки аутентификации используйте aaa new-model.
-----------------------------
Как ни странно, все еще встречаются прошивки, которые не поддерживают AAA. В
этом случае ничего не остается, как использовать метод login local (либо обновить
прошивку).
21
10) Входим в привилегированный режим командой enable. Вход будет без пароля.
11) Вернем название файла конфигурации: rename flash:config.old
flash:config.text.
12) Теперь копируем первоначальную конфигурацию в текущую: copy
startup-config running-config.
13) Мы оказались в привилегированном режим с первоначальными
конфигурациями. Для смены пароля необходимо войти в режим глобальной
конфигурации: conf t.
14) Теперь мы можем делать с конфигурацией все, что угодно. Сменить пароль на
enable, создать своего пользователя, настроить удаленное подключение и т.д.
15) Сохраняем конфигурацию: copy running-config startup-config .
Вообще говоря, процедура сброса может отличаться от устройства к
устройству. Цель этого примера - показать наличие данной возможности. Как видим,
получить полный контроль над коммутатором или маршрутизатором не составляет
особого труда. При этом администратор сети может ничего не узнать, т.к. мы
сохранили первоначальную конфигурацию и это не скажется на работе сети (за
исключением времени, когда происходила перезагрузка коммутатора).
Чтобы избежать данной ситуации есть два варианта:
1. Ограничить физический доступ, как было сказано ранее. Сетевое оборудование
должно быть либо в серверном помещении либо в специальном
телекоммуникационном ящике с замком. К сожалению это не всегда возможно,
особенно для коммутаторов уровня доступа, когда подключаются обычные
пользователи.
2. Запретить возможность сброса пароля. Делается это на программном уровне
используя команду no service password-recovery. Данная команда
поддерживается в относительно новых прошивках. После ее применения уже
не получится сбросить пароль с помощью описанной выше процедуры.
Злоумышленник все еще сможет сбросить устройство в заводские настройки,
но он не сможет получить доступ к текущей конфигурации. Однако подумайте
несколько раз, прежде чем использовать эту функцию. Возможна ситуация,
когда вы сами захотите сбросить пароль на устройстве (по причине его утери),
но сделать это вы уже не сможете. Лично я рекомендую использовать данную
функцию только на коммутаторах уровня доступа, находящихся вне серверной
комнаты.
-----------------------------
Запретите сброс пароля (no service password-recovery) на коммутаторах уровня
доступа к которым возможен физический доступ.
-----------------------------
22
1.2.1 VTY
Прежде чем приступить к описанию методов защиты, необходимо рассмотреть
сам процесс организации удаленного доступа. Если вам когда либо приходилось
настраивать “удаленку”, то вы обязательно сталкивались с такой аббревиатурой как
VTY - Virtual TeletYpe (хотя некоторые считают, что это расшифровывается как virtual
terminal, а “y” достался по наследству от tty, применяемого в linux… однозначного
ответа я так и не нашел). По-русски говоря это механизм позволяющий получить
удаленный доступ к так называемому command line interface (cli), т.е., по сути, к
виртуальной консоли устройства. Для подключения к этой самой vty могут
использоваться различные протоколы, о которых мы поговорим чуть позже.
Чаще всего в интернете можно встретить следующие инструкции по настройке
VTY:
1) Вход по паролю
Router#conf t
Router(config)#line vty 0 4
Router(config-line)#password cisco
Router(config-line)#login
Как видим, в этом случае пароль задается непосредственно для VTY. Если
попытаться подключиться с помощью telnet, то увидим следующее:
Router#telnet 192.168.1.1
Trying 192.168.1.1 ...Open
Password:
Здесь уже есть такой параметр как local, что означает использование локальной базы
пользователей (т.е. у вас уже должен быть хотя бы один созданный username ). При
попытке удаленного доступа получим следующее:
Router#telnet 192.168.1.1
Trying 192.168.1.1 ...Open
Username: admin
Password:
Router>
23
Однако оба метода это устаревший вариант настройки. Как было сказано выше,
сейчас рекомендуется использовать aaa new-model. В параграфе по настройке
консольного доступа (1.1.4) мы использовали следующие команды:
Router(config)#aaa new-model
Router(config)#aaa authentication login default local
24
В данном случае мы установили таймаут сессии в 5 минут и 0 секунд. Эта команда
весьма полезна если вы подключились к устройству, а потом “пошли пить чай”. Сессия
автоматически прервется через 5 минут и никто не сможет ей воспользоваться без
вашего ведома.
1.2.2 Telnet
Telnet. Этот протокол доступен практически на любом сетевом оборудовании и
почти всегда используется по умолчанию. Имеет ярко выраженный недостаток - все
данные передаются в открытом виде. Давайте рассмотрим простейший пример (вы
можете его с легкостью повторить в GNS3 или UNetLab). Имеется следующая схема:
25
Как видно из картинки, злоумышленник теперь знает и логин, и пароль, и даже всю
конфигурацию устройства. Сказывается отсутствие шифрования Telnet - сессии.
-----------------------------
Не используйте Telnetв качестве протокола удаленного подключения.
-----------------------------
1.2.3 SSH
Очевидное решение проблемы Telnet - шифрование данных. Для этой цели
был создан протокол SSH (Secure Shell - “Безопасная оболочка”) - сетевой протокол
прикладного уровня, предназначенный для удаленного управления. SSH является
практически стандартом для удаленного администрирования и поддерживается
большинством операционных систем. Протокол создает виртуальный шифрованный
канал между двух устройств. При этом одно устройство выступает в качестве SSH
сервера (например маршрутизатор или коммутатора), а другое - в качестве SSH
клиента (например наш компьютер). Все данные внутри канала шифруются, в том
числе login и password. Вообще говоря, SSH может использоваться не только для
26
удаленного управления, но и для безопасной передачи любых данных, будь-то звук,
видео и т.д.
Следует отметить, что существует две версии протокола, это SSHv1 и SSHv2 .
Как можно догадаться, предпочтительнее использовать именно SSHv2, он более
безопасен. Эта безопасность достигается за счет использования более криптостойких
алгоритмов шифрования 3DES или AES. При этом следует учитывать, что некоторое
оборудование по умолчанию не поддерживает данные алгоритмы, а значит возможно
использовать только SSHv1. Эта проблема решается банальным обновлением
прошивки. Как правило это прошивка в названии которой присутствуют символы “k9”.
Вернемся к описанному ранее примеру:
27
В данном случае мы уже не можем увидеть ни пароль, ни конфигурацию, что
делает нецелесообразным “прослушку” управляющего трафика.
-----------------------------
Используйте защищенные протоколы удаленного подключения (например SSHv2).
-----------------------------
Давайте теперь вкратце рассмотрим процесс настройки SSH подключений, тем
более что это довольно простой процесс. Большую часть настроек мы уже выполнили
в предыдущих этапах. На всякий случай напомню, что у вас уже должен быть задан
пароль для enable и создан хотя бы один username. Затем настроена аутентификация
либо с помощью aaa new-model (aaa authentication login default local) либо login local
,
для настройки SSH нет никакой разницы, т.к. в данном случае мы всего лишь
выбираем протокол. Вот так выглядит процесс настройки:
R2(config)#ip domain-name netskills.ru /имя домена используется для генерации ключей
R2(config)#crypto key generate rsa modulus 1024 /генерируем пару ключей, где длина ключа - 1024
И последнее, что нам нужно сделать, это указать SSH в качестве протокола
удаленного доступа:
R2(config)#line vty 0 4
R2(config-line)#transport input ssh
1.2.4 HTTP/S
Кроме Telnet и SSH, коммутаторы и маршрутизаторы Cisco поддерживают еще
один вариант управления - через веб-интерфейс. Могут использоваться такие
протоколы, как HTTP и HTTPS. Пример веб-интерфейса представлен на картинке
ниже.
29
2) SDM - Security Device Manager . Данная программа позволяет управлять
маршрутизаторами Cisco. Существенно упрощает создание VPN туннелей, а
также предоставляет более удобную работу со списками доступа (access-list).
30
функцию весьма осторожно и следите за обновлением прошивок. Мы поговорим о
прошивках чуть подробнее в следующих главах.
Как ни странно, но на некоторых устройствах функция HTTP включена по
умолчанию, даже если вы ее не используйте. Обязательно проверьте это, либо
выполните команду no ip http serverв режиме глобальной конфигурации (conf t).
Если же по какой-либо причине вам все же необходимо использовать web
доступ (например для CNA или SDM), то выбирайте HTTPS. Здесь можно провести
аналогию и сравнить HTTP с Telnet, а HTTPS с SSH. HTTPS шифрует все данные, в то
время как HTTP передает их в открытом виде, в том числе и пароли.
Давайте рассмотрим сам процесс настройки:
R1(config)#ip domain-name netskills.ru /должно быть задано доменное имя
R1(config)#ip http secure-server /включаем https сервер
R1(config)#no ip http server /убедитесь, что http сервер выключен
31
дополнительные линии связи, устанавливать дополнительный коммутатор),
либо просто невозможно (в случае большой распределенной сети).
б) Логически. В этом случае управляющий трафик отделяется от
пользовательского посредством выделения в отдельный логический сегмент -
VLAN. Данный способ является компромиссным решением, т.к. мы изолируем
управляющий трафик без необходимости в дополнительных линиях связи.
Получить удаленный доступ к оборудованию сможет только тот компьютер,
которых находится в управляющем VLAN. Логическое изолирование также не
применимо в случае распределенной сети, если при этом невозможно
“прокинуть” управляющий VLAN до удаленного объекта.
Оба варианта требуют настройки на оборудовании IP - адреса из сети,
отличной от сети пользователей.
2) In-band (IB) - управление оборудованием осуществляется по общим каналам.
Данный способ используется чаще всего, либо из-за отсутствия возможности
организации способа OOB, либо из-за обычной халатности системного
администратора. В этом случае значительно повышается вероятность
несанкционированного доступа (или попытки доступа). Для повышения уровня
защищенности единственным разумным решением является применение
списков доступа (Access-list). Мы поговорим о них более подробно в
следующем параграфе.
-----------------------------
Ограничьте удаленный доступ. Лишь несколько компьютеров должны иметь
возможность подключения к оборудованию.
-----------------------------
32
Сам процесс настройки списков доступа предельно прост. Давайте рассмотрим
ограничение доступа по SSH (при этом у вас уже должны быть выполнены
предыдущие настройки):
R1(config)#ip access-list standard SSH-ACCESS /создание списка доступа с понятным названием
R1(config-std-nacl)#permit host 192.168.2.2 /определяем хосты имеющие доступ по SSH
R1(config-std-nacl)#permit host 192.168.2.3
R1(config-std-nacl)#exit
R1(config)#line vty 0 4 /заходим в режим конфигурации vty
R1(config-line)#access-class SSH-ACCESS in /”вешаем” список доступа
Теперь доступ по SSH возможен только с двух узлов - 192.168.2.2 и 192.168.2.3. При
этом если нужно указать целую сеть, то можно использовать команду permit
192.168.2.0.
Функция ip access-list (именованные списки доступа) может быть недоступна
на устройствах со старой прошивкой. Тогда необходимо либо обновить прошивку,
либо использовать следующий вариант настройки:
R1(config)#access-list 1 remark SSH-ACCESS
R1(config)#access-list 1 permit host 192.168.2.2
R1(config-std-nacl)#exit
R1(config)#line vty 0 4
R1(config-line)#access-class 1 in
33
(чуть позже мы обсудим этот тип атак). Именно поэтому не пренебрегайте ранее
данными советами:
1) Не используйте стандартные имена в учетных записях;
2) Придумывайте сложные пароли (мы обсудим каким образом выбирать пароль в
следующей главе);
3) Ограничьте удаленный доступ с помощью списков доступа (для сети Интернет
его лучше вообще выключить).
Однако бывают экзотические случаи, когда все же необходим доступ к
оборудованию из сети Интернет. При этом нет возможности указать конкретный
удаленный хост, с которого будет разрешен доступ. Да и кто даст гарантию, что внутри
вашей сети нет зараженного компьютера, который будет пытаться подобрать пароли
ко всем доступным хостам? Именно для таких случаев есть дополнительный уровень
защиты - задержка между повторными вводами учетных данных. Настраивается это
следующим образом:
R1(config)#login delay 5
R1(config)#login block-for 60 attempts 3 within 30
Т.е. при 3-х неудачных попытках создается временный access-list, который блокирует
дальнейшие попытки с определенного хоста. Максимальное время блокировки - 65535
секунд (т.е. примерно на 18 часов). Крайне не рекомендую выставлять такой интервал,
т.к. вы и сами можете быть заблокированы если вдруг сделаете несколько неудачных
попыток (перепутали пароль, русская раскладка клавиатуры, зажатый caps lock).
-----------------------------
Для защиты от подбора паролей (Brute Force) настройте временную блокировку
повторной аутентификации.
-----------------------------
34
наверно поняли, здесь пойдет речь о таких вещах, как hostname и login banner
.
Довольно часто про эти опции просто забывают.
Вообще говоря, многие начинают настройку устройства с имени - hostname.
Это уже дело привычки. Имя должно быть осмысленным и однозначно определять
предназначение устройства. Пример:
- Коммутатор ядра - 4507_Core
- Коммутатор доступа на втором этаже - 2960_2flor
- Пограничный маршрутизатор - 1710_Edge
Это лишь примеры, которые отражают суть идеи. Естественно, что у каждого могут
быть собственные стандарты. Сама настройка элементарна:
Router>enable
Router#conf t
Router(config)# hostname R1 /задаем имя
R1(config)# /имя изменено
Кроме имени есть еще одна полезная опция - login banner. Это сообщение
которое мы видим при подключении к устройству. Пример:
User Access Verification
Username: admin
Password:
R1>
Какую же информацию можно поместить в сообщение баннера? Как правило в
нем указывают информацию об устройстве, о том, что нужно быть аккуратным при
конфигурировании и о том, что нужно немедленно выйти если вы попали на это
устройство случайно (такое все же иногда случается). Когда это может быть полезно?
К примеру у вас несколько администраторов сети и не каждому позволено
конфигурировать некоторые устройства. В этом случае, зайдя на устройство, можно
однозначно увидеть предостережение и сделать вывод о “законности” дальнейшей
настройки.
При этом у нас есть выбор когда показывать это сообщение - до
аутентификации или уже после (как в примере выше). На мой взгляд гораздо логичнее
это делать после, особенно если в сообщении содержится важная информация
(например, что данный коммутатор является ядром сети). Настройка также
элементарна:
R1(config)#banner exec c /начало баннера
Enter TEXT message. End with the character 'c'.
Test banner for NetSkills /сообщение
c /конец баннера
R1(config)#
35
1.3 AAA
Как уже было сказано выше, AAA-сервер позволяет централизованно хранить
все учетные записи пользователей. Это отличная альтернатива локальной базе на
самих устройствах. Какие же преимущества несет в себе AAA-сервер:
1) Удобное администрирование учетных записей. Если у вас больше 10-и сетевых
устройств, то добавление даже одного пользователя превращается в весьма
нудную и долгую процедуру. ААА-сервер решает эту проблему.
2) Безопасность учетных записей. В случае с локальной базой пользователей
(login local), при несанкционированном доступе к устройству, злоумышленник
потенциально получает доступ ко всем паролям, которые как правило
одинаковы для всех коммутаторов и маршрутизаторов. При использовании
AAA-сервера, все пароли хранятся централизованно, а на устройствах
отсутствуют какие-либо записи. Здесь есть и обратная сторона медали. Если
злоумышленник сможет получить доступ к AAA-серверу, то вся сеть окажется
скомпрометирована. Поэтому уделяйте особое внимание защите
AAA-серверов.
3) Простота соблюдения парольной политики. Как я уже говорил ранее, пароли
должны обязательно меняться с определенной периодичностью. В этом случае
AAA-сервер является незаменимым помощником. Смена паролей занимает
считанные секунды, даже если в вашей сети сотни устройств. Что такое
“парольная политика” мы подробно рассмотрим в следующих главах.
-----------------------------
Если в вашей сети более 10-и устройств, то вы просто обязаны использовать
AAA-сервер.
-----------------------------
Но обо всем по порядку. Что же значат эти три буквы? Расшифруем:
A - Authentication(аутентификация)
A - Authorization(авторизация)
A - Accounting(учет)
Буквы расшифровали, но это не сильно прояснило смысл этой технологии. Для
разъяснений я воспользуюсь примером моего любимого коуча - Keith Barker из CBT
Nuggets. Представим, что вы пришли в банк, чтобы снять часть своих сбережений. Для
начала вас попросят предоставить документы, чтобы убедиться, что вы являетесь
клиентом банка. После того как вы показали документы, вы прошли аутентификацию
(authentication), если конечно вы являетесь клиентом банка. Далее, девушка, которая
вас обслуживает, проверяет, можете ли вы снимать деньги и снимать именно такую
сумму. Если все нормально, то вы прошли авторизацию (authorization). А после всех
этих действий, естественно ведутся записи в журнал, что вы приходили, сняли деньги,
на счету осталось столько то денег. В данном случае прошел учет (accounting ).
Надеюсь теперь вам более понятно, что такое AAA и для чего это используется.
У многих возникают сложности при произношении “AAA”. Как же правильно
произносить имя этой технологии? Чаще всего используется фраза “трипл эй” (triple
A), т.е. “тройное А”.
36
Теперь рассмотрим процесс AAA на примере сетей. Представим, что на
сетевом устройстве уже настроен AAA и в нашей сети есть AAA-сервер с
настроенными учетными записями. В данном случае маршрутизатор выступает в роли
AAA-клиента.
1.3.1 RADIUS
RADIUS (Remote Authentication in Dial-In User Service) - открытый AAA-протокол.
Рассмотрим ключевые характеристики данного протокола:
37
1) В качестве транспортного протокола используется UDP. Для аутентификации
порт 1812 (ранее 1645), а для учета - 1813 (ранее 1646).
2) При взаимодействии между ААА-сервером и ААА-клиентом, протокол шифрует
только пароль. Остальные данные передается в открытом виде.
3) Аутентификация и авторизация являются единым процессом. Как только
пользователь проходит аутентификацию, он тут же, автоматически проходит
авторизацию и получает соответствующий ему уровень привилегий
(возможность выполнять ту или иную команду). После этого, пользователь
волен делать все, что ему разрешено в рамках своих привилегий.
4) Имеет очень детальный процесс учета (accounting).
5) Открытый протокол (open source).
Ярким представителем данного протокола является FreeRADIUS - AAA-сервер
с открытым исходным кодом. Также может быть интересна реализация этого
протокола с графическим интерфейсом - daloRADIUS.
1.3.2 TACACS+
TACACS+ (Terminal Access Controller Access Control System). Произносится как
ТА-КАКС плюс. Это проприетарная разработка компании Cisco и является более
усовершенствованным вариантом более старого протокола TACACS. Иногда можно
услышать слово TACACS без приставки “+”. Можете быть уверены, что на самом деле
речь идет именно о TACACS+, поскольку протокол TACACS уже практически не
используется. Основные отличия:
1) В качестве транспортного протокола используется TCP (порт 49), что конечно
же медленнее, чем UDP у RADIUS.
2) Протокол шифрует все данные между AAA-сервером и AAA-клиентом.
3) Процессы аутентификации и авторизации абсолютно независимы. Это
позволяет выполнять авторизацию каждой команды, которую вводит
пользователь. Таким образом мы получаем более гибкий контроль всех
действий.
4) Проприетарный протокол (т.е. закрытый).
Самый известный TACACS+ сервер - Cisco Secure Access Control Server (ACS ).
Это также проприетарная разработка компании Cisco. Продукт платный, но имеется
demo период (возможность бесплатного тестирования).
UDP
Транспортный
1812/1645 (authentication) TCP, порт 49
протокол
1813/1646 (accounting)
38
Открытый протокол. Проприетарный протокол.
Особенности “Плохо” реализована авторизация. Гибкая авторизация команд.
Детальный учет (accounting). Менее детальный учет.
Ответ как всегда зависит от каждой конкретной задачи.
Есть мнение, что у RADIUS гораздо лучше выполнен учет (accounting). Однако,
лично в моей практике, не было таких случаев, когда данное преимущество играло
важную роль (хотя для Интернет провайдеров это очень критично). А вот авторизация
каждой команды, это действительно важное отличие и здесь TACACS выигрывает.
RADIUS чаще всего используется для аутентификации удаленных пользователей, т.е.
VPN подключений, либо для WiFi пользователей. Также RADIUS сервер встречается в
сети любого Интернет провайдера, где нужно аутентифицировать сотни и тысячи
пользователей. TACACS же чаще всего применяется для аутентификации и
авторизации администраторов на сетевых устройствах. Опять же, данный выбор
обусловлен более гибкой авторизацией, когда можно проверять буквально каждую
команду. При этом RADIUS поддерживается практически любым сетевым
оборудованием, чего не скажешь о TACACS.
Данные протоколы весьма часто используются совместно, распределяя задачи.
Руководствуясь личным опытом, могу дать следующий совет:
-----------------------------
Для аутентификации VPN-пользователей и WiFi-клиентов используйте R ADIUS.
Для аутентификации и авторизации администраторов на сетевом оборудовании -
TACACS+.
-----------------------------
39
2) Создание уровней. Здесь подразумеваются уровни привилегий (Privilege
Level). Мы также задаем уровни при использовании локальной базы (local). На
рисунке ниже мы создали уровень 15 (Level15) и разрешили все команды.
Для примера создадим еще один уровень (Level1), которому разрешим всего
несколько команд: ping, s
how runи e
xit.
40
3) Создание пользователей. Последний этап. Создаем пользователя, указываем
пароль и его уровень привилегий. В нашем примере создан пользователь
admin15 c паролем admin15 и уровнем привилегий Level15 (т.е. ему доступны
все команды).
41
Точно таким же способ был создан пользователь admin1 с паролем admin1 и
уровнем Level1. Согласно нашим настройкам, ему будут доступны всего три команды.
На этом базовая настройка AAA-сервера завершена. Настройка Cisco ACS
имеет весьма схожий процесс и вряд ли может вызвать какие-то затруднения.
Думаю стоит немного пояснить последнюю команду. В качестве имени method list мы
использовали default, т.е. применили его ко всем линиям. Далее, с помощью
43
параметра group, мы определяем несколько возможных вариантов аутентификации.
Первым по приоритету идет tacacs+, т.е. если для роутера доступен ААА-сервер, то
для аутентификации будет использоваться именно этот способ. Если же по каким-то
причинам это невозможно, то будет использован второй способ - local
, т.е. локальная
база учетных записей. В данном случае этот способ является резервным и именно для
него мы создали локальную учетку admin. Кроме того, мы можем использовать в
качестве резервного варианта пароль от enable. В этом случае последняя команда
выглядела бы так:
aaa authentication login default group tacacs+ enable
В method list с именем FREE использует параметр none, который разрешает вход без
пароля.
Настройка RADIUS для аутентификации практически идентична и заключается
лишь в замене слова “tacacs”.
radius-server host 192.168.56.2
radius-server key cisco123
aaa authentication login default group radius local
Username: admin15
Password:
R1>
Как видим, вход с помощью учетной записи admin15 - успешен. Но стоит обратить
внимание на уровень привилегий. Данный пользователь был создан с уровнем 15
(Level15), но знак “>” говорит о том, что мы все еще в пользовательском режиме, т.е.
уровень 1. Причина в отсутствии настроек авторизации (вторая А). Именно
авторизация позволяет пользователю при входе на устройство автоматически
попадать на свой уровень.
44
aaa authorization exec default group tacacs+ local
Последним шагом идет настройка авторизации при входе через консольный порт.
Несмотря на ранее введенное имя default, авторизация на консольном порту не будет
проходить без этой команды.
Теперь если попробовать подключиться к маршрутизатору с помощью учетной
записи admin15, получим следующее:
User Access Verification
Username: admin15
Password:
R1#
Как видим по знаку “#” мы попадаем в нужный нам режим (privileged exec mode) без
необходимости ввода пароля enable.
Можно еще раз проверить работу авторизации и войти под учетной записью
admin1:
User Access Verification
Username: admin1
Password:
R1>
45
1.3.7 Настройка Accounting
Последним этапом будет настройка учета (accounting) или простым языком -
логирование всех действий пользователей. Делается это элементарно:
aaa accounting exec default start-stop group tacacs+
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
Мы видим на каком устройстве, в какое время, кем и как были произведены какие-либо
действия. Данная информация может существенно помочь при поиске причин
“внезапной” недоступности какого-либо устройства после неудачной настройки. Это и
есть основное предназначение функции Accounting.
46
1.4 Парольная политика
Мы уже частично затронули эту тему в предыдущих главах, теперь мы
рассмотрим данный вопрос более детально. В современном мире, практически любой
человек понимает важность пароля, а точнее важность его секретности. Используете
ли вы соц. сети, электронную почту или онлайн банкинг, везде необходим секретный
пароль. Тоже самое касается и корпоративных сетей. Пароль должен исключать
возможность несанкционированного доступа к сетевому оборудованию. Это касается
как доступа из внешней сети (Интернет), так и из внутренней.
Ранее мы уже обсудили, что пароли в конфигурации нужно шифровать, а сами
пароли не должны быть элементарными (вроде cisco или password). Однако и этого
недостаточно. Многие пользователи довольно часто используют корпоративные
пароли для личных целей, например при регистрации в соц. сетях, torrent - трекерах,
различных развлекательных порталах. Признаюсь, я и сам делал подобные вещи
несколько раз. Уверен, что каждый слышал о периодических взломах популярных
сайтов, в результате чего в сеть “утекали” огромные базы учетных записей. Среди
этих записей может быть и ваш корпоративный пароль. И неважно насколько он
сложный, т.к. он полностью скомпрометирован. Необходима смена пароля.
-----------------------------
Пароли необходимо периодически менять вне зависимости от их сложности.
-----------------------------
В данном случае, единственный способ обеспечить должный уровень
безопасности это соблюдать парольную политику.
47
коем случае нельзя оставлять учетные записи пользователей, которые уже не
работают в организации.
Большинство организаций ограничиваются данными пунктами. Однако этого
недостаточно. Есть один фактор, который мешает соблюдению описанных пунктов -
это память человека. Чем сложнее пароль, тем труднее его запомнить. Люди могут
идти на различные ухищрения, чтобы выбрать легкий для запоминания пароль, но при
этом формально соблюдая парольную политику. Приведем пример. Возьмем первые
два пункта: пароль должен содержать минимум 8 символов, включать буквы
верхнего/нижнего регистра, цифры и специальные символы. Данные требования легко
соблюсти выбрав следующие пароли: Password1!, P@ssw0rd, Pa$$w0rd и т.д.
Формально парольная политика применена, но данные пароли подбираются за
считанные минуты. В сети Интернет есть целые словари с подобными и самыми
распространенными паролями. Более того, если будет выполнятся “брутфорс”, то в
первую очередь будут подбираться именно такие, типовые варианты.
Приведем еще один пример, касающийся плановой смены паролей.
Предположим, что подошло время смены. Пользователь, дабы не усложнять себе
жизнь, меняет старый пароль Password1! на новый - Password2!. Опять же,
формально все соблюдено, но эффективность этой процедуры весьма сомнительна.
Еще один момент. Пункт 3) гласит, что пароль нельзя записывать ни на
физический, ни на электронный носитель. Но что делать если пароль забыт, либо
что-то случилось с тем, кто его знает? А если это пароль от коммутатора ядра в
крупном интернет провайдере? ААА-сервера частично решают эту проблему, но как
быть с локальными паролями на устройствах? Без них все равно не обойтись.
Описанные выше проблемы дали повод к появлению еще нескольких пунктов в
парольной политике:
6. Пароль не должен содержать легко предугадываемые сочетания символов.
Пример: pass, adm, qwert, asdf, 1234, user, либо фразы имеющие отношение к
имени/фамилии пользователя.
7. При смене пароля, новый пароль должен отличаться от старого не менее чем
на 4 символа.
8. Пароли от особо важных узлов должны быть записаны на какой либо носитель
(лист бумаги, флешка) и сохранены в безопасном месте (сейф).
-----------------------------
Соблюдайте парольную политику! Если ее нет - разработайте.
-----------------------------
48
5. 12345
6. 123456789
7. football
8. 1234
9. 1234567
10. baseball
11. welcome
12. 1234567890
13. abc123
14. 111111
15. 1qaz2wsx
16. dragon
17. master
18. monkey
19. letmein
20. login
21. princess
22. qwertyuiop
23. solo
24. passw0rd
25. starwars
Кроме пресловутых последовательностей цифр и популярных слов, можно
заметить пароль 1qaz2wsx. На первый взгляд он не кажется простым. Но это только
на первый взгляд. Очень большое количество пользователей любят придумывать
пароли, которые удобно вводить с клавиатуры, ведь так легче запомнить:
Можно привести много подобных примеров: qaz123, qweasd, zaq1xsw2, qazxsw и т.д.
При этом многие администраторы считают, что они придумали хороший пароль. Это в
корне не верно. Современные алгоритмы подбора паролей учитывают данные
“привычки” и позволяют угадывать такие комбинации за считанные секунды.
-----------------------------
Не используйте клавиатурные комбинации при создании пароля.
-----------------------------
49
1.4.3 Пароли по умолчанию
Очень многие администраторы забывают о такой важной вещи, как “Пароль по
умолчанию”. IP - камера, ip - телефон, источник бесперебойного питания, сетевой
принтер или даже холодильник (который подключается к сети Интернет) имеют
дефолтные пароли. Большинство беспечно полагают, что эти устройства не
представляют какой-либо опасности. Это серьезное заблуждение. Пароли для таких
устройств можно с легкостью найти в сети Интернет, что позволяет злоумышленнику
весьма просто подключиться к устройству, которое затем может использоваться как
плацдарм для дальнейшей атаки. Ситуация ухудшается с увеличением сегмента
Интернета вещей, так называемый IoT (Internet of Things). Яркий тому пример - ботнет
Mirai.
Mirai - одна из самых больших ботнет сетей на сегодняшний день. Однако
больше всего поражает не размер сети, а то, как эта сеть появилась. Метод гениально
прост. Ботнет не использует какую-то сложную уязвимость софта. Все, что он делает -
подбирает пароль. Тот самый “пароль по умолчанию”, который устанавливают
производители различных устройств. Mirai использует всего 61 различную комбинацию
логин/пароль методом перебора (возможно сейчас этих комбинаций уже больше).
Столь малое количество комбинаций обеспечивает высокую скорость обнаружения
уязвимых устройств, которые в дальнейшем используются в ботнет сети. На момент
написания статьи ботнет насчитывал уже более 1 миллиона устройств IoT. На что
способен Mirai? С помощью Mirai была организована самая мощная, в истории
Интернет, DDoS атака - 665 Гбит/с. Эксперты утверждают, что мощность атак будет
только расти. А виной всему дефолтный пароль, который забыли сменить при
установке устройства.
-----------------------------
Ни в коем случае не оставляйте пароли по умолчанию.
-----------------------------
1.4.4 Фишинг
Последнее, о чем я бы хотел поговорить в этой главе - Фишинг (от английского
fishing - рыбалка). Название говорит само за себя. Злоумышленник кидает крючок с
приманкой и ждет пока клюнет жертва. В качестве приманки может выступать
поддельный сайт социальной сети, куда хакер перенаправляет пользователя, где
последний вводит логин/пароль, не подозревая о зловредности сайта.
Злоумышленник получает нужные данные и использует их в своих целях. Как
говорилось выше, некоторые пользователи зачастую используют корпоративные
пароли для сторонних сервисов, что существенно повышает риск для сети компании.
Еще один популярный инструмент для фишинга - email рассылка.
Пользователю отправляется поддельное письмо (например от банка или начальника)
с просьбой передать пароль или любые другие ценные данные (номер кредитной
карты). Данный тип атак зачастую совмещает элементы социальной инженерии, что
существенно повышает их эффективность.
К сожалению, данный тип атак невозможно предотвратить средствами, которые
мы рассматриваем в рамках этой книги (коммутаторы, маршрутизаторы).
Единственный выход - информирование ваших пользователей/администраторов о
50
возможных опасностях, либо использование специализированных средств защиты от
фишинга (о которых мы обязательно поговорим, но уже в следующей книге).
1.5 Чек-лист №1
Первая глава книги подошла к концу и хотелось бы резюмировать
вышесказанное. Для этого запишем ключевые мысли предыдущих параграфов в виде
чек-листа:
1) Ограничьте физический доступ к вашему сетевому оборудованию, а также
кабельной системе. Это снизит риски как случайных, так и
целенаправленных вторжений.
2) Закрывайте доступ к консольному порту даже для пользовательского
режима.
3) Не используйте enable password даже в связке с service
password-encryption. Используйте сложные пароли и enable secret.
4) НИКОГДА не используйте стандартные учетные записи. Придумывайте
уникальные имена пользователей.
5) Не создавайте учетные записи с уровнем привилегий 15. Пароль учетной
записи и пароль на enable должны быть разными!
6) Для настройки аутентификации используйте aaa new-model.
7) Запретите сброс пароля (no service password-recovery) на коммутаторах
уровня доступа к которым возможен физический доступ.
8) Для настройки удаленного доступа используйте aaa new-model.
9) Не используйте Telnet в качестве протокола удаленного подключения.
10) Используйте защищенные протоколы удаленного подключения (например
SSHv2).
11) При необходимости организации web-доступа к оборудованию, используйте
HTTPS вместо HTTP. Помните об огромном количестве уязвимостей,
связанных с HTTP/S.
12) Ограничьте удаленный доступ. Лишь несколько компьютеров должны иметь
возможность подключения к оборудованию.
13) Для защиты от подбора паролей (Brute Force) настройте временную
блокировку повторной аутентификации.
14) Задавайте имя устройства (hostname) и сообщение после аутентификации
(banner exec), чтобы в будущем не “перепутать” оборудование.
15) Если в вашей сети более 10-и устройств, то вы просто обязаны
использовать AAA-сервер.
16) Для аутентификации VPN-пользователей и WiFi-клиентов используйте
RADIUS. Для аутентификации и авторизации администраторов на сетевом
оборудовании - TACACS+.
17) Никогда не настраивайте вход ТОЛЬКО через ААА-сервер. Вы не сможете
зайти на устройство, если сервер станет недоступен. Используйте
локальную учетную запись, как резервный вариант входа.
18) Для централизованной смены паролей локальных учетных записей
используйте менеджеры конфигураций (network configuration manager).
19) Пароли необходимо периодически менять вне зависимости от их сложности.
51
20) Соблюдайте парольную политику! Если ее нет - разработайте.
21) Не используйте клавиатурные комбинации при создании пароля.
22) Ни в коем случае не оставляйте пароли по умолчанию.
Придерживаясь этих советов, при организации доступа к оборудованию, вы
существенно повысите безопасность вашей сети. При этом от вас не требуются
какие-либо глубокие познания в области информационной безопасности.
3) Настраиваем SSH
Router(config)#ip domain-name netskills.ru
Router(config)#crypto key generate rsa modulus 1024
Router(config)#ip ssh version 2
Router(config)#ip ssh time-out 15
Router(config)#ip ssh logging events
Router(config)#line vty 0 4
Router(config-line)#transport input ssh
Router(config-line)#exec-timeout 5 0
Router(config-line)#exit
4) Отключаем HTTPи H
TTPS
Router(config)#no ip http secure-server
Router(config)#no ip http server
7) Настраиваем ААА
52
R1(config)#aaa new-model
R1(config)#tacacs-server host 192.168.56.101
R1(config)#tacacs-server key
cisco123
R1(config)#aaa authentication login default group tacacs+ local
R1(config)#aaa authorization exec default group tacacs+ local
R1(config)#aaa authorization config-command
R1(config)#aaa authorization commands 1 default group tacacs+ local
R1(config)#aaa authorization commands 15 default group tacacs+ local
R1(config)#aaa authorization console
R1(config)#aaa accounting exec default start-stop group tacacs+
R1(config)#aaa accounting commands 1 default start-stop group tacacs+
R1(config)#aaa accounting commands 15 default start-stop group tacacs+
Как было сказано выше, это всего лишь пример и ваши настройки могут
конечно же отличаться.
53
2. Лучшие практики
Перед началом “серьезной” части книги, мне бы хотелось рассмотреть еще
несколько аспектов сетевой безопасности. Советы из данной главы относятся к
категории “best practice” и их можно с легкостью применить к любой сети без каких-то
глобальных “переделок”.
2.1 Logs
Если вы когда-нибудь посещали уроки Истории, то наверняка слышали фразу
вроде: “Будущее невозможно без знаний о прошлом”. Это очень глубокая мысль,
которая имеет применение и в сфере информационной безопасности. В нашем случае
в качестве учебника по истории будут выступать Логи (logs). Их также называют
журналом событий, файлом регистраций и т.д. Название не столь важно, а смысл
один - записи о всех событиях в хронологическом порядке. Что конкретно
подразумевается под “событиями” мы обсудим чуть позже.
Меня всегда удивляло, с какой халатностью относятся к логам многие
системные администраторы. Их (логи) либо не собирают, либо просто не обращают на
них внимания. А между тем, логи, это один из самых мощных инструментов как при
поиске неисправностей ( troubleshooting), так и при расследовании различных
инцидентов (в том числе ИБ). Сколько было неудачных попыток доступа к
маршрутизатору? Когда отключился порт fa0/1 и происходило ли это раньше? Когда
произошло падение VPN-туннеля? Сколько прошло времени с перезагрузки
устройства и связано ли это с отключением электричества? Когда были внесены
последние изменения в конфигурацию? На эти и многие другие вопросы мы можем
ответить только обладая логами.
-----------------------------
Информационная безопасность невозможна без использования логов.
-----------------------------
Логирование (logging) позволяет видеть практически все, что происходило в
вашей сети. Согласитесь, что невозможно наблюдать за всем оборудованием в
режиме реального времени, особенно если инциденты происходят в ночное время, а
сеть исчисляется десятками коммутаторов и маршрутизаторов. Кроме того,
периодический просмотр логов позволяет избежать проблем, которые могут случиться
в будущем.
К сожалению сетевое оборудование Cisco (и других вендоров) имеет весьма
ограниченное место для логов (буфер), что в свою очередь сказывается на временном
промежутке, который может быть отражен в логах. При исчерпании размера буфера,
самые старые логи просто удаляются. Кроме того, при перезагрузке устройства логи
будут потеряны безвозвратно. Для решения данных проблем используются
Лог-серверы, но обо всем по порядку.
54
2.1.1 Методы сбора логов
Всего существует 6 способов сбора логов с оборудования Cisco и не только.
Рассмотрим их:
1) Console Logging - Вывод сообщений в консоль. Данный способ работает по
умолчанию и выводит логи прямо в консоль устройства.
2) Buffered Logging- Сохранение логов в буфер устройства, т.е. RAM память.
3) Terminal Logging- Вывод логов в терминал, т.е. для Telnet или SSH сессий.
4) Syslog сервер- централизованный сбор логов по протоколу Syslog.
5) SNMP Traps- централизованный сбор логов по протоколу SNMP.
6) AAA - использование Accounting. Сбор логово касательно подключения к
оборудованию и ввода команд. Мы уже рассматривали данный метод.
Каждый из способов обладает своими достоинствами и недостатками, поэтому
необходимо использовать их вместе. Ниже мы рассмотрим некоторые аспекты этих
методов.
-----------------------------
Используйте несколько способов сбора логов.
-----------------------------
55
2.1.3 Console Logging
Подключившись к коммутатору или маршрутизатору по консоли вы сразу
увидите отображение логов. По умолчанию включен 5-ый уровень логирования. Если
устройство находится под нагрузкой (т.е. через него идет трафик), то ни в коем случае
не стоит повышать уровень логирования, иначе вы просто не сможете работать из
консоли, т.к. постоянно появляющиеся логи не дадут вам набрать команды. Кроме
того, если вы просто вытащите консольный кабель, то логи будут продолжать
отсылаться в консоль и отнимать существенные ресурсы устройства.
-----------------------------
Используйте Console Loggingтолько при необходимости.
-----------------------------
Однако бывают случаи (обычно на этапе тестирования), когда Console Logging
наиболее удобен, т.к. позволяет наблюдать за устройством в реальном времени. Для
настройки уровня логирования используйте команду:
Router(config)#logging console 7
или
Router(config)#logging console debugging
56
-----------------------------
Настройте Buffered Loggingдаже при использовании Syslog-сервера.
-----------------------------
2.1.6 Syslog-сервер
Главная задача Лог-сервера - централизованный сбор логов со всех сетевых
устройств.
57
Логи собираются на выделенном Лог-сервере, который может иметь огромное
дисковое пространство, что позволяет хранить события за гораздо больший
временной интервал (6, 12 месяцев и даже больше). Мониторинг существенно
упрощается при использовании Лог-сервера, т.к. в этом случае нет нужды
подключаться к каждому устройству для проверки журнала событий. Лог-сервер
является обязательным элементом любой более-менее серьезной сети.
Сбор логов осуществляется с помощью специализированных протоколов.
Syslog является практически стандартом, поэтому Syslog-сервер часто называют
просто Лог-сервер. Данный протокол использует 514 (UDP) порт, а все данные
пересылаются в открытом виде. Еще одним популярным методом сбора Логов
является SNMP Traps. Выбирая Лог-сервер, убедитесь, что он поддерживает данные
технологии.
В качестве примера Лог-сервера можно привести Kiwi Syslog сервер, который
имеет бесплатную версию для Windows систем. Для Linux систем выбор гораздо
больше. Есть множество вариантов, как бесплатных, так и платных, стоимость которых
достигает сотни тысяч долларов.
-----------------------------
Используйте Лог-серверы для централизованного сбора логов.
-----------------------------
Здесь стоит отметить, что хранение Логов не является панацеей. Представьте,
что ежедневно в вашей сети генерируется более миллиона событий (а это весьма
скромный показатель для сети средних размеров). При этом в Логах содержится не
только полезная информация. Как разобраться в этом хаосе? Именно поэтому сейчас
становятся очень популярными Лог-серверы, которые обладают функцией
расширенного поиска и автоматическим анализом и корреляцией событий. Это
позволяет выделять самое главное из огромной массы событий. Такие Лог-серверы
относятся к категории Log Managment или SIEM системам. Данная тема очень
обширна и заслуживает отдельной книги, поэтому мы не будем рассматривать ее
более подробно. Однако, мне хотелось бы отметить несколько продуктов, которые
заслуживают внимания (по субъективному мнению автора):
1) Splunk
2) Graylog
58
3) OSSIM
4) ELK (Elastic Stack)
Дабы не перегружать книгу сторонней информацией, оставлю данную тему для
самостоятельного ознакомления. Могу лишь добавить, что если вы пользуетесь
Логами в своей ежедневной работе, то рано или поздно вам придется отказаться от
классических Лог-серверов в пользу систем с функцией анализа и корреляции
событий. Это своего рода эволюция в сегменте продуктов обработки данных.
Теперь рассмотрим элементарный процесс настройки оборудования Cisco для
отправки Логов на выделенный Лог-сервер:
Router(config)#logging host 192.168.1.100 \адрес Syslog-сервера
Router(config)#logging trap informational \6-ой уровень логирования
59
Первое, что нужно сделать, это ограничить доступ к Syslog-серверу с помощью
access-list-ов. Причем не только доступ к администрированию сервера (SSH, HTTPS и
т.д.), но и доступ устройств к серверу по протоколу syslog (UDP, порт 514). Т.е.
отправлять логи на сервер могут только те устройства, которым вы открыли доступ.
Некоторые события (DDoS) также генерируют огромное количество лог
сообщений, что в итоге может перегрузить Лог-сервер. Чтобы этого избежать в Cisco
IOS предусмотрена возможность ограничения пересылаемых логов за единицу
времени. Ограничение настраивается следующим образом:
Router(config)#logging rate-limit all 50
2.1.9 Время
Логи совершенно бесполезны если по ним нельзя точно определить, когда
именно произошло то или иное событие. Именно поэтому нужно убедиться, что на
всех сетевых устройствах установлено корректное время. Настройку времени можно
производить вручную, но в таком случае вы не сможете с точностью до секунды
синхронизировать время на всем оборудовании. Расхождение даже в пару секунд
может существенно усложнить анализ логов, особенно при расследовании ИБ
инцидентов. Для решения этой проблемы используется протокол NTP.
Network Time Protocol (NTP) - протокол сетевого времени, если дословно. NTP
используется для синхронизации времени. Мы не будем подробно останавливаться на
описании этого протокола. Идея заключается лишь в том, что логи должны
сопровождаться актуальным временем, а это обязывает нас использовать
NTP-сервер. Настройка оборудования Cisco как NTP-клиента:
Router(config)#ntp server 192.168.1.100 \указывает NTP-сервер
Кроме того, необходимо настроить часовой пояс (в моем случае время по Москве):
Router(config)#clock timezone MSK 4\часовой пояс +4
60
2.2 Лишние сервисы
В первой главе книги ( пункт 1.1.1) я упомянул такой протокол как CDP, который
по умолчанию включен почти на всех устройствах Cisco (речь идет о коммутаторах и
маршрутизаторах). CDP позволяет обнаруживать соседние устройства, включая
информацию о прошивке, платформе, ip-адресе и т.д. За всю свою многолетнюю
практику я лишь пару раз видел, чтобы CDP действительно использовался
системными администраторами по назначению. В 99% случаев, данный протокол
просто продолжал работать в фоновом режиме. Но самое интересное, что таких
“лишних” (неиспользуемых) протоколов или сервисов довольно много (например HTTP
или Finger). И почти все имеют свои потенциальные уязвимости, что оставляет для
хакера возможные лазейки.
Ниже приведены команды, которые позволяют отключить те сервисы, которые в
большинстве случаев просто не используются:
no service tcp-small-servers echo
no service tcp-small-servers discard
no service tcp-small-servers daytime
no service tcp-small-servers chargen
no service udp-small-servers echo
no service udp-small-servers discard
no service udp-small-servers daytime
no service udp-small-servers chargen
no ip finger
no ip bootp server
no ip dhcp boot ignore
no service dhcp
no mop enabled
no ip domain-lookup
no service pad
no ip http server
no ip http secure-server
no service config
no cdp enable
no cdp run
no lldp transmit
no lldp receive
no lldp run global
61
2.3 Резервная память
Многие хакерские атаки нацелены на исчерпание ресурсов узла, т.е. DoS или
DDoS. Делается это либо с целью создания обычного простоя, либо для эксплуатации
некоторой уязвимости. Для того, чтобы правильно отреагировать на ту или иную атаку,
нужно для начала понять ее природу. Это возможно только при подключении к
устройству. Однако, при таких атаках почти всегда невозможен ни удаленный, ни
локальный (через консоль) доступ к оборудованию. У устройства просто заканчивается
свободная оперативная память, которая необходима для создания консольной или
терминальной сессии. Такая проблема может возникнуть не только при хакерской
атаке, но и при неверной настройке, которая привела к исчерпанию ресурсов
устройства.
В относительно новых прошивках Cisco появилась возможность
резервирования RAM памяти для консольного подключения. Это значит, что даже при
высокоинтенсивной атаке на ваш маршрутизатор, сохраняется достаточное
количество ресурсов для консольной сессии. Это позволит подключиться к устройству
и увидеть, что именно происходит. Настройка элементарна:
Router(config)#memory reserve console 4096 \резервируем 4 Мб
2.4.1 SCP
Перед системными администраторами довольно часто возникает задача по
обновлению прошивки оборудования. Для этого необходимо “закинуть” новую
прошивку на устройство, что обычно делается с помощью TFTP или FTP-сервера.
Технология стара как мир, да и подобный сервер разворачивается в несколько кликов.
Данные протоколы (TFTP и FTP) также нередко используются для резервного
копирования конфигураций устройств. Наверняка большинству знакома команда
вроде:
Router#copy running-config tftp:
62
Этой командой мы копируем текущую конфигурацию на удаленный TFTP-сервер.
Либо обратная ситуация, когда TFTP или FTP-сервер используется для
восстановления конфигурации:
Router#copy tftp: running-config
2.4.2 SNMP
SNMP - Simple Network Management Protocol. Если перевести дословно, то
получится “простой протокол сетевого управления”. Несмотря на название, данный
протокол весьма редко используют именно для управления. Наиболее частое
применение SNMP - мониторинг. Температура процессора, загрузка канала, свободная
оперативная память и так далее. Те же SNMP Traps, которые мы обсуждали в пункте
2.1.7. Опять же, мы не будем подробно рассматривать работу этого протокола, т.к. это
выходит за рамки нашей книги. Более подробно можно почитать на данном ресурсе .
Мы же сосредоточимся на лучших практиках.
Существует три версии протокола: SNMPv1, SNMPv2c и SNMPv3. Не вдаваясь
в подробности можно резюмировать, что до появления SNMPv3, главной проблемой
SNMP была именно безопасность. Первые две версии протокола имеют очень слабый
механизм аутентификации, по сути это лишь один пароль (строка сообщества),
который передается в открытом виде. Это весьма серьезная уязвимость, которая
позволяет злоумышленнику перехватить этот пароль, после чего он может получить
всю необходимую информацию с устройства, на котором запущен SNMP. Если же вы
63
используете SNMP для управления, то ситуация с безопасностью требует еще
большего внимания.
Для решения данной проблемы безопасности был создан протокол SNMPv3,
который может использоваться в трех вариантах:
1. noAuthNoPriv - пароли передаются в открытом виде, конфиденциальность
данных отсутствует;
2. authNoPriv- аутентификация без конфиденциальности;
3. authPriv- аутентификация и шифрование.
Как вы понимаете, лучше использовать именно третий вариант, который обеспечивает
максимальный уровень защищенности.
-----------------------------
Используйте протокол SNMPv3с аутентификацией и шифрованием.
-----------------------------
Хотелось бы добавить, что протокол SNMP является важной частью любой
корпоративной сети. Он широко применяется для мониторинга всей
ИТ-инфраструктуры. Существует даже специализированное программное
обеспечение для этих целей (например Zabbix), которое автоматически собирает
огромное количество информации о всей сети. Эта информация может нести угрозу,
если попадет “в руки” злоумышленника. Именно поэтому защищенный вариант SNMP
является важным шагом к безопасности вашей сети.
64
2) Бэкапы по команде. Иногда есть необходимость в срочном бэкапе, например
перед серьезными изменениями конфигурации. В случае неудачной настройки
мы можем практически мгновенно восстановить прежнюю, работоспособную
конфигурацию.
Оба режима настраиваются буквально в 5 команд:
Router(config)#archive
Router(config-archive)#path flash:backup-config
Router(config-archive)#maximum 14
Router(config-archive)#time-period 1440
Router(config-archive)#write-memory
Здесь мы указали, что бэкапы нужно “складывать” на flash -память, при этом
максимальное количество бэкапов - 14 (затем более новые будут затирать старые).
Периодичность бэкапов составляет 1440 минут, что соответствует одному дню. Кроме
того, бэкап будет создаваться автоматически при использовании команды write
memory. Если после этого набрать команду show archive, то можно увидеть
созданные бэкапы.
Большинство инструкций на этом заканчивается. Однако на мой взгляд
приведенных действий недостаточно. Т.к. бэкапы создаются локально, то остается
риск потери конфигурации при поломке самого устройства. Т.е. если “сгорит”
маршрутизатор, то мы безвозвратно потеряем настройки, что исключает быстрое
восстановление сети. Очевидно, что бэкапы нужно хранить централизованно, на
выделенном сервере. При этом мы уже обсуждали ранее (пункт 2.4.1), что для таких
целей лучше всего подойдет защищенный SCP-сервер (вместо традиционного TFTP ).
Это исключит возможность перехвата конфигурации при резервном копировании. Для
настройки требуется всего лишь заменить строку с параметром path:
Router(config-archive)#path scp://user:[email protected]/Cisco-Conf/$h-$t
65
2.6 Логирование команд
В пункте 1.3.7, который посвящен ААА, мы обсуждали Accounting. Главная
цель использования данной технологии - логирование команд. Т.е. иметь возможность
проследить, что именно делал на оборудовании тот или иной пользователь. Однако
мы также обсуждали, что использование ААА-сервера целесообразно если в сети
более 10 устройств. Что же делать администраторам небольших сетей?
Относительно новые версии Cisco IOS позволяют логировать все
используемые команды на устройстве. Делается это также с помощью функции
archive. Кроме того, из логов можно автоматически “вырезать” вводимые пароли, а
также отправлять эти логи на syslog-сервер. Настройки выглядят следующим
образом:
Router(config)#archive
Router(config-archive)#log config
Router(config-archive-log-cfg)#logging enable /включаем логирование команд
Router(config-archive-log-cfg)#logging size 200 /задаем количество строк
Router(config-archive-log-cfg)#hidekeys /”прячем” пароли
Router(config-archive-log-cfg)#notify syslog /отправляем на syslog-сервер
Теперь с помощью команды show archive log config all мы можем видеть кто, как и
что именно настраивал:
Router#show archive log config all
idx sess user@line Logged command
1 1 console@console | logging enable
2 1 console@console | logging size 200
3 1 console@console | hidekeys
4 1 console@console | notify syslog
-----------------------------
В случае отсутствия ААА-серверанастройте логирование вводимых команд.
-----------------------------
Хочу заметить, что метод ААА является более универсальным и
профессиональным решением. Однако, в некоторых случаях, описанное решение
будет более разумным вариантом.
2.7 Обновления
Наверняка вы заметили, что обсуждая некоторые функции безопасности, я
периодически упоминаю, что они доступны только в новых версиях прошивок, что уже
является весомым поводом для обновления. Однако расширенный функционал не
является главной причиной для обновления прошивки. Старое программное
обеспечение несет в себе серьезную угрозу для любой сети.
Весьма часто вендор публикует информацию о новых уязвимостях своих
продуктов и выпускает новую версию прошивки, либо патч, который должен устранить
эти “дыры”. Такие публикации называются “Вендорский бюллетень безопасности”.
Более того, на некоторых ресурсах можно найти соответствующие эксплойты (для
Exploit-DB или Metasploit), которые можно тут же попробовать для оценки
защищенности вашей сети. Для примера можно привести сайт Vulners, который многие
называют “Гугл для хакера”.
66
Как ни странно, но эта информация может быть полезна не только для “честных
граждан”. Фактически хакерам сообщают о новых уязвимостях, которые с большой
долей вероятности еще не успел никто “закрыть”. Это открывает перед ними широкие
возможности. Вы можете поставить самый дорогой межсетевой экран, однако, после
обнаружения его уязвимостей и выпуска соответствующих эксплойтов, взломать вашу
сеть сможет даже школьник. Именно поэтому очень важно держать все свои системы в
максимально актуальном состоянии - самые последние прошивки, патчи и т.д.
-----------------------------
Регулярно проверяйте наличие обновлений. У вас должны быть самые “свежие”
прошивки.
-----------------------------
Регулярно следите за новостями о новых уязвимостях на специализированных
ресурсах. Кроме того, на сайте Vulners можно подписаться на интересующие темы и
автоматически получать информацию о новых угрозах (имеется Telegram-бот). Мы не
будем подробно рассматривать данный сервис, т.к. эта тема выходит за рамки нашей
книги, однако я настоятельно рекомендую ее к ознакомлению.
В заключении данного параграфа мне хотелось бы вспомнить еще один случай
из личной практики. Работая у одного из заказчиков я обнаружил коммутатор, который
работал без перезагрузок (uptime) целых 11 лет. Это конечно великолепный
показатель для оборудования - надежность. Однако за эти 11 лет используемая
прошивка уже перестала поддерживаться, а количество уязвимостей исчисляется
десятками. Не делайте подобных ошибок.
2.8 Чек-лист №2
Вторая глава подошла к концу, резюмируем все вышесказанное в виде
Чек-листа №2:
1) Информационная безопасность невозможна без использования логов.
2) Используйте несколько способов сбора логов.
3) С осторожностью используйте повышенные уровни логирования.
4) Используйте Console Loggingтолько при необходимости.
5) Настройте Buffered Loggingдаже при использовании Syslog-сервера.
6) Используйте Terminal Logging с осторожностью и только в случае острой
необходимости.
7) Используйте Лог-серверы для централизованного сбора логов.
8) Уделите особое внимание защите Syslog-сервера.
9) Не забывайте про настройку NTPи Timestamps.
10) Отключите неиспользуемые сервисы.
11) Зарезервируйте оперативную память для консольного подключения.
12) Используйте SCPвместо T
FTP.
13) Используйте протокол SNMPv3с аутентификацией и шифрованием.
14) Настройте резервное копирование конфигураций.
15) В случае отсутствия ААА-сервера настройте логирование вводимых
команд.
16) Регулярно проверяйте наличие обновлений. У вас должны быть самые
“свежие” прошивки.
67
2.9 Пример конфигурации
4) Настройка времени
Router(config)#ntp server 192.168.1.100
Router(config)#clock timezone MSK 4
Router(config)#service timestamps log datetime msec localtime show-timezone
68
no service pad
no ip http server
no ip http secure-server
no service config
no cdp enable
no cdp run
no lldp transmit
no lldp receive
no lldp run global
69