www-apache/modsecurity-crs: update to version 2.2.9 (last version before v3.)

Update the sedding and removal of experimental rules, and install slr_rules that are now compatible with mod_security v2.7

Package-Manager: portage-2.3.0
This commit is contained in:
Diego Elio Pettenò
2016-11-03 21:46:07 +00:00
parent 300981c2c5
commit 2b0a47c1be
2 changed files with 137 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST modsecurity-crs-2.2.6.tar.gz 291070 SHA256 1c837fc7ace28f732b5034c90a17635e31fe3c9a45425c079fd1fd6bae01b790 SHA512 0e6c2735814dd24ba2329bc756e382b0430937a703d492b2ac00f95af6598903961b43013e99cd49240fe6b7a5439a7b1b3e79c3b7a48828465252dafd586165 WHIRLPOOL d8c85f8e6db07ecbc5a9a680e843f485d87294c71ceeb84aa83e562441ea78db477f9850431ded67371fbe455438fb89fedb5d3070e524abebe53b3c9a039f72
DIST modsecurity-crs-2.2.7.tar.gz 294137 SHA256 54bc74815d6e6c3b476aec673a48e3ce08ee82b76bfe941408efab757aa8a0f7 SHA512 d0d3dac1b391c8ab730cc16546c9508d93c85dd674b2750d12fff99c17e5575b36bea0cf00e06fdd20c2db5dfdbdc3fd7bbaa26502988617632acfde1ee88927 WHIRLPOOL fc72bdbd5c79dffa0b2c65893cb8cdab0708705ce48ca3d49115339a5b4ff8cbe7cc42bcb49abd966243a2e48cb2af290ea125c6de4b185eb8b1c20e7eb66057
DIST modsecurity-crs-2.2.9.tar.gz 279898 SHA256 203669540abf864d40e892acf2ea02ec4ab47f9769747d28d79b6c2a501e3dfc SHA512 fc95cfff9d4ba9a4478c704e5d16e4054e514eb3ffb6343706840aad76607f997b4cc4b8b148adc5cb83743ea7996328d35b8556115de29d6a0e034b67591a09 WHIRLPOOL 8e741a5430905e061ba024e8ae2b5bd08ae19e6ae30d9ca8a0160c9f73afee7bfe57caf73ba7eecebc00e34141f5d46cb1378793a89c8c56966139c10f70c30a

View File

@@ -0,0 +1,136 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
GITHUB_USER=SpiderLabs
GITHUB_PROJECT=owasp-${PN}
DESCRIPTION="Core Rule Set for ModSecurity"
HOMEPAGE="http://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project"
SRC_URI="https://github.com/${GITHUB_USER}/${GITHUB_PROJECT}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE="lua geoip"
RDEPEND=">=www-apache/mod_security-2.7[lua?,geoip?]"
DEPEND=""
S="${WORKDIR}/${GITHUB_PROJECT}-${PV}"
RULESDIR=/etc/modsecurity
LUADIR=/usr/share/${PN}/lua
src_prepare() {
if ! use lua; then
# comment out this since it's in the same file as another one we want to keep
sed -i -e "/id:'900036'/s:^:#:" \
experimental_rules/modsecurity_crs_61_ip_forensics.conf || die
# remove these that rely on the presence of the lua files
rm \
experimental_rules/modsecurity_crs_16_scanner_integration.conf \
experimental_rules/modsecurity_crs_40_appsensor_detection_point_2.0_setup.conf \
experimental_rules/modsecurity_crs_40_appsensor_detection_point_2.1_request_exception.conf \
experimental_rules/modsecurity_crs_48_bayes_analysis.conf \
experimental_rules/modsecurity_crs_55_response_profiling.conf \
experimental_rules/modsecurity_crs_56_pvi_checks.conf \
|| die
else
# fix up the path to the scripts; there seems to be no
# consistency at all on how the rules are loaded.
sed -i \
-e "s:/etc/apache2/modsecurity-crs/lua/:${LUADIR}/:" \
-e "s:profile_page_scripts.lua:${LUADIR}/\0:" \
-e "s:/usr/local/apache/conf/crs/lua/:${LUADIR}/:" \
-e "s:/usr/local/apache/conf/modsec_current/base_rules/:${LUADIR}/:" \
-e "s:/etc/apache2/modsecurity-crs/lua/:${LUADIR}/:" \
-e "s:\.\./lua/:${LUADIR}/:" \
*_rules/*.conf || die
# fix up the shebang on the scripts
sed -i -e "s:/opt/local/bin/lua:/usr/bin/lua:" \
lua/*.lua || die
fi
sed -i \
-e '/SecGeoLookupDb/s:^:#:' \
-e '/SecGeoLookupDb/a# Gentoo already defines it in 79_modsecurity.conf' \
experimental_rules/modsecurity_crs_61_ip_forensics.conf \
experimental_rules/modsecurity_crs_11_proxy_abuse.conf || die
if ! use geoip; then
rm experimental_rules/modsecurity_crs_11_proxy_abuse.conf
if use lua; then
# only comment this out as the file is going to be used for other things
sed -i -e "/id:'900039'/,+1 s:^:#:" \
experimental_rules/modsecurity_crs_61_ip_forensics.conf || die
else
rm experimental_rules/modsecurity_crs_61_ip_forensics.conf || die
fi
fi
eapply_user
}
src_install() {
insinto "${RULESDIR}"
doins -r base_rules optional_rules experimental_rules slr_rules
insinto "${LUADIR}"
doins lua/*.lua
dodoc CHANGES README.md
(
cat - <<EOF
<IfDefine SECURITY>
EOF
cat modsecurity_crs_10_setup.conf.example
cat - <<EOF
Include /etc/modsecurity/base_rules/*.conf
# Include Trustwave SpiderLabs Research Team rules
# Include /etc/modsecurity/slr_rules/*.conf
# Not installed yet as of 2.2.6
# Optionally use the other rules as well
# Include /etc/modsecurity/optional_rules/*.conf
# Include /etc/modsecurity/experimental_rules/*.conf
</IfDefine>
# -*- apache -*-
# vim: ts=4 filetype=apache
EOF
) > "${T}"/"80_${PN}.conf"
insinto /etc/apache2/modules.d/
doins "${T}"/"80_${PN}.conf"
}
pkg_postinst() {
elog
elog "If you want to enable further rules, check the following directories:"
elog " ${RULESDIR}/optional_rules"
elog " ${RULESDIR}/experimental_rules"
elog ""
elog "Starting from version 2.0.9, the default for the Core Rule Set is again to block"
elog "when rules hit. If you wish to go back to the 2.0.8 method of anomaly scoring, you"
elog "should change 80_${PN}.conf so that you have these settings enabled:"
elog ""
elog " #SecDefaultAction \"phase:2,deny,log\""
elog " SecAction \"phase:1,t:none,nolog,pass,setvar:tx.anomaly_score_blocking=on\""
elog ""
elog "Starting from version 2.1.2 rules are installed, for consistency, under"
elog "/etc/modsecurity, and can be configured with the following file:"
elog " /etc/apache2/modules.d/80_${PN}.conf"
elog ""
}