Django & Fail2ban

      在〈Django & Fail2ban〉中尚無留言

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 小時。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *