DevOps Expert
3.37K subscribers
170 photos
3 videos
8 files
276 links
✔️ کانال آموزش دوآپس به فارسی

Contact:
@BobyCloud
@H_TESLA_S
@Majid_Aghamohamad
加入频道
Enterprise Security Architecture | Vahid Nameni
خب چند وقته پیش یکی از افراد فعال در حوزه DevSecOps به نام آقای وحید نامنی یک وبینار به حالت پرسش و پاسخ در یوتیوب برگذار کردند که گفتم قرار بدهم تا دوستانی که علاقه دارند بتونن از حرفای ایشون استفاده کنند. تاپیک هایی که سمت فیلد Container Security ها ایشون مطرح می‌کنند بسیار مفید هست و اواسط Talk راجب اینکه چه چیز هایی باید در این مسیر یاد بگیرید و بلد باشید هم اشاراتی می‌کنن و یک نقشه راه معرفی می‌کنن. این Talk رو می‌تونید از لینک زیر مشاهده کنید.
ویدیو اصلی:
◾️https://www.youtube.com/watch?v=QmByS5JxxAY&t=3421s
برگذار کننده اصلی اینگونه Talk ها:
📲@livesecuritytalks
#security #opensource #devops #devsecops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
⚡️YoR ⚡️
Automated IaC Tag And Trace!
وقتی از زیرساختهای ابری در مقیاس بالا و از چندین Provider مختلف استفاده می‌کنیم، ابزارهایی مثل Terraform که در اصل یکی از انواع ابزارهای IaC هستند، کلی در زمان صرفه جویی می‌کنند و کارها را سریعتر و بصورت Automate شده انجام می‌دهند. ولی از لحاظ امنیتی Security Misconfiguration های زیادی هم در این حین پدید می‌آیند.
ابزار زیر در جهت پیدا کردن بخشی از این مشکلات به شما کمک خواهد کرد:
Link:
◾️https://yor.io/
◾️https://github.com/bridgecrewio/yor
Source:
Vahid Nameni
#IaC #security #devops #devsecops
〰️〰️〰️〰️〰️
©️ @DevOpsEx
همیشه برام جالب بود که دلیل اصلی اینکه پلتفرم هایی مثل کوبرنتیز و یا داکر سرویس هایی رو تحت عنوان docker-proxy و kube-proxy نوشتن و هدف نهایی پشت این سرویس ها چی بوده و از چه مشکلاتی جلوگیری می کنن؟
کار مهمی که امروزه این سرویسها انجام میدن این هست که بقولی ما بتونیم حتی از طریق Local Network به اون پاد یا کانتینر مد نظرمون برسیم ( مشخصا این سرویس ها وظایف دیگه‌ای رو هم بر عهده دارند! ) چیزی که به شکل دیفالت در لینوکس ممکن نیست چرا که کرنل با پکت هایی که از شبکه داخلی آمده باشن 127.0.0.1/8 به شکلی خاصی رفتار می‌کنه چیزی که به ظاهر از RFC 1122 مقرر شده اینگونه باشه. به زبانی ساده تر، یک نود در شبکه هیچوقت پکتی که آدرس Destination اون 127.0.0.1 رو نمی‌تونه Transmit بکنه و به اصطلاح اون رو Drop میکنه.
ولی خب چیزی که همیشه مد نظرم بود ما بجای اینکه سرویسهایی بنویسیم مثل همون Proxy ها می‌تونیم به راحتی با ست کردن یک متغیر sysctl به نام route_localnet و یکمی بازی با IPTables مشکل رو حل کنیم یا دور بزنیم و به کانتینر مد نظرمون از طریق Localhost برسیم.
و خب بعد از حدود یک هفته تحقیق فهمیدم که در سال 2020 یک CVE-2020-8558 تحت همین سناریو بیرون آمد که اگر داکر یا کوبر با این متغیر کار بکنن چه مشکلی پیش میاد.
A flaw was found in Kubernetes that allows attackers on adjacent networks to reach services exposed on localhost ports, previously thought to be unreachable. This flaw allows an attacker to gain privileges or access confidential information for any services listening on localhost ports that are not protected by authentication.
و چقدر اون موقع به شکل راحتی سرویسهایی که به 127.0.0.1 به اصطلاح Bind شدن بدون هیچگونه Authentication و یا Encryption ای می‌تونن Expose بشن به خودی خود! که خب همین عامل باعث شد که داکر و یا کوبر سرویس هایی رو برای مدیریت بهتر این مشکلات بنویسن چرا که لینوکس به شکل دیفالت حتی Rule های IPTables رو برای پکت های Local Network در نظر نمی‌گیره !!

CVE-2020-8558:
◾️Link 1 Link 2
For More Info:
◾️Link 3

