mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-26 02:42:58 +02:00
Korrekturen im IDS System
Division by 0 in den grafischen Firewallogs unterbunden Backup Loesung fuer IPFire angefangen fehlende Perl Module ins MPFire Paket eingebunden Writeipac auf neue Config Types angepasst git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@666 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
49
config/backup/backup.pl
Normal file
49
config/backup/backup.pl
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
require '/var/ipfire/general-functions.pl';
|
||||
require "${General::swroot}/lang.pl";
|
||||
require "${General::swroot}/header.pl";
|
||||
|
||||
my $debug = 1;
|
||||
my @include = "";
|
||||
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
|
||||
$Jahr = $Jahr + 1900;$Monat = $Monat + 1;
|
||||
$Monat = sprintf("%02d", $Monat);
|
||||
$Monatstag = sprintf("%02d", $Monatstag);
|
||||
$Stunden = sprintf("%02d", $Stunden);
|
||||
$Minuten = sprintf("%02d", $Minuten);
|
||||
|
||||
if ($ARGV[0] eq 'include') {
|
||||
&createinclude;
|
||||
open(DATEI, ">/tmp/include") || die "Could not save temp include file";
|
||||
print DATEI @include;
|
||||
close(DATEI);
|
||||
system("tar -cvzf /var/ipfire/backup/$Jahr$Monat$Monatstag-$Stunden:$Minuten.ipf --files-from=/tmp/include --exclude-from=/var/ipfire/backup/exclude");
|
||||
system("rm /tmp/include");
|
||||
}
|
||||
|
||||
if ($ARGV[0] eq 'exclude') {
|
||||
&createinclude;
|
||||
open(DATEI, ">/tmp/include") || die "Could not save temp include file";
|
||||
print DATEI @include;
|
||||
close(DATEI);
|
||||
system("tar -cvzf /var/ipfire/backup/$Jahr$Monat$Monatstag-$Stunden:$Minuten.ipf --files-from='/tmp/include' --exclude-from='/var/ipfire/backup/exclude'");
|
||||
system("rm /tmp/include");
|
||||
}
|
||||
|
||||
sub createinclude(){
|
||||
|
||||
open(DATEI, "<${General::swroot}/backup/include") || die "Can not open include file";
|
||||
my @Zeilen = <DATEI>;
|
||||
close(DATEI);
|
||||
|
||||
foreach (@Zeilen){
|
||||
if ( $_ =~ /\*/){
|
||||
my @files = `ls $_`;
|
||||
foreach (@files){
|
||||
push(@include,$_);
|
||||
}
|
||||
}
|
||||
else {push(@include,$_);}
|
||||
}
|
||||
}
|
||||
1
config/backup/exclude
Normal file
1
config/backup/exclude
Normal file
@@ -0,0 +1 @@
|
||||
*.tmp
|
||||
3
config/backup/include
Normal file
3
config/backup/include
Normal file
@@ -0,0 +1,3 @@
|
||||
/var/ipfire/*/settings
|
||||
/var/ipfire/*/*.conf
|
||||
/var/ipfire/*/*.pem
|
||||
@@ -1259,6 +1259,7 @@ srv/web/ipfire/cgi-bin/aliases.cgi
|
||||
#srv/web/ipfire/cgi-bin/asterisk.cgi/calls
|
||||
#srv/web/ipfire/cgi-bin/asterisk.cgi/conf
|
||||
#srv/web/ipfire/cgi-bin/asterisk.cgi/status
|
||||
srv/web/ipfire/cgi-bin/backup.cgi
|
||||
srv/web/ipfire/cgi-bin/chpasswd.cgi
|
||||
srv/web/ipfire/cgi-bin/connections.cgi
|
||||
srv/web/ipfire/cgi-bin/connscheduler.cgi
|
||||
|
||||
@@ -7,3 +7,8 @@ var/ipfire/mpfire/db
|
||||
var/ipfire/mpfire/db/songs.db
|
||||
var/ipfire/mpfire/playlist
|
||||
var/ipfire/mpfire/settings
|
||||
usr/lib/perl5/site_perl/5.8.8/MP3/Info.pm
|
||||
usr/lib/perl5/site_perl/5.8.8/MP3/Tag.pm
|
||||
usr/lib/perl5/site_perl/5.8.8/MP3/Tag/File.pm
|
||||
usr/lib/perl5/site_perl/5.8.8/MP3/Tag/ID3v1.pm
|
||||
usr/lib/perl5/site_perl/5.8.8/MP3/Tag/ID3v2.pm
|
||||
|
||||
@@ -41,7 +41,6 @@ WARNING: translation string unused: apply
|
||||
WARNING: translation string unused: archive not exist
|
||||
WARNING: translation string unused: available updates
|
||||
WARNING: translation string unused: average
|
||||
WARNING: translation string unused: backup
|
||||
WARNING: translation string unused: backup config floppy
|
||||
WARNING: translation string unused: backup configuration
|
||||
WARNING: translation string unused: backup export key
|
||||
|
||||
@@ -43,7 +43,6 @@ WARNING: translation string unused: apply
|
||||
WARNING: translation string unused: archive not exist
|
||||
WARNING: translation string unused: available updates
|
||||
WARNING: translation string unused: average
|
||||
WARNING: translation string unused: backup
|
||||
WARNING: translation string unused: backup archive
|
||||
WARNING: translation string unused: backup clear archive
|
||||
WARNING: translation string unused: backup config floppy
|
||||
|
||||
82
html/cgi-bin/backup.cgi
Normal file
82
html/cgi-bin/backup.cgi
Normal file
@@ -0,0 +1,82 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# IPFire CGIs
|
||||
#
|
||||
# This code is distributed under the terms of the GPL
|
||||
#
|
||||
# (c) The IPFire Team
|
||||
|
||||
use strict;
|
||||
# enable only the following on debugging purpose
|
||||
use warnings;
|
||||
use CGI::Carp 'fatalsToBrowser';
|
||||
|
||||
require '/var/ipfire/general-functions.pl';
|
||||
require "${General::swroot}/lang.pl";
|
||||
require "${General::swroot}/header.pl";
|
||||
|
||||
my %color = ();
|
||||
my %mainsettings = ();
|
||||
my %backupsettings = ();
|
||||
my %checked = ();
|
||||
my $message = "";
|
||||
my $errormessage = "";
|
||||
my @backups = `cd /var/ipfire/backup/ && ls *.ipf`;
|
||||
|
||||
|
||||
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
|
||||
&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
|
||||
|
||||
&Header::showhttpheaders();
|
||||
&Header::getcgihash(\%backupsettings);
|
||||
|
||||
&Header::openpage($Lang::tr{'backup'}, 1, "");
|
||||
&Header::openbigbox('100%', 'left', '', $errormessage);
|
||||
|
||||
############################################################################################################################
|
||||
######################################## Scanne Verzeichnisse nach Mp3 Dateien #############################################
|
||||
|
||||
if ( $backupsettings{'ACTION'} eq "backup" )
|
||||
{
|
||||
if ( $backupsettings{'BACKUPLOGS'} eq "include" ){system("/usr/local/bin/backupctrl include");}
|
||||
else {system("/usr/local/bin/backupctrl exclude");}
|
||||
}
|
||||
|
||||
############################################################################################################################
|
||||
########################################### rekursiv nach neuen Mp3s Scannen ##############################################ä
|
||||
|
||||
if ( $message ne "" ) { print "<font color='red'>$message</font>"; }
|
||||
|
||||
&Header::openbox('100%', 'center', $Lang::tr{'backup'});
|
||||
|
||||
print <<END
|
||||
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
|
||||
<table width='95%' cellspacing='0'>
|
||||
<tr><td align='left' width='40%'>$Lang::tr{'logs'}</td><td align='left'>include Logfiles <input type='radio' name='BACKUPLOGS' value='include' checked='checked'/>/
|
||||
<input type='radio' name='BACKUPLOGS' value='exclude'/> exclude Logfiles</td></tr>
|
||||
<tr><td align='center' colspan='2'><input type='hidden' name='ACTION' value='backup' />
|
||||
<input type='image' alt='$Lang::tr{'Scan for Files'}' title='$Lang::tr{'Scan for Files'}' src='/images/edit-find.png' /></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
END
|
||||
;
|
||||
&Header::closebox();
|
||||
|
||||
&Header::openbox('100%', 'center', $Lang::tr{'backups'});
|
||||
|
||||
print <<END
|
||||
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
|
||||
<table width='95%' cellspacing='0'>
|
||||
END
|
||||
;
|
||||
foreach (@backups){
|
||||
print "<tr><td align='left' width='40%'>$Lang::tr{'backup from'}</td><td align='left'>$_</td></tr>";
|
||||
}
|
||||
print <<END
|
||||
</table>
|
||||
</form>
|
||||
END
|
||||
;
|
||||
&Header::closebox();
|
||||
&Header::closebigbox();
|
||||
&Header::closepage();
|
||||
@@ -52,7 +52,7 @@ $snortsettings{'INSTALLMD5'} = '';
|
||||
&Header::getcgihash(\%snortsettings, {'wantfile' => 1, 'filevar' => 'FH'});
|
||||
|
||||
####################### Added for snort rules control #################################
|
||||
my $snortrulepath;
|
||||
my $snortrulepath; # change to "/etc/snort/rules" - maniac
|
||||
my @snortconfig;
|
||||
my $restartsnortrequired = 0;
|
||||
my %snortrules;
|
||||
@@ -75,9 +75,14 @@ if (-e "/etc/snort/snort.conf") {
|
||||
|
||||
# Loop over each line
|
||||
foreach my $line (@snortconfig) {
|
||||
# Trim the line
|
||||
# Trim the line
|
||||
chomp $line;
|
||||
|
||||
# my @rules = `ls $snortrulepath`; With this loop the rule might be display with correct rulepath set
|
||||
# foreach my $line (@rules) {
|
||||
# # Trim the line
|
||||
# chomp $line;
|
||||
|
||||
# Check for a line with .rules
|
||||
if ($line =~ /\.rules$/) {
|
||||
# Parse out rule file name
|
||||
@@ -448,155 +453,156 @@ 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'>";
|
||||
#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%'> </td>
|
||||
# <td width='33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' /></td>
|
||||
# <td width='33%'>
|
||||
# <!-- space for future online help link -->
|
||||
# </td>
|
||||
#</tr>
|
||||
#</table>
|
||||
#</form>
|
||||
#END
|
||||
#;
|
||||
# &Header::closebox();
|
||||
#}
|
||||
|
||||
# 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%'> </td>
|
||||
<td width='33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' /></td>
|
||||
<td width='33%'>
|
||||
<!-- space for future online help link -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
END
|
||||
;
|
||||
&Header::closebox();
|
||||
}
|
||||
####################### End added for snort rules control #################################
|
||||
&Header::closebigbox();
|
||||
&Header::closepage();
|
||||
|
||||
@@ -423,6 +423,7 @@ my $show=0;
|
||||
|
||||
my $s;
|
||||
my $percent;
|
||||
|
||||
for($s=0;$s<$lines;$s++)
|
||||
{
|
||||
$show++;
|
||||
@@ -466,6 +467,8 @@ if ( ($color % 10) == 8 ){print "<TR BGCOLOR='$color{'color8'}'>\n";}
|
||||
if ( ($color % 10) == 9 ){print "<TR BGCOLOR='$color{'color9'}'>\n";}
|
||||
if ( ($color % 10) == 0 ){print "<TR BGCOLOR='$color{'color10'}'>\n";}
|
||||
|
||||
if ( $linesjc ne "0")
|
||||
{
|
||||
my $dif;
|
||||
$dif = $linesjc - $total;
|
||||
$percent = $dif * 100 / $linesjc;
|
||||
@@ -480,6 +483,7 @@ print <<END
|
||||
END
|
||||
;
|
||||
}
|
||||
}
|
||||
print <<END
|
||||
</TABLE>
|
||||
END
|
||||
|
||||
@@ -459,6 +459,8 @@ if ( ($color % 10) == 8 ){print "<TR BGCOLOR='$color{'color8'}'>\n";}
|
||||
if ( ($color % 10) == 9 ){print "<TR BGCOLOR='$color{'color9'}'>\n";}
|
||||
if ( ($color % 10) == 0 ){print "<TR BGCOLOR='$color{'color10'}'>\n";}
|
||||
|
||||
if ( $linesjc ne "0")
|
||||
{
|
||||
my $dif;
|
||||
$dif = $linesjc - $total;
|
||||
$percent = $dif * 100 / $linesjc;
|
||||
@@ -472,6 +474,7 @@ print <<END
|
||||
END
|
||||
;
|
||||
}
|
||||
}
|
||||
print <<END
|
||||
</TABLE>
|
||||
END
|
||||
|
||||
@@ -328,6 +328,7 @@
|
||||
'backup config floppy' => 'Backup-Konfiguration - Diskette',
|
||||
'backup configuration' => 'Backup-Konfiguration:',
|
||||
'backup export key' => 'Exportiere Backup Schlüssel',
|
||||
'backup from' => 'Backup von',
|
||||
'backup generate key' => 'Erzeuge Schlüssel',
|
||||
'backup import dat file' => 'Importiere eine Backup- (.dat) Datei',
|
||||
'backup key' => 'Chriffrierungs-Schlüssel sichern',
|
||||
@@ -336,6 +337,7 @@
|
||||
'backup sets' => 'Datensicherungssätze',
|
||||
'backup to floppy' => 'Datensicherung auf Diskette',
|
||||
'backupprofile' => 'Falls die Wiederverbindung scheitert, auf Profil umschalten',
|
||||
'backups' => 'Sicherungen',
|
||||
'bad characters in' => 'Ungültige Zeichen in ',
|
||||
'bad characters in script field' => 'Nicht erlaubte Zeichen im Skriptnamen',
|
||||
'bad characters in the telephone number field' => 'Nicht erlaubte(s) Zeichen im Feld Telefonnummer.',
|
||||
@@ -944,6 +946,7 @@
|
||||
'logging' => 'Logging',
|
||||
'logging server' => 'Protokollierungs-Server',
|
||||
'loginlogout' => 'Login/Logout',
|
||||
'logs' => 'Logdateien',
|
||||
'lookup failed' => 'Reverse Lookup gescheitert',
|
||||
'loosedirectorychecking' => 'Loose directorychecking',
|
||||
'low' => 'Niedrig',
|
||||
|
||||
@@ -340,6 +340,7 @@
|
||||
'backup explain key no2' => 'legacy floppy backups are not concerned with this key.',
|
||||
'backup export key' => 'Export key',
|
||||
'backup extract key' => 'Extract key',
|
||||
'backup from' => 'backup from',
|
||||
'backup generate key' => 'Generate key',
|
||||
'backup import dat file' => 'Import a backup (.dat) file',
|
||||
'backup import key' => 'Import key',
|
||||
@@ -352,6 +353,7 @@
|
||||
'backup sets' => 'Backup Sets',
|
||||
'backup to floppy' => 'Backup to floppy',
|
||||
'backupprofile' => 'In case reconnection fails, switch to profile',
|
||||
'backups' => 'backups',
|
||||
'bad characters in script field' => 'Bad characters in script field',
|
||||
'bad characters in the telephone number field' => 'Bad characters in the telephone number field.',
|
||||
'bad destination range' => 'The Destination port range has a first value that is greater than or equal to the second value.',
|
||||
@@ -956,6 +958,7 @@
|
||||
'logging' => 'Logging',
|
||||
'logging server' => 'Logging server',
|
||||
'loginlogout' => 'Login/Logout',
|
||||
'logs' => 'logs',
|
||||
'lookup failed' => 'Reverse lookup failed',
|
||||
'loosedirectorychecking' => 'Loosedirectorychecking',
|
||||
'low' => 'Low',
|
||||
|
||||
68
lfs/backup
Normal file
68
lfs/backup
Normal file
@@ -0,0 +1,68 @@
|
||||
###############################################################################
|
||||
# This file is part of the IPCop Firewall. #
|
||||
# #
|
||||
# IPCop is free software; you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
# the Free Software Foundation; either version 2 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
# IPCop is distributed in the hope that it will be useful, #
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||
# GNU General Public License for more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License #
|
||||
# along with IPCop; if not, write to the Free Software #
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
# #
|
||||
# Makefiles are based on LFSMake, which is #
|
||||
# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Definitions
|
||||
###############################################################################
|
||||
|
||||
include Config
|
||||
|
||||
VER = ipfire
|
||||
|
||||
THISAPP = backup-$(VER)
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
PROG = backup
|
||||
PAK_VER = 1
|
||||
|
||||
DESCDE = "In Backup sind alle notwendigen Dateien für das Backup des IPFire enthalten"
|
||||
DESCEN = "Backup contains all Files necessary for backup the IPFire"
|
||||
DEPS = "backup"
|
||||
|
||||
###############################################################################
|
||||
# Top-level Rules
|
||||
###############################################################################
|
||||
|
||||
objects =
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
check :
|
||||
|
||||
download :
|
||||
|
||||
md5 :
|
||||
|
||||
dist:
|
||||
@$(PAK)
|
||||
|
||||
###############################################################################
|
||||
# Installation Details
|
||||
###############################################################################
|
||||
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
-mkdir -p /var/ipfire/backup/bin
|
||||
install -v -m 755 $(DIR_SRC)/config/backup/backup.pl /var/ipfire/backup/bin
|
||||
install -v -m 644 $(DIR_SRC)/config/backup/include /var/ipfire/backup/
|
||||
install -v -m 644 $(DIR_SRC)/config/backup/exclude /var/ipfire/backup/
|
||||
@$(POSTBUILD)
|
||||
1
make.sh
1
make.sh
@@ -504,6 +504,7 @@ buildipfire() {
|
||||
ipfiremake asterisk
|
||||
ipfiremake mpg123
|
||||
ipfiremake mpfire
|
||||
ipfiremake backup
|
||||
ipfiremake libmad
|
||||
ipfiremake libogg
|
||||
ipfiremake libvorbis
|
||||
|
||||
@@ -30,7 +30,7 @@ print FILE "outgoing GREEN ($settings{'GREEN_DEV'})|ipac~i|$settings{'GREEN_DEV'
|
||||
print FILE "forwarded incoming GREEN ($settings{'GREEN_DEV'})|ipac~fi|$settings{'GREEN_DEV'}|all|||\n";
|
||||
print FILE "forwarded outgoing GREEN ($settings{'GREEN_DEV'})|ipac~fo|$settings{'GREEN_DEV'}|all|||\n";
|
||||
|
||||
if ($settings{'CONFIG_TYPE'} =~ /^(1|3|5|7)$/ )
|
||||
if ($settings{'CONFIG_TYPE'} =~ /^(2|4)$/ )
|
||||
{
|
||||
print FILE "incoming ORANGE ($settings{'ORANGE_DEV'})|ipac~o|$settings{'ORANGE_DEV'}|all|||\n";
|
||||
print FILE "outgoing ORANGE ($settings{'ORANGE_DEV'})|ipac~i|$settings{'ORANGE_DEV'}|all|||\n";
|
||||
@@ -38,7 +38,7 @@ if ($settings{'CONFIG_TYPE'} =~ /^(1|3|5|7)$/ )
|
||||
print FILE "forwarded outgoing ORANGE ($settings{'ORANGE_DEV'})|ipac~fo|$settings{'ORANGE_DEV'}|all|||\n";
|
||||
}
|
||||
|
||||
if ($settings{'CONFIG_TYPE'} =~ /^(4|5|6|7)$/ )
|
||||
if ($settings{'CONFIG_TYPE'} =~ /^(3|4)$/ )
|
||||
{
|
||||
print FILE "incoming BLUE ($settings{'BLUE_DEV'})|ipac~o|$settings{'BLUE_DEV'}|all|||\n";
|
||||
print FILE "outgoing BLUE ($settings{'BLUE_DEV'})|ipac~i|$settings{'BLUE_DEV'}|all|||\n";
|
||||
|
||||
@@ -40,7 +40,7 @@ if [ "$ENABLE_SNORT" == "on" ]; then
|
||||
else
|
||||
exit 1 ## Add error handling here
|
||||
fi
|
||||
DEVICES+="`cat /var/ipfire/red/iface` "
|
||||
DEVICES+=`cat /var/ipfire/red/iface`
|
||||
fi
|
||||
|
||||
COUNT=`echo $HOME_NET | wc -m`
|
||||
@@ -62,7 +62,7 @@ case "$1" in
|
||||
start)
|
||||
for DEVICE in $DEVICES; do
|
||||
boot_mesg "Starting Intrusion Detection System on $DEVICE..."
|
||||
/usr/sbin/snort -c /etc/snort/snort.conf -i $DEVICE -D -l /var/log/snort --pid-path /var/run/snort_$DEVICE.pid
|
||||
/usr/sbin/snort -c /etc/snort/snort.conf -i $DEVICE -D -l /var/log/snort --pid-path /var/run/
|
||||
evaluate_retval
|
||||
chmod 644 /var/run/snort_$DEVICE.pid
|
||||
done
|
||||
@@ -79,14 +79,18 @@ case "$1" in
|
||||
if [ -r /var/run/snort_$ORANGE_DEV.pid ]; then
|
||||
DEVICES+="$ORANGE_DEV "
|
||||
fi
|
||||
if [ "$ENABLE_SNORT" == "on" ]; then
|
||||
DEVICES+="`cat /var/ipfire/red/iface` "
|
||||
|
||||
RED=`cat /var/ipfire/red/iface`
|
||||
if [ -r /var/run/snort_$RED.pid ]; then
|
||||
DEVICES+=`cat /var/ipfire/red/iface`
|
||||
fi
|
||||
|
||||
for DEVICE in $DEVICES; do
|
||||
for DEVICE in $DEVICES; do
|
||||
boot_mesg "Stopping Intrusion Detection System on $DEVICE..."
|
||||
killproc -p /var/run/snort_$DEVICE.pid /var/run
|
||||
done
|
||||
|
||||
rm /var/run/snort_*
|
||||
;;
|
||||
|
||||
status)
|
||||
|
||||
Reference in New Issue
Block a user