跳至主内容

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

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

在接受连接前,代理会通过加载位于 /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模式以便客户端尝试直接密码认证。

网络攻击防护 启用时

安装 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 .