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