دایره امن ترجنس

۶ مطلب در دی ۱۳۹۹ ثبت شده است

  • ۰
  • ۰

به طور کلی در دنیای کامپیوتر، نشست (نِشَست) یا همان Session به بازه‌ای گفته می‌شود که در آن “دو یا چند دستگاه” و یا “یک کاربر با یک برنامه” تعامل دارند. هدف از ایجاد نِشَست این است که اطلاعات به صورت Stateful نگه‌داری و استفاده شوند.

https://edu.thregence.ir/%d9%86%d8%b4%d8%b3%d8%aa-%db%8c%d8%a7-session-%da%86%db%8c%d8%b3%d8%aa%d8%9f/

کاربرد نشست

استفاده از سازوکار نشست یا سشن امکانات زیادی را هم برای کاربران و هم برای توسعه‌دهندگان به همراه دارد. در حضور سشن، کاربران راحت‌تر با سرویس ارائه شده تعامل می‌کنند. چراکه اطلاعات و درخواست‌ها را می‌توانند بصورت جامع به جریان بندازند.

هم‌چنین توسعه‌دهندگان می‌تواند راحت‌تر درخواست‌های کاربران را کنترل و خدمت‌رسانی کنند. علاوه بر این، می‌توانند با تحلیل داده‌های جمع‌آوری شده از عملیات کاربران، رفتار آن‌ها را آنالیز کنند.

یعنی برای مثال، اگر کاربری درخواستی ارسال می‌کند، مشخص باشد که قبلا چه درخواست‌هایی ارسال کرده است و به عبارتی تاریخچه عملیات آن مشخص باشد.

کاربرد نشست در وب

پروتکل HTTP، یک پروتکل Stateless می‌باشد. یعنی State هر کانکشن در ارتباط HTTP نگهداری نمی‌شود. یعنی در یک ارتباط HTTP، هر بار که درخواستی را به سرور ارسال می‌کنید، انگار یک کاربر جدید (در اصل یک مرورگر جدید) درخواست را ارسال کرده است. این یعنی همان مفهوم Stateless بودن! یعنی State را نگهداری نمی‌کند و هیچ وقت اطلاع ندارد که کاربری که الان در حال ارسال درخواست هست، آیا قبلا هم درخواستی ارسال کرده یا خیر.

Statless بودن پروتکل HTTP این نتیجه را خواهد داشت که اگر شما داخل یک فروشگاه اینترنتی باشید و جنس اول را به سبد خرید اضافه کنید، و سپس صفحه را رفرش کنید، خواهید دید که سبد خالی هست! چراکه HTTP خاطرش نیست که شما چه کاربری هستید و قبلا چه درخواستی‌هایی را به سرور ارسال کردید. هر بار که شما صفحه را رفرش می‌کنید، گویی شخص جدیدی وارد سایت شده است! اما راه حل چیست؟ مرسوم‌ترین روش برای حل این مشکل استفاده از Session یا نِشَست می‌باشد. راه‌حل‌های دیگری نظیر کوکی نیز وجود دارد که قبلا مورد بررسی قرار دادیم.

پس یکی از موارد استفاده از نشست، در دنیای وب می‌باشد. به این صورت که، کاربر وقتی تعامل خود با سرویس مبتنی بر وب را شروع می‌کند، یک نِشَست تشکیل شده و از این به بعد کاربر از طریق آن درخواست‌های خود را ارسال می‌کند. به واسطه وجود این نشست، درخواست‌های کاربر به صورت Stateful جریان پیدا می‌کند. توجه کنید که این تنها یکی از کاربردهای نشست می‌باشد و مفهوم آن در زمینه‌های مختلف مورد استفاده قرار می‌گیرد.

بررسی رفتار کاربر بوسیله اطلاعات نشست

