CentOS 7.6 系统维护与安全加固实战指南
一、系统更新与补丁管理
bash复制# 更新所有软件包并清理旧内核
sudo yum update -y && package-cleanup --oldkernels --count=1
# 启用自动安全更新
sudo yum install -y yum-cron
sudo sed -i 's/apply_updates = no/apply_updates = yes/' /etc/yum/yum-cron.conf
systemctl enable yum-cron && systemctl start yum-cron
验证:rpm -q kernel | wc -l
应只显示2个内核版本
二、SSH服务深度加固
bash复制# 修改配置文件 /etc/ssh/sshd_config
Port 58234 # 更换非标准端口
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
ClientAliveInterval 300
# 生成ED25519密钥对(客户端操作)
ssh-keygen -t ed25519 -a 100
# 部署公钥到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 58234 user@your_server_ip
# 重启服务
systemctl restart sshd
生效验证:ssh -p 58234 -i ~/.ssh/id_ed25519 user@your_server_ip
三、防火墙策略强化
bash复制# 启用firewalld
systemctl enable firewalld --now
# 基础规则配置
firewall-cmd --permanent --add-port=58234/tcp # SSH新端口
firewall-cmd --permanent --remove-service=dhcpv6-client
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="3306" protocol="tcp" accept'
# 防端口扫描规则
firewall-cmd --permanent --add-rich-rule='rule protocol value="icmp" reject'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port port="1-1024" protocol="tcp" drop'
firewall-cmd --reload
策略检查:firewall-cmd --list-all
四、SELinux策略优化
bash复制# 确保处于强制模式
sudo setenforce 1
sed -i 's/SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config
# 常用策略调整
setsebool -P httpd_can_network_connect_db 1
semanage port -a -t http_port_t -p tcp 8080
# 生成自定义模块
audit2allow -a -M mypolicy
semodule -i mypolicy.pp
日志监控:tail -f /var/log/audit/audit.log | grep AVC
五、内核安全参数调优
bash复制# 编辑/etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
kernel.kptr_restrict = 2
vm.swappiness = 10
# 防SYN Flood攻击
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 2
# 生效配置
sysctl -p
检查项:sysctl -a | grep syn_backlog
六、入侵检测系统部署
bash复制# 安装AIDE
sudo yum install -y aide
# 初始化数据库
aide --init
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
# 每日自动校验
echo "0 3 * * * /usr/sbin/aide --check" | sudo tee -a /etc/crontab
手动检测:aide --check | mail -s "AIDE报告" admin@example.com
七、账户安全策略
bash复制# 密码策略
sudo sed -i 's/PASS_MIN_DAYS.*/PASS_MIN_DAYS 7/' /etc/login.defs
sudo sed -i 's/PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/' /etc/login.defs
# 锁定闲置账户
awk -F: '($2 == "") {print $1}' /etc/shadow | xargs -I {} passwd -l {}
# 创建审计账户
useradd -r -s /sbin/nologin auditadmin
usermod -aG wheel auditadmin
检查命令:chage -l [用户名]
八、服务与进程管控
bash复制# 禁用危险服务
systemctl disable avahi-daemon cups bluetooth
# 检查异常进程
ps aux | awk '{print $11}' | sort | uniq -c | sort -rn
# 限制SUID权限
find / -perm /4000 -exec chmod u-s {} \;
风险服务列表:systemctl list-unit-files | grep enabled
九、日志集中化管理
bash复制# 配置rsyslog远程传输
echo "*.* @192.168.1.100:514" > /etc/rsyslog.d/remote.conf
# 日志轮转策略
sudo cp /etc/logrotate.conf /etc/logrotate.conf.bak
sed -i 's/rotate 4/rotate 12/' /etc/logrotate.conf
# 启用实时监控
yum install -y epel-release
yum install -y multitail
multitail -s 2 /var/log/messages /var/log/secure
快速检索:journalctl -u sshd --since "2024-01-01" --until "2024-01-02"
十、备份与恢复策略
bash复制# 创建全量备份
tar -czvpPf /backup/full_$(date +%F).tar.gz \
--exclude=/backup \
--exclude=/proc \
--exclude=/sys \
/
# 配置rsync增量备份
rsync -avz --delete /重要目录/ backup@remote:/storage/
恢复验证:tar -tf /backup/full_2024-01-01.tar.gz | grep etc/passwd
加固效果验证工具:
- 使用Lynis审计:
lynis audit system
- Nmap端口扫描测试:
nmap -Pn -sS -p- your_server_ip
- 安全基线检查:
openscap oval eval --results /tmp/result.xml --report /tmp/report.html /usr/share/oval/scap-security-guide-oval.xml
注:所有高危操作前请执行sudo tar -cvf /backup/etc.tar.gz /etc
备份配置文件。建议每月执行yum update --security
专项安全更新。
感谢您的来访,获取更多精彩文章请收藏。

THE END