Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 3.144.86.78
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
etc /
fail2ban /
action.d /
[ HOME SHELL ]
Name
Size
Permission
Action
abuseipdb.conf
3.79
KB
-rw-r--r--
apf.conf
587
B
-rw-r--r--
badips.conf
629
B
-rw-r--r--
badips.py
10.66
KB
-rw-r--r--
blocklist_de.conf
2.57
KB
-rw-r--r--
bsd-ipfw.conf
3.02
KB
-rw-r--r--
cloudflare.conf
2.66
KB
-rw-r--r--
complain.conf
4.56
KB
-rw-r--r--
dshield.conf
7.4
KB
-rw-r--r--
dummy.conf
1.59
KB
-rw-r--r--
firewallcmd-allports.conf
1.47
KB
-rw-r--r--
firewallcmd-common.conf
2.59
KB
-rw-r--r--
firewallcmd-ipset.conf
2.18
KB
-rw-r--r--
firewallcmd-multiport.conf
1.24
KB
-rw-r--r--
firewallcmd-new.conf
1.85
KB
-rw-r--r--
firewallcmd-rich-logging.conf
2.26
KB
-rw-r--r--
firewallcmd-rich-rules.conf
1.72
KB
-rw-r--r--
helpers-common.conf
589
B
-rw-r--r--
hostsdeny.conf
1.37
KB
-rw-r--r--
ipfilter.conf
1.45
KB
-rw-r--r--
ipfw.conf
1.38
KB
-rw-r--r--
iptables-allports.conf
1.39
KB
-rw-r--r--
iptables-common.conf
2.67
KB
-rw-r--r--
iptables-ipset-proto4.conf
1.95
KB
-rw-r--r--
iptables-ipset-proto6-allports...
2.15
KB
-rw-r--r--
iptables-ipset-proto6.conf
2.19
KB
-rw-r--r--
iptables-multiport-log.conf
2.03
KB
-rw-r--r--
iptables-multiport.conf
1.39
KB
-rw-r--r--
iptables-new.conf
1.46
KB
-rw-r--r--
iptables-xt_recent-echo.conf
2.52
KB
-rw-r--r--
iptables.conf
1.31
KB
-rw-r--r--
mail-buffered.conf
2.29
KB
-rw-r--r--
mail-whois-common.conf
1.02
KB
-rw-r--r--
mail-whois-lines.conf
2.3
KB
-rw-r--r--
mail-whois.conf
1.71
KB
-rw-r--r--
mail.conf
1.58
KB
-rw-r--r--
mynetwatchman.conf
5.11
KB
-rw-r--r--
netscaler.conf
1.46
KB
-rw-r--r--
nftables-allports.conf
490
B
-rw-r--r--
nftables-common.conf
3.94
KB
-rw-r--r--
nftables-multiport.conf
496
B
-rw-r--r--
nginx-block-map.conf
3.61
KB
-rw-r--r--
npf.conf
1.4
KB
-rw-r--r--
nsupdate.conf
3.07
KB
-rw-r--r--
osx-afctl.conf
469
B
-rw-r--r--
osx-ipfw.conf
2.16
KB
-rw-r--r--
pf.conf
3.58
KB
-rw-r--r--
route.conf
1023
B
-rw-r--r--
sendmail-buffered.conf
2.76
KB
-rw-r--r--
sendmail-common.conf
1.78
KB
-rw-r--r--
sendmail-geoip-lines.conf
1.73
KB
-rw-r--r--
sendmail-whois-ipjailmatches.c...
1.03
KB
-rw-r--r--
sendmail-whois-ipmatches.conf
1.01
KB
-rw-r--r--
sendmail-whois-lines.conf
1.27
KB
-rw-r--r--
sendmail-whois-matches.conf
997
B
-rw-r--r--
sendmail-whois.conf
977
B
-rw-r--r--
sendmail.conf
857
B
-rw-r--r--
shorewall-ipset-proto6.conf
2.91
KB
-rw-r--r--
shorewall.conf
2.02
KB
-rw-r--r--
smtp.py
5.99
KB
-rw-r--r--
symbiosis-blacklist-allports.c...
1.3
KB
-rw-r--r--
ufw.conf
1.02
KB
-rw-r--r--
xarf-login-attack.conf
5.94
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : smtp.py
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: t -*- # vi: set ft=python sts=4 ts=4 sw=4 noet : # This file is part of Fail2Ban. # # Fail2Ban 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. # # Fail2Ban 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 Fail2Ban; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import socket import smtplib from email.mime.text import MIMEText from email.utils import formatdate, formataddr from fail2ban.server.actions import ActionBase, CallingMap messages = {} messages['start'] = \ """Hi, The jail %(jailname)s has been started successfully. Regards, Fail2Ban""" messages['stop'] = \ """Hi, The jail %(jailname)s has been stopped. Regards, Fail2Ban""" messages['ban'] = {} messages['ban']['head'] = \ """Hi, The IP %(ip)s has just been banned for %(bantime)i seconds by Fail2Ban after %(failures)i attempts against %(jailname)s. """ messages['ban']['tail'] = \ """ Regards, Fail2Ban""" messages['ban']['matches'] = \ """ Matches for this ban: %(matches)s """ messages['ban']['ipmatches'] = \ """ Matches for %(ip)s: %(ipmatches)s """ messages['ban']['ipjailmatches'] = \ """ Matches for %(ip)s for jail %(jailname)s: %(ipjailmatches)s """ class SMTPAction(ActionBase): """Fail2Ban action which sends emails to inform on jail starting, stopping and bans. """ def __init__( self, jail, name, host="localhost", user=None, password=None, sendername="Fail2Ban", sender="fail2ban", dest="root", matches=None): """Initialise action. Parameters ---------- jail : Jail The jail which the action belongs to. name : str Named assigned to the action. host : str, optional SMTP host, of host:port format. Default host "localhost" and port "25" user : str, optional Username used for authentication with SMTP server. password : str, optional Password used for authentication with SMTP server. sendername : str, optional Name to use for from address in email. Default "Fail2Ban". sender : str, optional Email address to use for from address in email. Default "fail2ban". dest : str, optional Email addresses of intended recipient(s) in comma space ", " delimited format. Default "root". matches : str, optional Type of matches to be included from ban in email. Can be one of "matches", "ipmatches" or "ipjailmatches". Default None (see man jail.conf.5). """ super(SMTPAction, self).__init__(jail, name) self.host = host #TODO: self.ssl = ssl self.user = user self.password =password self.fromname = sendername self.fromaddr = sender self.toaddr = dest self.matches = matches self.message_values = CallingMap( jailname = self._jail.name, hostname = socket.gethostname, bantime = lambda: self._jail.actions.getBanTime(), ) # bypass ban/unban for restored tickets self.norestored = 1 def _sendMessage(self, subject, text): """Sends message based on arguments and instance's properties. Parameters ---------- subject : str Subject of the email. text : str Body of the email. Raises ------ SMTPConnectionError Error on connecting to host. SMTPAuthenticationError Error authenticating with SMTP server. SMTPException See Python `smtplib` for full list of other possible exceptions. """ msg = MIMEText(text) msg['Subject'] = subject msg['From'] = formataddr((self.fromname, self.fromaddr)) msg['To'] = self.toaddr msg['Date'] = formatdate() smtp = smtplib.SMTP() try: self._logSys.debug("Connected to SMTP '%s', response: %i: %s", self.host, *smtp.connect(self.host)) if self.user and self.password: smtp.login(self.user, self.password) failed_recipients = smtp.sendmail( self.fromaddr, self.toaddr.split(", "), msg.as_string()) except smtplib.SMTPConnectError: self._logSys.error("Error connecting to host '%s'", self.host) raise except smtplib.SMTPAuthenticationError: self._logSys.error( "Failed to authenticate with host '%s' user '%s'", self.host, self.user) raise except smtplib.SMTPException: self._logSys.error( "Error sending mail to host '%s' from '%s' to '%s'", self.host, self.fromaddr, self.toaddr) raise else: if failed_recipients: self._logSys.warning( "Email to '%s' failed to following recipients: %r", self.toaddr, failed_recipients) self._logSys.debug("Email '%s' successfully sent", subject) finally: try: self._logSys.debug("Disconnected from '%s', response %i: %s", self.host, *smtp.quit()) except smtplib.SMTPServerDisconnected: pass # Not connected def start(self): """Sends email to recipients informing that the jail has started. """ self._sendMessage( "[Fail2Ban] %(jailname)s: started on %(hostname)s" % self.message_values, messages['start'] % self.message_values) def stop(self): """Sends email to recipients informing that the jail has stopped. """ self._sendMessage( "[Fail2Ban] %(jailname)s: stopped on %(hostname)s" % self.message_values, messages['stop'] % self.message_values) def ban(self, aInfo): """Sends email to recipients informing that ban has occurred. Parameters ---------- aInfo : dict Dictionary which includes information in relation to the ban. """ if aInfo.get('restored'): return aInfo.update(self.message_values) message = "".join([ messages['ban']['head'], messages['ban'].get(self.matches, ""), messages['ban']['tail'] ]) self._sendMessage( "[Fail2Ban] %(jailname)s: banned %(ip)s from %(hostname)s" % aInfo, message % aInfo) Action = SMTPAction
Close