#!/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 %tripwiresettings = (); my %checked = (); my %netsettings = (); my $message = ""; my $errormessage = ""; my @Logs = qx(ls /var/ipfire/tripwire/report/); my $Log =$Lang::tr{'no log selected'}; ############################################################################################################################ ################################################# Tripwire Default Variablen ################################################ $tripwiresettings{'ROOT'} = '/usr/sbin'; $tripwiresettings{'POLFILE'} = '/var/ipfire/tripwire/tw.pol'; $tripwiresettings{'DBFILE'} = '/var/ipfire/tripwire/$(HOSTNAME).twd'; $tripwiresettings{'REPORTFILE'} = '/var/ipfire/tripwire/report/$(HOSTNAME)-$(DATE).twr'; $tripwiresettings{'SITEKEYFILE'} = '/var/ipfire/tripwire/site.key'; $tripwiresettings{'LOCALKEYFILE'} = '/var/ipfire/tripwire/$(HOSTNAME)-local.key'; $tripwiresettings{'EDITOR'} = '/usr/bin/vi'; $tripwiresettings{'LATEPROMPTING'} = 'false'; $tripwiresettings{'LOOSEDIRECTORYCHECKING'} = 'false'; $tripwiresettings{'MAILNOVIOLATIONS'} = 'false'; $tripwiresettings{'EMAILREPORTLEVEL'} = '3'; $tripwiresettings{'REPORTLEVEL'} = '3'; $tripwiresettings{'MAILMETHOD'} = 'SENDMAIL'; $tripwiresettings{'SMTPHOST'} = 'ipfire.myipfire.de'; $tripwiresettings{'SMTPPORT'} = '25'; $tripwiresettings{'SYSLOGREPORTING'} = 'false'; $tripwiresettings{'MAILPROGRAM'} = '/usr/sbin/sendmail -oi -t'; $tripwiresettings{'SITEKEY'} = 'IPFire'; $tripwiresettings{'LOCALKEY'} = 'IPFire'; $tripwiresettings{'ACTION'} = ''; ############################################################################################################################ ######################################################### Tripwire HTML Part ############################################### &Header::showhttpheaders(); &Header::getcgihash(\%tripwiresettings); &Header::openpage('Tripwire', 1, ''); &Header::openbigbox('100%', 'left', '', $errormessage); ############################################################################################################################ ############################################### Tripwire Config Datei erstellen ############################################ if ($tripwiresettings{'ACTION'} eq $Lang::tr{'save'}) { system("/usr/local/bin/tripwirectrl readconfig"); open (FILE, ">${General::swroot}/tripwire/tw.cfg") or die "Can't save tripwire config: $!"; flock (FILE, 2); print FILE <
$Lang::tr{'resetglobals'}
$Lang::tr{'defaultwarning'}

