Telnet, HTTP и UPnP всё ещё включены? Чеклист базовой защиты маршрутизатора для тех, кто не хочет проблем

Telnet, HTTP и UPnP всё ещё включены? Чеклист базовой защиты маршрутизатора для тех, кто не хочет проблем

Как отключить лишние сервисы, включить безопасные протоколы и ограничить доступ.

image

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

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

С чего начать

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

Дальше обновляем прошивку до стабильной версии. Часто это закрывает десятки уязвимостей. Обновление стоит планировать заранее. Снимайте резервную копию конфигурации и имейте план отката. Одно дело домашний роутер, другое дело устройство на границе офиса. Тишина в канале связи не радует никого.

Отключение ненужных сервисов

Чем меньше открытых дверей, тем меньше шансов, что кто-то войдет туда, куда не просили. Многие функции включены для удобства. В повседневной жизни они не нужны, а риски добавляют. Задача простая. Выключить все лишнее и оставить только то, без чего никак.

Под прицел попадают веб-интерфейс по незащищенному каналу, Telnet, неиспользуемый FTP, UPnP, WPS, внешний доступ к гуи, старые протоколы управления, ненужные сервисы обнаружения и помощи. Если сомневаетесь, вспоминайте правило. Лучше сначала выключить и при необходимости включить обратно, чем держать открытым без очевидной причины.

Что обычно убирают в первую очередь

  • Веб-управление по HTTP из внешней сети. Оставляем только HTTPS и только из управленческого сегмента.
  • Telnet. Для администрирования нужен SSH с ключами.
  • UPnP и WPS. Редко оправданы в корпоративной сети. В домашних условиях тоже лучше отключить.
  • Старые версии SNMP. Если нужен мониторинг, настраиваем SNMPv3. Если не нужен, отключаем полностью.
  • Технические службы автоконфигурации, которые не используются. Например старые помощники, службы объявления сервисов и все, что создает лишние открытые порты.

Минимальные примеры для популярных систем

Ниже несколько коротких фрагментов. Команды могут отличаться в зависимости от версии. Проверяйте на своем устройстве и тестируйте в нерабочее время.

Cisco IOS

! отключаем старые службы
no ip http server
ip http secure-server
ip http authentication local
!
line vty 0 4
 transport input ssh
 exec-timeout 10 0
 login local
!
ip ssh version 2
!
no cdp run
no lldp run
!
! если SNMP не нужен
no snmp-server

MikroTik RouterOS

# выключаем лишние службы
/ip service disable telnet,ftp,api-ssl,api,www
/ip service enable ssh
/ip service set ssh address=10.10.10.0/24
/ip service set www-ssl certificate=router cert disabled=no address=10.10.10.0/24

# UPnP
/ip upnp set enabled=no

# SNMP
/snmp set enabled=no

Juniper JunOS

delete system services telnet
delete system services ftp
set system services ssh protocol-version v2
set system services web-management https system-generated-certificate
deactivate snmp

Ubiquiti EdgeOS

configure
set service ssh port 22
delete service telnet
delete service http
set service https listen-address 10.10.10.1
set service https disable-certificate-verification
commit
save
exit

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

Безопасные протоколы управления

К управлению устройством нельзя относиться как к обычному трафику. Здесь ходят пароли и команды. Ошибка стоит дорого. Наша цель. Свести все к защищенным каналам, ограничить места входа и поставить правила поверх. Так легче жить и проще расследовать инциденты.

Базовая политика звучит просто. Только SSH для командной строки и только HTTPS для веб. Никакого Telnet и открытого HTTP. Управление допускается из отдельного сегмента. Если устройство поддерживает выделенный порт или виртуальный контекст для управления, используем его. Тогда служебный трафик не пересекается с пользовательским.

SSH вместо Telnet

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

! Cisco IOS
ip ssh version 2
ip ssh time-out 60
ip ssh authentication-retries 3
!
username netadmin privilege 15 secret <длинный_пароль>
ip access-list standard MGMT_SSH
 permit 10.10.10.0 0.0.0.255
 deny   any
