SSH在CentOS上安全吗
导读:SSH在CentOS上的安全性与加固要点 总体判断 在CentOS上,SSH 本身是加密的远程登录协议,安全性取决于你的版本、配置与运维方式。默认配置存在被自动化扫描与暴力破解的风险,常见风险点包括:使用22端口、允许root直登、仅用密码...
SSH在CentOS上的安全性与加固要点
总体判断 在CentOS上,SSH 本身是加密的远程登录协议,安全性取决于你的版本、配置与运维方式。默认配置存在被自动化扫描与暴力破解的风险,常见风险点包括:使用22端口、允许root直登、仅用密码认证、失败尝试次数过多、空闲会话不超时等。通过系统更新、禁用不安全协议、强化认证与访问控制、开启日志与监控等措施,可将风险显著降低。
快速加固清单
- 保持软件更新:及时更新OpenSSH/系统补丁,修复已知漏洞。
- 禁用不安全协议:仅启用SSH-2(现代系统通常默认如此)。
- 修改默认端口:将Port 22改为非标准端口(如2222),并同步更新防火墙/云安全组规则。
- 禁止 root 直登:设置PermitRootLogin no,通过普通用户+sudo执行管理。
- 采用密钥登录:优先使用Ed25519或RSA 4096密钥,必要时禁用密码认证(PasswordAuthentication no)。
- 限制登录来源:用firewalld/iptables或云安全组仅放行可信网段/IP。
- 失败与并发控制:设置MaxAuthTries 3–5、LoginGraceTime 60–120,降低暴力破解与占用会话风险。
- 会话超时:配置ClientAliveInterval 300与ClientAliveCountMax 3,自动断开空闲会话。
- 登录用户白名单:使用AllowUsers/AllowGroups仅允许指定账户/组。
- 日志与监控:集中记录**/var/log/secure**,并用fail2ban等工具自动封禁恶意IP。
- 可选增强:启用**双因素认证(2FA)**提升账户安全。
以上做法能覆盖大多数常见攻击面,建议按业务可用性分阶段实施。
关键配置示例
- 修改端口与协议(/etc/ssh/sshd_config)
- Port 2222
- Protocol 2
- 认证与登录限制
- PermitRootLogin no
- PubkeyAuthentication yes
- PasswordAuthentication no(在确认密钥可用后再关闭)
- MaxAuthTries 3
- LoginGraceTime 120
- AllowUsers alice bob
- 会话与日志
- ClientAliveInterval 300
- ClientAliveCountMax 3
- LogLevel VERBOSE
- 应用与验证
- 重启服务:systemctl restart sshd
- 防火墙放行新端口:firewall-cmd --permanent --add-port=2222/tcp & & firewall-cmd --reload
- 监听验证:ss -tnlp | grep 2222
- 连接测试:ssh user@host -p 2222
上述为常用且有效的参数组合,修改前请保留一个已验证可用的控制台/带外通道,避免锁死。
常见陷阱与排查
- SELinux 端口限制:在CentOS/RHEL上修改端口后,需确保 SELinux 允许新端口,例如:semanage port -a -t ssh_port_t -p tcp 2222;若未安装工具可先安装 policycoreutils。
- 云环境规则同步:更换端口后,务必在云厂商安全组/NACL放行新端口,否则将无法远程连接。
- 连接被拒或异常:检查**/var/log/secure**认证日志、当前监听端口(ss/ netstat)、以及防火墙/安全组策略是否一致。
- 可用性优先:先完成密钥部署与白名单验证,再禁用密码;必要时分阶段启用MaxAuthTries/ClientAlive等策略,避免误伤生产会话。
以上问题在变更端口、限制登录与策略收紧时最常见,提前验证可降低运维风险。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SSH在CentOS上安全吗
本文地址: https://pptw.com/jishu/776561.html
