12. Аудит и соответствие требованиям для Ubuntu Server: рекомендации

Введение

Обеспечение аудита и соответствия требованиям в серверных средах Ubuntu — важнейший шаг для организаций, стремящихся защитить конфиденциальные данные, выполнить нормативные требования и эффективно реагировать на инциденты безопасности. Такие стандарты соответствия, как PCI-DSS, GDPR, HIPAA и ISO/IEC 27001, требуют надёжных механизмов аудита, журналирования и отчётности для обеспечения подотчётности и защиты данных.

В этой статье представлено подробное руководство по настройке правил аудита, созданию отчётов, выявлению подозрительной активности и внедрению рекомендаций для поддержания соответствия требованиям на серверах Ubuntu 22.04.


Предыдущие статьи:

01. Введение в Ubuntu Server – SysOSX: AI & Cloud

02. Как настроить первый сервер Ubuntu: руководство для начинающих – SysOSX: AI & Cloud

03. Освоение командной строки Linux для Ubuntu Server – SysOSX: AI & Cloud

04. Управление пользователями и правами в Ubuntu Server: подробное руководство – SysOSX: AI & Cloud

05. Основы сетей для Ubuntu Server: подробное руководство – SysOSX: AI & Cloud

06. Установка и управление ПО в Ubuntu Server: полное руководство – SysOSX: AI & Cloud

07.Исправление и обновление Ubuntu Server: подробное руководство – SysOSX: AI & Cloud

08. Защита сервера Ubuntu: практические шаги по усилению безопасности – SysOSX: AI & Cloud

09. Аудит и ведение журналов сервера Ubuntu

10. Инструменты мониторинга системы для Ubuntu Server: подробное руководство – SysOSX: AI & Cloud

11. Централизованное ведение журналов для сервера Ubuntu: обязательное руководство – SysOSX: AI & Cloud



Почему аудиты соответствия требованиям важны


78% организаций не прошли первоначальные аудиты PCI-DSS из-за недостаточного журналирования (отчёт Verizon за 2023 год)

Реальный пример утечки:
Медицинская организация получила штрафы HIPAA на сумму 1,2 млн долларов, не проведя аудит доступа к медицинским картам пациентов, хранившимся на серверах Ubuntu. Подходящие правила auditctl могли бы выявить несанкционированный доступ.


Шпаргалка по требованиям стандартов соответствия

СтандартКлючевые требования аудита UbuntuСоответствующие инструменты
PCI-DSSМониторинг целостности файлов, журналы активности пользователейauditd + AIDE
GDPRОтслеживание доступа к данным, уведомление о нарушениях за 72 часаaureport + ELK
HIPAAМониторинг доступа к ePHI, хранение журналов в течение 6 летauditctl + Splunk
ISO 27001Подтверждение оценки рисков, журналы контроля доступаLynis + OpenSCAP

Использование auditctl для настройки правил аудита (основы)

Платформа аудита Linux, доступная в Ubuntu 22.04, — мощный инструмент мониторинга активности системы. Команда auditctl используется для создания правил аудита и управления ими, отслеживающими конкретные события на сервере.

Шаг 1. Установка платформы аудита

Перед настройкой правил аудита убедитесь, что платформа аудита установлена:

sudo apt update
sudo apt install auditd

Шаг 2. Определение правил аудита

Правила аудита определяют, какие действия отслеживать. Вот распространённые примеры:

  • Мониторинг доступа к файлам:
    Отслеживайте изменения критически важных файлов, таких как /etc/passwd:
sudo auditctl -w /etc/passwd -p wa -k passwd_changes

Это правило отслеживает операции записи (w) и изменения атрибутов (a) файла /etc/passwd .

  • Мониторинг событий входа и выхода:
    Отслеживайте активность входа/выхода пользователей:
