В любой продвинутой системе администрирования важнейшая задача - контроль за правами пользователей. Добавление в группу sudo, изменение состава wheel, docker или других критичных групп может дать пользователю слишком много полномочий. И если такие изменения проходят незамеченными - это уже уязвимость. Разберемся, как отслеживать такие события в Linux.
1️⃣ Мониторинг файла /etc/sudoers и его include-директории. Файл sudoers и его конфиги в /etc/sudoers.d/ содержат правила доступа к sudo. Для мониторинга можно использовать:
▪️ auditd (если включен):
auditctl -w /etc/sudoers -p wa -k sudoers-change
auditctl -w /etc/sudoers.d/ -p wa -k sudoers-include
Потом смотрим:
ausearch -k sudoers-change
ausearch -k sudoers-include
▪️ inotify с помощью inotifywait:
inotifywait -m /etc/sudoers /etc/sudoers.d/ -e modify,create,delete
2️⃣ Контроль изменений групп и пользователей. Изменения групп (/etc/group) и паролей (/etc/passwd, /etc/shadow) тоже критичны. Подключаем auditd:
auditctl -w /etc/group -p wa -k group-change
auditctl -w /etc/gshadow -p wa -k group-shadow
И проверяем, кто добавлен в sudo:
grep sudo /etc/group
3️⃣ Логируем команды изменения групп. Изменения через usermod, gpasswd, adduser, deluser удобно отслеживать через auditd:
auditctl -a always,exit -F arch=b64 -S usermod -S groupadd -S groupdel -S gpasswd -k group-admin
4️⃣ Альтернатива - logwatch или ossec. Можно настроить инструменты централизованного логирования и получать уведомления при любых изменениях состава групп или конфигураций sudo. Например: Logwatch, OSSEC, Wazuh, Tripwire.
#linux #security
🧑💻 NetworkAdmin