Python實現雲服務器防止暴力密碼破解

雲服務器防止暴力密碼破解

雲服務器暴露在公網上,天天都有大量的暴力密碼破解,更換端口,無濟於事,該腳本監控安全日誌,獲取暴力破解的對方ip,加入hosts黑名單python

路徑說明

描述 路徑
登陸安全日誌 /var/log/secure
hosts黑名單 /etc/hosts.deny
hosts白名單 /etc/hosts.allow

邏輯介紹

  1. 經過 subprocess.Popen('tail -f XXXXX') 打開登陸安全日誌
  2. while True 循環經過 readline 的形式,達到實時監控日誌文件的目的
  3. 解析每一行日誌,出現Invalid user \w+ from (\d+\.\d+\.\d+\.\d+) 說明是在嘗試登陸不存在的用戶名,那麼直接拉黑當前ip
  4. 出現Failed password for \w+ from (\d+\.\d+\.\d+\.\d+) 說明是在嘗試已有用戶的密碼,而後判斷當前ip的嘗試次數,達到閾值的時候,拉黑當前ip

使用方法

  1. 前提,準備python環境
  2. 執行命令 nohup python3 -u deny_login_ip.py >> your_log_name.log 2>&1 &
  3. 當前文件夾下會生成一個日誌文件 your_log_name.log

注意事項

  1. 爲了防止誤封本身ip的狀況,請提早把本身的ip加入白名單
  2. 黑白名單書寫格式sshd:172.168.0.1, 一行一個

詳細邏輯,見詳細的代碼註釋git

github地址:https://github.com/luocfa/deny_login_ipgithub

相關文章
相關標籤/搜索