這次多機聯防的程式筆記
還是筆記一下,免得日後忘了。 首先,會先呼叫get_journalctl_bad_ipv4.py,這支程式會把Linux journalctl相關的ssh login錯誤等ipv4提取出來,放到定的檔案,如下例: ./get_journalctl_bad_ipv4.py ./bad_ipv4_ww1.txt 然後,get_journalctl_bad_ipv4.py內部會先呼叫compare_ipv4_list.py這支程式,將bad_ipv4_ww1.txt與已經執行過的security_ipblocked_ipv4.txt比對,把沒有執行過封鎖的ipv4再寫回bad_ipv4_ww1.txt這個檔案中,這樣避免重複執行已經封鎖過ipv4,提升效率。 接著,./report_bad_ipv4.py ./bad_ipv4_ww1.txt ./bad_ipv4_new.txt ./last_report_timestamp.txt 呼叫report_bad_ipv4.py把bad_ipv4_ww1.txt回報到指定的伺服器,並告知上次的執行時間戳last_report_timestamp.txt,並把從伺服器回應的新的bad ipv4存到bad_ipv4_new.txt。 得到伺服器新的清單檔案後,./compare_ipv4_list.py ./security_ipblocked_ipv4.txt ./security_ipblock_ipv4.txt ./bad_ipv4_ww1.txt ./bad_ipv4_new.txt ./bad_ipv4_io.txt 呼叫compare_ipv4_list.py,把過去執行過的檔案都加入是否已經執行的檢查,再把沒執行過的放到bad_ipv4_io.txt 有了bad_ipv4_io.txt,即可再次使用./get_journalctl_bad_ipv4.py ./bad_ipv4_io.txt 執行封鎖ipv4的動作。最後,把所有的檔案,透過unique_ipv4.py ./unique_ipv4.py ./security_ipblocked_ipv4.txt ./security_ipblock_ipv4.txt ./bad_ipv4_ww1.txt ./bad_ipv4_new.txt .