initial commit of file from CVS for smeserver-fail2ban on Sat Sep 7 19:53:17 AEST 2024

This commit is contained in:
Trevor Batley
2024-09-07 19:53:18 +10:00
parent 1700d73fa1
commit 197253af46
86 changed files with 8686 additions and 2 deletions

View File

@@ -0,0 +1,180 @@
% layout 'default', title => "Sme server 2 - fail2ban";
% content_for 'module' => begin
<div id="module" class="module fail2ban-panel">
%if ($config->{debug} == 1) {
<p>
%= dumper $c->current_route
%= dumper $f2b_datas
</p>
%}
% if ( stash 'error' ) {
<br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error')
</div>
%}
<h1><%= $title %></h1>
%= form_for '/fail2ban' => (method => 'POST') => begin
<p>
%=l('f2b_SERVICE_STATUS')
<br><span class=label>
%=l 'f2b_STATUS'
</span><span class=input>
% param 'Status' => $f2b_datas->{status} unless param 'Status';
%= select_field 'Status' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_FilterLocalNetworks_STATUS')
<br><span class=label>
%=l 'f2b_FilterLocalNetworks'
</span><span class=input>
% param 'FilterLocalNetworks' => $f2b_datas->{filterlocalnetworks} unless param 'FilterLocalNetworks';
%= select_field 'FilterLocalNetworks' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_FilterValidRemoteHosts_STATUS')
<br><span class=label>
%=l 'f2b_FilterValidRemoteHosts'
</span><span class=input>
% param 'FilterValidRemoteHosts' => $f2b_datas->{filtervalidremotehosts} unless param 'FilterValidRemoteHosts';
%= select_field 'FilterValidRemoteHosts' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_SEND_MAIL_STATUS')
<br><span class=label>
%=l 'f2b_MAIL'
</span><span class=input>
% param 'Mail' => $f2b_datas->{mail} unless param 'Mail';
%= select_field 'Mail' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p><span class=label>
%=l 'f2b_DEFAULT_BANTIME'
</span><span class=input>
% param 'BanTime' => $f2b_datas->{bantime} unless param 'BanTime';
%= text_field 'BanTime', size => '9', class => 'input'
</span><span class=label2>
%=l 'f2b_DEFAULT_FINDTIME'
</span><span class=input>
% param 'FindTime' => $f2b_datas->{findtime} unless param 'FindTime';
%= text_field 'FindTime', size => '6', class => 'input'
</span><span class=label2>
%=l 'f2b_DEFAULT_MAXRETRY'
</span><span class=input>
% param 'MaxRetry' => $f2b_datas->{maxretry} unless param 'MaxRetry';
%= text_field 'MaxRetry', size => '2', class => 'input'
</span></p>
<p>
%=l('f2b_SSHD_STATUS')
<br><span class=label>
%=l 'f2b_SSHD'
</span><span class=input>
% param 'Sshd' => $f2b_datas->{sshd} unless param 'Sshd';
%= select_field 'Sshd' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p><p>
%=l('f2b_QPSMTPD_STATUS')
<br><span class=label>
%=l 'f2b_QPSMTPD'
</span><span class=input>
% param 'Qpsmtpd' => $f2b_datas->{qpsmtpd} unless param 'Qpsmtpd';
%= select_field 'Qpsmtpd' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_IMAP_STATUS')
<br><span class=label>
%=l 'f2b_IMAP'
</span><span class=input>
% param 'Dovecot' => $f2b_datas->{dovecot} unless param 'Dovecot';
%= select_field 'Dovecot' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_HTTPD_STATUS')
<br><span class=label>
%=l 'f2b_HTTPD'
</span><span class=input>
% param 'Httpd-e-smith' => $f2b_datas->{'httpd-e-smith'} unless param 'Httpd-e-smith';
%= select_field 'Httpd-e-smith' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_FTP_STATUS')
<br><span class=label>
%=l 'f2b_FTP'
</span><span class=input>
% param 'Ftp' => $f2b_datas->{ftp} unless param 'Ftp';
%= select_field 'Ftp' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_LEMONLDAP_STATUS')
<br><span class=label>
%=l 'f2b_LEMONLDAP'
</span><span class=input>
% param 'Lemonldap' => $f2b_datas->{lemonldap} unless param 'Lemonldap';
%= select_field 'Lemonldap' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_EJABBERD_STATUS')
<br><span class=label>
%=l 'f2b_EJABBERD'
</span><span class=input>
% param 'Ejabberd' => $f2b_datas->{ejabberd} unless param 'Ejabberd';
%= select_field 'Ejabberd' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_SOGOD_STATUS')
<br><span class=label>
%=l 'f2b_SOGOD'
</span><span class=input>
% param 'Sogod' => $f2b_datas->{sogod} unless param 'Sogod';
%= select_field 'Sogod' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_WORDPRESS_STATUS')
<br><span class=label>
%=l 'f2b_WORDPRESS'
</span><span class=input>
% param 'Wordpress' => $f2b_datas->{wordpress} unless param 'Wordpress';
%= select_field 'Wordpress' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
<p>
%=l('f2b_SMANAGER_STATUS')
<br><span class=label>
%=l 'f2b_SMANAGER'
</span><span class=input>
% param 'Smanager' => $f2b_datas->{smanager} unless param 'Smanager';
%= select_field 'Smanager' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
</span></p>
%= include 'partials/_f2b_valid'
<p>
%=l('f2b_DESC_ADD_IP')
<br><span class=label>
%=l 'f2b_ADD_IP'
</span><span class=input>
% param 'Ip' => $f2b_datas->{ip} unless param 'Ip';
%= text_field 'Ip', class => 'input'
</span></p>
<p>
%=l('f2b_DESC_ADD_BITS')
<br><span class=label>
%=l 'f2b_ADD_BITS'
</span><span class=input>
% param 'Bits' => $f2b_datas->{bits} unless param 'Bits';
%= text_field 'Bits', class => 'input'
</span></p>
<div class='center'>
%= submit_button $c->l('SAVE'), class => 'action'
</div>
% end
%= include 'partials/_f2b_blocked'
</div>
%end

