Даже если у вас настроены права доступа на конфиги (
/etc/shadow, /etc/ssh/sshd_config, /etc/fstab), это не исключает попыток обхода через эксплойты или скомпрометированные процессы. Решение: AppArmor + аудит + реакция.1️⃣ Базовый профиль AppArmor. Пример для блокировки доступа к
sshd_config сторонними процессами:
# /etc/apparmor.d/usr.local.block-ssh-access
#include <tunables/global>
/usr/local/bin/* {
deny /etc/ssh/sshd_config r,
}
Разрешаем запуск всего в
/usr/local/bin, но явно запрещаем доступ к sshd_config.▪️ Активация профиля
sudo apparmor_parser -r /etc/apparmor.d/usr.local.block-ssh-access
Профиль будет применен сразу.
Проверка:
aa-status
2️⃣ Анализ логов AppArmor. Все попытки нарушения будут фиксироваться в
dmesg или /var/log/kern.log / /var/log/syslog:Пример:
audit: type=1400 audit(…): apparmor="DENIED" operation="open" profile="/usr/local/bin/myscript" name="/etc/ssh/sshd_config"
3️⃣ Скрипт для анализа и алерта
#!/bin/bash
LOG="/var/log/syslog"
ALERT="/var/log/apparmor_violations.log"
grep "apparmor=\"DENIED\"" "$LOG" | grep "/etc/ssh/sshd_config" >> "$ALERT"
if [[ -s $ALERT ]]; then
echo "[ALERT] Попытка доступа к sshd_config:"
cat "$ALERT"
> "$ALERT" # Очистка после отчёта
fi
Можно запустить через cron или systemd-timer.
❓ Зачем это нужно:
📍 Ужесточение защиты конфигов от неожиданных процессов;
📍 Мониторинг попыток обхода прав через утилиты;
📍 Интеграция с TG или почтой для оповещений
BashTex 📱 #bash #security