Существует ряд различных пакетов, позволяющих исключить IP-адреса, с которых в вашей системе запускаются атаки методом перебора SSH. Например:
Каковы плюсы / минусы этих или каких-либо других?
Мое текущее решение - взять электронную почту, которую logwatch генерирует каждый день, и записать вопиющие IP-адреса в текстовый файл, который я передаю в скрипт, который затем перестраивает iptables. Это хакерский, трудоемкий и ручной, и я бы хотел лучше.
(Обратите внимание, что я не спрашивал, что было «лучшим» способом решения проблемы, потому что не существует «лучшего» способа что-либо сделать.)
Простой и на практике эффективной защитой от атак на основе сканирования не является использование стандартного порта. 443 (порт https) подвергает вас различным атакам грубой силы, которые не собираются взломать ваши слабые пароли и, возможно, работают через большее количество брандмауэров, чем порт по умолчанию (22).
Большинство методов предотвращения атак ssh brute force являются отличными способами самостоятельного DoS (упс, я испортил конфигурацию! К сожалению, я сделал несколько быстрых rsync и теперь забанен на день!) Или Assisted-Self-DoS (упс злоумышленник пришел из / подорвал машину в той же подсети, что и я (динамический диапазон IP, сеть колледжа ...), и меня тоже забанят!).
Если вы входите в систему только из нескольких мест, вы можете просто внести IP-адреса источника в белый список. Это явно бесполезно, если вы хотите ssh со своего ноутбука или мобильного телефона на ходу.
Наличие демона ssh, который прослушивает только соединения IPv6, защитит вас от сканирования еще на несколько лет. Но многие брандмауэры не позволяют вам транспортировать IPv6 любым разумным способом.
Другой метод, который вы не упоминаете, - это стук в порт . Он не страдает от проблем с самообслуживанием (кроме неправильной конфигурации), но он плохо пересекает брандмауэры и может добавить задержку в несколько секунд для установления соединения.
Если у вас есть надежные пароли или вы можете жить без аутентификации по паролю, отключите аутентификацию по паролю. (Ключи и одноразовые пароли достаточны для большинства случаев использования: если вы недостаточно доверяете клиентскому компьютеру для хранения ключа ssh, вы также не доверяете ему не иметь кейлоггер). Тогда атаки методом грубой силы будут стоить вам немного ресурсов ЦП и пропускной способности, но не будут подвергать вас вторжению (если вы проверили, что ни один из ваших ключей не был получен из низкоэнтропийного OpenSSL Debian ).
В общем, обратите внимание, что смена порта существенно не уменьшает вашу уязвимость. Вы получите меньше сканирования , но все, что вы можете обрезать, - это низко висящий фрукт, который пытается использовать старые уязвимости и слабые пароли. Пока вы поддерживаете своего демона в актуальном состоянии и применяете разумные пароли или разумные ограничения на частоту попыток, переключение порта является большей ответственностью, чем мерой безопасности.
источник
.ssh/config
. Блокировка - это проблема, если брандмауэр не пропустит вас, и самое простое решение - подключиться к порту 22, а также прослушивать 443. Я согласен, что переключение порта на самом деле не повышает безопасность, возможно, мне следует сделать это более понятным , Я не знаю, почему вы считаете невозможным, чтобы демон SSH не поддерживал аутентификацию по паролю: это всего лишь вопрос добавления строки вsshd_config
OpenSSH, наиболее распространенную реализацию.