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

 

 

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

 

مقدمه

درگاه هاي باز[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