30 августа 2017

Рекомендации по защите:
SSH

Общая информация об угрозе

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

Встречаются следующие виды атак:

  1. Дешифрование трафика — классический MitM (Man-in-the-Middle), осуществляющийся с целью анализа всего проходящего через устройство злоумышленника трафика, включая пароли.
  2. Bruteforce УЗ — атака, направленная на подбор правильной комбинации логин-пароль для получения доступа к устройству.
  3. Атаки на уязвимые версии SSH — редкий вид атак, направленный на уязвимости, существующие в ПО. Чаще всего данной атаке подвержены старые, необновленные версии ПО.

Рекомендации по защите

  1. Используйте только свежие версии ПО, как серверной части, так и клиентской. В новых версиях ПО устраняются ошибки и уязвимости, а также добавляются новые меры защиты или алгоритмы шифрования (ciphers).
  2. Настройте только актуальные алгоритмы шифрования (ciphers). Устаревшие алгоритмы могут быть подвержены взлому, что может привести к утечке информации.
  3. Используйте protocol 2. Он обладает рядом серьёзных преимуществ по сравнению с первой версией протокола, например, во второй версии добавлена поддержка алгоритма Диффи-Хэллмана для создания общего сеансового ключа. Сегодня этот алгоритм используется по умолчанию в большинстве новых систем.
  4. Используйте ключи для авторизации пользователей вместо паролей. Это серьёзно повышает безопасность системы и значительно снижает риски атак типа MitM. В качестве криптографического алгоритма рекомендуется использовать ED25519 или RSA с длиной ключа от 4096 бит.
  5. Используйте нестандартный порт. Классический порт (22) используется для автоматических атак каких-либо ботов или сетевых сканеров, в отличие от, например, 3522.
  6. Настройте fail2ban. Он позволит блокировать попытки bruteforce атак на SSH.
  7. Настройте запрет аутентификации root-пользователя через SSH. У каждого пользователя должна быть своя УЗ, используя которую он, в зависимости от потребностей, может получать root-привилегии.
  8. Обращайте внимание на предупреждение об изменившимся ключе SSH-сервера, к которому осуществляется подключение. Это первый признак того, что кто-то пытается организовать атаку типа MitM.

Действия в случае инцидента

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