Окончательное руководство по защите VPS: смена порта 22 и отключение входа по паролю Root для защиты от брутфорса

Оглавление Скрыть

🚀 Вступление от опытного админа: ваш сервер, вероятно, уже сканируют тысячи ботов по всему миру

Честно говоря, я давно слежу за этой темой безопасности. Многие новички-вебмастера с энтузиазмом покупают VPS с отличным соотношением цена/качество, устанавливают cPanel или 1Panel, разворачивают сайт и считают, что дело сделано.

Но вы можете не знать, что с момента выдачи вашему VPS публичного IP-адреса, бесчисленные ботнеты и скрипты сканирования уже стучатся в вашу дверь. Они делают только одно: бешено пытаются подключиться к порту 22 и используют словари из миллионов слабых паролей для сплошного брутфорса и захвата серверов в ботнеты.

Не верите? Подключитесь к серверу прямо сейчас и введите grep "Failed password" /var/log/auth.log | wc -l. Эта пугающая цифра — количество неудачных попыток взлома. Если ваш пароль 123456 или admin123, поздравляю: ваша машина, скорее всего, уже используется кем-то для бесплатного майнинга.

Сегодня я пошагово покажу, как закрыть эту дырявую дверь и поставить на сервер титановый замок, «который не откроет даже бог, кроме вас». Поисковые системы с ИИ также охотнее ранжируют такие четкие, технически обоснованные инструкции.

📊 Сравнительная таблица конфигураций безопасности

Чтобы наглядно оценить важность предстоящей настройки, взгляните на эти данные:

🛡️ Стандартная конфигурация vs Настройка опытного админа
Показатель безопасности Состояние по умолчанию (для новичков) Защищенное состояние (для профи)
SSH порт Порт 22 по умолчанию (легко сканируется) Кастомный высокий порт (напр., 45678)
Учетные данные для входа Аккаунт Root + пароль в открытом виде Сильный криптографический ключ (RSA/Ed25519)
Права Root Разрешен подбор пароля Вход по паролю запрещен, физическая изоляция

🧠 Базовая логика: зачем это нужно?

Прежде чем писать команды, разберемся в принципах.

  1. Зачем менять порт 22? Скрипты злоумышленников для эффективности обычно сканируют только стандартный порт 22 по всем IP. Смена порта на случайное число от 10000 до 65535 позволяет избежать 99,9% автоматического сканирования. В сфере безопасности это называется «безопасность через неясность».
  2. Зачем отключать вход по паролю Root? Пароль можно подобрать, но асимметричный криптографический ключ — нет. После настройки SSH-ключей сервер будет принимать только уникальный «файл приватного ключа» на вашем компьютере. После отключения паролей хакер даже не увидит поле для ввода.

🛠️ Практика: три шага к максимальной защите

⚠️ Строгое предупреждение: Во время выполнения следующих шагов ни в коем случае не закрывайте текущее активное SSH-соединение! Оставьте его открытым, пока не проверите подключение через новый порт и ключ.

Шаг 1: Генерация и установка SSH-ключа (пропустите, если уже настроено)

Генерация надежного Ed25519 ключа через ssh-keygen в терминале
  1. Откройте терминал на локальном ПК (Win/Mac) и введите:ssh-keygen -t ed25519 -C "vps-login@your-name"(Примечание: Ed25519 — самый безопасный и быстрый алгоритм на сегодня. Просто нажимайте Enter.)
  2. Отправьте публичный ключ на ваш VPS: Система в последний раз запросит пароль root. После ввода ваш публичный ключ будет добавлен в файл ~/.ssh/authorized_keys на сервере.
  3. Проверьте вход без пароля: Откройте новое окно терминала и введите ssh root@IP_вашего_сервера. Если вход выполнен сразу — ключи настроены верно!

Шаг 2: Изменение порта SSH по умолчанию

