CentOS 7 防御策略与实践

CentOS 7 作为一款广泛使用的开源操作系统,因其稳定性和安全性而受到许多用户的青睐,随着网络攻击手段的不断升级,如何有效地防御针对 CentOS 7 的攻击成为了一个重要议题,本文将详细介绍 CentOS 7 的防御策略与实践,帮助用户构建一个安全稳定的系统环境。
系统更新与安全补丁
定期更新系统
定期更新系统是确保系统安全的基础,用户可以通过以下命令检查系统更新:
sudo yum update
关闭不必要的服务
关闭不必要的服务可以减少系统攻击面,以下是一些常见的服务关闭方法:
| 服务名称 | 关闭方法 |
|---|---|
| SSH | sudo systemctl stop sshd && sudo systemctl disable sshd |
| Nginx | sudo systemctl stop nginx && sudo systemctl disable nginx |
| Apache | sudo systemctl stop httpd && sudo systemctl disable httpd |
| MySQL | sudo systemctl stop mysqld && sudo systemctl disable mysqld |
防火墙配置
安装防火墙
sudo yum install firewalld
开启防火墙

sudo systemctl start firewalld sudo systemctl enable firewalld
设置防火墙规则
以下是一些常见的防火墙规则设置:
| 规则描述 | |
|---|---|
| 允许SSH访问 | sudo firewall-cmd --permanent --add-port=22/tcp |
| 允许HTTP访问 | sudo firewall-cmd --permanent --add-port=80/tcp |
| 允许HTTPS访问 | sudo firewall-cmd --permanent --add-port=443/tcp |
| 允许MySQL访问 | sudo firewall-cmd --permanent --add-port=3306/tcp |
SSH密钥认证
生成SSH密钥对
ssh-keygen -t rsa -b 2048
将公钥复制到目标服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@目标服务器IP
修改SSH配置文件
sudo vi /etc/ssh/sshd_config
在配置文件中,找到以下行并修改:
PasswordAuthentication no PermitRootLogin no
日志审计
安装日志审计工具

sudo yum install auditd
启用日志审计
sudo systemctl start auditd sudo systemctl enable auditd
配置审计规则
以下是一些常见的审计规则:
| 规则描述 | |
|---|---|
| 检查SSH登录 | auditctl -w /var/log/auth.log -p war -k ssh_login |
| 检查文件修改 | auditctl -w /var/www/html -p war -k file_modification |
| 检查进程启动 | auditctl -w /var/run -p war -k process_start |
FAQs
问:如何查看系统是否已经安装了防火墙?答: 可以使用以下命令查看系统是否已经安装了防火墙:
sudo yum list installed | grep firewalld
如果输出结果中包含
firewalld,则表示系统已经安装了防火墙。问:如何查看系统日志中的审计信息?答: 可以使用以下命令查看系统日志中的审计信息:
sudo ausearch -k ssh_login

