iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0

Port 與 Firewall

  • Port(通訊埠):伺服器的入口,例如 HTTP 網頁走 80、HTTPS 走 443、SSH 遠端連線走 22。
  • UFW(防火牆):伺服器的門衛,負責決定只允許哪些 Port 的流量進來,擋掉無關或惡意的連線。

重要警示:在開啟防火牆前,務必先允許 SSH(Port 22),否則一啟用防火牆把你自己的連線鎖在門外,就再也連不進去了。

UFW 常用指令與規則

指令 用途
sudo ufw status 查看防火牆當前狀態與已開啟的規則
sudo ufw allow 22/tcp 放行 SSH 連線 (Port 22) 【必做第一步】
sudo ufw allow 80/tcp 放行 Nginx HTTP 網頁流量 (Port 80)
sudo ufw allow 'Nginx Full' 一次放行 Nginx 的 HTTP (80) 與 HTTPS (443)
sudo ufw enable 啟用防火牆
sudo ufw delete allow 80/tcp 刪除開放 80 Port 的規則

實作
https://ithelp.ithome.com.tw/upload/images/20260913/20183847vSoEgSe22B.png

  • 檢查防火牆初始狀態
    執行指令:sudo ufw status
    操作目的:確認防火牆目前是否運作中。
    解析:截圖中第一行顯示 Status: inactive,代表系統預設關閉防火牆。

  • 新增通訊埠放行規則(允許連線)
    執行指令:
    sudo ufw allow 22/tcp(放行 SSH 遠端連線埠)
    sudo ufw allow 'Nginx Full'(放行 Nginx 網頁服務的 Port 80 與 443)
    操作目的:在啟用防火牆前先建立白名單,防止啟用後 SSH 斷開導致無法連線。
    解析:顯示 Rules updated 代表已成功將 IPv4 與 IPv6 規則寫入設定檔。

  • 正式啟用 UFW 防火牆
    執行指令:sudo ufw enable
    操作目的:開啟防火牆並讓系統開機時自動載入。
    解析:輸入 y 確認後,出現 Firewall is active and enabled on system startup,代表防火牆已正式啟動保護。

  • 驗證啟用狀態與規則清單
    執行指令:sudo ufw status
    操作目的:確認防火牆已運作,且規則皆已生效。
    解析:畫面顯示 Status: active,且表格中清楚列出 22/tcp 與 Nginx Full 皆為 ALLOW(允許來自任何地點 Anywhere 的連線),代表設定成功。


上一篇
Day 11:日誌分析與問題排查 (Log Analysis)
下一篇
Day 13: Nginx Reverse Proxy 與網域轉發實作
系列文
從零開始的 Linux 維運與 Bash 自動化實戰 30 天18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言