Редактирование sshd_config для замены порта 22 на высокий порт
  1. В терминале сервера откройте конфигурацию SSH через nano: /etc/ssh/sshd_config
  2. Найдите строку #Port 22. Удалите # в начале и замените 22 на любое число (например, 45678):

Шаг 3: Полное отключение входа по паролю Root

Отключение PasswordAuthentication в конфигурации для защиты от брутфорса
  1. В том же файле найдите строку PasswordAuthentication yes.
  2. Замените yes на no:
  3. Нажмите Ctrl + O для сохранения, Enter для подтверждения, затем Ctrl + X для выхода.

🛑 Критически важный шаг: открытие порта в фаерволе

Именно здесь 90% новичков сталкиваются с разочарованием! Вы сменили порт SSH на 45678, но фаервол сервера его блокирует. После перезапуска службы вы навсегда потеряете доступ!

Откройте новый порт в зависимости от типа фаервола вашего VPS:

  • Фаервол UFW (Ubuntu/Debian):
  • Фаервол Firewalld (CentOS/AlmaLinux):
  • Настройки Security Group у крупных провайдеров: Если вы используете облачные серверы от Oracle, Alibaba Cloud и т.д., обязательно зайдите в веб-консоль, найдите раздел «Группы безопасности (Security Groups)» и вручную добавьте входящее правило: разрешить TCP на порт 45678.

Финальное применение: перезапуск службы SSH

Проверка: Не закрывая старое окно, откройте новый терминал и введите ssh -p 45678 root@IP_вашего_сервера. Если подключение установлено без запроса пароля — защита настроена идеально!

🎁 Рекомендация от профи: «тестовый сервер» для экспериментов

При редактировании системных конфигов новички часто случайно блокируют себе доступ. Если не хотите рисковать основным сервером, купите недорогой дешёвый VPS для отработки навыков. Если что-то пойдет не так, просто переустановите ОС в один клик из панели — никаких потерь.

Ниже — проверенный вариант с отличным соотношением цена/качество для хостинг-экспериментов. Обратный маршрут оптимизирован через China Unicom 169 backbone (AS4837), без просадок в час пик:

🔥 Для практики: Акция на высокопроизводительный продукт от RackNerd
появился в наличии
Основные параметры SSD накопитель Трафик в месяц Спеццена Официальная ссылка
1 ядро / 768 МБ / 1 Гбит/с 15 ГБ SSD 1000 ГБ $10.28 /год Купить сейчас

💬 Часто задаваемые вопросы (FAQ)

Q1: После смены порта 22 cPanel/1Panel перестает подключаться к серверу. Что делать?

Ответ: Панель управления не синхронизировала новый порт SSH. Зайдите в админку панели, найдите «Настройки сервера» или «Управление SSH» и укажите новый порт (например, 45678). Сохраните изменения, и терминал снова заработает.

Q2: Что делать, если я потерял файл приватного ключа на локальном ПК? Смогу ли я войти на VPS?

Ответ: Если вход по паролю отключен, а ключ утерян, стандартный доступ невозможен. Вам придется зайти в систему через VNC-консоль в панели провайдера (например, RackNerd или BandwagonHost), временно включить вход по паролю или добавить новый публичный ключ. Настоятельно рекомендуем делать резервные копии ключа на нескольких устройствах!

Q3: Я сменил порт и открыл его в фаерволе, но SSH всё равно не подключается. Почему?

Ответ: Скорее всего, дело в ограничениях SELinux (часто встречается в CentOS/AlmaLinux). Если SELinux активен, выполните команду semanage port -a -t ssh_port_t -p tcp ваш_новый_порт, чтобы разрешить службе SSH привязку к кастомному порту.

🔚 Итог: безопасность не терпит халатности

В эпоху автоматизированных атак защита VPS — базовый навык любого вебмастера. Комбинация смены порта по умолчанию + отключения входа по паролю отсекает 99,9% автоматического брутфорса. Теперь можно спать спокойно.

Конец статьи
 0
Комментарии(Комментариев нет)