防火墙能否通过检查传入请求来提高 SFTP 服务的安全性(例如,阻止仅使用 SFTP 时不需要的任何 SSH 命令?
语境
我最近在我们的庄园里发现了一个虚拟机,它有一个公共 IP 用于向互联网公开 SFTP(即 SSH;不是 FTPS)和一个 HTTPS 服务。
我希望将网站放在 Azure App Gateway 后面,让它执行 SSL 卸载,然后通过 HTTP 在内部将请求路由到后端 VM。
由于 SFTP 和 HTTPS 服务共享相同的主机名,我必须在 Azure 防火墙上指出,然后将端口 22 上的请求路由到 VM,并将 80/443 上的请求路由到应用程序网关(80 上的请求只会得到一个HTTP 301 重定向到 HTTPS 端点;443 上的那些将被路由到后端,如上所述)。
由于我们在公众和虚拟机之间设置了防火墙,因此最好使用它来进一步提高安全性......它只会在端口 22 上转发到虚拟机,所以这是一个胜利(例如阻止 RDP),并且它为我们提供了诸如客户端 IP 白名单之类的选项(尽管对于我们不需要的用例,因为我们可以从任何地方获得合法连接)。
但是我想知道应用网关的防火墙是否有类似 OWASP 规则的东西用于 HTTP,它可以检查 SSH 流量并阻止任何看起来可疑的东西。
我的猜测是没有,因为 SSH 将使用只有 VM 和客户端知道的密钥的 RSA 加密;不是防火墙......但我没有深入研究 SFTP/SSH,所以可能有一些我没有想到的选项可以进一步提高解决方案的安全性?
AFAIK - 不。您无法检查
ssh
流量和过滤命令。您可以做的是过滤可以连接到本机端口 22 的 IP。您可以使用 Azure 网络安全组来实现。查看此文档以了解有关安全组的详细信息。