sudo auditctl -a always,exit -F arch=b64 -S execve -F key=login_activity
  • Мониторинг несанкционированного доступа:
    Выявляйте попытки доступа к конфиденциальным каталогам:
 sudo auditctl -w /var/www/html -p rwxa -k web_access

    Шаг 3. Сохранение правил аудита

    Правила аудита временны, если их не сохранить. Добавьте правила в /etc/audit/audit.rules чтобы сделать их постоянными:

    -w /etc/passwd -p wa -k passwd_changes
    -a always,exit -F arch=b64 -S execve -F key=login_activity
    

    Перезапустите демон аудита, чтобы применить изменения, sudo systemctl restart auditd не работает, нужно завершить его работу и запустить снова, чтобы новая конфигурация вступила в силу:

    sudo systemctl kill auditd
    sudo systemctl start auditd
    

    Шаг 4. Проверка активных правил аудита

    Выведите список всех активных правил аудита, чтобы подтвердить их применение:

    sudo auditctl -l
    

    Продвинутое правило для аудитов соответствия требованиям

    Правила PCI-DSS (/etc/audit/rules.d/pci-dss.rules):

    # Monitor payment processing directory  
    -w /var/lib/payment_processor -p rwxa -k pci_processing  
    
    # Track sudo usage  
    -a always,exit -F arch=b64 -S execve -C uid!=euid -F key=sudo_esc  
    

    Правила GDPR (/etc/audit/rules.d/gdpr.rules):

    # Monitor database access  
    -w /var/lib/mysql -p rw -k gdpr_data  
    
    # Log user account changes  
    -w /etc/shadow -p wa -k user_changes  
    

    3. Сохранение правил после перезагрузок

    sudo auditctl -R /etc/audit/rules.d/pci-dss.rules  
    sudo augenrules --load  
    

    Создание отчётов аудита и выявление подозрительной активности

    После настройки правил аудита следующий шаг — анализ журналов и создание отчётов для выявления подозрительной активности или нарушений требований.

    1. Просмотр журналов аудита

    Журналы аудита хранятся в /var/log/audit/audit.log. Используйте команду ausearch для запросов к журналам:

    sudo ausearch -k passwd_changes
    

    Так извлекаются все события, помеченные ключевым словом passwd_changes.

    2. Создание отчётов с помощью aureport

    Инструмент aureport упрощает анализ журналов аудита, создавая понятные человеку отчёты:

    • Сводка входов/выходов пользователей:
    sudo aureport -l
    

    Этот отчёт обобщает события входа и выхода пользователей.

    • Сводка обращений к файлам:
     sudo aureport -f
    
    • Неудачные попытки входа:
     sudo aureport --failed
    

      3. Выявление подозрительной активности

      Используйте ausearch для выявления аномалий, таких как неудачные попытки входа или несанкционированные изменения файлов:

      • Неудачные попытки входа:
       sudo ausearch -m USER_LOGIN -sv no
      
      • Несанкционированный доступ к файлам:
       sudo ausearch -w /etc/passwd -sv no
      

        4. Централизация журналов аудита

        В крупномасштабных средах централизуйте журналы с помощью таких инструментов, как rsyslog или интегрируйтесь с такими платформами, как:

        • ELK Stack (Elasticsearch, Logstash, Kibana): Для расширенного анализа журналов и визуализации.
        • Splunk: Для мониторинга журналов в реальном времени и отчётности о соответствии.
        • Graylog: Для агрегации журналов и оповещений.

        Дополнительные меры безопасности для соответствия требованиям

        Помимо настройки правил аудита, внедрение дополнительных мер безопасности может ещё больше повысить соответствие требованиям:

        1. Включение мониторинга целостности файлов

        Используйте такие инструменты, как AIDE (Advanced Intrusion Detection Environment) для обнаружения несанкционированных изменений файлов:

        sudo apt install aide
        sudo aideinit
        

        Планируйте регулярные проверки целостности для обнаружения подделок.

        2. Настройка безопасного журналирования

        Убедитесь, что журналы защищены от несанкционированного доступа:

        • Ограничьте доступ к /var/log/audit/ с помощью разрешений: sudo chmod 600 /var/log/audit/audit.log

        3. Автоматизация ротации журналов

        Не допускайте чрезмерного потребления дискового пространства журналами аудита, настроив их ротацию:

        sudo nano /etc/logrotate.d/audit
        

        Пример конфигурации:

        /var/log/audit/audit.log {
            daily
            rotate 7
            compress
            missingok
            notifempty
        }
        

        4. Мониторинг производительности системы

        Правила аудита могут влиять на производительность системы. Используйте такие инструменты, как htop или top для мониторинга использования ресурсов:

        sudo apt install htop
        htop
        

        Продвинутые инструменты соответствия требованиям

        1. Автоматизированное сканирование уязвимостей

        # Install OpenSCAP  
        sudo apt install libopenscap8 ssg-debian  
        
        # Run PCI-DSS scan  
        oscap xccdf eval --profile pci-dss /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml  
        

        2. Оповещения в реальном времени с Auditd

        # Email alerts for root logins  
        -a always,exit -F arch=b64 -S execve -F euid=0 -k root_cmd -F exe=/usr/bin/mailx  
        
        

        3. Неизменяемые журналы аудита

        #Configure audit.log as append-only  
        sudo chattr +a /var/log/audit/audit.log  
        
        

        Часто задаваемые вопросы: распространённые проблемы соответствия требованиям

        В: Как долго следует хранить журналы аудита для HIPAA?
        О: Минимум 6 лет. Используйте logrotate с:

        /var/log/audit/*.log {  
          monthly  
          rotate 72  
          compress  
        }  
        
        

        В: Может ли auditd влиять на производительность сервера?
        О: Да. Отслеживайте с помощью:

        watch "grep 'auditd' /proc/slabinfo | awk '{print \$2,\$3}'"  
        
        

        В: Как доказать соответствие требованиям во время аудитов?
        О: Используйте эти команды:

        # Generate evidence package  
        tar czvf compliance-proof-$(date +%F).tar.gz \  
          /var/log/audit/ /etc/audit/ /var/lib/aide/  
        

        Контрольный список поддержания соответствия требованиям

        •  Ежемесячная проверка правил аудита:
        auditctl -l | grep -E 'pci|gdpr'
        
        •  Ежеквартальные обновления базы данных AIDE:
        aideinit && mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
        
        •  Полугодовой пересмотр правил брандмауэра:
         sudo ufw status numbered
        
        •  Ежегодный тест на проникновение:
        nikto -h yourdomain.com
        

          Для поддержания соответствия требованиям и безопасности следуйте этим рекомендациям:

          • Регулярные проверки журналов: Планируйте регулярные проверки журналов аудита для выявления аномалий и обеспечения соответствия требованиям.
          • Управление доступом на основе ролей: Ограничьте доступ к журналам аудита и конфиденциальным файлам в зависимости от ролей пользователей.
          • Автоматизированная отчётность: Используйте скрипты или инструменты для автоматизации создания отчётов аудита в соответствии с нормативными требованиями.
          • Управление исправлениями: Регулярно обновляйте сервер, чтобы устранять уязвимости и поддерживать соответствие требованиям.
          • Проверка правил аудита: Периодически проверяйте правила аудита, чтобы убедиться, что они фиксируют требуемые события, не вызывая проблем с производительностью.

          Заключение

          Аудит и соответствие требованиям необходимы для защиты серверов Ubuntu 22.04 и выполнения нормативных требований. Используя такие инструменты, как auditctl, ausearch и aureport администраторы могут настраивать правила аудита, отслеживать активность системы и создавать отчёты для обеспечения соответствия таким стандартам, как PCI-DSS, GDPR и HIPAA. Сочетание этих практик с централизованным журналированием, автоматизацией и дополнительными мерами безопасности обеспечивает надёжную и соответствующую требованиям серверную среду.

          Следите за следующей статьёй!

          В следующей части нашей серии мы погрузимся в Веб-службы и файловые службы. Наша следующая статья, «Настройка веб-сервера на Ubuntu Server» расскажет об установке и настройке Apache или Nginx для размещения веб-сайта. Мы также расскажем, как защитить ваш сайт с помощью SSL/TLS с использованием Let’s Encrypt защитить. Не пропустите!