返回顶部
首页 > 资讯 > 操作系统 >Apache下ModSecurity的安装启用与配置
  • 121
分享到

Apache下ModSecurity的安装启用与配置

ApacheModSecurity安装 2022-06-04 22:06:57 121人浏览 安东尼
摘要

ModSecurity 是一个强大的NDyHzMVUj包过滤工具,将检查每一个进入WEB服务器的包。它将根据内部规则,比较每一个包,并且确定是否需要禁止这个包或继续发送给web服务器。 1、下载 modsecurity

ModSecurity 是一个强大的NDyHzMVUj包过滤工具,将检查每一个进入WEB服务器的包。它将根据内部规则,比较每一个包,并且确定是否需要禁止这个包或继续发送给web服务器。

1、下载

modsecurity-apache: Http://sourceforge.net/projects/mod-security/files/modsecurity-apache/
modsecurity-crs: http://sourceforge.net/projects/mod-security/files/modsecurity-crs/0-CURRENT/

2、安装

1)启用 mod_unique_id 模块
2)验证服务器安装了最新版本libxml2函数库
3)停止Apache httpd

4)解压

gzip -d modsecurity-apache_2.6.3.tag.gz
tar xvzf modsecurity-apache_2.6.3.tar
gzip -d modsecurity-core-rules_2.6.tar.gz
tar xvzf modsecurity-core-rules_2.6.tar.gz

5)配置

./configure

6)编译并测试ModSecurity

make
make test

7)安装

make install

修改 http.conf,启用ModSecurity,在httpd.conf文件添加:

LoadFile /usr/lib/libxml2.so
LoadModule security2_module modules/mod_security2.so

8)重启apache

到这里已经安装了ModSecurity,你可以查看配置指令文档:http://sourceforge.net/apps/mediawiki/mod-security/index.PHP?title=Reference_Manual

ubuntu上安装Apache2+ModSecurity及自定义WAF规则

虽然VPS使用了云WAF功能,但还是有点小担心,为了双重保险,决定使用modsecurity来定制规则,以下介绍如何为apache服务器配置ModSecurity防护罩(modsecurity目前也支持Nginx,IIS) 。

本次选择使用包管理器来安装,因为每次使用源码包的安装方式,都会被诡异的库依赖错误弄得发型都抓乱。

安装环境:

OS:ubuntu 14.04.1 LTS
Apache: Apache/2.4.7 (Ubuntu)

第一步:安装apache

我建议安装Apache最好用apt-get安装,这样就可以少很多的库支持!!!!如果不嫌麻烦的话可以用源码安装

输入apt-get install apache2

如果提示没有这个软件包就更新一下软件包 apt-get install update

这步安装好了以后apache就可以提供服务了,输入127.0.0.1就可以访问本地网站了

第二步:安装modsecurity

这个也和上边的一样,使用

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

安装好了以后就可以查看你的modsecurity的版本号是多少,使用

dpkg -s libapache2-modsecurity | grep Version

第三步 配置modsecurity

service apache2 reload

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

使用modsecurity核心规则集

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

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

选择启用base规则集

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

修改apache模块配置,启用规则集

注意:modsecurity 2.7版本与2.6版本的配置文件有些区别

(1)2.7版本

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

<IfModule security2_module>
# Default Debian dir for modsecurity'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/modsecurityconcat(username,0x3a,passWord)%20from%20cmseasy_user),1,1))%3C49%23]=1
我们发现请求包被403拦截了,

可以查看modsecurity日志文件看具体的拦截情况

