在当今网络安全日益严峻的背景下,保障服务器安全显得尤为重要。CentOS 7作为一款广泛使用的Linux操作系统,其安全性直接关系到企业的信息安全。本文将带你通过Shell脚本实战,轻松提升CentOS 7服务器的安全防护能力。
一、了解Shell脚本
Shell脚本是一种文本文件,其中包含了一系列命令,这些命令可以用来执行各种任务,如自动化部署、系统监控、日志管理等。Shell脚本具有高效、灵活、易于编写和调试的特点,非常适合用于系统安全加固。
二、Shell脚本安全加固实战
1. 限制root用户登录
目标:禁止root用户通过SSH登录,强制使用普通用户登录,并通过sudo执行管理员命令。
步骤:
- 修改SSH配置文件
/etc/ssh/sshd_config,添加以下内容:
PermitRootLogin no
- 重启SSH服务:
systemctl restart sshd
2. 设置密码策略
目标:加强密码复杂度,提高密码安全性。
步骤:
- 修改
/etc/login.defs文件,设置以下参数:
PASS_MIN_LEN 8
PASS_MAX_DAYS 90
PASS_WARN_AGE 7
- 修改
/etc/pam.d/common-password文件,添加以下内容:
password requisite pam_pwquality.so retry=3 minlen=8 difok=3
3. 关闭不必要的服务
目标:关闭系统自带的非必要服务,减少攻击面。
步骤:
- 查看系统自带的可用服务:
systemctl list-unit-files --type=service
- 关闭不必要的服务:
systemctl stop <服务名>
systemctl disable <服务名>
4. 定期更新系统
目标:确保系统软件包保持最新,修复已知的安全漏洞。
步骤:
- 定期运行以下命令更新系统:
yum update
- 安装安全漏洞扫描工具,如
nmap、nebula等,定期进行安全扫描。
5. 使用防火墙
目标:利用防火墙限制访问,提高系统安全性。
步骤:
- 安装防火墙软件,如
iptables或firewalld:
yum install firewalld
- 配置防火墙规则,允许必要的端口访问,拒绝其他访问:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
firewall-cmd --reload
6. 使用SSH密钥认证
目标:使用SSH密钥认证代替密码认证,提高安全性。
步骤:
- 生成SSH密钥对:
ssh-keygen -t rsa -b 2048
- 将公钥复制到目标服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@目标服务器IP
- 修改SSH配置文件,禁用密码认证:
sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd
三、总结
通过以上Shell脚本实战,我们可以轻松提升CentOS 7服务器的安全防护能力。在实际应用中,请根据实际情况调整脚本内容,确保系统安全稳定运行。同时,定期进行安全检查和更新,以确保服务器始终处于最佳安全状态。
