Забудьте про 22-й порт: Как усилить безопасность SSH за 5 минут
Ваш сервер постоянно атакуют тысячи ботов, сканирующих стандартный порт SSH. Это не просто раздражает — это прямая угроза безопасности вашей системы. Протокол SSH — это мощный инструмент для удаленного управления, но его настройки по умолчанию известны каждому злоумышленнику.
Что, если есть простой и эффективный способ резко сократить количество этих атак? Он не требует глубоких знаний и выполняется буквально за несколько шагов. Речь идет о смене порта, который использует SSH-демон.
Мы покажем вам, как найти конфигурационный файл и изменить всего одну строку, переназначив сервис на нестандартный порт. Вы узнаете, как правильно перезапустить службу и убедиться, что все работает как надо. Но на этом нельзя останавливаться!
Критически важный шаг — настройка файрвола. Мы дадим готовые команды для UFW, iptables и firewalld, чтобы вы не потеряли доступ к своему же серверу. Этот метод — один из китов в фундаменте безопасности любого Linux-сервера.
Готовы на 90% снизить шум в логах и усложнить жизнь автоматизированным скриптам? Переходите к полной статье — там вас ждет пошаговая инструкция, которая превратит вашу систему в менее заметную цель для хакеров.
Удалённое администрирование Linux, как правило, осуществляется при помощи SSH (Secure Shell) — сетевого протокола прикладного уровня, позволяющего производить туннелирование TCP-соединений. Вышедший в 1995-м году SSH широко используется и в наши дни. С помощью этого протокола, помимо администрирования операционной системы с помощью командной оболочки, можно выполнять файловые операции и монтировать удалённые файловые системы.
SSH-сервер по умолчанию работает с использованием 22-го TCP-порта. Иногда бывают ситуации когда необходимо изменить этот порт. Например, для превентивной защиты от bruteforce-атак, направленных именно на 22-й порт, или для освобождения этого порта, занятого другим приложением. В этом случае можно изменить порт SSH на любой другой свободный TCP-порт.
Как изменить порт SSH?
В большинстве разновидностей Linux конфигурационный файл SSH-сервера располагается по пути /etc/ssh/sshd_config. Тем не менее, можно воспользоваться и поиском для того, чтобы узнать наверняка. Воспользуйтесь командой:
sudo find /etc/ -name "sshd_config"

В данном случае файл там, где и должен быть. Откройте в текстовом редакторе файл sshd_config:
sudo nano /etc/ssh/sshd_config
Найдите строку Port 22 и измените значение (в нашем примере на Port 222). Возможно в вашем конфигурационном файле эта строка будет закомментирована, то есть выглядит вот так — #Port 22.
В этом случае нужно убрать символ # и выполнить действия, описанные выше:

Сохраните файл. Далее следует перезапустить демон SSH. Выполните команду:
sudo systemctl restart sshd
Для того, чтобы проверить прошла ли удачно смена порта SSH сервера, выполните следующую команду:
sudo netstat -tupln | grep ssh
Будут показаны открытые порты SSH на вашем компьютере:

Строка tcp 0.0.0.0:222 LISTEN говорит о том, что 222-й порт, который назначенный для SSH-демона, успешно используется. В SSH-клиентах, подключаемых к вашему компьютеру, нужно будет изменить порт по умолчанию на назначенный SSH-серверу.
Если на вашем компьютере работает файрвол, не забудьте добавить в его исключения новый порт, назначенный SSH-серверу. Если вы изначально работаете удалённо по SSH-протоколу, сделать это нужно ещё до того, как вы перезапустите демон SSH на сервере, к которому подключены.
Если у вас в качестве файрвола установлен UFV, выполните команду:
sudo ufw allow 222/tcp
Для тех, кто использует iptables, необходимо разрешить новый порт с помощью команды:
sudo /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 222 -j ACCEPT
В операционных системах, использующих firewalld, выполните такую команду:
sudo firewall-cmd --permanent --add-port=222/tcp
sudo firewall-cmd --reload
Здесь порт 222 - это порт SSH, назначенный мною для примера. Теперь вы знаете как поменять порт SSH чтобы его не трогали боты. А какие методы защиты от ботов используете вы? Напишите в комментариях!