یکی دیگر از مزیت‌هایی که استفاده از نشست با خود به همراه دارد، آنالیز رفتار کاربران است. این مساله در دنیای امروز از اهمیت بسیار بالایی برخوردار است. تعیین رفتار مشتریان در یک فروشگاه اینترنتی گرفته تا کاربرانی که با سیستم‌عامل خود تعامل می‌کنند. به همین واسطه، مدت زمان حضور کاربر در بخش‌های مختلف، میزان تمایل به ماژول‌های مختلف یک برنامه، تعداد کلیک برروی ماژول‌های مختلف و … همگی جز مواردی هستند که از نشست کاربران قابل تحلیل‌اند.

ایجاد نشست

بطور کلی مراحل ایجاد یک نشست به اینصورت است که ابتدا یک کاربر از طریق محیط کاربری پیشِ روی خود، به یک سرویس لاگین می‌کند. در صورتی که لاگین موفقیت‌آمیز باشد، برنامه پذیرنده یک نِشَست (Session) و یک شماره نشست (Session ID) برای تشخیص آن ایجاد می‌کند. از این به بعد کاربر درخواست‌هایی که دارد را در بستر نشستِ ایجاد شده مطرح می‌کند، یعنی شماره نشست یا همان Session ID را به همراه در‌خواست‌های خود ارسال می‌کند تا پذیرنده متوجه شود که درخواست‌های دریافتی متعلق به کدام کاربر است.

 
  • thregence security
  • ۰
  • ۰

مقایسه nmap و amap

در دوره رایگان “آموزش ابزار قدرتمند nmap” با امکانات مختلف ابزار nmap آشنا شدیم.

namp را می‌توان یک ابزار همه فن حریف در تست نفوذ دانست که امکانات بسیار بیشتری به نسب amap دارد.

یکی از امکانات nmap “تشخیص سرویس” می‌باشد. این سرویس به اینصورت عمل می‌کند که ابتدا تارگت را به nmap می‌دهیم. nmap شروع به اسکن کردن پورت‌های تارگت می‌کند و پورت‌های باز را تشخیص می‌دهد.

در همین حین، nmap با توجه به دیتابیس از قبل تهیه شد خود، می‌داند که بصورت استاندارد چه سرویس‌هایی برروی چه پورت‌هایی فعال هستند.

برای مثال، می‌داند که پورت 80 بصورت استاندارد برای پروتکل http می‌باشد. پس اگر تارگتی را اسکن کند و پورت 80 آن را در حالت “باز (Open)” تشخیص دهد، می‌گوید که سرویس http برروی این تارگت در حال اجراست.

چرا به amap نیاز داریم؟

اما اگر یک نفر برروی پورت 80 خود سرویس SSH را اجرا کند (غیراستاندارد و کمی بعید بنظر می‌رسد)، نتیجه اسکن nmap چه خواهد بود؟

یک نتیجه اشتباه! اگر با nmap این تارگت را اسکن کنیم، متوجه می‌شود که پورت 80 آن باز است.

از آنجایی که در حالت استاندارد برروی پورت 80 سرویس http اجرا می‌شود، این ابزار می‌گوید که تارگت مدنظر، سرویس http را در خود فعال کرده است. اما این نتیجه، اشتباه است.

حالت دیگری که شاید nmap کارایی کمی از خود نشان دهد، زمانی است که یک سرویس همانند http برروی یک پورت نامتعارف اجرا شود.

از آنجاییکه nmap بصورت پیش‌فرض تنها پورت‌های عرف را اسکن می‌کند احتمالا متوجه باز بودن پورت مذکور نخواهد شد.

amap چطور کار می‌کند؟

amap برخلاف nmap، از یک دیتابیس استاتیک برای تشخیص سرویس‌ها استفاده نمی‌کند.

amap ابتدا تریگرهایی را به سمت تارگت ارسال می‌کند و از روی پاسخ (Response) دریافت شده، سرویس‌ها را لیست می‌کند.

 

مشاهده این ویدیو در:

https://edu.thregence.ir/amap/

  • thregence security
  • ۰
  • ۰

معماری کلاینت-سرور

معماری کلاینت-سرور (یا همان سرویس گیرنده-سرویس دهنده و یا Client Server) در دنیای کامپیوتر، به معماری گفته می‌شود که در آن کلاینت‌ها سرویس‌های درخواستی خود را به سرورهایی که وظیفه آن‌ها خدمت‌رسانی است، تحویل می‌دهند.

