在维护CentOS服务器时,确保Root用户登录安全是至关重要的。一个安全的Root登录可以防止未经授权的访问和潜在的安全威胁。以下是一些脚本设置指南,帮助你避免常见的Root用户登录安全漏洞。
1. 更改默认的Root登录端口
默认情况下,大多数Linux系统的Root登录端口是22。攻击者通常会扫描这个端口以尝试进行暴力破解。更改Root登录端口可以增加安全性。
# 关闭SSH服务
systemctl stop sshd
# 编辑SSH配置文件
sudo vi /etc/ssh/sshd_config
# 修改Port行
Port 2222
# 保存并退出
:wq
# 重新启动SSH服务
systemctl restart sshd
2. 使用SSH密钥认证代替密码认证
密钥认证比密码认证更安全,因为它不依赖于网络传输密码。
# 生成密钥对
ssh-keygen -t rsa
# 将公钥复制到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@your_server_ip
3. 配置SSH的暴力破解保护
可以使用fail2ban来监控SSH服务,并在检测到暴力破解时自动封锁IP。
# 安装fail2ban
sudo yum install fail2ban
# 编辑jail.local文件
sudo vi /etc/fail2ban/jail.local
# 修改或添加以下行
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 600
bantime = 3600
# 启动fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
4. 限制SSH登录的来源IP
通过编辑SSH配置文件,你可以限制哪些IP地址可以登录SSH。
# 编辑SSH配置文件
sudo vi /etc/ssh/sshd_config
# 添加或修改以下行
AllowUsers your_username@your_allowed_ip
# 保存并退出
:wq
# 重新启动SSH服务
systemctl restart sshd
5. 使用防火墙规则
确保你的防火墙规则只允许必要的端口和服务。
# 启用firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
# 添加SSH端口到防火墙规则
sudo firewall-cmd --permanent --add-port=2222/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload
6. 监控和日志分析
定期监控和检查日志可以帮助你及时发现并解决安全问题。
# 查看SSH登录日志
less /var/log/auth.log
# 安装logwatch进行日志分析
sudo yum install logwatch
# 配置logwatch
sudo vi /etc/logwatch/logwatch.conf
# 修改或添加以下行
/usr/local/bin/logwatch --output /var/log/logwatch.log
# 运行logwatch
sudo logwatch
通过遵循上述指南,你可以显著提高CentOS服务器Root用户登录的安全性。记住,网络安全是一个持续的过程,需要定期更新和维护。