$Lang::tr{'yes'}
$Lang::tr{'no'}
END ; } if ($tripwiresettings{'ACTION'} eq 'generatepolicypw') { print <
$Lang::tr{'generatepolicy'}
$Lang::tr{'tripwirewarningpolicy'}

$Lang::tr{'sitekey'}
$Lang::tr{'yes'}
$Lang::tr{'no'}
END ; } if ($tripwiresettings{'ACTION'} eq 'policyresetpw') { print <
$Lang::tr{'resetpolicy'}
$Lang::tr{'tripwirewarningpolicy'}

$Lang::tr{'sitekey'}
$Lang::tr{'yes'}
$Lang::tr{'no'}
END ; } if ($tripwiresettings{'ACTION'} eq 'updatedatabasepw') { print <
$Lang::tr{'updatedatabase'}
$Lang::tr{'tripwirewarningdatabase'}

$Lang::tr{'localkey'}
$Lang::tr{'yes'}
$Lang::tr{'no'}
END ; } if ($tripwiresettings{'ACTION'} eq 'keyreset') { print <
$Lang::tr{'keyreset'}
$Lang::tr{'tripwirewarningkeys'}

$Lang::tr{'yes'}
$Lang::tr{'no'}
END ; } if ($tripwiresettings{'ACTION'} eq 'generatekeys') { print <
$Lang::tr{'generatekeys'}
$Lang::tr{'tripwirewarningkeys'}

$Lang::tr{'yes'}
$Lang::tr{'no'}
END ; } ############################################################################################################################ ######################################################## Tripwire Funktionen ############################################### if ($tripwiresettings{'ACTION'} eq 'globalresetyes'){system("/usr/local/bin/tripwirectrl globalreset");} if ($tripwiresettings{'ACTION'} eq 'generatekeysyes'){system("/usr/local/bin/tripwirectrl keys $tripwiresettings{'SITEKEY'} $tripwiresettings{'LOCALKEY'}");$tripwiresettings{'SITEKEY'} = 'IPFire';$tripwiresettings{'LOCALKEY'} = 'IPFire';} if ($tripwiresettings{'ACTION'} eq 'keyresetyes'){system("/usr/local/bin/tripwirectrl keys IPFire IPFire");$tripwiresettings{'SITEKEY'} = 'IPFire';$tripwiresettings{'LOCALKEY'} = 'IPFire';} if ($tripwiresettings{'ACTION'} eq 'resetpolicyyes'){system("/usr/local/bin/tripwirectrl resetpolicy tripwiresettings{'SITEKEY'}");$tripwiresettings{'SITEKEY'} = 'IPFire';} if ($tripwiresettings{'ACTION'} eq 'generatepolicyyes'){system("/usr/local/bin/tripwirectrl generatepolicy $tripwiresettings{'SITEKEY'}");$tripwiresettings{'SITEKEY'} = 'IPFire';} if ($tripwiresettings{'ACTION'} eq 'updatedatabaseyes'){system("/usr/local/bin/tripwirectrl updatedatabase $tripwiresettings{'LOCALKEY'}");$tripwiresettings{'LOCALKEY'} = 'IPFire';} if ($tripwiresettings{'ACTION'} eq 'generatereport'){system("/usr/local/bin/tripwirectrl generatereport");} ############################################################################################################################ ##################################################### Tripwire globale Optionen ############################################ &Header::openbox('100%', 'center', 'Tripwire'); print <
$Lang::tr{'basic options'}
$Lang::tr{'emailreportlevel'}
$Lang::tr{'reportlevel'}
$Lang::tr{'mailmethod'}
$Lang::tr{'smtphost'}
$Lang::tr{'smtpport'}
$Lang::tr{'mailprogramm'}

END ; if ($tripwiresettings{'ACTION'} eq 'globalcaption') { print <
$Lang::tr{'caption'}
$Lang::tr{'save settings'}
$Lang::tr{'restore settings'}
END ; } &Header::closebox(); ############################################################################################################################ ################################################### Tripwire Init Policy and keygen ######################################## &Header::openbox('100%', 'center', $Lang::tr{'generate tripwire keys and init'}); print <
$Lang::tr{'keys'}
$Lang::tr{'sitekey'}
$Lang::tr{'localkey'}

END ; if ($tripwiresettings{'ACTION'} eq 'keycaption') { print <
$Lang::tr{'caption'}
$Lang::tr{'generatekeys'}
$Lang::tr{'keyreset'}
END ; } &Header::closebox(); ############################################################################################################################ ################################################# Tripwire general functions ############################################### &Header::openbox('100%', 'center', $Lang::tr{'tripwire functions'}); print <
END ; if ($tripwiresettings{'ACTION'} eq 'policycaption') { print <
$Lang::tr{'caption'}
$Lang::tr{'generatepolicy'}
$Lang::tr{'resetpolicy'}
$Lang::tr{'generatereport'}
$Lang::tr{'updatedatabase'}
END ; } &Header::closebox(); ############################################################################################################################ ####################################################### Tripwire Init Policy ############################################### &Header::openbox('100%', 'center', $Lang::tr{'tripwire reports'}); print <
$Lang::tr{'log view'}

END ; if ($tripwiresettings{'ACTION'} eq 'showlog') { $Log = qx(/usr/local/bin/tripwirectrl tripwirelog $tripwiresettings{'LOG'}); #$Log=~s/\n/
/g; #$Log=~s/\t/.... /g; print <
LOG - $Log 

$tripwiresettings{'LOG'} END ; } &Header::closebox(); &Header::closebigbox(); &Header::closepage();