آشنایی با HTTP Server

از ویکی خرد

پرش به: ناوبری, جستجو

پراکسی سرور


پراکسی سرور برنامه واسطه‌ای بین کاربر داخلی شبکه و اینترنت است که قابلیت‌های فراوانی در راستای حفظ امنیت، نظارت مدیریتی، کنترل کاربران و سرویس‌های ذخیره سازی دارد . پراکسی سرور امکان ایجاد فیلترهایی خاص را برای امنیت بیشتر در شبکه فراهم می‌کند، قابلیت ذخیره سازی، سرعت دستیابی به اطلاعات را بالا می‌برد و با سیستم‌های تصدیق هویت و تغییر هویت، ضامن امنیت در شبکه داخلی سازمان است و نیز امکان ثبت گزارش کامل کارکردش را دارد . همچنین قابلیت مسدود کردن محتویات آسیب رسان و بررسی تبعیت از قوانین برقرار شده در شبکه را دارا می‌باشد . پراکسی سرور امکان استفاده از اکثر پروتکل‌های محلی را فراهم می‌آورد و امکان رمز کردن داده‌ها را نیز دارد. پراکسی‌ها انواع مختلفی دارند که هر یک کار خاصی را انجام می‌دهد . که از آن جمله می‌توان FTP , HTTP , SMTP و DNS را نام برد. Free-web-proxy-server.png


مقدمه


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


پراکسی چیست ؟


پراکسی سرور واسطه‌ای بین کاربر داخلی و اینترنت است . در حقیقت پراکسی در خواست کلاینت (client)را به پراکسی سرور فرستاده، پراکسی سرور محتویات بسته را بررسی می‌کند و در صورت لزوم پردازش‌های مورد نظر را روی بستهٔ دیتا انجام می‌دهد و بسته را می‌سنجد، در صورت عدم مغایرت با سیاست‌های امنیتی تنظیم شده برای شبکه به آن‌ها اجازهٔ عبور از فایروال را می‌دهد و این درخواست روی شبکه ارسال می‌شود و جواب آن توسط پراکسی سرور از اینترنت دریافت و برای کلاینت ارسال می‌شود.


پراکسی با Packet filter تفاوت دارد  