#container #docker #opensource #devops #devsecops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
DevOps Expert
خب همه مطمئنا با انواع تایپ و مدل های پروکسی در اکوسیستم کوبرنتیز مثل kubectl proxy و apiserver proxy و از همه مهم تر ماژولی تحت عنوان kube-proxy آشنا هستیم و خب این موضوع رو هم می‌دونیم که بخش های عمده و مهمی از جادوی پشت بحث networking کوبر مثل بحث ریسورس…
Proxies in Kubernetes
◾️https://kubernetes.io/docs/concepts/cluster-administration/proxies/
Cracking Kubernetes Node Proxy (aka kube-proxy)
◾️https://arthurchiao.art/blog/cracking-k8s-node-proxy/
Connection Tracking (conntrack)
◾️https://arthurchiao.art/blog/conntrack-design-and-implementation/
A Deep Dive into Iptables and Netfilter Architecture
◾️https://www.digitalocean.com/community/tutorials/a-deep-dive-into-iptables-and-netfilter-architecture
Awesome BPF Resources
◾️https://arthurchiao.art/blog/awesome-bpf/
#container #kubernetes #opensource #devops #devsecops #networking
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
⚡️What is DevSecOps?⚡️
DevSecOps stands for development, security, and operations. It's an approach to culture, automation, and platform design that integrates security as a shared responsibility throughout the entire IT lifecycle.
DevSecOps means thinking about application and infrastructure security from the start. It also means automating some security gates to keep the DevOps workflow from slowing down. Selecting the right tools to continuously integrate security, like agreeing on an integrated development environment (IDE) with security features, can help meet these goals. However, effective DevOps security requires more than new tools—it builds on the cultural changes of DevOps to integrate the work of security teams sooner rather than later.
Refs:
◾️DevSecOps Redhat
◾️GitHub Repo Resources
◾️OWASP DevSecOps
◾️DevSecOps Culture
◾️DevSecOps GitHub
#DevOps #DevSecOps #Security #Development #Operation #IT #Lifecycle #ITLifecycle #Hardening
〰️〰️〰️〰️〰️
©️ @DevOpsEx
⚡️A Linux SysAdmin's Introduction To Cgroups⚡️
Control groups (cgroups) are a Linux kernel mechanism for fine-grained control of resources. Originally put forward by Google engineers in 2006, cgroups were eventually merged into the Linux kernel around 2007.
While there are currently two versions of cgroups, most distributions and mechanisms use version 1, as it has been in the kernel since 2.6.24. Like with most things added into the mainline kernel, there was not a huge adoption rate at first.
Version 2 continues this trend, having been around for almost half a decade but still not widely deployed.
Links:
◾️https://www.redhat.com/sysadmin/cgroups-part-one
◾️https://www.redhat.com/sysadmin/cgroups-part-two
◾️https://www.redhat.com/sysadmin/cgroups-part-three
◾️https://www.redhat.com/sysadmin/cgroups-part-four
Pic Source:
◻️https://twitter.com/b0rk
#DevOps #DevSecOps #Security #Development #Operation #IT #Linux #Kernel
〰️〰️〰️〰️〰️
©️ @DevOpsEx
خب بعد از چند وقت بریم سراغ ادامه تاپیک جذاب همیشگی یعنی Container Networking ولی اینبار یکمی دقیق‌تر راجب طرز پیاده‌سازیش تو Kubernetes و نگاهی به بخشی از بقولی Under The Hood مکانیزم‌های استفاده‌شده برای تحقق این موضوع، چیزهایی مثل طرز پیاده‌سازی سرویس Kube-Proxy تو دو مد iptables و IPVS و تفاوت‌هاشون به شکل دقیق و همینطور روش‌هایی که CNI هایی مثل Calico برای Advertise کردن CIDR پاد استفاده می‌کنن یعنی دو تکنولوژی BGP و BIRD و درنهایت پیاده‌سازی OverLay Network به کمک مفاهیمی چون VXLAN و IPinIP.
◽️این پست ادامه بحث این پسته.
◽️عمده ریسورس‌های معرفی‌شده در لینک‌های زیر توسط آقای Dustin Specker نوشته شده است یکی از بهترین‌های این حوزه!
⚡️Links⚡️
Container Networking Series:
...
iptables: How Kubernetes Services Direct Traffic to Pods
IPVS: How Kubernetes Services Direct Traffic to Pods
Kubernetes Networking from Scratch: Using BGP and BIRD to Advertise Pod Routes
...
◾️https://dustinspecker.com/series/container-networking/
Deep Dive Kube-Proxy With iptables Mode:
◾️https://serenafeng.github.io/2020/03/26/kube-proxy-in-iptables-mode/
Container Networking From Scratch - Kristen Jacobs:
◾️https://www.youtube.com/watch?v=6v_BDHIgOY8
#container #kubernetes #opensource #devops #devsecops #networking
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
🔥10👍4👏1