Список опасных портов и чек-лист по закрытию лазеек

Список опасных портов и чек-лист по закрытию лазеек

Иван Коробов
Иван Коробов Ведущий инженер по ИБ
27 сентября 2024

Рассказываем про часто открываемые порты, а также их роль в кибератаках. А еще делимся чек-листом на случай обнаружения открытых портов в своей инфраструктуре.

Изображение записи

Больше материалов о том, как противостоять угрозам в сфере информационной безопасности и оградить свои системы от атак и взлома — в Security Center.

Введение

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

Привет! Меня зовут Иван, я ведущий инженер по информационной безопасности в Selectel. В этом материале разберу, какие порты наиболее интересны хактивистам и как быть в курсе актуальных уязвимостей. А в конце поделюсь чек-листом с планом действий при обнаружении открытых портов в своей инфраструктуре. Подробности в статье. 

Какие порты опасно открывать

Открытые порты представляют собой «незапертые двери» к потенциально уязвимым сервисам любой сети. Некоторые порты, изначально предназначенные для конкретных служб, могут быть использованы злоумышленниками для взлома. Например, 21/TCP (FTP), 22/TCP (SSH), 23/TCP (Telnet) и 3389/TCP (RDP) — опасные, так как часто подвергаются атакам подбора паролей и эксплуатации уязвимостей.

Для сбора статистики обратимся к данным поисковика Shodan. 

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

Снимок главной страницы Shodan.
Главная страница Shodan.

По данным Shodan некоторые порты открываются чаще других, что может указывать на потенциальные уязвимости. Рассмотрим топ-10 наиболее «распахнутых» интерфейсов и причины их популярности. 

1. Порт 22/TCP (SSH). Используется для защищенного удаленного доступа к серверам. Часто подвержен атакам подбора паролей. Рекомендуется использовать ключи SSH вместо паролей для повышения безопасности.

2. Порт 80/TCP (HTTP). Применяется для доступа к веб-страницам. Может быть атакован с помощью XSS, SQL-инъекций и других уязвимостей веб-приложений. Рекомендуем использовать HTTPS для шифрования данных.

3. Порт 443/TCP (HTTPS). Используется для защищенной передачи данных через интернет. Хоть HTTPS и шифрует данные, уязвимости в SSL/TLS могут позволить злоумышленникам их перехватывать. Поэтому крайне важно поддерживать сертификаты и настройки безопасности в актуальном состоянии.

4. Порт 3389/TCP (RDP). Применяется для доступа к службе удаленных рабочих столов в ОС Windows. Часто становится целью атак из-за слабых паролей и уязвимостей данной системы. Рекомендуем ограничивать доступ по IP и использовать многофакторную аутентификацию.

5. Порт 21/TCP (FTP). Используется для передачи файлов. Отправка данных в открытом виде делает FTP уязвимым для перехвата. Рекомендуем использовать FTPS или SFTP для защиты информации.

6. Порт 3306/TCP (MySQL). Применяется для работы с базами данных MySQL. Неконтролируемый доступ к базе данных может привести к утечкам информации. Рекомендуем ограничить доступ к этому порту до авторизованных пользователей.

7. Порт 23/TCP (Telnet). Используется для удаленного доступа и управления устройствами. Как и FTP, Telnet передает данные в открытом виде. Рекомендуем полностью отказаться от Telnet в пользу SSH.

8. Порт 445/TCP (SMB). Применяется для обмена файлами в сетях Windows. Может быть использован для распространения вредоносного ПО. Рекомендуем отключить SMB, если он не нужен, или использовать актуальные версии протокола.

9. Порт 5432/TCP (PostgreSQL). Используется для доступа к базам данных PostgreSQL. Аналогично MySQL, открытый порт может быть использован для атак. Рекомендуем ограничить доступ и использовать надежные пароли.

10. Порт 5900/TCP (VNC). Применяется для удаленного доступа к графическому интерфейсу. Может быть подвержен атакам из-за слабых паролей. Рекомендуем использовать VPN для защищенного доступа.

Примеры кибератак

В кибератаках часто хактивисты используют уязвимые порты для доступа к системам. Например, в атаках с использованием вредоноса WannaCry использовался 445/TCP (SMB), что привело к масштабным последствиям для организаций по всему миру. Другие примеры включают атаки на серверы, использующие порты 80 и 443 для внедрения вредоносного кода.