!
line vty 0 4
 access-class MGMT_SSH in
 transport input ssh
 login local
 exec-timeout 10 0

HTTPS вместо HTTP

Если графический интерфейс нужен, включаем только HTTPS и ограничиваем доступ по адресам. Добавляем свой сертификат, если устройство поддерживает. Самоподписанный вариант тоже лучше открытого HTTP. Главное, чтобы доступ был только из нужной подсети и только по шифрованному каналу.

SNMPv3 и только при необходимости

Мониторинг полезен. Но открытый SNMP версии 1 или 2c превращается в дверь без замка. SNMPv3 дает проверку подлинности и шифрование. Если мониторинга нет, лучше отключить службу полностью. Если мониторинг есть, ограничьте источники запросов и используйте учетные записи с минимальными правами.

! Cisco IOS
snmp-server group SEC v3 priv
snmp-server user mon SEC v3 auth sha <пароль> priv aes 128 <ключ>
snmp-server view READONLY iso included
snmp-server group SEC v3 priv read READONLY
snmp-server host 10.10.10.50 version 3 priv mon
ip access-list standard MGMT_SNMP
 permit 10.10.10.50
 deny any
snmp-server community public RO  <не использовать, удалить>

Служебная синхронизация времени и журналирование

Без точного времени расследовать события тяжело. Подключаем NTP к доверенным серверам и включаем отправку журналов на центральный syslog. Пригодится для аудита, отчетов и поиска аномалий. Для чувствительных сетей делайте отдельный внутрений источк времени.

! Cisco IOS
ntp server 10.10.10.20
service timestamps debug datetime msec
service timestamps log datetime msec
logging 10.10.10.30
logging trap warnings

В некоторых случаях удобно включить потоковую телеметрию. Но только через защищенный канал и только на доверенные коллекторы. Это уже следующий уровень зрелости. В базовой защите достаточно syslog и аккуратных лимитов по уровню сообщений.

Защита консольного и удаленного доступа

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

Начинаем с базового. Сильные уникальные пароли, вход только для тех, кому действительно нужно, и двухфакторная проверка там, где устройство и инфраструктура позволяют. Если есть RADIUS или TACACS+, используем централизованную аутентификацию и авторизацию. Это упрощает аудит и отзыв прав. Локального администратора оставляем только как аварийный вариант с надежным паролем, спрятанным в сейфе и под контролем.

AAA, роли и сессии

AAA дает три вещи. Проверку личности, назначение прав и учет действий. Это ровно то, что нужно, когда доступа несколько и время дорого. Роли ограничивают возможности. Например инженеру достаточно прав на просмотр и отдельные команды, а полный доступ хранится у ответственных за изменения. Срок жизни сессии нужно ограничить. Автоматическое завершение простоя снижает риск захваченной консоли.

! Cisco IOS c использованием RADIUS
aaa new-model
aaa authentication login default group radius local
aaa authorization exec default group radius local
aaa accounting commands 15 default start-stop group radius
radius-server host 10.10.10.60 key <секрет>
!
line console 0
 login authentication default
 exec-timeout 5 0
!
line vty 0 4
 login authentication default
 exec-timeout 10 0
 transport input ssh

Фильтрация по источнику и сегмент управления

Лучше, когда управление идет с выделенного хоста или сети. Тогда список источников короткий и понятный. На границе ставится список контроля доступа. Он пропускает только нужные адреса и только нужные порты. Все остальное блокируется. Если есть возможность вынести управление в отдельный VRF или порт, делаем это. Так трафик управления не смешивается с пользовательским.

! Cisco IOS
ip access-list extended MGMT_EDGE
 permit tcp 10.10.10.0 0.0.0.255 host 203.0.113.10 eq 22
 permit tcp 10.10.10.0 0.0.0.255 host 203.0.113.10 eq 443
 deny   ip any any log
!
interface GigabitEthernet0/0
 ip access-group MGMT_EDGE in

Баннеры, блокировки и счетчик попыток

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

