Безопасный сервер
Wab IT
Делаем безопасный сервер Ubuntu 24.04.
Безопасность для человека — главный приоритет в жизни, как и безопасный сервер для администратора. После того как вы для своего сайта или видеорадиоблога собрали или арендовали выделенный или VPS, VDS сервер. По дефолту у вас в 99% случаях будут настройки, с которыми ваш выделенный сервер через пару месяцев начнет тормозить больше, чем захудалый хостинг на старом железе, и это не самый худший из вариантов.
Ведь если путем сбора информации (Fingerprinting) или брутфорс (Brute-force) сканирования будет найдена уязвимость и получен доступ к вашему серверу, помимо доступа к логинам и паролям и всего, что вы на нем храните, на сервер могут быть установлены майнеры, ботнет-клиенты или шпионское ПО. В таком случае о безопасности сервера речи быть не может. От вашего имени могут рассылать, зараженные троянами файлы. Поэтому безопасный сервер — это ваша личная ответственность, и в этой статье я вам покажу, как легко и быстро сделать сервер безопасным и снизить на 90% активность Fingerprinting) и (Brute-force), которые замедляют его работу.
Если вы администратор своего сервера, наверняка уже знаете, что такое SSH-протокол и как по нему подключаться.
SSH (Secure Shell) — это сетевой протокол, который позволяет безопасно управлять компьютером или сервером через интернет.
- SSH шифрует весь трафик, включая пароли и передаваемые команды.
- Возможности: Позволяет не только вводить команды в терминале, но и безопасно копировать файлы (через SCP или SFTP) или создавать защищенные туннели для другого трафика.
- Аутентификация: Войти в систему можно как по обычному паролю, так и с помощью более надежных SSH-ключей.
- По умолчанию SSH работает на TCP-порту 22.
По умолчанию у вас стоит Port 22, пользователь root и вход по паролю. Именно это и попадает в первую очередь под сканирование брутфорса. Даже если у вас очень сложный 24-значный пароль, который нереально подобрать, на ваш сервер все равно будут долбиться все кому не лень, подключаясь к 22 порту и подбирать пароль к пользователю root.
Если вы давно владеете сервером, то в настоящем времени, сможете увидеть, сколько всякой нечестии пытается стать вашим доверенным лицом и завладеть правами администратора, а как же на это посмотреть?
Очень просто введя команду в терминале,
Для просмотра журнала логирования SSH, подключитесь к своему серверу и введите в терминале команду, просмотрев последние 50 записей о входе или попытке входа.
sudo journalctl -t sshd -n 50
Или же можно смотреть в реальном времени, сколько ботов пытается войти вместо вас.
sudo journalctl -u ssh -f
Если вашему серверу хотя бы месяц, вы увидите рой брутфорсов атакующих ваш сервер.

Как вы думаете, каким образом можно легко и быстро прекратить это безобразие?
Правильно, просто надо спрятать сервер, а точнее канал связи SSH.
И как же это сделать?
Самый простой способзащитить сервер от сбора данных и сканирования на уязвимость — попросту замаскировать вход. Поменять порт 22 на один из пятизначных динамических портов, выбрав 5 цифр вместо 2, от 5000 до 6500.
Сделав такое простое действие, вы сразу же получаете огромный буст.
Снижение нагрузки от ботов (брутфорс)
Порт 22: весь интернет непрерывно сканируется автоматизированными ботами. На стандартный порт могут приходить тысячи попыток подбора пароля в час. Каждая такая попытка заставляет сервер:
- Создавать процесс или поток для обработки соединения.
- Тратить ресурсы CPU на инициализацию зашифрованного канала.
- Записывать логи (что при большом объеме создает нагрузку на диск).
- Почему порт 5хххх: Боты-сканеры обычно проверяют только популярные порты. Перенос SSH на случайный высокий номер отсекает более 95-99% автоматического «шума».
Итак, вы узнали, для того чтобы облегчить работу вашего сервера, нужно сделать пару незамысловатых действий, а, собственно, поменять порт SSH с 22 на, допустим, 52125.
Внимание!!!
Прежде чем менять порт в SSH, необходимо добавить его в разрешенные фаервола UFW, иначе, поменяв порт и выйдя из терминала, у вас не получиться подключиться по ssh к серверу слушающего новой порт. Поэтому сперва открываем наш порт, добавляя его в исключение в UFW. Вы вместо 52125 вписываете свой номер порта, который придумали и записали в блокнот.
Пишем команды для фаервола,
открываем порт и перезагружаем ufw.
sudo ufw allow 52125/tcp<br>sudo ufw reload
Проверяем или наш порт 52125 открыт.
Пишем команду.
sudo ufw status verbose
И видим наш открытый порт
52125/tcp (v6) ALLOW IN Anywhere (v6)
Теперь давайте поменяем в ssh порт 22, на новый, который вы только что открыли.
В прошлых версиях Ubuntu поменять порт было совсем легко, нужно было в конфигурационном файле sshd_config, который находится в папке /ssh, просто заменить цифры и перезагрузить службу ssh.
Заходим в терминал и вводим команду.
sudo nano /etc/ssh/sshd_config
Перед нами открывается файл с настройками функционала SSH.
Ваш терминал может выглядеть по-другому, однако запись Port 22 идентична.
Переводим язык на ENG (английский).

- Стрелками на клавиатуре спускаемся к строчке Port 22,
- далее вправо, переводим маркер в конец цифр 22,
- удаляем 22 кнопкой стирания - Backspace,
- вместо 22 пишем выбранный вами номер порта 5хххх. Который записан в блокноте, чтобы не забыть!
- Сохраняем: удерживаем нажатой Ctrl и жмём кнопку X, отпускаем Ctrl, и затем нажимаем Y и Enter.
Поздравляю, вы сменили порт. Далее следует проверить, нет ли опечаток, и применить настройки, перезапустив SSH.
sudo sshd -t
sudo systemctl restart sshВ Ubuntu 22.4 этого было достаточно.
В Ubuntu 24.4 из-за новой системы systemd socket activation, классический sshd_config часто игнорируется. Даже если вы сменили порт в конфиге ssh, системный «слушатель» (socket) продолжает ждать соединения на 22-м порту.
Чтобы порт действительно изменился, Нужно отредактировать настройки сокета:
Изменение через systemd (для Ubuntu 24.04)
Вводим команду
sudo systemctl edit ssh.socketВ открывшемся пустом или текстовом окне вставьте эти три строки, с вашим номером порта:
[Socket]<br>ListenStream=<br>ListenStream=55222

Далее жмем знакомую нам комбинацию клавиш или сохраняем Ctrl + O, Enter, и выходим
Ctrl + X. Незабываем клавиатура должна быть ENG.
Перезагружаем демона и сокет ssh, вводим команду.
sudo systemctl daemon-reload<br>sudo systemctl restart ssh.socket
Проверьте, какой порт теперь слушает сервер.
Вводим команду с нашим новым, записанным номером порта.
ss -ltn | grep :5хххх

Внимание!!! Не торопитесь выходить из терминала.
Рекомендуется сперва подключиться любым другим пользователем по новому порту ssh. В случае если подключение прошло успешно, поздравляю, теперь вы защитили свой сервер на 90%.
В следующей статье мы сделаем сервер еще безопаснее, сделав вход по самым новым и безопасным ключам.
Помощь в настройке и администрирование серверов, выделенные, VDS, VPS и выделенные сервера, надежность, качество, цена лучшие в Российской Федерации Сервер от 219р. месяц.
Вопросы об настройке и администрировании пишите в комментарии или личном сообщении.
