مقالات

  |   مقالات   |  

پروکسی چیست؟

پروکسی چیست؟                                                   
پروکسی در لغت به معنای "وکیل" و "به نیابت کسی کاری را انجام دادن" است. در دنیای اینترنت پروکسی به کامپیوتری گفته میشود که به سایر کامپیوترها اجازه میدهد تا از طریق آن با مقصدشان یک ارتباط غیر مستقیم برقرار کنند.

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

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

پاسخ این است که برای استفاده از پروکسی دلایل زیادی وجود دارد که در زیر به مهمترین انها اشاره می کنیم:

                                                                                                                                                                                                                                                                                                                               ● بالا بردن امنیت شبکه:
گاهی مدیران شبکه برای بالا بردن امنیت شبکه شان و حفاظت کاربران در برابر هکرها از پروکسی استفاده میکنند. در این حالت به جای این که تک تک کاربران مستقیما به اینترنت متصل شوند، همگی از طریق یک پروکسی به اینترنت وصل میشوند. به این ترتیب مدیر شبکه می تواند با نصب فایروال و سایر نرم افزارهای امنیتی و با نظارت بر پروکسی از کل شبکه تحت مدیریتش محافظت کند.

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

                                                                                                                                                                                                                                                                                                         ● کش کردن(Caching)یکی از کاربردها مهم پروکسی انجام کش است. کش به یک نسخه بایگانی شده از محتویات اینترنت بر روی پروکسی گویند. فرض کنید در شبکه ای که از پروکسی ایستفاده میکند چند صد کاربر وجود دارد. حال یکی از این کاربران مخواهد اخبار سایت بی بی سی را بخواند، لذا درخواستی را به پروکسی فرستاده و پروکسی نیز صفحه مورد نظر را از سایت بی بی سی گرفته و برایش ارسال میکند. در اینجا پروکسی میتواند یک نسخه از این صفحه را بر روی هارد دیسکش ذخیره کند. حال اگر کاربر دیگری تقاضای همین صفحه را بکند دیگر لازم نیست پروکسی مجددا به سایت بی بی سی مراجعه کند، بلکه خیلی راحت نسخه ای که روی هارد دیسکش ذخیره شده را برای وی میفرستد. با انجام این کار هم به سرعت و کارایی شبکه اضافه میشود و هم از ترافیک و بار شبکه کاسته میگردد. البته انجام عمل کش، الگوریتم پیچیده ای دارد و پروکسی باید به نحوی این کار را انجام دهد تا از ارسال اطلاعات تاریخ گذشته اجتناب شود.

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

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

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


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

● پروکسی عمومی
بسیاری از پروکسی ها توسط سازمانها و مؤسسات و برای ارائه خدمت به کاربران خودشان ایجاد شده اند. این دسته از پروکسی ها از ارائه سرویس به شما امتناع خواهند کرد. برای استفاده از گروهی دیگر از پروکسی ها ممکن است نیاز به پسورد داشته باشید. برای این که بتوانید از آنها استفاده کنید باید مشترکشان شوید و آبونمان بپردازید. خوب، اگر قصد پول خرج کردن ندارید تنها گزینه باقیمانده برایتان پروکسی های عمومی و پروکسی های حفاظت نشده هستند. پروکسی های حفاظت نشده در اصل متعلق به مؤسسات و سازمانها هستند و برای استفاده داخلی خودشان طراحی شده اند ولی به علت ضعف در مدیریت و پیکربندی، به افراد خارج از آن سازمان نیز سرویس میدهند. بدیهی است که عمر این پروکسی ها بسیار کوتاه می باشد و به محض این که صاحبان پروکسی به سوء استفاده از پروکسیشان پی ببرند آن را خواهند بست. پروکسی عمومی(Public Proxy) به پروکسی میگویند که برای استفاده رایگان عموم کاربران اینترنت طراحی شده است. عملا چنین پروکسی وجود ندارد؛ چرا که ایجاد و نگهداری یک پروکسی هزینه زیادی برای صاحب آن دارد و در مقابل هیچ منفعتی هم برای او به همراه ندارد (البته بجز وب پروکسی ها). بنابراین
نسبت به پروکسی های عمومی به دیده احتیاط نگاه کنید، زیرا ممکن است متعلق به سازمانهای جاسوسی یا دزدان اینترنتی باشد. البته گاهی چنین پروکسی هایی از طرف سازمانهای مبارزه با سانسور هم راه اندازی می شوند
.
ویژگی های پروكسی
ویژگی اول
: با استفاده ازProxy Server می توان از اكثر پروتكلهای موجود در شبكه های محلی در محدوده نرم افزارهای كاربردی در شبكه هایLAN مرتبط با اینترنت استفاده كرد.

Proxy Server پروتكلهای پر كاربرد شبكه های محلی مانندIPX/SPX (مورد استفاده در شبكه های ناول) ، NETBEUI (مورد استفاده در شبكه هایLAN با تعداد كاربران كم) وTCP/IP (مورد استفاده در شبكه هایIntranet) را پشتیبانی می كند. با این ترتیب برای اینكه بتوان از یك نرم افزار كاربردی شبكهLAN كه مثلا" با پروتكلIPX/SPX روی ناول نوشته شده ، روی اینترنت استفاده كرد نیازی نیست كه قسمتهای مربوط به ارتباط با شبكه كه ازFunction Call هایAPI استفاده كرده را بهFunction Call هایTCP/IP تغییر داد بلكهProxy Server خود این تغییرات را انجام داده و می توان به راحتی از نرم افزاری كه تا كنون تحت یك شبكهLAN با ناول كار می كرده است را در شبكه ای كه مستقیما" به اینترنت متصل است ، استفاده كرد.

همین ویژگی درباره سرویسهای اینترنت مانند, FTP , Telnet , Gopher , IRC RealAudio , Pop3 و . . . وجود دارد . به این معنا كه هنگام پیاده سازی برنامه با یك سرویس یا پروتكل خاص ، محدودیتی نبوده و كدی در برنامه برای ایجاد هماهنگی نوشته نمی شود.


ویژگی دوم
: باCache كردن اطلاعاتی كه بیشتر استفاده می شوند و با بروز نگاه داشتن آنها ، قابلیت سرویسهای اینترنت نمایان تر شده و مقدار قابل توجهی در پهنای باند ارتباطی صرفه جویی می گردد.


ویژگی سوم
 Proxy Server امكانات ویژه ای برای ایجاد امنیت در شبكه دارد . معمولا" در شبكه ها دو دسته امنیت اطلاعاتی مد نظر است . یكی آنكه همه كاربران شبكه نتوانند از همه سایتها استفاده كنند و دیگر آنكه هر كسی نتواند از روی اینترنت به اطلاعات شبكه دسترسی پیدا كند . با استفاده ازProxy Server نیازی نیست كه هرClient بطور مستقیم به اینترنت وصل شود در ضمن از دسترسی غیرمجاز به شبكه داخلی جلوگیری می شود . همچنین می توان با استفاده ازSSL(Secure Sockets Layers) امكان رمز كردن داده ها را نیز فراهم آورد.
ویژگی چهارم
Proxy Server بعنوان نرم افزاری كه می تواند با سیستم عامل شما مجتمع شود و همچنین باIIS(Internet Information Server) سازگار می باشد، استفاده می گردد.
 
خدماتProxy Server
Proxy Server سه سرویس در اختیار كاربران خود قرار می دهد:

1-Web Proxy Service : این سرویس برایWeb Publishing یا همان ایجادWeb Site های مختلف درشبكهLAN مفید می باشد . برای این منظور قابلیت مهمReverse Proxing در نظر گرفته شده است. Reverse Proxing امكان شبیه سازی محیط اینترنت درمحیط داخل می باشد. به این ترتیب فرد بدون ایجاد ارتباط فیزیكی با اینترنت می تواند برنامه خود را همچنان كه در محیط اینترنت عمل خواهد كرد، تست كرده و مورد استفاده قرا دهد. این قابلیت در بالا بردن سرعت و كاهش هزینه تولید نرم افزارهای كاربردی تحت اینترنت موثر است.

