Я только что установил fail2ban на свой компьютер с debian7, но всякий раз, когда я запускаю его, я получаю много ошибок, которые, похоже, связаны с python?
[....] Restarting authentication failure monitor: fail2banTraceback (most recent call last):
File "/usr/bin/fail2ban-client", line 404, in <module>
if client.start(sys.argv):
File "/usr/bin/fail2ban-client", line 373, in start
return self.__processCommand(args)
File "/usr/bin/fail2ban-client", line 183, in __processCommand
ret = self.__readConfig()
File "/usr/bin/fail2ban-client", line 378, in __readConfig
ret = self.__configurator.getOptions()
File "/usr/share/fail2ban/client/configurator.py", line 68, in getOptions
return self.__jails.getOptions(jail)
File "/usr/share/fail2ban/client/jailsreader.py", line 67, in getOptions
ret = jail.getOptions()
File "/usr/share/fail2ban/client/jailreader.py", line 73, in getOptions
self.__opts = ConfigReader.getOptions(self, self.__name, opts)
File "/usr/share/fail2ban/client/configreader.py", line 87, in getOptions
v = self.get(sec, option[1])
File "/usr/lib/python2.7/ConfigParser.py", line 623, in get
return self._interpolate(section, option, value, d)
File "/usr/lib/python2.7/ConfigParser.py", line 691, in _interpolate
self._interpolate_some(option, L, rawval, section, vars, 1)
File "/usr/lib/python2.7/ConfigParser.py", line 723, in _interpolate_some
option, section, rest, var)
ConfigParser.InterpolationMissingOptionError: Bad value substitution:
section: [pam-generic]
option : action
key : action_mwl
rawval :
failed!
Я не совсем уверен, как его отлаживать, так как у меня нет знаний о python, но я все еще предполагаю, что это просто то, что я пропустил во время установки или что-то в jail.conf. Это мой jail.conf:
[DEFAULT]
ignoreip = 127.0.0.1
bantime = 18000
destemail = email@email.com
banaction = iptables-multiport
action = %(action_mwl)s
# JAILS
[ssh]
enabled = true
port = 7463
action = iptables
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
[pam-generic]
enabled = true
banaction = iptables-allports
[ssh-ddos]
enabled = true
[nginx-auth]
enabled = true
filter = nginx-auth
action = iptables-multiport[name=NoAuthFailures, port="http,https"]
logpath = /var/log/nginx*/*error*.log
bantime = 600
maxretry = 6
[nginx-login]
enabled = true
filter = nginx-login
action = iptables-multiport[name=NoLoginFailures, port="http,https"]
logpath = /var/log/nginx*/*access*.log
bantime = 600
maxretry = 6
[nginx-badbots]
enabled = true
filter = apache-badbots
action = iptables-multiport[name=BadBots, port="http,https"]
logpath = /var/log/nginx*/*access*.log
bantime = 86400 # 1 day
maxretry = 1
[nginx-noscript]
enabled = true
action = iptables-multiport[name=NoScript, port="http,https"]
filter = nginx-noscript
logpath = /var/log/nginx*/*access*.log
maxretry = 6
bantime = 86400 # 1 day
Я уже сделал фильтры для nginx-auth, nginx-login, nginx-proxy и nginx-noscript на /filters.d/
У меня тоже установлен Python 2.7.3.
Судя по тому, что я вижу в вашем файле конфигурации и полученной вами ошибке, параметр действия для [pam-generic] не может использовать значение по умолчанию (в разделе нет объявления действия):
ConfigParser.InterpolationMissingOptionError: Bad value substitution:
section: [pam-generic]
option : action
key : action_mwl
rawval :
Я не знаю, что за это стоит, но я бы копнул в этом направлении. В худшем случае, если вам нужно только отфильтровать nginx, вы можете удалить этот раздел и проверить, запускается ли он.
Ключ "action_mwl" не определен в вашем jail.conf.
В jail.conf по умолчанию (по крайней мере, в Ubuntu) он определен. Рекомендуется оставить jail.conf как есть и поместить свои собственные определения в jail.local.
action_mwl из стандартного jail.conf (Ubuntu 12.04):
action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
%(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]
в разделе [pam-generic] вы не определили следующее:
filter
logpath
Фильтр будет по умолчанию, action_mwl, но путь к журналу не будет по умолчанию.
logpath
это журнал, в котором fail2ban обнаруживает аномалии, и является обязательным для каждого раздела в jail.conf
.
Та же проблема будет в [ssh-ddos].