! Cisco IOS
banner login ^C
Доступ только для авторизованных пользователей
Все действия записываются
^C
login block-for 60 attempts 5 within 60

Журналирование и наблюдаемость

Логи рассказывают историю. Без них расследование превращается в гадание. Отправляйте события на внешний сервер журналов. Там их удобно хранить, искать и связывать с другими источниками. Минимальный набор. Предупреждения и ошибки. Если ресурсов хватает, добавляйте сведения об изменениях конфигурации и попытках входа. Обязательно синхронизируйте время с надежным источником.

Не забывайте про резервное копирование конфигураций. Можно настроить автоматический экспорт на внутренний сервер при каждом изменении. Тогда восстановление займет минуты. В спокойное время это кажется лишним. В стрессовой ситуации это лучший друг.

Типовые ошибки и как их избегать

Самая частая беда. Оставили веб-интерфейс для всех. Второе место занимает Telnet. Третье место делят открытый SNMP старых версий и универсальные пароли. Все это исправляется за полчаса. Нужно просто дойти до устройства и сделать несколько правок. Лучше не ждать, пока это сделают за вас.

Еще одна ошибка. Управление из любых сетей. Кажется удобным. На деле это подарок для злоумышленника. Правильнее выделить одну управленческую подсеть и ходить только из нее. Если нужно администрировать из дома, поднимайте защищенный туннель в эту подсеть. Так вы не открываете доступ всему свету.

Быстрый план действий

  1. Проверить версию прошивки и спланировать обновление.
  2. Отключить HTTP, Telnet, UPnP, WPS и прочие ненужные службы.
  3. Включить SSH и HTTPS. Разрешить доступ только из управленческого сегмента.
  4. Настроить AAA через RADIUS или TACACS+. Оставить локального администратора как аварийный вариант.
  5. Перевести мониторинг на SNMPv3 или отключить SNMP, если он не нужен.
  6. Включить NTP и syslog на внутренние серверы.
  7. Добавить списки контроля доступа к плоскости управления.
  8. Установить тайм-ауты сессий, счетчики попыток входа и баннеры.
  9. Организовать резервное копирование конфигураций.
  10. Задокументировать изменения и назначить периодическую проверку.

Примеры для домашних и малых офисов

Даже если речь о небольшом офисе или квартире, логика та же. Отключаем удаленное управление снаружи, выключаем UPnP, ставим длинный пароль на Wi-Fi, сегментируем устройства. Если роутер позволяет создать гостьевой Wi-Fi, переносим туда все умные лампочки и телевизоры. Основная сеть остается только для ноутбуков и рабочих станций.

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

Чеклист по базовой защите

  • Прошивка актуальная. Резервная копия конфигурации под рукой.
  • HTTP и Telnet выключены. Доступ только по SSH и HTTPS.
  • Управление разрешено только из выделенной подсети.
  • AAA настроен. Локальный администратор хранится как аварийный доступ.
  • SNMPv3 или полное отключение SNMP.
  • NTP и syslog подключены к внутренним серверам.
  • Списки контроля доступа прикрывают плоскость управления.
  • Тайм-ауты, счетчик попыток входа и баннер включены.
  • UPnP, WPS и прочие удобные, но рискованные службы отключены.
  • Документация обновлена. Следующая проверка занесена в календарь.

Полезные материалы

Хорошо иметь под рукой понятные справочники. Они помогут углубить настройку и не забыть мелочи. Ниже несколько ссылок на открытые источники.

Итог

Базовая защита маршрутизатора не требует редких знаний. Достаточно спокойного подхода и готовности довести начатое до конца. Выключили лишнее, включили защищенные протоколы, ограничили доступ и настроили учет. Из этих кирпичиков складывается надежная первая линия. Остальное нарастет позже. Когда фундамент крепкий, строить проще.

Узнаёте о сбоях сайта от заказчиков?

MULTISTATUS видит падение раньше и показывает, где именно проблема.

Попробовать бесплатно

Без регистрации, результат за секунды

Реклама. 18+, ООО МУЛЬТИФАКТОР, ИНН 9725026066, erid:2SDnjekAJ7H