Системный журнал — практичная база знаний по VPS и Linux
Security • аудит • VPS

Мини-аудит безопасности VPS: что проверить вручную

Мини-аудит VPS можно сделать вручную без сложных сканеров. Цель — понять, кто имеет доступ, какие сервисы открыты, что запускается автоматически и можно ли восстановить сервер после сбоя.

Пользователи и sudo

Начните с пользователей. Нужно понять, какие учётные записи есть в системе и кто может выполнять команды через sudo.

cat /etc/passwd
getent group sudo
last -a | head

SSH-доступ

Проверьте authorized_keys, root-вход, парольную авторизацию и порт SSH. Особое внимание — неизвестным ключам и старым пользователям.

grep -E "PermitRootLogin|PasswordAuthentication|Port" /etc/ssh/sshd_config

Открытые порты

У каждого открытого порта должно быть объяснение. Если вы не понимаете, что слушает порт, это нужно выяснить до настройки новых сервисов.

ss -tulpn

Firewall

Firewall должен соответствовать реальной схеме сервера. Нельзя оставлять allow all, если наружу должны быть открыты только SSH и HTTP/HTTPS.

ufw status verbose

Cron и systemd timers

Автоматические задачи могут запускать старые скрипты, резервные копии, обновления или подозрительные команды. Их обязательно нужно проверять.

crontab -l
ls -la /etc/cron.*
systemctl list-timers --all

Права и конфиги

Проверьте права на веб-каталоги, приватные ключи, .env-файлы и конфиги приложений. Секреты не должны лежать в публичном каталоге сайта.

  • не используйте chmod 777 без причины;
  • закрывайте .env;
  • приватные ключи должны быть доступны только нужному пользователю.

Логи и обновления

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

journalctl -p warning --since today --no-pager
apt list --upgradable

Резервное копирование

Аудит без проверки бэкапа неполный. Если сервер нельзя восстановить, любая ошибка может стать критичной.