Skip to content

Commit f3b2160

Browse files
authored
Merge pull request #2381 from puppetlabs/maint/scope_patch
(BugFix) Update OS Family comparison to correctly match
2 parents 2632e3b + 314268f commit f3b2160

File tree

2 files changed

+37
-19
lines changed

2 files changed

+37
-19
lines changed

spec/classes/mod/security_spec.rb

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -159,24 +159,42 @@
159159
}
160160
end
161161

162-
it {
163-
is_expected.to contain_file('/etc/httpd/modsecurity.d/security_crs.conf').with_content \
164-
%r{^SecAction \\\n\s+\"id:900000,\\\n\s+phase:1,\\\n\s+nolog,\\\n\s+pass,\\\n\s+t:none,\\\n\s+setvar:tx.paranoia_level=1"$}
165-
is_expected.to contain_file('/etc/httpd/modsecurity.d/security_crs.conf').with_content \
166-
%r{^SecAction \\\n\s+\"id:900001,\\\n\s+phase:1,\\\n\s+nolog,\\\n\s+pass,\\\n\s+t:none,\\\n\s+setvar:tx.executing_paranoia_level=2"$}
167-
is_expected.to contain_file('/etc/httpd/modsecurity.d/security_crs.conf').with_content \
168-
%r{
169-
^SecAction\ \\\n
170-
\s+\"id:900700,\\\n
171-
\s+phase:1,\\\n
172-
\s+nolog,\\\n
173-
\s+pass,\\\n
174-
\s+t:none,\\\n
175-
\s+setvar:'tx.dos_burst_time_slice=30',\\\n
176-
\s+setvar:'tx.dos_counter_threshold=120',\\\n
177-
\s+setvar:'tx.dos_block_timeout=300'"$
178-
}x
179-
}
162+
if facts[:os]['release']['major'].to_i < 8 && facts[:os]['family'] == 'RedHat'
163+
it {
164+
is_expected.to contain_file('/etc/httpd/modsecurity.d/security_crs.conf').with_content \
165+
%r{
166+
^SecAction\ \\\n
167+
\ \ "id:'900001',\ \\\n
168+
\ \ phase:1,\ \\\n
169+
\ \ t:none,\ \\\n
170+
\ \ setvar:tx.critical_anomaly_score=5,\ \\\n
171+
\ \ setvar:tx.error_anomaly_score=4,\ \\\n
172+
\ \ setvar:tx.warning_anomaly_score=3,\ \\\n
173+
\ \ setvar:tx.notice_anomaly_score=2,\ \\\n
174+
\ \ nolog,\ \\\n
175+
\ \ pass"$
176+
}x
177+
}
178+
else
179+
it {
180+
is_expected.to contain_file('/etc/httpd/modsecurity.d/security_crs.conf').with_content \
181+
%r{^SecAction \\\n\s+\"id:900000,\\\n\s+phase:1,\\\n\s+nolog,\\\n\s+pass,\\\n\s+t:none,\\\n\s+setvar:tx.paranoia_level=1"$}
182+
is_expected.to contain_file('/etc/httpd/modsecurity.d/security_crs.conf').with_content \
183+
%r{^SecAction \\\n\s+\"id:900001,\\\n\s+phase:1,\\\n\s+nolog,\\\n\s+pass,\\\n\s+t:none,\\\n\s+setvar:tx.executing_paranoia_level=2"$}
184+
is_expected.to contain_file('/etc/httpd/modsecurity.d/security_crs.conf').with_content \
185+
%r{
186+
^SecAction\ \\\n
187+
\s+\"id:900700,\\\n
188+
\s+phase:1,\\\n
189+
\s+nolog,\\\n
190+
\s+pass,\\\n
191+
\s+t:none,\\\n
192+
\s+setvar:'tx.dos_burst_time_slice=30',\\\n
193+
\s+setvar:'tx.dos_counter_threshold=120',\\\n
194+
\s+setvar:'tx.dos_block_timeout=300'"$
195+
}x
196+
}
197+
end
180198
end
181199

182200
describe 'with invalid CRS parameters' do

templates/mod/security_crs.conf.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<% if scope['facts']['os']['family'] == 'Redhat' and scope['facts']['os']['release']['major'].to_i <= 7 -%>
1+
<% if scope['facts']['os']['family'] == 'RedHat' and scope['facts']['os']['release']['major'].to_i <= 7 -%>
22
# ---------------------------------------------------------------
33
# Core ModSecurity Rule Set ver.2.2.9
44
# Copyright (C) 2006-2012 Trustwave All rights reserved.

0 commit comments

Comments
 (0)