درباره وب سرور و انواع آن

تعریف ساده وب سرور:

وب سرور سامانه ای است که توانایی پاسخگوئی به مرورگر وب و ارسال صفحه درخواستی مرورگر را دارا است . صفحات وب بر پایه یک ساختار مشخص و با یک نام یگانه (IP) بر روی وب سرورقرار می گیرند . بر روی یک وب سرور امکان قرار گرفتن صفحات متعدد و با ساختارهای جداگانه وجود دارد .
تابع اولیه یک سرور وب) ارائه صفحات وب به کاربران است. این بدان معناست که صفحه‌های HTML همراه با هر نوع مطالب اضافی‌ای چون: تصاویر، شیوه نامه‌ها و جاوا اسکریپت‌ها شامل شود.
کاربر که معمولاً یک مرورگر وب یا خزنده وب ارتباط اولیه را با ارسال درخواست منبع خاصی با استفاده از HTTP ارسال می‌کند و سرور درخواست کاربر را با محتوای منبع یا پیام خطایی که قادر به انجام دادن آن نیست، پاسخ می‌دهد.
در واقع به دو معنی است:

  1. یک برنامه کامپیوتری است که مسئول قبول کردن درخواست‌های http از کارخواهاناست که همان مرورگرهای وب هستند و پاسخ‌ها را به همراه یک سری اطلاعات به آنها پست می‌کنند. این پاسخ‌ها همان صفحات Html هستند.بطور مثال اگر در صفحه مرور گرتان آدرس http://fa.wikipedia.org/index.php را وارد کنید، یک درخواست به دامنه‌ای که نامش fa.wikipedia.org است، فرستاده می‌شود. آنگاه سرور صفحه index.php را برای شما میفرستد.
  2. یک کامپیوتراست که یک برنامهٔ کامیپوتری را اجرا می‌کند و کارایی اش همانند مطالبی است که دربالا گفته شد.

هر کامپیوتری می‌تواند با نصب نرم‌افزار سرور به سرور وب تبدیل شود.

ویژگی‌های مشترک:

در عمل بسیاری از سرورهای وب، ویژگی‌های زیر را نیز پیاده‌سازی می‌کنند:

  • شناسایی: درخواست شناسایی اختیاری قبل از اجازه دسترسی به انواع منابع
  • نه تنها مفاهیم استاتیک (مفاهیم فایلی که بر روی سیستم فایلی وجود دارد) بلکه مفاهیم داینامیک را با یک یا چند ساختار نیز مانند SSI, CGI, SCGI,FastCGI,JSP,PHP,ASP,ASP.NET اداره می‌کند.
  • پشتیبانی از HTTPS تا به کاربران اجازه دهد اتصالات مطمئنی به سرور را بر روی پورت 443 به جای 80 برقرار کنند.
  • فشرده سازی مطالب تا بتوان از حجم پاسخها کم کرد. (توسط کد سازی GZIP)
  • پشتیبانی از فایلهای بزرگ تا بتواند فایلهای بزرگ‌تر از 2 گیگا بایت را سرویس دهی کند.
  • کنترل کردن پهنای باند : تا سرعت پاسخها را محدود کند و شبکه را پر ازدحام نکند و قادر باشد تعداد بیشتری کارخواه را سرویس دهی کند.

سرورهای اینترنتی آپاچی
این سرور وب در توسعه و همگانی شدن وب جهانی نقش بسیار مهمی داشته‌است. این سرور وب که به زبان C نوشته شده‌است دارای قابلیت cross- platform بوده و بر روی ماشین‌های مختلف قابل اجرا میباشد. دلیل انتخاب این اسم برای این سرور وب را نیز دو مورد ذکر کرده‌اند اول اینکه به یکی از قبایل قدیمی بومی آمریکا که به خاطر مقاومت و مهارت در ساخت ابزار آلات جنگی مشهور میباشند احترام گذاشته شود و ثانیا به این دلیل که (Root)ریشه پروژه به صورت یک سری پچ (Patch)میباشد. این سرور وب در یک گروه و به صورت کد باز (open source) گسترش یافت و از سال 1996 به عنوان محبوب‌ترین سرور وب برای HTTP در وب جهانی شناخته شده بود ولی در سال 2005 میدان مبارزه را به IIS مایکروسافت باخت و در حال حاضر نزدیک به 49 % بازار سرورهای وب جهان را به خود اختصاص داده‌است همچنین MAC OS آن را به عنوان سرور وب اصلی در پشتیبانی از WEB OBJECT خود برگزیده‌است. این سرور وب دارای پودمان‌های امنیتی بسیار خوبی از جمله mod_access، mod_auth، mod_digest می‌باشد. آپاچی برای میزبانی هر دو نوع وب ایستا و وب پویا مناسب است.

IIS
سرور وبی است که ارائه دهنده آن شرکت مایکروسافت می‌باشد و آخرین نسخه آن IIS 7.5 است که برای سیستم عامل های Widows Server 2008 و Windows 7 طراحی شده است. در واقع IIS مجموعه‌ای از سرویس‌های اینترنتی است که بصورت یکجا نمایش داده شده‌است. طبق آخرین آماری که منتشر شد بعد از سرور وب آپاچی بیشترین محبوبیت را بین کاربران داشته‌است و هم اکنون نزدیک به 36% بازار سرورهای وب جهان را در اختیار دارد. پلت فرمی که این سرور وب پشتیبانی می‌کند مایکروسافت ویندوز می‌باشد و در محیط‌های دیگر کار نمی‌کند.

