Uncomplicated Firewall (UFW) 是 Ubuntu 系統預設的防火牆,它簡化了 iptables 中複雜的指令來設定防火牆規則,後來更推出了圖形化介面稱為 GUFW。由於馬克使用的是伺服器版本的 Ubuntu,因此本文主要是記錄使用指令來設定防火牆。
您可以先參考以下文章來安裝 Ubuntu 作業系統,再繼續往下看。

安裝 UFW

UFW 是 Ubuntu 標準安裝的一部分,通常不需要額外安裝,但如果您因為某些原因沒有安裝 UFW,也可以透過以下指令進行安裝。

            
                $ sudo apt install ufw  // 安裝 UFW
            
        

指令說明

            
                $ ufw enable            // 啟動防火牆,執行後開機也會自動啟動
                $ ufw disable           // 關閉防火牆
                $ ufw status            // 查看防火牆狀態
                $ ufw status verbose    // 查看防火牆詳細狀態
            
        

規則設定

            
                $ ufw default allow                                 // 預設全部允許
                $ ufw default deny                                  // 預設全部阻擋
                $ ufw allow ssh                                     // 允許 SSH 服務連線
                $ ufw allow 80                                      // 允許通過 80 Port 使用 tcp 與 udp 連線
                $ ufw allow 80/tcp                                  // 允許通過 80 Port 使用 tcp 連線
                $ ufw allow from 192.168.0.1                        // 允許來自 192.168.0.1 通過所有連線
                $ ufw allow from 192.168.0.1 to any port 3306       // 允許來自 192.168.0.1 通過 3306 Port
            
        

上方指令如果想要改成阻擋,就把 allow 改成 deny 即可,例如要阻擋 SSH 服務,指令就是 ufw deny ssh,以此類推。也可以把 allow 改成 rejectdenyreject 的差異在於對方會不會收到禁止連線的通知。

刪除規則

            
                $ ufw status numbered                               // 先查看每一條規則的編號
                $ ufw delete 規則編號                                // 刪除規則
            
        

最後提醒一下,防火牆的基本設定邏輯就是阻擋所有連線,針對需求開放連線,只要學會上方提到的幾個指令,相信就能完成大部分的防火牆設定工作。