mirror of https://github.com/fail2ban/fail2ban
- Only scan log files which were modified
git-svn-id: https://fail2ban.svn.sourceforge.net/svnroot/fail2ban/trunk@52 a942ae1a-1317-0410-a47c-b1dcaea8d6050.6
parent
78dab1db70
commit
b5eb68d884
|
@ -12,6 +12,7 @@ ver. 0.3.0 (02/??/2005) - alpha
|
||||||
- Re-writting of parts of the code in order to handle several
|
- Re-writting of parts of the code in order to handle several
|
||||||
log files with different rules
|
log files with different rules
|
||||||
- Removed sshd.py because it is no more needed
|
- Removed sshd.py because it is no more needed
|
||||||
|
- Fixed a bug when exiting with IP in the ban list
|
||||||
|
|
||||||
ver. 0.1.2 (11/21/2004) - beta
|
ver. 0.1.2 (11/21/2004) - beta
|
||||||
----------
|
----------
|
||||||
|
|
|
@ -43,8 +43,8 @@ from firewall.iptables import Iptables
|
||||||
from firewall.ipfw import Ipfw
|
from firewall.ipfw import Ipfw
|
||||||
from firewall.ipfwadm import Ipfwadm
|
from firewall.ipfwadm import Ipfwadm
|
||||||
from logreader.logreader import LogReader
|
from logreader.logreader import LogReader
|
||||||
from version import version
|
|
||||||
from confreader.configreader import ConfigReader
|
from confreader.configreader import ConfigReader
|
||||||
|
from version import version
|
||||||
|
|
||||||
def usage():
|
def usage():
|
||||||
print "Usage: fail2ban.py [OPTIONS]"
|
print "Usage: fail2ban.py [OPTIONS]"
|
||||||
|
@ -173,7 +173,6 @@ if __name__ == "__main__":
|
||||||
conf["background"] = False
|
conf["background"] = False
|
||||||
conf["debug"] = False
|
conf["debug"] = False
|
||||||
conf["conffile"] = "/etc/fail2ban.conf"
|
conf["conffile"] = "/etc/fail2ban.conf"
|
||||||
conf["apachefile"] = "log-test/current"
|
|
||||||
conf["logging"] = False
|
conf["logging"] = False
|
||||||
conf["logfile"] = "/var/log/fail2ban.log"
|
conf["logfile"] = "/var/log/fail2ban.log"
|
||||||
conf["maxretry"] = 3
|
conf["maxretry"] = 3
|
||||||
|
@ -360,7 +359,7 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
# Reads the config file and create a LogReader instance for
|
# Reads the config file and create a LogReader instance for
|
||||||
# each log file to check.
|
# each log file to check.
|
||||||
confReader = ConfigReader(conf["conffile"]);
|
confReader = ConfigReader(logSys, conf["conffile"]);
|
||||||
confReader.openConf()
|
confReader.openConf()
|
||||||
logList = list()
|
logList = list()
|
||||||
for t in confReader.getSections():
|
for t in confReader.getSections():
|
||||||
|
@ -399,9 +398,11 @@ if __name__ == "__main__":
|
||||||
# last time, we sleep for 1 second. This is active
|
# last time, we sleep for 1 second. This is active
|
||||||
# polling so not very effective.
|
# polling so not very effective.
|
||||||
isModified = False
|
isModified = False
|
||||||
|
modList = list()
|
||||||
for element in logList:
|
for element in logList:
|
||||||
if element.isModified():
|
if element.isModified():
|
||||||
isModified = True
|
isModified = True
|
||||||
|
modList.append(element)
|
||||||
|
|
||||||
if not isModified:
|
if not isModified:
|
||||||
time.sleep(conf["polltime"])
|
time.sleep(conf["polltime"])
|
||||||
|
@ -409,7 +410,7 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
# Gets the failure list from the log file.
|
# Gets the failure list from the log file.
|
||||||
failList = dict()
|
failList = dict()
|
||||||
for element in logList:
|
for element in modList:
|
||||||
failList.update(element.getFailures())
|
failList.update(element.getFailures())
|
||||||
|
|
||||||
# We iterate the failure list and ban IP that make
|
# We iterate the failure list and ban IP that make
|
||||||
|
|
Loading…
Reference in New Issue