mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-11 11:35:54 +02:00
ids.cgi: Generate suricata compatiple used-rulefiles file
* Rename filename to suricata-used-rulefiles.yaml * Adjust file generation as a yaml file to be compatible with suricata * Adjust code to correctly read-in and parse the changed file Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
This commit is contained in:
@@ -47,7 +47,7 @@ my %selected=();
|
||||
# Get netsettings.
|
||||
&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
|
||||
|
||||
my $idsusedrulefilesfile = "$IDS::settingsdir/ids-used-rulefiles.conf";
|
||||
my $idsusedrulefilesfile = "$IDS::settingsdir/suricata-used-rulefiles.yaml";
|
||||
my $errormessage;
|
||||
|
||||
&Header::showhttpheaders();
|
||||
@@ -130,7 +130,7 @@ if(-f $idsusedrulefilesfile) {
|
||||
next if ($line =~ /^\s*$/);
|
||||
|
||||
# Gather rule sid and message from the ruleline.
|
||||
if ($line =~ /.*include \$RULE_PATH\/(.*)/) {
|
||||
if ($line =~ /.*- (.*)/) {
|
||||
my $rulefile = $1;
|
||||
|
||||
# Add the rulefile to the %idsrules hash.
|
||||
@@ -234,6 +234,10 @@ if ($cgiparams{'RULESET'} eq $Lang::tr{'update'}) {
|
||||
# Open file for used rulefiles.
|
||||
open (FILE, ">$idsusedrulefilesfile") or die "Could not write to $idsusedrulefilesfile. $!\n";
|
||||
|
||||
# Write yaml header to the file.
|
||||
print FILE "%YAML 1.1\n";
|
||||
print FILE "---\n\n";
|
||||
|
||||
# Write header to file.
|
||||
print FILE "#Autogenerated file. Any custom changes will be overwritten!\n";
|
||||
|
||||
@@ -241,7 +245,7 @@ if ($cgiparams{'RULESET'} eq $Lang::tr{'update'}) {
|
||||
if (@enabled_rulefiles) {
|
||||
# Loop through the array of rulefiles which should be loaded and write the to the file.
|
||||
foreach my $file (@enabled_rulefiles) {
|
||||
print FILE "include \$RULE_PATH/$file\n";
|
||||
print FILE " - $file\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user