网络攻击防御 :终端出站连接的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.