مقایسه عملکردهای امنیتی سرورهای وب Apache و IIS

قابلیتآپاچیIIS
ورود امن بله بله
SSL بله بله
Basic Authentication بله بله
Digest Authentication بله بله
LDAP Authentication بله بله
Passport Authentication بله نه
Active Directory Authentication بله فقط با ماجول های third-party
 

وب سرورها چگونه کار می کنند

وب سرورها از پروتکل های HTTP و HTTPS استفاده می کنند تا به کاربران وب اجازه دهند تا به آنها متصل شوند و کاربران بتوانند فایل های موجود در سرور را ببینند و آنها را دانلود کنند .

 

HTTP یک پروتکل لایه اپلیکیشن در دسته پروتکلی TCP/IP می باشد . HTTP و HTTPS پروتکل های اولیه ای هستند که توسط کاربران وب به منظور دسترسی به وب سرورها از طریق اینترنت مورد استفاده قرار می گیرند . HTML زبان کدنویسی وب می باشد و به منظور ایجاد صفحات مورد استفاده قرار می گیرند و از آن طریق مرورگرها قادرند صفحات وب را به کاربران نمایش دهند . پروتکل HTTP مانند شکل زیر عمل می کند :

 

1. کاربر وب در ابتدا با استفاده از پورت 80 تی سی پی یک اتصال را به آیپی وب سرور آغاز می کند
2. وب سرور منتظر درخواست GET از سمت کاربر برای باز کردن وبسایت می ماند
3. وب سرور صفحه مورد نظر HTML را به مرورگر وب تحویل می دهد
4. کاربر توسط مرورگر صفحه HTML را رندر کرده و آن را مشاهده می کند .

درک این موضوع که وب سرورها چگونه کار می کنند و در نتیجه آن وب سرور ها چگونه هک می شوند از وظایف شما به عنوان یک متخصص CEH می باشد . این شامل دانستن آسیب پذیری های وب سرور و انواع حمله ای هایی که به آن توسط هکرها صورت می پذیرد نیز می شود . به علاوه شما بایستی بدانید که چه زمان از تکنیک های Patch Management استفاده شود و متدهای ضربه زدن به وب سرورها را بدانید . در این درس و درسهای بعدی به توضیح تمامی مباحث مطرح شده خواهیم پرداخت .

انواع آسیب پذیری های وب سرور

وب سرورها شبیه دیگر سیستم های کامپیوتری می توانند توسط یک هکر در اختیار قرار گیرند . آسیب پذیری هایی که در زیر بیان می شوند , رایج ترین متدهای آسیب پذیری به وب سرورها می باشند :

Misconfiguration of the Web Server Software (پیکربندی اشتباه نرم افزار وب سرور) : یک مشکل رایج در استفاده از IIS یعنی همان وب سرور مایکروسافت , استفاده از سایت پیش فرض پیکربندی شده است . دسترسی هایی که در وبسایت پیش فرض وب سایت IIS وجود دارند , باز هستند به این معنی که تنظیمات پیش فرض دریچه ای باز برای حمله هکرها فراهم می کند . برای مثال همه کاربران در گروه Everyone دسترسی کامل به همه فایل ها در شاخه وب سرور را دارند ! این موضوع بسیار حیاتی است تا دسترسی را ویرایش و محدود کرد . زیرا در غیر اینصورت همه دسترسی به همه فایلها را در پوشه پیش فرض سایت خواهند داشت .

Operating System or Application Bugs in Programming Code ( باگ های برنامه نویسی در کد سیستم عامل یا اپلیکیشن های وب) : همه برنامه ها شامل سیستم عامل و اپلیکیشن های وب سرور بایستی بر اساس یک روال منظم پچ و بروزرسانی شوند . برای سیستم های ویندوز این عملیات شامل پچ های امنیتی , هاتفیکس ها و بروزرسانی ویندوز می باشد . تمامی این پچها را می توان به صورت اتوماتیک یا دستی بر روی سیستم انجام داد .

Vulnerable Default Installation ( آسیب پذیری نصب پیش فرض ) : تنظیمات سیستم عامل و نرم افزار وب سرور نبایستی به حال خود رها شوند و به همان صورتی که در همان نصب پیش فرض قرار دارند باقی بمانند .

هکرها از این آسیب پذیری ها به منظور بهره برداری و دسترسی غیر مجاز به وب سرور استفاده می کنند . به این دلیل که وب سرورها معمولا در زون DMZ قرار می گیرند (مکانی بین داخل و خارج سازمان) که به صورت عمومی توسط کاربران داخلی سازمان قابل دسترسی هستند , در نتیجه بهره برداری هکر از وب سرور باعث می شود که هکر به سیستم های شبکه داخلی و پایگاه داده های محرمانه نیز دسترسی پیدا کند .