شبکه به زبان ساده!
Video
📌 تفاوت هاست و سرور
اگه بخوایم خیلی ساده نگاه کنیم ، سرور در اصل یه سیستم کامپیوتریه که برای سرویس دادن به بقیه دستگاهها ساخته یا تنظیم شده؛ یعنی میتونه سختافزار قدرتمند، CPU، RAM، فضای ذخیرهسازی و سیستمعامل داشته باشه و سرویسهایی مثل وبسایت، دیتابیس، فایل، DNS، ایمیل، VPN یا هر سرویس شبکهای دیگه رو اجرا کنه. حالا هاست در واقع بخشی از منابع همین سروره که به یک کاربر یا سایت اختصاص داده میشه. یعنی مثلاً یه سرور فیزیکی داریم با 128GB RAM و چند ترابایت Storage؛ شرکت هاستینگ میاد منابع این سرور رو بین چندین مشتری تقسیم میکنه و به هرکدوم یه محیط جدا میده؛ اون چیزی که مشتری میخره و اسمش رو میذاریم Web Hosting یا هاست، در واقع یه سهم مشخص از منابع سروره. پس میشه گفت سرور مثل یه ساختمان بزرگه و هاست مثل یه واحد داخل اون ساختمان. البته این مثال کاملاً یکبهیک نیست، چون نوع مجازیسازی و معماری سرویس مهمه.
مثلاً در Shared Hosting چندین سایت روی یک سرور و منابع مشترک قرار دارن؛ برای سایتهای معمولی و کممصرف مناسبه و قیمتش هم پایینه، ولی کنترل و منابع محدوده. در VPS سرور با استفاده از مجازیسازی به چند ماشین مجازی تقسیم میشه و هر VPS معمولاً سیستمعامل و منابع اختصاصیتری داره؛ برای پروژههایی که کنترل بیشتری لازم دارن گزینه خیلی بهتریه. در Dedicated Server کل سرور فیزیکی در اختیار یک مشتریه و دیگه منابع اصلی سرور با مشتریهای دیگه مشترک نیست. از طرف دیگه Cloud Server هم معمولاً روی زیرساخت ابری و مجموعهای از منابع محاسباتی اجرا میشه و میتونه انعطافپذیری و مقیاسپذیری بیشتری داشته باشه.
یه نکته مهم هم اینه که هاست الزاماً فقط برای سایت نیست؛ وقتی توی بازار میگن «هاست»، معمولاً منظورشون Web Hosting هست، یعنی محیطی برای اجرای سایت و چیزهایی مثل PHP، WordPress، Database و فایلهای سایت. ولی از نظر فنی، مفهوم Host گستردهتره و به هر دستگاه یا سیستم متصل به شبکه هم میتونه اشاره کنه. در مقابل، Server بیشتر به سیستمی گفته میشه که نقش ارائهدهنده سرویس رو برعهده داره.
@ModernLan
اگه بخوایم خیلی ساده نگاه کنیم ، سرور در اصل یه سیستم کامپیوتریه که برای سرویس دادن به بقیه دستگاهها ساخته یا تنظیم شده؛ یعنی میتونه سختافزار قدرتمند، CPU، RAM، فضای ذخیرهسازی و سیستمعامل داشته باشه و سرویسهایی مثل وبسایت، دیتابیس، فایل، DNS، ایمیل، VPN یا هر سرویس شبکهای دیگه رو اجرا کنه. حالا هاست در واقع بخشی از منابع همین سروره که به یک کاربر یا سایت اختصاص داده میشه. یعنی مثلاً یه سرور فیزیکی داریم با 128GB RAM و چند ترابایت Storage؛ شرکت هاستینگ میاد منابع این سرور رو بین چندین مشتری تقسیم میکنه و به هرکدوم یه محیط جدا میده؛ اون چیزی که مشتری میخره و اسمش رو میذاریم Web Hosting یا هاست، در واقع یه سهم مشخص از منابع سروره. پس میشه گفت سرور مثل یه ساختمان بزرگه و هاست مثل یه واحد داخل اون ساختمان. البته این مثال کاملاً یکبهیک نیست، چون نوع مجازیسازی و معماری سرویس مهمه.
مثلاً در Shared Hosting چندین سایت روی یک سرور و منابع مشترک قرار دارن؛ برای سایتهای معمولی و کممصرف مناسبه و قیمتش هم پایینه، ولی کنترل و منابع محدوده. در VPS سرور با استفاده از مجازیسازی به چند ماشین مجازی تقسیم میشه و هر VPS معمولاً سیستمعامل و منابع اختصاصیتری داره؛ برای پروژههایی که کنترل بیشتری لازم دارن گزینه خیلی بهتریه. در Dedicated Server کل سرور فیزیکی در اختیار یک مشتریه و دیگه منابع اصلی سرور با مشتریهای دیگه مشترک نیست. از طرف دیگه Cloud Server هم معمولاً روی زیرساخت ابری و مجموعهای از منابع محاسباتی اجرا میشه و میتونه انعطافپذیری و مقیاسپذیری بیشتری داشته باشه.
یه نکته مهم هم اینه که هاست الزاماً فقط برای سایت نیست؛ وقتی توی بازار میگن «هاست»، معمولاً منظورشون Web Hosting هست، یعنی محیطی برای اجرای سایت و چیزهایی مثل PHP، WordPress، Database و فایلهای سایت. ولی از نظر فنی، مفهوم Host گستردهتره و به هر دستگاه یا سیستم متصل به شبکه هم میتونه اشاره کنه. در مقابل، Server بیشتر به سیستمی گفته میشه که نقش ارائهدهنده سرویس رو برعهده داره.
@ModernLan
❤4🔥3
شبکه به زبان ساده!
Photo
🔴 آنتروپیک توی یه گزارش درباره استفاده از هوش مصنوعی کلود در ایران گفته موضوع فقط استفاده معمولی از AI نیست و بحث به حوزههای نظارت، تحلیل اطلاعات و فعالیتهای سایبری هم کشیده شده؛ یعنی حکومتها میتونن از مدلهای هوش مصنوعی برای بررسی حجم خیلی زیادی از اطلاعات و پیدا کردن الگو بین دادهها استفاده کنن. نگرانی اصلی اینجاست که وقتی هوش مصنوعی وارد سیستمهای نظارتی بشه، دیگه فقط بحث چندتا سرچ و تحلیل ساده نیست و میتونه در مقیاس خیلی بزرگ روی محتوای شبکههای اجتماعی، ارتباطات و دادههای مختلف تحلیل انجام بده. البته این به معنی این نیست که هر کسی فقط با نوشتن کلماتی مثل ایران، جمهوری اسلامی، شاه یا سقوط، بهصورت خودکار شناسایی میشه؛ چنین ادعایی نیاز به شواهد مشخص و قابل بررسی داره. از طرف دیگه، آنتروپیک درباره استفاده از مدلهای هوش مصنوعی در فعالیتهای مرتبط با ایران و همچنین عملیات سایبری و نظامی هم گزارشهایی منتشر کرده و این موضوع نشون میده هوش مصنوعی داره کمکم از یه ابزار صرفاً تحقیقاتی و عمومی تبدیل میشه به بخشی از جنگ اطلاعاتی، تحلیل داده، عملیات سایبری و تصمیمگیریهای امنیتی. خلاصه داستان اینه که هوش مصنوعی فقط برای ساخت عکس و جواب دادن به سوالات نیست؛ وقتی به حجم عظیمی از داده و زیرساختهای نظارتی وصل بشه، میتونه تبدیل به یه ابزار بسیار قدرتمند برای تحلیل رفتار، شناسایی الگوها و حتی کمک به عملیاتهای پیچیده بشه و همین موضوعه که باعث شده استفاده نظامی و امنیتی از AI به یکی از جدیترین بحثهای دنیای امروز تبدیل بشه.
@ModernLan
@ModernLan
🤯7
شبکه به زبان ساده!
Photo
استک کردن سویچ به چه معناست؟
استک کردن سوئیچها یعنی چند تا سوئیچ فیزیکی رو به هم وصل کنیم و کاری کنیم از دید شبکه مثل یک سوئیچ واحد مدیریت بشن.
مثلاً فرض کن توی یه شرکت ۳ تا سوئیچ Cisco داری. بهجای اینکه هرکدوم رو جداگانه کانفیگ و مدیریت کنی، با قابلیت Switch Stacking اونها رو به هم متصل میکنی و یک Stack میسازی:
نکته مهم اینه که این اتصال صرفاً مثل وصل کردن چند سوئیچ با کابل Ethernet معمولی نیست؛ سوئیچها از طریق Stacking Link/Stack Port با هم ارتباط داخلی برقرار میکنن و معمولاً یک Control Plane مشترک ایجاد میشه. در نتیجه مثلاً اگر ۳ سوئیچ داشته باشی، میتونی از یک محیط مدیریتی واحد پیکربندیشون کنی و منابع پورتهای هر سه سوئیچ رو در اختیار شبکه داشته باشی.
مثلاً:
SW1 → 48 پورت
SW2 → 48 پورت
SW3 → 48 پورت
در مجموع میتونی تقریباً ۱۴۴ پورت داشته باشی، ولی از نظر مدیریت یک Stack واحد داری.
یکی از مزیتهای مهمش Redundancy هست. اگر یکی از اعضای Stack خراب بشه، بسته به مدل و معماری Stack، بقیه اعضا میتونن به کارشون ادامه بدن. همچنین در خیلی از پیادهسازیها قابلیتهایی مثل StackWise، Master/Member، Stateful Failover و Cross-Stack EtherChannel وجود داره.
فرقش با اینه که مثلاً دو سوئیچ رو با Trunk به هم وصل کنی اینه که در حالت عادی، دو سوئیچ هنوز دو دستگاه مستقل هستن؛ ولی در Stack، چند دستگاه فیزیکی تبدیل میشن به یک سیستم منطقی واحد.
خلاصه: Stack کردن یعنی چند سوئیچ رو به هم میچسبونی تا از نظر شبکه و مدیریت مثل یک سوئیچ بزرگ و واحد رفتار کنن.
@ModernLan
استک کردن سوئیچها یعنی چند تا سوئیچ فیزیکی رو به هم وصل کنیم و کاری کنیم از دید شبکه مثل یک سوئیچ واحد مدیریت بشن.
مثلاً فرض کن توی یه شرکت ۳ تا سوئیچ Cisco داری. بهجای اینکه هرکدوم رو جداگانه کانفیگ و مدیریت کنی، با قابلیت Switch Stacking اونها رو به هم متصل میکنی و یک Stack میسازی:
مدیریت
│
┌────┴────┐
│ STACK │
└────┬────┘
│
┌───────┼───────┐
│ │ │
┌─────┐ ┌─────┐ ┌─────┐
│SW1 │ │SW2 │ │SW3 │
└─────┘ └─────┘ └─────┘
نکته مهم اینه که این اتصال صرفاً مثل وصل کردن چند سوئیچ با کابل Ethernet معمولی نیست؛ سوئیچها از طریق Stacking Link/Stack Port با هم ارتباط داخلی برقرار میکنن و معمولاً یک Control Plane مشترک ایجاد میشه. در نتیجه مثلاً اگر ۳ سوئیچ داشته باشی، میتونی از یک محیط مدیریتی واحد پیکربندیشون کنی و منابع پورتهای هر سه سوئیچ رو در اختیار شبکه داشته باشی.
مثلاً:
SW1 → 48 پورت
SW2 → 48 پورت
SW3 → 48 پورت
در مجموع میتونی تقریباً ۱۴۴ پورت داشته باشی، ولی از نظر مدیریت یک Stack واحد داری.
یکی از مزیتهای مهمش Redundancy هست. اگر یکی از اعضای Stack خراب بشه، بسته به مدل و معماری Stack، بقیه اعضا میتونن به کارشون ادامه بدن. همچنین در خیلی از پیادهسازیها قابلیتهایی مثل StackWise، Master/Member، Stateful Failover و Cross-Stack EtherChannel وجود داره.
فرقش با اینه که مثلاً دو سوئیچ رو با Trunk به هم وصل کنی اینه که در حالت عادی، دو سوئیچ هنوز دو دستگاه مستقل هستن؛ ولی در Stack، چند دستگاه فیزیکی تبدیل میشن به یک سیستم منطقی واحد.
خلاصه: Stack کردن یعنی چند سوئیچ رو به هم میچسبونی تا از نظر شبکه و مدیریت مثل یک سوئیچ بزرگ و واحد رفتار کنن.
@ModernLan
👍5❤2
اسکریپت و دستورات NSE یا Nmap Scripting Engine ، این بخش یکی از حرفهایترین قسمتهای Nmap محسوب میشه. NSE اجازه میده Nmap علاوه بر پیدا کردن Port و Service، با اسکریپتهای Lua اطلاعات بیشتری جمعآوری کنه، سرویسها رو بررسی کنه، بعضی آسیبپذیریهای شناختهشده رو تشخیص بده و کارهای Discovery و Enumeration انجام بده. Nmap در حال حاضر صدها اسکریپت NSE داره و اسکریپتها در دستههایی مثل
ساختار کلی NSE
مثلاً:
اجرای چند اسکریپت:
اجرای یک Category:
یا:
اجرای اسکریپتهای آسیبپذیری:
خود Nmap هم توصیه میکنه با
1. Default Scripts
سادهترین روش استفاده از NSE:
این دستور معادل:
هست.
معمولاً برای شروع Enumeration خیلی کاربردیه:
اینجا:
مثلاً ممکنه متوجه بشی روی پورت 80 یک Apache مشخص در حال اجراست و عنوان Web Server هم استخراج بشه.
2. Banner
برای گرفتن Banner سرویس:
یا روی پورت مشخص:
برای Enumeration سرویسها خیلی مفیده.
3. HTTP
یکی از مهمترین بخشهای NSE مربوط به Web هست.
مثلاً گرفتن عنوان سایت:
Headerهای HTTP:
اطلاعات بیشتر درباره HTTP:
این مورد میتونه مسیرها و منابع شناختهشده روی Web Server رو بررسی کنه.
برای SSL/TLS:
یا:
دومی برای بررسی Cipher Suiteهای TLS بسیار کاربردیه.
4. SSH
دیدن Host Key:
بررسی الگوریتمهای SSH:
بررسی روشهای Authentication:
اینها برای Security Assessment یک SSH Server خیلی مفیدن. مستندات رسمی NSE هم
5. SMB و Windows
برای محیطهای Windows/Active Directory، NSE اسکریپتهای بسیار خوبی داره.
مثلاً:
بررسی SMB Protocol:
بررسی Security Mode:
بررسی SMB2:
برای یک Windows Lab میتونی مثلاً:
اجرا کنی.
6. DNS
اطلاعات DNS:
بررسی DNS Zone Transfer:
Enumeration نامهای DNS:
7. SNMP
برای تجهیزات شبکه و سرویس SNMP:
SNMP معمولاً روی UDP/161 قرار داره.
برای Network Engineering، این بخش مخصوصاً روی Router، Switch، Printer و تجهیزات Monitoring کاربرد داره.
8. FTP
بررسی Anonymous FTP:
اطلاعات FTP:
بررسی قابلیتهای FTP:
9. SMTP
برای Mail Server:
بررسی کاربران SMTP:
اطلاعات SMTP:
10. RDP
برای Windows Remote Desktop:
این اسکریپت میتونه اطلاعاتی از سرویس RDP و NTLM جمعآوری کنه.
@ModernLan
safe، default، discovery، vuln، auth، brute، broadcast، intrusive و... قرار میگیرن.ساختار کلی NSE
nmap --script <script> <target>
مثلاً:
nmap --script=banner 192.168.1.10
اجرای چند اسکریپت:
nmap --script=banner,http-title 192.168.1.10
اجرای یک Category:
nmap --script=default 192.168.1.10
یا:
nmap --script=safe 192.168.1.10
اجرای اسکریپتهای آسیبپذیری:
nmap --script=vuln 192.168.1.10
خود Nmap هم توصیه میکنه با
--script=all احتیاط کنی، چون مجموعه اسکریپتها میتونه شامل موارد خطرناک، brute-force و DoS باشه.1. Default Scripts
سادهترین روش استفاده از NSE:
nmap -sC 192.168.1.10
این دستور معادل:
nmap --script=default 192.168.1.10
هست.
معمولاً برای شروع Enumeration خیلی کاربردیه:
nmap -sC -sV 192.168.1.10
اینجا:
-sC → اسکریپتهای Default-sV → تشخیص Version سرویسهامثلاً ممکنه متوجه بشی روی پورت 80 یک Apache مشخص در حال اجراست و عنوان Web Server هم استخراج بشه.
2. Banner
برای گرفتن Banner سرویس:
nmap --script=banner 192.168.1.10
یا روی پورت مشخص:
nmap -p 22 --script=banner 192.168.1.10
برای Enumeration سرویسها خیلی مفیده.
3. HTTP
یکی از مهمترین بخشهای NSE مربوط به Web هست.
مثلاً گرفتن عنوان سایت:
nmap -p 80,443 --script=http-title 192.168.1.10
Headerهای HTTP:
nmap -p 80,443 --script=http-headers 192.168.1.10
اطلاعات بیشتر درباره HTTP:
nmap -p 80,443 --script=http-enum 192.168.1.10
این مورد میتونه مسیرها و منابع شناختهشده روی Web Server رو بررسی کنه.
برای SSL/TLS:
nmap -p 443 --script=ssl-cert 192.168.1.10
یا:
nmap -p 443 --script=ssl-enum-ciphers 192.168.1.10
دومی برای بررسی Cipher Suiteهای TLS بسیار کاربردیه.
4. SSH
دیدن Host Key:
nmap -p 22 --script=ssh-hostkey 192.168.1.10
بررسی الگوریتمهای SSH:
nmap -p 22 --script=ssh2-enum-algos 192.168.1.10
بررسی روشهای Authentication:
nmap -p 22 --script=ssh-auth-methods 192.168.1.10
اینها برای Security Assessment یک SSH Server خیلی مفیدن. مستندات رسمی NSE هم
ssh-hostkey و ssh2-enum-algos رو برای همین نوع Enumeration معرفی میکنه.5. SMB و Windows
برای محیطهای Windows/Active Directory، NSE اسکریپتهای بسیار خوبی داره.
مثلاً:
nmap -p 445 --script=smb-os-discovery 192.168.1.10
بررسی SMB Protocol:
nmap -p 445 --script=smb-protocols 192.168.1.10
بررسی Security Mode:
nmap -p 445 --script=smb-security-mode 192.168.1.10
بررسی SMB2:
nmap -p 445 --script=smb2-security-mode 192.168.1.10
برای یک Windows Lab میتونی مثلاً:
nmap -sV -p 445 --script="smb-os-discovery,smb-protocols,smb-security-mode" 192.168.1.10
اجرا کنی.
6. DNS
اطلاعات DNS:
nmap -p 53 --script=dns-recursion 192.168.1.10
بررسی DNS Zone Transfer:
nmap -p 53 --script=dns-zone-transfer 192.168.1.10
Enumeration نامهای DNS:
nmap --script=dns-brute example.com
dns-brute برای پیدا کردن Subdomainهای رایج استفاده میشه و حتی امکان بررسی SRV Recordها رو هم داره. این اسکریپت در دسته intrusive و discovery قرار گرفته، بنابراین روی دامنه دیگران بدون مجوز نباید استفاده بشه.7. SNMP
برای تجهیزات شبکه و سرویس SNMP:
nmap -sU -p 161 --script=snmp-info 192.168.1.1
SNMP معمولاً روی UDP/161 قرار داره.
برای Network Engineering، این بخش مخصوصاً روی Router، Switch، Printer و تجهیزات Monitoring کاربرد داره.
8. FTP
بررسی Anonymous FTP:
nmap -p 21 --script=ftp-anon 192.168.1.10
اطلاعات FTP:
nmap -p 21 --script=ftp-syst 192.168.1.10
بررسی قابلیتهای FTP:
nmap -p 21 --script=ftp-syst,ftp-anon 192.168.1.10
9. SMTP
برای Mail Server:
nmap -p 25 --script=smtp-commands 192.168.1.10
بررسی کاربران SMTP:
nmap -p 25 --script=smtp-enum-users 192.168.1.10
اطلاعات SMTP:
nmap -p 25 --script=smtp-commands,smtp-enum-users 192.168.1.10
10. RDP
برای Windows Remote Desktop:
nmap -p 3389 --script=rdp-ntlm-info 192.168.1.10
این اسکریپت میتونه اطلاعاتی از سرویس RDP و NTLM جمعآوری کنه.
@ModernLan
🔥6❤3🤩1
شبکه به زبان ساده!
اسکریپت و دستورات NSE یا Nmap Scripting Engine ، این بخش یکی از حرفهایترین قسمتهای Nmap محسوب میشه. NSE اجازه میده Nmap علاوه بر پیدا کردن Port و Service، با اسکریپتهای Lua اطلاعات بیشتری جمعآوری کنه، سرویسها رو بررسی کنه، بعضی آسیبپذیریهای شناختهشده…
11. LDAP
برای LDAP:
در محیط Active Directory، LDAP Enumeration میتونه اطلاعات مهمی درباره Domain Controller و Directory Service بده.
12. MySQL
اطلاعات MySQL:
بررسی Authentication:
این نوع اسکریپتها برای بررسی Configuration اشتباه در محیط Lab مفیدن.
13. Redis
اطلاعات Redis:
14. MongoDB
برای MongoDB:
15. Vulnerability Scanning
یکی از جذابترین قابلیتهای NSE:
ولی بهتره قبلش Port و Version رو مشخص کنی:
یا:
Category
16. Vulners
یکی از اسکریپتهای معروف:
یا:
این Script بر اساس Service/Version و CPEهای شناساییشده، اطلاعات Vulnerability و CVSS مرتبط را از سرویس Vulners دریافت میکند.
یعنی مثلاً:
17. Discovery
برای Discovery میتونی Category رو مستقیم اجرا کنی:
البته برای یک اسکن واقعی بهتره Scriptهای مورد نیاز رو انتخاب کنی، چون
18. Broadcast Discovery
در شبکه داخلی:
مثلاً DHCP:
این Script یک DHCP Request به Broadcast میفرسته و اطلاعات پاسخ DHCP Server رو گزارش میکنه.
برای بعضی محیطهای LAN:
میتونه Hostهای پاسخدهنده را در شبکه Local پیدا کنه.
19. Script Arguments
یکی از قسمتهای مهم NSE اینه که Scriptها میتونن Argument بگیرن.
ساختار:
مثلاً:
چند Argument:
Nmap برای Script Arguments از ساختار
20. پیدا کردن Scriptها
برای دیدن Scriptهای نصبشده:
Linux:
مثلاً:
یا:
در ویندوز معمولاً Scriptها داخل دایرکتوری نصب Nmap قرار دارن.
21. NSE Script Database
Nmap یک فایل Database برای Scriptها داره:
برای جستجو:
22. آپدیت Script Database
اگر Script جدیدی اضافه کردی:
این دستور Database مربوط به NSE رو دوباره میسازه.
23. دیدن مستندات یک Script
مثلاً:
یا:
برای چند Script:
این یکی از بهترین راهها برای فهمیدن دقیقاً هر Script چه کاری انجام میده و چه Argumentهایی داره.
24. Wildcard
مثلاً تمام Scriptهایی که با
یا:
یا:
25. ترکیب Scriptها
مثلاً یک Web Assessment نسبتاً خوب:
برای SSH:
برای Windows/SMB:
26. ترکیب NSE با Scan کاملتر
یک دستور کاربردی برای Lab:
یعنی:
اگر بخوای خروجی خیلی کاملتری بگیری:
برای LDAP:
nmap -p 389 --script=ldap-rootdse 192.168.1.10
در محیط Active Directory، LDAP Enumeration میتونه اطلاعات مهمی درباره Domain Controller و Directory Service بده.
12. MySQL
اطلاعات MySQL:
nmap -p 3306 --script=mysql-info 192.168.1.10
بررسی Authentication:
nmap -p 3306 --script=mysql-empty-password 192.168.1.10
این نوع اسکریپتها برای بررسی Configuration اشتباه در محیط Lab مفیدن.
13. Redis
اطلاعات Redis:
nmap -p 6379 --script=redis-info 192.168.1.10
14. MongoDB
برای MongoDB:
nmap -p 27017 --script=mongodb-info 192.168.1.10
15. Vulnerability Scanning
یکی از جذابترین قابلیتهای NSE:
nmap --script=vuln 192.168.1.10
ولی بهتره قبلش Port و Version رو مشخص کنی:
nmap -sV --script=vuln 192.168.1.10
یا:
nmap -sV -p 80,443 --script=vuln 192.168.1.10
Category
vuln برای بررسی آسیبپذیریهای شناختهشده طراحی شده و معمولاً نتیجه را زمانی گزارش میکند که شرایط آسیبپذیری پیدا شود.16. Vulners
یکی از اسکریپتهای معروف:
nmap -sV --script=vulners 192.168.1.10
یا:
nmap -sV -p 22,80,443 --script=vulners 192.168.1.10
این Script بر اساس Service/Version و CPEهای شناساییشده، اطلاعات Vulnerability و CVSS مرتبط را از سرویس Vulners دریافت میکند.
یعنی مثلاً:
OpenSSH 8.x
↓
CPE
↓
Vulnerability Database
↓
CVE / CVSS
17. Discovery
برای Discovery میتونی Category رو مستقیم اجرا کنی:
nmap --script=discovery 192.168.1.10
البته برای یک اسکن واقعی بهتره Scriptهای مورد نیاز رو انتخاب کنی، چون
discovery میتونه تعداد زیادی Script را شامل بشه.18. Broadcast Discovery
در شبکه داخلی:
nmap --script=broadcast
مثلاً DHCP:
nmap --script=broadcast-dhcp-discover
این Script یک DHCP Request به Broadcast میفرسته و اطلاعات پاسخ DHCP Server رو گزارش میکنه.
برای بعضی محیطهای LAN:
nmap --script=broadcast-ping
میتونه Hostهای پاسخدهنده را در شبکه Local پیدا کنه.
19. Script Arguments
یکی از قسمتهای مهم NSE اینه که Scriptها میتونن Argument بگیرن.
ساختار:
--script-args name=value
مثلاً:
nmap --script dns-brute \
--script-args dns-brute.threads=10 \
example.com
چند Argument:
nmap --script dns-brute \
--script-args dns-brute.threads=10,dns-brute.srv=true \
example.com
Nmap برای Script Arguments از ساختار
name=value استفاده میکنه و میشه چند Argument رو با کاما جدا کرد.20. پیدا کردن Scriptها
برای دیدن Scriptهای نصبشده:
Linux:
ls /usr/share/nmap/scripts/
مثلاً:
ls /usr/share/nmap/scripts/ | grep http
یا:
ls /usr/share/nmap/scripts/ | grep smb
در ویندوز معمولاً Scriptها داخل دایرکتوری نصب Nmap قرار دارن.
21. NSE Script Database
Nmap یک فایل Database برای Scriptها داره:
/usr/share/nmap/scripts/script.db
برای جستجو:
grep http /usr/share/nmap/scripts/script.db
22. آپدیت Script Database
اگر Script جدیدی اضافه کردی:
sudo nmap --script-updatedb
این دستور Database مربوط به NSE رو دوباره میسازه.
23. دیدن مستندات یک Script
مثلاً:
nmap --script-help http-title
یا:
nmap --script-help dns-brute
برای چند Script:
nmap --script-help "http-*"
این یکی از بهترین راهها برای فهمیدن دقیقاً هر Script چه کاری انجام میده و چه Argumentهایی داره.
24. Wildcard
مثلاً تمام Scriptهایی که با
http- شروع میشن:nmap --script="http-*" 192.168.1.10
یا:
nmap --script="ssh-*" 192.168.1.10
یا:
nmap --script="smb-*" 192.168.1.10
25. ترکیب Scriptها
مثلاً یک Web Assessment نسبتاً خوب:
nmap -sV -p 80,443 \
--script="http-title,http-headers,http-methods,ssl-cert,ssl-enum-ciphers" \
192.168.1.10
برای SSH:
nmap -sV -p 22 \
--script="ssh-hostkey,ssh2-enum-algos,ssh-auth-methods" \
192.168.1.10
برای Windows/SMB:
nmap -sV -p 445 \
--script="smb-os-discovery,smb-protocols,smb-security-mode" \
192.168.1.10
26. ترکیب NSE با Scan کاملتر
یک دستور کاربردی برای Lab:
nmap -sS -sV -sC -O 192.168.1.10
یعنی:
-sS → TCP SYN Scan
-sV → Service/Version Detection
-sC → Default NSE Scripts
-O → OS Detection
اگر بخوای خروجی خیلی کاملتری بگیری:
nmap -A 192.168.1.10
-A مجموعهای از قابلیتهای تشخیص Version، OS، Traceroute و NSE را فعال میکند.❤6
شبکه به زبان ساده!
اسکریپت و دستورات NSE یا Nmap Scripting Engine ، این بخش یکی از حرفهایترین قسمتهای Nmap محسوب میشه. NSE اجازه میده Nmap علاوه بر پیدا کردن Port و Service، با اسکریپتهای Lua اطلاعات بیشتری جمعآوری کنه، سرویسها رو بررسی کنه، بعضی آسیبپذیریهای شناختهشده…
دستهبندی مهم NSE
بهصورت ذهنی اینطوری حفظش کن:
این دستهبندی رسمی NSE است.
چند دستور طلایی برای Lab
@ModernLan
بهصورت ذهنی اینطوری حفظش کن:
NSE
│
├── discovery → جمعآوری اطلاعات
├── default → اسکریپتهای پیشفرض
├── safe → بررسیهای کمخطرتر
├── version → کمک به تشخیص Version
├── vuln → بررسی آسیبپذیری
├── auth → Authentication
├── brute → Password Guessing
├── broadcast → Discovery در LAN
├── intrusive → تستهای تهاجمیتر
├── exploit → Exploitation
├── dos → تستهای DoS
├── malware → بررسی نشانههای Malware
├── fuzzer → Fuzzing
└── external → استفاده از سرویسهای خارجی
این دستهبندی رسمی NSE است.
چند دستور طلایی برای Lab
# Default Enumeration
nmap -sC -sV 192.168.1.10
# Banner
nmap --script=banner 192.168.1.10
# HTTP
nmap -p80,443 --script=http-title,http-headers 192.168.1.10
# SSL/TLS
nmap -p443 --script=ssl-cert,ssl-enum-ciphers 192.168.1.10
# SSH
nmap -p22 --script=ssh-hostkey,ssh2-enum-algos 192.168.1.10
# SMB
nmap -p445 --script=smb-os-discovery,smb-protocols 192.168.1.10
# DNS
nmap -p53 --script=dns-recursion 192.168.1.10
# Vulnerability
nmap -sV --script=vuln 192.168.1.10
# Vulners
nmap -sV --script=vulners 192.168.1.10
# DHCP Discovery - LAN Lab
nmap --script=broadcast-dhcp-discover
# Help
nmap --script-help http-title
# Update NSE database
sudo nmap --script-updatedb
@ModernLan
❤6
شبکه به زبان ساده!
Photo
وزیر ارتباطات و فناوری اطلاعات گفته محدودیتهای مربوط به IPv6 بهزودی تعیین تکلیف میشه. طبق گفته ایشون، با توجه به اینکه شبکه ملی اطلاعات داره بیشتر با تحولات فناوری جلو میره، موضوع استفاده از IPv6 هم باید جدیتر دنبال بشه و محدودیتهایی که الان سر راهش وجود داره مشخص بشه. IPv6 همون نسل جدید پروتکل IP هست که برای حل مشکل کمبود آدرسهای IPv4 طراحی شده و با فضای آدرسدهی بسیار بزرگتر، امکانات بهتری برای توسعه شبکهها، اینترنت اشیا، دیتاسنترها و سرویسهای جدید فراهم میکنه. در واقع بحث فقط عوض کردن IPv4 با IPv6 نیست؛ پیادهسازی درستش روی ISP، روترها، دیتاسنترها، DNS، فایروالها و تجهیزات شبکه نیاز به برنامهریزی و هماهنگی داره. حالا باید دید تصمیم نهایی درباره محدودیتهای IPv6 چی خواهد بود و این موضوع در عمل چقدر روی توسعه زیرساخت شبکه کشور تأثیر میزاره.
@ModernLan
#IPv6 #Networking #NetworkSecurity #ModernLAN
@ModernLan
#IPv6 #Networking #NetworkSecurity #ModernLAN
🥱5👍4🤣1
شبکه به زبان ساده!
Photo
🛡️ WAF چیه و کجا قرار میگیره؟
WAF مخفف Web Application Firewall
یعنی یه فایروال تخصصی برای محافظت از برنامهها و سایتهای تحت وبه. اگه خیلی خودمونی بخوایم نگاه کنیم، فایروال معمولی بیشتر حواسش به ترافیک شبکه، IP، Port و Connectionهاست، ولی WAF میاد خود درخواستهای HTTP/HTTPS رو نگاه میکنه و بررسی میکنه ببینه داخل درخواست چیزی مشکوک یا مخرب وجود داره یا نه؛ مثلاً حملاتی مثل SQL Injection، XSS، Path Traversal، Command Injection و بعضی الگوهای غیرعادی دیگه.
حالا WAF معمولاً کجا قرار میگیره؟ بین اینترنت و Web Server؛ یعنی کاربر وقتی میخواد به سایت وصل بشه، درخواستش اول به WAF میرسه، WAF درخواست رو بررسی میکنه و اگه سالم باشه میفرستتش سمت سرور، ولی اگه مخرب تشخیص داده بشه همونجا جلوی درخواست رو میگیره و اجازه نمیده به Application برسه.
مثلاً فرض کن مهاجم یه درخواست این شکلی بفرسته:
میتونه این Request رو بررسی کنه و با توجه به Ruleها و الگوهای تشخیص حمله، اون رو مشکوک تشخیص بده و Block کنه. در معماریهای واقعی هم ممکنه WAF قبل یا بعد از Load Balancer قرار بگیره و حتی خودش نقش Reverse Proxy رو داشته باشه.
مثلاً مسیر ترافیک میتونه این شکلی باشه:
Internet → Firewall → WAF → Load Balancer → Web Server → Application → Database. البته WAF
قرار نیست جای فایروال شبکه رو بگیره؛ این دوتا مکمل همدیگهان. فایروال شبکه بیشتر از خود زیرساخت و ترافیک شبکه محافظت میکنه و WAF تمرکزش روی لایه Web و درخواستهایی مثل HTTP/HTTPS.
یه نکته مهم دیگه هم اینه که WAF میتونه به شکل Appliance، نرمافزاری یا Cloud ارائه بشه و تو مدل Cloud حتی ممکنه DNS دامنه رو طوری تنظیم کنیم که درخواست کاربر اول وارد سرویس WAF بشه و بعد از بررسی به سرور اصلی برسه.
@ModernLan
WAF مخفف Web Application Firewall
یعنی یه فایروال تخصصی برای محافظت از برنامهها و سایتهای تحت وبه. اگه خیلی خودمونی بخوایم نگاه کنیم، فایروال معمولی بیشتر حواسش به ترافیک شبکه، IP، Port و Connectionهاست، ولی WAF میاد خود درخواستهای HTTP/HTTPS رو نگاه میکنه و بررسی میکنه ببینه داخل درخواست چیزی مشکوک یا مخرب وجود داره یا نه؛ مثلاً حملاتی مثل SQL Injection، XSS، Path Traversal، Command Injection و بعضی الگوهای غیرعادی دیگه.
حالا WAF معمولاً کجا قرار میگیره؟ بین اینترنت و Web Server؛ یعنی کاربر وقتی میخواد به سایت وصل بشه، درخواستش اول به WAF میرسه، WAF درخواست رو بررسی میکنه و اگه سالم باشه میفرستتش سمت سرور، ولی اگه مخرب تشخیص داده بشه همونجا جلوی درخواست رو میگیره و اجازه نمیده به Application برسه.
مثلاً فرض کن مهاجم یه درخواست این شکلی بفرسته:
GET /search?q=' OR 1=1--، WAF میتونه این Request رو بررسی کنه و با توجه به Ruleها و الگوهای تشخیص حمله، اون رو مشکوک تشخیص بده و Block کنه. در معماریهای واقعی هم ممکنه WAF قبل یا بعد از Load Balancer قرار بگیره و حتی خودش نقش Reverse Proxy رو داشته باشه.
مثلاً مسیر ترافیک میتونه این شکلی باشه:
Internet → Firewall → WAF → Load Balancer → Web Server → Application → Database. البته WAF
قرار نیست جای فایروال شبکه رو بگیره؛ این دوتا مکمل همدیگهان. فایروال شبکه بیشتر از خود زیرساخت و ترافیک شبکه محافظت میکنه و WAF تمرکزش روی لایه Web و درخواستهایی مثل HTTP/HTTPS.
یه نکته مهم دیگه هم اینه که WAF میتونه به شکل Appliance، نرمافزاری یا Cloud ارائه بشه و تو مدل Cloud حتی ممکنه DNS دامنه رو طوری تنظیم کنیم که درخواست کاربر اول وارد سرویس WAF بشه و بعد از بررسی به سرور اصلی برسه.
@ModernLan
❤3🔥3
شبکه به زبان ساده!
Photo
نسخه جدید هسته متنباز و رایگان Aether منتشر شده و این بار قابلیتهای Tor هم بهش اضافه شده. یعنی الان میتونین از Tor به چند حالت مختلف استفاده کنین؛ اتصال مستقیم به Tor، اتصال Tor از طریق WARP و حتی حالت معکوس. جالبتر اینکه Bridgeهای Tor هم میتونن بهصورت خودکار از BridgeDB دریافت بشن و Aether امکان امتحان کردن Bridgeهایی مثل Snowflake و WebTunnel رو هم داره. یه قابلیت دیگهای که اضافه شده MASQUE-in-MASQUE هست؛ یعنی بهجای اینکه فقط یه لایه MASQUE داشته باشین، دو لایه MASQUE پشت سر هم برقرار میشه. این کار میتونه باعث بشه مسیر و رنج IP خروجی با حالت MASQUE معمولی متفاوت باشه و طبق توضیحات پروژه، در این حالت دیگه خروجی الزاماً از رنج IP ایران Cloudflare نمیاد و رفتار اتصال تا حدی شبیه متد Gool میشه. خلاصه Aether توی این نسخه یه قدم جدیتر رفته سمت ترکیب روشهای مختلف تونل و مسیریابی برای شرایطی که اتصال معمولی جواب نمیده.
👉 github.com/CluvexStudio/Aether/releases
@ModernLan
👉 github.com/CluvexStudio/Aether/releases
@ModernLan
🔥6
شبکه به زبان ساده!
Photo
چین و مهندسی فیلترینگ در ایران؛ از DPI تا اختلال سیستماتیک اینترنت!
اگر بخوایم خیلی عمیق ولی فنی به قضیه نگاه کنیم، چین برای جمهوری اسلامی فقط «تجهیزات شبکه» نفروخته؛ چیزی که اهمیت بیشتری داره اینه که بخشی از تجربه و فناوری کنترل متمرکز اینترنت رو هم منتقل کرده. یعنی ایده این نیست که اینترنت رو کلاً خاموش کنن؛ مدل پیشرفتهتر اینه که اینترنت وجود داشته باشه، ولی مسیر عبورش، مقصدش، سرعتش و حتی اینکه چه کسی به چه سرویسی دسترسی داشته باشه، قابل کنترل باشه.
یکی از قطعات مهم این داستان DPI یا Deep Packet Inspection ـه. DPI رو میتونی مثل یه سیستم بازرسی خیلی پیشرفته در مسیر ترافیک تصور کنی. وقتی ترافیک کاربر از شبکه ISP یا اپراتور رد میشه، تجهیزات میتونن مشخصات جریان ارتباطی رو بررسی کنن؛ مثلاً IP مقصد، پورت، پروتکل، مشخصات TLS و در بعضی شرایط اطلاعات قابل مشاهده داخل ترافیک. بعد بر اساس Policy تصمیم گرفته میشه که این ارتباط عبور کنه، Drop بشه، Reset بشه یا سرعتش محدود بشه. گزارشهای منتشرشده درباره ایران، فناوری DPI ارائهشده یا مرتبط با شرکتهایی مثل Huawei و ZTE رو یکی از اجزای مهم این معماری معرفی میکنن.
حالا قسمت مهمتر ماجرا اینه که فیلترینگ فقط «بلاک کردن یه IP» نیست. فرض کن کاربر میخواد به یک سرویس خارجی وصل بشه. درخواست DNS میره، آدرس IP گرفته میشه، بعد ارتباط TCP یا UDP برقرار میشه و در HTTPS هم TLS Handshake اتفاق میفته. سیستم کنترل شبکه میتونه در چند نقطه مختلف روی این زنجیره دخالت کنه. حتی وقتی محتوای اصلی HTTPS رمزنگاری شده، بعضی Metadataها و مشخصات ارتباط، مثل SNI در TLS، در معماریهای خاص میتونن برای اعمال Policy استفاده بشن. مطالعات فنی منتشرشده درباره فیلترینگ ایران، دخالت در DNS، HTTP، SNI در HTTPS و حتی ترافیک UDP/QUIC رو گزارش کردهاند.
یعنی ممکنه تو مرورگرت ببینی اینترنت «وصله»، ولی یک سایت خاص باز نمیشه؛ بعد فکر کنی مشکل DNS یا اینترنت خودته. در حالی که ممکنه اتصال عمداً در یکی از مراحل ارتباط قطع شده باشه. حتی میشه کاری کرد که ارتباط TCP شروع بشه ولی قبل از کامل شدن Session، اتصال با Packetهای Reset مختل بشه. نتیجه برای کاربر ساده است: «اینترنت خرابه»، ولی از دید شبکه یک Policy عمداً اجرا شده.
یه مرحله بالاتر، بحث Throttling یا کاهش عمدی کیفیت ارتباطه. لازم نیست همیشه سرویس رو کامل Block کنی. میشه با ایجاد Packet Loss، افزایش Latency، محدود کردن Bandwidth یا دستکاری مسیر، کیفیت سرویس رو آنقدر پایین آورد که عملاً استفاده ازش سخت یا غیرممکن بشه. این مدل از نظر فنی خیلی متفاوت از قطع کامل اینترنت به نظر میاد، ولی نتیجه برای کاربر میتونه تقریباً همون باشه: سرویس باز میشه اما ویدیو لود نمیشه، VPN ناپایدار میشه، تماس تصویری قطع میشه یا اتصال مرتب Timeout میخوره.
حالا میرسیم به قسمت خیلی مهمتر یعنی «اختلال سیستماتیک». وقتی کنترل فقط روی یک فایروال کوچک نیست و در لایههای مختلف ISP، اپراتور، Gatewayهای بینالمللی و زیرساخت داخلی توزیع شده باشه، دولت میتونه به جای اینکه تکتک سایتها رو ببنده، خودِ مسیر دسترسی به اینترنت جهانی رو کنترل کنه.
اینجاست که NIN یا شبکه ملی اطلاعات اهمیت پیدا میکنه. ایده فنی اینه که یک بخش بزرگ از سرویسهای داخلی داخل یک فضای شبکهای داخلی قابل دسترس باقی بمونن، حتی وقتی دسترسی به اینترنت بینالمللی محدود شده. بنابراین «قطع اینترنت» لزوماً به معنی خاموش شدن همه شبکهها نیست؛ میشه مسیر Global Internet رو محدود کرد ولی سرویسهای داخلی، بانکها، سامانههای دولتی و بعضی سرویسهای مجاز همچنان کار کنن. گزارش Financial Times هم توضیح داده که ساختار شبکه کنترلشده داخلی ایران، امکان جدا کردن ارتباطات خارجی از سرویسهای داخلی رو آسانتر کرده است.
این مدل از نظر معماری خیلی شبیه یک شبکه Enterprise فوقالعاده بزرگه که مدیر شبکه تصمیم گرفته چه VLAN یا Segmentهایی به بیرون دسترسی داشته باشن و چه Segmentهایی فقط داخل شبکه خودشون کار کنن؛ با این تفاوت که اینجا مقیاسش یک کشوره.
حالا نقش چین دقیقاً کجاست؟ بخشی از شرکتهای چینی، مخصوصاً Huawei و ZTE، سالها در زیرساخت مخابرات و شبکه ایران حضور داشتهاند و طبق گزارشهای منتشرشده، فناوریهای DPI و تجهیزات مرتبط با پایش و کنترل ترافیک نیز در این همکاریها مطرح بودهاند. در کنار اون، شرکتهایی مثل Tiandy و Hikvision بیشتر در حوزه نظارت تصویری و تشخیص چهره مطرحاند؛ یعنی این همکاری فقط محدود به Packet و Router نیست و یک اکوسیستم گستردهتر نظارت دیجیتال شکل میده.
اگر بخوایم خیلی عمیق ولی فنی به قضیه نگاه کنیم، چین برای جمهوری اسلامی فقط «تجهیزات شبکه» نفروخته؛ چیزی که اهمیت بیشتری داره اینه که بخشی از تجربه و فناوری کنترل متمرکز اینترنت رو هم منتقل کرده. یعنی ایده این نیست که اینترنت رو کلاً خاموش کنن؛ مدل پیشرفتهتر اینه که اینترنت وجود داشته باشه، ولی مسیر عبورش، مقصدش، سرعتش و حتی اینکه چه کسی به چه سرویسی دسترسی داشته باشه، قابل کنترل باشه.
یکی از قطعات مهم این داستان DPI یا Deep Packet Inspection ـه. DPI رو میتونی مثل یه سیستم بازرسی خیلی پیشرفته در مسیر ترافیک تصور کنی. وقتی ترافیک کاربر از شبکه ISP یا اپراتور رد میشه، تجهیزات میتونن مشخصات جریان ارتباطی رو بررسی کنن؛ مثلاً IP مقصد، پورت، پروتکل، مشخصات TLS و در بعضی شرایط اطلاعات قابل مشاهده داخل ترافیک. بعد بر اساس Policy تصمیم گرفته میشه که این ارتباط عبور کنه، Drop بشه، Reset بشه یا سرعتش محدود بشه. گزارشهای منتشرشده درباره ایران، فناوری DPI ارائهشده یا مرتبط با شرکتهایی مثل Huawei و ZTE رو یکی از اجزای مهم این معماری معرفی میکنن.
حالا قسمت مهمتر ماجرا اینه که فیلترینگ فقط «بلاک کردن یه IP» نیست. فرض کن کاربر میخواد به یک سرویس خارجی وصل بشه. درخواست DNS میره، آدرس IP گرفته میشه، بعد ارتباط TCP یا UDP برقرار میشه و در HTTPS هم TLS Handshake اتفاق میفته. سیستم کنترل شبکه میتونه در چند نقطه مختلف روی این زنجیره دخالت کنه. حتی وقتی محتوای اصلی HTTPS رمزنگاری شده، بعضی Metadataها و مشخصات ارتباط، مثل SNI در TLS، در معماریهای خاص میتونن برای اعمال Policy استفاده بشن. مطالعات فنی منتشرشده درباره فیلترینگ ایران، دخالت در DNS، HTTP، SNI در HTTPS و حتی ترافیک UDP/QUIC رو گزارش کردهاند.
یعنی ممکنه تو مرورگرت ببینی اینترنت «وصله»، ولی یک سایت خاص باز نمیشه؛ بعد فکر کنی مشکل DNS یا اینترنت خودته. در حالی که ممکنه اتصال عمداً در یکی از مراحل ارتباط قطع شده باشه. حتی میشه کاری کرد که ارتباط TCP شروع بشه ولی قبل از کامل شدن Session، اتصال با Packetهای Reset مختل بشه. نتیجه برای کاربر ساده است: «اینترنت خرابه»، ولی از دید شبکه یک Policy عمداً اجرا شده.
یه مرحله بالاتر، بحث Throttling یا کاهش عمدی کیفیت ارتباطه. لازم نیست همیشه سرویس رو کامل Block کنی. میشه با ایجاد Packet Loss، افزایش Latency، محدود کردن Bandwidth یا دستکاری مسیر، کیفیت سرویس رو آنقدر پایین آورد که عملاً استفاده ازش سخت یا غیرممکن بشه. این مدل از نظر فنی خیلی متفاوت از قطع کامل اینترنت به نظر میاد، ولی نتیجه برای کاربر میتونه تقریباً همون باشه: سرویس باز میشه اما ویدیو لود نمیشه، VPN ناپایدار میشه، تماس تصویری قطع میشه یا اتصال مرتب Timeout میخوره.
حالا میرسیم به قسمت خیلی مهمتر یعنی «اختلال سیستماتیک». وقتی کنترل فقط روی یک فایروال کوچک نیست و در لایههای مختلف ISP، اپراتور، Gatewayهای بینالمللی و زیرساخت داخلی توزیع شده باشه، دولت میتونه به جای اینکه تکتک سایتها رو ببنده، خودِ مسیر دسترسی به اینترنت جهانی رو کنترل کنه.
اینجاست که NIN یا شبکه ملی اطلاعات اهمیت پیدا میکنه. ایده فنی اینه که یک بخش بزرگ از سرویسهای داخلی داخل یک فضای شبکهای داخلی قابل دسترس باقی بمونن، حتی وقتی دسترسی به اینترنت بینالمللی محدود شده. بنابراین «قطع اینترنت» لزوماً به معنی خاموش شدن همه شبکهها نیست؛ میشه مسیر Global Internet رو محدود کرد ولی سرویسهای داخلی، بانکها، سامانههای دولتی و بعضی سرویسهای مجاز همچنان کار کنن. گزارش Financial Times هم توضیح داده که ساختار شبکه کنترلشده داخلی ایران، امکان جدا کردن ارتباطات خارجی از سرویسهای داخلی رو آسانتر کرده است.
این مدل از نظر معماری خیلی شبیه یک شبکه Enterprise فوقالعاده بزرگه که مدیر شبکه تصمیم گرفته چه VLAN یا Segmentهایی به بیرون دسترسی داشته باشن و چه Segmentهایی فقط داخل شبکه خودشون کار کنن؛ با این تفاوت که اینجا مقیاسش یک کشوره.
حالا نقش چین دقیقاً کجاست؟ بخشی از شرکتهای چینی، مخصوصاً Huawei و ZTE، سالها در زیرساخت مخابرات و شبکه ایران حضور داشتهاند و طبق گزارشهای منتشرشده، فناوریهای DPI و تجهیزات مرتبط با پایش و کنترل ترافیک نیز در این همکاریها مطرح بودهاند. در کنار اون، شرکتهایی مثل Tiandy و Hikvision بیشتر در حوزه نظارت تصویری و تشخیص چهره مطرحاند؛ یعنی این همکاری فقط محدود به Packet و Router نیست و یک اکوسیستم گستردهتر نظارت دیجیتال شکل میده.
🔥7
شبکه به زبان ساده!
Photo
یه نکته خیلی مهم هم این وسط وجود داره: اینکه بگیم «چین کل فیلترینگ ایران رو ساخته» دقیق نیست. ایران خودش شرکتها، سامانهها و سیاستهای داخلی زیادی داره و معماری نهایی حاصل ترکیب فناوری خارجی، تجهیزات داخلی، اپراتورها و تصمیمات حکومتیه. چیزی که درباره چین مهمه، فراهم کردن بخشی از فناوری و همچنین انتقال یک مدل فکریه که بهش Cyber Sovereignty یا حاکمیت سایبری گفته میشه؛ یعنی اینترنت داخل مرزهای کشور باید تا حد زیادی تحت کنترل حاکمیت باشه. ARTICLE 19 این شباهت فکری و فنی بین مدل چین و ایران رو یکی از محورهای اصلی همکاری دو کشور میدونه.
در واقع اگر کل داستان رو توی یک دیاگرام ببینی، تقریباً با چنین معماریای طرفی:
User
↓
Mobile / ISP
↓
DNS / Filtering
↓
DPI / Traffic Classification
↓
Firewall / Policy Enforcement
↓
National Network ─────→ Domestic Services
│
↓
International Gateway
│
↓
Global Internet
در حالت عادی، ترافیک از User به سمت اینترنت جهانی میره؛ ولی در یک معماری کنترلشده، چند نقطه وجود داره که میشه روی اونها Policy اعمال کرد. یکی DNS، یکی Gateway، یکی DPI، یکی Routing و یکی هم خود اپراتور.
و اینجاست که «اختلال سیستماتیک» معنی واقعی پیدا میکنه. لازم نیست یک نفر بشینه تکتک سایتها رو خاموش کنه. اگر کنترل در سطح زیرساخت باشه، میشه Policy رو روی میلیونها Connection اعمال کرد. مثلاً یک دسته IP Block بشن، یک Protocol محدود بشه، یک Domain از طریق DNS مختل بشه، یک نوع TLS Session قطع بشه، ترافیک UDP محدود بشه یا مسیر بینالمللی تغییر کنه.
حتی میشه دسترسی کاربران رو به صورت Selective مدیریت کرد؛ یعنی یک کاربر یا سازمان دسترسی داشته باشه ولی کاربر عادی نداشته باشه. گزارشهای مربوط به معماری جدید کنترل اینترنت ایران از حرکت به سمت مدلهایی صحبت میکنن که دسترسی عمومی بیشتر شبیه «Whitelist» میشه؛ یعنی به جای اینکه همه چیز آزاد باشه و چند مورد Block بشن، پیشفرض میتونه محدود باشه و فقط سرویسهای مشخص اجازه عبور داشته باشن.
پس اگر بخوام خیلی خلاصه بگم، نقش چین رو باید در سه لایه ببینی:
لایه اول: تجهیزات؛ تجهیزات مخابراتی، شبکه، مانیتورینگ و فناوریهای مرتبط.
لایه دوم: فناوری کنترل؛ DPI، Traffic Classification، Filtering، Monitoring و مدیریت متمرکز ترافیک.
لایه سوم که شاید از همه مهمتر باشه: مدل معماری؛ اینکه اینترنت به جای یک شبکه آزاد و End-to-End، تبدیل بشه به یک شبکه تحت Policy که حاکمیت بتونه تعیین کنه چه کسی، از کجا، با چه پروتکلی و به چه سرویسی وصل بشه.
@ModernLan
در واقع اگر کل داستان رو توی یک دیاگرام ببینی، تقریباً با چنین معماریای طرفی:
User
↓
Mobile / ISP
↓
DNS / Filtering
↓
DPI / Traffic Classification
↓
Firewall / Policy Enforcement
↓
National Network ─────→ Domestic Services
│
↓
International Gateway
│
↓
Global Internet
در حالت عادی، ترافیک از User به سمت اینترنت جهانی میره؛ ولی در یک معماری کنترلشده، چند نقطه وجود داره که میشه روی اونها Policy اعمال کرد. یکی DNS، یکی Gateway، یکی DPI، یکی Routing و یکی هم خود اپراتور.
و اینجاست که «اختلال سیستماتیک» معنی واقعی پیدا میکنه. لازم نیست یک نفر بشینه تکتک سایتها رو خاموش کنه. اگر کنترل در سطح زیرساخت باشه، میشه Policy رو روی میلیونها Connection اعمال کرد. مثلاً یک دسته IP Block بشن، یک Protocol محدود بشه، یک Domain از طریق DNS مختل بشه، یک نوع TLS Session قطع بشه، ترافیک UDP محدود بشه یا مسیر بینالمللی تغییر کنه.
حتی میشه دسترسی کاربران رو به صورت Selective مدیریت کرد؛ یعنی یک کاربر یا سازمان دسترسی داشته باشه ولی کاربر عادی نداشته باشه. گزارشهای مربوط به معماری جدید کنترل اینترنت ایران از حرکت به سمت مدلهایی صحبت میکنن که دسترسی عمومی بیشتر شبیه «Whitelist» میشه؛ یعنی به جای اینکه همه چیز آزاد باشه و چند مورد Block بشن، پیشفرض میتونه محدود باشه و فقط سرویسهای مشخص اجازه عبور داشته باشن.
پس اگر بخوام خیلی خلاصه بگم، نقش چین رو باید در سه لایه ببینی:
لایه اول: تجهیزات؛ تجهیزات مخابراتی، شبکه، مانیتورینگ و فناوریهای مرتبط.
لایه دوم: فناوری کنترل؛ DPI، Traffic Classification، Filtering، Monitoring و مدیریت متمرکز ترافیک.
لایه سوم که شاید از همه مهمتر باشه: مدل معماری؛ اینکه اینترنت به جای یک شبکه آزاد و End-to-End، تبدیل بشه به یک شبکه تحت Policy که حاکمیت بتونه تعیین کنه چه کسی، از کجا، با چه پروتکلی و به چه سرویسی وصل بشه.
@ModernLan
🔥6❤2
شبکه به زبان ساده!
Photo
اگر بخوام خیلی فنی براتون توضیح بدم، Load Balancer وسط کاربر و چند تا سرور قرار میگیره و تصمیم میگیره هر درخواست بره سمت کدوم سرور.
مثلاً این معماری رو داشته باش:
کاربر مثلاً به این آدرس میزنه:
DNS
معمولاً IP مربوط به Load Balancer رو برمیگردونه، نه IP مستقیم سرورها. درخواست میاد روی LB و اون بررسی میکنه کدوم Backend شرایط بهتری برای دریافت این Request داره.
روشهای اصلی تقسیم ترافیک
1. Round Robin
خیلی ساده درخواستها رو به ترتیب پخش میکنه:
برای زمانی خوبه که سرورها تقریباً قدرت مشابهی داشته باشن.
2. Weighted Round Robin
به هر سرور وزن میدی:
پس Server 1 درخواست بیشتری میگیره، چون قویتره.
3. Least Connections
Load Balancer
تعداد Connectionهای فعال هر سرور رو بررسی میکنه و درخواست جدید رو معمولاً میفرسته سمت سروری که Connection کمتری داره:
برای سرویسهایی که Connectionها مدتزمان متفاوتی دارن خیلی کاربردیه.
4. IP Hash / Consistent Hashing
بر اساس IP کاربر تصمیم میگیره درخواست به کدوم Backend بره:
این روش میتونه باعث بشه یک Client تا حد زیادی به یک Backend مشخص هدایت بشه؛ مخصوصاً وقتی Session Persistence / Sticky Session لازم داری.
اما Load Balancer فقط «تقسیم» نمیکنه
یکی از مهمترین قسمتها Health Check هست.
فرض کن سه سرور داریم:
LB مرتب Backendها رو Check میکنه؛ مثلاً:
یا حتی TCP Connection روی پورت خاص:
اگر Server 3 جواب نده، Load Balancer اون رو از Pool خارج میکنه:
در نتیجه کاربر حتی ممکنه اصلاً متوجه خراب شدن Server 3 نشه.
یک نکته مهمتر: L4 و L7
Load Balancerها معمولاً در دو سطح معروف کار میکنن:
L4 Load Balancer
بر اساس اطلاعاتی مثل:
تصمیم میگیره.
مثلاً:
سریعتره چون لازم نیست محتوای HTTP رو بررسی کنه.
L7 Load Balancer
تا سطح Application میاد و میتونه چیزهایی مثل اینها رو ببینه:
مثلاً:
پس L7 میتونه خیلی هوشمندتر Route کنه.
در عمل، Load Balancer میتونه علاوه بر تقسیم بار، Health Check، SSL/TLS Termination، Session Persistence، Routing، Rate Limiting و حتی بعضی قابلیتهای امنیتی رو هم انجام بده.
@ModernLan
مثلاً این معماری رو داشته باش:
کاربران
│
▼
┌────────────────┐
│ Load Balancer │
└───────┬────────┘
┌─────┼─────┐
▼ ▼ ▼
Server1 Server2 Server3
10.0.0.11 .12 .13
کاربر مثلاً به این آدرس میزنه:
https://example.com
DNS
معمولاً IP مربوط به Load Balancer رو برمیگردونه، نه IP مستقیم سرورها. درخواست میاد روی LB و اون بررسی میکنه کدوم Backend شرایط بهتری برای دریافت این Request داره.
روشهای اصلی تقسیم ترافیک
1. Round Robin
خیلی ساده درخواستها رو به ترتیب پخش میکنه:
Request 1 → Server 1
Request 2 → Server 2
Request 3 → Server 3
Request 4 → Server 1
Request 5 → Server 2
برای زمانی خوبه که سرورها تقریباً قدرت مشابهی داشته باشن.
2. Weighted Round Robin
به هر سرور وزن میدی:
Server 1 → Weight 5
Server 2 → Weight 3
Server 3 → Weight 1
پس Server 1 درخواست بیشتری میگیره، چون قویتره.
3. Least Connections
Load Balancer
تعداد Connectionهای فعال هر سرور رو بررسی میکنه و درخواست جدید رو معمولاً میفرسته سمت سروری که Connection کمتری داره:
Server 1 → 80 connections
Server 2 → 25 connections ← Request جدید
Server 3 → 60 connections
برای سرویسهایی که Connectionها مدتزمان متفاوتی دارن خیلی کاربردیه.
4. IP Hash / Consistent Hashing
بر اساس IP کاربر تصمیم میگیره درخواست به کدوم Backend بره:
Client A → Server 1
Client B → Server 3
Client C → Server 2
این روش میتونه باعث بشه یک Client تا حد زیادی به یک Backend مشخص هدایت بشه؛ مخصوصاً وقتی Session Persistence / Sticky Session لازم داری.
اما Load Balancer فقط «تقسیم» نمیکنه
یکی از مهمترین قسمتها Health Check هست.
فرض کن سه سرور داریم:
Server 1 → UP
Server 2 → UP
Server 3 → DOWN
LB مرتب Backendها رو Check میکنه؛ مثلاً:
GET /health
یا حتی TCP Connection روی پورت خاص:
TCP/443 → Server
اگر Server 3 جواب نده، Load Balancer اون رو از Pool خارج میکنه:
Load Balancer
/ \
▼ ▼
Server 1 Server 2
X
Server 3
DOWN
در نتیجه کاربر حتی ممکنه اصلاً متوجه خراب شدن Server 3 نشه.
یک نکته مهمتر: L4 و L7
Load Balancerها معمولاً در دو سطح معروف کار میکنن:
L4 Load Balancer
بر اساس اطلاعاتی مثل:
Source IP
Destination IP
Source Port
Destination Port
TCP/UDP
تصمیم میگیره.
مثلاً:
TCP :443 → Backend Pool
سریعتره چون لازم نیست محتوای HTTP رو بررسی کنه.
L7 Load Balancer
تا سطح Application میاد و میتونه چیزهایی مثل اینها رو ببینه:
HTTP Method
URL
Host Header
Cookie
HTTP Header
مثلاً:
example.com/api/* → API Servers
example.com/images/* → Image Servers
example.com/shop/* → Shop Servers
پس L7 میتونه خیلی هوشمندتر Route کنه.
در عمل، Load Balancer میتونه علاوه بر تقسیم بار، Health Check، SSL/TLS Termination، Session Persistence، Routing، Rate Limiting و حتی بعضی قابلیتهای امنیتی رو هم انجام بده.
@ModernLan
👍7❤3