این نوع فیلتر بود. این نوع فیلتر بین دو یا بیشتر رابط شبکه TCP/IP ابتدایی ترین روش صدور اجازه عبور به ترافیک بر اساسترافیک دیتایی که بین آنها عبور می کند، پیمایش می کند. اطلاعاتی که این نوع IP header قرار می گیرد و اطلاعات آدرس را درفیلتر ارزیابی می کند عموماً شامل آدرس و پورت منبع و مقصد می شود. این فیلتر بسته به پورت و منبع و مقصد دیتا و بر اساس،header قوانین ایجاد شده توسط مدیر شبکه بسته را می پذیرد یا نمی پذیرد. مزیت اصلی این نوع فیلتر سریع بودن آن است چرا کهتمام آن چیزی است که سنجیده می شود. و عیب اصلی ان این است که هرگز آنچه را که در بسته وجود دارد نمی بیند و به محتوای آسیب رسان اجازه عبور از فایروال را می دهد. بعلاوه، این نوع فیلتر با هر بسته بعنوان یک واحد مستقل رفتار می کند و وضعیت ارتباط را دنبال نمی کند.    این فیلتر اعمال فیلتر نوع قبل را انجام می دهد، بعلاوه اینکه بررسی می کند کدام کامپیوتر در حال ارسال چه دیتایی است و چه شناخته می شود. (State) نوع دیتایی باید بیاید. این اطلاعات بعنوان وضعیت TCP/IP به ترتیبی از ارتباط برای برقراری یک مکالمه بین کامپیوترها نیاز دارد. در آغاز یک ارتباط TCP/IP پروتکل ارتباطی در B ارتباط را برقرار کند. کامپیوتر B به کامپیوتر SYN (synchronize) سعی می کند با ارسال یک بسته A عادی، کامپیوتر می فرستد و به این B به کامپیوتر ACK یک A برمی گرداند، و کامپیوتر ((Acknowledgement SYN/ACK جواب یک بسته برای نشان دادن آخرین بسته در یک ارتباط را نیز (finish) FIN اجازه وضعیتهای دیگر، مثلاً TCP . ترتیب ارتباط برقرار می شودد می دهد. هکرها در مرحله آماده سازی برای حمله، به جمع آوری اطلاعات در مورد سیستم شما می پردازند. یک روش معمول ارسال یک به سیستمی که تقاضایی نکرده، می (Reply) بسته در یک وضعیت غلط به منظوری خاص است. برای مثال، یک بسته با عنوان پاسخ به این ترتیب، به هکر نشان می . “I don’t understand” فرستند. معمولاً، کامپیوتر دریافت کننده بیاید پیامی بفرستد و بگوید دهد که وجود دارد، و آمادگی برقراری ارتباط دارد. بعلاوه، قالب پاسخ می تواند سیستم عامل مورد استفاده را نیز مشخص کند، و برای را که “Reply” را می فهمد و می تواند یک TCP/IP منطق یک ارتباط Stateful packet یک هکر گامی به جلو باشد. یک فیلتر ردگیری نمی کند و نمی تواند انجام دهد. فیلترهای packet پاسخ به یک تقاضا نیست، مسدود کند آنچه که یک فیلتر می توانند در همان لحظه قواعدی را مبنی بر اینکه بسته مورد انتظار در یک ارتباط عادی چگونه باید بنظر رسد، Stateful packetبرای پذیرش یا رد بسته بعدی تعیین کنند. فایده این کار امنیت محکم تر است. این امنیت محکم تر، بهرحال، تا حدی باعث کاستن از کارایی می شود. نگاهداری لیست قواعد ارتباط بصورت پویا برای هر ارتباط و فیلترکردن دیتای بیشتر، حجم پردازشی بیشتری به این نوع فیلتر اضافه می کند.


مزایای استفاده از پراکسی


همانطور که اشاره شد پراکسی سرور دارای قابلیتهای فراوانی است که از آن جمله می‌توان به موارد زیر اشاره کرد : ذخیره سازی با توجه به گران بودن هزینهٔ استفاده از اینترنت (بسته به اندازه پهنای باند مصرفی) و محدودیت پهنای باند معمولاً اطلاعات مورد نظر در زمان کم و با سرعت مطلوب به دست نمی‌آید . برای کمک به رفع این مشکل، پراکسی سرور منابعی مانند فایل‌ها و صفحات وبی که مورد دسترسی قرار می‌گیرند در یک حافظهٔ جداگانه ذخیره می‌کند و تقاضای مجدد این منابع با محتویات کش پاسخ داده می‌شود، در نتیجه از یک سو زمان دستیابی کاهش می‌یابد و از سوی دیگر چون اطلاعات از اینترنت دریافت نمی‌شود باعث کاهش ترافیک شبکه می‌شود و پهنای باند محدود با اطلاعات تکراری اشغال نمی‌شود. دیوار آتش (fire wall)


پراکسی سرور می‌تواند تقاضای کاربران را به فایروال بدهد که به انها اجازهٔ ورود یا خروج به شبکهٔ داخلی داده شود . فیلتر کردن


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


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


برای جلوگیری از برخی حمله‌های نفوذ گران و محافظت از شبکهٔ داخلی سازمان سرور پراکسی قادر به تغییر هویت کلاینت‌های داخلی می‌باشد . بدین صورت که اگر منبع تقاضا شده در کش موجود نباشد، سرور پراکسی برای آن کاربر به عنوان کلاینت عمل می‌کند و از یکی از آدرس‌های آی پی خودش، برای ارسال تقاضا به سرور موجود در اینترنت استفاده می‌کند و سپس پاسخ به وسیلهٔ پراکسی سرور برای کاربر ارسال می‌شود . این پروسه تغییر آی پی باعث می‌شود تقاضا دهندهٔ اولیه قابل ردیابی نباشد و معماری شبکهٔ سازمان از دید بیرونی مخفی بماند . در شکل ۴ نمونه‌ای از این عملکرد نشان داده شده‌است . ثبت کردن


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


مزایای پراکسی سرور


Application Getways که عموما پراکسی نامیده می‌شود پیشرفته‌ترین روش استفاده شده برای کنترل ترافیک عبوری از فایروال‌ها هستند . مزیتهای فراوانی دارند که به تعدادی از آنها اشاره می‌کنیم : پراکسی سرور علاوه بر هِدر هامحتویات داخل هر بسته را نیز کنترل می‌کند و هرچیزی که سیاست‌های امنیتی سازمان را نقض کند می‌تواند تغییر دهد یا دور بریزد .


کدهای آسیب رسان مثل فایل‌های اجرایی، اپلت‌های جاوا و اکتیوکس‌ها را مسدود می‌کند .


قابلیت ذخیره سازی توسط پراکسی سرور امکان استفادهٔ بهتر از پهنای باند و بالا بردن سرعت دریافت اطلاعات را می‌دهد .


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


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


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


برای امنیت بیشتر نیز می‌توان با استفاده از SSL امکان رمز کردن داده‌ها را فراهم آورد.



web server چیست


webserver یا سرویس دهنده وب نرم افزاری است که روی کامپیوتر نصب میشود و از پروتکل های لایه کاربرد در پروتکل TCP/IP جهت ارسال و دریافت اطلاعات استفاده میکند که وب سرورهای مختلفی داریم(بجای وب سرور بطور اختصار میگویم سرور) مانند سرور Mail برای پست الکترونیکی، سرور FTP برای استفاده از پورت ۲۱ و دریافت و انتقال فایل و سرور http برای دریافت و مشاهده صفحات وب که بطور معمول منظور از وب سرور، همان سرویس دهنده یا سرور http است که بطور پیش فرض از پورت ۸۰ برای دریافت و ارسال اطلاعات استفاده میکند.


در شبکه اینترنت هر کامپیوتری که یک وب سرور روی آن نصب شود به عنوان کامپیوتر سرویس دهنده تلقی میگردد. یعنی اکثر سرورهایی که روی آن ها سایتی قرار دارد و ما با زدن آدرس سایت، آن ها را مشاهده میکنیم حتما یک وب سرور روی آن ها باید نصب باشد، که صفحات درخواستی ما را روی مرورگر نمایش دهد. حتی اگر هیچ صفحه وبی روی آن سایت قرار نداشته باشد. علت آن است که با مرورگر و نوشتن عبارت //:http، آن اطلاعات را درخواست میکنیم. در واقع ما از پروتکل http برای دریافت اطلاعات میخواهیم استفاده کنیم. در غیر اینصورت هیچ اطلاعاتی به نمایش داده نمیشود مگر اینکه از پروتکل های دیگری برای گرفتن اطلاعات استفاده کنیم مانند استفاده بصورت remote یا telnet ،ولی چون موضوع این سایت مربوط به وب است، زین پس هر نوع سروری که روی شبکه اینترنت در مورد آن حرف میزنیم منظور کامپیوتری است که روی آن یک وب سرور http نصب شده است. بسته به امکانات یک سایت، وب سرورهای مختلفی روی آن نصب است. مثلا اگر سایت دارای امکان پست الکترونیکی و FTP هست در میابیم که این سرویس دهنده ها(ftp و mail) روی سروری که آن سایت رویش قرار دارد نصب شده اند.


کاربرد وب سرور بیستر برای سایت های داینامیک محسوس است.به اینصورت که توسط پروتکل http یکسری اطلاعات به سمت سرور ارسال میشه و وب سرور آن اطلاعات را دریافت کرده و به آدرسی که برای پردازش برای آن مشخص شده ارسال میکند.این آدرس میتواند یه صفحه با فرمت زبان های برنامه نویسی باشد.



برخی از انواع پراکسی


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


SMTP Proxy


HTTP Proxy


FTP Proxy


DNS Proxy



HTTP Proxy


پراکسی HTTP بر ترافیک داخل شونده و خارج شونده از شبکه شما که توسط کاربرانتان برای دسترسی به اینترنت ایجاد شده، نظارت می‌کند. این پراکسی برای مراقبت از کلاینت‌های وب شما و سایر برنامه‌ها که به دسترسی به وب از طریق اینترنت متکی هستند و نیز حملات برپایه HTML، محتوا را فیلتر می‌کند. بعضی از قابلیتهای آن اینها هستند:


برداشتن اطلاعات اتصال کلاینت


این پراکسی می‌تواند آن قسمت از دیتای هِـــدر را که نسخه سیستم‌عامل، نام و نسخه مرورگر، حتی آخرین صفحه وب دیده شده را فاش می‌کند، بردارد. در بعضی موارد، این اطلاعات حساس است، بنابراین چرا فاش شوند؟ تحمیل تابعیت کامل از استانداردهای مقررشده برای ترافیک وب: در بسیاری از حمله‌ها، هکرها بسته‌های تغییرشکل داده شده را ارسال می‌کنند که باعث دستکاری عناصر دیگر صفحه وب می‌شوند، یا بصورتی دیگر با استفاده از رویکردی که ایجادکنندگان مرورگر پیش بینی نمی‌کردند، وارد می‌شوند. پراکسی HTTP این اطلاعات بی معنی را نمی‌پذیرد. ترافیک وب باید از استانداردهای وب رسمی پیروی کند، وگرنه پراکسی ارتباط را قطع می‌کند. Http proxy.gif



فیلترکردن محتوای از نوع MIME


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


برنامه نویسان از جاوا و اکتیوایکس برای ایجاد برنامه‌های کوچک بهره می‌گیرند تا در درون یک مرورگر وب اجراء شوند (مثلاً اگر فردی یک صفحه وب مربوط به امور جنسی را مشاهده می‌کند، یک اسکریپت اکتیوایکس روی آن صفحه می‌تواند بصورت خودکار آن صفحه را صفحه خانگی مرورگر آن فرد نماید). پراکسی می‌تواند این برنامه‌ها را مسدود کند و به این ترتیب جلوی بسیاری از حمله‌ها را بگیرد. برداشتن کوکی‌ها:


پراکسی HTTP می‌تواند جلوی ورود تمام کوکی‌ها را بگیرد تا اطلاعات خصوصی شبکه شما را حفظ کند.



برداشتن هِدرهای ناشناس


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


فیلترکردن محتوا


دادگاه‌ها مقررکرده‌اند که تمام کارمندان حق برخورداری از یک محیط کاری غیر خصمانه را دارند. بعضی عملیات تجاری نشان می‌دهد که بعضی موارد روی وب جایگاهی در شبکه‌های شرکت‌ها ندارند.


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

منابع:

مهندسی فناوری اطلاعات

ویکیپدیا

آموزش کامپیوتر

رده: شبکه

ابزارهای شخصی