​CentOS 7.6 系统维护与安全加固实战指南


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


加固效果验证工具

  1. 使用Lynis审计:lynis audit system
  2. Nmap端口扫描测试:nmap -Pn -sS -p- your_server_ip
  3. 安全基线检查: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
点赞11 分享