جلسه 4: معرفی HTTP و اهمیتی آن در تست امنیت
جلسه 4: معرفی HTTP و اهمیتی آن در تست امنیت
سلام به کاربران عزیز سایت جت آموز
نگهداری امن و محرمانه اطلاعات مشتریان از اولویت بالایی در تمامی سازمان ها و شرکت ها برخوردار است. متأسفانه، روزانه آسیب پذیری های جدیدی کشف شده و همگامی نگهداشت امن سازمان در برابر آن ها، تقریباً به امری محال تبدیل شده است. این آسیب پذیری ها در تاروپود زیرساخت IT قرار گرفته و گاهاً به مدت بسیار طولانی کشف نشده باقی می مانند. اگرچه راه های بسیاری برای امن سازی سیستم ها و اپلیکیشن ها در برابر آسیب پذیری ها وجود دارد، اما تنها راه کسب اطمینان واقعی از آن، تست امنیتی بستر IT سازمان به منظور یافتن این حفره های امنیتی است.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده گرفته و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند. راهکار “تست امنیتی” امکان تکرار حملات بر روی سیستم ها، دستگاه ها و اپلیکیشن ها را به منظور آشکارسازی زنجیره ای از مسیرهای باز و آسیب پذیر بر روی سیستم ها و داده های حساس و حیاتی سازمان، فراهم می آورد.
خلاصه جلسه قبل:
در جلسه گذشته به انواع بد افزار ها و نحوه مقابله با آن ها در تست امنیت پرداختیم؛ ویروس ها، کرم ها، تروجان ها، نرم افزارهای تبلیغاتی و غیره از انواع نرم بد افزارها هستند. در کنار آشنایی با بد افزار ها آموختیم که چگونه باید با بد افزارها مقابله نماییم. در این جلسه ابتدا به معرفی HTTP در تست امنیت و در قسمت بعدی به نقش HTTP در تست امنیت می بپردازیم.
معرفی HTTP در تست امنیت
هنگام رهگیری داده های بسته بین وب سرور و مشتری می توان به اهمیت پروتکل HTTP و نقش آن در امنیت وب پی برد. اما پروتکل HTTP چیست و نقش HTTP در تست امنیت چیست؟ پروتکل انتقال (Hypertext (HTTP یک پروتکل در سطح برنامه کاربردی برای سیستم های اطلاعات توزیع شده، مشارکتی و hypermedia است که پایه و اساس ارتباط داده با شبکه جهانی وب از سال ۱۹۹۰ است.
HTTP یک پروتکل عمومی و بدون تابعیت است که می تواند برای مقاصد دیگر و همچنین با استفاده از request methods ،error codes و headers مورد استفاده قرار گیرد. در اصل، HTTP یک پروتکل ارتباطی مبتنی بر TCP/IP است که برای ارائه داده هایی از قبیل فایل های HTML، فایل های تصویری، نتایج کوئری و غیره از طریق وب استفاده می شود. HTTP یک روش استاندارد برای ارتباط برقرار کردن کامپیوترها با یکدیگر فراهم می کند. مشخصات HTTP نحوه ارسال داده های درخواست شده مشتری به سرور و نحوه پاسخ گویی سرورها به این درخواست ها را مشخص می کند.
ویژگی های اصلی HTTP چیست؟
HTTP دارای سه ویژگی اساسی زیر است:
- connectionless بودن HTTP:
HTTP client یعنی آن که مرورگر درخواست HTTP را آغاز می کند. کلاینت یا کاربر پس از ایجاد درخواست از سرور جدا می شود و منتظر پاسخ می ماند. سرور درخواست را پردازش می کند و مجدداً ارتباط را با مشتری برقرار می کند تا پاسخ را به عقب برگرداند. - HTTP مستقل از رسانه است:
هر نوع داده را می توان با HTTP ارسال کرد تا زمانی که کاربر و سرور بدانند که چگونه می توانند محتوای داده را اداره کنند. این مورد برای کاربر و همچنین سرور لازم است تا نوع محتوا را با استفاده از MIME-type مناسب مشخص کند. - HTTP بدون تابعیت است:
در ویژگی اول به connectionless بودن HTTP اشاره شد. علاوه بر این HTTP یک پروتکل بدون تابعیت است. سرور و کاربر فقط هنگام درخواست فعلی از یکدیگر اطلاع دارند. پس از آن دیگر هیچ ارتباطی میان آن ها وجود نخواهد داشت. به دلیل همین ماهیت نه کاربر و نه مرورگر نمی توانند اطلاعات بین درخواست های مختلف را در سراسر صفحات وب حفظ کنند.
HTTP/1.0 برای هر تبادل request/response از اتصال جدیدی استفاده می کند در حالی که اتصال HTTP/1.1 ممکن است برای یک یا چند تبادل request/response استفاده شود.
آشنایی با معماری پروتکل HTTP
تصویر زیر معماری اساسی یک برنامه وب را نشان می دهد و مکانی که HTTP در آن قرار دارد را نمایان می کند.
پروتکل HTTP یک پروتکل request/response مبتنی بر معماری client/server است که در آن مرورگر وب، روبات ها و موتورهای جستجو و غیره به عنوان سرویس دهنده HTTP عمل می کنند و سرور وب به عنوان یک سرور عمل می نماید.
- کاربر (Client)
کاربر HTTP درخواستی را در قالب یک روش درخواست، URI و نسخه پروتکل به سرور ارسال می کند و یک پیام MIME-like که حاوی اصلاح کننده های درخواست، اطلاعات مربوط به کاربر و محتوای possible body از طریق اتصال TCP/IP است را دنبال می کند. - سرور (Server)
سرور HTTP با یک status line، از جمله نسخه پروتکل پیام و کد موفقیت یا خطا پاسخ می دهد و پیام MIME-like که حاوی اصلاح کننده های درخواست، اطلاعات مربوط به کاربر و محتوای possible body است را دنبال می کند.
نقاط ضعف استفاده از HTTP چیست؟
- HTTP یک پروتکل کاملاً امن نیست.
- هیچ گواهی رمزگذاری/دیجیتالی برای استفاده از HTTP لازم نیست.
- HTTP از پورت ۸۰ به عنوان درگاه پیش فرض ارتباطات استفاده می کند.
- HTTP در برنامه Layer عمل می کند. برای انتقال داده ها باید چندین اتصال ایجاد شود که باعث افزایش هزینه های اصلی مدیریت می شود.
سخن پایانی
در این جلسه آموختیم که نقش HTTP در تست امنیت چیست و چرا HTTP مهم است و علاوه بر این با ویژگی های اصلی HTTP و نیز نقاط ضعف و معایب استفاده از آن آشنا شدیم. در جلسه بعد این مبحث را ادامه داده و به نقش HTTPS در تست امنیت می پردازیم. لطفا نظرات خود در رابطه با این مقاله را با ما به اشتراک بگذارید.
شاد و موفق باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.