Это "сканирование портов"?

Все еще считается "сканирование портов", когда скрипты пытаются войти в SSH со списком общих имен учетных записей или пробуют несколько паролей для "root" или "mail" (или аналогичных)? Я надеюсь найти способ заблокировать их, но я не знаю, что искать.

Когда я представляю термин port scan Я думаю об использовании NMAP (или эквивалент), чтобы найти то, что открыто в iptables. Просто любопытно, если это подпадает под ту же категорию.

Некоторые из моих систем регистрируют несколько тысяч в день. Это раздражает.

Все системы CentOS / RHEL.

РЕДАКТИРОВАТЬ: iptables "ограничение" выглядит многообещающим. В конце мне, возможно, придется настроить VPN для всего допустимого трафика и использовать что-то вроде 'fail2ban' на моих публичных серверах.

4 ответа

Решение

Здесь вам может понадобиться термин поиска: "заблокировать неудачные попытки входа в ssh", "заблокировать грубую силу ssh" или даже "остановить злонамеренные логины ssh".

Очень популярный инструмент для их остановки - fail2ban. Он может просматривать ваши журналы для неудачных попыток входа по SSH и блокировать нарушающий IP после определенного количества сбоев в течение определенного периода времени.


Некоторые другие советы, чтобы повысить вашу безопасность SSH:

  1. Отключите прямой вход в систему, если вы еще этого не сделали. Это одна из самых важных вещей, которую вы должны сделать, если хотите полностью защитить свой сервер.
  2. Отключите аутентификацию по паролю и используйте аутентификацию с открытым ключом. Еще один важный. Не имеет значения, сколько предположений они делают для действительного пароля, если пароли никуда вас не приведут. Кроме того, использование пары ключей для входа в систему очень удобно, если вы используете менеджер ключей на стороне клиента.
  3. Используйте нестандартный порт. Вы можете использовать что-то вроде 2222 или, желательно, что-то еще менее очевидное. Это приводит к тому, что количество неудачных входов в систему резко падает в моем опыте. Хотя, как отмечали другие люди в комментариях, вы должны иметь в виду, что открытые порты по-прежнему легко обнаруживаются при сканировании портов, и законным пользователям может быть неудобно входить в систему.
  4. Блокировка неудачных попыток с использованием fail2ban. Я бы посоветовал вам иметь какой-то план Б на случай, если вы случайно заблокируете себя. Если вы можете повторить попытку с другого IP, вы можете разблокировать себя.
  5. Реализация стука порта. Это, вероятно, излишне, но если оно будет реализовано, оно может свести ваши неудачные попытки входа в систему практически к нулю. Это может быть ОЧЕНЬ неудобно для законных пользователей, желающих войти в систему. Вам нужно пройти через песню и танец исполнения секретного удара каждый раз, когда вы хотите войти. Забудьте о входе в систему с помощью смартфона.

Это подпадает под категорию грубой силы атаки.

Это можно предотвратить с помощью iptables с использованием --seconds а также --hitcount флажки для эффективной оценки ограничения количества попыток в секунду. Единственным недостатком этого является то, что злоумышленник может настроить скорость атаки, чтобы не запускать правила, но обычно атаки не очень хорошо отслеживаются.

Вы также должны отключить root-вход и использовать SSH-ключи, если вы этого еще не сделали. Это в основном делает атаки бессмысленными.

Ваш вероятный кандидат на поисковый запрос - это "ssh brute force попытки".

Хотя изменение вашего SSH-порта не повысит безопасность вашей сети, оно предупредит вас о том, что злонамеренный пользователь нацелился на вашу машину с чуть большим вниманием, чем ленивые сценарии "try root:root на порту 22". Я лично использую этот подход на своих серверах, чтобы сохранить мои журналы относительно тихо.

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

Другие вопросы по тегам