Ubuntu UFW with Kubernetes and Calico Firewall Rules

Ubuntu UFW with Kubernetes and Calico Firewall Rules

之前在架設 Kubernetes 叢集預設把防火牆給關閉。當然,關閉防火牆是非常不安全的行為。 當所有 Kubernetes 和 Calico 組態與服務都上線之後,我們需要把防火牆設定回去。

這裡只針對兩個部分:Kubernetes 與 Calico 所以需要埠(Port)。

首先簡單看一下 Ubuntu 的 ufw 的操作:

# 關閉 ufw 服務
systemctl disable --now ufw.service
# 這是啟動 ufw 服務
# 還需要進行啟動
systemctl enable --now ufw.service

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

透過 sudo ufw enable 啟動防火牆會是比較簡單的方式。接下來依服務文件一一設定所需要開放的埠(Port)。

# Open ssh, http, https
ufw allow ssh
ufw allow http
ufw allow https
# Kubernetes Port
# https://kubernetes.io/docs/reference/networking/ports-and-protocols/
# https://github.com/freach/kubernetes-security-best-practice
ufw allow 4149/tcp
ufw allow 6443/tcp
ufw allow 2379:2380/tcp
ufw allow 10250/tcp
ufw allow 10255/tcp
ufw allow 10256:10257/tcp
ufw allow 10259/tcp
ufw allow 30000:32767/tcp
# Calico Port
# https://docs.tigera.io/calico/latest/getting-started/kubernetes/requirements
ufw allow 179/tcp
ufw allow 4789/udp
ufw allow 5473/tcp
ufw allow 9099/tcp

上面是針對 Kubernetes 和 Calico 兩個服務來設定,如果還有整合其他服務,例如,NFS 服務,請讀者再自行設定。

注意:上面的 ssh 設定的預設是 From Anywhere這在外網(Internet)可連線的環境會有資安問題,並且應該會被試(攻?)到「嫑嫑」。 也就是說,這份 Firewall Rule 設定單純針對內網可信任環境。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。