Больше материалов о том, как противостоять угрозам в сфере информационной безопасности и оградить свои системы от атак и взлома — в Security Center.
Введение
В прошлом материале, кратком пособии по безопасной работе с сетевыми портами, мы кратко разобрали, как с помощью различных межсетевых экранов защитить инфраструктуру. На самом деле, это не rocket science. Но это то, о чем важно всегда помнить при работе с инфраструктурой — например, при публикации веб-сервисов наружу. Ведь в сети есть темные лошадки, которые требуют особо пристального внимания, — наиболее популярные порты, подверженные эксплуатации уязвимостей.
Привет! Меня зовут Иван, я ведущий инженер по информационной безопасности в Selectel. В этом материале разберу, какие порты наиболее интересны хактивистам и как быть в курсе актуальных уязвимостей. А в конце поделюсь чек-листом с планом действий при обнаружении открытых портов в своей инфраструктуре. Подробности в статье.
Какие порты опасно открывать
Открытые порты представляют собой «незапертые двери» к потенциально уязвимым сервисам любой сети. Некоторые порты, изначально предназначенные для конкретных служб, могут быть использованы злоумышленниками для взлома. Например, 21/TCP (FTP), 22/TCP (SSH), 23/TCP (Telnet) и 3389/TCP (RDP) — опасные, так как часто подвергаются атакам подбора паролей и эксплуатации уязвимостей.
Для сбора статистики обратимся к данным поисковика Shodan.
Shodan — это поисковая система, которая индексирует устройства, подключенные к интернету, включая серверы, маршрутизаторы и IoT-устройства. По сути, это непрерывный сканер глобальной сети для поиска доступных IP, портов и служб. При этом само по себе использование поисковика легальное, так как он показывает лишь ту информацию, что находится в интернете в свободном доступе. А вот подключение к конкретному устройству — далеко не всегда, даже если оно не защищено логином и паролем.
По данным 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 этого года рассмотрим, какие порты использовались для эксплуатации уязвимостей различных систем.
- Уязвимое устройство: TP-Link Archer C5400X;
- Тип уязвимости: CMD-инъекция.
Важно. Уязвимой является служба rftest, работающая на портах 8888/TCP, 8889/TCP, 8890/TCP.
- Уязвимая служба: Automation License Manager вендора Siemens;
- Тип уязвимости: DoS.
Важно. Уязвимые службы работают на порту 4410/TCP.
- Уязвимый протокол: Aruba’s Access Point management protocol в составе Aruba OS от вендора HP;
- Тип уязвимости: CMD-инъекция.
Важно. Доступ к уязвимой службе осуществляется по протоколу 8211/UDP.
- Уязвимый продукт: Apache CloudStack от вендора Apache Software Foundation;
- Тип уязвимости: RCE.
Важно. При неверной конфигурации CloudStack возможно включение API сервера без авторизации на порту 8096/TCP.
- Уязвимый продукт: Apache CloudStack от вендора Apache Software Foundation;
- Тип уязвимости: RCE.
Важно. По умолчанию служба кластера CloudStack работает на порту 9090/TCP и выполняет команды без аутентификации.
- Уязвимое устройство: 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. Оповестите ответственных лиц о выявленной уязвимости. Все замыкается на людях, поэтому важно поставить в известность профильных специалистов, чтобы они устранили уязвимости в вашей инфраструктуре.
Заключение
Открытый порт — это не только потенциальная уязвимость, но и маяк, который напоминает, что вашим сервисом могут интересоваться здесь и сейчас. И далеко не всегда это делают из добрых намерений.
Не забывайте контролировать процесс публикации открытых портов и разрабатывать внутренние инструкции на случай, если двери вдруг распахнуться. Тогда инфраструктуре не будут страшны нежданные гости.