мережева безпека

мережева безпека

Маршрутизатор - це "перша лінія оборони" нашої корпоративної мережі безпосередньо стикається з Internet. Вони часто застосовуються в якості ключових елементів в системах захисту мереж (наприклад, firewall для фільтрації пакетів і обмеження проходження певного IP -трафік). Найбільш широко поширеним зараз є обладнання фірми Cisco Systems, яке завдяки різної реалізації своєї "фірмовою" операційної системи Cisco IOS може набувати властивостей, необхідні адміністраторам.

А як його (маршрутизатор Cisco) захистити?

Визначити пароль для привілейованого доступу.

Забезпечити мінімальний захист для паролів в конфігурації.

no service tcp-small-servers
no service udp-small-servers

Уникати використання простих сервісів для DoS та інших атак.

no service finger

Уникати поширення інформації про користувачів.

no cdp running
no cdp enable

Уникати поширення інформації про це маршрутизатор на сусідні пристрої.

Запобігти атаки на сервіс NTP.

no ip directed-broadcast

Перешкодити атакуючим використовувати маршрутизатор для smurf атак.

Вказати які протоколи можуть бути використані віддаленими користувачами щоб увійти через VTY або отримати доступ до його TTY портам.

Не позичати VTY нескінченно довго бездіяльною сесією.

Виявляти і видаляти "завислі" сесії, звільняючи використовувані VTY.

logging buffered buffer-size

Зберігати логіруемие дані в буфері оперативної пам'яті маршрутизатора. В останніх версіях IOS цей розмір може йти спільно з параметром urgency threshold.

ip access-group list in

ip verify unicast rpf

no ip source-route

access-list number action criteria log
access-list number action criteria log-input

Включити логирование пакетів задовольняють певній умові з access-list. Використовуйте log-input якщо це можливо в версії вашого IOS.

scheduler-interval
scheduler allocate

Захиститися від флуду і дозволити працювати важливим процесам.

ip route 0.0.0.0 0.0.0.0 null 0 255

distribute-list list in

Фільтрувати отримувану інформацію про маршрутах щоб предовратіть використання невірних маршрутів.

snmp-server community something-inobvious ro list
snmp-server community something-inobvious rw list

snmp-server party.
authentication md5 secret.

Конфігурувати аутентифікацію за допомогою MD5 для SNMP версії 2. Включайте SNMP тільки, якщо він потрібен у вашій мережі.

ip http authentication method

Виробляти аутентифікацію з'єднань по HTTP (якщо ви включили HTTP сервер на вашому маршрутизаторі).

ip http access-class list

Подальше управління доступом до HTTP сервера, дозволяючи його тільки з деяких хостів (якщо ви включили HTTP сервер на вашому маршрутизаторі).

Встановити попередження для показу всім користувачам, хто намагається залогінитися на маршрутизатор.

Паролі (і інші секрети, наприклад SNMP послідовності) забезпечують захист від несанкціонованого доступу маршрутизатора. Найкращий шлях для роботи з базою даних паролів - зберігати їх на аутентифікаційних серверах типу RADIUS або TACACS +. Однак в більшості випадків на кожному маршрутизаторі залишаються паролі для привілейованого доступу і інші паролі.

enable secret
Дана команда використовується для установки паролів, які надають привілейований доступ адміністратору в IOS. Даний пароль повинен бути завжди встановлений. Не можна встановлювати enable password. тому дана команда використовує слабку криптографію.

service password-encryption
Дана команда дозволяє зашифрувати паролі, CHAP секрети і інші дані, що знаходяться в файлі конфігурації.

Доступ до маршрутизатора передбачає можливість переконфігуруванні його, в тому числі і несанкціонованому. Тому проблема захисту від несанкціонованого доступу при доступі має велике значення.

Доступ через консольний порт
Необхідно пам'ятати, що консольний порт має спеціальні привілеї. Наприклад, якщо видати команду BREAK на консольному порте протягом перших кількох секунд після перезавантаження, то можна легко провести процедуру відновлення пароля, що призведе до отримання несанкціонованого доступу до маршрутизатора. Це означає, що атакуючий, якщо він зможе провести процедуру перезавантаження маршрутизатора і якщо він має доступ до консольного порту (за допомогою прямого підключення, модемне підключення і т.п.), може отримати доступ до системи.

Основний спосіб доступу
Існує достатня кількість способів для підключення до маршрутизатора. CISCO IOS в залежності від конфігурації підтримує з'єднання за допомогою telnet, rlogin, SSH, LAT, MOP, X.29, V.120. Локальні асинхронні термінали і модеми використовують стандартні лінії - TTY. Дистанційні мережеві з'єднання (незалежні від протоколів) використовують віртуальні TTY (VTY). Для захисту необхідно на всі лінії доступу встановити паролі, для VTY можлива команда no password для захисту.