البته این معماری منحصر به کامپیوتر نیست و در بسیاری از فضاهای دیگر نیز از این معماری پیروی می‌شود. برای مثال، یک رستوران را در نظر بگیرید که چندین آشپز (سرورها) و تعداد بسیاری زیادی مشتری (کلاینت‌ها) دارد. وظیفه آشپزها خدمت‌رسانی به مشتری‌ها می‌باشد.

ارتباط بین کلاینت و سرور در این معماری

عموما ارتباط بین کلاینت‌ها و سرورها، در بستر شبکه صورت می‌گیرد. به اینصورت که یک سرور میزبان، چند برنامه و سرویس را در خود دارد. از این رو، سرور برنامه‌ها و منابع خود را با کاربران به اشتراک می‌گذارد. سپس، کاربران برای استفاده از این خدمات و منابع، درخواست‌هایی را از بستر شبکه به سمت سرور ارسال می‌کنند. این بستر می‌تواند یکی از بسترهای استاندارد نظیر پروتکل http در لایه هفت باشد. نهایتا اگر درخواست کاربر معتبر باشد، سرور پاسخ لازم را به کاربر می‌دهد.

مقایسه ساختار کلاینت-سرور و ساختار P2P

نقطه مقابل معماری کلاینت-سروری را می‌توان معماری P2P یا Peer To Peer یا نظیر به نظیر دانست. در معماری P2P، دو یا چند کامپیوتر منابع خود را در قالب یک سیستم غیرمتمرکز به اشتراک می‌گذارند. در این سیستم دیگر ساختار سلسله مراتبی وجود ندارد.

یکی از مزیت‌های اصلی شبکه‌های P2P به نسبت شبکه‌های Client-Server، این است که در ساختار کلاینت-سرور اگر سرور دچار مشکل شود، کل خدمت‌رسانی دچار مشکل می‌شود. ولی در شبکه‌های P2P اگر یک سیستم خراب شود، براحتی سیستم دیگری را می‌توان جایگزین آن کرد.

هم‌چنین برای گسترش شبکه Client-Server، باید هزینه زیادی را صرف ارتقا سرور کنیم. ولی اینکار در شبکه P2P بدلیل غیرمتمرکز بودن آن، براحتی قابل انجام است.

 

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence 

  • thregence security
  • ۰
  • ۰

https://edu.thregence.ir/load-balancing/

به زبان ساده، تعدیل بار به عملیاتی گفته می‌شود که طی آن سعی می‌کنیم بصورت بهینه، ترافیک ورودی شبکه را بین المان‌های مختلف توزیع کنیم.

چرا به تعدیل بار نیاز است؟

برای مثال، امروزه وب‌سایت‌هایی که ترافیک ورودی زیادی دارند، باید بتوانند در هر لحظه چندین هزار درخواست را مدیریت کنند و به آن‌ها پاسخ بدهند. اما گاهی ترافیک ورودی به وب‌سایت آنقدر زیاد است که سرورهای فعلی از پس مدیریت و پاسخگویی آن‌ها برنمی‌آیند.

راه حل ساده و پر هزینه

در نگاه اول، بنظر می‌رسد که باید تعداد سرور‌های خود را افزایش دهیم و البته توان پردازشی هر کدام از آن‌ها را نیز ارتقا دهیم. اما…

روشی که عموما مورد استفاده قرار می‌گیرد استفاده از یک “تعدیل‌کننده بار” است!

حل مشکل بوسیله تعدیل بار

تعدیل‌کننده بار (یا همان Load Balancer) همانند یک نگهبان برای ترافیک عمل می‌کند. بدین صورت که ترافیک ورودی ابتدا به تعدیل‌کننده بار می‌رسد، سپس او تصمیم میگیرد که درخواست‌ها را به چه صورت بین سرورها تقسیم کند تا به بهترین شکل ممکن فشار برروی سیستم‌ها پخش شود. در اینصورت ترافیک ورودی تا حد زیادی بصورت متعادل و برابر بین سرورها تقسیم می‌شود.

