]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/ids.cgi
IDS Rules wieder aktiviert
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / ids.cgi
index 30589567bda6b3f84786d196ef9da0ce7cb61bd2..16a94451181c92967ba3efaba0d7dade4bf01b9d 100644 (file)
@@ -453,155 +453,154 @@ if ($results ne '') {
 
 &Header::closebox();
 ####################### Added for snort rules control #################################
-#if ( -e "${General::swroot}/snort/enable" || -e "${General::swroot}/snort/enable_green" || -e "${General::swroot}/snort/enable_blue" || -e "${General::swroot}/snort/enable_orange" ) {
-#      &Header::openbox('100%', 'LEFT', $Lang::tr{'intrusion detection system rules'});
-#              # Output display table for rule files
-#              print "<TABLE width='100%'><TR><TD VALIGN='TOP'><TABLE>";
-#              
-#              print "<form method='post'>";
-#
-#              # Local vars
-#              my $ruledisplaycnt = 1;
-#              my $rulecnt = keys %snortrules;
-#              $rulecnt++;
-#              $rulecnt = $rulecnt / 2;
-#
-#              # Loop over each rule file
-#              foreach my $rulefile (sort keys(%snortrules)) {
-#                      my $rulechecked = '';
-#
-#                      # Check if reached half-way through rule file rules to start new column
-#              if ($ruledisplaycnt > $rulecnt) {
-#                              print "</TABLE></TD><TD VALIGN='TOP'><TABLE>";
-#                              $ruledisplaycnt = 0;
-#                      }
-#
-#                      # Check if rule file is enabled
-#                      if ($snortrules{$rulefile}{"State"} eq 'Enabled') {
-#                              $rulechecked = 'CHECKED';
-#                      }
-#
-#                      # Create rule file link, vars array, and display flag
-#                      my $rulefilelink = "?RULEFILE=$rulefile";
-#                      my $rulefiletoclose = '';
-#                      my @queryvars = ();
-#                      my $displayrulefilerules = 0;
-#
-#                      # Check for passed in query string
-#                      if ($ENV{'QUERY_STRING'}) {
-#                              # Split out vars
-#                              @queryvars = split(/\&/, $ENV{'QUERY_STRING'});
-#
-#                              # Loop over values
-#                              foreach $value (@queryvars) {
-#                                      # Split out var pairs
-#                                      ($var, $linkedrulefile) = split(/=/, $value);
-#
-#                                      # Check if var is 'RULEFILE'
-#                                      if ($var eq 'RULEFILE') {
-#                                              # Check if rulefile equals linkedrulefile
-#                                              if ($rulefile eq $linkedrulefile) {
-#                                                      # Set display flag
-#                                                      $displayrulefilerules = 1;
-#
-#                                                      # Strip out rulefile from rulefilelink
-#                                                      $rulefilelink =~ s/RULEFILE=$linkedrulefile//g;
-#                                              } else {
-#                                                      # Add linked rule file to rulefilelink
-#                                                      $rulefilelink .= "&RULEFILE=$linkedrulefile";
-#                                              }
-#                                      }
-#                              }
-#                      }
-#
-#                      # Strip out extra & & ? from rulefilelink
-#                      $rulefilelink =~ s/^\?\&/\?/i;
-#
-#                      # Check for a single '?' and replace with page for proper link display
-#                      if ($rulefilelink eq '?') {
-#                              $rulefilelink = "ids.cgi";
-#                      }
-#
-#                      # Output rule file name and checkbox
-#                      print "<TR><TD CLASS='base' VALIGN='TOP'><INPUT TYPE='checkbox' NAME='SNORT_RULE_$rulefile' $rulechecked> <A HREF='$rulefilelink'>$rulefile</A></TD></TR>";
-#                      print "<TR><TD CLASS='base' VALIGN='TOP'>";
-#
-#                      # Check for empty 'Description'
-#                      if ($snortrules{$rulefile}{'Description'} eq '') {
-#                              print "<TABLE WIDTH='100%'><TR><TD CLASS='base'>No description available</TD></TR>";
-#                      } else {
-#                              # Output rule file 'Description'
-#                              print "<TABLE WIDTH='100%'><TR><TD CLASS='base'>$snortrules{$rulefile}{'Description'}</TD></TR>";
-#                      }
-#
-#                      # Check for display flag
-#                      if ($displayrulefilerules) {
-#                              # Rule file definition rule display
-#                              print "<TR><TD CLASS='base' VALIGN='TOP'><TABLE border=1><TR>";
-#
-#                              # Local vars
-#                              my $ruledefdisplaycnt = 0;
-#                              my $ruledefcnt = keys %{$snortrules{$rulefile}{"Definition"}};
-#                              $ruledefcnt++;
-#                              $ruledefcnt = $ruledefcnt / 2;
-#
-#                              # Loop over rule file rules
-#                              foreach my $ruledef (sort {$a <=> $b} keys(%{$snortrules{$rulefile}{"Definition"}})) {
-#                                      # Local vars
-#                                      my $ruledefchecked = '';
-#
-#                                      # If have display 2 rules, start new row
-#                                      if (($ruledefdisplaycnt % 2) == 0) {
-#                                              print "</TR><TR>";
-#                                              $ruledefdisplaycnt = 0;
-#                                      }
-#
-#                                      # Check for rules state
-#                                      if ($snortrules{$rulefile}{'Definition'}{$ruledef}{'State'} eq 'Enabled') {
-#                                              $ruledefchecked = 'CHECKED';
-#                                      }
-#
-#                                      # Create rule file rule's checkbox
-#                                      $checkboxname = "SNORT_RULE_$rulefile";
-#                                      $checkboxname .= "_$ruledef";
-#                                      print "<TD CLASS='base'><INPUT TYPE='checkbox' NAME='$checkboxname' $ruledefchecked> $snortrules{$rulefile}{'Definition'}{$ruledef}{'Description'}</TD>";
-#
-#                                      # Increment count
-#                                      $ruledefdisplaycnt++;
-#                              }
-#      
-#                              # If do not have second rule for row, create empty cell
-#                              if (($ruledefdisplaycnt % 2) != 0) {
-#                                      print "<TD CLASS='base'></TD>";
-#                              }
-#
-#                              # Close display table
-#                              print "</TR></TABLE></TD></TR>";
-#                      }
-#
-#                      # Close display table
-#                      print "</TABLE>";
-#
-#                      # Increment ruledisplaycnt
-#                      $ruledisplaycnt++;
-#              }
-#
-#      print "</TD></TR></TABLE></TD></TR></TABLE>";
-#      print <<END
-#<table width='100%'>
-#<tr>
-#      <td width='33%'>&nbsp;</td>
-#      <td width='33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' /></td>
-#      <td width='33%'>
-#              &nbsp; <!-- space for future online help link -->
-#      </td>
-#</tr>
-#</table>
-#</form>
-#END
-#;
-#      &Header::closebox();
-#}
+if ( -e "${General::swroot}/snort/enable" || -e "${General::swroot}/snort/enable_green" || -e "${General::swroot}/snort/enable_blue" || -e "${General::swroot}/snort/enable_orange" ) {
+       &Header::openbox('100%', 'LEFT', $Lang::tr{'intrusion detection system rules'});
+               # Output display table for rule files
+               print "<TABLE width='100%'><TR><TD VALIGN='TOP'><TABLE>";
+               
+               print "<form method='post'>";
+
+               # Local vars
+               my $ruledisplaycnt = 1;
+               my $rulecnt = keys %snortrules;
+               $rulecnt++;
+               $rulecnt = $rulecnt / 2;
+
+               # Loop over each rule file
+               foreach my $rulefile (sort keys(%snortrules)) {
+                       my $rulechecked = '';
+
+                       # Check if reached half-way through rule file rules to start new column
+               if ($ruledisplaycnt > $rulecnt) {
+                               print "</TABLE></TD><TD VALIGN='TOP'><TABLE>";
+                               $ruledisplaycnt = 0;
+               }
+
+                       # Check if rule file is enabled
+                       if ($snortrules{$rulefile}{"State"} eq 'Enabled') {
+                               $rulechecked = 'CHECKED';
+                       }
+
+                       # Create rule file link, vars array, and display flag
+               my $rulefilelink = "?RULEFILE=$rulefile";
+                       my $rulefiletoclose = '';
+                       my @queryvars = ();
+                       my $displayrulefilerules = 0;
+
+                       # Check for passed in query string
+                       if ($ENV{'QUERY_STRING'}) {
+                               # Split out vars
+                       @queryvars = split(/\&/, $ENV{'QUERY_STRING'});
+
+                               # Loop over values
+                               foreach $value (@queryvars) {
+                                       # Split out var pairs
+                               ($var, $linkedrulefile) = split(/=/, $value);
+
+                                       # Check if var is 'RULEFILE'
+                                       if ($var eq 'RULEFILE') {
+                                               # Check if rulefile equals linkedrulefile
+                                               if ($rulefile eq $linkedrulefile) {
+                                                       # Set display flag
+                                                       $displayrulefilerules = 1;
+
+                                                       # Strip out rulefile from rulefilelink
+                                                       $rulefilelink =~ s/RULEFILE=$linkedrulefile//g;
+                                               } else {
+                                                       # Add linked rule file to rulefilelink
+                                                       $rulefilelink .= "&RULEFILE=$linkedrulefile";
+                                               }
+                                       }
+                               }
+                       }
+                       # Strip out extra & & ? from rulefilelink
+                       $rulefilelink =~ s/^\?\&/\?/i;
+
+                       # Check for a single '?' and replace with page for proper link display
+                       if ($rulefilelink eq '?') {
+                               $rulefilelink = "ids.cgi";
+                       }
+
+                       # Output rule file name and checkbox
+                       print "<TR><TD CLASS='base' VALIGN='TOP'><INPUT TYPE='checkbox' NAME='SNORT_RULE_$rulefile' $rulechecked> <A HREF='$rulefilelink'>$rulefile</A></TD></TR>";
+                       print "<TR><TD CLASS='base' VALIGN='TOP'>";
+
+                       # Check for empty 'Description'
+                       if ($snortrules{$rulefile}{'Description'} eq '') {
+                               print "<TABLE WIDTH='100%'><TR><TD CLASS='base'>No description available</TD></TR>";
+                       } else {
+                               # Output rule file 'Description'
+                               print "<TABLE WIDTH='100%'><TR><TD CLASS='base'>$snortrules{$rulefile}{'Description'}</TD></TR>";
+                       }
+
+                       # Check for display flag
+                       if ($displayrulefilerules) {
+                               # Rule file definition rule display
+                               print "<TR><TD CLASS='base' VALIGN='TOP'><TABLE border=1><TR>";
+
+                               # Local vars
+                               my $ruledefdisplaycnt = 0;
+                               my $ruledefcnt = keys %{$snortrules{$rulefile}{"Definition"}};
+                               $ruledefcnt++;
+                               $ruledefcnt = $ruledefcnt / 2;
+
+                               # Loop over rule file rules
+                               foreach my $ruledef (sort {$a <=> $b} keys(%{$snortrules{$rulefile}{"Definition"}})) {
+                                       # Local vars
+                                       my $ruledefchecked = '';
+
+                                       # If have display 2 rules, start new row
+                                       if (($ruledefdisplaycnt % 2) == 0) {
+                                               print "</TR><TR>";
+                                               $ruledefdisplaycnt = 0;
+                                       }
+
+                                       # Check for rules state
+                                       if ($snortrules{$rulefile}{'Definition'}{$ruledef}{'State'} eq 'Enabled') {
+                                               $ruledefchecked = 'CHECKED';
+                                       }
+
+                                       # Create rule file rule's checkbox
+                                       $checkboxname = "SNORT_RULE_$rulefile";
+                                       $checkboxname .= "_$ruledef";
+                                       print "<TD CLASS='base'><INPUT TYPE='checkbox' NAME='$checkboxname' $ruledefchecked> $snortrules{$rulefile}{'Definition'}{$ruledef}{'Description'}</TD>";
+
+                                       # Increment count
+                                       $ruledefdisplaycnt++;
+                               }
+       
+                               # If do not have second rule for row, create empty cell
+                               if (($ruledefdisplaycnt % 2) != 0) {
+                                       print "<TD CLASS='base'></TD>";
+                               }
+
+                               # Close display table
+                               print "</TR></TABLE></TD></TR>";
+                       }
+
+                       # Close display table
+                       print "</TABLE>";
+
+                       # Increment ruledisplaycnt
+                       $ruledisplaycnt++;
+               }
+
+       print "</TD></TR></TABLE></TD></TR></TABLE>";
+       print <<END
+  <table width='100%'>
+  <tr>
+       <td width='33%'>&nbsp;</td>
+       <td width='33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' /></td>
+       <td width='33%'>
+               &nbsp; <!-- space for future online help link -->
+       </td>
+  </tr>
+  </table>
+  </form>
+END
+;
+       &Header::closebox();
+}
 
 #######################  End added for snort rules control  #################################
 &Header::closebigbox();