最近有台服务器没及时升级 log4j,导致一个普通用户的服务被攻破中毒,还从这台服务器免密登录到另一台也中招,
有没有什么工具能查到各服务器哪些用户配置的 SSH
1
Privileges 2021-12-31 10:53:51 +08:00 via Android
who ?
|
2
hzfyjgw 2021-12-31 10:56:38 +08:00
关键不是应该扫 log4j 的漏洞么
|
3
MaxTan 2021-12-31 10:57:50 +08:00
写个脚本,打印各服务器的 .ssh/authorized_keys
|
4
2i2Re2PLMaDnghL 2021-12-31 11:06:21 +08:00
一方面来说,主动扩散主要依赖读取已被入侵的机器的 known_hosts 和命令历史
另一方面是,扫描扩散就得去检查所有机器所有用户的 authorized_keys |
5
2i2Re2PLMaDnghL 2021-12-31 11:11:06 +08:00
@hzfyjgw 阻止横向移动是另一个层面的事情,安全永远是概率论法则。绝对安全就是把它断电断网锁保险箱埋地下几十米,但不实用。
|
6
hzfyjgw 2021-12-31 11:17:17 +08:00
@2i2Re2PLMaDnghL #5 安全永远是概率论法则 应该针对的未知未被爆出来的漏洞,log4j 的这个漏洞是根据概率论法则就是 100%
|
7
2i2Re2PLMaDnghL 2021-12-31 11:19:00 +08:00
@hzfyjgw 哦你是说这个…… 你怎么知道 OP 没有先解决 log4j 漏洞呢?
|
8
hzfyjgw 2021-12-31 11:30:58 +08:00
@2i2Re2PLMaDnghL #7 麻烦你看下 最近有台服务器没及时升级 log4j,导致一个普通用户的服务被攻破中毒
|
10
xinghen57 2021-12-31 12:03:04 +08:00 via iPhone
authorized_keys 我记得是公钥吧。这还能反推哪个用户配置的?
win10 下,使用 ssh ,是在 “.ssh\config”文件下保存 ssh 配置。 linux 应该同理,楼主查查资料。 好奇为何服务器 ssh 到其他服务器? |
11
adoal 2021-12-31 12:39:56 +08:00
严肃的场景下,可以考虑设置 AuthorizedKeysFile none 关闭用户主目录里的 authorized_keys ,并设置 AuthorizedKeysCommand 到中心服务器(比如 LDAP )去查询用户的 authorized_keys 项,在 LDAP 里给用户开个自己编辑的权限……不过这个配置还是挺复杂的,让用户自己编辑也多少有点复杂。
默认情况下只能到逐台服务器逐个用户扫描了。 |
12
adoal 2021-12-31 12:41:41 +08:00
“好奇为何服务器 ssh 到其他服务器”?
是纯程序员吗?有做非云原生传统服务器运维经验的人应该会经常有服务器之间登录 /拷数据的需求啊。 |
13
CEBBCAT 2021-12-31 13:25:49 +08:00 via Android
LDAP ?
|
14
2i2Re2PLMaDnghL 2021-12-31 13:26:15 +08:00
@hzfyjgw 麻烦你先看标题问的啥,正文是作背景说明的。跑论坛发贴显然已经把紧要问题解决了。
打个比方,说书人说『唐僧从女儿国离开之后』,结果你说『那唐僧跟女儿国国王还不是得成亲吗?』,就很迷惑。 |
15
adoal 2021-12-31 14:16:39 +08:00 1
对了,什么叫“普通用户的服务被攻破中毒”?用普通用户登录进去启动起来的服务?严肃的生产环境下应该所有长时间运行的服务都通过 systemd unit 或其它管控机制启动,运行服务的 euid 必须是专用的,home 是 /nonexsistent ,shell 是 nologin ,不允许有交互登录的机会。能登录的用户 uid 是不允许用来运行服务的。
|