]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - html/cgi-bin/tripwire.cgi
Viele kleine Änderungen an Samba und Tripwire
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / tripwire.cgi
1 #!/usr/bin/perl
2 #
3 # IPFire CGIs
4 #
5 # This code is distributed under the terms of the GPL
6 #
7 # (c) The IPFire Team
8
9 use strict;
10 # enable only the following on debugging purpose
11 use warnings;
12 use CGI::Carp 'fatalsToBrowser';
13
14 require '/var/ipfire/general-functions.pl';
15 require "${General::swroot}/lang.pl";
16 require "${General::swroot}/header.pl";
17
18 my %tripwiresettings = ();
19 my %checked = ();
20 my %netsettings = ();
21 my $message = "";
22 my $errormessage = "";
23 my @Logs = qx(ls -r /var/ipfire/tripwire/report/);
24 my $file = `ls -tr /var/ipfire/tripwire/report/ | tail -1`;
25 my $Log =$Lang::tr{'no log selected'};
26
27 ############################################################################################################################
28 ################################################# Tripwire Default Variablen ################################################
29
30 $tripwiresettings{'ROOT'} = '/usr/sbin';
31 $tripwiresettings{'POLFILE'} = '/var/ipfire/tripwire/tw.pol';
32 $tripwiresettings{'DBFILE'} = '/var/ipfire/tripwire/$(HOSTNAME).twd';
33 $tripwiresettings{'REPORTFILE'} = '/var/ipfire/tripwire/report/$(DATE).twr';
34 $tripwiresettings{'SITEKEYFILE'} = '/var/ipfire/tripwire/site.key';
35 $tripwiresettings{'LOCALKEYFILE'} = '/var/ipfire/tripwire/local.key';
36 $tripwiresettings{'EDITOR'} = '/usr/bin/vi';
37 $tripwiresettings{'LATEPROMPTING'} = 'false';
38 $tripwiresettings{'LOOSEDIRECTORYCHECKING'} = 'false';
39 $tripwiresettings{'MAILNOVIOLATIONS'} = 'false';
40 $tripwiresettings{'EMAILREPORTLEVEL'} = '3';
41 $tripwiresettings{'REPORTLEVEL'} = '3';
42 $tripwiresettings{'MAILMETHOD'} = 'SENDMAIL';
43 $tripwiresettings{'SMTPHOST'} = 'ipfire.myipfire.de';
44 $tripwiresettings{'SMTPPORT'} = '25';
45 $tripwiresettings{'SYSLOGREPORTING'} = 'false';
46 $tripwiresettings{'MAILPROGRAM'} = '/usr/sbin/sendmail -oi -t';
47 $tripwiresettings{'SITEKEY'} = 'ipfire';
48 $tripwiresettings{'LOCALKEY'} = 'ipfire';
49 $tripwiresettings{'ACTION'} = '';
50
51 &General::readhash("${General::swroot}/tripwire/settings", \%tripwiresettings);
52
53 ############################################################################################################################
54 ######################################################### Tripwire HTML Part ###############################################
55
56 &Header::showhttpheaders();
57 &Header::getcgihash(\%tripwiresettings);
58 &Header::openpage('Tripwire', 1, '');
59 &Header::openbigbox('100%', 'left', '', $errormessage);
60
61 ############################################################################################################################
62 ############################################### Tripwire Config Datei erstellen ############################################
63
64 if ($tripwiresettings{'ACTION'} eq $Lang::tr{'save'})
65 {
66 system("/usr/local/bin/tripwirectrl readconfig");
67 open (FILE, ">${General::swroot}/tripwire/twcfg.txt") or die "Can't save tripwire config: $!";
68 flock (FILE, 2);
69
70 print FILE <<END
71
72 ROOT =$tripwiresettings{'ROOT'}
73 POLFILE =$tripwiresettings{'POLFILE'}
74 DBFILE =$tripwiresettings{'DBFILE'}
75 REPORTFILE =$tripwiresettings{'REPORTFILE'}
76 SITEKEYFILE =$tripwiresettings{'SITEKEYFILE'}
77 LOCALKEYFILE =$tripwiresettings{'LOCALKEYFILE'}
78 EDITOR =$tripwiresettings{'EDITOR'}
79 LATEPROMPTING =$tripwiresettings{'LATEPROMPTING'}
80 LOOSEDIRECTORYCHECKING =$tripwiresettings{'LOOSEDIRECTORYCHECKING'}
81 MAILNOVIOLATIONS =$tripwiresettings{'MAILNOVIOLATIONS'}
82 EMAILREPORTLEVEL =$tripwiresettings{'EMAILREPORTLEVEL'}
83 REPORTLEVEL =$tripwiresettings{'REPORTLEVEL'}
84 MAILMETHOD =$tripwiresettings{'MAILMETHOD'}
85 SMTPHOST =$tripwiresettings{'SMTPHOST'}
86 SMTPPORT =$tripwiresettings{'SMTPPORT'}
87 SYSLOGREPORTING =$tripwiresettings{'SYSLOGREPORTING'}
88 MAILPROGRAM =$tripwiresettings{'MAILPROGRAM'}
89
90 END
91 ;
92 close FILE;
93
94 &General::writehash("${General::swroot}/tripwire/settings", \%tripwiresettings);
95 system("/usr/local/bin/tripwirectrl lockconfig");
96 }
97
98 ############################################################################################################################
99 ################################################## Sicherheitsabfrage für CGI ##############################################
100
101 if ($tripwiresettings{'ACTION'} eq 'globalreset')
102 {
103 print <<END
104 <br />
105 <table width='95%' cellspacing='0'>
106 <tr><td bgcolor='${Header::table1colour}' colspan='2' align='center'><b>$Lang::tr{'resetglobals'}</b>
107 <tr><td colspan='2' align='center'><font color=red>$Lang::tr{'defaultwarning'}<br /><br /></font></td></tr>
108 <tr><td align='right' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
109 $Lang::tr{'yes'} <input type='image' alt='$Lang::tr{'yes'}' src='/images/edit-redo.png' />
110 <input type='hidden' name='ACTION' value='globalresetyes' /></form></td>
111 <td align='left' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
112 <input type='image' alt='$Lang::tr{'no'}' src='/images/dialog-error.png' /> $Lang::tr{'no'}
113 <input type='hidden' name='ACTION' value='cancel' /></form></td>
114 </tr>
115 </table>
116 END
117 ;
118 }
119
120 if ($tripwiresettings{'ACTION'} eq 'generatepolicypw')
121 {
122 print <<END
123 <br />
124 <table width='95%' cellspacing='0'>
125 <tr><td bgcolor='${Header::table1colour}' colspan='2' align='center'><b>$Lang::tr{'generatepolicy'}</b>
126 <tr><td colspan='2' align='center'><font color=red>$Lang::tr{'tripwirewarningpolicy'}<br /><br /></font></td></tr>
127 <tr><td align='left' width='40%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>$Lang::tr{'sitekey'}</td><td align='left'><input type='password' name='SITEKEY' value='$tripwiresettings{'SITEKEY'}' size="30" /></td></tr>
128 <tr><td align='left' width='40%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>$Lang::tr{'localkey'}</td><td align='left'><input type='password' name='LOCALKEY' value='$tripwiresettings{'LOCALKEY'}' size="30" /></td></tr>
129 <tr><td align='right' width='50%'>
130 $Lang::tr{'yes'} <input type='image' alt='$Lang::tr{'yes'}' src='/images/edit-redo.png' />
131 <input type='hidden' name='ACTION' value='generatepolicyyes' /></form></td>
132 <td align='left' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
133 <input type='image' alt='$Lang::tr{'no'}' src='/images/dialog-error.png' /> $Lang::tr{'no'}
134 <input type='hidden' name='ACTION' value='cancel' /></form></td>
135 </tr>
136 </table>
137 END
138 ;
139 }
140
141 if ($tripwiresettings{'ACTION'} eq 'policyresetpw')
142 {
143 print <<END
144 <br />
145 <table width='95%' cellspacing='0'>
146 <tr><td bgcolor='${Header::table1colour}' colspan='2' align='center'><b>$Lang::tr{'resetpolicy'}</b>
147 <tr><td colspan='2' align='center'><font color=red>$Lang::tr{'tripwirewarningpolicy'}<br /><br /></font></td></tr>
148 <tr><td align='left' width='40%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>$Lang::tr{'sitekey'}</td><td align='left'><input type='password' name='SITEKEY' value='$tripwiresettings{'SITEKEY'}' size="30" /></td></tr>
149 <tr><td align='left' width='40%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>$Lang::tr{'localkey'}</td><td align='left'><input type='password' name='LOCALKEY' value='$tripwiresettings{'LOCALKEY'}' size="30" /></td></tr>
150 <tr><td align='right' width='50%'>
151 $Lang::tr{'yes'} <input type='image' alt='$Lang::tr{'yes'}' src='/images/edit-redo.png' />
152 <input type='hidden' name='ACTION' value='resetpolicyyes' /></form></td>
153 <td align='left' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
154 <input type='image' alt='$Lang::tr{'no'}' src='/images/dialog-error.png' /> $Lang::tr{'no'}
155 <input type='hidden' name='ACTION' value='cancel' /></form></td>
156 </tr>
157 </table>
158 END
159 ;
160 }
161
162 if ($tripwiresettings{'ACTION'} eq 'updatedatabasepw')
163 {
164 print <<END
165 <br />
166 <table width='95%' cellspacing='0'>
167 <tr><td bgcolor='${Header::table1colour}' colspan='2' align='center'><b>$Lang::tr{'updatedatabase'}</b>
168 <tr><td colspan='2' align='center'><font color=red>$Lang::tr{'tripwirewarningdatabase'}<br /><br /></font></td></tr>
169 <tr><td align='left' width='40%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>$Lang::tr{'localkey'}</td><td align='left'><input type='password' name='LOCALKEY' value='$tripwiresettings{'LOCALKEY'}' size="30" /></td></tr>
170 <tr><td align='right' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
171 $Lang::tr{'yes'} <input type='image' alt='$Lang::tr{'yes'}' src='/images/edit-redo.png' />
172 <input type='hidden' name='ACTION' value='updatedatabaseyes' /></form></td>
173 <td align='left' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
174 <input type='image' alt='$Lang::tr{'no'}' src='/images/dialog-error.png' /> $Lang::tr{'no'}
175 <input type='hidden' name='ACTION' value='cancel' /></form></td>
176 </tr>
177 </table>
178 END
179 ;
180 }
181 if ($tripwiresettings{'ACTION'} eq 'keyreset')
182 {
183 print <<END
184 <br />
185 <table width='95%' cellspacing='0'>
186 <tr><td bgcolor='${Header::table1colour}' colspan='2' align='center'><b>$Lang::tr{'keyreset'}</b>
187 <tr><td colspan='2' align='center'><font color=red>$Lang::tr{'tripwirewarningkeys'}<br /><br /></font></td></tr>
188 <tr><td align='right' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
189 $Lang::tr{'yes'} <input type='image' alt='$Lang::tr{'yes'}' src='/images/edit-redo.png' />
190 <input type='hidden' name='ACTION' value='keyresetyes' /></form></td>
191 <td align='left' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
192 <input type='image' alt='$Lang::tr{'no'}' src='/images/dialog-error.png' /> $Lang::tr{'no'}
193 <input type='hidden' name='ACTION' value='cancel' /></form></td>
194 </tr>
195 </table>
196 END
197 ;
198 }
199
200 if ($tripwiresettings{'ACTION'} eq 'generatekeys')
201 {
202 print <<END
203 <br />
204 <table width='95%' cellspacing='0'>
205 <tr><td bgcolor='${Header::table1colour}' colspan='2' align='center'><b>$Lang::tr{'generatekeys'}</b>
206 <tr><td colspan='2' align='center'><font color=red>$Lang::tr{'tripwirewarningkeys'}<br /><br /></font></td></tr>
207 <tr><td align='right' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
208 $Lang::tr{'yes'} <input type='image' alt='$Lang::tr{'yes'}' src='/images/edit-redo.png' />
209 <input type='hidden' name='ACTION' value='generatekeysyes' /></form></td>
210 <td align='left' width='50%'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
211 <input type='image' alt='$Lang::tr{'no'}' src='/images/dialog-error.png' /> $Lang::tr{'no'}
212 <input type='hidden' name='ACTION' value='cancel' /></form></td>
213 </tr>
214 </table>
215 END
216 ;
217 }
218
219 ############################################################################################################################
220 ######################################################## Tripwire Funktionen ###############################################
221
222 if ($tripwiresettings{'ACTION'} eq 'globalresetyes')
223 {
224 $tripwiresettings{'ROOT'} = '/usr/sbin';
225 $tripwiresettings{'POLFILE'} = '/var/ipfire/tripwire/tw.pol';
226 $tripwiresettings{'DBFILE'} = '/var/ipfire/tripwire/$(HOSTNAME).twd';
227 $tripwiresettings{'REPORTFILE'} = '/var/ipfire/tripwire/report/$(DATE).twr';
228 $tripwiresettings{'SITEKEYFILE'} = '/var/ipfire/tripwire/site.key';
229 $tripwiresettings{'LOCALKEYFILE'} = '/var/ipfire/tripwire/local.key';
230 $tripwiresettings{'EDITOR'} = '/usr/bin/vi';
231 $tripwiresettings{'LATEPROMPTING'} = 'false';
232 $tripwiresettings{'LOOSEDIRECTORYCHECKING'} = 'false';
233 $tripwiresettings{'MAILNOVIOLATIONS'} = 'false';
234 $tripwiresettings{'EMAILREPORTLEVEL'} = '3';
235 $tripwiresettings{'REPORTLEVEL'} = '3';
236 $tripwiresettings{'MAILMETHOD'} = 'SENDMAIL';
237 $tripwiresettings{'SMTPHOST'} = 'ipfire.myipfire.de';
238 $tripwiresettings{'SMTPPORT'} = '25';
239 $tripwiresettings{'SYSLOGREPORTING'} = 'false';
240 $tripwiresettings{'MAILPROGRAM'} = '/usr/sbin/sendmail -oi -t';
241 $tripwiresettings{'SITEKEY'} = 'ipfire';
242 $tripwiresettings{'LOCALKEY'} = 'ipfire';
243 $tripwiresettings{'ACTION'} = '';
244 system("/usr/local/bin/tripwirectrl readconfig");
245 open (FILE, ">${General::swroot}/tripwire/twcfg.txt") or die "Can't save tripwire config: $!";
246 flock (FILE, 2);
247 print FILE <<END
248
249 ROOT =$tripwiresettings{'ROOT'}
250 POLFILE =$tripwiresettings{'POLFILE'}
251 DBFILE =$tripwiresettings{'DBFILE'}
252 REPORTFILE =$tripwiresettings{'REPORTFILE'}
253 SITEKEYFILE =$tripwiresettings{'SITEKEYFILE'}
254 LOCALKEYFILE =$tripwiresettings{'LOCALKEYFILE'}
255 EDITOR =$tripwiresettings{'EDITOR'}
256 LATEPROMPTING =$tripwiresettings{'LATEPROMPTING'}
257 LOOSEDIRECTORYCHECKING =$tripwiresettings{'LOOSEDIRECTORYCHECKING'}
258 MAILNOVIOLATIONS =$tripwiresettings{'MAILNOVIOLATIONS'}
259 EMAILREPORTLEVEL =$tripwiresettings{'EMAILREPORTLEVEL'}
260 REPORTLEVEL =$tripwiresettings{'REPORTLEVEL'}
261 MAILMETHOD =$tripwiresettings{'MAILMETHOD'}
262 SMTPHOST =$tripwiresettings{'SMTPHOST'}
263 SMTPPORT =$tripwiresettings{'SMTPPORT'}
264 SYSLOGREPORTING =$tripwiresettings{'SYSLOGREPORTING'}
265 MAILPROGRAM =$tripwiresettings{'MAILPROGRAM'}
266
267 END
268 ;
269 close FILE;
270 &General::writehash("${General::swroot}/tripwire/settings", \%tripwiresettings);
271 system("/usr/local/bin/tripwirectrl lockconfig");
272 system("/usr/local/bin/tripwirectrl keys ipfire ipfire");$tripwiresettings{'SITEKEY'} = 'ipfire';$tripwiresettings{'LOCALKEY'} = 'ipfire';
273 }
274 if ($tripwiresettings{'ACTION'} eq 'generatekeysyes'){system("/usr/local/bin/tripwirectrl keys $tripwiresettings{'SITEKEY'} $tripwiresettings{'LOCALKEY'}");$tripwiresettings{'SITEKEY'} = 'ipfire';$tripwiresettings{'LOCALKEY'} = 'ipfire';}
275 if ($tripwiresettings{'ACTION'} eq 'keyresetyes'){system("/usr/local/bin/tripwirectrl keys ipfire ipfire");$tripwiresettings{'SITEKEY'} = 'ipfire';$tripwiresettings{'LOCALKEY'} = 'ipfire';}
276 if ($tripwiresettings{'ACTION'} eq 'resetpolicyyes'){system("/usr/local/bin/tripwirectrl resetpolicy tripwiresettings{'SITEKEY'} $tripwiresettings{'LOCALKEY'}");$tripwiresettings{'SITEKEY'} = 'ipfire';$tripwiresettings{'LOCALKEY'} = 'ipfire';}
277 if ($tripwiresettings{'ACTION'} eq 'generatepolicyyes'){system("/usr/local/bin/tripwirectrl generatepolicy $tripwiresettings{'SITEKEY'} $tripwiresettings{'LOCALKEY'}");$tripwiresettings{'SITEKEY'} = 'ipfire';$tripwiresettings{'LOCALKEY'} = 'ipfire';}
278 if ($tripwiresettings{'ACTION'} eq 'updatedatabaseyes'){system("/usr/local/bin/tripwirectrl updatedatabase $tripwiresettings{'LOCALKEY'} /var/ipfire/tripwire/report/$file");$tripwiresettings{'LOCALKEY'} = 'ipfire';}
279 if ($tripwiresettings{'ACTION'} eq 'generatereport'){system("/usr/local/bin/tripwirectrl generatereport");}
280
281 ############################################################################################################################
282 ##################################################### Tripwire globale Optionen ############################################
283
284 &Header::openbox('100%', 'center', 'Tripwire');
285 print <<END
286 <hr />
287 <br />
288
289 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
290 <table width='95%' cellspacing='0'>
291 <tr bgcolor='${Header::table1colour}'><td colspan='2' align='left'><b>$Lang::tr{'basic options'}</b></td></tr>
292 <tr><td align='left' width='40%'>$Lang::tr{'emailreportlevel'}</td><td align='left'><input type='text' name='EMAILREPORTLEVEL' value='$tripwiresettings{'EMAILREPORTLEVEL'}' size="30" /></td></tr>
293 <tr><td align='left' width='40%'>$Lang::tr{'reportlevel'}</td><td align='left'><input type='text' name='REPORTLEVEL' value='$tripwiresettings{'REPORTLEVEL'}' size="30" /></td></tr>
294 <tr><td align='left' width='40%'>$Lang::tr{'mailmethod'}</td><td align='left'><input type='text' name='MAILMETHOD' value='$tripwiresettings{'MAILMETHOD'}' size="30" /></td></tr>
295 <tr><td align='left' width='40%'>$Lang::tr{'smtphost'}</td><td align='left'><input type='text' name='SMTPHOST' value='$tripwiresettings{'SMTPHOST'}' size="30" /></td></tr>
296 <tr><td align='left' width='40%'>$Lang::tr{'smtpport'}</td><td align='left'><input type='text' name='SMTPPORT' value='$tripwiresettings{'SMTPPORT'}' size="30" /></td></tr>
297 <tr><td align='left' width='40%'>$Lang::tr{'mailprogramm'}</td><td align='left'><input type='text' name='MAILPROGRAM' value='$tripwiresettings{'MAILPROGRAM'}' size="30" /></td></tr>
298 </table>
299 <br />
300 <table width='10%' cellspacing='0'>
301 <tr><td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
302 <input type='hidden' name='ACTION' value=$Lang::tr{'save'} />
303 <input type='image' alt='$Lang::tr{'save'}' src='/images/media-floppy.png' /></form></td>
304 <td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
305 <input type='hidden' name='ACTION' value='globalreset' />
306 <input type='image' alt='$Lang::tr{'reset'}' src='/images/reload.gif' /></form></td>
307 <td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
308 <input type='hidden' name='ACTION' value='globalcaption' />
309 <input type='image' alt='$Lang::tr{'caption'}' src='/images/help-browser.png' /></form></td></tr>
310 </table>
311 </from>
312 END
313 ;
314 if ($tripwiresettings{'ACTION'} eq 'globalcaption')
315 {
316 print <<END
317 <br />
318 <table width='95%' cellspacing='0'>
319 <tr><td align='center' colspan='2'><b>$Lang::tr{'caption'}</b></td></tr>
320 <tr><td align='right' width='33%'><img src='/images/media-floppy.png' /></td><td align='left'>$Lang::tr{'save settings'}</td></tr>
321 <tr><td align='right' width='33%'><img src='/images/reload.gif' /></td><td align='left'>$Lang::tr{'restore settings'}</td></tr>
322 </table>
323 END
324 ;
325
326 }
327
328 &Header::closebox();
329
330 ############################################################################################################################
331 ################################################### Tripwire Init Policy and keygen ########################################
332
333 &Header::openbox('100%', 'center', $Lang::tr{'generate tripwire keys and init'});
334 print <<END
335 <hr />
336 <br />
337
338 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
339 <table width='95%' cellspacing='0'>
340 <tr bgcolor='${Header::table1colour}'><td colspan='2' align='left'><b>$Lang::tr{'keys'}</b></td></tr>
341 <tr><td align='left' width='40%'>$Lang::tr{'sitekey'}</td><td align='left'><input type='password' name='SITEKEY' value='$tripwiresettings{'SITEKEY'}' size="30" /></td></tr>
342 <tr><td align='left' width='40%'>$Lang::tr{'localkey'}</td><td align='left'><input type='password' name='LOCALKEY' value='$tripwiresettings{'LOCALKEY'}' size="30" /></td></tr>
343 </table>
344 <br />
345 <table width='10%' cellspacing='0'>
346 <tr><td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
347 <input type='hidden' name='ACTION' value='generatekeys'/>
348 <input type='image' alt='$Lang::tr{'generatekeys'}' src='/images/system-lock-screen.png' /></form></td>
349 <td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
350 <input type='hidden' name='ACTION' value='keyreset' />
351 <input type='image' alt='$Lang::tr{'reset'}' src='/images/reload.gif' /></form></td>
352 <td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
353 <input type='hidden' name='ACTION' value='keycaption' />
354 <input type='image' alt='$Lang::tr{'caption'}' src='/images/help-browser.png' /></form></td></tr>
355 </table>
356 </from>
357 END
358 ;
359 if ($tripwiresettings{'ACTION'} eq 'keycaption')
360 {
361 print <<END
362 <br />
363 <table width='95%' cellspacing='0'>
364 <tr><td align='center' colspan='2'><b>$Lang::tr{'caption'}</b></td></tr>
365 <tr><td align='right' width='33%'><img src='/images/system-lock-screen.png' /></td><td align='left'>$Lang::tr{'generatekeys'}</td></tr>
366 <tr><td align='right' width='33%'><img src='/images/reload.gif' /></td><td align='left'>$Lang::tr{'keyreset'}</td></tr>
367 </table>
368 END
369 ;
370
371 }
372 &Header::closebox();
373
374 ############################################################################################################################
375 ################################################# Tripwire general functions ###############################################
376
377 &Header::openbox('100%', 'center', $Lang::tr{'tripwire functions'});
378 print <<END
379 <hr />
380 <br />
381
382 <table width='95%' cellspacing='0'>
383 <tr><td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
384 <input type='hidden' name='ACTION' value='generatepolicypw'/>
385 <input type='image' alt='$Lang::tr{'generatepolicy'}' src='/images/document-new.png' /></form></td>
386 <td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
387 <input type='hidden' name='ACTION' value='policyresetpw' />
388 <input type='image' alt='$Lang::tr{'resetpolicy'}' src='/images/reload.gif' /></form></td>
389 <td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
390 <input type='hidden' name='ACTION' value='generatereport' />
391 <input type='image' alt='$Lang::tr{'generatereport'}' src='/images/document-properties.png' /></form></td>
392 <td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
393 <input type='hidden' name='ACTION' value='updatedatabasepw' />
394 <input type='image' alt='$Lang::tr{'updatedatabase'}' src='/images/network-server.png' /></form></td>
395 <td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
396 <input type='hidden' name='ACTION' value='policycaption' />
397 <input type='image' alt='$Lang::tr{'caption'}' src='/images/help-browser.png' /></form></td></tr>
398 </table>
399 END
400 ;
401 if ($tripwiresettings{'ACTION'} eq 'policycaption')
402 {
403 print <<END
404 <br />
405 <table width='95%' cellspacing='0'>
406 <tr><td align='center' colspan='2'><b>$Lang::tr{'caption'}</b></td></tr>
407 <tr><td align='right' width='33%'><img src='/images/document-new.png' /></td><td align='left'>$Lang::tr{'generatepolicy'}</td></tr>
408 <tr><td align='right' width='33%'><img src='/images/reload.gif' /></td><td align='left'>$Lang::tr{'resetpolicy'}</td></tr>
409 <tr><td align='right' width='33%'><img src='/images/document-properties.png' /></td><td align='left'>$Lang::tr{'generatereport'}</td></tr>
410 <tr><td align='right' width='33%'><img src='/images/network-server.png' /></td><td align='left'>$Lang::tr{'updatedatabase'}</td></tr>
411 </table>
412 END
413 ;
414
415 }
416 &Header::closebox();
417
418 ############################################################################################################################
419 ####################################################### Tripwire Log View ##################################################
420
421 &Header::openbox('100%', 'center', $Lang::tr{'tripwire reports'});
422 print <<END
423 <hr />
424 <br />
425 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
426 <table width='95%' cellspacing='0'>
427 <tr><td bgcolor='${Header::table1colour}' colspan='3' align='left'><b>$Lang::tr{'log view'}</b></td></tr>
428 <tr><td colspan='3' align='left'><br /></td></tr>
429 <tr><td align='left'><select name='LOG' style="width: 500px">
430 END
431 ;
432 foreach my $log (@Logs) {chomp $log;print"<option value='$log'>$log</option>";}
433 print <<END
434
435 </select></td><td align='left'><input type='hidden' name='ACTION' value='showlog' /><input type='image' alt='view Log' src='/images/format-justify-fill.png' /></td></tr>
436 </table>
437 </form>
438 END
439 ;
440 if ($tripwiresettings{'ACTION'} eq 'showlog')
441 {
442 $Log = qx(/usr/local/bin/tripwirectrl tripwirelog $tripwiresettings{'LOG'});
443 $Log=~s/--cfgfile \/var\/ipfire\/tripwire\/tw.cfg --polfile \/var\/ipfire\/tripwire\/tw.pol//g;
444 print <<END
445 <table width='95%' cellspacing='0'>
446 <tr><td><br /></td></tr>
447 <tr><td><pre>$Log</pre></td></tr>
448 <tr><td><br /></td></tr>
449 <tr><td align=center>$tripwiresettings{'LOG'}</td></tr>
450 </table>
451 END
452 ;
453
454 }
455
456 &Header::closebox();
457
458 &Header::closebigbox();
459 &Header::closepage();