跳至主内容

网络攻击防御 :终端出站连接的SSH公钥基础设施认证

网络攻击防御 针对SSH的保护采用修改版 libssh 来代理客户端连接到产品,再由产品连接远程服务器。客户端-产品和产品-远程服务器的连接仅在传输层建立。

在接受连接前,代理会通过加载SSH密钥来初始化其服务器,密钥位于 /opt/bitdefender-security-tools/etc/ssh .

它会依次尝试 ssh_host_rsa_key , ssh_host_ed25518_key 最后尝试 ssh_host_ecdsa_key .

将使用找到的第一个密钥。但如果未找到任何密钥,则会自动生成全新的密钥对并使用RSA密钥。

目录结构 /opt/bitdefender-security-tools/etc/ssh 复制自VMware ESXi(5.0及更高版本)。此外,对于 /opt/bitdefender-security-tools/etc/ssh/keys-$user 中的每个用户,除了私钥外,还可配置 authorized_keys 文件。当代理成功使用用户私钥之一验证远程主机身份时,此文件将被需要。

查看以下目录结构示例:

# ls -lR etc/ssh/
etc/ssh/:
总用量 24
drwxr-xr-x. 2 root bitdefender   58 10月11日 15:47 keys-root
drwxr-xr-x. 2 root bitdefender   58 10月11日 15:50 keys-test
-rw-------. 1 root bitdefender  241 10月 6日 02:42 ssh_host_ecdsa_key
-rw-------. 1 root bitdefender  180 10月 6日 02:42 ssh_host_ecdsa_key.pub
-rw-------. 1 root bitdefender  395 10月 6日 02:42 ssh_host_ed25519_key
-rw-------. 1 root bitdefender  100 10月 6日 02:42 ssh_host_ed25519_key.pub
-rw-------. 1 root bitdefender 3272 10月 6日 02:42 ssh_host_rsa_key
-rw-------. 1 root bitdefender  744 10月 6日 02:42 ssh_host_rsa_key.pub

etc/ssh/keys-root:
总用量 12
-rw-------. 1 root bitdefender  400 10月11日 15:47 authorized_keys
-rw-------. 1 root bitdefender 1679 2021年10月22日 id_rsa
-rw-------. 1 root bitdefender  400 2021年10月22日 id_rsa.pub

etc/ssh/keys-test:
总用量 12
-rw-------. 1 root bitdefender  400 10月11日 15:50 authorized_keys
-rw-------. 1 root bitdefender 1679 10月11日 15:50 id_rsa
-rw-------. 1 root bitdefender  400 10月11日 15:50 id_rsa.pub

认证流程如下:

  • 代理向客户端通告none认证方法以捕获用户名。

  • 代理初始化与远程服务器的连接。

  • 代理加载 /etc/ssh/keys-$user 中的所有私钥(如有)。

  • 如果无法使用用户的任何私钥认证远程服务器,或与客户端的PKI认证失败,代理将进入MITM模式,以便让客户端尝试直接进行密码认证。

当启用 网络攻击防御 时配置SSH密钥认证

安装 Bitdefender端点安全工具 Linux版并启用 网络攻击防御 SSH/SCP 协议支持时,若使用PKI则需执行以下步骤:

  • 将所有个人密钥移至 /opt/bitdefender-security-tools/etc/ssh/keys-$user ,其中 $user 是用于远程服务器认证的用户名(不一定是当前用户)。

  • 使用ssh-keygen生成新的个人密钥对,并将公钥安装到 /opt/bitdefender-security-tools/etc/ssh/keys-$user/authorized_keys .