شبکه به زبان ساده!
Photo
RAID
رو اگه بخوایم خیلی کامل نگاه کنیم، یه روشه برای اینکه چندتا هارد یا SSD رو کنار هم قرار بدیم تا بسته به نوع RAID، یا سرعت بیشتری بگیریم، یا اگر یکی از دیسکها خراب شد اطلاعاتمون همچنان قابل دسترس باشه، یا ترکیبی از این دوتا داشته باشیم.
اولین مدل RAID 0 هست که تمرکزش روی سرعته. توی RAID 0 اطلاعات بین دیسکها تقسیم میشه یا همون Striping؛ مثلاً اگه دو تا دیسک 1 ترابایتی داشته باشیم، بخشی از اطلاعات روی دیسک اول و بخش دیگه روی دیسک دوم نوشته میشه و چون هر دو دیسک همزمان کار میکنن، سرعت خواندن و نوشتن میتونه بیشتر بشه و کل ظرفیت هم حدود 2 ترابایت میشه، ولی یه ایراد خیلی مهم داره و اونم اینه که هیچ تحمل خرابی نداره؛ یعنی اگه فقط یکی از دیسکها خراب بشه، کل RAID 0 از بین میره، پس برای اطلاعات مهم اصلاً گزینه مناسبی نیست.
بعد میرسیم به RAID 1 که بهش Mirroring هم میگن. اینجا اطلاعات روی دو دیسک به صورت یکسان ذخیره میشه؛ یعنی اگه روی دیسک اول اطلاعات A و B و C داشته باشیم، همون اطلاعات روی دیسک دوم هم وجود داره. در نتیجه اگه یکی از دیسکها خراب بشه، دیسک دوم همچنان اطلاعات رو داره و سیستم میتونه به کارش ادامه بده.
مثلاً دو تا دیسک 1 ترابایتی در RAID 1 در مجموع فقط حدود 1 ترابایت فضای قابل استفاده بهت میدن، چون نصف ظرفیت صرف کپی اطلاعات میشه. RAID 5 یه مرحله حرفهایتره و از ترکیب Striping و Parity استفاده میکنه. یعنی اطلاعات بین دیسکها پخش میشه و در کنارش اطلاعات Parity هم ذخیره میشه تا اگر یکی از دیسکها خراب شد، RAID بتونه اطلاعات از دسترفته رو از روی بقیه دیسکها بازسازی کنه.
مثلاً اگه 4 تا دیسک 1 ترابایتی داشته باشیم، حدود 3 ترابایت فضای قابل استفاده داریم و میتونیم خرابی یک دیسک رو تحمل کنیم. البته موقع Rebuild کردن RAID 5 فشار زیادی روی دیسکهای باقیمونده وارد میشه و مخصوصاً توی آرایههای بزرگ این موضوع مهمه. RAID 6 شبیه RAID 5 هست ولی به جای یک Parity، دو تا Parity داره؛ در نتیجه میتونه خرابی همزمان دو دیسک رو تحمل کنه. مثلاً با 6 تا دیسک 1 ترابایتی، حدود 4 ترابایت فضای قابل استفاده خواهیم داشت. طبیعتاً در مقابل امنیت بیشتری میگیریم ولی محاسبات و عملیات نوشتن پیچیدهتر میشه و بخشی از ظرفیت هم برای دو Parity مصرف میشه. آخرش میرسیم به RAID 10 که ترکیبی از RAID 1 و RAID 0 هست و معمولاً با اسم RAID 1+0 هم میبینیمش.
اینجا اول دیسکها به صورت Mirror جفت میشن و بعد اطلاعات بین این جفتها Strip میشه؛ مثلاً با 4 تا دیسک 1 ترابایتی، حدود 2 ترابایت فضای قابل استفاده داریم، ولی همزمان Performance خوبی داریم و در برابر خرابی دیسک هم مقاومتر هستیم. البته تحمل خرابی RAID 10 بستگی داره کدوم دیسکها خراب بشن؛ اگر از هر جفت Mirror حداقل یک دیسک سالم باقی بمونه، آرایه میتونه به کارش ادامه بده، ولی اگر هر دو دیسک یک جفت از بین برن، اون بخش دیگه قابل بازیابی نیست.
@ModernLan
رو اگه بخوایم خیلی کامل نگاه کنیم، یه روشه برای اینکه چندتا هارد یا SSD رو کنار هم قرار بدیم تا بسته به نوع RAID، یا سرعت بیشتری بگیریم، یا اگر یکی از دیسکها خراب شد اطلاعاتمون همچنان قابل دسترس باشه، یا ترکیبی از این دوتا داشته باشیم.
اولین مدل RAID 0 هست که تمرکزش روی سرعته. توی RAID 0 اطلاعات بین دیسکها تقسیم میشه یا همون Striping؛ مثلاً اگه دو تا دیسک 1 ترابایتی داشته باشیم، بخشی از اطلاعات روی دیسک اول و بخش دیگه روی دیسک دوم نوشته میشه و چون هر دو دیسک همزمان کار میکنن، سرعت خواندن و نوشتن میتونه بیشتر بشه و کل ظرفیت هم حدود 2 ترابایت میشه، ولی یه ایراد خیلی مهم داره و اونم اینه که هیچ تحمل خرابی نداره؛ یعنی اگه فقط یکی از دیسکها خراب بشه، کل RAID 0 از بین میره، پس برای اطلاعات مهم اصلاً گزینه مناسبی نیست.
بعد میرسیم به RAID 1 که بهش Mirroring هم میگن. اینجا اطلاعات روی دو دیسک به صورت یکسان ذخیره میشه؛ یعنی اگه روی دیسک اول اطلاعات A و B و C داشته باشیم، همون اطلاعات روی دیسک دوم هم وجود داره. در نتیجه اگه یکی از دیسکها خراب بشه، دیسک دوم همچنان اطلاعات رو داره و سیستم میتونه به کارش ادامه بده.
مثلاً دو تا دیسک 1 ترابایتی در RAID 1 در مجموع فقط حدود 1 ترابایت فضای قابل استفاده بهت میدن، چون نصف ظرفیت صرف کپی اطلاعات میشه. RAID 5 یه مرحله حرفهایتره و از ترکیب Striping و Parity استفاده میکنه. یعنی اطلاعات بین دیسکها پخش میشه و در کنارش اطلاعات Parity هم ذخیره میشه تا اگر یکی از دیسکها خراب شد، RAID بتونه اطلاعات از دسترفته رو از روی بقیه دیسکها بازسازی کنه.
مثلاً اگه 4 تا دیسک 1 ترابایتی داشته باشیم، حدود 3 ترابایت فضای قابل استفاده داریم و میتونیم خرابی یک دیسک رو تحمل کنیم. البته موقع Rebuild کردن RAID 5 فشار زیادی روی دیسکهای باقیمونده وارد میشه و مخصوصاً توی آرایههای بزرگ این موضوع مهمه. RAID 6 شبیه RAID 5 هست ولی به جای یک Parity، دو تا Parity داره؛ در نتیجه میتونه خرابی همزمان دو دیسک رو تحمل کنه. مثلاً با 6 تا دیسک 1 ترابایتی، حدود 4 ترابایت فضای قابل استفاده خواهیم داشت. طبیعتاً در مقابل امنیت بیشتری میگیریم ولی محاسبات و عملیات نوشتن پیچیدهتر میشه و بخشی از ظرفیت هم برای دو Parity مصرف میشه. آخرش میرسیم به RAID 10 که ترکیبی از RAID 1 و RAID 0 هست و معمولاً با اسم RAID 1+0 هم میبینیمش.
اینجا اول دیسکها به صورت Mirror جفت میشن و بعد اطلاعات بین این جفتها Strip میشه؛ مثلاً با 4 تا دیسک 1 ترابایتی، حدود 2 ترابایت فضای قابل استفاده داریم، ولی همزمان Performance خوبی داریم و در برابر خرابی دیسک هم مقاومتر هستیم. البته تحمل خرابی RAID 10 بستگی داره کدوم دیسکها خراب بشن؛ اگر از هر جفت Mirror حداقل یک دیسک سالم باقی بمونه، آرایه میتونه به کارش ادامه بده، ولی اگر هر دو دیسک یک جفت از بین برن، اون بخش دیگه قابل بازیابی نیست.
@ModernLan
❤8🔥2
شبکه به زبان ساده!
Photo
SCADA چیست؟
مخفف این فناوری Supervisory Control And Data Acquisition یعنی کنترل نظارتی و جمعآوری داده است. به زبان ساده، SCADA یک سیستم نرمافزاری و سختافزاریه که برای مانیتورینگ، جمعآوری اطلاعات و کنترل تجهیزات صنعتی از یک نقطه مرکزی استفاده میشه.
مثلاً فرض کن یک کارخانه آب و فاضلاب داریم که دهها پمپ، شیر، مخزن، سنسور فشار و سنسور دما داره. اپراتور لازم نیست کنار تکتک این تجهیزات باشه؛ سیستم SCADA اطلاعات اونها رو جمع میکنه و روی یک صفحه مانیتور نشون میده و در بعضی موارد امکان ارسال فرمان به تجهیزات رو هم فراهم میکنه.
معماری معمول SCADA تقریباً این شکلیه:
اجزای اصلی SCADA
1. PLC
کنترلرهای صنعتی هستن که مستقیماً با تجهیزات و سنسورها کار میکنن؛ مثلاً دمای یک مخزن رو میخونن یا فرمان روشن شدن یک موتور رو اجرا میکنن.
2. RTU
مخفف Remote Terminal Unit هست و بیشتر در مکانهای دور از مرکز استفاده میشه؛ مثلاً ایستگاههای پمپاژ، خطوط انتقال نفت و گاز یا تأسیسات برق.
3. SCADA Server
مرکز جمعآوری و پردازش اطلاعاته. دادههایی که از PLC و RTU میان اینجا دریافت و ذخیره میشن.
4. HMI
رابط گرافیکیایه که اپراتور از طریق اون وضعیت سیستم رو میبینه و در صورت مجاز بودن میتونه فرمان ارسال کنه.
مثلاً:
5. Historian
اطلاعات و رخدادهای سیستم رو برای مدت طولانی ذخیره میکنه تا بعداً بشه روندها، خطاها و تغییرات رو بررسی کرد.
SCADA با شبکه معمولی چه فرقی داره؟
اینجا قسمت جالب ماجراست. SCADA معمولاً بخشی از یک شبکه صنعتی یا OT (Operational Technology) محسوب میشه.
در شبکههای IT معمولاً تمرکز زیادی روی چیزهایی مثل:
Confidentiality → Integrity → Availability
داریم، اما در محیطهای صنعتی Availability و Safety اهمیت بسیار زیادی پیدا میکنن؛ چون از کار افتادن یک سیستم صنعتی ممکنه فقط باعث قطع یک سرویس نشه و روی تجهیزات فیزیکی و فرآیند واقعی تأثیر بذاره.
برای ارتباط بین تجهیزات هم پروتکلهایی مثل:
Modbus / Modbus TCP
DNP3
OPC UA
IEC 60870-5-104
IEC 61850
EtherNet/IP
PROFINET
استفاده میشن.
مثلاً یک سناریوی ساده:
اپراتور روی HMI میبینه فشار یک خط بالا رفته، SCADA این داده رو از PLC دریافت کرده و PLC هم مقدار فشار رو از سنسور گرفته. اگر سیستم برای کنترل خودکار طراحی شده باشه، PLC میتونه بر اساس منطق کنترلی خودش یک شیر یا پمپ رو هم کنترل کنه.
نکته مهم: SCADA خودش لزوماً «کنترلکننده اصلی» نیست؛ در بسیاری از معماریها SCADA بیشتر نقش نظارت، نمایش، ثبت داده و ارسال فرمانهای سطح بالا رو داره و کنترل بلادرنگ فرآیند توسط PLC/RTU انجام میشه.
@ModernLan
مخفف این فناوری Supervisory Control And Data Acquisition یعنی کنترل نظارتی و جمعآوری داده است. به زبان ساده، SCADA یک سیستم نرمافزاری و سختافزاریه که برای مانیتورینگ، جمعآوری اطلاعات و کنترل تجهیزات صنعتی از یک نقطه مرکزی استفاده میشه.
مثلاً فرض کن یک کارخانه آب و فاضلاب داریم که دهها پمپ، شیر، مخزن، سنسور فشار و سنسور دما داره. اپراتور لازم نیست کنار تکتک این تجهیزات باشه؛ سیستم SCADA اطلاعات اونها رو جمع میکنه و روی یک صفحه مانیتور نشون میده و در بعضی موارد امکان ارسال فرمان به تجهیزات رو هم فراهم میکنه.
معماری معمول SCADA تقریباً این شکلیه:
Operator
│
▼
┌─────────────┐
│ SCADA Server│
└──────┬──────┘
│
Industrial Network
│
┌──────┴──────┐
▼ ▼
PLC/RTU PLC/RTU
│ │
Sensors Actuators
Motors Valves
Pumps Relays
اجزای اصلی SCADA
1. PLC
کنترلرهای صنعتی هستن که مستقیماً با تجهیزات و سنسورها کار میکنن؛ مثلاً دمای یک مخزن رو میخونن یا فرمان روشن شدن یک موتور رو اجرا میکنن.
2. RTU
مخفف Remote Terminal Unit هست و بیشتر در مکانهای دور از مرکز استفاده میشه؛ مثلاً ایستگاههای پمپاژ، خطوط انتقال نفت و گاز یا تأسیسات برق.
3. SCADA Server
مرکز جمعآوری و پردازش اطلاعاته. دادههایی که از PLC و RTU میان اینجا دریافت و ذخیره میشن.
4. HMI
رابط گرافیکیایه که اپراتور از طریق اون وضعیت سیستم رو میبینه و در صورت مجاز بودن میتونه فرمان ارسال کنه.
مثلاً:
Pump 01 → RUNNING
Pump 02 → STOPPED
Tank Level → 78%
Pressure → 4.2 bar
Temperature → 31°C
5. Historian
اطلاعات و رخدادهای سیستم رو برای مدت طولانی ذخیره میکنه تا بعداً بشه روندها، خطاها و تغییرات رو بررسی کرد.
SCADA با شبکه معمولی چه فرقی داره؟
اینجا قسمت جالب ماجراست. SCADA معمولاً بخشی از یک شبکه صنعتی یا OT (Operational Technology) محسوب میشه.
در شبکههای IT معمولاً تمرکز زیادی روی چیزهایی مثل:
Confidentiality → Integrity → Availability
داریم، اما در محیطهای صنعتی Availability و Safety اهمیت بسیار زیادی پیدا میکنن؛ چون از کار افتادن یک سیستم صنعتی ممکنه فقط باعث قطع یک سرویس نشه و روی تجهیزات فیزیکی و فرآیند واقعی تأثیر بذاره.
برای ارتباط بین تجهیزات هم پروتکلهایی مثل:
Modbus / Modbus TCP
DNP3
OPC UA
IEC 60870-5-104
IEC 61850
EtherNet/IP
PROFINET
استفاده میشن.
مثلاً یک سناریوی ساده:
Sensor
↓
PLC
↓
Industrial Switch
↓
SCADA Server
↓
HMI
↓
Operator
اپراتور روی HMI میبینه فشار یک خط بالا رفته، SCADA این داده رو از PLC دریافت کرده و PLC هم مقدار فشار رو از سنسور گرفته. اگر سیستم برای کنترل خودکار طراحی شده باشه، PLC میتونه بر اساس منطق کنترلی خودش یک شیر یا پمپ رو هم کنترل کنه.
نکته مهم: SCADA خودش لزوماً «کنترلکننده اصلی» نیست؛ در بسیاری از معماریها SCADA بیشتر نقش نظارت، نمایش، ثبت داده و ارسال فرمانهای سطح بالا رو داره و کنترل بلادرنگ فرآیند توسط PLC/RTU انجام میشه.
@ModernLan
❤8
شبکه به زبان ساده!
Photo
IMS چیست؟
فناوری IP Multimedia Subsystem در واقع یه معماری توی شبکه اپراتورهای مخابراتیه که باعث میشه سرویسهایی مثل تماس صوتی، تماس تصویری و پیامک روی بستر IP ارائه بشن. یعنی به زبان سادهتر، اپراتور بهجای اینکه برای هر سرویس یه شبکه کاملاً جدا داشته باشه، از IMS استفاده میکنه تا سرویسهای مخابراتی رو روی شبکه IP مدیریت و کنترل کنه. مثلاً وقتی با گوشی از طریق VoLTE تماس میگیری، خود LTE بیشتر نقش بستر انتقال IP رو داره و این IMS هست که سرویس تماس رو مدیریت میکنه.
گوشی اول از طریق شبکه LTE به شبکه Core اپراتور وصل میشه و بعد برای استفاده از سرویس IMS، با بخش P-CSCF ارتباط برقرار میکنه. P-CSCF در واقع اولین نقطه تماس گوشی با شبکه IMS محسوب میشه و پیامهای SIP گوشی از این مسیر وارد IMS میشن. بعد I-CSCF وظیفه پیدا کردن مسیر مناسب داخل شبکه IMS رو داره و S-CSCF هم بخش اصلی کنترل Session محسوب میشه؛ یعنی ثبت کاربر، مدیریت Sessionهای SIP و اجرای منطق سرویسها تا حد زیادی توسط S-CSCF انجام میشه.
در کنار اینها HSS یا در معماریهای جدیدتر اجزای مبتنی بر UDM، اطلاعات مشترک، احراز هویت و پروفایل سرویس کاربر رو نگهداری میکنن. برای مثال وقتی سیمکارت و گوشی میخوان روی IMS ثبت بشن، اطلاعات لازم برای Authentication و مشخص شدن سرویسهای مجاز کاربر از دیتابیسهای Core گرفته میشه. یکی از قسمتهای مهم IMS هم SIP هست که برای Signaling و برقراری و کنترل Session استفاده میشه؛ مثلاً وقتی تماس میگیری، پیامهای SIP برای ایجاد Session، تغییر وضعیت تماس و پایان دادن به تماس رد و بدل میشن، در حالی که خود صدای تماس معمولاً از طریق RTP منتقل میشه.
پس اگه بخوای خیلی ساده مسیر رو ببینی، گوشی از طریق LTE یا Wi-Fi به شبکه IP اپراتور وصل میشه، بعد وارد IMS میشه و اجزایی مثل P-CSCF، I-CSCF و S-CSCF درخواستها و Session رو مدیریت میکنن و در نهایت سرویسهایی مثل VoLTE، VoWiFi، VoNR و حتی SMS over IMS ارائه میشن. نکته مهم اینه که IMS خودش اینترنت نیست؛ یه معماری سرویسدهی و کنترل روی شبکه IP اپراتوره که کمک میکنه سرویسهای مخابراتی مدرن روی IP اجرا بشن.
برای همین وقتی از VoLTE استفاده میکنی، تماس دیگه مثل تماس سنتی 2G از Circuit Switching قدیمی عبور نمیکنه، بلکه Signaling و کنترل تماس توسط IMS انجام میشه و رسانه صوتی هم روی بستر Packet/IP منتقل میشه. در واقع IMS یکی از اجزای اصلی مهاجرت شبکههای مخابراتی از معماریهای قدیمی Circuit-Switched به معماری All-IP محسوب میشه.
@ModernLan
فناوری IP Multimedia Subsystem در واقع یه معماری توی شبکه اپراتورهای مخابراتیه که باعث میشه سرویسهایی مثل تماس صوتی، تماس تصویری و پیامک روی بستر IP ارائه بشن. یعنی به زبان سادهتر، اپراتور بهجای اینکه برای هر سرویس یه شبکه کاملاً جدا داشته باشه، از IMS استفاده میکنه تا سرویسهای مخابراتی رو روی شبکه IP مدیریت و کنترل کنه. مثلاً وقتی با گوشی از طریق VoLTE تماس میگیری، خود LTE بیشتر نقش بستر انتقال IP رو داره و این IMS هست که سرویس تماس رو مدیریت میکنه.
گوشی اول از طریق شبکه LTE به شبکه Core اپراتور وصل میشه و بعد برای استفاده از سرویس IMS، با بخش P-CSCF ارتباط برقرار میکنه. P-CSCF در واقع اولین نقطه تماس گوشی با شبکه IMS محسوب میشه و پیامهای SIP گوشی از این مسیر وارد IMS میشن. بعد I-CSCF وظیفه پیدا کردن مسیر مناسب داخل شبکه IMS رو داره و S-CSCF هم بخش اصلی کنترل Session محسوب میشه؛ یعنی ثبت کاربر، مدیریت Sessionهای SIP و اجرای منطق سرویسها تا حد زیادی توسط S-CSCF انجام میشه.
در کنار اینها HSS یا در معماریهای جدیدتر اجزای مبتنی بر UDM، اطلاعات مشترک، احراز هویت و پروفایل سرویس کاربر رو نگهداری میکنن. برای مثال وقتی سیمکارت و گوشی میخوان روی IMS ثبت بشن، اطلاعات لازم برای Authentication و مشخص شدن سرویسهای مجاز کاربر از دیتابیسهای Core گرفته میشه. یکی از قسمتهای مهم IMS هم SIP هست که برای Signaling و برقراری و کنترل Session استفاده میشه؛ مثلاً وقتی تماس میگیری، پیامهای SIP برای ایجاد Session، تغییر وضعیت تماس و پایان دادن به تماس رد و بدل میشن، در حالی که خود صدای تماس معمولاً از طریق RTP منتقل میشه.
پس اگه بخوای خیلی ساده مسیر رو ببینی، گوشی از طریق LTE یا Wi-Fi به شبکه IP اپراتور وصل میشه، بعد وارد IMS میشه و اجزایی مثل P-CSCF، I-CSCF و S-CSCF درخواستها و Session رو مدیریت میکنن و در نهایت سرویسهایی مثل VoLTE، VoWiFi، VoNR و حتی SMS over IMS ارائه میشن. نکته مهم اینه که IMS خودش اینترنت نیست؛ یه معماری سرویسدهی و کنترل روی شبکه IP اپراتوره که کمک میکنه سرویسهای مخابراتی مدرن روی IP اجرا بشن.
برای همین وقتی از VoLTE استفاده میکنی، تماس دیگه مثل تماس سنتی 2G از Circuit Switching قدیمی عبور نمیکنه، بلکه Signaling و کنترل تماس توسط IMS انجام میشه و رسانه صوتی هم روی بستر Packet/IP منتقل میشه. در واقع IMS یکی از اجزای اصلی مهاجرت شبکههای مخابراتی از معماریهای قدیمی Circuit-Switched به معماری All-IP محسوب میشه.
@ModernLan
❤5👍4⚡1
شبکه به زبان ساده!
پشت صحنهی یک Login ساده چه اتفاقاتی میافتد؟
پشت صحنهی یک Login ساده چه اتفاقاتی میافتد؟
وقتی توی یک سایت یوزرنیم و پسوردت رو وارد میکنی و روی Login میزنی، در ظاهر فقط دو تا فیلد و یه دکمه میبینی، ولی پشت صحنه چند مرحله اتفاق میافته. اول مرورگر معمولاً یک اتصال امن HTTPS به سرور برقرار میکنه؛ یعنی ارتباط بین کلاینت و سرور با TLS رمزنگاری میشه تا اطلاعات ورود در مسیر بهصورت قابلخواندن منتقل نشن. بعد اطلاعات Login، معمولاً با یک درخواست HTTP مثل POST به سرور ارسال میشه. سرور درخواست رو دریافت میکنه و بررسی میکنه که ساختار درخواست درست باشه، کاربر وجود داشته باشه و محدودیتهایی مثل Rate Limit یا تعداد تلاش ناموفق رعایت شده باشه. حالا قسمت مهم ماجرا شروع میشه: سرور نباید پسورد واقعی کاربر رو به شکل Plain Text داخل دیتابیس نگه داشته باشه؛ معمولاً یک Password Hash امن مثل Argon2id، bcrypt یا scrypt در دیتابیس ذخیره شده و سرور پسورد واردشده رو با مقدار ذخیرهشده مقایسه میکنه. اگر اطلاعات درست باشه، Authentication موفق میشه و سرور برای کاربر یک Session ایجاد میکنه یا یک Token مثل Access Token صادر میکنه. در مدل Session-based، معمولاً یک Session ID داخل Cookie قرار میگیره و مرورگر از درخواستهای بعدی اون Cookie رو همراه خودش ارسال میکنه. سرور با استفاده از Session ID میفهمه این درخواست مربوط به کدوم کاربره. Cookie مربوط به احراز هویت هم معمولاً باید ویژگیهایی مثل Secure، HttpOnly و در بسیاری از سناریوها SameSite داشته باشه. بعد از Login موفق، سرور ممکنه اطلاعاتی مثل نقش کاربر، سطح دسترسی و وضعیت حساب رو هم بررسی کنه؛ چون Authentication فقط میگه «تو کی هستی؟»، ولی Authorization مشخص میکنه «چه کارهایی اجازه داری انجام بدی؟». بنابراین یک Login ساده در ظاهر فقط وارد کردن Username و Password هست، ولی پشت صحنه زنجیرهای از HTTPS/TLS → HTTP Request → Validation → Password Hash Verification → Session/Token → Authorization اتفاق میافته. و دقیقاً به همین دلیل Login یکی از مهمترین نقاط امنیتی هر Web Application محسوب میشه؛ چون اگر TLS، مدیریت Session، Hash پسورد، Rate Limiting، Cookieها یا کنترل دسترسی درست پیادهسازی نشن، مهاجم میتونه از همین قسمت برای حملاتی مثل Credential Stuffing، Brute Force، Session Hijacking یا Account Takeover استفاده کنه.
@ModernLan
وقتی توی یک سایت یوزرنیم و پسوردت رو وارد میکنی و روی Login میزنی، در ظاهر فقط دو تا فیلد و یه دکمه میبینی، ولی پشت صحنه چند مرحله اتفاق میافته. اول مرورگر معمولاً یک اتصال امن HTTPS به سرور برقرار میکنه؛ یعنی ارتباط بین کلاینت و سرور با TLS رمزنگاری میشه تا اطلاعات ورود در مسیر بهصورت قابلخواندن منتقل نشن. بعد اطلاعات Login، معمولاً با یک درخواست HTTP مثل POST به سرور ارسال میشه. سرور درخواست رو دریافت میکنه و بررسی میکنه که ساختار درخواست درست باشه، کاربر وجود داشته باشه و محدودیتهایی مثل Rate Limit یا تعداد تلاش ناموفق رعایت شده باشه. حالا قسمت مهم ماجرا شروع میشه: سرور نباید پسورد واقعی کاربر رو به شکل Plain Text داخل دیتابیس نگه داشته باشه؛ معمولاً یک Password Hash امن مثل Argon2id، bcrypt یا scrypt در دیتابیس ذخیره شده و سرور پسورد واردشده رو با مقدار ذخیرهشده مقایسه میکنه. اگر اطلاعات درست باشه، Authentication موفق میشه و سرور برای کاربر یک Session ایجاد میکنه یا یک Token مثل Access Token صادر میکنه. در مدل Session-based، معمولاً یک Session ID داخل Cookie قرار میگیره و مرورگر از درخواستهای بعدی اون Cookie رو همراه خودش ارسال میکنه. سرور با استفاده از Session ID میفهمه این درخواست مربوط به کدوم کاربره. Cookie مربوط به احراز هویت هم معمولاً باید ویژگیهایی مثل Secure، HttpOnly و در بسیاری از سناریوها SameSite داشته باشه. بعد از Login موفق، سرور ممکنه اطلاعاتی مثل نقش کاربر، سطح دسترسی و وضعیت حساب رو هم بررسی کنه؛ چون Authentication فقط میگه «تو کی هستی؟»، ولی Authorization مشخص میکنه «چه کارهایی اجازه داری انجام بدی؟». بنابراین یک Login ساده در ظاهر فقط وارد کردن Username و Password هست، ولی پشت صحنه زنجیرهای از HTTPS/TLS → HTTP Request → Validation → Password Hash Verification → Session/Token → Authorization اتفاق میافته. و دقیقاً به همین دلیل Login یکی از مهمترین نقاط امنیتی هر Web Application محسوب میشه؛ چون اگر TLS، مدیریت Session، Hash پسورد، Rate Limiting، Cookieها یا کنترل دسترسی درست پیادهسازی نشن، مهاجم میتونه از همین قسمت برای حملاتی مثل Credential Stuffing، Brute Force، Session Hijacking یا Account Takeover استفاده کنه.
@ModernLan
❤10
This media is not supported in your browser
VIEW IN TELEGRAM
همه فکر میکنن IT یعنی چند تا کلیک و یه سیستم روشن....
ولی کسی نمیدونه پشت این لبخند یه آدم خسته هست که با شبکه های به هم ریخته رک های داغ کابل های بی صاحب و سرورهای بدقلق هر روز یه جنگ واقعی داره.
ولی کسی نمیدونه پشت این لبخند یه آدم خسته هست که با شبکه های به هم ریخته رک های داغ کابل های بی صاحب و سرورهای بدقلق هر روز یه جنگ واقعی داره.
👍17❤🔥1
شبکه به زبان ساده!
Photo
🔎 Google Dorking | جستجوی پیشرفته گوگل
گوگل فقط برای سرچ معمولی نیست؛ با چند تا Operator میتونی نتایج رو خیلی دقیقتر فیلتر کنی و برای OSINT، Bug Bounty و Security Research ازش استفاده کنی 👇
🔹 نمایش نتایج فقط از یک سایت یا دامنه
🔹 حذف نتایجی که شامل
🔹 جستجوی دقیق یک عبارت
🔹 پیدا کردن صفحاتی که
🔹 پیدا کردن URLهایی که شامل
🔹 پیدا کردن URLهایی که شامل
🔹 پیدا کردن صفحاتی که کلمه
🔹 پیدا کردن فایلهای PDF مرتبط با یک موضوع
🔹 جستجوی فایلهای Word با عبارت مشخص
🔹 جستجوی فایلهای Excel مرتبط با یک عبارت
🔹 جستجوی فایلهای CSV
🔹 پیدا کردن PDFهای یک سایت مشخص
🔹 پیدا کردن Directory Listingهای قابل مشاهده در نتایج
🔹 جستجوی چند کلمه بهصورت همزمان در عنوان
🔹 جستجوی چند کلمه در URL
🔹 جستجوی چند کلمه در متن صفحات
🔹 نمایش نتایجی که یکی از دو عبارت را داشته باشند
🔹 حذف نتایجی که شامل
🔹 استفاده از
🔹 پیدا کردن دو عبارت در فاصله نزدیک از هم
🔹 نتایج مربوط به قبل از سال ۲۰۲۰
🔹 نتایج مربوط به بعد از سال ۲۰۲۴
🔹 جستجوی مطالب یک نویسنده مشخص
🔹 جستجوی فایل با پسوند مشخص
🔹 پیدا کردن سایتهای مرتبط
🔹 نمایش تعریف یک کلمه
🔹 دریافت اطلاعات مرتبط با یک سایت
🔹 جستجو بر اساس متن لینکها
🔹 محدود کردن نتایج به اخبار
🧩 ترکیب چند Operator
قدرت اصلی Dorking زمانی مشخص میشه که چند Operator رو با هم ترکیب کنی:
⚠️ نکته مهم: Google Dorking خودش هک کردن نیست؛ در اصل یک تکنیک جستجوی پیشرفته برای پیدا کردن اطلاعاتی است که موتور جستجو ایندکس کرده. برای بررسی امنیتی، فقط روی سیستمها و دامنههایی استفاده کنید که اجازه بررسی آنها را دارید.
📌 @ModernLan
گوگل فقط برای سرچ معمولی نیست؛ با چند تا Operator میتونی نتایج رو خیلی دقیقتر فیلتر کنی و برای OSINT، Bug Bounty و Security Research ازش استفاده کنی 👇
site:example.com
🔹 نمایش نتایج فقط از یک سایت یا دامنه
site:example.com -shop
🔹 حذف نتایجی که شامل
shop هستند"exact phrase"
🔹 جستجوی دقیق یک عبارت
intitle:login
🔹 پیدا کردن صفحاتی که
login داخل عنوان آنهاستinurl:login
🔹 پیدا کردن URLهایی که شامل
login هستندinurl:admin
🔹 پیدا کردن URLهایی که شامل
admin هستندintext:login
🔹 پیدا کردن صفحاتی که کلمه
login داخل متن آنهاستfiletype:pdf cybersecurity
🔹 پیدا کردن فایلهای PDF مرتبط با یک موضوع
filetype:docx "project plan"
🔹 جستجوی فایلهای Word با عبارت مشخص
filetype:xls "financial report"
🔹 جستجوی فایلهای Excel مرتبط با یک عبارت
filetype:csv data
🔹 جستجوی فایلهای CSV
site:example.com filetype:pdf
🔹 پیدا کردن PDFهای یک سایت مشخص
site:.com intitle:"index of"
🔹 پیدا کردن Directory Listingهای قابل مشاهده در نتایج
allintitle:cybersecurity attack
🔹 جستجوی چند کلمه بهصورت همزمان در عنوان
allinurl:admin login
🔹 جستجوی چند کلمه در URL
allintext:security research
🔹 جستجوی چند کلمه در متن صفحات
security OR cybersecurity
🔹 نمایش نتایجی که یکی از دو عبارت را داشته باشند
cybersecurity -news
🔹 حذف نتایجی که شامل
news هستند"cybersecurity * challenges"
🔹 استفاده از
* بهعنوان Wildcardcybersecurity AROUND(5) attack
🔹 پیدا کردن دو عبارت در فاصله نزدیک از هم
before:2020 cybersecurity
🔹 نتایج مربوط به قبل از سال ۲۰۲۰
after:2024 cybersecurity
🔹 نتایج مربوط به بعد از سال ۲۰۲۴
author:john_doe
🔹 جستجوی مطالب یک نویسنده مشخص
ext:pdf cybersecurity
🔹 جستجوی فایل با پسوند مشخص
related:example.com
🔹 پیدا کردن سایتهای مرتبط
define:hacking
🔹 نمایش تعریف یک کلمه
info:example.com
🔹 دریافت اطلاعات مرتبط با یک سایت
inanchor:security
🔹 جستجو بر اساس متن لینکها
news:cybersecurity
🔹 محدود کردن نتایج به اخبار
🧩 ترکیب چند Operator
قدرت اصلی Dorking زمانی مشخص میشه که چند Operator رو با هم ترکیب کنی:
site:example.com filetype:pdf cybersecurity
site:example.com inurl:login
site:example.com intitle:login
site:example.com intext:"security policy"
site:example.com filetype:docx OR filetype:pdf
site:example.com -www -shop filetype:pdf
⚠️ نکته مهم: Google Dorking خودش هک کردن نیست؛ در اصل یک تکنیک جستجوی پیشرفته برای پیدا کردن اطلاعاتی است که موتور جستجو ایندکس کرده. برای بررسی امنیتی، فقط روی سیستمها و دامنههایی استفاده کنید که اجازه بررسی آنها را دارید.
📌 @ModernLan
❤5🙏2👏1
شبکه به زبان ساده!
Photo
🌐 آدرس MAC در مقابل آدرس IP | تفاوتشون چیه
؟
خیلیها MAC و IP رو با هم قاطی میکنن، ولی هرکدوم یه کار متفاوت دارن 👇
━━━━━━━━━━━━━━━━━━
🔹 MAC Address | آدرس MAC
🔸 شناسهی منحصربهفرد رابط شبکهست
🔸 در سطح سختافزار و کارت شبکه استفاده میشه
🔸 معمولاً به خود دستگاه یا رابط شبکه وابستهست
🔸 بیشتر برای شناسایی دستگاه در شبکه محلی استفاده میشه
📌 ساده بخوای بدونی:
MAC = هویت دستگاه در شبکه محلی
━━━━━━━━━━━━━━━━━━
🔹 IP Address | آدرس IP
🔸 برای شناسایی دستگاه در یک شبکه استفاده میشه
🔸 برای برقراری ارتباط بین دستگاهها کاربرد داره
🔸 میتونه با تغییر شبکه تغییر کنه
🔸 مشخص میکنه دستگاه در چه شبکهای قرار داره
📌 ساده بخوای بدونی:
IP = آدرس دستگاه در شبکه
━━━━━━━━━━━━━━━━━━
یه مثال ساده:
فرض کن گوشی وارد شبکه Wi-Fi خونه شده.
یعنی MAC بیشتر میگه «این دستگاه کدومه؟»
و IP بیشتر برای اینه که بدونیم «این دستگاه توی کدوم شبکه و با چه آدرسی قابل دسترسیه؟»
━━━━━━━━━━━━━━━━━━
⚡ قانون طلایی:
📌 یه دستگاه مثل ESP32 هم میتونه هم MAC Address داشته باشه و هم IP Address.
━━━━━━━━━━━━━━━━━━
🌐 @ModernLAN
🔹 شبکه | لینوکس | امنیت | آموزش
؟
خیلیها MAC و IP رو با هم قاطی میکنن، ولی هرکدوم یه کار متفاوت دارن 👇
━━━━━━━━━━━━━━━━━━
🔹 MAC Address | آدرس MAC
AA:BB:CC:11:22:33
🔸 شناسهی منحصربهفرد رابط شبکهست
🔸 در سطح سختافزار و کارت شبکه استفاده میشه
🔸 معمولاً به خود دستگاه یا رابط شبکه وابستهست
🔸 بیشتر برای شناسایی دستگاه در شبکه محلی استفاده میشه
📌 ساده بخوای بدونی:
MAC = هویت دستگاه در شبکه محلی
━━━━━━━━━━━━━━━━━━
🔹 IP Address | آدرس IP
192.168.1.25
🔸 برای شناسایی دستگاه در یک شبکه استفاده میشه
🔸 برای برقراری ارتباط بین دستگاهها کاربرد داره
🔸 میتونه با تغییر شبکه تغییر کنه
🔸 مشخص میکنه دستگاه در چه شبکهای قرار داره
📌 ساده بخوای بدونی:
IP = آدرس دستگاه در شبکه
━━━━━━━━━━━━━━━━━━
یه مثال ساده:
فرض کن گوشی وارد شبکه Wi-Fi خونه شده.
MAC → شناسه رابط شبکه گوشی
IP → آدرسی که گوشی داخل شبکه گرفته
یعنی MAC بیشتر میگه «این دستگاه کدومه؟»
و IP بیشتر برای اینه که بدونیم «این دستگاه توی کدوم شبکه و با چه آدرسی قابل دسترسیه؟»
━━━━━━━━━━━━━━━━━━
⚡ قانون طلایی:
MAC = هویت رابط شبکه
IP = آدرس شبکه
📌 یه دستگاه مثل ESP32 هم میتونه هم MAC Address داشته باشه و هم IP Address.
━━━━━━━━━━━━━━━━━━
🌐 @ModernLAN
🔹 شبکه | لینوکس | امنیت | آموزش
❤7
Media is too big
VIEW IN TELEGRAM
هوش مصنوعی به عنوان یک ابزار به ما کمک میکنه که بتونیم کارهای تکراری و زمان بر را سریع تر و با دقت بیشتری انجام بدیم در این ویدیو یه اسکریپت با استفاده از chatgpt ایجاد کردم که تست سلامت سوییچ ها را برام انجام بده.
@ModernLan
@ModernLan
❤5👍3
شبکه به زبان ساده!
Photo
AI در SOC هوش مصنوعی دقیقاً چه کار میکند؟
در یک SOC معمولی، سیستمهایی مثل SIEM از منابع مختلف لاگ جمع میکنند؛ مثلاً Windows Event Log، Firewall، IDS/IPS، EDR، DNS، Proxy و تجهیزات شبکه. مشکل اینجاست که تعداد Alertها میتواند خیلی زیاد باشد و بررسی تکتک آنها زمانبر است. اینجاست که AI وارد میشود.
مثلاً فرض کن یک کاربر در مدت کوتاه چندین بار Login ناموفق داشته، بعد یک Login موفق از یک موقعیت غیرعادی اتفاق افتاده و بلافاصله روی چندین سیستم درخواست دسترسی کرده. AI میتواند این Eventها را کنار هم قرار بدهد و بهجای اینکه هرکدام را یک Alert جداگانه ببیند، آنها را بهعنوان یک زنجیره احتمالی حمله تحلیل کند.
یکی از کاربردهای مهم AI در SOC، Alert Triage است؛ یعنی بین Alertهای مختلف تشخیص بدهد کدام مورد احتمالاً False Positive است و کدام مورد ارزش بررسی بیشتری دارد.
کاربرد بعدی تشخیص رفتار غیرعادی است. مثلاً اگر یک حساب کاربری همیشه در ساعات اداری از یک سیستم مشخص استفاده میکند ولی ناگهان ساعت ۳ صبح وارد سیستم دیگری شود و حجم زیادی داده دریافت کند، این رفتار میتواند برای بررسی بیشتر Flag شود.
همچنین میتواند در Threat Hunting کمک کند؛ یعنی Analyst بهجای اینکه تکتک لاگها را دستی بررسی کند، از سیستم بخواهد الگوهای مشکوک، ارتباط بین Eventها یا رفتارهای غیرمعمول را پیدا کند.
در مرحله Incident Response هم میتواند مفید باشد؛ مثلاً Alert مربوط به یک Endpoint را با DNS Queryها، لاگ Firewall، Processهای اجراشده و ارتباطات شبکه آن Endpoint مرتبط کند و یک تصویر کاملتر از Incident بدهد.
یک سناریوی ساده:
مثلاً AI متوجه میشود:
نکته مهم اینه که AI بهتنهایی نباید تصمیم نهایی امنیتی بگیرد. چون ممکن است یک رفتار کاملاً قانونی را حمله تشخیص بدهد یا برعکس، یک حمله واقعی را از دست بدهد.
برای همین در SOC حرفهای معمولاً AI در کنار SIEM، EDR/XDR، SOAR و تحلیلگر انسانی قرار میگیرد.
در واقع معماری مدرن میتواند چیزی شبیه این باشد:
هوش مصنوعی قرار نیست SOC را حذف کند؛ هدف اصلیش اینه که Analyst بهجای غرق شدن بین هزاران Alert، روی Incidentهای مهمتر تمرکز کنه.
@ModernLan
در یک SOC معمولی، سیستمهایی مثل SIEM از منابع مختلف لاگ جمع میکنند؛ مثلاً Windows Event Log، Firewall، IDS/IPS، EDR، DNS، Proxy و تجهیزات شبکه. مشکل اینجاست که تعداد Alertها میتواند خیلی زیاد باشد و بررسی تکتک آنها زمانبر است. اینجاست که AI وارد میشود.
مثلاً فرض کن یک کاربر در مدت کوتاه چندین بار Login ناموفق داشته، بعد یک Login موفق از یک موقعیت غیرعادی اتفاق افتاده و بلافاصله روی چندین سیستم درخواست دسترسی کرده. AI میتواند این Eventها را کنار هم قرار بدهد و بهجای اینکه هرکدام را یک Alert جداگانه ببیند، آنها را بهعنوان یک زنجیره احتمالی حمله تحلیل کند.
یکی از کاربردهای مهم AI در SOC، Alert Triage است؛ یعنی بین Alertهای مختلف تشخیص بدهد کدام مورد احتمالاً False Positive است و کدام مورد ارزش بررسی بیشتری دارد.
کاربرد بعدی تشخیص رفتار غیرعادی است. مثلاً اگر یک حساب کاربری همیشه در ساعات اداری از یک سیستم مشخص استفاده میکند ولی ناگهان ساعت ۳ صبح وارد سیستم دیگری شود و حجم زیادی داده دریافت کند، این رفتار میتواند برای بررسی بیشتر Flag شود.
همچنین میتواند در Threat Hunting کمک کند؛ یعنی Analyst بهجای اینکه تکتک لاگها را دستی بررسی کند، از سیستم بخواهد الگوهای مشکوک، ارتباط بین Eventها یا رفتارهای غیرمعمول را پیدا کند.
در مرحله Incident Response هم میتواند مفید باشد؛ مثلاً Alert مربوط به یک Endpoint را با DNS Queryها، لاگ Firewall، Processهای اجراشده و ارتباطات شبکه آن Endpoint مرتبط کند و یک تصویر کاملتر از Incident بدهد.
یک سناریوی ساده:
User Login
↓
Windows Event Logs
↓
SIEM
↓
AI Analysis
↓
Correlation
↓
Risk Scoring
↓
SOC Analyst
↓
Incident Response
مثلاً AI متوجه میشود:
Failed Login × 30
+
Successful Login
+
PowerShell Execution
+
Suspicious DNS Query
+
Outbound Connection
↓
Possible Compromise
نکته مهم اینه که AI بهتنهایی نباید تصمیم نهایی امنیتی بگیرد. چون ممکن است یک رفتار کاملاً قانونی را حمله تشخیص بدهد یا برعکس، یک حمله واقعی را از دست بدهد.
برای همین در SOC حرفهای معمولاً AI در کنار SIEM، EDR/XDR، SOAR و تحلیلگر انسانی قرار میگیرد.
در واقع معماری مدرن میتواند چیزی شبیه این باشد:
Logs / Network / Endpoint
↓
SIEM / XDR
↓
AI / ML Analysis
↓
Correlation + Detection
↓
SOAR
↓
Automated Response
↓
SOC Analyst
هوش مصنوعی قرار نیست SOC را حذف کند؛ هدف اصلیش اینه که Analyst بهجای غرق شدن بین هزاران Alert، روی Incidentهای مهمتر تمرکز کنه.
@ModernLan
❤7
شبکه به زبان ساده!
Photo
اگر بخوایم فنی نگاه کنیم، یک پیام ساده در اینترنت فقط با یک پروتکل جابهجا نمیشه؛ معمولاً چندین لایه و پروتکل پشت سر هم درگیر میشن.
مثلاً وقتی در مرورگر
Application → Transport → Internet → Data Link → Physical
1. Application Layer
اینجا خود برنامه و پروتکل کاربردی قرار دارن:
HTTP / HTTPS
DNS
SMTP
SSH و...
مثلاً در HTTPS، دادهی HTTP قبل از ارسال توسط TLS رمزنگاری میشه.
2. Transport Layer
بسته به سرویس، معمولاً:
TCP → اتصالگرا، قابلاعتماد
UDP → سریعتر و بدون تضمین تحویل
QUIC → روی UDP، مورد استفادهی HTTP/3
مثلاً در HTTPS سنتی:
3. Internet Layer
اینجا IP وارد میشه:
IPv4
IPv6
ICMP
IP مشخص میکنه بسته از مبدأ به مقصد چطور مسیریابی بشه.
4. Data Link Layer
در شبکهی محلی پروتکلهایی مثل:
Ethernet
Wi-Fi
ARP
درگیر میشن. اینجا فریم ساخته میشه و MAC Address نقش مهمی داره.
5. Physical Layer
در نهایت بیتها واقعاً منتقل میشن:
مثلاً از طریق:
کابل Ethernet
فیبر نوری
Wi-Fi
شبکه موبایل
پس اگر یک پیام را از بالا به پایین دنبال کنیم، یک نمونه میتواند این باشد:
اما نکتهی مهم اینه که همهی ارتباطات اینترنتی دقیقاً همین ساختار رو ندارن. مثلاً در HTTP/3 مسیر میتونه این باشه:
و در هر روتر بین راه، معمولاً فریم لایه ۲ باز میشه و با فریم جدید دوباره ساخته میشه، ولی بستهی IP در طول مسیر برای رسیدن به مقصد مسیریابی میشه.
@ModernLan
مثلاً وقتی در مرورگر
https://Google.com رو باز میکنی، مسیر کلی این شکلیه:Application → Transport → Internet → Data Link → Physical
1. Application Layer
اینجا خود برنامه و پروتکل کاربردی قرار دارن:
HTTP / HTTPS
DNS
SMTP
SSH و...
مثلاً در HTTPS، دادهی HTTP قبل از ارسال توسط TLS رمزنگاری میشه.
2. Transport Layer
بسته به سرویس، معمولاً:
TCP → اتصالگرا، قابلاعتماد
UDP → سریعتر و بدون تضمین تحویل
QUIC → روی UDP، مورد استفادهی HTTP/3
مثلاً در HTTPS سنتی:
HTTP → TLS → TCP3. Internet Layer
اینجا IP وارد میشه:
IPv4
IPv6
ICMP
IP مشخص میکنه بسته از مبدأ به مقصد چطور مسیریابی بشه.
4. Data Link Layer
در شبکهی محلی پروتکلهایی مثل:
Ethernet
Wi-Fi
ARP
درگیر میشن. اینجا فریم ساخته میشه و MAC Address نقش مهمی داره.
5. Physical Layer
در نهایت بیتها واقعاً منتقل میشن:
0 و 1 → سیگنال الکتریکی / نوری / رادیوییمثلاً از طریق:
کابل Ethernet
فیبر نوری
Wi-Fi
شبکه موبایل
پس اگر یک پیام را از بالا به پایین دنبال کنیم، یک نمونه میتواند این باشد:
Application
↓
HTTP
↓
TLS
↓
TCP
↓
IP
↓
Ethernet / Wi-Fi
↓
Physical
اما نکتهی مهم اینه که همهی ارتباطات اینترنتی دقیقاً همین ساختار رو ندارن. مثلاً در HTTP/3 مسیر میتونه این باشه:
HTTP/3
↓
QUIC
↓
UDP
↓
IP
↓
Ethernet / Wi-Fi
↓
Physical
و در هر روتر بین راه، معمولاً فریم لایه ۲ باز میشه و با فریم جدید دوباره ساخته میشه، ولی بستهی IP در طول مسیر برای رسیدن به مقصد مسیریابی میشه.
@ModernLan
🔥7❤2