自建網站伺服器的簡易心得系列文(一) - 三個提升Server安全性的設定之防火牆篇
2024-03-04 17:35:31
**前言**
===
根據小弟的經驗,如果伺服器開放了對外的埠口,很容易在日誌中看到大量的機器人和爬蟲嘗試登入資料庫或 SSH。這些登入嘗試的頻率之高,即使沒有暴力破解成功,也會讓人感到困擾。因此,使用防火牆來設定規則,並謹慎地決定是否真的需要對外開放埠口,是保護資訊安全的第一步。
**防火牆基本安裝&設定指南**
===
#### **安裝防火牆 (UFW),保護好 Server 的 port**
1. 安裝指令
``` bash
sudo apt update
sudo apt install ufw+
```
:bulb: Ubuntu 8.04 LTS 之後的版本都會有個內建的防火牆 “UFW”。
#### **設定步驟**
1. **先允許 ssh 連線**
``` bash
sudo ufw allow OpenSSH
```
2. **啟用防火牆 (預設是關閉的)**
``` bash
sudo ufw enable
```
*除了啟動,還有如果重啟時防火牆也會自動打開*
3. **開啟需要的 Port**
先開啟會用到的服務相關的 port,未來有新的需求再開啟即可。
``` bash
ssh 22/tcp # SSH Remote Login Protocol
http 80/tcp # WorldWideWeb HTTP
https 443/tcp # http protocol over TLS/SSL
```
**開啟指令&規則**
``` bash
sudo ufw default allow # 預設全部允許
sudo ufw default deny # 預設全部阻擋
sudo ufw allow ssh # = sudo ufw allow 22
sudo ufw allow 80 # = sudo ufw allow any to any port 80
sudo ufw allow 443 # = sudo ufw allow any to any port 443
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
```
**關閉指令**
可直接使用設定 UFW 時的規則,加上 delete 參數即可:
``` bash
sudo ufw status # 看目前設定過的規則
```
``` bash
sudo ufw delete allow 80
```
也可以查詢規則編號後刪除:
``` bash
sudo ufw status numbered # 看目前設定過的規則編號
```
``` bash
sudo ufw delete 3
```
#### **常用指令**
1. 重設 UFW 規則
``` bash
sudo ufw reset
```
2. 停用 UFW,且開機停用
``` bash
sudo ufw disable
```
3. 查看 UFW 更多資訊
``` bash
sudo ufw status verbose
```
4. UFW 應用程式配置的清單
``` bash
sudo ufw app list
```
### **資料來源**
[簡易的防火牆 - UFW & GUFW · 完全用 GNU/Linux 工作](https://chusiang.gitbooks.io/working-on-gnu-linux/content/07.ufw.html)
[Ubuntu Server 20.04.1 預設 UFW 防火牆 Firewall 設定規則詳解和教學](https://footmark.com.tw/news/linux/ubuntu/ubuntu-server-ufw/)
[Ubuntu 防火牆設定 - 使用 ufw 指令](https://blog.tarswork.com/post/ubuntu-firewall-setting-using-ufw/)
###### tags: `server`
點擊複製文章連結
X