网站包括哪些内容,做临床研究在哪个网站注册,更改网站备案,红杉网站建设预备知识 Nginx概述 Nginx (engine x) 是一个高性能的HTTP和 反向代理 服务器#xff0c;也是一个 IMAP/POP3/SMTP服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的#xff0c;第一个公开版本0.1.0发布于2004年10月4日。其将源代…预备知识 Nginx概述 Nginx (engine x) 是一个高性能的HTTP和 反向代理 服务器也是一个 IMAP/POP3/SMTP服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 Modsecurity概述 ModSecurity是一个入侵侦测与防护引擎它主要是用于Web 应用程序所以也被称为Web应用程序防火墙。 它可以作为Apache Web服务器的模块或是单独的应用程序来运作。ModSecurity的功能是增强Web application的安全性和保护Web application以避免遭受来自已知与未知的攻击。其防护的概念如下图所示 ModSecurity计划是从2002年开始后来由Breach Security Inc.收购但Breach Security Inc.允诺ModSecurity仍旧为open source并开放源代码给大家使用。最新版的ModSecurity一个开源的Web应用防火墙即WAF开始支持核心规则集Core Rule Set即CRS可用于定义旨在保护Web应用免受零日及其他安全攻击的规则了。ModSecurity团队发布的2.5.10 版以后还包含了其他一些特性如并行文本匹配、Geo IP解析和信用卡号检测等同时还支持内容注入、自动化的规则更新和脚本等内容。可以通过ModSecurity手工创建安全过滤器、定义攻击并实现主动的安全输入验证。此外它还提供了一个面向Lua语言的新的API为开发者提供一个脚本平台以实现用于保护Web应用的复杂逻辑。 ModSecurity的运作设计有以下的基础概念 1、让使用者可以做任何想做的事情(Empower users to do what they want) 2、 使用者设定的动作才会执行(Don’t do anything implicitly) 3、 预设是不做任何动作(Be passive)ModSecurity的部署架构 1、 与Web Server结合 。 2、 与Apache/nginx结合部署为网关当作一个反向代理。总结 ModSecurity是一个Web应用防火墙WAF。当前已经有超过70的攻击发生在网络应用层各级组织急需要能够保证他们的系统安全性的帮助。WAF系统的部署可以为web应用增加一个外部安全层来检测或防止攻击。针对一系列的攻击,ModSecurity为web应用提供了强大的保护并对HTTP流量进行监测和实时分析。 软件下载地址 Nginxhttp://nginx.org/en/download.html ModSecurityhttps://www.modsecurity.org/download.html OWASP规则集https://github.com/SpiderLabs/owasp-modsecurity-crs实验目的 1Install Nginx with ModSecurity 2Configure ModSecurity with Nginx 3启用OWASP规则实验环境 操作系统ServerCentos 7 ClientWindows xp 网络拓扑见下图 服务端IP10.1.1.56客户端IP随机 所用软件Nginx 1.9.15 ; modsecurity-2.9.1PS本实验指导书中涉及的软件路径均可以根据你自己所需设定不必完全按照实验指导书中的配置而设定。实验步骤一 Install Nginx with ModSecurity 1、安装Nginx和ModSecurity依赖的包和其他必须的软件包 yum install gcc make automake autoconf libtool pcre pcre-devel libxml2 libxml2-devel curl curl-devel httpd-devel zlib zlib-devel openssl openssl-devel apr apr-util-devel apr-devel -y 2、下载Nginx和ModSecurity源码 wget http://nginx.org/download/nginx-1.9.15.tar.gz wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz 3、编译modsecurity 先解压 cd /opt gunzip -c modsecurity-2.9.1.tar.gz | tar xvf – 进入解压后目录执行 ./autogen.sh ./configure --enable-standalone-module --disable-mlogc make make install 4、编译nginx并添加modsecurity模块 先解压 cd /opt 进入解压后目录执行如下命令编译nginx ./configure --add-module/opt/modsecurity-2.9.1/nginx/modsecurity/ --prefix/usr/src/nginx make make install实验步骤二 Configure ModSecurity with Nginx 1、复制modsecurity.conf-recommended unicode.mapping文件到nginx的conf目录下 可以使用find命令查找这个两个文件在哪 find / -name modsecurity.conf-recommended find / -name unicode.mapping 复制文件 cp /opt/modsecurity-2.9.1/modsecurity.conf-recommended /usr/src/nginx/conf/ cp /opt/modsecurity-2.9.1/unicode.mapping /usr/src/nginx/conf/ 2、配置 改名 mv modsecurity.conf-recommended modsecurity.conf 修改nginx配置文件 cp nginx.conf nginx.conf.bak 备份nginx配置文件 在需要启用modsecurity的主机的在location下面加入下面两行即可 ModSecurityEnabled on; ModSecurityConfig modsecurity.conf; 保存配置。 至此Nginx已经集成了ModSecurity现在重启Nginx试试。 检查配置文件 /usr/src/nginx/sbin/nginx -t 启动nginx /usr/src/nginx/sbin/nginx 检查ModSecurity是否正常启动的两种办法 第一种/usr/src/nginx/sbin/nginx -V 第二种查看nginx错误日志 cat /usr/src/nginx/logs/error.log 实验步骤三 启用OWASP规则 1、下载OWASP ModSecurity CRS cd /opt wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/master.zip 2、解压到/usr/src/nginx/conf/ cp master.zip /usr/src/nginx/conf/ cd /usr/src/nginx/conf/ unzip master.zip 3、添加OWASP规则 进入/usr/src/nginx/conf/目录复制规则配置文件到/usr/src/nginx/conf/目录 cp owasp-modsecurity-crs-master/modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf 打开modsecurity.conf, 在最上面引入规则文件路径。 Include /usr/src/nginx/conf/modsecurity_crs_10_setup.conf Include /usr/src/nginx/conf/owasp-modsecurity-crs-master/base_rules/modsecurity_crs_41_sql_injection_attacks.conf 将SecRuleEngine设置为On 4、php环境下测试 我们启用了xss和sql注入的过滤不正常的请求会直接返回403。以php环境为例在/var/www/html目录下新建一个index.php内容为 修改nginx配置文件为如下 保存配置。重启nginx即可 /usr/src/nginx/sbin/nginx -s reload 切换到client客户端在浏览器中访问 http://serverip/index.php?id1 正常显示 http://serverip/index.php? id1 and 11 返回403 http://serverip/index.php? searchscriptalert(xss);/script 返回403 说明sql注入和xss已经被过滤了 当然还可以在/var/log/modsec_audit.log中看到攻击日志 至此表示安装成功 部分实验截图如下图所示;