插件窝 干货文章 如何在Linux上配置高可用的网络安全审计

如何在Linux上配置高可用的网络安全审计

配置 sudo 服务器 审计 779    来源:    2025-04-15

Linux高可用网络安全审计配置指南

一、系统架构设计

1. 高可用架构

  • 主从模式:部署主审计服务器和至少一个从服务器
  • 负载均衡:使用HAProxy或Nginx实现流量分发
  • 数据同步:配置实时数据同步机制(如rsync+inotify或DRBD)

2. 推荐组件

主审计服务器 → 从服务器1 → 从服务器2
      ↑               ↑
  负载均衡器      数据同步
      ↑
  网络设备/服务器

二、核心组件安装与配置

1. 审计工具选择与安装

# 安装基础审计工具
sudo apt-get install auditd audispd-plugins  # Debian/Ubuntu
sudo yum install audit audispd-plugins      # RHEL/CentOS

# 安装网络监控工具
sudo apt-get install suricata ossec-hids
sudo yum install suricata ossec-hids

# 安装日志集中管理工具
sudo apt-get install rsyslog elasticsearch kibana filebeat

2. Auditd 高级配置

编辑 /etc/audit/auditd.conf:

# 高可用相关配置
name_format = hostname
max_log_file_action = keep_logs
num_logs = 5
space_left = 100
space_left_action = email
action_mail_acct = root
admin_space_left = 50
admin_space_left_action = halt

3. 审计规则配置

编辑 /etc/audit/rules.d/audit.rules:

# 监控关键系统调用
-a always,exit -F arch=b64 -S execve -k process_execution
-a always,exit -F arch=b32 -S execve -k process_execution

# 监控文件访问
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/sudoers -p wa -k identity

# 监控网络配置
-w /etc/hosts -p wa -k network_mod
-w /etc/sysconfig/network-scripts/ -p wa -k network_mod

三、高可用实现方案

1. 使用Rsyslog实现日志高可用

配置主服务器(/etc/rsyslog.conf):

module(load="imuxsock") 
module(load="imjournal") 
module(load="omelasticsearch")

# 转发到从服务器
*.* @@backup-server:514

# 本地ES存储
template(name="json-template" type="list") {
    property(name="$!timestamp" outname="@timestamp")
    property(name="$!hostname" outname="host")
    property(name="$!syslogtag" outname="tag")
    property(name="$!msg" outname="message")
}

action(type="omelasticsearch" server="localhost" template="json-template")

2. 使用Keepalived实现VIP高可用

安装配置:

sudo apt-get install keepalived

配置 /etc/keepalived/keepalived.conf:

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass yourpassword
    }
    virtual_ipaddress {
        192.168.1.100/24
    }
}

四、安全加固措施

1. 审计日志保护

# 设置审计日志权限
chmod 600 /var/log/audit/audit.log
chown root:root /var/log/audit/audit.log

# 配置日志轮转
sudo vi /etc/logrotate.d/audit

2. 网络通信加密

# 配置SSH证书认证
sudo vi /etc/ssh/sshd_config
# 添加:
Protocol 2
PermitRootLogin no
PasswordAuthentication no

五、监控与告警

1. 配置实时告警

# 安装并配置OSSEC
sudo /var/ossec/bin/manage_agents
sudo /var/ossec/bin/ossec-control start

# 配置邮件告警
sudo vi /var/ossec/etc/ossec.conf

2. 使用ELK Stack可视化

配置Kibana: 1. 访问 http://your-server:5601 2. 创建审计日志仪表板 3. 设置异常检测规则

六、测试与验证

1. 功能测试

# 生成测试审计事件
sudo ausearch -k process_execution
sudo aureport --summary

# 测试日志转发
logger "HA Audit Test Message"

2. 高可用测试

# 模拟主服务器故障
sudo systemctl stop auditd
# 验证从服务器接管情况

# 测试VIP切换
sudo systemctl stop keepalived

七、维护与优化

1. 定期维护任务

# 检查审计服务状态
sudo auditctl -s
sudo ausearch --checkpoint

# 清理旧日志
sudo find /var/log/audit/ -type f -mtime +30 -delete

2. 性能优化

# 调整内核参数
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216

# 优化ES性能
sudo vi /etc/elasticsearch/jvm.options

通过以上配置,您可以建立一个高可用的Linux网络安全审计系统,能够持续监控系统活动,并在主服务器故障时自动切换到备用服务器,确保审计数据的完整性和连续性。