ref: https://www.cyberark.com/resources/threat-research-blog/securing-kubernetes-clusters-by-eliminating-risky-permissions
本篇文章是一個基礎分享文,整個主軸圍繞於 Authentication 與 Authorization 兩大塊,同時透過這兩大概念的介紹來分享一些會可能會有資安問題的設定
開頭作者探討了 Kubernetes 的架構,並且將 API Server 這個重點核心拿來出探討,提到為了存取 Kubernetes API,使用者必須要經過三個階段的處理,分別是
Authentication, Authorization 以及 Admission Control
接者用一個簡單的流程來說明上述三者的差異,假設今天有一個 Client 想要請求 API Server 幫忙創建一個 Pod 的物件。
首先 API Server 會針對該請求進行 Authentication 的檢查,通常情況下會使用 Certificate, Tokens, Basic Authentication(username/password) 來判別。
如果通過後,則會進入到 Authorization 的階段,該階段要判別發送當前 Request 的 Client 是否擁有創建 Pod 的權限,如果有權限就會把相關操作交給後續的 Admission Control 來處理。
文章中舉了一個名為 AlwaysPullImages 的 Admission Controller,該 Controller 對於一個多用戶的 Kubernetes Cluster 來說特別有用,主要是用來確保使用者 A 想要使用的 Private Image 不能被使用者 B 存取。
試想一個情況,假設今天使用者 A 順利於 NodeA 上抓取了自己的 Private Image,那使用者 B 假如很剛好知道這個 Image 的名稱,是不是有機會就可以不需要相關權限直接使用 NodeA 上的 Image?
所以這個 Admission Controller 就是用來避免這個問題的。
接者作者從 Authentication 與 Authorization 中個挑選一個方式來介紹並且講解這兩者如何結合的。
Authentication 使用的是 Service Account Token,管理會事先於 Kubernetes 內創立一個相關的 Service Account,並且把該 SA(Service Account) 的 Token 給交給 Client(Kubeconfig 也可)
Client 發送 HTTPS 請求到 API Server 的時候就可以夾帶這個 Token 的資訊,這樣 API Server 就會去檢查該 Token 是否存在於 Cluster 內。
事實上當每個 Pod 被創立後, Kubernetes 預設情況下就會將該 namespace 下的 service account 資訊給掛載到該 Pod 內的 "/var/run/secrets/kubernetes.io/serviceaccount" 這個路徑
這樣該 Pod 就可以使用該 Service Account Token 的資訊與 API Server 溝通。
Authorization 則是使用 RBAC 的方式來處理, RBAC 由三個部分組成,分別是 Role(代表可以針對 Cluster 進行什麼樣類型的操作,譬如 create pod, delete pod), Subject(你是誰,譬如 Service Account), RoleBinding(用來將 Role 與 Subject 給綁定)
管理員要創建並且管理這些叢集的話,就要好好的去設計這三個物件的關係,來確保最後的 Client 可以擁有剛剛好符合其需求的權限,千萬不要為了懶散而給予過多權限。
接者作者列舉了五種 Risky permissions 的可能情境
1. Listing secrets
大部分的應用程式開發者都會使用 secret 的物件來管理一些機密資訊,如帳號密碼,憑證等,所以一個擁有 list secrets 的 service account 其實是相對危險的。
非必要的話,不要讓管理員以外的任何使用者有這個權限,特別是使用 ClusterRole/ClusterRoleBinding 時要特別注意
2. Creating a pod with a privileged service account
假設今天有一個攻擊者已經獲得一個可以創建 pod 的 service account,那該攻擊者已經可以很順利的於叢集內創建 Pod 去進行基本操作(譬如挖礦)
如果攻擊者很巧地又知道目標 namespace 內存在一個很強的 service account,它就有辦法讓他創立的 Pod 去使用這個很強的 Service Account 並且進行更多後續操作
3. Impersonating privileged accounts
作者提到 Impersonating 這個 Role 裡面的動作要特別小心使用,擁有這個權限的使用者可以輕鬆化身為其他的使用者/群組
舉例來說,一個擁有 Impersonating -> users/group 的 serviceaccount 是沒有辦法看到任何 secrets 的物件。
但是攻擊者只要使用的時候加上 --as=null --as-group=system:master 則就會變成如 master 般的上帝擁有這些權限
因此這種權限設定上要特別小心
4. Reading a secret – brute-forcing token IDs
5. Creating privileged RoleBindings
後續兩個有興趣的可以參考全文,都是滿有趣的一些想法,值得閱讀擴展自己的認知
同時也有461部Youtube影片,追蹤數超過26萬的網紅Best Evil,也在其Youtube影片中提到,[ ร้านเติมโรบัค เรทคุ้ม ] [ Crystal Shop ] ?เว็ปไซต์: https://crystalshopth.com ?แฟนเพจ: https://facebook.com/Crystalbuxshop2 ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬...
「private server」的推薦目錄:
- 關於private server 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於private server 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
- 關於private server 在 BorntoDev Facebook 的最佳解答
- 關於private server 在 Best Evil Youtube 的精選貼文
- 關於private server 在 spin9 Youtube 的最讚貼文
- 關於private server 在 Best Evil Youtube 的最佳貼文
- 關於private server 在 private-server · GitHub Topics 的評價
private server 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
本篇文章是一個深度介紹文,除了探討 K3S 與 K3D 的關係之外,還針對 K3D 的架構與使用方法很詳細的介紹一番,包含了
1. K3D v3 的特色與架構
2. 如何替換 K3D 裡面的 CNI
3. 如何替換 k3D 預設的 Ingress Controller
4. 使用 private registry 來處理
Kubernetes 的變化版本很多,除了 k3s 之外後來還有 k0s 的出現,每個版本都有自己想要解決的問題,而 k3s 則是一個非常輕量的 Kubernetes 版本,其特色有
1. 使用 Flannel 作為其預設 CNI,不講求太多複雜功能,單純用 VXLAN 打造一個 L2 的 overlay 網路
2. 使用 CoreDNS,與原生一樣
3. 使用 SQLite3 當作預設的 DB,而非 etcd3
4. 使用 Traefik 當作預設的 Ingress Controller,原生 K8s 則把這個主動權交給使用者
5. 使用 Containerd 當作預設的 Container Runtime
而 K3D 就是基於 K3S 的測試環境, K3S in Docker,跟 KIND 類似,只是運行的 Kubernetes 發行版本不同。
相較於 KIND 而已, K3D 的架構稍微複雜一點
1. 為了方便測試與存取,k3D 部署的時候也會部署一個 Nginx Server 來當作簡易的 Load-Balacner,讓 K3D 內的 Ingress 服務可以更簡易的被存取。使用者只需要存取該 Load-Balancer 即可,不需要去針對 Node(Docker) 的 IP 存取
2. 可以支援動態加入與刪除節點
本篇文章算是非常詳細的介紹各種參數用法,對於 K3D 這種測試環境有興趣的可以參考看看
https://yannalbou.medium.com/k3s-k3d-k8s-a-new-perfect-match-for-dev-and-test-e8b871aa6a42
private server 在 BorntoDev Facebook 的最佳解答
😁 สวัสดีจ้า วันนี้แอดจะพาเพื่อนๆ มาทำความรู้จักกับ SSH มันคืออะไร? มีความสำคัญยังไงกันนะ ? มาหาคำตอบได้ในโพสต์นี้เลยจ้า !!
.
🔥SSH หรือ Secure Shell เป็นโปรโตคอลสื่อสารที่ทำให้เครื่องคอมพิวเตอร์ 2 เครื่อง สามารถสื่อสารในระยะทางไกลพร้อมกันได้ สร้างขึ้นมาแทน Telnet ที่ไม่มีการเข้ารหัส ซึ่งเจ้า SSH จะมีการเข้ารหัสทำให้สามารถสื่อสารได้อย่างปลอดภัยมากขึ้น
.
📑 การใช้งาน
หากเพื่อนๆ ใช้ Linux หรือ Mac จะใช้ SSH ได้ง่ายมาก ซึ่งจะมีคำสั่ง ดังนี้
.
👉 ssh {user}@{host}
.
คำสั่งนี้จะเป็นการขอเปิดการเชื่อมต่อ Secure Shell ในเครื่องที่ต้องการ โดยที่ {user} คือบัญชีที่ต้องการเข้าถึง และ {host} คือคอมพิวเตอร์ที่ต้องการเข้าถึง เช่น IP Address (244.235.23.19) หรือ ชื่อโดเมน (www.google.com)
.
และเมื่อกด Enter จะได้รับการแจ้งให้ป้อนรหัสผ่านสำหรับบัญชีที่ทำการ Request แล้วรหัสนั้นจะถูกส่งไปยังเครื่องที่เราจะต้องการเชื่อมต่อ หากรหัสถูกต้องก็จะเป็นการเชื่อมต่อสำเร็จ
.
🌈 การเข้ารหัสของ SSH มี 3 แบบ นั่นคือออ
.
🌟 1) Symmetrical encryption - เป็นการใช้ Symmetric keys เข้ารหัสข้อความส่งไปยังฝ่ายตรงข้าม และสามารถใช้เพื่อถอดรหัสข้อความที่ได้รับ SSH จะใช้ Symmetric keys เพื่อเข้ารหัสการเชื่อมต่อทั้งหมด ซึ่งจะช่วยในเรื่อง Authentication และสามารถป้องกันการสอดแนมได้นั่นเอง
.
🌟 2) Asymmetrical encryption - จะใช้ 2 Key ที่แตกต่างกัน คือ Public Key และ Private Key เพื่อเข้ารหัสซึ่ง Public Key SSH ใช้ Asymmetrical encryption เพื่อรักษาความปลอดภัยในการสื่อสารระหว่างฝั่ง Client และ Server
.
🌟 3) Hashing - ใน SSH จะใช้ Hashing เพื่อตรวจสอบความสมบูรณ์ของข้อมูล และเพื่อตรวจสอบความถูกต้องของการสื่อสาร ใช้งานใน Message Authentication Code (MAC) และ Hashed Message Authentication Code (HMAC) เพื่อตรวจสอบให้แน่ใจว่าข้อมูลที่ได้รับไม่มีความเสียหาย และไม่มีการแก้ไขนั่นเอง!
.
เป็นยังไงกันบ้าง พอจะเข้าใจ SSH กันมาบ้างแล้วเนอะ แอดหวังว่าจะเป็นประโยชน์กับเพื่อนๆ นะคะ ถ้าใครมีอะไรเพิ่มเติมสามารถคอมเมนต์ไว้ด้านล่างได้เลยน้า ❤️
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
private server 在 Best Evil Youtube 的精選貼文
[ ร้านเติมโรบัค เรทคุ้ม ]
[ Crystal Shop ]
?เว็ปไซต์: https://crystalshopth.com
?แฟนเพจ: https://facebook.com/Crystalbuxshop2
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Discord :https://discord.gg/AhFRApt
กลุ่มแฟนคลับBestEvill :https://www.facebook.com/groups/BestEvilz/
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
ถ้าชอบก็ฝาก กดแชร์ กดไลท์ กด Subscribe หรือกดติดตาม
กันด้วยนะคร้าบบ
โดเนท True Money Wallet
https://www.tmsteam.me/donate.php?shop=704721
เบอร์TrueWallet : 0887776272
กดไลท์ เฟสบุ๊ค เพื่อติดตามคลิปใหม่ ก่อนใคร
Facebook : https://www.facebook.com/BestEvilChannel/
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
สเปคเครื่อง
Intel(R) Core i7-4710HQ CPU @ 2.50GHz 2.50GHz
RAM 16 GB
Graphic Geforce GTX 850m
#BloxPiece #บล็อคฟุต #BloxFruit

private server 在 spin9 Youtube 的最讚貼文
คลิปนี้ผมพาไปดูอีกเบื้องหลังการทำงานภายในช่อง spin9 กันต่อนะครับ จากที่ก่อนหน้านี้เราเคยมาแนะนำกล้องที่ใช้ถ่ายงานกันไปแล้ว สิ่งที่ตามมาก็คือไฟล์วิดีโอขนาดใหญ่ปริมาณมหาศาลที่เกิดขึ้นต่อชิ้นงานใช่ไหมครับ?
เชื่อว่าคอนเทนต์ครีเอเตอร์หลายๆ คนน่าจะเจอปัญหาเดียวกันคือ การเก็บไฟล์วิดีโอ โดยเฉพาะในระดับ 4K ที่มีขนาดใหญ่มากๆ ทำให้ต้องคอยซื้อ External Harddisk มาคอยเก็บเพิ่มเรื่อยๆ หรือเลือกหันไปใช้การเก็บไฟล์บน Cloud แทน แต่ก็จะมีปัญหาถึงความไม่สะดวกในการนำมาใช้
ทางออกเลยมาอยู่ที่การนำอุปกรณ์ NAS ของ Synology รุ่น DS1621+ มาใช้งาน เพราะด้วยจุดเด่นของ NAS ที่สามารถขยายพื้นที่เก็บข้อมูลได้ ทุกคนสามารถเข้าถึงไฟล์พร้อมๆ กันได้ และในกรณีที่ต้องการเข้าไปไฟล์งานด่วนๆ จากข้างนอกก็สามารถเชื่อมต่อเข้ามายัง NAS ที่เปรียบเหมือน Private Cloud ในออฟฟิศใช้งานได้ทันที
สามารถเข้าไปดูช่องทางจำหน่ายสินค้า Synology ได้ที่ : https://sy.to/sv7co
ศึกษาข้อมูลเปรียบเทียบราคา Business File Server : https://sy.to/ofdhs
สนใจเข้าร่วมงานสัมมนาออนไลน์ : "ลดต้นทุนจัดเก็บและเสริมเกราะป้องกันข้อมูลธุรกิจ SMB ด้วย Synology NAS" ในวันที่ 31 มีนาคม 2564 เวลา 14.00 น. ลงทะเบียนได้ฟรีทาง : https://sy.to/fetse
* Disclosure คลิปวิดีโอนี้ได้รับการสนับสนุนจาก Synology *
#databutler #พ่อบ้านดาต้า #synology #NAS
สมัครเป็นสมาชิกของช่อง spin9 เพื่อสนับสนุนการผลิตคอนเทนต์ของเราได้ที่นี่:
https://www.youtube.com/channel/UCovADuA7KBuMFORurTzL86A/join

