使用inotify提升Ubuntu系统安全可从以下方面入手:
实时监控关键文件/目录
用inotifywait
监控敏感文件(如/etc/passwd
、/etc/shadow
)和重要目录(如/var/log/
、/usr/bin/
),检测未授权的创建、修改、删除操作。
sudo apt-get install inotify-tools # 安装工具
inotifywait -m -r -e create,modify,delete /path/to/monitor # 递归监控目录
入侵检测与告警
结合脚本分析监控事件,识别异常行为(如短时间内大量文件修改),触发邮件告警或自动隔离。
# 示例:检测到异常文件创建时发送邮件
inotifywait -m -e create /tmp | while read file; do
echo "异常文件创建: $file" | mail -s "安全告警" admin@example.com
done
自动化响应与修复
编写脚本在检测到安全事件时自动执行操作,如备份被修改的配置文件、重启服务或阻断网络连接。
# 示例:文件被修改时自动备份
inotifywait -m -e modify /etc/nginx/nginx.conf | while read file; do
cp $file /backup/nginx.conf.$(date +%F_%T)
done
日志监控与审计
监控日志文件(如/var/log/auth.log
)的变更,实时分析登录尝试、权限变更等操作,便于追踪安全事件。
资源限制与优化
调整内核参数(/proc/sys/fs/inotify/
)限制监控范围,避免资源耗尽,如设置max_user_watches
控制可监控的文件数量。
注意:需根据实际需求合理配置监控范围,避免过度监控影响系统性能,同时确保监控脚本本身的安全性。