在维基百科写为:
安全性:代理服务器是额外的防御层,可以防御某些操作系统和 Web 服务器特定的攻击。但是,它无法防御针对 Web 应用程序或服务本身的攻击,而这通常被认为是更大的威胁。
针对特定操作系统和 Web 服务器的攻击指的是什么?
答案1
IIS、Apache、Tomcat 等 Web 服务器为应用程序提供服务,其源代码库非常庞大。这意味着有大量空间可以找到安全漏洞以及许多其他危害较小的错误。漏洞通常发布在邮件列表中,例如通过http://www.securityfocus.com/。
代理服务器通常nginx
“更薄”,源代码库比应用程序 Web 服务器更小,因此攻击面更小。因此,IIS 或 Apache 或其他应用程序 Web 服务器中的某些漏洞可被代理服务器掩盖,代理服务器要么没有相同的漏洞,要么可以过滤请求以防止访问终端服务器上的漏洞。
代理服务器可以在最小操作系统上运行,例如自定义 Linux 文件系统,该文件系统上除了代理服务器之外只有很少的服务和可执行文件,因此如果有人设法在代理中找到漏洞,代理操作系统中没有足够的可执行文件(可能甚至没有 shell 程序)来利用该漏洞。这比将功能齐全的通用操作系统暴露给互联网要安全得多。功能齐全的操作系统通常有很多漏洞,并且通常需要有完整的实用程序和 shell 才能提供所需的服务。
一般来说,应用服务器和全功能操作系统的漏洞检测率远高于常用的代理服务器及其操作系统的漏洞检测率,因此代理可以为您争取时间来修复后端应用服务器或操作系统漏洞。
尽管维基百科指出“它不能对针对网络应用程序的攻击提供任何保护”,但实际上一些代理服务器可以执行 HTTP 请求重写或过滤,这在很大程度上可以防止 SQL 注入和 CSS 攻击。