主审计服务器 → 从服务器1 → 从服务器2
↑ ↑
负载均衡器 数据同步
↑
网络设备/服务器
# 安装基础审计工具
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
编辑 /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
编辑 /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
配置主服务器(/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")
安装配置:
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
}
}
# 设置审计日志权限
chmod 600 /var/log/audit/audit.log
chown root:root /var/log/audit/audit.log
# 配置日志轮转
sudo vi /etc/logrotate.d/audit
# 配置SSH证书认证
sudo vi /etc/ssh/sshd_config
# 添加:
Protocol 2
PermitRootLogin no
PasswordAuthentication no
# 安装并配置OSSEC
sudo /var/ossec/bin/manage_agents
sudo /var/ossec/bin/ossec-control start
# 配置邮件告警
sudo vi /var/ossec/etc/ossec.conf
配置Kibana:
1. 访问 http://your-server:5601
2. 创建审计日志仪表板
3. 设置异常检测规则
# 生成测试审计事件
sudo ausearch -k process_execution
sudo aureport --summary
# 测试日志转发
logger "HA Audit Test Message"
# 模拟主服务器故障
sudo systemctl stop auditd
# 验证从服务器接管情况
# 测试VIP切换
sudo systemctl stop keepalived
# 检查审计服务状态
sudo auditctl -s
sudo ausearch --checkpoint
# 清理旧日志
sudo find /var/log/audit/ -type f -mtime +30 -delete
# 调整内核参数
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
# 优化ES性能
sudo vi /etc/elasticsearch/jvm.options
通过以上配置,您可以建立一个高可用的Linux网络安全审计系统,能够持续监控系统活动,并在主服务器故障时自动切换到备用服务器,确保审计数据的完整性和连续性。