什么是最好的Linux选项阻止所有直接的IP请求到公共接口IP,但同时允许某些fqdn(基于域的)请求?
例:
服务器的公共IP为166.137.1.1,www.mywebsite.com DNS指向该服务器和IP。 以下是一些情况:
示例3给恶意用户提供了例如欺骗web服务器的环境variables(CGI范围)的能力,例如HTTP_HOST
当数据包到达您的机器时,您绝对没有关于启动用户/软件/进程是否使用IP地址或DNS名称的信息。
这是HTTP 1.1协议,允许根据Host:头中给出的Host:名来决定做什么,所以你不能在防火墙上的TCP数据包级别上做这件事。 不过,你可能会得到几乎相似的结果:
DROP每个数据包,除了端口80和443 。 404 Not Found或显示一些简单的“hostname not configured here”页面。 或301到你的规范主机名; 不pipe你想要什么 Host:头提供内容。