debian

Debian日志安全设置怎样做

小樊
58
2025-09-27 05:47:18
栏目: 智能运维

1. 配置日志权限与所有权
确保日志文件的访问权限严格受限,防止未授权修改或读取。使用chown将日志文件所有者设为root,组设为adm(或自定义的syslog组);通过chmod设置权限为640(所有者可读写,组成员可读,其他用户无权限)。例如:

sudo chown root:adm /var/log/syslog
sudo chmod 640 /var/log/syslog

若需更细粒度控制,可使用setfacl为特定用户或组添加权限(如允许admin用户读取):

sudo setfacl -m u:admin:r /var/log/syslog

2. 优化日志轮转策略
使用logrotate工具自动管理日志文件大小和数量,避免日志过大占用磁盘空间或泄露历史信息。编辑/etc/logrotate.d/rsyslog(或对应服务的配置文件),设置每日轮转、保留7天、压缩旧日志、空日志不轮转,并创建新日志时继承正确权限:

/var/log/syslog {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 640 root adm
}

3. 强化日志传输安全
若需将日志发送到远程服务器,优先使用加密协议(如TLS)防止中间人攻击。以rsyslog为例,在/etc/rsyslog.conf中添加加密传输配置:

# 加载TLS模块
module(load="imtcp")
module(load="omfwd")
# 配置远程服务器(TCP+TLS)
action(type="omfwd" target="remote.syslog.server" port="6514" protocol="tcp" tls="on" tls.caCert="/path/to/ca.crt")

或在logrotate中配置加密压缩:

/var/log/myapp/*.log {
    daily
    rotate 7
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
        /usr/bin/gpg --encrypt --recipient "log_receiver@example.com" /var/log/myapp/*.log.1
    endscript
}

4. 启用集中式日志审计
使用auditd(Linux审计框架)记录关键系统事件(如用户登录、文件访问、命令执行),提升日志的可信度和可追溯性。安装并配置auditd

sudo apt install auditd

添加审计规则(示例:记录所有sudo命令、root用户活动、失败登录):

# 记录sudo命令
-a always,exit -F arch=b64 -S sudo -k perm_mod
# 记录root用户活动
-a always,exit -F euid=0 -k root_activities
# 记录失败登录尝试
-w /var/log/faillog -p wa -k logins

加载规则并重启服务:

sudo augenrules --load
sudo systemctl restart auditd

使用ausearch(搜索日志)、aureport(生成报告)分析审计日志:

sudo ausearch -k perm_mod  # 查找sudo命令记录
sudo aureport --summary     # 生成安全事件摘要

5. 监控与实时告警
通过工具实时监控日志文件,及时发现异常行为(如大量失败登录、未授权访问)。使用journalctl(systemd系统)实时查看日志:

sudo journalctl -f -u rsyslog  # 实时跟踪rsyslog日志

或使用fail2ban自动封禁恶意IP(如针对SSH失败登录):

sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# 启用SSH防护
sudo sed -i 's/^#enabled = false/enabled = true/' /etc/fail2ban/jail.local
sudo systemctl restart fail2ban

对于企业级监控,可将日志集成到ELK Stack(Elasticsearch+Logstash+Kibana)或Splunk,实现可视化分析和告警。

6. 系统与服务加固

0
看了该问题的人还看了