新手教程:利用ubuntu 14.04+apache+modsecurity实现云WAF


发布人:admin分类:网络安全浏览量:26发布时间:2017-12-12

   

近年来,云计算的热潮推动着IT行业的发展,很多企业的产品或服务都在尽力与云“挂钩”。其中,在国内外信息安全市场中,也多了一个新的概念,就是“云WAF”。

云WAF,也称WEB应用防火墙的云模式。它是一种全新的信息安全产品模式。这种模式让用户不需要在自己的网络中安装软件程序或部署硬件设备,就可以对 网站实施安全防护。防SQL注入、防XSS、防DDOS等,这些传统WAF上存在的功能,云WAF同样具备。从用户的角度来看,云WAF更像是一种安全服务,只不过这种服务并非是通过人工来实施的。

云waf的技术实现

之所以称之为云WAF,就是因为它所有的WAF功能都是通过云端提供的,而不需要在本地部署产品。实现这点主要利用的就是DNS技术。

众所周知,每个网站都有自己的域名,域名与WEB服务器的IP地址相对应。当客户端浏览器通过域名访问网站时,首先会由网站指定的DNS服务器解析出域名所对应的WEB服务器的IP地址,这样客户端才能向服务器发起正常的访问请求,进而完成一次完整的HTTP会话。

云WAF正是利用这项机制。通过让网站移交域名解析权的方式,实现对网站的安全防护。

图一就是当用户访问web服务器的时候流量的走向

                        

如上图所示,dns服务器负责将域名解析到waf防火墙上,然后waf通过反向代理再把流量代理到真正的web服务器上面,所以说,外界访问web服务器的 方式是经过dns服务器,然后waf,最后是web服务器。这样,通过反向代理,用户是无法访问到真正的web服务器,使web服务器处于保护状态。

如何搭建一个云waf系统

环境:

   ubuntu 14.04
   Apache2
   Windows 2008


我们使用ubuntu作为waf服务器,使用win2008作为dns服务器。

首先配置waf,设置一个固定IP,我这里设置为192.168.1.3

安装软件之前首先更新源

sudo apt-get install update

安装apache2

Sudo apt-get install apache2

当显示OK的时候说明安装成功

安装modsecurity

apt-get install libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev libapache2-modsecurity

安装好以后使用

dpkg -s libapache2-modsecurity | grep Version

可以查看你的modsecurity版本号

我的版本是2.7.7-2(这里说一下,因为上面那个虚拟机崩溃了 然后又重装了一个,所以后面写的是ubuntu2)

然后重新加载配置文件

service apache2 reload

当该命令生效以后就会在/var/log/apache2/目录下生成modsecurity的日志文件modsec_audit.log

配置modsecurity

启用modsecurity核心规则集

将我们想起用的规则集放置在以下目录下

 cd /usr/share/modsecurity-crs/activated_rules/

选择启用base规则集

for f in $(ls ../base_rules/); do ln -s ../base_rules/$f; done

修改apache配置文件,启用规则

vim /etc/apache2/mods-available/security2.conf

修改

<IfModule security2_module>        
# Default Debian dir for modsecurity&#039;s persistent data        
SecDataDir /var/cache/modsecurity        
# Include all the *.conf files in /etc/modsecurity.        
# Keeping your local configuration in that directory        
# will allow for an easy upgrade of THIS file and        
# make your life easier        
IncludeOptional /etc/modsecurity/*.conf        
IncludeOptional /usr/share/modsecurity-crs/*.conf        
IncludeOptional /usr/share/modsecurity-crs/activated_rules/*.conf
</IfModule>

 

启用modsecurity模块

a2enmod headersa2enmod security2 
service apache2 restart

这样waf服务器就搭建成功

配置反向代理

首先

打开终端,输入

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer

每步运行完都要重启apache

然后打开etc/apache2/sites-acailable/000-default.conf

修改配置文件。大约改成下面的样子:

ServerName www.***.com
     ServerAdmin webmaster@localhost
     DocumentRoot /var/www/html
     ServerAlias ***.com
     ProxyPreserveHost On
     ProxyRequests Off
     <Proxy *>
     Order deny,allow
     Allow from all
     </Proxy>
     ProxyPass / http://****/ (输入web服务器的ip与端口) 
     ProxyPassReverse / 
http://***/(输入web服务器的ip与端口)

然后重启apache服务器,就可以了

搭建dns服务器

点击服务器管理器-添加角色-dns服务器
然后打开dns管理器,右键,选择连接到dns服务器,此计算机,确定

正向查找-新建区域
然后一直下一步,域名填写你要注释的域名,但是不要加www

 

点击新建主机,在名称上填写www,记住ip地址写的是你的waf服务器的地址

测试结果

当我们在waf的保护下输入在域名后面加入"'"以后


当我们把dns的服务器修改为本地的dns服务器以后

再次在域名后面输入"'"

可以在上图中看到你的路径等信息,配置成功!

* 作者/yangxiaocheng,属FreeBuf原创奖励计划文章,


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21445794(PV) 页面执行时间:162.527(MS)
  • xml
  • 网站地图