Skip to content

Скрипты для устранения комплаенс рисков на серверах LINUX

License

Notifications You must be signed in to change notification settings

LeonArchie/Compliance-Linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Набор скриптов для настройки безопасности Ubuntu Server

Набор bash-скриптов для автоматической настройки и hardening системы Ubuntu Server в соответствии с лучшими практиками безопасности.

СТРУКТУРА ПРОЕКТА

Управляющий скрипт:

  • security_hardening.sh - главный скрипт для управления всеми настройками

Основные скрипты настройки (выполняются последовательно):

№ Скрипт Назначение 00 00-Create.conf Требования к системе (CPU, RAM, разделы диска) 00 00-change-hostname.sh Настройка имени сервера 01 01-init_network.sh Настройка сетевого интерфейса 02 02-Mount.sh Настройка параметров монтирования файловых систем 03 03-update_a_time.sh Обновление системы и настройка времени (Chrony) 05 05-kernel-disable.sh Отключение неиспользуемых модулей ядра 06 06-grub-pass.sh Настройка безопасности GRUB с паролем 07 07-Service.sh Настройка системных служб 08 08-session.sh Настройка тайм-аута сессии 09 09-banner.sh Настройка баннеров входа и MOTD 10 10-network.sh Отключение беспроводных интерфейсов 11 11-sudo.sh Настройка журналирования sudo 12 12-rsyslog.sh Настройка rsyslog 13 13-logs.sh Настройка прав доступа к лог-файлам 14 14-SSH.sh Настройка SSH (проверка ключей + безопасность) 15 15-cron.sh Настройка прав доступа для cron 16 16-Network2.sh Дополнительная настройка сетевой безопасности 17 17-sudo_a_pass_a_root.sh Настройка PAM для безопасности системы

Скрипты аудита и мониторинга:

№ Скрипт Назначение 995 995-audit.sh Установка и настройка auditd 996 996-privileges.sh Настройка прав доступа к системным файлам 997 997-AIDE.sh Установка и настройка AIDE (IDS) 998 998-Wazuh.sh Установка Wazuh агента для мониторинга безопасности

БЫСТРЫЙ СТАРТ

Предварительные требования

  • Ubuntu Server 20.04/22.04
  • Права root
  • Минимальные требования из 00-Create.conf:
    • 1 vCPU
    • 1GB RAM
    • 100GB HDD
    • Рекомендуемая схема разделов диска

Установка и запуск

  1. Клонируйте репозиторий: wget https://github.com/LeonArchie/Compliance-Linux/archive/refs/heads/main.zip

apt install unzip

unzip main.zip

cd Compliance-Linux-main/Compliance2.0

  1. Добавуьте SSH ключ для вашего пользователя

  2. В скрипте SSH изменить имя пользователя archie на свой

  3. Задайте имя сервера в файле 00-change-hostname.sh

  4. Установите необходимые настройки сети в файле 01-init_network.sh

  5. Сделайте скрипты исполняемыми: chmod +x *.sh

  6. Запустите главный управляющий скрипт: ./security_hardening.sh

Использование управляющего скрипта

При запуске security_hardening.sh доступны опции:

  1. Только настройка сети (01-init_network.sh)
  2. Только смена имени
  3. Все скрипты с 02 по последний
  4. Выбрать конкретный скрипт
  5. Все скрипты по порядку q) Выход

Рекомендуемый порядок:

  • Опция 0 для установки имени
  • Перезагрузка
  • Сначала опция 1 для настройки сети
  • Затем опция 2 для остальных скриптов

ВАЖНЫЕ ПРИМЕЧАНИЯ

Критически важные шаги:

  1. SSH настройка (14-SSH.sh) - требует предварительной настройки SSH-ключа для пользователя archie
  2. GRUB пароль (06-grub-pass.sh) - сохраните сгенерированный пароль в безопасном месте
  3. Wazuh агент (998-Wazuh.sh) - требует доступности Wazuh менеджера по адресу wazuh.school59.ru
  4. Резервные копии - скрипты создают бэкапы конфигурационных файлов

После выполнения:

  • Обязательная перезагрузка для применения всех изменений
  • Проверьте SSH подключение на порту 56314
  • Сохраните пароль GRUB из файла /root/grub_password_*.txt
  • Убедитесь в работе Wazuh агента: systemctl status wazuh-agent

ОСОБЕННОСТИ РЕАЛИЗАЦИИ

Безопасность:

  • Отключение небезопасных служб и протоколов
  • Настройка фаервола и сетевой безопасности
  • Hardening PAM и аутентификации
  • Настройка аудита и мониторинга

Мониторинг:

  • Auditd для отслеживания системных событий
  • AIDE для контроля целостности файлов
  • Wazuh для комплексного мониторинга безопасности
  • Расширенное логирование через rsyslog

Системные ограничения:

  • Тайм-аут сессии 900 секунд
  • Блокировка после 5 неудачных попыток входа
  • Отключение беспроводных интерфейсов
  • Ограничение привилегий пользователей
  • Безопасные параметры монтирования ФС

ТЕСТИРОВАНИЕ

После выполнения всех скриптов рекомендуется:

  1. Проверить системные логи на наличие ошибок
  2. Убедиться в работоспособности SSH
  3. Проверить аудит: ausearch -m ALL
  4. Запустить проверку AIDE: aide --check
  5. Проверить Wazuh агент: /var/ossec/bin/agent_control -l

ЛОГИРОВАНИЕ

Скрипты создают логи в:

  • /var/log/sudo.log - действия sudo
  • /var/log/aide/ - отчеты AIDE
  • /var/ossec/logs/ - логи Wazuh
  • Системные журналы auditd и rsyslog

ФАЙЛЫ КОНФИГУРАЦИИ

Основные конфиги:

  • /etc/ssh/sshd_config - настройки SSH
  • /etc/audit/auditd.conf - конфигурация аудита
  • /etc/aide/aide.conf - правила AIDE
  • /etc/ossec-agent/ossec.conf - конфиг Wazuh агента

Системные настройки:

  • /etc/sysctl.d/ - параметры ядра
  • /etc/pam.d/ - настройки PAM
  • /etc/security/ - ограничения безопасности

ВКЛАД

Приветствуются предложения и исправления. Пожалуйста, создавайте issue и pull requests.

ЛИЦЕНЗИЯ

Этот проект распространяется под лицензией MIT - смотрите файл LICENSE для деталей.


ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Сетевые настройки:

  • IP адрес: 192.168.8.13/24
  • Шлюз: 192.168.8.1
  • DNS: 192.168.8.2, 192.168.8.3
  • SSH порт: 56314

Мониторинг:

  • Wazuh менеджер: wazuh.school59.ru
  • AIDE проверки: ежедневно через systemd timer

Важно: Данные скрипты предназначены для использования в тестовых средах. Перед применением в production обязательно протестируйте и адаптируйте под ваши требования.

About

Скрипты для устранения комплаенс рисков на серверах LINUX

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages