Proxy Server چیه ؟ چیکار میکنه ؟ اصلا چرا لازمش داریم ؟ چه وقتایی به کارمون میاد ؟جواب سوالای بالا همینجاست که پاسخ داده میشه ! پس پشت صندلیتون رو سفت کنین و آماده ی خوندن یه متن خفن طولانی و خسته کننده ی دیگه از من بشین!
خب ! کار Proxy Server چیه ؟ اصولا از شیر مرغ تا جون آدمیزاد رو میتونه برات فراهم کنه ! میتونه یه واسط باشه برای ایجاد دسترسی و Connectivity، برای ارتباط تو و یه عالمه چیز دیگه ! مثل سرورها، کلاینتها، وب سایتها و افراد... میتونه شبا برات مسواک بزنه، بچه بخوابونه، گوش کوبیده درست کنه یا اینکه آشغالا رو بذاره دم در !
کار دیگه ایی هم داره ؟ چرا که نه ! میتونه برات اینترنت رو ف ی ل ت ر کنه ! میتونه دسترسیت رو کنترل کنه و بعدا به بابایی جونت نشون بده که توی چه سایتایی رفتی ! میتونه اطلاعاتی رو که دنبالشون هستی رو یه جایی ذخیره کنه و بعدش به دیگران بفروشه ! به همین سادگی و به همین خوشمزگی !
بعد از توضیح در سطح دبستان بالا که عقل من حسابی میتونست درکش کنه، میرسیم به توضیحهای درست و حسابی !
Proxy Server یه واسط هستش، بین سیستم شما و هر سیستم دیگه. این سیستم در اغلب اوقات یک سرور محسوب میشه. ولی گذشته از این خزعبلات، علت اینکه ما برای ارتباط ممکنه نیاز به یک Proxy Server پیدا کنیم چیه آخه ؟!
• در برخی اوقات دیگر، نرم افزاری که به کمک SOCKS برای کار در محیط شبکه ی LAN نوشتین، باز هم نیاز به یک واسطه برای دسترسی به دیگر کلاینتها و سرورهای اون محیط داره، و بدین ترتیب از یک Proxy Server به عنوان این واسطه استفاده میکنه تا بتونه به دیگر سیستمها در اون مجموعه متصل بشه.
• بعضی وقتا ISP یی که به شما اینترنت میده جونش به لبش میاد وقتی میبینه که در طول 1 ساعت 500 نفر زرتی رفتن توی Wikipedia و دنبال یک مقاله ی واحد گشتن. در اینحالت نه تنها پهنای باند تکراری اشغال میشه، بلکه توان اضافی و تکراری از سرورها و دستگاههای ارتباط دهنده ی این ISP هم گرفته میشه. چاره چیه ؟ این ISP میتونه بیاد و با نصب یک Proxy Server که وظیفه ش ارتباط دادن درخواست کلاینتها با محتوای یکبار Cache شده و ذخیره شده در Databaseش هستش، نیاز وصل شدن به اینترنت برای دریافت درخواستهای تکراری رو از بین ببره و در مصرف پهنای باند هم صرفه جویی کنه ! میبینیم که در این سناریو هم Proxy Server ما ارتباط دهنده ی ما با اطلاعات درخواستیمون به شیوه ایی که براش تعریف کردن هستش !
• دیگه چه مصارفی برای Web Proxy میشه پیدا کرد ؟ الان براتون میگم : دسترسی به اینترنت ! شما در شرکتی کار میکنین که برای دسترسی به اینترنت شما رو مجبور به وصل کردن Web Browser تون به Proxy Server کرده...
• یه کار زشت دیگه ی Proxy Server میتونه ف ی ل ت رینگ باشه ! درسته ! ف ی ل ت رینگ اینترنت در کشورمون هم به خاطر حضور این عزیزان (Proxy Server ها !) هستش ! همونطوریکه قبلا هم گفتم، باز هم کار PS در اینجا ارتباط دادن هستش ولی ایندفعه یه کمی فضولی هم میکنه و قبل از دادن ارتباط، یه کمی ارتباطه رو چک میکنه و اگه درخواسته جیز باشه، اونوقته که با یه اردنگی صفحه ی "دسترسی به سایت فوق مقدور نمیباشد ! اگر دلتون خوشه در قسمت زیر آدرسش رو وارد کنین تا چکش کنیم !" رو بهتون نشون میده !
• یه کار زشت دیگه ی Proxy Server ها (از نظر سانسورکنندگان محترم !) پیچوندن ف ی ل ت ر ینگ هستش ! جالب نیست ؟ هم باهاش میتونین ف ی ل ت ر کنین و هم باهاش میتونین ف ی ل ت ر رو بپیچونین !
• یه کار دیگه ی Proxy Server ها هم اینه که بشینن جلوی ورودی یک شبکه و هر کی که میخواد بیاد توش رو راهنمایی و کنترل کنه (Reverse Proxy Server) که بعدا در موردش حرفا براتون دارم درباره ش !
خلاصه ! ننه جون ! حرف و حدیث برای Proxy Server خیلی زیاده و در توان اینجانب نیست که همه شون رو بگم ولی از بین اونها مهمترینها رو میخوام انتخاب کنم و براتون توضیح بدم...پس گوش کن ننه :
همونطوریکه تا الان متوجه شدیم، PS یک واسطه در بین ارتباطات ما محسوب میشه که میتونه ارتباطات رو بگیره، بفرسته، جواب بده، کنترل کنه و یا حتی منع. غالبا Proxy Server ها رو در سطح اینترنت و یا خروجیهای شبکه پیاده سازی میکنن و میشه گفت که Proxy Server های داخلی اغلب برای ارتباطات مبتنی بر SOCKS (پروتکلی که برنامه نویسی سوکتی از اون استفاده میکنه و مبتنی بر IP و Port برای ایجاد ارتباطات درون یک شبکه هست و خیلی هم توپ و معروفه هر چند که پروتکلهای جدیدتر و بهتری هم از اون هستن) و ارتباط دادن سیستمهای Client-Server استفاده میشه.
من بیشتر تمرکزم رو در این مقاله بر روی Proxy Server هایی میگذارم که در سطح اینترنت پیاده سازی و استفاده میشن.
Proxy Server ها میتونن یک کامپیوتر باشن که نرم افزار خاصی رو برای ایفای نقش PS بر روی خودشون دارن. مثال بارز این نوع PS میتونه سروری باشه که روش ISA Server نصب شده و این سرور طبق تنظیماتی که بر روی ISA ش اعمال کردیم میتونه اعمالی نظیر دادن دسترسی به اینترنت، بلوکه کردن دسترسی اینترنت، دادن محدودیت در دسترسی و خیلی چیزهای دیگر رو انجام بده که در انتهای این مقاله بهشون اشاره میکنم، پس گیر سه پیچ ندین و سر جاتون بشینین و بخونین !
از طرفی همین PS میتونه یک دستگاه Interconnect باشه. مثل Firewall های خاصی که میتونن اعمال Proxy رو انجام بدن و یا حتی Proxy Server های سخت افزاری پیشرفته و خدا تومنی که شرکتهایی همچون Cisco و یا Siemens درست میکنن و به شرکتها (و صد البته کشورها !) میفروشن.
این دستگاهها بسیار سریعتر و قدرتمند تر از Proxy Server هایی هستن که بر روی کامپیوترهای خانگی (حتی کامپیوترهای بسیار قوی خانگی) نصب میشن. به خاطر نبود سیستم عامل لایه هفتی، این دستگاهها میتونن هزاران درخواست رو در مدت کوتاهی Inspect و Process کرده و سپس Policy های داخلی شون رو بر روی اونها اعمال کنند. به عنوان مثال اگر اطلاعات من در حد شایعه نباشه، کشور ما از Proxy Server ها و Firewall های سخت افزاری در خطوط اینترنتی خروجی از کشور برای کنترل ترافیک استفاده میکنه و قابل درک هستش که نرم افزاری مثل ISA Server حتی با وجود قدرت بسیار بالاش نخواهد توانست این حجم عظیم اطلاعات رو Process کنه.
دسته ی دیگری از Proxy Server ها اونهایی هستند که به عنوان یک سرویس وب در اینترنت در دسترس کاربران قرار میگیرند. این سرویسها میتونن بسیار متفاوت عمل کنند. به عنوان مثال سرویسی که eMule ازش استفاده میکنه برای ارتباط دادن کلاینتهای این نرم افزار P2P هستش، Proxy Server نرم افزار Skype هم تقریبا کاری اینچنین میکنه با این تفاوت که دارای هوشمندی بسیار بالایی در ارتباط دادن نرم افزارهاش (حتی اونایی که پشت Firewall هستند) با یکدیگر داره که این هوشمندی رو در نرم افزارهای P2P دیگه کمتر دیدم و اگه وقت کردم شاید براش تایپیکی چیزی نوشتم.
نرم افزار Team Viewer از یک Proxy Server به عنوان راهی برای ارتباط با کلاینتهای خودش استفاده میکنه بطوریکه دو کلاینت با آدرسهای IP متفاوت (که متغیر هم هستند) به این سرور همیشه در دسترس وصل میشن و این سرور با اجازه دادن به اینکه دو کلاینت بتونن اطلاعاتشون رو از طریق اون به هم ارسال کنند، عملا این دو رو به هم متصل میکنه.
یه نوع دیگه ی Proxy Server ها که کاربران ایرانی باهاش خوب آشنا هستند، Anonymizing proxy server ها هستند. اینها همون سایتای Proxy محسوب میشن که شما بهشون وصل میشین، در قسمت مخصوصشون آدرس درخواستی تون رو وارد میکنین و سپس میتونین سایت ف ی ل ت ر شده تون رو مشاهده کنین انگاری اصلا این سایت ف ی ل ت ر نشده !
توضیحات بالا رو اگر خوب خونده باشین، تا الان باید ایده ی اولیه ایی در مورد اینکه Proxy Server ها عملا چی هستند دستتون اومده باشه که خیلی خوبه. حالا میخوام یه کمی در برخی از سرویسهای ارائه شده با Proxy Server ها ریز بشم تا اگر خدا خواست بتونم شما رو متوجه چگونگی ساز و کار برخی از این PS ها بکنم.
ساز و کار Web Proxy Server ها
مهمترین نوع پراکسی ها Web Proxy ها هستند که کارشون دادن اینترنت به مشتریان هستش. یادمه چند سال پیش که تازگیا سیستم ف ی ل ت ر ینگ با قدرت در عرصه ی کشور ظاهر شده بود (!) یکی از راههای دور زدن ف ی ل ت ر ینگ استفاده از Web Proxy ها بود بدینصورت که شما یک آدرس IP بهمراه یک Port (که غالبا 8080 بود و توضیح میدم چرا) دریافت میکردین، بعدش میرفتین توی قسمت تنظیمات Browserتون و این آدرس رو در قسمت Proxy Server وارد میکردین و بعدش... یه دفعه میدیدین که ف ی ل ت ر ه دود میشد میرفت هوا !
ولی واقعا در این روند چه اتفاقی میفته ؟ در اینحالت شما یک آدرس IP بهمراه یک Port دارین. آدرس مربوطه به سروری در داخل دنیای اینترنت اشاره داره که آماده ی شنیدن درخواستهای ارسالی بهش و گرفتن جواب اون درخواستها هستش و پورت مربوطه (معمولا 8080) پورتی هستش که به طور بین المللی برای دسترسی به Proxy Server ها در نظر گرفته شده و این دستگاههای بیگناه بر روی این پورت اقدام به گوش دادن به درخواستها میکنند.
2. Browser درخواست رو به Proxy Serverیی که براش ذکر کردین میفرسته.
3. در بین راه درخواستتون به دست Firewall محترمتون میرسه که چک میکنه و میبینه که آدرس Proxy Server فوق (که آدرس Destination هست) هنوز درون لیست سیاهش قرار نگرفته و سپس بهمین دلیل اجازه ی ارسال درخواست رو میده.
4. Proxy Server درخواست رو میگیره، پردازش میکنه و سپس به دنبال محتوای درخواستی میره.
5. جواب درخواست توسط Proxy Server به شما فرستاده میشه که در میانه ی راه دوباره دست Firewallتون میفته.
6. Firewall با دیدن اینکه جواب فوق از مسیری میاد که در لیست سیاهش نیست، باز هم اجازه ی عبور جواب رو میده.
7. جواب به شما میرسه و میتونین سایت مورد نظر رو ببینین.
عکس 2 : مراحل طی شده برای دسترسی به یک سایت توسط Proxy Server
این راهکار تا زمانی جواب میداد که Content Filtering Proxy ها نبودن (خدا سال پیش!) و هنگامیکه این دوستان پا به عرصه گذاشتن اوضاع فرق میکرد بخصوص که برخی از این دوستان (Content Filtering Proxy ها) میتونن بسته ی ارسالی رو باز کنن و توش رو چک کنن. در اینحالت میتونن اون وسط مسطا آدرس درخواستی شما که برای Proxy Server ارسال کردین رو مثل موشی که از خمره ی روغن میکشن بیرون تشخیص بدن و بعدش هست که زرتی اونرو از لیستشون چک میکنن و سپس متوجه تیز بازی شما میشن و بعدش هم ف ی ل ت ر تون میکنن !این رو گفتم ولی یکی از استفاده های مهم Web Proxy ها رو در شبکه های داخلی نگفتم ! راستشو بخواین ممکنه که شما شبکه ایی داشته باشین و بخواین درون این شبکه فقط دسترسی بر اساس محتوای Web بدین (که میشه پورتهای 80 و 8080) و به هیچ وجه نمیخواین که کاربرانتون با استفاده از چیزهای جیزی مثل Skype و یا eMule و هر نرم افزار دیگه ایی که مبتنی بر اینترنت و پورتهای غیر از پورتهای وب کار میکنه، بتونن با اینترنت ارتباط برقرار کنن.
در اینحالت، شما میاین و با پیاده سازی یک Web Proxy در داخل شبکه تون، کاربران رو مجبور به استفاده از پراکسی فوق میکنین. توی این سناریو، کاربرا حتی نمیتونن از سایتای اینترنتی Ping هم بگیرن ! و تنها راه استفاده شون از اینترنت این خواهد بود که بیان و با Browserشون به نت وصل بشن.
با اینکار ما نه تنها میتونیم ترافیک رو به کمک پراکسی مون کنترل کنیم، بلکه میزان مصرف هر یوزر، مقدار پهنای باند مورد استفاده و حتی ف ی ل ت ر ینگ رو هم میتونیم روی اونها اعمال کنیم. ایجاد گزارشات بر اساس کاربر اتصالی به اینترنت هم یکی دیگر از موهبات عظیم استفاده از Proxy Server هاست که نمیتونیم روی کاربران NAT اعمالشون کنیم.
پیاده سازی Proxy Server های مرتبط دهنده ی وب و پراکسی سرورهای داخلی دقیقا مثل هم هستش و تنها نوع استفاده هستش که اونها رو میتونه تا حدی کوچکی از هم متمایز کنه. مثال بارز برای چنین نرم افزاری هم ISA Server هستش که با نصبش میتونین کاربران رو مجبور به استفاده از Web Proxy به جای روند عادی NAT بکنین
خب ! کار Proxy Server چیه ؟ اصولا از شیر مرغ تا جون آدمیزاد رو میتونه برات فراهم کنه ! میتونه یه واسط باشه برای ایجاد دسترسی و Connectivity، برای ارتباط تو و یه عالمه چیز دیگه ! مثل سرورها، کلاینتها، وب سایتها و افراد... میتونه شبا برات مسواک بزنه، بچه بخوابونه، گوش کوبیده درست کنه یا اینکه آشغالا رو بذاره دم در !
کار دیگه ایی هم داره ؟ چرا که نه ! میتونه برات اینترنت رو ف ی ل ت ر کنه ! میتونه دسترسیت رو کنترل کنه و بعدا به بابایی جونت نشون بده که توی چه سایتایی رفتی ! میتونه اطلاعاتی رو که دنبالشون هستی رو یه جایی ذخیره کنه و بعدش به دیگران بفروشه ! به همین سادگی و به همین خوشمزگی !
بعد از توضیح در سطح دبستان بالا که عقل من حسابی میتونست درکش کنه، میرسیم به توضیحهای درست و حسابی !
Proxy Server یه واسط هستش، بین سیستم شما و هر سیستم دیگه. این سیستم در اغلب اوقات یک سرور محسوب میشه. ولی گذشته از این خزعبلات، علت اینکه ما برای ارتباط ممکنه نیاز به یک Proxy Server پیدا کنیم چیه آخه ؟!
• برخی اوقات سرویسی که ازش استفاده میکنین (مثلا eMule رو در نظر بگیرین) در حد خودش و حتی با دسترسی به اینترنت هم نمیتونه کارش رو پیش ببره و برای اینکه بتونه با کاربران دیگر این سرویس در ارتباط باشه، به سروری متصل میشه که این اطلاعات رو داره و سپس این سرور با عمل کردن به عنوان یک میانه (Proxy) شما رو به دیگر استفاده کنندگان این سرویس متصل میکنه.
• در برخی اوقات دیگر، نرم افزاری که به کمک SOCKS برای کار در محیط شبکه ی LAN نوشتین، باز هم نیاز به یک واسطه برای دسترسی به دیگر کلاینتها و سرورهای اون محیط داره، و بدین ترتیب از یک Proxy Server به عنوان این واسطه استفاده میکنه تا بتونه به دیگر سیستمها در اون مجموعه متصل بشه.
• بعضی وقتا ISP یی که به شما اینترنت میده جونش به لبش میاد وقتی میبینه که در طول 1 ساعت 500 نفر زرتی رفتن توی Wikipedia و دنبال یک مقاله ی واحد گشتن. در اینحالت نه تنها پهنای باند تکراری اشغال میشه، بلکه توان اضافی و تکراری از سرورها و دستگاههای ارتباط دهنده ی این ISP هم گرفته میشه. چاره چیه ؟ این ISP میتونه بیاد و با نصب یک Proxy Server که وظیفه ش ارتباط دادن درخواست کلاینتها با محتوای یکبار Cache شده و ذخیره شده در Databaseش هستش، نیاز وصل شدن به اینترنت برای دریافت درخواستهای تکراری رو از بین ببره و در مصرف پهنای باند هم صرفه جویی کنه ! میبینیم که در این سناریو هم Proxy Server ما ارتباط دهنده ی ما با اطلاعات درخواستیمون به شیوه ایی که براش تعریف کردن هستش !
• دیگه چه مصارفی برای Web Proxy میشه پیدا کرد ؟ الان براتون میگم : دسترسی به اینترنت ! شما در شرکتی کار میکنین که برای دسترسی به اینترنت شما رو مجبور به وصل کردن Web Browser تون به Proxy Server کرده...
• یه کار زشت دیگه ی Proxy Server میتونه ف ی ل ت رینگ باشه ! درسته ! ف ی ل ت رینگ اینترنت در کشورمون هم به خاطر حضور این عزیزان (Proxy Server ها !) هستش ! همونطوریکه قبلا هم گفتم، باز هم کار PS در اینجا ارتباط دادن هستش ولی ایندفعه یه کمی فضولی هم میکنه و قبل از دادن ارتباط، یه کمی ارتباطه رو چک میکنه و اگه درخواسته جیز باشه، اونوقته که با یه اردنگی صفحه ی "دسترسی به سایت فوق مقدور نمیباشد ! اگر دلتون خوشه در قسمت زیر آدرسش رو وارد کنین تا چکش کنیم !" رو بهتون نشون میده !
• یه کار زشت دیگه ی Proxy Server ها (از نظر سانسورکنندگان محترم !) پیچوندن ف ی ل ت ر ینگ هستش ! جالب نیست ؟ هم باهاش میتونین ف ی ل ت ر کنین و هم باهاش میتونین ف ی ل ت ر رو بپیچونین !
• یه کار دیگه ی Proxy Server ها هم اینه که بشینن جلوی ورودی یک شبکه و هر کی که میخواد بیاد توش رو راهنمایی و کنترل کنه (Reverse Proxy Server) که بعدا در موردش حرفا براتون دارم درباره ش !
همونطوریکه تا الان متوجه شدیم، PS یک واسطه در بین ارتباطات ما محسوب میشه که میتونه ارتباطات رو بگیره، بفرسته، جواب بده، کنترل کنه و یا حتی منع. غالبا Proxy Server ها رو در سطح اینترنت و یا خروجیهای شبکه پیاده سازی میکنن و میشه گفت که Proxy Server های داخلی اغلب برای ارتباطات مبتنی بر SOCKS (پروتکلی که برنامه نویسی سوکتی از اون استفاده میکنه و مبتنی بر IP و Port برای ایجاد ارتباطات درون یک شبکه هست و خیلی هم توپ و معروفه هر چند که پروتکلهای جدیدتر و بهتری هم از اون هستن) و ارتباط دادن سیستمهای Client-Server استفاده میشه.
من بیشتر تمرکزم رو در این مقاله بر روی Proxy Server هایی میگذارم که در سطح اینترنت پیاده سازی و استفاده میشن.
Proxy Server ها میتونن یک کامپیوتر باشن که نرم افزار خاصی رو برای ایفای نقش PS بر روی خودشون دارن. مثال بارز این نوع PS میتونه سروری باشه که روش ISA Server نصب شده و این سرور طبق تنظیماتی که بر روی ISA ش اعمال کردیم میتونه اعمالی نظیر دادن دسترسی به اینترنت، بلوکه کردن دسترسی اینترنت، دادن محدودیت در دسترسی و خیلی چیزهای دیگر رو انجام بده که در انتهای این مقاله بهشون اشاره میکنم، پس گیر سه پیچ ندین و سر جاتون بشینین و بخونین !
از طرفی همین PS میتونه یک دستگاه Interconnect باشه. مثل Firewall های خاصی که میتونن اعمال Proxy رو انجام بدن و یا حتی Proxy Server های سخت افزاری پیشرفته و خدا تومنی که شرکتهایی همچون Cisco و یا Siemens درست میکنن و به شرکتها (و صد البته کشورها !) میفروشن.
این دستگاهها بسیار سریعتر و قدرتمند تر از Proxy Server هایی هستن که بر روی کامپیوترهای خانگی (حتی کامپیوترهای بسیار قوی خانگی) نصب میشن. به خاطر نبود سیستم عامل لایه هفتی، این دستگاهها میتونن هزاران درخواست رو در مدت کوتاهی Inspect و Process کرده و سپس Policy های داخلی شون رو بر روی اونها اعمال کنند. به عنوان مثال اگر اطلاعات من در حد شایعه نباشه، کشور ما از Proxy Server ها و Firewall های سخت افزاری در خطوط اینترنتی خروجی از کشور برای کنترل ترافیک استفاده میکنه و قابل درک هستش که نرم افزاری مثل ISA Server حتی با وجود قدرت بسیار بالاش نخواهد توانست این حجم عظیم اطلاعات رو Process کنه.
دسته ی دیگری از Proxy Server ها اونهایی هستند که به عنوان یک سرویس وب در اینترنت در دسترس کاربران قرار میگیرند. این سرویسها میتونن بسیار متفاوت عمل کنند. به عنوان مثال سرویسی که eMule ازش استفاده میکنه برای ارتباط دادن کلاینتهای این نرم افزار P2P هستش، Proxy Server نرم افزار Skype هم تقریبا کاری اینچنین میکنه با این تفاوت که دارای هوشمندی بسیار بالایی در ارتباط دادن نرم افزارهاش (حتی اونایی که پشت Firewall هستند) با یکدیگر داره که این هوشمندی رو در نرم افزارهای P2P دیگه کمتر دیدم و اگه وقت کردم شاید براش تایپیکی چیزی نوشتم.
نرم افزار Team Viewer از یک Proxy Server به عنوان راهی برای ارتباط با کلاینتهای خودش استفاده میکنه بطوریکه دو کلاینت با آدرسهای IP متفاوت (که متغیر هم هستند) به این سرور همیشه در دسترس وصل میشن و این سرور با اجازه دادن به اینکه دو کلاینت بتونن اطلاعاتشون رو از طریق اون به هم ارسال کنند، عملا این دو رو به هم متصل میکنه.
یه نوع دیگه ی Proxy Server ها که کاربران ایرانی باهاش خوب آشنا هستند، Anonymizing proxy server ها هستند. اینها همون سایتای Proxy محسوب میشن که شما بهشون وصل میشین، در قسمت مخصوصشون آدرس درخواستی تون رو وارد میکنین و سپس میتونین سایت ف ی ل ت ر شده تون رو مشاهده کنین انگاری اصلا این سایت ف ی ل ت ر نشده !
توضیحات بالا رو اگر خوب خونده باشین، تا الان باید ایده ی اولیه ایی در مورد اینکه Proxy Server ها عملا چی هستند دستتون اومده باشه که خیلی خوبه. حالا میخوام یه کمی در برخی از سرویسهای ارائه شده با Proxy Server ها ریز بشم تا اگر خدا خواست بتونم شما رو متوجه چگونگی ساز و کار برخی از این PS ها بکنم.
ساز و کار Web Proxy Server ها
مهمترین نوع پراکسی ها Web Proxy ها هستند که کارشون دادن اینترنت به مشتریان هستش. یادمه چند سال پیش که تازگیا سیستم ف ی ل ت ر ینگ با قدرت در عرصه ی کشور ظاهر شده بود (!) یکی از راههای دور زدن ف ی ل ت ر ینگ استفاده از Web Proxy ها بود بدینصورت که شما یک آدرس IP بهمراه یک Port (که غالبا 8080 بود و توضیح میدم چرا) دریافت میکردین، بعدش میرفتین توی قسمت تنظیمات Browserتون و این آدرس رو در قسمت Proxy Server وارد میکردین و بعدش... یه دفعه میدیدین که ف ی ل ت ر ه دود میشد میرفت هوا !
ولی واقعا در این روند چه اتفاقی میفته ؟ در اینحالت شما یک آدرس IP بهمراه یک Port دارین. آدرس مربوطه به سروری در داخل دنیای اینترنت اشاره داره که آماده ی شنیدن درخواستهای ارسالی بهش و گرفتن جواب اون درخواستها هستش و پورت مربوطه (معمولا 8080) پورتی هستش که به طور بین المللی برای دسترسی به Proxy Server ها در نظر گرفته شده و این دستگاههای بیگناه بر روی این پورت اقدام به گوش دادن به درخواستها میکنند.
1. شما درخواستتون رو به کمک Web Browserتون ارسال میکنین.
2. Browser درخواست رو به Proxy Serverیی که براش ذکر کردین میفرسته.
3. در بین راه درخواستتون به دست Firewall محترمتون میرسه که چک میکنه و میبینه که آدرس Proxy Server فوق (که آدرس Destination هست) هنوز درون لیست سیاهش قرار نگرفته و سپس بهمین دلیل اجازه ی ارسال درخواست رو میده.
4. Proxy Server درخواست رو میگیره، پردازش میکنه و سپس به دنبال محتوای درخواستی میره.
5. جواب درخواست توسط Proxy Server به شما فرستاده میشه که در میانه ی راه دوباره دست Firewallتون میفته.
6. Firewall با دیدن اینکه جواب فوق از مسیری میاد که در لیست سیاهش نیست، باز هم اجازه ی عبور جواب رو میده.
7. جواب به شما میرسه و میتونین سایت مورد نظر رو ببینین.
عکس 2 : مراحل طی شده برای دسترسی به یک سایت توسط Proxy Server
این راهکار تا زمانی جواب میداد که Content Filtering Proxy ها نبودن (خدا سال پیش!) و هنگامیکه این دوستان پا به عرصه گذاشتن اوضاع فرق میکرد بخصوص که برخی از این دوستان (Content Filtering Proxy ها) میتونن بسته ی ارسالی رو باز کنن و توش رو چک کنن. در اینحالت میتونن اون وسط مسطا آدرس درخواستی شما که برای Proxy Server ارسال کردین رو مثل موشی که از خمره ی روغن میکشن بیرون تشخیص بدن و بعدش هست که زرتی اونرو از لیستشون چک میکنن و سپس متوجه تیز بازی شما میشن و بعدش هم ف ی ل ت ر تون میکنن !این رو گفتم ولی یکی از استفاده های مهم Web Proxy ها رو در شبکه های داخلی نگفتم ! راستشو بخواین ممکنه که شما شبکه ایی داشته باشین و بخواین درون این شبکه فقط دسترسی بر اساس محتوای Web بدین (که میشه پورتهای 80 و 8080) و به هیچ وجه نمیخواین که کاربرانتون با استفاده از چیزهای جیزی مثل Skype و یا eMule و هر نرم افزار دیگه ایی که مبتنی بر اینترنت و پورتهای غیر از پورتهای وب کار میکنه، بتونن با اینترنت ارتباط برقرار کنن.
در اینحالت، شما میاین و با پیاده سازی یک Web Proxy در داخل شبکه تون، کاربران رو مجبور به استفاده از پراکسی فوق میکنین. توی این سناریو، کاربرا حتی نمیتونن از سایتای اینترنتی Ping هم بگیرن ! و تنها راه استفاده شون از اینترنت این خواهد بود که بیان و با Browserشون به نت وصل بشن.
با اینکار ما نه تنها میتونیم ترافیک رو به کمک پراکسی مون کنترل کنیم، بلکه میزان مصرف هر یوزر، مقدار پهنای باند مورد استفاده و حتی ف ی ل ت ر ینگ رو هم میتونیم روی اونها اعمال کنیم. ایجاد گزارشات بر اساس کاربر اتصالی به اینترنت هم یکی دیگر از موهبات عظیم استفاده از Proxy Server هاست که نمیتونیم روی کاربران NAT اعمالشون کنیم.
پیاده سازی Proxy Server های مرتبط دهنده ی وب و پراکسی سرورهای داخلی دقیقا مثل هم هستش و تنها نوع استفاده هستش که اونها رو میتونه تا حدی کوچکی از هم متمایز کنه. مثال بارز برای چنین نرم افزاری هم ISA Server هستش که با نصبش میتونین کاربران رو مجبور به استفاده از Web Proxy به جای روند عادی NAT بکنین