صفحه اول > مقالات

 

 

بستن درگاه ها بدون استفاده از حفاظ

 

مقدمه

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

برای بستن درگاه ها ابزارها و روش های متنوعی وجود دارد. استفاده از حفاظ ها[2] به عنوان یکی از رایج ترین این روش هاست. استفاده از این ابزار با توجه به هزینه های انواع مختلف آن و همینطور پیچیدگی استفاده از آن می تواند برای بعضی از کاربران مشکل آفرین باشد.

در این مقاله ضمن معرفی مفهوم درگاه روش هایی برای بستن درگاه ها به صورت دستی مورد معرفی قرار می گیرند.

  

 

 

درگاه چیست؟

درگاه کانالی ارتباطی است برای کامپیوترهای موجود بر روی شبکه.

برای برقراری ارتباط بین کامپیوترهای مختلف متصل به شبکه استانداردهای متنوعی تدوین شده اند. این استانداردها به روش های انتقال اطلاعات می پردازند و هدف آنها بوجود آوردن امکان تبادل اطلاعات بین سیستم های مختلف است. استاندارد TCP/IP یکی از این استانداردهاست و پروتکلی نرم افزاری برای ساختاردهی و انتقال داده بر روی شبکه (مانند اینترنت) می باشد. از مهمترین مزایای این پروتکل ها عدم وابستگی آنها به سیستم عامل کامپیوترها است و بنابراین انتقال اطلاعات بین کامپیوترهای مختلف موجود بر روی شبکه امکان پذیر می شود.

هر کامپیوتر برای ورود به دنیای اینترنت باید یک آدرس IP [3] معتبر داشته باشد. آدرس IP  ساختاری به صورت زیر دارد:

###.###.###.###

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

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

در مقام مقایسه می توان شماره درگاه را با شماره تلفن داخلی مقایسه نمود. شماره تلفن مانند آدرس IP به صورت یکتا مقصد تماس را مشخص می کند و شماره داخلی نشانگر فردی است که تماس باید با او برقرار شود.

شماره درگاه  می تواند عددی بین ۰ تا ۶۵۵۳۶ باشد. این بازه به سه دسته اصلی زیر تقسیم بندی شده است:

·         ۰ تا ۱۰۲۳ که «درگاه های شناخته شده» هستند و برای خدماتی خاص مانند FTP (درگاه ۲۱)، SMTP (درگاه ۲۵)، HTTP (درگاه ۸۰)، POP3 (درگاه ۱۱۰) رزرو شده اند.

·         درگاه های ۱۰۲۴ تا ۴۹۱۵۱ «درگاه های ثبت شده» هستند. به عبارت دیگر این درگاه ها برای خدمات، ثبت شده اند.

·         درگاه های ۴۹۱۵۲ تا ۶۵۵۳۶ «درگاه های پویا و/ یا اختصاصی» هستند. به عبارت دیگر هر شخصی می تواند در صورت نیاز از آنها استفاده نماید.

 

 

راه های بستن درگاه ها بدون استفاده از حفاظ

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

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

 

 

 

 

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

یکی از موثرترین روش هایی که می توان برای بستن درگاه های باز مورد استفاده قرار داد، متوقف نمودن سرویسی  است که بر روی درگاه به ارتباطات گوش فرا داده است. این کار را در Windows 2000 می توان با استفاده از ابزار Control Panel > Administrative Tools > Services و متوقف نمودن سرویس هایی که مورد نیاز نیستند، انجام داد. به عنوان مثال اگر Web services در سیستم مورد نیاز نیست می توان IIS را متوقف نمود. در Unix باید فایل های /etc/rc.d  را ویرایش نمود، و یا از یکی از ابزارهایی که برای این کار در سیستم های Unix و شبیه Unix  وجود دارد (مانند linuxconf) بهره گرفت.

غیر از متوقف کردن سرویس ها، می توان درگاه ها را نیز بر روی ماشین فیلتر نمود. در ویندوز این کار با استفاده از مکانیزم فیلترینگ داخلی انجام پذیر است. برای سیستم عامل ویندوز 2000 می توان از ابزار پیکربندی که در Control Panel > Network>  Local Area Connection > Properties > Internet Protocol (TCP/IP) > Properties > Advanced > Options > TCP/IP Filtering مخفی شده است بهره گرفت. با استفاده از این گزینه می توان بسته های TCP و UDP  را به گونه ای فیلتر نمود که فقط درگاه های خاصی باز باشند و بسته های اطلاعاتی سایر درگاه ها اجازه عبور نداشته باشند. علاوه بر این، در ویندوز می توان فیلترهای محلی (برای درگاه ها و یا میزبان ها) هم تعریف نمود. برای این کار  باید مسیر زیر را طی نمود:

 Control Panel > Administrative Tools> Local Security Policy> IP Security Policies on Local Machine>

Secure Server(Require Security)>  Add

 علاوه بر این بیشتر حفاظ های شخصی هم قابلیت فیلتر بسته های اطلاعاتی مربوط به درگاه های خاص را دارا هستند.

در سیستم عامل های Linux و شبهUnix نیز تعداد زیادی از ابزارهای متنوع برای فیلتر کردن درگاه های ورودی وجود دارد. IPChains که به صورت پیش فرض بر روی بسیاری از نسخه های جدید Linux نصب می شود از جمله ابزارهای مناسب است.


 


[1]- Open ports

[2]- Firewall

[3]- Internet Protocol