تعدیل‌کننده بار چیست؟

تعدیل‌کننده بار (یا همان Load Balancer) بطور مزایای زیر را دارد:

•توزیع درخواست‌های ورودی کاربران بین سرورها بصورت بهینه

•تضمین دسترس‌پذیری (Availability) و قابلیت اطمینان (Reliability) از طریق ارسال در‌خواست‌ها به سرورهای روشن

•منعطف‌تر کردن ساختار برای اضافه کردن سرور جدید در صورت نیاز

انواع تعدیل‌کننده بار

تعدیل‌کننده بار می‌تواند نرم‌افزاری یا سخت‌افزاری باشد. نوع نرم‌افزاری آن، صرفه اقتصادی بهتری دارد چرا که به نسبت نوع سخت‌افزاری، سخت‌افزار به مراتب کمتری برای چنین سیستمی تهیه می‌شود ولی نوع سخت‌افزاری قابلیت‌های بیشتری نظیر امکان استفاده گسترده‌تر از قابلیت‌های مجازی‌سازی را فراهم می‌کند، چراکه سخت‌افزار قدرتمندتری دارد.

الگوریتم‌های مختلف تعدیل‌بار

تعدیل بار مطابق الگوریتم‌های مختلفی انجام می‌شود. برای مثال: •Round Robin: درخواست‌ها بصورت پشت هم برای سرورها ارسال می‌شود. •Least Connection: درخواست جدید برای سروری ارسال می‌شود که کمترین اتصال فعال را دارد. •Random: ارسال درخواست‌ها بصورت تصادفی به سمت سرورها •IP Hash: ارسال درخواست‌ها به سمت سرورها مطابق با IP کاربری که درخواست را ارسال کرده است.

 

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence 

  • thregence security
  • ۰
  • ۰

https://edu.thregence.ir/port/

در فضای شبکه، پورت به جایی گفته می‌شود که ارتباطات شبکه‌ای (Network Connections) در آن جا شروع و تمام می‌شود.

چرا به پورت نیاز است؟

پورت‌های شبکه، نرم‌افزاری هستند و توسط سیستم‌عامل مدیریت می‌شوند. سیستم‌عامل برای تفکیک ترافیک‌های مختلف ورودی/خروجی، از آن‌ها کمک می‌گیرد. به این صورت که هر سرویس یا پراسس با یک پورت مشخص همراه می‌شود و ترافیک شبکه‌ خود را از طریق آن دریافت/ارسال می‌کند.

برای مثال، فرض کنید که یک کاربر می‌خواهد بصورت همزمان کارهای زیر را با سیستم خود انجام دهد: •وب‌گردی کند

•یک ارتباط SSH با سیستم محل کار خود برقرار کند

•ویندوز خود را آپدیت کند

•و …

هر کدام از این عملیات توسط یک سرویس یا پراسس در سیستم‌عامل مدیریت می‌شوند.

سیستم‌عامل برای تفکیک ترافیک این چند سرویس از پورت‌ها استفاده می‌کند. بدین صورت که برای مثال، ترافیک وب‌گردی از روی پورت 80، ترافیک ارتباط SSH از روی پورت 22 و … رد و بدل می‌کند.

به عبارت دیگر می‌توان گفت یکی از دلایل وجود تعداد زیادی پورت در سیستم‌های امروزی، این است که عموما چندین سرویس یا پراسس می‌خواهند از طریق شبکه اطلاعاتی را رد و بدل کنند.

شماره‌گذاری پورت‌ها

پورت‌ها در سراسر شبکه‌های متصل بهم، استاندارد شده‌اند. به اینصورت که به هر کدام از آن‌ها یک شماره اختصاص داده شده است. بیشتر پورت‌ها برای استفاده پروتکل‌های مشخصی رزرو شده‌اند. مثلا پورت‌شماره 22 بصورت استاندارد برای ارتباطات SSH رزرو شده است. یا شماره 80 برای پروتکل HTTP و …

