针对关键核心资产如何实现基于来源IP的SSHD动态访问授权

老伟姑娘_4836

老伟姑娘_4836

2026-05-09

337人浏览

原创

ssh动态授权需结合match+authorizedkeyscommand、pam准入控制、proxyjump收敛出口及自动审计闭环,实现不重启服务、不改配置的ip动态放行。

针对关键核心资产如何实现基于来源ip的sshd动态访问授权

关键核心资产的 SSHD 访问不能依赖静态白名单硬编码,而需支持“来源 IP 动态授权”——即在不频繁重启服务、不手动改配置的前提下,根据实时可信身份或上下文(如跳板机出口、零信任网关会话、MFA 通过状态)动态放行合法连接。这不是简单允许某 IP 登录,而是让 SSHD 在认证前/认证中按策略决策是否接受该来源 IP 的连接请求。

用 Match + AuthorizedKeysCommand 实现运行时密钥绑定

OpenSSH 7.2+ 支持 Match 块配合 AuthorizedKeysCommand,可在连接建立时动态查证来源 IP 是否被当前会话上下文授权:

  • 在 /etc/ssh/sshd_config 中添加:
Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    AuthorizedKeysCommand /usr/local/bin/ssh-allow-by-context %u %h %i
    AuthorizedKeysCommandUser nobody
  • %i 是客户端真实源 IP;脚本 ssh-allow-by-context 可查询内部授权服务(如 Redis 缓存的跳板机会话 ID、或调用 API 校验该 IP 是否刚通过 MFA 登录堡垒机)
  • 若校验通过,脚本输出对应用户的公钥;失败则不输出任何密钥,SSH 直接拒绝
  • 无需 reload sshd,规则实时生效,且只对内网地址生效,公网连接走另一套严格策略

结合 PAM 模块做连接层动态准入

利用 pam_exec.so 或定制 PAM 模块,在 SSH 连接握手阶段介入判断:

  • 编辑 /etc/pam.d/sshd,在 auth 段顶部插入:
auth [success=ok default=deny] pam_exec.so expose_authtok /usr/local/bin/check-ip-trust.sh
  • check-ip-trust.sh 接收环境变量 PAM_RHOST(即源 IP),可对接 CMDB、IAM 系统或短期令牌服务(如 JWT 签发的 5 分钟临时授权)
  • 返回 0 表示放行,非 0 则连接直接中断,连密码/密钥验证环节都不进入
  • 比 hosts.allow 更灵活:支持基于时间窗口、用户角色、设备指纹等多维条件组合

通过 SSH ProxyJump 隐式收敛出口 IP + 配合 AllowUsers 白名单

不直接暴露核心资产 SSH 端口给公网,强制所有访问经由可控跳板节点:

  • 核心服务器 sshd_config 中仅写:
    AllowUsers admin@10.10.20.50 ops@10.10.20.51
    (其中 10.10.20.50/51 是跳板集群固定内网 IP)
  • 用户本地执行:
    ssh -o ProxyJump=jump-user@jump-host.example.com core-user@core-server
  • SSHD 看到的源 IP 永远是跳板机出口,而跳板机本身已通过独立机制(如证书双向认证、终端合规检查)确保其自身可信
  • 当需要临时授权新人员时,只需在跳板机上开通账号,核心资产配置完全不动

配套自动清理与审计闭环

动态授权必须带生命周期管理和行为留痕:

  • 所有临时放行操作(如 API 调用授权)写入审计日志并同步至 SIEM
  • 用 systemd timer 或 cron 定期清理过期的 PAM 脚本缓存、Redis 中的临时会话 key
  • fail2ban 规则升级为监控 sshd 日志中的 “no matching key” 和 “PAM authentication error”,对高频试探 IP 自动封禁网络层
  • 每季度导出 journalctl -u sshd | grep "Accepted publickey" | awk '{print $11}' | sort | uniq -c 核查实际活跃 IP 分布,反向验证策略有效性
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2752

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

916

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

829

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2496

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4612

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

747

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习