Ubuntu 上 UFW 與 Fail2Ban 的使用與設定教學

大家好!今天我們要學習兩個非常重要的工具:UFW 和 Fail2Ban,它們是守護你的 Ubuntu 伺服器安全的重要防線。想像一下,你辛辛苦苦架設了一個網站,例如一個 WordPress 網站,卻因為沒有做好安全防護,被駭客入侵,網站資料被竊取或遭到破壞,甚至網站被用來發送垃圾郵件,這將會造成巨大的損失和困擾。學習 UFW 和 Fail2Ban,就能有效防止這種情況發生! UFW 和 Fail2Ban 的作用分別是:UFW 像是伺服器的城牆,控制哪些網路流量可以進出你的伺服器;Fail2Ban 則像是城牆上的守衛,監控可疑的活動,自動封鎖惡意入侵的企圖。學會運用這兩個工具,就能大幅提升你的伺服器安全性。 什麼是 UFW UFW,全名 Uncomplicated Firewall,是一個簡單易用的防火牆工具。它不像其他防火牆軟體那樣複雜難懂,UFW 提供了簡潔的指令和設定方式,讓你輕鬆管理伺服器的網路流量。使用 UFW,你可以指定哪些網路服務可以被訪問,例如 SSH、HTTP、HTTPS 等,並阻擋其他不必要的連線,有效防止未授權存取。 安裝與配置 UFW

  • 使用終端機輸入以下指令安裝 UFW: sudo apt install ufw
  • 安裝完成後,輸入 sudo ufw enable 啟用 UFW。
  • 啟用後,你需要設定一些基本的規則。例如,允許 SSH 連線 (預設端口 22):sudo ufw allow ssh
  • 如果你使用 Nginx 作為網頁伺服器,則需要允許 HTTP 和 HTTPS 連線 (預設端口 80 和 443):sudo ufw allow httpsudo ufw allow https
  • 設定完成後,你可以使用 sudo ufw status 檢視目前的防火牆規則。 這一步驟非常重要,可以讓你確認設定是否正確,並且了解哪些端口被允許連接。 任何未被允許的連接嘗試都會被 UFW 阻擋。
  • 針對 Nginx 伺服器,如果你使用非標準端口,記得修改指令中的端口號。例如,如果你將 Nginx 的 HTTP 端口設定為 8080,則指令應為 sudo ufw allow 8080。 什麼是 Fail2Ban Fail2Ban 是一個入侵防護工具,它會監控伺服器的日誌檔案,找出重複嘗試登入失敗的 IP 位址,並自動將這些 IP 位址加入防火牆的封鎖名單。這能有效防止暴力破解攻擊,保護你的伺服器免受惡意攻擊。 安裝與配置 Fail2Ban
  • 使用終端機輸入以下指令安裝 Fail2Ban: sudo apt install fail2ban
  • Fail2Ban 的主要設定檔為 /etc/fail2ban/jail.local。 你可以使用文字編輯器 (例如 nano 或 vim) 開啟這個檔案進行編輯。
  • 在這個檔案中,你可以設定 Fail2Ban 監控哪些服務,以及設定封鎖的條件 (例如,連續幾次登入失敗後封鎖)。 初學者可以先針對 SSH 服務進行設定,例如修改 [ssh] 區段的 enabledtrue,並調整 maxretry (最大嘗試次數) 和 findtime (時間範圍) 等參數來控制封鎖策略。
  • 對於 WordPress 網站的登入頁面,你可以新增一個 jail 設定,監控 WordPress 的錯誤日誌,並設定自動封鎖重複嘗試登入失敗的 IP。 這需要你找到 WordPress 的錯誤日誌路徑並調整 jail.local 檔案中的設定。
  • 設定完成後,可以使用 sudo systemctl restart fail2ban 重啟 Fail2Ban 服務以套用新的設定。 課堂練習 現在,讓我們來實際操作一下!請你在你的 Ubuntu 伺服器上完成以下步驟:
  • 安裝 UFW 和 Fail2Ban。
  • 設定 UFW 允許 SSH 和 HTTP 連線。
  • 設定 Fail2Ban 保護 SSH 服務。
  • 模擬多次錯誤的 SSH 登入,觀察 Fail2Ban 是否成功封鎖你的 IP 位址。 結語 恭喜你完成今天的學習!你已經學會了如何使用 UFW 和 Fail2Ban 來保護你的 Ubuntu 伺服器。 記得定期檢查你的防火牆規則和 Fail2Ban 設定,確保它們仍然符合你的需求。 UFW 和 Fail2Ban 只是伺服器安全的第一步,未來你可以學習更進階的安全技巧,例如 SSL 憑證設定、定期備份、以及使用入侵偵測系統等等,來打造更安全的伺服器環境。 請記住,伺服器安全至關重要,只有做好安全防護,才能確保你的網站和資料的安全。

優惠推廣

優惠推廣
不再顯示

確定今天不再顯示提示