本文详细介绍了如何修改SSH默认端口以增强服务器安全性,并提供了一系列实用的SSH安全加固建议,包括密钥认证、防火墙配置和Fail2Ban部署等,帮助管理员有效降低SSH服务被攻击的风险。
SSH(Secure Shell)是Linux系统管理员最常用的远程管理协议,但默认的22端口也成为黑客攻击的主要目标。通过修改默认端口并实施安全加固措施,可以显著降低服务器被暴力破解的风险。
一、为什么要修改SSH默认端口
根据网络安全统计,超过80%的自动化攻击脚本会首先扫描22端口。修改默认端口可以:
- 减少自动化攻击尝试
- 降低服务器日志噪音
- 增加攻击者探测难度
二、修改SSH默认端口步骤
以下是CentOS/Ubuntu系统修改SSH端口的详细步骤:
1. 编辑SSH配置文件
sudo vi /etc/ssh/sshd_config
2. 找到并修改Port参数(建议使用1024-65535之间的端口)
Port 49234
3. 保存文件后重启SSH服务
CentOS/RHEL
sudo systemctl restart sshd
Ubuntu/Debian
sudo service ssh restart
重要提示:修改前请确保新端口未被占用,并在防火墙中开放该端口。
三、SSH安全加固建议
1. 禁用密码认证,使用密钥登录
在sshd_config中添加
PasswordAuthentication no
PubkeyAuthentication yes
2. 限制root用户直接登录
PermitRootLogin no
3. 配置防火墙规则
仅允许特定IP访问SSH
sudo iptables -A INPUT -p tcp --dport 49234 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 49234 -j DROP
4. 安装Fail2Ban防御暴力破解
sudo apt install fail2ban Debian/Ubuntu
sudo yum install fail2ban CentOS/RHEL
5. 定期更新SSH服务
保持SSH服务为最新版本,及时修复已知漏洞:
sudo apt update && sudo apt upgrade openssh-server Debian/Ubuntu
sudo yum update openssh-server CentOS/RHEL
四、修改后的验证步骤
- 在新终端中使用新端口测试连接:
ssh -p 49234 username@server_ip
- 确认连接成功后,再关闭原22端口的监听
- 使用
netstat -tuln | grep 49234
验证端口监听状态
通过以上措施,您的SSH服务安全性将得到显著提升。建议定期审查SSH日志(/var/log/auth.log
或/var/log/secure
)监控异常登录尝试。
评论