V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
curran12
V2EX  ›  Linux

怎么知道哪些服务器哪些用户之间配置了 SSH 互信

  •  
  •   curran12 · 2021-12-31 10:46:09 +08:00 · 2175 次点击
    这是一个创建于 841 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近有台服务器没及时升级 log4j,导致一个普通用户的服务被攻破中毒,还从这台服务器免密登录到另一台也中招,

    有没有什么工具能查到各服务器哪些用户配置的 SSH

    15 条回复    2021-12-31 14:16:39 +08:00
    Privileges
        1
    Privileges  
       2021-12-31 10:53:51 +08:00 via Android
    who ?
    hzfyjgw
        2
    hzfyjgw  
       2021-12-31 10:56:38 +08:00
    关键不是应该扫 log4j 的漏洞么
    MaxTan
        3
    MaxTan  
       2021-12-31 10:57:50 +08:00
    写个脚本,打印各服务器的 .ssh/authorized_keys
    2i2Re2PLMaDnghL
        4
    2i2Re2PLMaDnghL  
       2021-12-31 11:06:21 +08:00
    一方面来说,主动扩散主要依赖读取已被入侵的机器的 known_hosts 和命令历史

    另一方面是,扫描扩散就得去检查所有机器所有用户的 authorized_keys
    2i2Re2PLMaDnghL
        5
    2i2Re2PLMaDnghL  
       2021-12-31 11:11:06 +08:00
    @hzfyjgw 阻止横向移动是另一个层面的事情,安全永远是概率论法则。绝对安全就是把它断电断网锁保险箱埋地下几十米,但不实用。
    hzfyjgw
        6
    hzfyjgw  
       2021-12-31 11:17:17 +08:00
    @2i2Re2PLMaDnghL #5 安全永远是概率论法则 应该针对的未知未被爆出来的漏洞,log4j 的这个漏洞是根据概率论法则就是 100%
    2i2Re2PLMaDnghL
        7
    2i2Re2PLMaDnghL  
       2021-12-31 11:19:00 +08:00
    @hzfyjgw 哦你是说这个…… 你怎么知道 OP 没有先解决 log4j 漏洞呢?
    hzfyjgw
        8
    hzfyjgw  
       2021-12-31 11:30:58 +08:00
    @2i2Re2PLMaDnghL #7 麻烦你看下 最近有台服务器没及时升级 log4j,导致一个普通用户的服务被攻破中毒
    Symo
        9
    Symo  
       2021-12-31 11:39:02 +08:00   ❤️ 1
    @hzfyjgw 当机器已经被攻破的时候, 入口已经不是最重要了. 因为现在各种系统命令都有可能变成了恶意脚本.
    xinghen57
        10
    xinghen57  
       2021-12-31 12:03:04 +08:00 via iPhone
    authorized_keys 我记得是公钥吧。这还能反推哪个用户配置的?

    win10 下,使用 ssh ,是在 “.ssh\config”文件下保存 ssh 配置。
    linux 应该同理,楼主查查资料。

    好奇为何服务器 ssh 到其他服务器?
    adoal
        11
    adoal  
       2021-12-31 12:39:56 +08:00
    严肃的场景下,可以考虑设置 AuthorizedKeysFile none 关闭用户主目录里的 authorized_keys ,并设置 AuthorizedKeysCommand 到中心服务器(比如 LDAP )去查询用户的 authorized_keys 项,在 LDAP 里给用户开个自己编辑的权限……不过这个配置还是挺复杂的,让用户自己编辑也多少有点复杂。

    默认情况下只能到逐台服务器逐个用户扫描了。
    adoal
        12
    adoal  
       2021-12-31 12:41:41 +08:00
    “好奇为何服务器 ssh 到其他服务器”?

    是纯程序员吗?有做非云原生传统服务器运维经验的人应该会经常有服务器之间登录 /拷数据的需求啊。
    CEBBCAT
        13
    CEBBCAT  
       2021-12-31 13:25:49 +08:00 via Android
    LDAP ?
    2i2Re2PLMaDnghL
        14
    2i2Re2PLMaDnghL  
       2021-12-31 13:26:15 +08:00
    @hzfyjgw 麻烦你先看标题问的啥,正文是作背景说明的。跑论坛发贴显然已经把紧要问题解决了。
    打个比方,说书人说『唐僧从女儿国离开之后』,结果你说『那唐僧跟女儿国国王还不是得成亲吗?』,就很迷惑。
    adoal
        15
    adoal  
       2021-12-31 14:16:39 +08:00   ❤️ 1
    对了,什么叫“普通用户的服务被攻破中毒”?用普通用户登录进去启动起来的服务?严肃的生产环境下应该所有长时间运行的服务都通过 systemd unit 或其它管控机制启动,运行服务的 euid 必须是专用的,home 是 /nonexsistent ,shell 是 nologin ,不允许有交互登录的机会。能登录的用户 uid 是不允许用来运行服务的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2730 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 05:28 · PVG 13:28 · LAX 22:28 · JFK 01:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.