Скрипт аудита безопасности VPS
VPS Security Audit Script — это комплексный Bash-скрипт, предназначенный для аудита безопасности и производительности вашего VPS (Virtual Private Server). Этот инструмент выполняет множество проверок безопасности и предоставляет подробный отчет с рекомендациями по улучшению.
Пример вывода
Скрипт выводит результаты в реальном времени с цветовой кодировкой:
- 🟢 [PASS] — проверка пройдена успешно.
- 🟡 [WARN] — обнаружены потенциальные проблемы.
- 🔴 [FAIL] — обнаружены критические проблемы.

Кроме того, скрипт создает подробный отчет в формате файла: vps-audit-report-[TIMESTAMP].txt
.
Основные возможности
Проверки безопасности
- Конфигурация SSH:
- Статус входа root.
- Аутентификация по паролю.
- Использование нестандартного порта.
- Статус брандмауэра (UFW).
- Конфигурация Fail2ban.
- Попытки неудачного входа.
- Статус системных обновлений.
- Анализ запущенных служб.
- Обнаружение открытых портов.
- Конфигурация логирования sudo.
- Применение политики паролей.
- Обнаружение SUID-файлов.
Мониторинг производительности
- Использование дискового пространства.
- Использование памяти.
- Использование CPU.
- Активные интернет-соединения.
Требования
- Операционная система: Ubuntu/Debian-based.
- Доступ с правами root или sudo.
- Базовые пакеты (большинство уже предустановлено):
ufw
systemd
netstat
grep
awk
Установка
1. Скачайте скрипт:
wget https://raw.githubusercontent.com/vernu/vps-audit/main/vps-audit.sh
# или
curl -O https://raw.githubusercontent.com/vernu/vps-audit/main/vps-audit.sh
2. Сделайте скрипт исполняемым:
chmod +x vps-audit.sh
Использование
Запустите скрипт с правами sudo:
sudo ./vps-audit.sh
Скрипт выполнит все проверки безопасности, отобразит результаты в реальном времени с цветовой кодировкой и создаст подробный отчет.
Формат вывода
Скрипт предоставляет два типа вывода:
- Вывод в консоли в реальном времени с цветовой кодировкой:
- Пример:
- [PASS] SSH Root Login — вход root через SSH правильно отключен.
- [WARN] SSH Port — используется стандартный порт 22 — рекомендуется изменить на нестандартный.
- [FAIL] Firewall Status — брандмауэр UFW не активен — ваша система подвержена риску.
- Пример:
- Подробный отчет в файле с результатами всех проверок, рекомендациями для устранения проблем и статистикой использования системных ресурсов.
Пороговые значения
Пороги использования ресурсов
- PASS: < 50% использования.
- WARN: 50-80% использования.
- FAIL: > 80% использования.
Пороги безопасности
- Неудачные попытки входа:
- PASS: < 10 попыток.
- WARN: 10-50 попыток.
- FAIL: > 50 попыток.
- Запущенные службы:
- PASS: < 20 служб.
- WARN: 20-40 служб.
- FAIL: > 40 служб.
- Открытые порты:
- PASS: < 10 портов.
- WARN: 10-20 портов.
- FAIL: > 20 портов.
Кастомизация
Вы можете настроить пороговые значения, редактируя следующие переменные в скрипте:
- Пороги использования ресурсов.
- Пороги неудачных попыток входа.
- Пороги количества служб.
- Пороги количества открытых портов.
Лучшие практики
- Регулярно запускайте аудит (например, еженедельно).
- Тщательно изучайте сгенерированный отчет.
- Немедленно устраняйте проблемы с [FAIL].
- Исследуйте проблемы с [WARN] во время технического обслуживания.
- Поддерживайте актуальность скрипта в соответствии с вашими политиками безопасности.
Ограничения
- Разработан для систем на базе Debian/Ubuntu.
- Требует доступа с правами root или sudo.
- Некоторые проверки могут потребовать настройки для специфических сред.
- Не является заменой профессионального аудита безопасности.
Вклад в проект
Вы можете внести свой вклад, сообщая о проблемах или предлагая улучшения!
Лицензия
Проект лицензирован под MIT License. Подробности смотрите в файле LICENSE.
Уведомление о безопасности
Хотя этот скрипт помогает выявлять распространенные проблемы безопасности, он не должен быть единственной мерой безопасности. Всегда:
- Поддерживайте систему в актуальном состоянии.
- Регулярно мониторьте логи.
- Следуйте лучшим практикам безопасности.
- Рассмотрите возможность профессионального аудита для критически важных систем.
Поддержка
Для получения поддержки:
- Проверьте существующие issues.
- Создайте новый issue с подробной информацией.
- Укажите вывод скрипта и данные о вашей системе.
Оставайтесь в безопасности! 🔒
Источник: VPS Security Audit Script на GitHub