Переработал скрипт из поста "Парсим лог Exim (борьба с Brute force)"
Главная суть переделки - оформление кода как модуля, теперь его можно использовать из других скриптов Python. Причина, по которой это потребовалось, описана в примечаниях к вышеупомянутому посту.
Окончательный текст скрипта:
Главная суть переделки - оформление кода как модуля, теперь его можно использовать из других скриптов Python. Причина, по которой это потребовалось, описана в примечаниях к вышеупомянутому посту.
Окончательный текст скрипта:
#!/usr/bin/env python3.6
# -*- coding: utf8 -*-
import subprocess,os,sys,string
def brut_kill():
    srcips=str(subprocess.check_output("awk '/LOGIN authenticator failed / {print $8}' /var/log/exim/mainlog | tr -d '[]:' | sort",shell=True)).split('\\n')
    ips=[]
    for i in srcips:
        if (i !="'") and (i not in ips) and (srcips.count(i)>2):
            ips.append(i)
            subprocess.call(["/sbin/ipfw", "table", "5", "add", i])
if __name__ == "__main__":
    brut_kill()
import brutforce
brutforce.brut_kill()
При предыдущей реализации в первую минуту каждого часа (причина описана в первой версии поста) проскакивало 2-3 попытки от наших друзей, теперь у каждого IP будет небольшой шанс при ротации логов.
Жду новых результатов.
Результаты:
#awk '/LOGIN authenticator failed / {print $1, $2, $8}' /var/log/exim/mainlogСодержимое таблицы:
#ipfw table 5 list
182.108.3.23/32 0
185.137.111.5/32 0
185.137.111.23/32 0
185.137.111.123/32 0
185.137.111.132/32 0
185.137.111.200/32 0
185.137.111.239/32 0
185.234.216.105/32 0
185.234.216.164/32 0
185.234.218.126/32 0
193.169.252.174/32 0
194.110.84.152/32 0
203.163.247.143/32 0
223.247.94.157/32 0
P.S.
Вот распарсенный лог за сутки:2019-07-25 03:00:08 [185.137.111.5]:
2019-07-25 05:00:04 [185.137.111.239]:
2019-07-25 05:03:08 [194.110.84.152]:
2019-07-25 05:03:14 [194.110.84.152]:
2019-07-25 05:03:24 [194.110.84.152]:
2019-07-25 05:03:41 [194.110.84.152]:
2019-07-25 06:00:08 [185.137.111.239]:
2019-07-25 14:31:26 [93.139.162.204]:
2019-07-26 03:24:07 [2.233.194.151]:
 
Комментариев нет:
Отправить комментарий