private server 在 Best Evil Youtube 的最佳貼文
[ ร้านขาย Robux สุดคุ้ม ]
[ MARU SHOP ]
เว็บไซต์ : https://umarubuxshop.com/home
เพจ : https://www.facebook.com/MARU-SHOP-107229814113219
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Discord :https://discord.gg/AhFRApt
กลุ่มแฟนคลับBestEvill :https://www.facebook.com/groups/BestEvilz/
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
ถ้าชอบก็ฝาก กดแชร์ กดไลท์ กด Subscribe หรือกดติดตาม
กันด้วยนะคร้าบบ
โดเนท True Money Wallet
https://www.tmsteam.me/donate.php?shop=704721
เบอร์TrueWallet : 0887776272
กดไลท์ เฟสบุ๊ค เพื่อติดตามคลิปใหม่ ก่อนใคร
Facebook : https://www.facebook.com/BestEvilChannel/
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
สเปคเครื่อง
Intel(R) Core i7-4710HQ CPU @ 2.50GHz 2.50GHz
RAM 16 GB
Graphic Geforce GTX 850m
#ROBLOX #บล็อคฟุต #BloxFruit

private server 在 private-server · GitHub Topics 的推薦與評價
Roblox private server ... runescape classic private server mmorpg emulator ... OpenSource Nostale Private Server Emulator API, implemented by SaltyEmu. ... <看更多>