2-Winsock Proxy Service : منظور، امكان استفاده ازAPI CallهایWinsock درWindows است . درWindows ، Function Call های مورد استفاده در سرویسهای اینترنت مانندTelnet ، FTP ، Gopher و . . . ، تحت عنوانWinsock Protocolss معرفی شده اند. در حقیقت برای استفاده از این سرویسها در نرم افزارهای كاربردی نیازی نیست كه برنامه نویس چگونگی استفاده از این سرویسها را پیش بینی كند.
3-Socks Proxy Service : این سرویس، سرویسSocks 4.3a را پشتیبانی می كند كه در واقع زیر مجموعه ای ازWinsock می باشد و امكان استفاده ازHttp 1.02 و بالاتر را فراهم می كند. به این ترتیب می توان در طراحیWebsite خارج ازFirewall ، Securityy ایجاد كرد.
 
معیارهای موثر در انتخابProxy Server
سخت افزار مورد نیاز
 برای هر چه بهتر شدن توانمندیهایProxy Server ، باید سخت افزار آن توانایی تحمل بار مورد انتظار را داشته باشد.

نوع رسانه فیزیكی برای ارتباط با اینترنت
 راه حلهای مختلفی برای اتصال به شبكه اینترنت وجود دارد . ساده ترین راه ، استفاده از مودم و خطوط آنالوگ می باشد . راه دیگر استفاده ازISDN و خطوط دیجیتال است كه هم احتیاج به تبدیل اطلاعات از آنالوگ به دیجیتال و برعكس در ارسال و دریافت اطلاعات ندارد و هم از سرعت بالاتری برخوردار است . روش دیگر استفاده از خط هایT1/E1 با ظرفیت انتقال گیگا بایت می باشد.

    * پیشنهاد می شود كه در شبكه های با كمتر از 250 كاربر ازISDN و از 250 كاربر به بالا ازT1/E1 استفاده شود . ( البته در ایران به علت عدم وجود خطوطISDN و كمبود خطوطT1/E1 این استانداردها كمتر قابل پیاده سازی هستند. )

هزینه ارتباط با اینترنت
دو عامل موثر در هزینه اتصال به اینترنت ، پهنای باند و مانایی ارتباط می باشد . هر چه مرورگرهای اینترنتی بیشتر و زمان استفاده بیشتر باشد ، هزینه بالاتر خواهد
 بود . با توجه به اینكهProxy Server می تواند باCaching اطلاعات این موارد را بهبود بخشد ، بررسی این عامل می تواند در تعیین تعدادProxy های مورد استفاده موثر باشد.

نوع و نحوه مدیریت سایت
:این عامل نیز در تعیین تعدادProxyها موثر است . مثلا" اگر در شبكه ای مشكل راهبری وجود داشته باشد ، با اضافه كردن تعدادProxyها ، مشكل راهبری نیز بیشتر خواهد شد.

 پروتكل های مورد استفاده
Proxy Server ها معمولا" از پروتكلهایTCP/IP و یاIPX/SPX برای ارتباط باClient ها استفاده می كنند . بنابراین برای استفاده ازProxy باید یكی از این پروتكل ها را در شبكه استفاده كرد.
    * پیشنهاد می شود در شبكه های كوچك با توجه به تعداد كاربرهاProxy Server وWeb Server روی یك كامپیوتر تعبیه شوند و در شبكه های متوسط یا بزرگ تعدادserverProxyها بیش از یكی باشد.
 