За замовчуванням віддалений користувач може встановити з'єднання з TTY через мережу, так званий "reverse Telnet", що дозволяє даному користувачеві працювати з модемом або терміналом, підключеним до даного TTY. Для захисту необхідно працювати з командою transport input none. яка забороняє приймати з'єднання з мережі. Якщо є можливість. то необхідно рознести dial-in і dial-out модеми і заборонити використання reverse Telnet для ліній, які використовуються в dial-in.

У Сisco IOS використовується обмежена кількість VTY (зазвичай п'ять). Коли все VTY використовуються, більше ніхто під'єднатися не може. В цьому і є можливість використання DoS атаки. Спосіб захисту - обмежити доступ за допомогою ip access-class. Наприклад, для одного VTY використовується загальний доступ, а для чотирьох - тільки з однієї робочої станції.

Також можна використовувати команду exec-timeout для обмеження часу атаки.

Можна використовувати команду для TCP keepalive вхідних з'єднань service tcp-keepalive-in для захисту від атак на хости.

Бажано відключити можливість використання відмінних від IP протоколів для доступу до VTY.

Попереджувальний банер
Для попередження можливості несанкціонованого доступу до системи доцільно використовувати обмежують (попереджувальні) заголовки. Дані заголовки можна конфігурувати за допомогою banner login.

Багато користувачів управляють маршрутизаторами за допомогою спеціальних протоколів, наприклад, HTTP або SNMP.

Даний протокол широко використовується для моніторингу та управління маршрутизаторами. На жаль, версія 1 даного протоколу використовує дуже слабку схему аутентифікації, що базується на "community string", при якій пароль може передаватися у відкритому вигляді. Тому необхідно використовувати версію 2. яка працює з алгоритмом MD5 і не передає пароль по каналах зв'язку.

Якщо все-таки необхідно використовувати версію 1, то необхідно бути уважним при виборі community string (не можна використовувати public або private). Необхідно уникати використання одних і тих же community string для різних пристроїв. Якщо можливо, то встановити для periodic SNMP ver 1 polling в read-only community string.

Для версії 1 необхідно використовувати ACL на команді snmp-server community для обмеження доступу на станції управління. Не можна використовувати команду snmp-server community в оточенні, де використовується версія 2 (перемикає в версію 1).

Для версії 2 необхідно конфігурувати захист за допомогою команд authentication і md5 в конфігурації snmp-server party. Якщо можливо, то краще використовувати різні секрети MD5 для кожного маршрутизатора.

HTTP
Для полегшення конфігурування маршрутизатора є можливість "підняти" на ньому HTTP сервер. Пароль передається у відкритому вигляді.

Способи ведення логів в CISCO

  • AAA logging - ведення записів про користувачів. які підключаються.
  • SNMP trap logging - посилка даних про зміни в системному статус.
  • system logging - записує безліч подій: logging console logging ip-address, logging trap logging monitor, termonal monitor logging buffered

збереження інформації
За замовчуванням логіруемая інформація відсилається тільки на асинхронний консольний порт.

Майже всі маршрутизатори зберігають інформацію logging в local RAM buffer, що має кінцевий розмір (show memory, logging buffered buffer-size).

Також можна зберігати дані на syslog сервер, logging server ip-address, logging trap urgency.

Якщо маршрутизатор має real-time clock або запущений NTP, то можна записати лог з time-stamp - service timestamps log datetime msecs.

Запис порушень списків доступу
Якщо використовуються списки доступу для обмеження трафіку, є можливість запису їх порушень. Команди - в старих версіях - log, в нових - log-input.

приклад:
access-list number deny icmp any any redirect
access-list number deny ip 127.0.0.0 0.255.255.255 any
access-list number deny ip 224.0.0.0 31.255.255.255 any
access-list number deny ip host 0.0.0.0 any

Anti-spoofing with RPF checks
Практично у всіх CISCO IOS. які підтримують CISCO Express Forwarding (CEF), існує можливість "змусити" маршрутизатор перевіряти source address кожного пакета. Це буде працювати тільки в разі, якщо маршрутизація симетрична. Якщо мережа буде побудована так, що шлях трафіку від хоста А до хоста У буде проходити іншим шляхом, ніж трафік від B до A, перевірка завжди буде давати невірний результат, і зв'язок між хостами буде неможлива. Дана асиметрична маршрутизація зазвичай використовується на Internet core. Дана перевірка відома як reverse path forwarding (RPF) і включається за допомогою команди ip verify unicast rpf.

Controlling Directed Broadcasts
Для атаки типу "smurf" зазвичай використовується IP directed broadcasts.

На інтерфейсі маршрутизатора CISCO для захисту можна використовувати команду no ip directed-broadcast, при цьому необхідно конфігурувати no ip directed-broadcast на кожному інтерфейсі кожного маршрутизатора, який може бути приєднаний до підмережі призначення.

IP Source Routing
Протокол IP підтримує опцію source routing, яка дозволяє відправнику IP-пакета контролювати шлях пакета до одержувача. Ранні реалізації IP відпрацьовували пакети source-routed неправильно, що могло в результаті посилки на неї пакета з опцією source routing привести в зависання машини.

Маршрутизатор CISCO з установкою no ip source-route НЕ будуть пересилати пакети IP, в які буде включена опція source routing.

ICMP Redirects
Повідомлення ICMP redirect "змушує" кінцеве СВТ використовувати вказаний маршрутизатор для досягнення певної точки в мережі. У нормально функціонуючої мережі маршрутизатор посилає пакети redirects тільки хостам, розташованим в локальній підмережі, жоден кінцевий вузол не посилає дані пакети, і жоден такий пакет не проходить більше одного мережевого hop. Однак атакуючий може обійти ці правила. Гарна ідея -отфільтровать входять ICMP redirects на вхідному інтерфейсі будь-якого маршрутизатора, що знаходиться на кордоні між адміністративними доменами.

Необхідно відзначити, що дане фільтрування захищає від атак redirect. які починаються віддаленими зловмисниками.

Routing Protocol Filtering and Authentication
Якщо використовується динамічна маршрутизація, яка використовує аутентифікацію, то її необхідно використовувати. Це дозволяє уникнути проблеми підміни даних маршрутизації.

У частині ISP або інших великих мережах доцільно використовувати фільтрацію протоколів маршрутизації з використанням команди distribute-list in. Наприклад, якщо ви використовуєте динамічну маршрутизацію для зв'язку з призначеної для користувача "stub" мережею, вам не потрібно приймати дані про оновлення маршруту з даної мережі.

Безліч атак типу "Відмова в обслуговуванні" (DoS) засновані на пересилання непотрібних пакетів. Дані дії займають смугу пропускання, знижують час відповіді хостів і можуть привести до перезавантаження маршрутизаторів.

Правильна настройка маршрутизаторів знижує ризик таких атак. Важливою частиною управління потоком є ​​пошук вузького місця пропускної здатності.

транзитний флуд
Існує можливість використання CISCO's quality of service (QoS) для захисту хостів від даних атак. Можна використовувати - weighted fair queueing (WFQ). WFQ встановлюється за умовчанням для низькошвидкісних ліній в багатьох версія ОС. Також можна використовувати committed access rate (CAR), generalized traffic shaping (GTS) і custom queuing.

Якщо планується використовувати QoS для контролю трафіку, дуже важливо розуміти, як це працює. Наприклад, WFQ більш ефективний проти floods, ніж проти SYN floods, тому що звичайний ping flood для WFQ є поодиноким трафіком, а для SYN flood кожен пакет є окремим потоком.

CISCO забезпечує два різні способи зменшити небезпеку від атаки типу SYN flooding. Спосіб "TCP Intercept" використовується в маршрутизаторах моделі 4000 або вище. Наприклад, CISCO IOS Firewall Feature Set включає різні способи захисту від SYN flood.

самозахист маршрутизатора
Перш за все необхідно захистити сам маршрутизатор від атак і після цього необхідно захищати хости, які стоять після нього. Switching Modes and CISCO Express Forwarding

Режим - CEF switching mode, який є доступним в версіях ПО 11.1CC, 11.1CT, 11.2GS, і 12.0. Дозволяє швидше переключати трафік, ніж звичайна маршрутизація.

Scheduler Configuration
Коли маршрутизатор CISCO знаходиться в режимі fast-switching великої кількості пакетів, є можливість його "завантажити" тільки роботою на відповідь. інша робота не буде проводитися. Даний ефект може бути знижений шляхом використання команди scheduler interval. Типова конфігурація використовує команду scheduler interval 500, яка показує. що завдання буде виконуватися кожні 500 milliseconds.

Нові платформи фірми CISCO використовують команду scheduler allocate замість команди scheduler interval.

Існує кілька сервісів, які зазвичай не використовуються, а їх наявність може привести до атаки з боку зловмисника.

TCP and UDP "Small Services"
За замовчуванням CISCO, починаючи з версії 11.3, піднімає "small services": echo, chargen і discard. Дані сервіси. особливо їх UDP версії, можуть використовуватися для DoS атаки на маршрутизатор.

Для відключення необхідно використовувати команду no service tcp-small-servers і no service udp-small-servers.

Finger
Маршрутизатор CISCO забезпечує сервіс "finger", який дозволяє уточнити, хто підключений з користувачів. Відключається командою no service finger.

NTP
Network Time Protocol (NTP) не є небезпечним сервісом, але будь-які непотрібні сервіси потенційно небезпечні. Для відключення використовуйте команду no ntp enable.

CDP
CISCO Discovery Protocol (CDP) використовується для обміну даними між пристроями CISCO. Відключення проводиться командою no cdp running. CDP може бути піднято на якомусь з інтерфейсів, відключення - по команді no cdp enable.

Схожі статті