"Network"
- GCP VM 的 SSH 與 RDP 改走 IAP 的實測紀錄:盤點、救援入口、IAP 規則與 IAM、停用舊規則驗證、OS Login 啟用與移除外部 IP
要把 GCP 專案裡對 0.0.0.0/0 開放 22 與 3389 port 的預設規則換成只放行 IAP,想照一次實跑過的順序做、看每一步沒做或換一種做法的結果時讀;也用在停用舊規則之後連不上、OS Login 啟用後有人登不進去,或拿掉外部 IP 之後要確認出站走了 Cloud NAT 的時候
- 源站防火牆只放行 Cloudflare 位址的實測紀錄:firewalld、Docker 發佈的連接埠、DOCKER-USER、nftables 表與出站 DNS
要在 Linux 主機上設定只放行 Cloudflare 位址的防火牆、確認 Docker 發佈的連接埠有沒有繞過 firewalld、在 DOCKER-USER、StrictForwardPorts 與 nftables 表之間選一種限制容器的來源、或限制出站 DNS 時,查 Oracle Linux 10 上實際跑過的指令、輸出,以及規則在重新載入、dockerd 重啟與重開機之後還在不在
- GCP VM 的 SSH 與 RDP 管理通道:從預設的全開規則改走 IAP TCP forwarding
GCP 預設網路自帶的防火牆規則與它們留下的暴露面、IAP TCP forwarding 的連線路徑與日常連線指令、切換到 IAP 的順序為什麼這樣排、IAP 通道連不上時的依層判讀,以及 IAM 授權範圍、OS Login 的啟用條件與工作階段的結束、拿掉外部 IP 之後的出站路徑、Organization Policy、階層式防火牆、稽核紀錄與 Security Command Center 的 OPEN_SSH_PORT finding 在 GCP 上的處理
- 網路地基 — VPC、subnet 分層與 security group 設計
VPC CIDR 規劃、public / private subnet 切分、route table 與 NAT 的可用性成本取捨、security group 最小開放設計,以及 NACL 的定位
- Port 與 Localhost
TCP port 與 listen address 如何決定 API server 的對外暴露範圍
- ufw 主機上 Docker 發佈連接埠的實測紀錄:ufw 規則的效果、DOCKER-USER 規則的存續與 after.rules、IPv6 的 docker-proxy、compose 內建 DNS 的出站路徑
在 Ubuntu 的 ufw 主機上用 Docker 發佈連接埠、想只放行 Cloudflare 的位址、或想限制容器送出的 DNS 查詢時,查 ufw 規則對發佈連接埠的效果、DOCKER-USER 規則在 reload 與重開機之後還在不在、IPv6 那一份發佈由誰接收,以及 compose 容器的 DNS 封包從哪裡送出
- GCP 上 MIG 與 GKE 管理存取的實測紀錄:instance template 與 canary 滾動更新、重建與主機金鑰、kubectl debug 的 namespace、node pool 設定與控制平面端點的切換
要把 IAP 的 tag、OS Login 與移除外部 IP 套到 MIG 或 GKE 上,想照一次實跑過的順序做、看每一步換一種做法的結果時讀;也用在 MIG 重建之後 SSH 出現 REMOTE HOST IDENTIFICATION HAS CHANGED、kubectl debug 停在等待,或關掉 GKE 控制平面的 IP 端點之前要確認每個人都改連的時候
- GCP 上由 MIG 與 GKE 管理的 VM 的管理存取:instance template、node pool、kubectl debug 與控制平面存取
VM 由 managed instance group 或 GKE node pool 管理時,管理通道的設定為什麼要寫在 instance template 與 node pool 而不是逐台修改、MIG 救援用重建、退回 template 與 Serial Console 各自適用的情形、GKE 的控制平面與節點兩個存取面、kubectl debug 取代節點 SSH 的權限邊界(RBAC 與 Pod Security Admission),以及 GKE 控制平面三種端點(authorized networks、DNS-based endpoint 與 private endpoint)的差別
- Security Group 稽核與清理
盤點所有 security group 規則、找出 0.0.0.0/0 全開與未使用的 SG、依賴檢查後安全刪除、自動化治理
- Podman 與 rootless Docker 發佈連接埠的實測紀錄:rootful Podman 在 ufw 與 firewalld 上的轉送路徑、rootless Docker 與 rootless Podman 由主機程式接收的連接埠與容器看到的來源位址
用 Podman 或 rootless 模式的 Docker 發佈連接埠、想知道 ufw 或 firewalld 的規則管不管得到、或想在容器裡拿到連線的真實來源位址時,查 rootful Podman 在 ufw 與 firewalld 上的不同結果、rootless 模式接收連線的路徑,以及容器看到的來源位址
- 網路:subnet、私有 IP、公開 IP 與防火牆規則
雲端主機建立頁網路區塊的選項:主機放進哪個虛擬網路與 subnet、私有 IP 與公開 IP 各自的用途與生命週期、防火牆規則掛在 subnet、網卡與作業系統哪一個位置以及各家怎麼合併,以及主控台新建的網路預設對外開放了什麼
- 流量入口層 — 請求怎麼從使用者到達應用
自管環境要決定請求從使用者到應用經過哪幾層入口、每層承擔什麼——TLS 終結的位置、動靜分離、單機 reverse proxy 與雲端負載平衡器的選擇
- 網路斷線 UX 模式
Offline-first / retry / degraded mode 三種網路 gate 的處理策略 — 取決於功能是否依賴即時連線
- Cloudflare 回源的實測紀錄:Oracle Cloud NSG 只放行 Cloudflare 位址與規則數上限、回源的來源位址、Authenticated Origin Pulls、Worker 偽造 CF-Connecting-IP 與 Tunnel 的出站連接埠
源站要放在 Cloudflare 後面、想確認只放行 Cloudflare 位址的雲端防火牆放不放得下整份清單、回源實際用哪些位址、Authenticated Origin Pulls 怎麼驗證、Cloudflare Worker 能不能穿過這道防火牆並偽造 CF-Connecting-IP、或 Tunnel 要開哪些出站連接埠時,查 Oracle Cloud 與 Cloudflare 免費方案上實際跑過的指令與輸出
- 伺服器管理通道的設計:網路可達性、通道授權、主機登入驗證三層的做法與選擇,以及救援入口
與雲端廠商無關、適用於雲端 VM、地端主機與 VPS 的管理員登入通道設計:拆成網路可達性、通道授權與主機登入驗證的模型,各層的做法(來源白名單、跳板機、VPN、身分感知代理、代理程式反向連線、SSH 憑證)、更換 port 與 fail2ban 改不了的部分,依存取者身分、連線送達方式、收回方式選擇組合的依據,以及移除公開 IP 之後的出站路徑、切換順序、救援入口、組織護欄與稽核
- VPC(Virtual Private Cloud)
雲端帳號內的一塊邏輯隔離私有網段,是所有網路切分的起點與容器
- CDN 後面的源站主機防火牆:只放行 CDN 來源的位置與套用時機、Docker 發佈連接埠的封包路徑、出站 DNS 的限制與地理封鎖
網站放在 CDN(例如 Cloudflare)後面時,源站主機的入站與出站限制:請求避開 CDN 直連源站的成因、來源限制放在雲端防火牆、主機防火牆或 CDN 端驗證的差別、只放行 CDN 位址的套用時機、Docker 發佈的連接埠繞過 ufw 與 firewalld 的路徑與各種限制寫法、CDN 位址送來的請求為什麼不等於 CDN 替自己的網域轉送、出站 DNS 限制的效果與漏洞、地理封鎖放在 CDN 邊緣的理由
- Tailscale 深入:tailnet、MagicDNS、直連與 DERP 中繼
要用 Tailscale 讓散在不同網路的機器互連、遇到連得到但延遲高、或想讀懂 tailscale status 的 relay / direct 標示時回來讀
- Subnet(子網路)
VPC 內按可用區與暴露程度切出的子網段,決定資源有沒有一條通往網際網路的路徑
- Oracle Cloud 私有子網路 Ubuntu 主機的實測紀錄:套件來源的出站(NAT gateway、路由與 NSG)、序列主控台的連線,以及被回收之後的重建
要在 Oracle Cloud 沒有公開 IP 的私有子網路裡跑一台 Ubuntu 主機、讓它裝得到套件更新,或要經由序列主控台看主機的開機過程,或主機被閒置回收、停止或刪除之後要照原樣重建,或想知道 NAT gateway 要不要另外付費、開機磁碟扣掉多少區塊磁碟額度、合計超過 200 GB 時放不進額度的那一顆怎麼算、怎麼用 quota 擋下超額的建立、線上加大開機磁碟超過額度時怎麼算、空出額度之後付費磁碟多久轉成免費時,查實際跑過的指令、錯誤原文、重建腳本與每一步的讀法
- Security Group
掛在資源網卡層級的有狀態防火牆,逐埠決定哪些來源能連進這個資源
- NAT Gateway
private subnet 或沒有外部 IP 的 VM 要主動對外連線、評估 NAT 的數量與出站成本、或在 AWS 與 GCP 之間對照出站做法時,查 NAT Gateway 的職責、部署模式與取捨
- CIDR(Classless Inter-Domain Routing)
用前綴長度表示 IP 地址範圍的表示法,決定 VPC 與 subnet 的地址空間大小
- Reverse Proxy
代替後端服務接收外部請求、再轉發到內部服務的中介層,承擔 TLS 終結、負載平衡與路由分流
- Connection Refused vs. Timeout(連線被拒與逾時)
遠端連不上、要判斷是封包到不了還是服務拒絕、決定往網路層還是服務層除錯時回來讀
- TCP Connection Roaming(連線與漫遊)
遠端連線一換網路(Wi-Fi 切行動網路、休眠喚醒、換 IP)就斷、想知道為什麼 SSH 扛不住而 mosh 撐得住時回來讀
- Identity-Aware Proxy(身分感知代理)
要讓管理員或使用者不經公開入口連到內部主機與服務、評估把存取控制從來源 IP 改成帳號身分時,查身分感知代理的連線路徑、前提與代價
- Bastion Host(跳板機)
內部主機不想各自對外開管理 port、要設定 ProxyJump 經由跳板機連線、判斷 agent forwarding 的風險,或要評估自建跳板機與改用身分感知代理的取捨時,查跳板機的連線方式、暴露面與維運責任
- Network Tag(GCP 網路標籤)
GCP 防火牆規則套不到某台 VM、新建的 VM 連不上,或要決定防火牆規則用 tag 還是服務帳號選 VM 時,查 network tag 怎麼讓防火牆規則選出要套用的 VM
- CDN(內容遞送網路)
網站要放到 Cloudflare 這類服務後面、看到回應標頭帶著 CDN 的標記、或要判斷源站看到的來源位址是誰時,查 CDN 代替源站接收連線的方式、回源與它對源站防火牆的影響
- DNAT(目的位址轉換)
容器發佈的連接埠沒被主機防火牆擋下、port forwarding 的限制規則要寫在位址轉換之前還是之後、或要比對位址轉換之前的連接埠時,查 DNAT 改寫封包目的地的時間點與它對防火牆規則的影響
- conntrack(連線追蹤)
防火牆規則寫了 established、related 或 ctorigdstport、有狀態防火牆為什麼不必寫回程規則、改了規則卻像沒生效、或位址轉換之後要比對原本的位址時,查 Linux 核心記錄連線狀態的表與它在規則裡的用法
- Network Namespace(網路命名空間)
容器的網路為什麼跟主機分開、要在一台主機上模擬另一個來源位址做防火牆實測、或看到 ip netns 與 veth 時,查 Linux 核心的網路隔離單位與它跟 Kubernetes namespace 的差別
- Userland Proxy(使用者空間的連接埠轉送程式)
ss 列出 docker-proxy、rootlesskit 或 rootlessport 聽著容器發佈的連接埠、主機防火牆的入站規則對容器的連接埠有效、或容器的存取紀錄只看得到閘道位址而沒有真實來源時,查這類轉送程式接收連線的路徑與它換掉來源位址的代價
- VNIC(虛擬網路卡)
雲端主機的私有 IP、公開 IP 或網卡層的防火牆規則要查、要改,或主機重建之後私有 IP 與防火牆規則跟著不見時,查 VNIC 掛著哪些設定、它跟主機一起建立與刪除的關係,以及各家的名稱
- 7.43 兩個網路之間的連線安全:可達範圍、連線方向與流入的資料、被入侵端改不到的限制、應用層認證、監控主機的位置、金鑰與控制平面、異地備份的寫入憑證與連線紀錄
地端主機與雲端主機、或兩個雲端業者的主機以 VPN 或存取金鑰接起來之後的安全設計與評估:連線清單上各台連得到什麼、每一台各假設一次被入侵、限制要放在被入侵端沒有寫入路徑的地方、連線的發起方向與流入的資料、VPN 之內的應用層認證、監控主機與管理者裝置的位置、WireGuard 與 Tailscale 的金鑰與控制平面、異地備份的寫入憑證,以及連線本身的紀錄
- Lateral Movement(橫向移動)
評估一台主機被入侵之後攻擊者還連得到哪些機器、內網或 VPN 裡的可達範圍要收到多窄時,查攻擊者以已經拿下的機器為起點往內擴散的方式
- Zero Trust(零信任)
判斷內網或 VPN 裡的服務能不能因為連線來自內部就省掉認證、或要評估一條連線該放行到什麼範圍時,查「每一次連線各自通過身分與授權」這個原則的內容與導入代價