使用 knockd 与使用基于动态 DNS 的身份验证从动态 IP 地址或旅行(即一些随机酒店 IP)进行 ssh 或 VPN 登录的优缺点是什么?理想情况下,任何具有 ssh/VPN 客户端功能的设备都应该能够使用任何需要的附加客户端软件。
(另一种选择,保持 ssh / VPN 端口对所有人开放,这不是很有吸引力。)
我倾向于喜欢 knockd (或其他端口敲门守护程序),因为它不依赖于第 3 方来保持其不妥协的东西......
你真的害怕让你的 SSH 端口保持开放吗?会发生什么?
您拒绝了 root 访问,您安装了 BFD 或拒绝主机之类的东西,您只使用公钥身份验证...您真的认为这不安全吗?
恕我直言,添加诸如 knockd 之类的内容可能会引入错误的安全感。
即使您保持 SSH 端口关闭,也只能让 openvpn 的端口保持打开状态(并让 openssh 仅在 vpn 接口上侦听)。
好吧,除非您使用 DNSSEC,否则基于 DNS 的身份验证是一个相当糟糕的主意。DNS 不安全,酒店提供商经常使用 DNS。
我自己,我在非标准端口上使用 ssh,只接受带有密钥文件的用户登录。
当我在端口 22 上运行 ssh 时,有很多字典攻击,但他们都使用“root”用户(无论如何都不允许通过 ssh 登录)。