Перейти к содержимому
Melinhost

Чек-лист безопасности VPS: 10 шагов сразу после установки

Защитите новый сервер в первый час: обновления, SSH-ключи, брандмауэр, Fail2ban, резервные копии и мониторинг.

Руководства · 1 мин чтения

vps-security-checklist

Любой сервер в интернете с первой минуты подвергается автоматическому сканированию. Хорошая новость: несколько базовых шагов нейтрализуют большинство атак. Список написан для Ubuntu/Debian; в RHEL-подобных системах аналоги схожи.

Многоуровневая защита сервера
Многоуровневая защита: каждый уровень срабатывает там, где предыдущего недостаточно.

1. Обновите систему

sudo apt update && sudo apt upgrade -y

Включите автоматические обновления безопасности: sudo apt install -y unattended-upgrades

2. Работайте под пользователем с sudo, а не под root

adduser deploy
usermod -aG sudo deploy

3. Входите по SSH-ключу

Создайте ключ и скопируйте его на сервер (шаги — в Подключение по SSH). Убедившись, что вход по ключу работает, укажите в /etc/ssh/sshd_config PasswordAuthentication no и PermitRootLogin no и выполните sudo systemctl restart ssh.

Осторожно: прежде чем отключать вход по паролю, обязательно проверьте в новой сессии, что вход по ключу работает.

4. Включите брандмауэр

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable

5. Остановите перебор паролей с Fail2ban

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. Отключите ненужные службы

Список прослушиваемых служб — sudo ss -tulpn; остановите и удалите лишнее. Не открывайте порты баз данных (3306, 5432) в интернет.

7. Следите за SSH и входами

Последние входы — last, неудачные попытки — sudo journalctl -u ssh --since today. Смена порта не добавляет реальной безопасности, но уменьшает шум в журналах.

8. Наладьте резервное копирование

Регулярно копируйте важные данные за пределы сервера (rsync, restic, borg). Перед рискованными изменениями делайте снимок из панели; один лишь снимок резервной копией не является.

9. Время и журналы

Убедитесь командой timedatectl, что NTP включён и время верное. Проверьте, что журналы ротируются (logrotate), чтобы диск не заполнился.

10. Защитите и прикладной уровень

  • Обновляйте веб-приложения и ограничивайте админ-панели по IP или добавьте двухфакторную аутентификацию.
  • Если используете Docker, следите за публикуемыми портами (см. Установка Docker).
  • Храните пароли в менеджере паролей и включите двухфакторную аутентификацию и в аккаунте.

Чек-лист

ШагГотово?
Обновления + автоматические обновления безопасности☐
Пользователь с sudo, вход root отключён☐
SSH-ключ, вход по паролю отключён☐
Брандмауэр (только нужные порты)☐
Fail2ban☐
Резервные копии + снимок☐

Если подозреваете, что сервер взломан, см. Что делать, если VPS взломали.

Начните с Melinhost

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

Похожие записи

err-ssl-version-or-cipher-mismatch

· Руководства

Ошибка ERR_SSL_VERSION_OR_CIPHER_MISMATCH: причины и решение

Браузер не может установить защищённое соединение: как найти и исправить устаревшие версии TLS, несовместимые шифры, отсутствие сертификата и неверные настройки виртуального хоста.

Читать далее →

Настройки cookie

Мы используем необходимые cookie. Аналитические и маркетинговые cookie включаются только с вашего согласия. Политика использования cookie