概述
SSH(Secure Shell)是Linux云服务器最常用的远程管理协议,也是黑客攻击的重点目标。据统计,暴露在公网的SSH服务每天都会遭遇大量自动化暴力破解尝试。京东云提供了从身份认证、网络访问控制到入侵检测的多层次SSH安全管理能力。本文将从身份认证、网络访问控制、入侵防护和系统加固四个维度,系统阐述京东云服务器SSH安全管理方案。
一、身份认证层:SSH密钥替代密码登录
密码登录存在被暴力破解、撞库等风险。京东云推荐使用SSH密钥对方式进行身份认证。
1.1 SSH密钥认证原理
SSH密钥登录采用非对称加密算法生成一对密钥:公钥和私钥。公钥存储在京东云服务器上,私钥由用户在本地妥善保管。登录时,服务器用公钥加密挑战信息,客户端用私钥解密后返回,完成身份验证。
SSH密钥登录相比密码登录具有以下优势:
-
安全性更高:密钥对采用非对称加密算法,安全强度远超密码,可有效避免暴力破解;
-
便捷性更强:实现一键远程登录Linux实例,无需每次输入密码。
1.2 在京东云创建和管理SSH密钥
创建密钥:登录京东云控制台,进入轻量云主机SSH密钥菜单,点击“创建”。填写密钥名称后,可选择两种创建方式:
-
创建新密钥对:系统自动生成密钥对,公钥保存在京东云,私钥自动下载至本地。注意:私钥仅有一次下载机会,京东云不会留存,请务必妥善保存。
-
使用已有公钥:将本地已有的公钥文件上传至京东云。
绑定密钥:在实例列表中选择需要绑定的Linux实例,点击“更多-绑定密钥”。绑定时可选择是否禁用SSH密码登录。绑定后须启动(停止状态)或重启(运行状态)实例方可生效。每个实例仅支持绑定一个平台管理的密钥。
1.3 手动配置SSH密钥登录(适用于自定义镜像)
对于自行配置的云主机,可按以下步骤完成密钥登录配置:
-
在服务器上生成密钥对:
ssh-keygen -t rsa -f ~/.ssh/密钥名称 -
将公钥导入认证文件:
cat ~/.ssh/密钥名称.pub >> ~/.ssh/authorized_keys -
设置认证文件权限:
chmod 400 ~/.ssh/authorized_keys -
编辑SSH配置文件
/etc/ssh/sshd_config,开启以下配置:-
PubkeyAuthentication yes—— 开启密钥认证 -
PasswordAuthentication no—— 关闭密码认证(强烈建议)
-
-
重启SSH服务使配置生效
二、网络访问控制层:安全组精细化管控
安全组是京东云提供的分布式虚拟防火墙,通过配置出入站规则对云主机的网络流量进行安全过滤。
2.1 SSH安全组配置原则
京东云默认提供Linux安全组模板,入站规则仅开放SSH的TCP 22端口。在此基础上,建议遵循以下原则:
-
最小授权原则:仅开放必要的端口和服务;
-
限制源IP:不随意使用
0.0.0.0/0,应仅允许受信任的IP地址段访问; -
分层隔离:为不同业务层(Web、数据库、缓存等)配置不同的安全组。
2.2 安全组配置操作步骤
-
登录京东云控制台,选择“弹性计算 → 云主机CVM → 安全组”;
-
点击“创建”,选择地域和私有网络;
-
添加入站规则,开放SSH端口;
| 规则方向 | 类型 | 协议 | 目标端口 | 源IP | 策略 |
|---|---|---|---|---|---|
| 入站 | SSH | TCP | 22(或自定义端口) | 您的管理IP(如1.2.3.4/32) | 接受 |
重要提醒:如果修改了SSH默认端口,务必同时在安全组中放行新端口。
2.3 修改SSH默认端口
将SSH默认端口22改为其他高位端口,可有效减少自动化扫描和暴力破解攻击:
-
编辑
/etc/ssh/sshd_config,修改Port参数为自定义端口(如Port 2222); -
重启SSH服务;
-
在京东云控制台安全组中放行新端口。
三、入侵防护层:防暴力破解与安全监控
京东云主机安全服务提供了完善的防暴力破解能力。
3.1 防暴力破解策略配置
-
登录京东云控制台,进入“主机安全 → 风险发现 → 暴力破解”;
-
点击“防护设置”,进入策略中心;
-
开启SSH暴力破解防护功能;
-
配置防护规则:设置时间窗口、失败次数阈值和封锁时长。
京东云提供默认防暴力破解策略:同一IP在300秒内登录失败超过5次,禁止登录30秒。用户也可根据业务需求自定义更严格的策略。
3.2 告警与处置
-
企业版及旗舰版用户可对暴力破解告警进行处置操作;
-
基础版用户可查看监控告警;
-
支持将可信IP加入白名单,免除防护策略限制。
3.3 SSH服务层安全加固
在SSH服务配置层面,建议进行以下加固:
-
限制登录尝试次数:配置
MaxAuthTries参数,限制单次连接的最大认证尝试次数; -
禁用Root直接登录:配置
PermitRootLogin no,使用普通用户登录后再切换root; -
配置登录超时:设置
ClientAliveInterval和ClientAliveCountMax,避免闲置连接占用资源。
四、系统层安全加固
4.1 账户与权限管理
-
当需要对同一组实例进行多账户管理时,可使用京东云访问控制(IAM)服务进行精细化的权限管理;
-
定期审查服务器用户账户,移除不必要的账号和授权。
4.2 系统与软件更新
-
Linux系统应设置定期任务执行
yum update -y(CentOS系)或apt update && apt upgrade -y(Ubuntu系),及时更新系统软件包及内核; -
关注京东云发布的安全公告和漏洞修复建议。
4.3 网络隔离
-
使用京东云私有网络(VPC)进行逻辑区划分;
-
不同业务属性的实例部署在不同子网,通过网络ACL实现子网间的访问控制。
五、安全管理方案总结
京东云服务器SSH安全管理可归纳为以下四个层次:
| 安全层次 | 核心措施 | 关键操作 |
|---|---|---|
| 身份认证 | SSH密钥登录 | 创建密钥对、绑定实例、禁用密码登录 |
| 网络访问控制 | 安全组规则 | 限制源IP、最小化端口开放、修改默认端口 |
| 入侵防护 | 防暴力破解 | 开启防护策略、配置拦截规则、监控告警 |
| 系统加固 | 服务与权限加固 | 禁用root登录、定期更新、VPC隔离 |
核心原则:密钥替代密码、端口最小开放、IP严格管控、监控及时响应。通过以上多层次安全措施的协同配合,可大幅降低SSH服务被攻击的风险,保障京东云服务器的安全运行。