شماره پورت و آدرس IP در کنار یکدیگر

پس در اصل وظیفه IP این است که مشخص کند هر بسته در شبکه چه مبدا و مقصدی دارد. در کنار آن، پورت‌ها این وظیفه را داردند که یک سرویس بخصوص از این مبدا و مقصد را هدف قرار دهند.

برای مثال وقتی در شبکه می‌گوییم بسته A باید به 10.11.12.13:80 برود، یعنی بسته ابتدا باید به سیستمی که آدرس 10.11.12.13 دارد برود و سپس بدست سرویسی که برروی پورت 80 از این سیستم هست برسد.

ضمن اینکه کلا 65535 پورت در دنیای شبکه داریم و پورت یک مفهوم لایه 4 (Transport) می‌باشد.

 

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence 

  • thregence security
  • ۰
  • ۰

ترجنس متشکل از فارغ التحصیلان متخصص دانشگاه‌های صنعتی شریف، صنعتی امیرکبیر، صنعتی اصفهان و متخصصان با سابقه مقیم اروپا و آمریکا در حوزه‌های مختلف فناوری اطلاعات می‌باشد. ترجنس با هدف ایجاد یک پلت‌فرم آموزشی یکپارچه با هدف تربیت متخصصان حوزه فناوری اطلاعات در داخل کشور و ارائه خدمات با کیفیت تاسیس شد.

در دپارتمان خدمات آموزشی ترجنس کلیه آموزش‌ها در حوزه فناوری اطلاعات خصوصا امنیت شبکه و اطلاعات به‌صورت اصولی و بنابر نیازهای هر شخص انجام می‌شود. همچنین طبق اهداف و علاقمندی‌های هر شخص نقشه راهی طراحی می‌شود. فرد با دنبال کردن آن می‌تواند کسب تخصص را با انگیزه و حساب شده پشت سر بگذارد. به بیان

دپارتمان خدمات امنیت فناوری اطلاعات ترجنس، ارائه دهنده خدمات حرفه‌ای در حوزه امنیت سیستم‌های فناوری اطلاعات از جمله تست نفوذ شبکه، تست نفوذ وب، تست نفوذ نرم افزار، همچنین هاردنینگ از جمله هاردنینگ شبکه، پایگاه داده، سیستم عامل و علاوه بر این موارد پاسخگویی بلادرنگ به حوادث امنیتی توسط تیم با سابقه و کارآزموده می‌باشد. 

دپارتمان توسعه نرم افزار ترجنس ارائه دهنده خدمات توسعه نرم افزار‌های پلت‌فرم‌های مختلف از جمله ویندوز، لینوکس، مکینتاش، اندروید، iOS و برنامه نویسی اینترنت اشیاء (IoT) با اصول مهندسی نرم افزار و پشتیبانی بلند مدت می‌باشد.

دپارتمان طراحی و توسعه وب سایت و برنامه‌های تحت وب ترجنس ارائه دهنده خدمات طراحی و توسعه وب سایت و برنامه‌های تحت وب با استفاده از فریم ورک‌های پیشرفته با پشتیبانی بلند مدت و ۲۴ ساعته

اطلاع‌رسانی به موقع و برخط جدیدترین رویدادهای امنیتی از جمله آسیب‌پذیری‌ها، یکی از مهم‌ترین مسائل حوزه امنیت سایبری می‌باشد. تیم تخصصی ترجنس، متشکل از برترین افراد حوزه امنیت سایبری با پاسخگویی به رویدادها در سریع‌ترین زمان سعی در جلب اعتماد مشتریان در زمینه امنیت فناوری اطلاعات دارد.

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence 

تست نفوذ آکادمی ترجنس

بایگانی آکادمی ترجنس

برنامه نویسی آکادمی ترجنس

شبکه آکادمی ترجنس

پیش نیاز آکادمی ترجنس

less than 5 آکادمی ترجنسخانه - آکادمی ترجنس | آموزش تخصصی فناوری اطلاعات و امنیت سایبری

  • thregence security