Thanks, P.K., for awarding only $100 for a critical vulnerability with a CVSS score of 9.8. I really appreciate it. 😂
❤2
Mr. Nothing
Soon... ∆ Join VOID ∆
V0IDNETWORK is an ongoing, open research effort to document — rigorously and accurately — how the modern Internet's circumvention and surveillance technologies actually work at the protocol level, in support of a more open and resilient Internet.
🌐 Website
https://voidnetwork.ir
💻 GitHub
https://github.com/V0IDNETWORK
https://linkedin.com/in/ilianothing
📦 PyPI
https://pypi.org/user/ilianothing/
🔐 TryHackMe
https://tryhackme.com/p/ilianothingg
✍️ Medium
https://medium.com/@ilianothingg
▶️ YouTube
https://youtube.com/@locailife
https://instagram.com/ilianothing
💬 Telegram
https://t.me/voidxMaster
🖼 Gravatar
https://gravatar.com/profound851a01b866
💼Myket
https://myket.ir/developer/dev-97436
ilianothingg@gmail.com
GitHub
V0IDNETWORK - Overview
V0IDNETWORK is an ongoing, open research effort to document — rigorously and accurately - V0IDNETWORK
❤3
# Active Directory و Kerberos
# مهندسی معکوس اعتماد؛ پیچیدهترین میدان نبرد در Offensive Security مدرن
سطح: Advanced / Enterprise / Red Team / Identity Security
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
مقدمه
در دنیای کلاسیک امنیت، مهارت فنی معمولاً با توانایی یافتن یک RCE، توسعه Exploit، دور زدن مکانیزمهای دفاعی حافظه یا سوءاستفاده از آسیبپذیریهای روز صفر سنجیده میشد.
اما معماری سازمانی مدرن، قواعد بازی را تغییر داده است.
امروزه در بزرگترین رخدادهای امنیتی جهان، مهاجمان موفق الزاماً کسانی نیستند که بهترین اکسپلویتها را مینویسند.
بلکه کسانی هستند که بهتر از همه «اعتماد» را درک میکنند.
زیرا در Enterpriseهای مدرن، قدرت واقعی در اختیار سیستمی قرار دارد که هویت را تعریف میکند.
سیستمی که مشخص میکند:
چه کسی هستید؟
به چه چیزی دسترسی دارید؟
چه کسی به شما اعتماد میکند؟
و از طرف چه کسی میتوانید عمل کنید؟
نام این سیستم:
Active Directory
است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل اول
Active Directory یک دیتابیس نیست؛ یک سیستم عامل هویت است
بزرگترین سوءبرداشت موجود درباره Active Directory این است که آن را صرفاً یک Directory Service یا مخزن کاربران تصور کنیم.
در واقع Active Directory چیزی بسیار بزرگتر است.
AD در عمل:
Identity Operating System
سازمان است.
همانطور که سیستم عامل منابع CPU، Memory و Processها را مدیریت میکند، Active Directory نیز مدیریت میکند:
Identity
Authentication
Authorization
Trust
Privilege
Delegation
Policy
Governance
و Boundaryهای امنیتی
را.
به همین دلیل است که سقوط Active Directory معمولاً به معنی سقوط کل سازمان است.
نه صرفاً چند سرور.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل دوم
هویت؛ دارایی اصلی قرن بیست و یکم
در گذشته مهاجم برای کنترل یک شبکه باید:
Serverها را تصرف میکرد.
امروزه کافی است:
Identityها را تصرف کند.
زیرا اگر بتوانید هویت را کنترل کنید:
نیازی به شکستن سیستمها ندارید.
سیستمها خودشان در را باز خواهند کرد.
این دقیقاً فلسفه حملات مدرن Identity-Centric است.
هدف نهایی دیگر:
Server Compromise
نیست.
بلکه:
Identity Dominance
است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل سوم
گراف پنهان اعتماد
چیزی که Active Directory را پیچیده میکند تعداد ماشینها نیست.
بلکه تعداد روابط است.
هر Object در Active Directory دهها رابطه امنیتی با سایر Objectها دارد.
نمونه:
User
↓
Group
↓
Nested Group
↓
ACL
↓
Delegation
↓
Trust
↓
Certificate
↓
Tier-0
در ظاهر هیچ آسیبپذیری بحرانی وجود ندارد.
اما ترکیب همین روابط میتواند به کنترل کامل Forest ختم شود.
اینجاست که مفهوم مهمی متولد میشود:
Attack Path
در بسیاری از سازمانها:
هیچ آسیبپذیری بحرانی وجود ندارد.
اما صدها مسیر حمله بحرانی وجود دارد.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل چهارم
Kerberos؛ ماشین حالت اعتماد
اکثر متخصصان Kerberos را اینگونه میشناسند:
User
↓
TGT
↓
TGS
↓
Service
اما این فقط سطح بیرونی ماجراست.
در لایه عمیقتر Kerberos یک Security State Machine است.
هر Ticket حاوی مجموعهای از ویژگیهای امنیتی است:
PAC
Claims
SID
Group Membership
Delegation State
Authorization Data
Ticket Flags
Renewal Metadata
Trust Metadata
در نتیجه Kerberos صرفاً یک مکانیزم احراز هویت نیست.
بلکه یک موتور تصمیمگیری اعتماد است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
نکته کلیدی
بیشتر حملات Kerberos حمله به رمزنگاری نیستند.
حمله به منطق هستند.
مهاجم معمولاً الگوریتم را نمیشکند.
بلکه منطق طراحی شده را به نفع خود بازنویسی میکند.
Golden Ticket
Silver Ticket
S4U Abuse
Delegation Abuse
Shadow Credentials
همگی مثالهایی از سوءاستفاده از منطق اعتماد هستند.
نه شکست رمزنگاری.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل پنجم
Delegation؛ خطرناکترین قابلیت مایکروسافت
اگر قرار باشد فقط یک قابلیت در اکوسیستم مایکروسافت انتخاب شود که بیشترین سهم را در حملات Enterprise داشته باشد، احتمالاً آن قابلیت Delegation خواهد بود.
دلیل طراحی:
حل مشکل Double-Hop Authentication
نتیجه عملی:
خلق پیچیدهترین زنجیرههای Impersonation در تاریخ Active Directory
انواع مهم:
Unconstrained Delegation
Constrained Delegation
Resource-Based Constrained Delegation
Protocol Transition
S4U2Self
S4U2Proxy
مشکل از جایی شروع میشود که:
Trust + Delegation + ACL
در کنار هم قرار میگیرند.
در این لحظه مهاجم میتواند از یک User عادی به سمت Tier-0 حرکت کند بدون آنکه حتی Exploit جدیدی اجرا کند.
# مهندسی معکوس اعتماد؛ پیچیدهترین میدان نبرد در Offensive Security مدرن
سطح: Advanced / Enterprise / Red Team / Identity Security
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
مقدمه
در دنیای کلاسیک امنیت، مهارت فنی معمولاً با توانایی یافتن یک RCE، توسعه Exploit، دور زدن مکانیزمهای دفاعی حافظه یا سوءاستفاده از آسیبپذیریهای روز صفر سنجیده میشد.
اما معماری سازمانی مدرن، قواعد بازی را تغییر داده است.
امروزه در بزرگترین رخدادهای امنیتی جهان، مهاجمان موفق الزاماً کسانی نیستند که بهترین اکسپلویتها را مینویسند.
بلکه کسانی هستند که بهتر از همه «اعتماد» را درک میکنند.
زیرا در Enterpriseهای مدرن، قدرت واقعی در اختیار سیستمی قرار دارد که هویت را تعریف میکند.
سیستمی که مشخص میکند:
چه کسی هستید؟
به چه چیزی دسترسی دارید؟
چه کسی به شما اعتماد میکند؟
و از طرف چه کسی میتوانید عمل کنید؟
نام این سیستم:
Active Directory
است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل اول
Active Directory یک دیتابیس نیست؛ یک سیستم عامل هویت است
بزرگترین سوءبرداشت موجود درباره Active Directory این است که آن را صرفاً یک Directory Service یا مخزن کاربران تصور کنیم.
در واقع Active Directory چیزی بسیار بزرگتر است.
AD در عمل:
Identity Operating System
سازمان است.
همانطور که سیستم عامل منابع CPU، Memory و Processها را مدیریت میکند، Active Directory نیز مدیریت میکند:
Identity
Authentication
Authorization
Trust
Privilege
Delegation
Policy
Governance
و Boundaryهای امنیتی
را.
به همین دلیل است که سقوط Active Directory معمولاً به معنی سقوط کل سازمان است.
نه صرفاً چند سرور.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل دوم
هویت؛ دارایی اصلی قرن بیست و یکم
در گذشته مهاجم برای کنترل یک شبکه باید:
Serverها را تصرف میکرد.
امروزه کافی است:
Identityها را تصرف کند.
زیرا اگر بتوانید هویت را کنترل کنید:
نیازی به شکستن سیستمها ندارید.
سیستمها خودشان در را باز خواهند کرد.
این دقیقاً فلسفه حملات مدرن Identity-Centric است.
هدف نهایی دیگر:
Server Compromise
نیست.
بلکه:
Identity Dominance
است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل سوم
گراف پنهان اعتماد
چیزی که Active Directory را پیچیده میکند تعداد ماشینها نیست.
بلکه تعداد روابط است.
هر Object در Active Directory دهها رابطه امنیتی با سایر Objectها دارد.
نمونه:
User
↓
Group
↓
Nested Group
↓
ACL
↓
Delegation
↓
Trust
↓
Certificate
↓
Tier-0
در ظاهر هیچ آسیبپذیری بحرانی وجود ندارد.
اما ترکیب همین روابط میتواند به کنترل کامل Forest ختم شود.
اینجاست که مفهوم مهمی متولد میشود:
Attack Path
در بسیاری از سازمانها:
هیچ آسیبپذیری بحرانی وجود ندارد.
اما صدها مسیر حمله بحرانی وجود دارد.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل چهارم
Kerberos؛ ماشین حالت اعتماد
اکثر متخصصان Kerberos را اینگونه میشناسند:
User
↓
TGT
↓
TGS
↓
Service
اما این فقط سطح بیرونی ماجراست.
در لایه عمیقتر Kerberos یک Security State Machine است.
هر Ticket حاوی مجموعهای از ویژگیهای امنیتی است:
PAC
Claims
SID
Group Membership
Delegation State
Authorization Data
Ticket Flags
Renewal Metadata
Trust Metadata
در نتیجه Kerberos صرفاً یک مکانیزم احراز هویت نیست.
بلکه یک موتور تصمیمگیری اعتماد است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
نکته کلیدی
بیشتر حملات Kerberos حمله به رمزنگاری نیستند.
حمله به منطق هستند.
مهاجم معمولاً الگوریتم را نمیشکند.
بلکه منطق طراحی شده را به نفع خود بازنویسی میکند.
Golden Ticket
Silver Ticket
S4U Abuse
Delegation Abuse
Shadow Credentials
همگی مثالهایی از سوءاستفاده از منطق اعتماد هستند.
نه شکست رمزنگاری.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل پنجم
Delegation؛ خطرناکترین قابلیت مایکروسافت
اگر قرار باشد فقط یک قابلیت در اکوسیستم مایکروسافت انتخاب شود که بیشترین سهم را در حملات Enterprise داشته باشد، احتمالاً آن قابلیت Delegation خواهد بود.
دلیل طراحی:
حل مشکل Double-Hop Authentication
نتیجه عملی:
خلق پیچیدهترین زنجیرههای Impersonation در تاریخ Active Directory
انواع مهم:
Unconstrained Delegation
Constrained Delegation
Resource-Based Constrained Delegation
Protocol Transition
S4U2Self
S4U2Proxy
مشکل از جایی شروع میشود که:
Trust + Delegation + ACL
در کنار هم قرار میگیرند.
در این لحظه مهاجم میتواند از یک User عادی به سمت Tier-0 حرکت کند بدون آنکه حتی Exploit جدیدی اجرا کند.
❤3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
مثال واقعی
فرض کنید مهاجم:
GenericWrite
روی یک Computer Object داشته باشد.
در نگاه اول:
Low Risk
به نظر میرسد.
اما همین مجوز میتواند منجر شود به:
Computer Takeover
↓
RBCD
↓
Kerberos Impersonation
↓
Service Takeover
↓
Domain Escalation
یک ACL ساده.
یک Forest نابود شده.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل ششم
چرا BloodHound انقلابی ایجاد کرد؟
قبل از BloodHound تحلیل AD تقریباً غیرممکن بود.
زیرا ذهن انسان توان تحلیل میلیونها رابطه را ندارد.
BloodHound برای اولین بار نشان داد:
امنیت Active Directory
=
مسئله Graph Theory
است.
سؤال اصلی دیگر این نبود:
آیا آسیبپذیری وجود دارد؟
بلکه:
آیا مسیر وجود دارد؟
بود.
و تقریباً همیشه پاسخ:
بله
است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل هفتم
AD CS؛ کابوس جدید مدافعان
سالها تصور میشد Kerberos بزرگترین Attack Surface هویتی است.
اما کشف حملات ESC نشان داد:
PKI از بسیاری جهات خطرناکتر است.
چرا؟
زیرا Password قابل تغییر است.
Hash قابل چرخش است.
Ticket منقضی میشود.
اما Certificate میتواند هویت را بازتعریف کند.
زمانی که مهاجم بتواند:
Enrollment Policy
Template
CA Configuration
Certificate Mapping
را تحت کنترل بگیرد، عملاً میتواند:
Identity Forge
انجام دهد.
یعنی خلق هویت معتبر بدون نیاز به Credential واقعی.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
نمونه حملات مشهور AD CS
ESC1
ESC3
ESC4
ESC8
ESC13
ESC16
هر کدام نمونهای از سوءاستفاده از زنجیره اعتماد PKI هستند.
نکته ترسناک:
بسیاری از این حملات حتی نیازمند Domain Admin نیستند.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل هشتم
Trust؛ میدان واقعی جنگ
بیشتر تیمهای دفاعی در سطح Domain فکر میکنند.
اما مهاجم حرفهای در سطح Forest فکر میکند.
زیرا Forest واحد واقعی اعتماد است.
مفاهیم کلیدی:
Parent-Child Trust
Forest Trust
External Trust
SID Filtering
Selective Authentication
Cross Forest Kerberos
Trustها تعیین میکنند:
یک نفوذ محلی
چگونه
به یک بحران سازمانی
تبدیل شود.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل نهم
Tier-0؛ تاج پادشاهی
بسیاری تصور میکنند:
Domain Admin
بالاترین سطح دسترسی است.
اما در معماری مدرن مایکروسافت این تصور اشتباه است.
هدف واقعی:
Tier-0
است.
Tier-0 شامل:
Domain Controllers
Enterprise CA
ADFS
Entra Connect
Azure AD Connect
Privileged Access Workstations
Identity Management Systems
است.
کنترل Tier-0 یعنی:
کنترل اعتماد
کنترل اعتماد یعنی:
کنترل سازمان
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل دهم
چرا AD از Exploit Development سختتر است؟
Exploit Development معمولاً ساختار مشخصی دارد:
Bug
↓
Primitive
↓
Weaponization
↓
Exploit
اما Active Directory هیچ ساختار ثابتی ندارد.
هر سازمان:
Trust متفاوت
PKI متفاوت
Delegation متفاوت
ACL متفاوت
Tiering متفاوت
Architecture متفاوت
دارد.
بنابراین هیچ Playbook جهانی وجود ندارد.
هر عملیات نیازمند:
Threat Modeling
Identity Mapping
Trust Analysis
Graph Traversal
Privilege Correlation
است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فرمول ذهنی Red Teamهای سطح بالا
Initial Access
+
Identity Intelligence
+
Trust Analysis
+
Graph Traversal
+
Privilege Escalation Primitive
+
Tier-0 Path Discovery
=
Enterprise Compromise
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
جمعبندی نهایی
Active Directory درباره هک کردن سیستمها نیست.
درباره فهمیدن اعتماد است.
Kerberos درباره Ticket نیست.
درباره جریان اعتماد است.
PKI درباره Certificate نیست.
درباره حاکمیت هویت است.
Trustها درباره اتصال Domainها نیستند.
درباره گسترش مرزهای نفوذ هستند.
و Tier-0 درباره Administratorها نیست.
درباره مالکیت کامل Fabric هویتی سازمان است.
اپراتوری که بتواند:
• Kerberos را در سطح State Machine تحلیل کند
• Graphهای دسترسی را مدلسازی کند
• Delegation Chainها را کشف کند
• PKI را بهعنوان Attack Surface مستقل بررسی کند
• Trust Boundaryها را مهندسی معکوس کند
• و Tier-0 را از منظر معماری امنیتی درک کند
دیگر صرفاً یک Pentester یا Red Teamer نیست.
او در حال تحلیل و تسخیر پیچیدهترین دارایی امنیتی سازمان است:
Identity Fabric
لایهای که امروز ارزشمندتر از سرورها،
حساستر از دادهها،
و حیاتیتر از زیرساخت فیزیکی محسوب میشود.
زیرا در نهایت:
کسی که هویت را کنترل میکند،
سازمان را کنترل میکند.
مثال واقعی
فرض کنید مهاجم:
GenericWrite
روی یک Computer Object داشته باشد.
در نگاه اول:
Low Risk
به نظر میرسد.
اما همین مجوز میتواند منجر شود به:
Computer Takeover
↓
RBCD
↓
Kerberos Impersonation
↓
Service Takeover
↓
Domain Escalation
یک ACL ساده.
یک Forest نابود شده.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل ششم
چرا BloodHound انقلابی ایجاد کرد؟
قبل از BloodHound تحلیل AD تقریباً غیرممکن بود.
زیرا ذهن انسان توان تحلیل میلیونها رابطه را ندارد.
BloodHound برای اولین بار نشان داد:
امنیت Active Directory
=
مسئله Graph Theory
است.
سؤال اصلی دیگر این نبود:
آیا آسیبپذیری وجود دارد؟
بلکه:
آیا مسیر وجود دارد؟
بود.
و تقریباً همیشه پاسخ:
بله
است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل هفتم
AD CS؛ کابوس جدید مدافعان
سالها تصور میشد Kerberos بزرگترین Attack Surface هویتی است.
اما کشف حملات ESC نشان داد:
PKI از بسیاری جهات خطرناکتر است.
چرا؟
زیرا Password قابل تغییر است.
Hash قابل چرخش است.
Ticket منقضی میشود.
اما Certificate میتواند هویت را بازتعریف کند.
زمانی که مهاجم بتواند:
Enrollment Policy
Template
CA Configuration
Certificate Mapping
را تحت کنترل بگیرد، عملاً میتواند:
Identity Forge
انجام دهد.
یعنی خلق هویت معتبر بدون نیاز به Credential واقعی.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
نمونه حملات مشهور AD CS
ESC1
ESC3
ESC4
ESC8
ESC13
ESC16
هر کدام نمونهای از سوءاستفاده از زنجیره اعتماد PKI هستند.
نکته ترسناک:
بسیاری از این حملات حتی نیازمند Domain Admin نیستند.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل هشتم
Trust؛ میدان واقعی جنگ
بیشتر تیمهای دفاعی در سطح Domain فکر میکنند.
اما مهاجم حرفهای در سطح Forest فکر میکند.
زیرا Forest واحد واقعی اعتماد است.
مفاهیم کلیدی:
Parent-Child Trust
Forest Trust
External Trust
SID Filtering
Selective Authentication
Cross Forest Kerberos
Trustها تعیین میکنند:
یک نفوذ محلی
چگونه
به یک بحران سازمانی
تبدیل شود.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل نهم
Tier-0؛ تاج پادشاهی
بسیاری تصور میکنند:
Domain Admin
بالاترین سطح دسترسی است.
اما در معماری مدرن مایکروسافت این تصور اشتباه است.
هدف واقعی:
Tier-0
است.
Tier-0 شامل:
Domain Controllers
Enterprise CA
ADFS
Entra Connect
Azure AD Connect
Privileged Access Workstations
Identity Management Systems
است.
کنترل Tier-0 یعنی:
کنترل اعتماد
کنترل اعتماد یعنی:
کنترل سازمان
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فصل دهم
چرا AD از Exploit Development سختتر است؟
Exploit Development معمولاً ساختار مشخصی دارد:
Bug
↓
Primitive
↓
Weaponization
↓
Exploit
اما Active Directory هیچ ساختار ثابتی ندارد.
هر سازمان:
Trust متفاوت
PKI متفاوت
Delegation متفاوت
ACL متفاوت
Tiering متفاوت
Architecture متفاوت
دارد.
بنابراین هیچ Playbook جهانی وجود ندارد.
هر عملیات نیازمند:
Threat Modeling
Identity Mapping
Trust Analysis
Graph Traversal
Privilege Correlation
است.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
فرمول ذهنی Red Teamهای سطح بالا
Initial Access
+
Identity Intelligence
+
Trust Analysis
+
Graph Traversal
+
Privilege Escalation Primitive
+
Tier-0 Path Discovery
=
Enterprise Compromise
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
جمعبندی نهایی
Active Directory درباره هک کردن سیستمها نیست.
درباره فهمیدن اعتماد است.
Kerberos درباره Ticket نیست.
درباره جریان اعتماد است.
PKI درباره Certificate نیست.
درباره حاکمیت هویت است.
Trustها درباره اتصال Domainها نیستند.
درباره گسترش مرزهای نفوذ هستند.
و Tier-0 درباره Administratorها نیست.
درباره مالکیت کامل Fabric هویتی سازمان است.
اپراتوری که بتواند:
• Kerberos را در سطح State Machine تحلیل کند
• Graphهای دسترسی را مدلسازی کند
• Delegation Chainها را کشف کند
• PKI را بهعنوان Attack Surface مستقل بررسی کند
• Trust Boundaryها را مهندسی معکوس کند
• و Tier-0 را از منظر معماری امنیتی درک کند
دیگر صرفاً یک Pentester یا Red Teamer نیست.
او در حال تحلیل و تسخیر پیچیدهترین دارایی امنیتی سازمان است:
Identity Fabric
لایهای که امروز ارزشمندتر از سرورها،
حساستر از دادهها،
و حیاتیتر از زیرساخت فیزیکی محسوب میشود.
زیرا در نهایت:
کسی که هویت را کنترل میکند،
سازمان را کنترل میکند.
∆ Join VOID ∆
❤2🔥1
چرا امنیت BGP یکی از پیچیدهترین مباحث شبکه محسوب میشود؟
بیشتر متخصصان شبکه در طول فعالیت حرفهای خود با VLAN، OSPF، VPN و حتی MPLS کار میکنند، اما تعداد بسیار کمی از مهندسان وارد لایهای میشوند که اینترنت جهانی بر روی آن ساخته شده است.
در این لایه، صحبت از یک سازمان یا یک دیتاسنتر نیست؛ صحبت از هزاران Autonomous System، میلیونها Prefix و صدها هزار Policy Routing است که به صورت همزمان اینترنت را زنده نگه میدارند.
BGP صرفاً یک پروتکل مسیریابی نیست؛ بلکه یک سیستم توزیع اعتماد در مقیاس جهانی است.
---
مشکل اصلی BGP: اعتماد پیشفرض
برخلاف تصور بسیاری از افراد، BGP در طراحی اولیه تقریباً هیچ مکانیزم ذاتی برای اعتبارسنجی مسیرها نداشت.
زمانی که یک AS اعلام میکند:
> من مالک این Prefix هستم.
همسایهها معمولاً این ادعا را قبول میکنند.
این مدل اعتماد باعث شکلگیری یکی از خطرناکترین حملات تاریخ اینترنت شده است:
Route Hijacking
در این سناریو یک Autonomous System مسیرهایی را اعلام میکند که در واقع متعلق به آن نیست.
در نتیجه:
ترافیک منحرف میشود.
اطلاعات رهگیری میشوند.
سرویسها از دسترس خارج میشوند.
مسیرهای اینترنت تغییر میکنند.
---
Route Leak؛ حملهای که همیشه عمدی نیست
یکی از پیچیدهترین مشکلات اینترنت مدرن Route Leak است.
در این حالت یک اپراتور یا ISP به اشتباه Routeهایی را منتشر میکند که نباید منتشر شوند.
نتیجه میتواند شامل موارد زیر باشد:
افزایش شدید Latency
Congestion
قطع ارتباط بین قارهها
Blackholing ترافیک
برخی از بزرگترین اختلالهای اینترنت در دهه گذشته ناشی از Route Leak بودهاند، نه حملات سایبری کلاسیک.
---
Traffic Engineering؛ هنر کنترل اینترنت
در شبکههای سازمانی معمولاً مسیر کوتاهتر انتخاب میشود.
اما در BGP موضوع متفاوت است.
مهندسان Carrier-Level دائماً با Attributeهایی مانند:
Local Preference
MED
AS Path
Community
Extended Community
کار میکنند تا رفتار ترافیک را کنترل کنند.
هدف همیشه کوتاهترین مسیر نیست.
گاهی اوقات:
ارزانترین مسیر
پایدارترین مسیر
کمترافیکترین مسیر
امنترین مسیر
اولویت بالاتری دارد.
---
RPKI؛ تلاش برای حل بحران اعتماد
با افزایش حملات BGP، مکانیزمی به نام Resource Public Key Infrastructure ایجاد شد.
RPKI تلاش میکند مشخص کند:
کدام Autonomous System مجاز است یک Prefix خاص را Advertise کند.
اما پیادهسازی RPKI در مقیاس جهانی چالشهای متعددی دارد:
پیچیدگی عملیاتی
وابستگی به Trust Anchorها
ناسازگاری برخی تجهیزات قدیمی
مشکلات سیاستگذاری بین اپراتورها
به همین دلیل هنوز هم اینترنت کاملاً در برابر Hijack ایمن نشده است.
---
BGP در محیطهای Red Team
بیشتر افراد BGP را صرفاً موضوعی برای مهندسان ISP میدانند.
اما تیمهای Red Team پیشرفته و گروههای APT به خوبی میدانند که کنترل مسیرهای شبکه گاهی از نفوذ به یک سرور ارزشمندتر است.
زیرا در صورت کنترل مسیر:
امکان رهگیری ترافیک فراهم میشود.
حملات Man-in-the-Middle سادهتر میشوند.
سامانههای امنیتی دور زده میشوند.
Visibility مدافعان کاهش مییابد.
به همین دلیل امنیت Routing Infrastructure یکی از بخشهای حیاتی دفاع سایبری در سطح ملی محسوب میشود.
---
چرا یادگیری این حوزه دشوار است؟
زیرا برای درک واقعی آن باید همزمان بر چند حوزه مسلط باشید:
Routing پیشرفته
Architecture اینترنت
MPLS
Carrier Networking
Internet Exchange Point
PKI
Cryptography
Traffic Engineering
Incident Response
این حجم از دانش باعث شده امنیت BGP و Routing Infrastructure یکی از معدود حوزههایی باشد که حتی بسیاری از متخصصان ارشد امنیت نیز در آن تجربه عملی محدودی دارند.
---
نتیجه
اگر Active Directory را قلب شبکههای سازمانی بدانیم، BGP قلب اینترنت است.
درک عمیق BGP دیگر صرفاً یک مهارت شبکه نیست؛ بلکه شناخت مکانیزمی است که کل اینترنت بر پایه آن تصمیم میگیرد هر بسته داده از کدام مسیر عبور کند. به همین دلیل امنیت BGP، Route Hijacking، Route Leak و RPKI از پیچیدهترین و تخصصیترین مباحث دنیای شبکه و امنیت سایبری محسوب میشوند.
بیشتر متخصصان شبکه در طول فعالیت حرفهای خود با VLAN، OSPF، VPN و حتی MPLS کار میکنند، اما تعداد بسیار کمی از مهندسان وارد لایهای میشوند که اینترنت جهانی بر روی آن ساخته شده است.
در این لایه، صحبت از یک سازمان یا یک دیتاسنتر نیست؛ صحبت از هزاران Autonomous System، میلیونها Prefix و صدها هزار Policy Routing است که به صورت همزمان اینترنت را زنده نگه میدارند.
BGP صرفاً یک پروتکل مسیریابی نیست؛ بلکه یک سیستم توزیع اعتماد در مقیاس جهانی است.
---
مشکل اصلی BGP: اعتماد پیشفرض
برخلاف تصور بسیاری از افراد، BGP در طراحی اولیه تقریباً هیچ مکانیزم ذاتی برای اعتبارسنجی مسیرها نداشت.
زمانی که یک AS اعلام میکند:
> من مالک این Prefix هستم.
همسایهها معمولاً این ادعا را قبول میکنند.
این مدل اعتماد باعث شکلگیری یکی از خطرناکترین حملات تاریخ اینترنت شده است:
Route Hijacking
در این سناریو یک Autonomous System مسیرهایی را اعلام میکند که در واقع متعلق به آن نیست.
در نتیجه:
ترافیک منحرف میشود.
اطلاعات رهگیری میشوند.
سرویسها از دسترس خارج میشوند.
مسیرهای اینترنت تغییر میکنند.
---
Route Leak؛ حملهای که همیشه عمدی نیست
یکی از پیچیدهترین مشکلات اینترنت مدرن Route Leak است.
در این حالت یک اپراتور یا ISP به اشتباه Routeهایی را منتشر میکند که نباید منتشر شوند.
نتیجه میتواند شامل موارد زیر باشد:
افزایش شدید Latency
Congestion
قطع ارتباط بین قارهها
Blackholing ترافیک
برخی از بزرگترین اختلالهای اینترنت در دهه گذشته ناشی از Route Leak بودهاند، نه حملات سایبری کلاسیک.
---
Traffic Engineering؛ هنر کنترل اینترنت
در شبکههای سازمانی معمولاً مسیر کوتاهتر انتخاب میشود.
اما در BGP موضوع متفاوت است.
مهندسان Carrier-Level دائماً با Attributeهایی مانند:
Local Preference
MED
AS Path
Community
Extended Community
کار میکنند تا رفتار ترافیک را کنترل کنند.
هدف همیشه کوتاهترین مسیر نیست.
گاهی اوقات:
ارزانترین مسیر
پایدارترین مسیر
کمترافیکترین مسیر
امنترین مسیر
اولویت بالاتری دارد.
---
RPKI؛ تلاش برای حل بحران اعتماد
با افزایش حملات BGP، مکانیزمی به نام Resource Public Key Infrastructure ایجاد شد.
RPKI تلاش میکند مشخص کند:
کدام Autonomous System مجاز است یک Prefix خاص را Advertise کند.
اما پیادهسازی RPKI در مقیاس جهانی چالشهای متعددی دارد:
پیچیدگی عملیاتی
وابستگی به Trust Anchorها
ناسازگاری برخی تجهیزات قدیمی
مشکلات سیاستگذاری بین اپراتورها
به همین دلیل هنوز هم اینترنت کاملاً در برابر Hijack ایمن نشده است.
---
BGP در محیطهای Red Team
بیشتر افراد BGP را صرفاً موضوعی برای مهندسان ISP میدانند.
اما تیمهای Red Team پیشرفته و گروههای APT به خوبی میدانند که کنترل مسیرهای شبکه گاهی از نفوذ به یک سرور ارزشمندتر است.
زیرا در صورت کنترل مسیر:
امکان رهگیری ترافیک فراهم میشود.
حملات Man-in-the-Middle سادهتر میشوند.
سامانههای امنیتی دور زده میشوند.
Visibility مدافعان کاهش مییابد.
به همین دلیل امنیت Routing Infrastructure یکی از بخشهای حیاتی دفاع سایبری در سطح ملی محسوب میشود.
---
چرا یادگیری این حوزه دشوار است؟
زیرا برای درک واقعی آن باید همزمان بر چند حوزه مسلط باشید:
Routing پیشرفته
Architecture اینترنت
MPLS
Carrier Networking
Internet Exchange Point
PKI
Cryptography
Traffic Engineering
Incident Response
این حجم از دانش باعث شده امنیت BGP و Routing Infrastructure یکی از معدود حوزههایی باشد که حتی بسیاری از متخصصان ارشد امنیت نیز در آن تجربه عملی محدودی دارند.
---
نتیجه
اگر Active Directory را قلب شبکههای سازمانی بدانیم، BGP قلب اینترنت است.
درک عمیق BGP دیگر صرفاً یک مهارت شبکه نیست؛ بلکه شناخت مکانیزمی است که کل اینترنت بر پایه آن تصمیم میگیرد هر بسته داده از کدام مسیر عبور کند. به همین دلیل امنیت BGP، Route Hijacking، Route Leak و RPKI از پیچیدهترین و تخصصیترین مباحث دنیای شبکه و امنیت سایبری محسوب میشوند.
∆ Join VOID ∆
❤2🔥1
مطالب بالا آماده سازیشون یکم طول کشید، احتمالا چند وقت دیگه یکسری مطلب از اثراتی که وایب کدینگ و استفاده از Ai برای برنامه نویسی روی جامعه گذاشته آماده کنم و بزارم ❤️
∆ Join VOID ∆
Telegram
VOID
Freedom through power. Power through intelligence.| voidNetwork.ir
❤2
لینوکس در معنای دقیقش کرنل است، نه کل سیستمعامل. کرنل مسئول مدیریت سختافزار، منابع سیستم و سرویسهای پایهای برای نرمافزارهای دیگر است؛ به همین دلیل هم اسناد رسمی کرنل، آن را «هستهٔ هر سیستمعامل لینوکسی» توصیف میکنند. خود پروژهٔ کرنل هم بسیار بزرگ است: در مستندات رسمی از بیش از ۸ میلیون خط کد و بیش از ۱۰۰۰ مشارکتکننده برای هر انتشار صحبت میشود. این اندازه و پیچیدگی باعث میشود که لینوکس را بهتر است نه یک محصول واحد، بلکه یک اکوسیستم مهندسیشده ببینیم.
از نظر فنی، کرنل لینوکس به زیرسامانههای مشخصی مثل شبکه، حافظه، پشتیبانی معماریها و درایورها تقسیم شده و هر زیرسامانه معمولاً نگهدارندهٔ مخصوص خودش را دارد. در نتیجه، توسعهٔ کرنل «یک تکه کد عظیم» نیست؛ یک ساختار لایهدار با فرایند merge window، بازبینی، و نگهداری زیرسامانهای است. همینطور، کد کرنل عمدتاً با C نوشته میشود و بهطور معمول با گویش GNU C11 کامپایل میشود، با بخشهایی هم به اسمبلی وابسته به معماری.
شاخهبندی انتشار هم مهم است: upstream لینوکس فقط «mainline» نیست، بلکه شاخههای stable و longterm هم دارد. در عین حال، خود kernel.org صریح میگوید کرنلهایی که توزیعها با backport و patch نگه میدارند ممکن است بر پایهٔ شاخههای رسمی باشند یا نباشند، و این کرنلهای توزیعی لزوماً تحت پشتیبانی مستقیم توسعهدهندگان kernel.org نیستند. این نکته برای درک تفاوت «کرنلِ upstream» با «کرنلِ توزیع» حیاتی است.
اینجا به نقطهٔ اصلی میرسیم: توزیع فقط «لینوکس» نیست، بلکه یک بستهٔ کامل از سیاستها، ابزارها، مخازن، مدیر بسته، انتخاب کرنل، سیکل انتشار، و سطح نگهداری است. بنابراین وقتی میگوییم «Debian بهتر است» یا «Arch بهتر است»، در واقع داریم دربارهٔ یک مدل عملیاتی حرف میزنیم: چهقدر تازگی بستهها مهم است، چهقدر پایداری مهم است، و چهقدر میخواهی خودت مدیر سیستم باشی.
دستهبندی حرفهای توزیعها
Debian Stable نمایندهٔ کلاس «پایداری محافظهکارانه» است. طبق مستند رسمی، هر انتشار stable در مجموع پنج سال چرخهٔ عمر دارد: سه سال پشتیبانی کامل و دو سال LTS. این مدل برای سرور، زیرساخت، و سیستمهایی که تغییر کم و پیشبینیپذیری بالا میخواهند بسیار مناسب است؛ اما بهایش این است که بستهها معمولاً از نوترین نسخهها عقبتر میمانند.
Ubuntu LTS نسخهٔ «تعادل میان دسترسیپذیری و پایداری» است. مستند رسمی اوبونتو میگوید LTSها هر دو سال منتشر میشوند، ۵ سال پشتیبانی استاندارد امنیتی دارند، و در مجموع ۱۰ سال نگهداری میشوند؛ با Ubuntu Pro و Legacy support حتی میتواند بیشتر هم بشود. به همین دلیل Ubuntu LTS برای دسکتاپ عمومی، سرور، و محیطهایی که هم اکوسیستم بزرگ میخواهند هم دردسر کم، بسیار محبوب است.
Fedora توزیعی است که عمداً سریع حرکت میکند. مستندات رسمی فدورا میگویند انتشارها تقریباً هر شش ماه یکبار انجام میشود و هر انتشار حدود ۱۳ ماه پشتیبانی میگیرد. فلسفهٔ فدورا این است که فناوریهای جدید را زودتر وارد چرخه کند؛ برای توسعهدهندهها، تسترها، و کسانی که سختافزار یا نرمافزار جدید دارند، این مزیت بزرگی است. اما همین سرعت، آن را برای کسانی که هر چند سال یکبار سیستم را «راه بینداز و فراموش کن» میخواهند، کمتر مناسب میکند.
Arch Linux نمایندهٔ مدل rolling release است. سایت رسمی Arch میگوید این توزیع lightweight و flexible است و با مدل «rolling release» نصب یکباره و بهروزرسانی پیوسته را دنبال میکند. این یعنی بعد از نصب اولیه، قرار نیست از نسخهای به نسخهٔ دیگر مهاجرت بزرگ داشته باشی؛ سیستم دائماً جلو میرود. این مدل برای کاربرانی که کنترل دقیق، بستههای تازه، و حداقل تزئینات پیشفرض میخواهند عالی است، اما به همان اندازه هم انتظار میرود که نگهداری و مطالعهٔ سیستم را جدی بگیری.
openSUSE Tumbleweed یکی از حرفهایترین rolling releaseهاست، چون rolling بودن را با کنترل کیفی جدی ترکیب میکند. صفحهٔ رسمی Tumbleweed میگوید که این توزیع «latest stable versions» را ارائه میکند، با تستهای گسترده و حتی امکان rollback با snapshot. این یعنی اگر rolling release میخواهی ولی از ایدهٔ «rolling بیمهار» میترسی، Tumbleweed یک گزینهٔ بسیار بالغ است.
openSUSE Leap در سوی دیگر این طیف است: نسخهای با تمرکز قوی بر ثبات و lifecycle طولانی. مستندات رسمی Leap 16 از چرخهٔ ۲۴ ماهه برای هر minor release و رویکرد هیبریدیِ مبتنی بر SLE و توسعهٔ جامعه صحبت میکنند. Leap برای کسانی که از پایداری سطح enterprise خوششان میآید ولی فضای open-source و ابزارهای openSUSE را ترجیح میدهند، بسیار جذاب است.
از نظر فنی، کرنل لینوکس به زیرسامانههای مشخصی مثل شبکه، حافظه، پشتیبانی معماریها و درایورها تقسیم شده و هر زیرسامانه معمولاً نگهدارندهٔ مخصوص خودش را دارد. در نتیجه، توسعهٔ کرنل «یک تکه کد عظیم» نیست؛ یک ساختار لایهدار با فرایند merge window، بازبینی، و نگهداری زیرسامانهای است. همینطور، کد کرنل عمدتاً با C نوشته میشود و بهطور معمول با گویش GNU C11 کامپایل میشود، با بخشهایی هم به اسمبلی وابسته به معماری.
شاخهبندی انتشار هم مهم است: upstream لینوکس فقط «mainline» نیست، بلکه شاخههای stable و longterm هم دارد. در عین حال، خود kernel.org صریح میگوید کرنلهایی که توزیعها با backport و patch نگه میدارند ممکن است بر پایهٔ شاخههای رسمی باشند یا نباشند، و این کرنلهای توزیعی لزوماً تحت پشتیبانی مستقیم توسعهدهندگان kernel.org نیستند. این نکته برای درک تفاوت «کرنلِ upstream» با «کرنلِ توزیع» حیاتی است.
اینجا به نقطهٔ اصلی میرسیم: توزیع فقط «لینوکس» نیست، بلکه یک بستهٔ کامل از سیاستها، ابزارها، مخازن، مدیر بسته، انتخاب کرنل، سیکل انتشار، و سطح نگهداری است. بنابراین وقتی میگوییم «Debian بهتر است» یا «Arch بهتر است»، در واقع داریم دربارهٔ یک مدل عملیاتی حرف میزنیم: چهقدر تازگی بستهها مهم است، چهقدر پایداری مهم است، و چهقدر میخواهی خودت مدیر سیستم باشی.
دستهبندی حرفهای توزیعها
Debian Stable نمایندهٔ کلاس «پایداری محافظهکارانه» است. طبق مستند رسمی، هر انتشار stable در مجموع پنج سال چرخهٔ عمر دارد: سه سال پشتیبانی کامل و دو سال LTS. این مدل برای سرور، زیرساخت، و سیستمهایی که تغییر کم و پیشبینیپذیری بالا میخواهند بسیار مناسب است؛ اما بهایش این است که بستهها معمولاً از نوترین نسخهها عقبتر میمانند.
Ubuntu LTS نسخهٔ «تعادل میان دسترسیپذیری و پایداری» است. مستند رسمی اوبونتو میگوید LTSها هر دو سال منتشر میشوند، ۵ سال پشتیبانی استاندارد امنیتی دارند، و در مجموع ۱۰ سال نگهداری میشوند؛ با Ubuntu Pro و Legacy support حتی میتواند بیشتر هم بشود. به همین دلیل Ubuntu LTS برای دسکتاپ عمومی، سرور، و محیطهایی که هم اکوسیستم بزرگ میخواهند هم دردسر کم، بسیار محبوب است.
Fedora توزیعی است که عمداً سریع حرکت میکند. مستندات رسمی فدورا میگویند انتشارها تقریباً هر شش ماه یکبار انجام میشود و هر انتشار حدود ۱۳ ماه پشتیبانی میگیرد. فلسفهٔ فدورا این است که فناوریهای جدید را زودتر وارد چرخه کند؛ برای توسعهدهندهها، تسترها، و کسانی که سختافزار یا نرمافزار جدید دارند، این مزیت بزرگی است. اما همین سرعت، آن را برای کسانی که هر چند سال یکبار سیستم را «راه بینداز و فراموش کن» میخواهند، کمتر مناسب میکند.
Arch Linux نمایندهٔ مدل rolling release است. سایت رسمی Arch میگوید این توزیع lightweight و flexible است و با مدل «rolling release» نصب یکباره و بهروزرسانی پیوسته را دنبال میکند. این یعنی بعد از نصب اولیه، قرار نیست از نسخهای به نسخهٔ دیگر مهاجرت بزرگ داشته باشی؛ سیستم دائماً جلو میرود. این مدل برای کاربرانی که کنترل دقیق، بستههای تازه، و حداقل تزئینات پیشفرض میخواهند عالی است، اما به همان اندازه هم انتظار میرود که نگهداری و مطالعهٔ سیستم را جدی بگیری.
openSUSE Tumbleweed یکی از حرفهایترین rolling releaseهاست، چون rolling بودن را با کنترل کیفی جدی ترکیب میکند. صفحهٔ رسمی Tumbleweed میگوید که این توزیع «latest stable versions» را ارائه میکند، با تستهای گسترده و حتی امکان rollback با snapshot. این یعنی اگر rolling release میخواهی ولی از ایدهٔ «rolling بیمهار» میترسی، Tumbleweed یک گزینهٔ بسیار بالغ است.
openSUSE Leap در سوی دیگر این طیف است: نسخهای با تمرکز قوی بر ثبات و lifecycle طولانی. مستندات رسمی Leap 16 از چرخهٔ ۲۴ ماهه برای هر minor release و رویکرد هیبریدیِ مبتنی بر SLE و توسعهٔ جامعه صحبت میکنند. Leap برای کسانی که از پایداری سطح enterprise خوششان میآید ولی فضای open-source و ابزارهای openSUSE را ترجیح میدهند، بسیار جذاب است.
❤3
Red Hat Enterprise Linux (RHEL) کلاس enterprise را نمایندگی میکند. مستند سیاست چرخهٔ حیات RHEL برای نسخههای ۸، ۹ و ۱۰ چرخهٔ ۱۰ سالهٔ Full Support و Maintenance Support را اعلام میکند، و Red Hat حتی برای برخی سناریوها Extended Life Cycle تا ۱۴ سال را هم ارائه کرده است. این مدل برای سازمانهایی که ثبات، پشتیبانی قراردادی، و مهاجرتهای برنامهریزیشده میخواهند، از نظر مهندسی بسیار معنیدار است.
چرا بعضی انتخابها «خوب نیستند»
بدیِ یک توزیع معمولاً مطلق نیست؛ بد بودن وقتی رخ میدهد که مدل توزیع با نیاز واقعی تو همراستا نباشد. برای مثال، rolling release برای کسی که هر روز سیستم را نگهداری میکند و snapshot/rollback و حوصلهٔ مطالعه دارد، عالی است؛ اما برای تیمی که downtime گران است و تغییرات باید از قبل آزموده و زمانبندی شوند، مدل rolling میتواند ریسک عملیاتی اضافه کند. این نتیجهگیری از خودِ فلسفهٔ Arch و Tumbleweed و در برابر مدلهای چرخهدار مثل Debian/Ubuntu/RHEL بهدست میآید.
برعکس، انتخاب یک توزیع بسیار محافظهکار برای کسی که سختافزار جدید، درایور تازه، گرافیک نو، یا ابزارهای توسعهٔ جدید میخواهد، میتواند به معنی «عقب ماندن از اکوسیستم» باشد. Fedora با چرخهٔ سریعش دقیقاً برای همین شکاف طراحی شده، و Arch/Tumbleweed هم با هدف رساندن بستههای جدیدتر وارد عمل میشوند. بنابراین انتخاب Debian Stable یا RHEL برای یک workstation که نیازمند آخرین toolchain یا driver است، از نظر نیازمندی فنی ممکن است انتخاب ضعیفی باشد، حتی اگر از نظر پایداری عالی باشد.
یک خطای رایج دیگر این است که توزیع را فقط بر اساس «معروف بودن» انتخاب کنیم. شهرت لزوماً معادل تناسب نیست. Ubuntu بهخاطر اکوسیستم و LTS عالی است، Debian برای پایداری ممتاز است، Fedora برای تکنولوژی جدید عالی است، Arch برای کنترل و یادگیری عمیق است، Tumbleweed برای rolling پایدارتر عالی است، و RHEL برای سازمانها تقریباً یک معیار صنعتی است. هیچکدام «بهترینِ مطلق» نیستند؛ بهترین، تابعِ workload، تیم، و سطح تحمل ریسک است.
باورهای غلطِ خیلی رایج
یکی از مهمترین سوءبرداشتها این است که «لینوکس همان کرنل است، پس هر توزیعی یکی است». در واقع توزیعها از نظر چرخهٔ انتشار، سیاست پشتیبانی، بستهبندی، کرنل توزیعی، و حتی تجربهٔ نگهداری تفاوتهای عمیق دارند. kernel.org هم صریحاً میان upstream kernel و kernelهای توزیعی تمایز میگذارد.
باور غلط دوم این است که «rolling release یعنی unstable». این گزاره دقیق نیست. rolling release فقط یعنی انتشار نقطهای و نسخهمحورِ کلاسیک نداری؛ اما کیفیت میتواند از بسیار خوب تا ضعیف متغیر باشد. Tumbleweed با تستهای گسترده و snapshot/rollback rolling را با انضباط عملیاتی ترکیب میکند، و Arch هم هرچند rolling است، خود را یک نصب یکباره با آپدیت دائمی معرفی میکند، نه یک سیستم بیقانون.
باور غلط سوم این است که «توزیعهای enterprise کند و مردهاند». برعکس، فلسفهٔ آنها این است که patch و backport و lifecycle بلند داشته باشند تا زیر بار production قابل اتکا بمانند. چرخهٔ ۱۰سالهٔ RHEL و ۵سالهٔ Debian stable و ۱۰سالهٔ Ubuntu LTS دقیقاً برای همین ساخته شدهاند: نه برای هیجانِ نو بودن، بلکه برای پیشبینیپذیری و کاهش هزینهٔ تغییر.
باور غلط چهارم این است که «Fedora فقط یک بتاست». Fedora واقعاً fast-moving است، اما از نظر فرایند انتشار، چرخهٔ مشخص، نگهداری رسمی، و طول عمر قابلتعریف دارد. فرقش با توزیعهای محافظهکار این نیست که «ناتمام» است؛ فرقش این است که عمداً در مرزِ جدیدتر بودن حرکت میکند.
جمعبندی کاربردی
اگر هدف سرور پایدار و کمدردسر است، Debian Stable، Ubuntu LTS، RHEL، و در دنیای openSUSE، Leap انتخابهای منطقیاند. اگر هدفت دسکتاپ مدرن با اکوسیستم بزرگ است، Ubuntu LTS و Fedora معمولاً انتخابهای خیلی خوبیاند. اگر هدف تجربهٔ بهروزِ عمیق، کنترل کامل، و یادگیری جدی است، Arch یا Tumbleweed منطقیترند. و اگر هدفت چرخهٔ حیات طولانی و پشتیبانی سازمانی است، RHEL و Ubuntu LTS و Debian Stable در صدر قرار میگیرند. اینها رتبهبندی مطلق نیستند؛ نقشهٔ تناسباند.
کرنل همان موتور است، توزیع همان شاسی و سیاست رانندگی؛ و «بهترین» همیشه یعنی مناسبترین برای مسیر، نه قدرتمندترین روی کاغذ.
چرا بعضی انتخابها «خوب نیستند»
بدیِ یک توزیع معمولاً مطلق نیست؛ بد بودن وقتی رخ میدهد که مدل توزیع با نیاز واقعی تو همراستا نباشد. برای مثال، rolling release برای کسی که هر روز سیستم را نگهداری میکند و snapshot/rollback و حوصلهٔ مطالعه دارد، عالی است؛ اما برای تیمی که downtime گران است و تغییرات باید از قبل آزموده و زمانبندی شوند، مدل rolling میتواند ریسک عملیاتی اضافه کند. این نتیجهگیری از خودِ فلسفهٔ Arch و Tumbleweed و در برابر مدلهای چرخهدار مثل Debian/Ubuntu/RHEL بهدست میآید.
برعکس، انتخاب یک توزیع بسیار محافظهکار برای کسی که سختافزار جدید، درایور تازه، گرافیک نو، یا ابزارهای توسعهٔ جدید میخواهد، میتواند به معنی «عقب ماندن از اکوسیستم» باشد. Fedora با چرخهٔ سریعش دقیقاً برای همین شکاف طراحی شده، و Arch/Tumbleweed هم با هدف رساندن بستههای جدیدتر وارد عمل میشوند. بنابراین انتخاب Debian Stable یا RHEL برای یک workstation که نیازمند آخرین toolchain یا driver است، از نظر نیازمندی فنی ممکن است انتخاب ضعیفی باشد، حتی اگر از نظر پایداری عالی باشد.
یک خطای رایج دیگر این است که توزیع را فقط بر اساس «معروف بودن» انتخاب کنیم. شهرت لزوماً معادل تناسب نیست. Ubuntu بهخاطر اکوسیستم و LTS عالی است، Debian برای پایداری ممتاز است، Fedora برای تکنولوژی جدید عالی است، Arch برای کنترل و یادگیری عمیق است، Tumbleweed برای rolling پایدارتر عالی است، و RHEL برای سازمانها تقریباً یک معیار صنعتی است. هیچکدام «بهترینِ مطلق» نیستند؛ بهترین، تابعِ workload، تیم، و سطح تحمل ریسک است.
باورهای غلطِ خیلی رایج
یکی از مهمترین سوءبرداشتها این است که «لینوکس همان کرنل است، پس هر توزیعی یکی است». در واقع توزیعها از نظر چرخهٔ انتشار، سیاست پشتیبانی، بستهبندی، کرنل توزیعی، و حتی تجربهٔ نگهداری تفاوتهای عمیق دارند. kernel.org هم صریحاً میان upstream kernel و kernelهای توزیعی تمایز میگذارد.
باور غلط دوم این است که «rolling release یعنی unstable». این گزاره دقیق نیست. rolling release فقط یعنی انتشار نقطهای و نسخهمحورِ کلاسیک نداری؛ اما کیفیت میتواند از بسیار خوب تا ضعیف متغیر باشد. Tumbleweed با تستهای گسترده و snapshot/rollback rolling را با انضباط عملیاتی ترکیب میکند، و Arch هم هرچند rolling است، خود را یک نصب یکباره با آپدیت دائمی معرفی میکند، نه یک سیستم بیقانون.
باور غلط سوم این است که «توزیعهای enterprise کند و مردهاند». برعکس، فلسفهٔ آنها این است که patch و backport و lifecycle بلند داشته باشند تا زیر بار production قابل اتکا بمانند. چرخهٔ ۱۰سالهٔ RHEL و ۵سالهٔ Debian stable و ۱۰سالهٔ Ubuntu LTS دقیقاً برای همین ساخته شدهاند: نه برای هیجانِ نو بودن، بلکه برای پیشبینیپذیری و کاهش هزینهٔ تغییر.
باور غلط چهارم این است که «Fedora فقط یک بتاست». Fedora واقعاً fast-moving است، اما از نظر فرایند انتشار، چرخهٔ مشخص، نگهداری رسمی، و طول عمر قابلتعریف دارد. فرقش با توزیعهای محافظهکار این نیست که «ناتمام» است؛ فرقش این است که عمداً در مرزِ جدیدتر بودن حرکت میکند.
جمعبندی کاربردی
اگر هدف سرور پایدار و کمدردسر است، Debian Stable، Ubuntu LTS، RHEL، و در دنیای openSUSE، Leap انتخابهای منطقیاند. اگر هدفت دسکتاپ مدرن با اکوسیستم بزرگ است، Ubuntu LTS و Fedora معمولاً انتخابهای خیلی خوبیاند. اگر هدف تجربهٔ بهروزِ عمیق، کنترل کامل، و یادگیری جدی است، Arch یا Tumbleweed منطقیترند. و اگر هدفت چرخهٔ حیات طولانی و پشتیبانی سازمانی است، RHEL و Ubuntu LTS و Debian Stable در صدر قرار میگیرند. اینها رتبهبندی مطلق نیستند؛ نقشهٔ تناسباند.
کرنل همان موتور است، توزیع همان شاسی و سیاست رانندگی؛ و «بهترین» همیشه یعنی مناسبترین برای مسیر، نه قدرتمندترین روی کاغذ.
∆ Join VOID ∆
❤3
Mr. Nothing
Red Hat Enterprise Linux (RHEL) کلاس enterprise را نمایندگی میکند. مستند سیاست چرخهٔ حیات RHEL برای نسخههای ۸، ۹ و ۱۰ چرخهٔ ۱۰ سالهٔ Full Support و Maintenance Support را اعلام میکند، و Red Hat حتی برای برخی سناریوها Extended Life Cycle تا ۱۴ سال را هم…
و اگرم دیدین شخصی بشدت بر روی یک توزیع تعصب دارد
نمونه های مانند کالی لینوکس و بلک ارچ
بهش سخت نگیرید
نمونه های مانند کالی لینوکس و بلک ارچ
بهش سخت نگیرید
❤3
در کل نباید بر سیستم ها و ابزار ها تعصب داشت
آنها توسعه دیدن که مورد استفاده قرار گیرند و نیازی به تعصب ندارند
خوده بنده به شخصه ویندوز و گاها ارچ استفاده میکنم
آنها توسعه دیدن که مورد استفاده قرار گیرند و نیازی به تعصب ندارند
خوده بنده به شخصه ویندوز و گاها ارچ استفاده میکنم
❤3
part ۰
شبکه (Networking)
در مدل مرجع OSI، دادهها از لایه کاربرد (مانند HTTP، DNS) به ترتیب به لایههای انتقال (TCP/UDP)، شبکه (IP)، پیوند داده (Ethernet) و فیزیکی منتقل میشوند. برای مثال یک بسته HTTP ابتدا در لایه کاربرد ساخته شده، در لایه انتقال با سرآیند TCP یا UDP کپسوله میشود، سپس در لایه شبکه آدرسدهی IP میگردد، در لایه پیوند داده فریم Ethernet (یا Wi-Fi) را تشکیل میدهد و در نهایت به صورت سیگنال الکتریکی یا نوری منتقل میشود. به صورت ساده میتوان این مسیر را نمایش داد:
در مدل TCP/IP کاربردی هم مشابه عمل میکند با لایههای کاربرد، انتقال و اینترنت (معادل IP) و لایه لینک. تفاوت اصلی در مدل OSI، وجود لایههای «ارائه» و «نشست» است که در TCP/IP ادغام شدهاند. بسته (Packet) به واحد داده در لایه شبکه (IP Packet) و فریم (Frame) به واحد داده در لایه پیوند (مثلاً Ethernet) گفته میشود. در مسیر یابی (Routing)، روترها با بررسی آدرسهای IP مقصد، بستهها را بین شبکهها هدایت میکنند. سوئیچینگ (Switching) در لایه پیوند داده عمل میکند و بر اساس آدرسهای MAC فریمها، داده را درون شبکه محلی جابهجا میکند.
NAT/CGNAT: ترجمه آدرس شبکه (NAT) تکنیکی است که در لایه شبکه اجرا میشود تا چند میزبان خصوصی پشت یک آدرس IP عمومی قرار گیرند. CGNAT (NAT همزمان با گستره بزرگ) نسخهای از NAT است که در مقیاس اپراتورهای اینترنتی به کار میرود و چند هزار کاربر را پشت آدرسهای محدود IPv4 مشترک میکند. این فرایند شامل بازنویسی آدرس و پورت در سرآیند بستهها است و باعث میشود بستههای بازگشتی به میزبان صحیح هدایت شوند. BGP: پروتکل مسیریابی مرزها (BGP) پروتکل اصلی تبادل اطلاعات مسیریابی بین شبکههای بزرگ (AS) است. هر مسیریاب BGP فهرست پیشوندهای IP که میتواند به آنها برسد و AS راهنمای آنها را به روترهای همسایه اعلام میکند. جدول مسیریابی BGP، مسیر بهینه را بر اساس سیاستها، طول مسیر و سایر معیارها انتخاب میکند.
DNS: سامانه نام دامنه (DNS) نامهای متنی (مثلاً
TLS (نسلکار امنیت لایه حمل و نقل): در TLS 1.2 و قبل، پیام ClientHello (شامل SNI) به صورت متن ساده ارسال میشد. در TLS 1.3، بخش اعظم دستدهی (ClientHello) رمزنگاری شدهاست، اما برخی پارامترهای اولیه (مانند ورژنها) از مقادیری مشتق شده از اطلاعات قابل مشاهده است. در دستدهی TLS 1.3، مشتری پارامترهای رمزگذاری، و نام دامنه (در صورت فعال بودن ECH غیرمعمول) را ارسال میکند. یک تجهیزات DPI میتواند پارامترهایی چون نسخه TLS، فهرست Cipher Suiteها و فرمت ClientHello را تحلیل کند (معروف به اثر انگشت TLS یا JA3) و حدس بزند از چه نرمافزار/سیستمی استفاده میشود. TLS به طور کلی بر بستر TCP یا QUIC (TLS 1.3 روی QUIC) کار میکند. در TLS 1.3، برای رزومه جلسه نیز بلیتی مبادله میشود که در بازگشایی مجدد ارتباط مفید است.
شبکه (Networking)
در مدل مرجع OSI، دادهها از لایه کاربرد (مانند HTTP، DNS) به ترتیب به لایههای انتقال (TCP/UDP)، شبکه (IP)، پیوند داده (Ethernet) و فیزیکی منتقل میشوند. برای مثال یک بسته HTTP ابتدا در لایه کاربرد ساخته شده، در لایه انتقال با سرآیند TCP یا UDP کپسوله میشود، سپس در لایه شبکه آدرسدهی IP میگردد، در لایه پیوند داده فریم Ethernet (یا Wi-Fi) را تشکیل میدهد و در نهایت به صورت سیگنال الکتریکی یا نوری منتقل میشود. به صورت ساده میتوان این مسیر را نمایش داد:
diff
+-----------------------------+
| لایه کاربرد (HTTP, DNS...) |
+-----------------------------+
| لایه انتقال (TCP/UDP) |
+-----------------------------+
| لایه شبکه (IP) |
+-----------------------------+
| لایه پیوند داده (فریمها) |
+-----------------------------+
| لایه فیزیکی (بیتها) |
+-----------------------------+
در مدل TCP/IP کاربردی هم مشابه عمل میکند با لایههای کاربرد، انتقال و اینترنت (معادل IP) و لایه لینک. تفاوت اصلی در مدل OSI، وجود لایههای «ارائه» و «نشست» است که در TCP/IP ادغام شدهاند. بسته (Packet) به واحد داده در لایه شبکه (IP Packet) و فریم (Frame) به واحد داده در لایه پیوند (مثلاً Ethernet) گفته میشود. در مسیر یابی (Routing)، روترها با بررسی آدرسهای IP مقصد، بستهها را بین شبکهها هدایت میکنند. سوئیچینگ (Switching) در لایه پیوند داده عمل میکند و بر اساس آدرسهای MAC فریمها، داده را درون شبکه محلی جابهجا میکند.
NAT/CGNAT: ترجمه آدرس شبکه (NAT) تکنیکی است که در لایه شبکه اجرا میشود تا چند میزبان خصوصی پشت یک آدرس IP عمومی قرار گیرند. CGNAT (NAT همزمان با گستره بزرگ) نسخهای از NAT است که در مقیاس اپراتورهای اینترنتی به کار میرود و چند هزار کاربر را پشت آدرسهای محدود IPv4 مشترک میکند. این فرایند شامل بازنویسی آدرس و پورت در سرآیند بستهها است و باعث میشود بستههای بازگشتی به میزبان صحیح هدایت شوند. BGP: پروتکل مسیریابی مرزها (BGP) پروتکل اصلی تبادل اطلاعات مسیریابی بین شبکههای بزرگ (AS) است. هر مسیریاب BGP فهرست پیشوندهای IP که میتواند به آنها برسد و AS راهنمای آنها را به روترهای همسایه اعلام میکند. جدول مسیریابی BGP، مسیر بهینه را بر اساس سیاستها، طول مسیر و سایر معیارها انتخاب میکند.
DNS: سامانه نام دامنه (DNS) نامهای متنی (مثلاً
example.com) را به آدرسهای IP متناظر تبدیل میکند. در شبکههای امروزی، انواع جدیدی از DNS رمزنگاریشده رایج شدهاند: DNS-over-UDP/TCP سنتی روی پورت 53 (متن ساده)، DNS-over-TLS (DoT) روی پورت 853، DNS-over-HTTPS (DoH) روی پورت 443 (که درون ترافیک HTTPS پنهان میشود) و DNS-over-QUIC (DoQ) که در پروتکل QUIC انجام میشود. علاوه بر این، در TLS 1.3 فنّاوری ECH (Encrypted Client Hello) معرفی شده که امکان رمزکردن کاملاً کلاینتهلوی TLS (به جز بخش ثابت اولیه) را فراهم میکند. SNI (Server Name Indication) بخشی از Client Hello در TLS 1.3 و پیشتر بود که نام دامنه مقصد (میزبان) را به صورت شفاف ارسال میکرد. نسخههای اولیه ESNI (Encrypted SNI) و سپس ECH کوشیدند این نشت اطلاعات را بپوشانند. بدون ECH، SNI به صورت متن ساده ارسال میشود و فایروالهای سازمانی یا دولتی میتوانند بر اساس آن دامنهها را فیلتر کنند.TLS (نسلکار امنیت لایه حمل و نقل): در TLS 1.2 و قبل، پیام ClientHello (شامل SNI) به صورت متن ساده ارسال میشد. در TLS 1.3، بخش اعظم دستدهی (ClientHello) رمزنگاری شدهاست، اما برخی پارامترهای اولیه (مانند ورژنها) از مقادیری مشتق شده از اطلاعات قابل مشاهده است. در دستدهی TLS 1.3، مشتری پارامترهای رمزگذاری، و نام دامنه (در صورت فعال بودن ECH غیرمعمول) را ارسال میکند. یک تجهیزات DPI میتواند پارامترهایی چون نسخه TLS، فهرست Cipher Suiteها و فرمت ClientHello را تحلیل کند (معروف به اثر انگشت TLS یا JA3) و حدس بزند از چه نرمافزار/سیستمی استفاده میشود. TLS به طور کلی بر بستر TCP یا QUIC (TLS 1.3 روی QUIC) کار میکند. در TLS 1.3، برای رزومه جلسه نیز بلیتی مبادله میشود که در بازگشایی مجدد ارتباط مفید است.
❤2