Итак, уважаемые коллеги, прошу внимательно посмотреть на скрин выше этого текста.
Это кусочек лога богом забытого сервера находящегося на краю географии, поднятого несколько дней назад. И как видите, боты пытаются подобрать пароль для авторизации. И если вы посмотрите в логи своего сервера вы будете так же неприятно удивлены. Ваш маленький уютненький сервер, вполне возможно, атакуется куда сильней. Периодичность попыток может быть от нескольких в час до нескольких сотен в минуту. Без вариантов! Если вы не предприняли ни каких попыток для защиты — то вы найдете у себя в логах такие записи. Чем это грозит? Только тем что рано или поздно бот подберет ваш пароль и получит полный доступ к вашему серверу, как говориться — со всеми вытекающими…
Теперь когда я вас хорошенечко запугал будем пытаться исправить ситуацию.
Первое что нужно сделать — это перевесить данный сервис на другой порт.
Боты которые занимаются подбором паролей к ssh в 99% случаев сначала пытаются присоединиться к 22 порту (на котором висит данный сервис) и если порт ответил — начинают свое «черное дело». Если же в ответ ничего не получил — то считают что ssh на вашем сервере нет и оставляют его в покое.
Безусловно, есть софт который сканирует все порты вашего сервера, в надежде найти ssh на нестандартном порту, но в этом случае время сканирования возрастает на несколько порядков, а эффективность работы такого бота падает в разы.
Итак — первое что нужно сделать после установки сервера, либо аренды VPS — это перевесить демон sshd на какой ни будь другой порт. Сделать это совсем не сложно.
Для начала просто убедимся что он у нас висит на 22 порту (а где бы ему еще быть если в сервер вы попали и читаете данную статью.)
netstat -tupln | grep LISTEN | grep sshd
sshd_config — это тот файл где нам нужно поменять номер порта. Почти во всех NIX-системах он находится по одному и тому же пути. Открываем его вашем любимым редактором (в примере это будет nano)
nano /etc/ssh/sshd_config
Ищем в файле sshd_config запись
Удаляем # в начале строки и меняем номер порта на другой, на пример 22345
И сохраняем данные изменения при помощи команды:
Ctrl+X
В нижней части редактора появится меню уточняющее хотим ли мы сохранить изменения сделанные в файле.
Подтверждаем нажав клавишу «Y»
Следующее меню информирует нас что будет перезаписан текущий файл.
Для подтверждения просто нажимаем клавишу «Enter» и выходим с консоль.
Чтобы изменения вошли в силу, перезагрузите ваш SSH-демон. Это можно сделать при помощи команды:
systemctl restart sshd.service
Проверяем что демон теперь «слушает» на новом порту
netstat -tupln | grep LISTEN | grep sshd
С сервером закончили. Теперь внесем изменения в клиент.
В MobaXterm это делается так:
Сохраняем и заходим уже на ssh по новому порту.
Можете себя поздравить — вы только что заделали огромную дыру в безопасности своего сервера.
К сожалению не до конца. Но об этом мы поговорим уже в следующей статье.