Django 的會員登入系統同樣會遭到暴力破解,Django 將登入錯誤的訊息寫入 log,再由 Fail2ban 判定是否超過三次再進行封鎖 ip,就可以有效的防止暴力破解。
settings.py
在 settings.py 新增如下設定啟動 Django logger 功能
🔒 更多內容,請登入會員繼續閱讀。
立即登入然後在專案下手動新增 logs 目錄。在重啟 web Server 後,會在 logs 下產生 login.log 空檔案。
登入系統
Python 的登入系統,取得 ip 後,分別於登入成功及失敗增加 logger.info(f”……..”)
🔒 更多內容,請登入會員繼續閱讀。
立即登入上述不論登入成功或失敗,都在將訊息寫入 logs/login.log 檔案中。
Filter
fail2ban /etc/fail2ban/filter.d/ 下新增 django.conf,然後輸入如下設定
🔒 更多內容,請登入會員繼續閱讀。
立即登入jail.conf
/etc/fail2ban/jail.conf 最後新增如下設定
🔒 更多內容,請登入會員繼續閱讀。
立即登入然後重新啟動 fail2ban
sudo systemctl restart fail2ban
動啟後,系統就會自動判斷是否有三次登入錯誤,若三次錯誤立即封鎖 ip 2 小時。