tail /var/log/apache2/modsec_audit.log
message: Access denied with code 403 (phase 2). Pattern match "(/\\*!?|\\*/|[';]--|--[\\s\\r\\n\\v\\f]|(?:--[^-]*?-)|([^\\-&])#.*?[\\s\\r\\n\\v\\f]|;?\\x00)" at ARGS_NAMES:aid[typeid`=1 and ord(mid((selectconcat(username,0x3a,password) from cmseasy_user),1,1))
<49#].
[file "/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "49"] [id "981231"] [rev "2"] [msg "SQL Comment Sequence Detected."] [data "Matched Data: concat(username,0x3a,password) from cmseasy_user),1,1))<49#]: aid[typeid`=1 and ord(mid((selectconcat(username,0x3a,password) from cmseasy_user),1,1))<49#]"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.8"] [maturity "8"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] [tag "WASCTC/WASC-19"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/CIE1"] [tag "PCI/6.5.2"]

可以看到是被base规则集的modsecurity_crs_41_sql_injection_attacks.conf文件的规则981231拦截,命中了SQL注释语句。
对于网站结构比较了解的站长们,完全可以自定义规则,特别是白名单规则来防护我们的网站。

第六步:自定义WAF规则

规则语法快速入门参考 ModSecurity SecRule cheatsheets

WAF规则实例1:上传文件名白名单,只允许上传图片文件

vim /usr/share/modsecurity-crs/activated_rules/MY.conf
添加规则

SecRule FILES "!\\.(?i:jpe?g|gif|png|bmp)$" "deny,tag:'WEB_ATTACK/FILEUPLOAD',msg:'upload no-picture file',id:0000001,phase:2"
测试,上传php文件

(http的使用参照HTTP发包工具 -HTTPie)
http www.tanjiti.com filename@a.php
我们可以看到请求包被拦截,查看modsecurity日志

more /var/log/apache2/modsec_audit.log
可以看到命中了规则0000001

Message: Access denied with code 403 (phase 2). Match of "rx \\.(?i:jpNDyHzMVUje?g|gif|png|bmp)$" against "FILES:filename" required. [file "/usr/share/modsecurity-crs/activated_rules/MY.conf"] [line "1"] [id "0000001"] [msg "upload no-picture file"] [tag "WEB_ATTACK/FILEUPLOAD"]
WAF规则实例2: 上传文件名中包含%00进行阻断

vim /usr/share/modsecurity-crs/activated_rules/MY.conf
添加规则

SecRule FILES "@contains %00" "deny,tag:'WEB_ATTACK/FILEUPLOAD',msg:'filename has null character',id:0000002,phase:2"
测试,上传文件名包含%00的文件

http www.tanjiti.com filename@a.php%00.jpeg
我们可以看到请求包被拦截,查看modsecurity日志

more /var/log/apache2/modsec_audit.log
可以看到命中了规则0000002

Message: Access denied with code 403 (phase 2). String match "%00" at FILES:filename. [file "/usr/share/modsecurity-crs/activated_rules/MY.conf"] [line "2"] [id "0000002"] [msg "filename has null character"] [tag "WEB_ATTACK/FILEUPLOAD"]
非常简单吧,下一步,计划介绍一下nginx服务器的防护。

注意!!!!!!!!!!!!!!
一旦这样修改了以后,使用IP地址就显示403错误!!!!!!为了这个错误,搞了一天,在网上搜各种403错误就是不行,为什么呢????
查看errol.log 就可以发现,是modsecurity里面禁止了使用IP访问!!!!!!使用localhost就可以正常访问了。。。
所以,看日志是一个很重要的事儿

--结束END--

本文标题: Apache下ModSecurity的安装启用与配置

本文链接: https://lsjlt.com/news/19918.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Apache下ModSecurity的安装启用与配置
    ModSecurity 是一个强大的NDyHzMVUj包过滤工具,将检查每一个进入web服务器的包。它将根据内部规则,比较每一个包,并且确定是否需要禁止这个包或继续发送给web服务器。 1、下载 modsecurity...
    99+
    2022-06-04
    Apache ModSecurity安装
  • Python+Apache环境安装与配置
    Python和Apache也有直接集成、CGI、FastCGI三种配置方式: 1.直接集成 直接将Python以mod_python模块的形式集成到Apache中。客户端请求到达apache,apache找到cgi脚本后,在服务器上直接...
    99+
    2023-01-31
    环境 Python Apache
  • Apache的下载与安装
    目录 一、下载 二、解压与安装 三、验证安装 四、常见问题​​​​​​​         由于apache是外网的东西,不稳定,有时候难访问与下载。所以给大家提供一个2.4.54_x64-vs17.zip 链接:https://pan....
    99+
    2023-10-05
    apache php 开发语言
  • Ubuntu中如何安装与配置Apache
    这篇文章主要介绍了Ubuntu中如何安装与配置Apache的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Ubuntu中如何安装与配置Apache文章都会有所收获,下面我们一起来看看吧。1. 安装Ubuntu20...
    99+
    2023-07-04
  • Ubuntu Apache如何配置安装与ROR应用
    小编给大家分享一下Ubuntu Apache如何配置安装与ROR应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我使用的是 Ubuntu Apache-alte...
    99+
    2023-06-16
  • 2022IDEA的下载、安装、配置与使用
    文章目录 1.IntelliJ IDEA 介绍1.2 JetBrains 公司介绍1.2 IntelliJ IDEA 介绍1.3 IDEA 的主要功能介绍1.3.1 语言支持上1.3.2 其他支持 1.4 IDEA 的主要优势...
    99+
    2023-08-16
    java 数据库 idea maven github
  • Linux下MongoDB安装与配置
    CentOS6上安装MongoDB3.0.3版本:mongodb-linux-x86_64-rhel62-3.0.5.tgz安装openssl#yum install -y openssl-devel op...
    99+
    2024-04-02
  • Centos6.6下Postgresql9.6.6安装与配置
    一、环境介绍系统平台:CentOS release 6.6 (Final)Postgresql:postgresql-9.6.6SELINUX=disabledIptables关闭二、安装过程1.安装依赖包...
    99+
    2024-04-02
  • RedHat9.0下Apache+PHP+MySQL服务器的安装配置
    本篇内容主要讲解“RedHat9.0下Apache+PHP+MySQL服务器的安装配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“RedHat9.0下Apache+PHP+MySQL服务器的安...
    99+
    2023-06-10
  • Windows下MySQL下载安装、配置与使用
    用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤。 (我这个写得有点太详细了,甚至有些繁...
    99+
    2024-04-02
  • windows下安装apache并配置ssl全过程
    步骤1:配置 APACHE以支持SSL 找到下面两行去掉前面的注释 # LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf...
    99+
    2023-06-04
    windows apache 配置ssl ssl 全过程
  • Linux下Mongodb安装和启动配置
    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mong...
    99+
    2024-04-02
  • CentOS extmail安装配置以及apache与extman安装是怎样的
    本篇文章给大家分享的是有关CentOS extmail安装配置以及apache与extman安装是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。CentOS extmai...
    99+
    2023-06-16
  • centos7下YUM mysql5.7安装与配置
    1、环境准备: 安 装 环 境:CentOS Linux release 7.7.1908 (Core) 数据库版本:mysql 5.7 配置yum源: 在MySQL官网中下载yum源就是rpm包 地址:https://dev.mysql....
    99+
    2019-10-09
    centos7下YUM mysql5.7安装与配置 数据库入门 数据库基础教程 数据库 mysql
  • Windows下MySQL下载与安装、配置与使用教程
    MySQL的概述 MySQL是一个关系型数据库管理系统,一个数据库是一个结构化的数据集合。最初是由瑞典MySQL AB公司开发,现在归属Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据...
    99+
    2024-04-02
  • linux9.0+apache+php+mysql安装与配置是怎么样的
    今天就跟大家聊聊有关linux9.0+apache+php+mysql安装与配置是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。, &nbs...
    99+
    2024-04-02
  • 下载安装php详细教程(在安装配置apache之后)
    家人们,这篇下载安装配置PHP,嘻嘻 好心情持续爆表! 还是看刚刚那篇文章,这个作者太感人了,真的好详细! this one 这个是下载界面php下载 下载红色标注的Zip文件,不要下错了!据说后续...
    99+
    2023-09-11
    php
  • Kafka kafka在windows下的安装与配置
    kafka在windows下的安装与配置   By: 授客 QQ:1033553122     1.测试环境................................................................
    99+
    2021-09-21
    Kafka kafka在windows下的安装与配置
  • ubuntu15.10下hadoop2.7.2的安装与配置详解
    网上和很多书上都有不少的hadoop在linux系统下的安装教程,但是尝试过的读者会发现,就算是按照这些教程一步步的操作,还是会在某个地方出错,主要原因是版本问题。尤其是书上的版本一般都较老,所以并不建议对着书上的教程来...
    99+
    2022-06-04
    ubuntu下安装配置hadoop ubuntu15.10下hadoop2.7.2的安装与配置详解
  • ruby下mysql的安装与配置方法
    本篇内容主要讲解“ruby下mysql的安装与配置方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ruby下mysql的安装与配置方法”吧!ruby on r...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作