View File

@@ -0,0 +1,47 @@
<div id="f2b_blocked">
<hr class='sectionbar' /><h2>
%=l 'f2b_CURRENT_DENY_TITLE'
</h2><p>
%=l 'f2b_CURRENT_DENY_DESC'
</p>
% my @denys = @{$c->get_current_deny()};
% if ($config->{debug} == 1) {
<p><%= dumper @denys %></p>
% }
% if ( @denys ) {
<p>
<table class="sme-border"><tbody>
<tr><th class='sme-border'>
%=l 'IP_ADDRESS'
</th><th class='sme-border'>
%=l 'f2b_JAIL'
</th><th class='sme-border'>
%=l 'ACTION'
</th></tr>
% foreach my $sval ( @denys) {
% my @ssval = split(':',$sval);
% my $curjail = $ssval[0];
% $curjail =~ s/^\s//;
% my @ssvalip = split(' ',$ssval[1]);
% foreach my $sssval (@ssvalip) {
% my $ip=$sssval;
% my $action3 = "<a href=\"fail2ban2?action=RemoveIP".
% "&IP=$ip&Jail=$curjail\">".$c->l('REMOVE')."</a>" .
% " <a href=\"fail2ban2?action=RemoveIP&IP=$ip" .
% "&Jail=$curjail&Whitelist=true\">".$c->l('WHITELIST')."</a>" ;
<tr>
%= t td => (class => 'sme-border') => "$ip"
%= t td => (class => 'sme-border') => "$curjail"
<td class='sme-border'><%= $c->render_to_string(inline => $action3) %></td>
</tr>
% }
% }
</tbody></table></span></p>
% } else {
<b>
%=l 'f2b_NO_ENTRIES_YET';
</b>
% }
</div>

View File

@@ -0,0 +1,35 @@
<div id="f2b_valid">
<hr class='sectionbar' /><h2>
%=l 'f2b_VALIDFROM_TITLE'
</h2><p>
%=l 'f2b_VALIDFROM_DESC'
</p>
% my @valids = @{$c->get_valid_from()};
% if ( @valids ) {
<p>
<table class="sme-border"><tbody>
<tr><th class='sme-border'>
%=l 'NETWORK'
</th><th class='sme-border'>
%=l 'REMOVE'
</th></tr>
% foreach my $v ( @valids) {
% my $checked = '';
<tr>
%= t td => (class => 'sme-border') => "$v"
<td class='sme-border'>
% if ( $checked eq 'checked' ) {
<input type='checkbox' name='ValidFromRemove' checked value='<%= $v %>'>
%} else {
%= check_box 'ValidFromRemove' => $v
%}
</td>
</tr>
% }
</tbody></table></span></p>
% } else {
<b>
%=l 'f2b_NO_ENTRIES_YET';
</b>
% }
</div>