在CentOS系统中配置SSH端口时,有几个重要的注意事项需要考虑,以确保服务器的安全性和稳定性。以下是详细的注意事项:
1. 修改默认端口
- 原因:默认的SSH端口22是众所周知的,容易被自动化工具扫描到,增加被攻击的风险。
- 操作:编辑
/etc/ssh/sshd_config
文件,将Port
参数修改为一个非标准端口(如2222),然后重启SSH服务。sudo vi /etc/ssh/sshd_config Port 2222 sudo systemctl restart sshd
2. 配置防火墙
- 原因:防火墙可以帮助限制哪些IP地址或网络可以访问SSH端口,增加安全性。
- 操作:使用
firewalld
或iptables
配置防火墙规则,允许新端口的流量。sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent sudo firewall-cmd --reload
3. 启用密钥认证
- 原因:密钥认证比密码认证更安全,不容易被破解。
- 操作:生成SSH密钥对,并将公钥添加到
~/.ssh/authorized_keys
文件中。ssh-keygen -t rsa ssh-copy-id user@server_ip
4. 禁用root登录
- 原因:禁止root用户通过SSH登录可以减少潜在的安全风险。
- 操作:在
sshd_config
文件中设置PermitRootLogin no
。PermitRootLogin no
5. 限制访问用户
- 原因:只允许特定用户访问SSH服务可以减少未授权访问的风险。
- 操作:在
sshd_config
文件中使用AllowUsers
和DenyUsers
参数。AllowUsers user1 user2 DenyUsers user3 user4
6. 定期更新SSH软件
- 原因:及时更新SSH软件可以获得最新的安全补丁和新功能。
- 操作:使用
yum update
命令更新OpenSSH。sudo yum update openssh-server
7. 监控SSH日志
- 原因:定期检查SSH日志可以及时发现异常行为。
- 操作:定期查看
/var/log/secure
文件,监控登录尝试和成功的记录。sudo tail -f /var/log/secure
8. 配置SELinux
- 原因:SELinux可以进一步限制SSH端口的访问。
- 操作:使用
semanage
命令添加新端口到SELinux策略中。sudo semanage port -a -t ssh_port_t -p tcp 2222
9. 使用强密码和密钥口令
- 原因:强密码和密钥口令可以防止暴力破解攻击。
- 操作:为SSH密钥和用户密码设置复杂且独特的密码。
10. 定期更换SSH密钥
- 原因:定期更换SSH密钥可以减少密钥被盗用的风险。
- 操作:定期生成新的密钥对并更新
authorized_keys
文件。
通过以上配置,可以显著提高CentOS SSH服务的安全性和稳定性。务必在修改配置文件后仔细检查每一步,确保所有设置都正确无误。