这期内容当中小编将会给大家带来有关Web服务器中怎么防止Host头攻击,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Apache:方法一:
修改\conf\httpd.conf文件
修改ServerName为应用的域名,例如
ServerName :80添加下列行
UseCanonicalName On重启Apache即可。修复成功的话会看到,服务器端将会使用设定好的ServerName。
参数解释:
方法二:修改\conf\httpd.conf文件
参考以下配置添加:
NameVirtualHost 192.168.0.16
<VirtualHost 192.168.0.16>
ServerName 192.168.0.16
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 192.168.0.16>
DocumentRoot "C:\www"
ServerName
</VirtualHost>
重启Apache即可。
作用:
拒绝直接通过192.168.0.16这个IP的任何访问请求,这时如果你用192.168.0.16访问,会提示拒绝访问。仅允许通过这个域名访问,主目录指向C:\www
方法三:修改\conf\httpd.conf文件
找到"#LoadModule rewrite_module modules/mod_rewrite.so"去除前面的"#"号
添加类似以下配置:
RewriteEngine onRewriteCond %{HTTP_HOST} !^192.168.0.16$ [NC]RewriteRule ^(.*)$ /error.html重启Apache即可。
作用:
当HOST头不是192.168.0.16时,重定向到错误页面。
Nginx:方法一:
修改nginx.conf
添加一个默认server,当host头被修改匹配不到server时会跳到该默认server,该默认server直接返回403错误。
例子如下:
server { listen 8888 default; server_name _; location / { return 403; } }重启nginx即可。
方法二:修改nginx.conf
在目标server添加检测规则,参考以下标红配置:
server { server_name 192.168.0.171; listen 8888; if ($http_Host !~*^192.168.0.171:8888$) { return 403; } include /etc/nginx/default.d/*.conf; location / { root /www/dvwa; index index.php index.html index.htm; } }重启nginx即可。
Tomcat:修改tomcat\conf\server.xml
找到如下位置:
将Host里的name修改为静态的域名,如下:重启tomcat即完成修复。
IIS6.0:
使用ISAPI_Rewrite插件对请求包内容进行检测并重写URL。
插件安装包和破解工具下载地址:https://pan.baidu.com/s/1hZVfCm7FraQWHlKMKyItFQ
下载完成后双击程序一直点击下一步安装即可。
破解工具解压后如图三个文件郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。