Port Knocking چیست و راه اندازی آن بر روی میکروتیک

2 1,813
Telegram_GEEKBOY

اینترنت از تعدادی بسیار زیادی Node که به منظور فراهم آوردن سرویس های مختلف به یکدیگر متصل شده اند، تشکیل شده است. در این شبکه به منظور کنترل ترافیک و افزایش امنیت از فایروال، IDS و IPSهای مختلفی استفاده شده است اما با این وجود شبکه های مختلفی مورد حمله قرار می گیرند. عموما هر مهاجم ابتدا سعی در جمع آوری اطلاعات کاملی نظیر پورت های باز و سرویس های در حال اجرا سیستم قربانی دارد. Port Knocking یک تکنیک برای جلوگیری از حمله به روش کشف و استفاده از سرویس های آسیب پذیر یک میزبان شبکه می باشد در حالی که کاربران احراز هویت شده به این سرویس ها دسترسی دارند. توجه داشته باشید با وجود ابزارهای کاربردی گوناگون مانند پورت اسکنرها و… کشف آسیب پذیری های یک شبکه کار نه چندان سختی می باشد.

Port Knocking یک سیستم احراز هویت مبتنی بر فایروال میکروتیک است که براساس پورت های بسته برای احراز هویت کاربران استفاده می کند. این سیستم برای کاربرانی که نیاز به دسترسی به سرورهایی که در دسترس عموم نمی باشد، مناسب است و موجب اضافه شدن یک لایه امنیتی به سیستم می شود.

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

Port Knocking شبیه کوبیدن درب به صورت رمزی است و می تواند از پروتکل های TCP,UDP,ICMP و… یا ترکیبی از آنها در نوشتن رول Port Knocking استفاده کنید.

به بیان دیگر Port Knocking از 4 گام تشکیل شده است:

Port Knocking چیست و راه اندازی آن بر روی میکروتیک

در گام اول کلاینت A به برنامه ای که روی پورت n در حال گوش کردن است، نمی تواند متصل شود. همچنین کلاینت B نیز روی هیچ پورتی توانایی برقراری اتصال را ندارد.

Port Knocking چیست و راه اندازی آن بر روی میکروتیک

در گام دوم کلاینت A به ترتیب به مجموعه ای از پورت های از پیش تعیین شده، پکت SYN ارسال می کند.

Port Knocking چیست و راه اندازی آن بر روی میکروتیک

در گام سوم، زمانی که فرآیند سرور (فایروال) یک Port Knocking معتبر را شناسایی کرد، اقدام به باز کردن پورت n برای آن کلاینت می نماید.

Port Knocking چیست و راه اندازی آن بر روی میکروتیک

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

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

در این مقاله قصد داریم یک Port Knocking ساده با استفاده از پروتکل ICMP را برروی فایروال میکروتیک پیکربندی کنیم.

جهت تنظیم Port Knocking روی فایروال میکروتیک به صورت زیر اقدام نمایید:

ابتدا نگاهی به IP Address های این دیوایس خواهیم داشت.

نظیم Port Knocking روی فایروال میکروتیک

این شرکت از طریق 2 لینک یعنی شاتل و آسیاتک به اینترنت متصل می باشد.

در این سناریو فرض شده است آدرس های IP استاتیک سازمان 5.250.125.247 و 94.182.52.35 می باشد. قصد داریم Port Knocking را روی لینک های WAN این سازمان راه اندازی کنیم.

همانگونه که در تصویر زیر مشاهده می کنید، ما در حال حاضر از طریق ISP عصر انتقال داده به Public IP Address های سازمان خود دسترسی داریم. به عبارت دیگر دسترسی به Public IP Address های ما برای همگان فراهم است.

نظیم Port Knocking روی فایروال میکروتیک

در گام بعد مطابق شکل به مسیر IP -> Firewall و سربرگ Filter Rules رفته و روی Add کلیک نمایید تا پنجره زیر نمایان شود.

نظیم Port Knocking روی فایروال میکروتیک

سپس اقدام به تعریف رول های زیر می نماییم.

رول اول)

نظیم Port Knocking روی فایروال میکروتیک

رول دوم)

نظیم Port Knocking روی فایروال میکروتیک

رول سوم)

نظیم Port Knocking روی فایروال میکروتیک

در نهایت اقدام به افزودن یک رول برای Drop کردن کلیه ترافیک به مقصد روتر از سمت اینترفیس های PPP می نماییم.

نظیم Port Knocking روی فایروال میکروتیک

همان گونه که در تصویر زیر مشاهده میکنید، در حال حاضر هیچ کسی از طریق اینترنت به این روتر دسترسی ندارد، مگر آنکه Knocking انجام دهد.

نظیم Port Knocking روی فایروال میکروتیک

لازم به ذکر است مقدار Packet Size ای که در فیلتر رول مشخص میکنید، همواره باید 28 بایت بیشتر از مقداری باشد که به عنوان سایز پکت Ping در نظر دارید. علت این امر در فرمول زیر بیان شده است.

IP Header (20 Bytes) + ICMP Header (8 Bytes) + Packet Size

شرح عملکرد:

در ابتدا آدرس IP شخصی که اقدام به Ping نمودن یکی از Public IP Address ها با سایز 72 بایت می نماید، به مدت 5 دقیقه در آدرس لیست tmp1 قرار می گیرد. اگر در این مدت زمان، همان شخص مجددا اقدام به Ping نمودن یکی از Public IP Address ها با سایز 50 بایت نماید، به مدت 15 دقیقه آدرس IP وی در آدرس لیست tmp2 قرار میگیرد و توسط رول بعد، فایروال دسترسی وی را Allow خواهد کرد.

نظیم Port Knocking روی فایروال میکروتیک

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

منبع: nooran

2 نظرات
  1. moghaddam می گوید

    سلام آیا برای عملیات Port Knocking ابزار خوب و قابل اعتمادی برای پلتفورم ویندوز و یا اندروید سراغ دارید که بتوان بوسیله ی آن پکت های مورد نظر خود را برای Port Knocking به سمت روتر مقصد فرستاد؟

    1. سعید می گوید

      سلام
      راستش با هیچ کدوم از این برنامه ها کار نکردم ولی با یه سرچ پیدا کردم و حتما بازم هست. امیدوارم مفید باشن
      https://sourceforge.net/projects/knockknock/
      https://play.google.com/store/apps/details?id=com.smpaine.portknocker&hl=en
      https://play.google.com/store/apps/details?id=com.xargsgrep.portknocker&hl=en

ارسال یک نظر

آدرس ایمیل شما منتشر نخواهد شد.

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