Шифровальщики, такие как Ryuk и Cryptolocker, использовали порты 445 и 3389 для распространения вредоносных программ. Эти порты позволяют злоумышленникам получать доступ к системам и шифровать данные. Указанные интерфейсы часто становятся целями для атак, что подтверждается отчетами таких организаций, как McAfee и Kaspersky.

Как быть в курсе актуальных уязвимостей

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

Common Vulnerabilities and Exposures (CVE) — это база данных организации MITRE, которая собирает информацию об общеизвестных уязвимостях информационной безопасности. Каждой присваивается идентификационный номер вида CVE-год-номер, описание и ряд общедоступных ссылок с описанием.

Снмок главной страницы CVE.
Главная страница CVE.

Давайте на примере CVE этого года рассмотрим, какие порты использовались для эксплуатации уязвимостей различных систем. 

CVE-2024-5035

  • Уязвимое устройство: TP-Link Archer C5400X;
  • Тип уязвимости: CMD-инъекция.

Важно. Уязвимой является служба rftest, работающая на портах 8888/TCP, 8889/TCP, 8890/TCP.

CVE-2024-44087

  • Уязвимая служба: Automation License Manager вендора Siemens;
  • Тип уязвимости: DoS.

Важно. Уязвимые службы работают на порту 4410/TCP. 

CVE-2024-42505-42507

  • Уязвимый протокол: Aruba’s Access Point management protocol в составе Aruba OS от вендора HP;
  • Тип уязвимости: CMD-инъекция.

Важно. Доступ к уязвимой службе осуществляется по протоколу 8211/UDP.

CVE-2024-39864

  • Уязвимый продукт: Apache CloudStack от вендора Apache Software Foundation;
  • Тип уязвимости: RCE.

Важно. При неверной конфигурации CloudStack возможно включение API сервера без авторизации на порту 8096/TCP.

CVE-2024-36346

  • Уязвимый продукт: Apache CloudStack от вендора Apache Software Foundation;
  • Тип уязвимости: RCE.

Важно. По умолчанию служба кластера CloudStack работает на порту 9090/TCP и выполняет команды без аутентификации.

CVE-2024-37855

  • Уязвимое устройство: Nepstech Wifi Router xpon (terminal) NTPL-Xpon1GFEVN с прошивками hardware verstion 1.0 и firmware 2.0.1;
  • Тип уязвимости: RCE.

Важно.По умолчанию служба ожидаем команды на порту 2345/TCP и без авторизации позволяет выполнить команды.

Как видим, уязвимые службы находятся не на привычных нам стандартных портах, а их доступность после инсталляции сервиса может быть неочевидной.

Чек-лист: что делать при обнаружении открытого порта

Предположим, у вас настроен мониторинг портов или вы используете сторонние сервисы для непрерывного мониторинга вашей инфраструктуры. Что делать, если вам пришло уведомление о новом открытом порту?

1. Проверьте, действительно ли порт должен быть открыт. Если он «висит» распахнутым, но используется вашими службами, закройте. Сокращение числа открытых портов упрощает дальнейший контроль и снижает вероятность эксплуатации уязвимостей.

2. Проанализируйте службы, работающие на порту. Это можно легко сделать с помощью такой команды: 


    $ sudo netstat -tulpn

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


    $ sudo netstat -tulpn | grep <номер порта>

Далее с помощью команды можно посмотреть краткое описание выбранного сервиса: 


    $ whatis <имя службы>

Так можно проанализировать, какие порты относятся к тем или иным службам.

3. Обновите программное обеспечение и системы безопасности.  

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

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

5. Установите дополнительные средства защиты (IDPS/WAF) для защиты службы. К слову, мы с коллегами выпустили в Академии Selectel текст про погружение в работу с WAF — если вы новичок, может пригодиться. А вот с IDSP куда интереснее. Есть несколько решений, который можно использовать, и у каждого — свои особенности в настройке. Подробнее о популярных IDPS-системах рассказали в отдельной статье

6. Проведите внутренний аудит безопасности. Проще всего это можно сделать с помощью заранее настроенной SIEM-системы. Если вы не знакомы с данным видом средств защиты информации, читайте статью моего ex-коллеги Андрея Салиты. Если коротко: SIEM-системы не блокируют инциденты напрямую, но оперативно информируют о сбоях и нарушениях в работе программных и аппаратных ресурсов системы. 

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

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

Заключение

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

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