很多团队给 EC2 配置安全组时会习惯性地加入一条0.0.0.0/0 - TCP 22然后再依赖强密码、改端口或 Fail2ban。问题是只要 22 端口对公网可达扫描、爆破和密钥管理就一直存在更换员工、外包交接和跳板机维护也会增加运维负担。这篇文章给出一套可验证、可回滚的改造方案使用 AWS Systems Manager Session Manager 管理 EC2确认链路可用后删除 22 端口入站规则再把实例元数据服务切换为 IMDSv2。最终目标不是“绝对安全”而是减少公网暴露面把访问授权收敛到 IAM并保留审计与故障恢复能力。适用范围Amazon Linux、Ubuntu 等已受 AWS Systems Manager 支持的 EC2命令以 AWS CLI v2 和 Bash 为例。生产环境先在测试实例验证尤其不要在 Session Manager 尚未连通时删除 SSH 入口。一、先把事实说清楚根据 AWS 官方文档Session Manager 可以通过浏览器或 AWS CLI 建立交互式会话不需要开放入站端口也不需要维护堡垒机或 SSH 密钥。访问控制由 IAM 完成。受管节点需要运行 SSM Agent、具备实例角色权限并能通过 HTTPS 访问 Systems Manager 所需服务端点没有公网出口的私有子网可使用 VPC Interface Endpoint。IMDSv2 与 Session Manager 解决的是不同问题Session Manager减少管理入口的公网暴露并集中管理“谁能连哪台机器”IMDSv2访问实例元数据前必须先取得会话令牌降低无令牌元数据请求带来的风险安全组与主机防火墙继续负责业务端口的网络边界CloudTrail、Session Manager 日志配置负责访问事件和会话审计。二、改造前检查满足四个前提准备以下变量exportAWS_REGIONap-southeast-1exportINSTANCE_IDi-0123456789abcdef0exportROLE_NAMEEC2-SSM-Core-RoleexportPROFILE_NAMEEC2-SSM-Core-Profile先确认本地身份和目标实例防止操作错账号或区域aws sts get-caller-identity aws ec2 describe-instances\--region$AWS_REGION\--instance-ids$INSTANCE_ID\--queryReservations[0].Instances[0].{State:State.Name,VpcId:VpcId,SubnetId:SubnetId,PrivateIp:PrivateIpAddress,Iam:IamInstanceProfile.Arn}检查清单实例处于running操作者有创建/附加 IAM 角色、修改 EC2 与启动 SSM 会话的权限实例能够出站访问 Systems Manager 服务通常需要 TCP 443当前 SSH 会话暂时保留用作回滚通道。事实边界具体服务端点随区域和代理版本存在差异应以 AWS 的 Session Manager prerequisites 页面及所在区域的服务端点为准。不要为了省事给实例添加与业务无关的宽泛 IAM 权限。三、创建最小可用的 EC2 实例角色3.1 创建信任策略保存为ec2-trust-policy.json{Version:2012-10-17,Statement:[{Effect:Allow,Principal:{Service:ec2.amazonaws.com},Action:sts:AssumeRole}]}创建角色并附加 AWS 托管策略aws iam create-role\--role-name$ROLE_NAME\--assume-role-policy-document file://ec2-trust-policy.json aws iam attach-role-policy\--role-name$ROLE_NAME\--policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore aws iam create-instance-profile\--instance-profile-name$PROFILE_NAMEaws iam add-role-to-instance-profile\--instance-profile-name$PROFILE_NAME\--role-name$ROLE_NAMEAmazonSSMManagedInstanceCore是供 EC2 角色使用的 AWS 托管策略提供 Systems Manager 核心功能所需权限。它不是给日常人员登录使用的用户权限策略也不应附加给 IAM 用户来“图省事”。3.2 关联到实例如果实例目前没有实例配置文件aws ec2 associate-iam-instance-profile\--region$AWS_REGION\--instance-id$INSTANCE_ID\--iam-instance-profileName$PROFILE_NAME如果已有实例角色不要直接覆盖。先检查原角色承载的业务权限再把AmazonSSMManagedInstanceCore合并到现有角色或使用变更流程替换配置文件。IAM 变更可能需要短时间传播遇到“角色已创建但实例看不到”时先等待并复查不要反复创建同名资源。四、验证 SSM Agent 和网络出口Amazon Linux 2/2023 及许多 AWS 提供的 Ubuntu AMI 通常预装 SSM Agent但不能假设所有自定义镜像都已安装。通过当前 SSH 或控制台执行sudosystemctl status amazon-ssm-agent --no-pagersudosystemctlenable--nowamazon-ssm-agentsudojournalctl-uamazon-ssm-agent-n80--no-pagerUbuntu 的 Snap 安装可能使用服务名snap.amazon-ssm-agent.amazon-ssm-agent.service应以systemctl list-units | grep ssm的实际结果为准。从本地检查实例是否注册为受管节点aws ssm describe-instance-information\--region$AWS_REGION\--filtersKeyInstanceIds,Values$INSTANCE_ID\--queryInstanceInformationList[0].{Ping:PingStatus,Agent:AgentVersion,Platform:PlatformName,LastPing:LastPingDateTime}预期PingStatus为Online。如果结果为空按顺序检查实例角色是否关联、Agent 是否运行、DNS 是否正常、出站 443 是否允许、NAT 或 VPC Endpoint 是否可达。五、先建立第二条会话再删除22端口5.1 浏览器连接在 AWS 控制台进入 EC2 → Instances → 选择实例 → Connect → Session Manager → Connect。能看到 shell 并执行以下命令才算第一阶段成功whoamihostnameuname-asudo-ntrue;echo$?whoami常见结果是ssm-user。是否具备 sudo 取决于操作系统、Agent 和本机 sudoers 配置生产环境应按职责收紧而不是默认所有会话都拥有无限制 root 权限。5.2 CLI 连接本地安装 AWS CLI v2 和 Session Manager plugin 后执行aws ssm start-session\--region$AWS_REGION\--target$INSTANCE_ID保持当前 SSH 不退出再开一个 Session Manager 会话。确认重连、sudo、DNS 和业务检查均正常后才删除安全组中的 22 端口规则。先列出实例安全组aws ec2 describe-instances\--region$AWS_REGION\--instance-ids$INSTANCE_ID\--queryReservations[0].Instances[0].SecurityGroups[*].[GroupId,GroupName]\--outputtable删除规则时优先使用规则 ID避免误删同端口但不同来源的规则aws ec2 describe-security-group-rules\--region$AWS_REGION\--filtersNamegroup-id,Valuessg-0123456789abcdef0\--querySecurityGroupRules[?IsEgressfalse].[SecurityGroupRuleId,IpProtocol,FromPort,ToPort,CidrIpv4,Description]\--outputtable aws ec2 revoke-security-group-ingress\--region$AWS_REGION\--group-id sg-0123456789abcdef0\--security-group-rule-ids sgr-0123456789abcdef0不要复制示例 ID必须替换成自己账号中的真实资源。删除后重新启动一次 Session Manager 会话确认入口已从 SSH 切换到 SSM。六、把实例元数据切换为 IMDSv26.1 先评估兼容性旧版 SDK、脚本或代理可能仍使用 IMDSv1。AWS 官方建议先观察 CloudWatch 的MetadataNoToken指标确认无令牌调用降为零再对现有实例强制 IMDSv2。生产实例不要跳过这一步。查看当前配置aws ec2 describe-instances\--region$AWS_REGION\--instance-ids$INSTANCE_ID\--queryReservations[0].Instances[0].MetadataOptions确认应用兼容后执行aws ec2 modify-instance-metadata-options\--region$AWS_REGION\--instance-id$INSTANCE_ID\--http-endpoint enabled\--http-tokens required容器环境的 hop limit 需要按网络路径评估。AWS 对在容器环境中要求 IMDSv2 的场景建议将响应 hop limit 设为 2普通主机不要机械照抄应以实际工作负载和最小可用值验证。6.2 在实例内验证无令牌请求应失败curl-s-o/dev/null-w%{http_code}\n\http://169.254.169.254/latest/meta-data/再使用 IMDSv2 令牌TOKEN$(curl-sS-XPUT\-HX-aws-ec2-metadata-token-ttl-seconds: 21600\http://169.254.169.254/latest/api/token)curl-sS\-HX-aws-ec2-metadata-token:$TOKEN\http://169.254.169.254/latest/meta-data/instance-id返回值应等于当前实例 ID。不要把实例角色临时凭证打印到日志、工单或聊天窗口。七、可选用 Session Manager 做端口转发数据库和内部管理面板不必直接开放公网端口。以下 Bash 示例把实例的 5432 端口映射到本地 15432aws ssm start-session\--region$AWS_REGION\--target$INSTANCE_ID\--document-name AWS-StartPortForwardingSession\--parameters{portNumber:[5432],localPortNumber:[15432]}然后本地客户端连接127.0.0.1:15432。这不等于数据库可以忽略账号、TLS 和最小权限它只改变网络访问路径。Windows PowerShell 的 JSON 引号转义与 Bash 不同建议把参数写入 JSON 文件或按 PowerShell 语法调整。八、验收矩阵与回滚按下表逐项验收检查项命令或位置通过标准SSM 在线describe-instance-informationPingStatusOnline会话重连控制台和 CLI 各测试一次均可进入目标实例公网入口安全组入站规则不存在 TCP 22 公网规则元数据配置describe-instancesHttpTokensrequiredIMDSv1无令牌curl请求失败或返回 401IMDSv2带令牌curl返回当前实例 ID业务健康监控、日志、接口探测错误率与延迟无异常恢复通道EC2 Serial Console/救援方案权限和流程已验证回滚原则如果 SSM 不在线不要删除 22 端口如果强制 IMDSv2 后应用异常可在授权和变更记录完整的前提下临时将--http-tokens optional回滚并尽快升级 SDK 或脚本。回滚是恢复业务的短期措施不应成为长期配置。九、常见失败定位TargetNotConnected优先检查 SSM Agent、实例角色、区域是否一致、出站 443、DNS、NAT 或 VPC Endpoint。实例 ID 正确但区域写错是最常见的低级问题之一。关联角色后仍不在线IAM 需要传播时间检查实例配置文件而不只是 IAM 角色名称。实例必须关联 instance profile只有孤立的 role 不会自动生效。删除22端口后无法运维使用保留的原 SSH 会话恢复规则或通过 EC2 控制台救援能力处理。真正删除规则前必须完成第二会话重连测试。IMDSv2 开启后应用取不到凭证检查 SDK 版本、容器 hop limit 和MetadataNoToken指标。不要通过把元数据端口代理到公网等危险方式“修复”。十、结论这套方案的价值不是把 SSH 换一个入口而是把运维访问从“公网端口 长期密钥”迁移到“身份权限 受管通道”再通过 IMDSv2、日志和验收清单补齐关键边界。对于多账号、多环境团队还应进一步引入 IAM Identity Center、权限边界、Session Manager 日志、VPC Endpoint 和基础设施即代码。如果你正在规划国际业务、海外站点或 AI 服务可提供国际云服务器合规开户流程咨询、实例选型、部署与运维支持。客户本人完成实名、验证码、支付和合同确认可通过平台私信说明目标区域、业务类型、预计流量和预算以便先做架构与成本边界梳理。官方参考资料AWS Systems Manager Session Managerhttps://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.htmlSession Manager prerequisiteshttps://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-prerequisites.html连接 EC2 的 Session Manager 步骤https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-with-systems-manager-session-manager.htmlAmazonSSMManagedInstanceCore 托管策略https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html新实例要求 IMDSv2https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html现有实例迁移到 IMDSv2https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html
企业数字化 ERP 产品动态
相关推荐
基于Python的员工管理系统开题报告 一、课题研究背景
随着中小企业规模化发展与企业数字化转型进程不断推进,企业内部员工数量持续增长,组织架构逐步细化,人事考勤、薪资核算、岗位调配、绩效考核、人员档案管理等日常人事工作体量大幅增加,传统粗放式员工管理模式已… · 2026/9/17 0:12:32
2026快手图片去水印工具汇总,实用快手图片去水印方法教程 日常收藏、整理快手平台的优质图文素材时,图片自带的平台水印往往会影响画面完整性与观感,很多个人用户都在寻找简单、高效、画质损耗低的处理方式。2026年市面上的快手图片去水印工具种类繁多,涵盖免安装小程序、手机端修图软件、电脑端专业… · 2026/9/21 4:42:13
证书过期了不知道怎么复审延期?辽宁电工证要求+郑州报考避坑指南全解析 证书过期了不知道怎么复审延期?辽宁电工证要求+郑州报考避坑指南全解析 你是不是也遇到过这样的情况:手里的电工证到期了,却不知道该找谁办理复审?别急,今天我就从 辽宁电工证要求 说起,结合 郑州报考避坑指南 ,给你一套完整的流程和避坑建议。… · 2026/11/14 10:09:38
高低压电工证任丘报名费多少钱 低压电工证任丘实操考试怕挂科?真实经历告诉你怎么准备 实操考试心里没底怕挂科,这几乎是每个准备考高低压电工证的人的共同心声。特别是像我这样的信阳水利工程从业者,平时接触的更多是设备运行和安全检查,真正动手操作的机会不多,考试时面对各种工具和… · 2026/11/14 10:09:38
平度电工证上哪里报名全流程办理指南 平度电工证上哪里报名全流程办理指南 之前考的证在外省能不能转过来?这个事儿我见过太多人问了,特别是那些在外地工作、后来回老家干工程的朋友,心里都有个坎儿—— 电子证书… · 2026/11/14 10:09:38
昆山电工证复训多少钱?电工证复训别踩坑,实操案例教你避雷 昆山电工证复训多少钱?电工证复训别踩坑,实操案例教你避雷 急需特种作业证才能上岗找工作,这句话在电工圈里几乎是耳熟能详的。特别是像昆山这样的制造业重镇,电工证几乎成了电工类岗位的准入门槛。但你有没有遇到过这样的情况:证书快到期了,复训流程复… · 2026/11/14 10:09:38
找到最好的高压电工作业证培训机构,真实经历告诉你怎么选 找到最好的高压电工作业证培训机构,真实经历告诉你怎么选 证书过期了不知道怎么复审延期,这事儿我见过太多人栽跟头了。前几天一个朋友在群里问,他高压电工证已经到期半年了,现在单位不让他继续干活,心里急得不行。我一看他的情况,就告诉他别慌,补办流… · 2026/11/14 10:09:38
考电工证证明报名费多少钱 电工证过期了不知道怎么复审延期?别慌!含金量还在你手里 证书过期了不知道怎么复审延期?别慌!含金量还在你手里,关键是你得知道怎么留住它。特种作业操作证不是“一考了之”,它关乎你能不能继续上岗、能不能在项目中接活、能不能在企业里继续发挥技术价… · 2026/11/14 10:08:38
电工证丢失还能补吗?千万别踩坑,丢了证等于失业 电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/13 22:30:50
电力电缆作业证直播报名入口与办理流程良心建议 电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/13 5:40:45
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/12 23:27:43
有初级电工证怎么工作 2026河南最新政策怎么应对 有初级电工证怎么工作 2026河南最新政策怎么应对 之前考的证在外省能不能转过来?这个问题我每天被问上百次。2026年河南最新政策对证书跨省转移有了明确说明,特别是南阳市的从业者,需要特别关注。… · 2026/11/14 0:00:31
电工证过期了不知道怎么复审?考电工证自学书+官方报名入口全攻略 电工证过期了不知道怎么复审?考电工证自学书+官方报名入口全攻略 证书过期了不知道怎么复审延期?很多人遇到这种情况,要么是工作太忙没时间处理,要么是不知道具体流程,导致证书失效,影响工作和项目进展。其实复审并不难,关键是要找准官方报名入口,掌… · 2026/11/14 0:00:31
为什么要低压电工证实操考试考什么 为什么低压电工证值不值得考?别再被中介骗了 你是不是也经常看到网上有人在问“低压电工证到底值不值得考”?或者在找报名点时,担心被中间人骗钱?这些问题,我懂,我也经历过。作为一名在应急管理行业摸爬滚打多年的从业者,我深知低压电工证不仅是一个从… · 2026/11/14 0:00:31
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:12:21
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:11:51
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 22:31:30