Мини-аудит безопасности 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