网络安全审计是保障Linux系统安全的重要环节。以下是详细的配置步骤和最佳实践:
sudo apt install rsyslog # Debian/Ubuntu
sudo yum install rsyslog # RHEL/CentOS
# 编辑配置文件
sudo nano /etc/rsyslog.conf
# 添加以下内容启用远程日志
*.* @remote-log-server:514
sudo nano /etc/logrotate.conf
sudo apt install auditd # Debian/Ubuntu
sudo yum install audit # RHEL/CentOS
sudo nano /etc/audit/audit.rules
# 示例规则:
# 监控/etc/passwd文件修改
-w /etc/passwd -p wa -k passwd_changes
# 监控/etc/shadow文件访问
-w /etc/shadow -p r -k shadow_access
# 监控sudo使用
-w /usr/bin/sudo -p x -k sudo_use
sudo systemctl start auditd
sudo systemctl enable auditd
sudo apt install tcpdump # Debian/Ubuntu
sudo yum install tcpdump # RHEL/CentOS
# 监控所有网络接口
sudo tcpdump -i any
# 监控特定端口
sudo tcpdump port 22
sudo apt install wireshark # Debian/Ubuntu
sudo yum install wireshark # RHEL/CentOS
sudo apt install aide # Debian/Ubuntu
sudo yum install aide # RHEL/CentOS
# 初始化数据库
sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
# 手动检查
sudo aide --check
# 下载并安装
wget https://github.com/ossec/ossec-hids/archive/3.6.0.tar.gz
tar -xzf 3.6.0.tar.gz
cd ossec-hids-3.6.0
sudo ./install.sh
sudo apt install lynis # Debian/Ubuntu
sudo yum install lynis # RHEL/CentOS
# 运行系统审计
sudo lynis audit system
sudo apt install nmap # Debian/Ubuntu
sudo yum install nmap # RHEL/CentOS
# 扫描本地网络
sudo nmap -sS -O 192.168.1.0/24
#!/bin/bash
# 文件名: security_audit.sh
DATE=$(date +%Y%m%d)
LOG_DIR="/var/log/security_audit"
mkdir -p $LOG_DIR
# 收集系统信息
uname -a > $LOG_DIR/system_info_$DATE.log
cat /etc/os-release >> $LOG_DIR/system_info_$DATE.log
# 运行Lynis审计
lynis audit system --quick --no-colors > $LOG_DIR/lynis_$DATE.log
# 检查用户账户
cat /etc/passwd > $LOG_DIR/users_$DATE.log
cat /etc/group >> $LOG_DIR/users_$DATE.log
# 检查sudo权限
sudo -l > $LOG_DIR/sudo_$DATE.log
# 检查开放端口
netstat -tuln > $LOG_DIR/ports_$DATE.log
ss -tuln >> $LOG_DIR/ports_$DATE.log
# 检查计划任务
crontab -l > $LOG_DIR/cron_$DATE.log
ls /etc/cron* >> $LOG_DIR/cron_$DATE.log
sudo chmod +x security_audit.sh
sudo mv security_audit.sh /usr/local/bin/
# 添加到cron每周执行
sudo crontab -e
# 添加以下行
0 3 * * 1 /usr/local/bin/security_audit.sh
定期更新系统:
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo yum update # RHEL/CentOS
禁用不必要的服务:
sudo systemctl disable <service_name>
配置防火墙:
sudo ufw enable # Ubuntu
sudo firewall-cmd --permanent --add-service=ssh # RHEL/CentOS
SSH安全配置:
sudo nano /etc/ssh/sshd_config
# 修改以下参数:
PermitRootLogin no
PasswordAuthentication no
定期检查SUID/SGID文件:
sudo find / -perm -4000 -o -perm -2000 -type f -exec ls -la {} \;
通过以上配置,您可以建立一个全面的Linux网络安全审计系统,帮助您监控、检测和响应潜在的安全威胁。