Автоматизация аудита VPS с помощью VPS Audit

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

Скрипт выполнит все проверки безопасности, отобразит результаты в реальном времени с цветовой кодировкой и создаст подробный отчет.

Формат вывода

Скрипт предоставляет два типа вывода:

  1. Вывод в консоли в реальном времени с цветовой кодировкой:
    • Пример:
      • [PASS] SSH Root Login — вход root через SSH правильно отключен.
      • [WARN] SSH Port — используется стандартный порт 22 — рекомендуется изменить на нестандартный.
      • [FAIL] Firewall Status — брандмауэр UFW не активен — ваша система подвержена риску.
  2. Подробный отчет в файле с результатами всех проверок, рекомендациями для устранения проблем и статистикой использования системных ресурсов.

Пороговые значения

Пороги использования ресурсов

  • 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