Безопасный сервер

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 (английский).

  1. Стрелками на клавиатуре спускаемся к строчке Port 22,
  2. далее вправо, переводим маркер в конец цифр 22,
  3. удаляем 22 кнопкой стирания - Backspace,
  4. вместо 22 пишем выбранный вами номер порта 5хххх. Который записан в блокноте, чтобы не забыть!
  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р. месяц.
Вопросы об настройке и администрировании пишите в комментарии или личном сообщении. 

16:22
1
Lit
RSS
Нет комментариев. Ваш будет первым!

Похожий контент

Мы узнали что такое  хостинг и сервер и их различия. Взяли в аренду ...