انواعProxy
تعدادی از انواعProxy Server ها به قرار ذیل می باشند:
cache Proxy: جهتcaching اطلاعات.
web Proxy: جهت جلوگیری از نفوذHacker ها و هم چنین تغییر فرمتwebpageها.
Access control Proxy: جهت ضبط اطلاعات و عملکرد کاربران در شبکه های محلی.
Anonymizing Proxy:جهت مخفی نگه داشتن اطلاعات کاربر متقاضی اطلاعات.
Hostile Proxy: معمولا توسط نفوذگران به صورت یک نرم افزار در سرور نصب می شود تا نسبت به شنود کلیه فعالیت های کاربران برای نصب کننده آن اقدام کند.
Transparent Proxy: بهProxy هایی گفته می شود که از دیدuser در شبکه وجود ندارد ، در حالی که وجود داشته و نسبت به انجام اعمال محول شده اقدام می کند.
Non-trans Proxy,Open Proxy ,Spilet Proxy ,Reverse Proxyو …انواع دیگرProxy می باشند که در فرصتی دیگر به معرفی آنها خواهیم پرداخت.
 
نحوه کارProxy 
همان طور که از تعریف انواعProxy ها می توانید حدس بزنید ،ف ی ل ت ر شکن ها در واقع نوعیAnonymizing Proxy هستند که اطلاعات مورد نظر شما را از چشم ف ی ل ت ر به دور نگه می دارند.
هنگامی که شما در محل آدرس مرورگر خود ، آدرس سایتی را وارد می کنید و یا در قسمتsearch یک موتور جستجو ، کلمه ای را تایپ می کنید ، این در خواست تبدیل به یکpacket شده و برای ارسال به سمتISP و از آنجا به سمت سرور اصلی مورد نظر شما آماده می شود.هم چنین پس از رسیدنpacket به دستISP تان ، سرور ف ی ل ت رینگ موجود درISP با خواندن محتویات آن ، ازقصد و منظور شما مطلع شده و اجازه و یا عدم اجازه عبور را صادر می کند.
هنگامی که به طور عادی نسبت به وارد کردن کلمه و یا سایتی که فیلتر شده است اقدام می کنید ، سرور فیلتر متوجه غیر مجاز بودن درخواست شما شده و پیغامAccess Denide را برای شما ارسال می کند .اما اگر از یک سرورProxy استفاده کنید ،موارد زیر اتفاق می افتد:
ابتدا شما درAddress Bar مرورگر ،آدرسProxy Server مورد نظرتان را وارد می کنید.
Home Page سرورProxy ظاهر شده و از شما می خواهد که آدرس واقعی مورد نظرتان را وارد کنید.
با وارد کردن آدرس مورد نظر درProxy ، کلمات واردشده از حالت معمول به حالت کد شده تبدیل شده و به سمت سرورProxy ارسال می شود.
سرورProxy که شما به آن وصل شده اید ،با بازیابی اطلاعات کد شده ،متوجه می شود که با کدام سرور کاردارید.
تقاضای شما از طریقProxy برای سرور مورد نظرتان ارسال می شود.
اطلاعات مورد نظر شما از سرور اصلی به سمتProxy ارسال می شود.
سرورProxy اطلاعات دریافتی را کد کرده و برای شما ارسال می کند.
و به این ترتیب چه در مسیر رفت (ارسال تقاضا)و چه در مسیر برگشت (دریافت اطلاعات)،فیلتر موجوددرISP متوجه نخواهد شد که شما تقاضای دریافت چه اطلاعاتی را کرده اید.
اما با همه این تفاصیل باید گفت راه مقابله با بدی های موجود در اینترنت ،فیلتر آنها به نحو موجود نیست ،چرا که به راحتی می توان هر ف ی ل ت ر و همین طور هر ف ی ل ت ر شکنی را دور زد .راه حل عملی و منطقی این
معضل ، واکسینه کردن مردم در مقابل این بدی هاست.به عبارت دیگر اگر بتوانیم مردم را از مزایا و معایب مطالب ،اطلاعات و اتفاقات اطراف خود مطلع سازیم ،آنگاه نیازی به مراقبت دائم از آنها نیست
.