آموزش بستن icmp بر روی آی پی پابلیک
ما در ادامه ی مباحث فیلتر رول های فایروال میکروتیک، دو سناریوی کاربردی را برایتان در نظر گرفتیم و جزو مباحثی است که در واقع باید پیاده سازی شود و دقیقاً با فیلتر رول ها مرتبط است. ما بعد از این موارد به سراغ پورت اسکن می رویم و پورت اسکن را روی میکروتیکمان می بندیم؛ اما در این بخش ما تصمیم داریم تا در رابطه با بستن icmp بر روی آی پی پابلیک شما، سناریو را پیاده سازی کنیم. دقیقاً تصمیم داریم که پینگ را برای آی پی پابلیک شما ببندیم و دیگر هیچ ربات یا هکری نتواند پینگ آی پی پابلیک شما را داشته باشد.
آنچه در این مقاله می خوانید:
توضیحات اولیه
ابتدا به میکروتیک می رویم و توضیحی را در همین ابتدا برایتان شرح می دهیم. کامپیوتر یا سیستمی که در حال مشاهده کردن آن هستید در شبکه ی LAN این میکروتیک نیست و در شبکه ی LAN دیگری وجود دارد؛ یعنی سیستم ما از طریق مک (لایه ی ۲) با winbox به میکروتیک وصل شده و خود سیستم ما در LAN که در تصویر مشاهده می کنید، قرار ندارد؛ یعنی در یک آی پی پابلیک دیگر وجود دارد.
ما یک اینترنت اختصاصی به میکروتیکی که در تصویر مشاهده می کنید داده ایم و آی پی پابلیک آن، ۲.۱۷۶.۱۰۹.۱۳۰ است؛ یعنی ما در شبکه میکروتیکی را داریم که اینترنتی به آن وصل شده است و کانکشن pppoe را روی آن پیاده سازی کرده ایم و آی پی پابلیکی که از isp گرفته است، static هم نیست و ۲.۱۷۶.۱۰۹.۱۳۰ است.
حالا سیستم ما در یک شبکه ی دیگر وجود دارد و در حال گرفتن اینترنت از روتر دیگری است. اگر ip config را وارد کنیم، IP ای که ما داریم، ۲۰.۸۰ است.
اگر روی مرورگر برویم و whats my iP را تایپ کنیم، مشاهده خواهیم کرد که آی پی ما، ۴۶.۱۰۰.۵۳.۲۴۴ است؛ یعنی آی پی شبکه ی ما که سیستممان به آن وصل است، این آی پی پابلیک را دارد و روتر ما در یک آی پی پابلیک دیگر است و اصلاً ربطی به هم ندارند.
فرض کنید که ما یک هکر با آی پی ۴۶.۱۰۰.۵۳.۲۴۴ هستیم و می خواهیم به میکروتیک شما با آی پی ۲.۱۷۶.۱۰۹.۱۳۰ attack بزنیم. ما در واقع در حال پیاده سازی یک مثال عملی هستیم. حال شاید این سؤال برایتان پیش بیاید که با توجه به این که این میکروتیک در یک شبکه ی دیگر وجود دارد، ما چگونه در حال وصل شدن به این میکروتیک هستیم؟
کاری که ما کردیم این بود که ما فقط یک پورت شبکه از همین میکروتیکی که وجود دارد را به LAN خودمان وصل کردیم و نمی توانیم آن را به لحاظ آی پی ببینیم. ما در winbox در حال وصل شدن به میکروتیک از طریق مچ هستیم. این محیط میکروتیک ما است که قرار است کارهای مرتبط با icmp را روی آن انجام دهیم و باید رولی که مربوط به icmp است را بنویسیم.
بستن icmp روی آی پی پابلیک
الان ما می خواهیم با کامندپرامپتمان یعنی کامندپرامپت سیستممان که با آی پی پابلیک ۴۶.۱۰۰ است یعنی در یک شبکه ی دیگر است از آی پی پابلیک روتر میکروتیکمان، پینگ بگیریم. می نویسیم ping 102.176.109.130 و مشاهده می کنیم که پینگ آن را داریم.
حالا ما می خواهیم اولین رول را روی فیلتر رول ها ایجاد کنیم. تنها کاری که ما تا به این مرحله انجام دادیم، این بود که یوزر میکروتیکمان را عوض کردیم و کل سرویس پورت های پیش فرض میکروتیک را غیر فعال کردیم که در قسمت بعدی، ما می خواهیم مقداری نیز در مورد سرویس پورت ها صحبت کنیم.
ابتدا دو رولی که از قبل داشتیم را غیر فعال می کنیم و اولین رولمان را می نویسیم.
Chain را قطعاً در حالت input قرار می دهیم؛ چرا؟ چون پکت ها در حال وارد شدن به خود میکروتیک هستند. پروتکل آن چیست؟ پروتکل icmp، چون ما می خواهیم پینگ آن را ببندیم و بهتر است که اینترفیس آن را نیز انتخاب کنیم که پکت ها در حال وارد شدن از چه درگاهی هستند. چه کانکشنی را ساختیم؟ چون روی اینترنت هستیم، اینترفیس را pppoe-out2 قرار داده
و Action آن را نیز در حالت drop قرار می دهیم. سپس Apply کرده و Ok را می زنیم.
حال اگر مجدداً پینگ بگیریم، نباید به ما پینگ بدهد و کانتر مورد نظر باید شروع به شمارش کند؛ یعنی باید کانتر بیندازد. بنابراین ما دوباره پینگ می گیریم؛ ping 192.176.109.130. مشاهده می کنید که اولین پکت، Time Out شد و دومین پکت نیز به همین صورت؛ یعنی به تعداد درخواست هایی که ارسال می کنیم، برایمان شماره می اندازد. حجم آن نیز، نوشته شده است. مشاهده می کنید که ۴ درخواست آمده که هر ۴ درخواست را drop کرد.
ما توانستیم icmp را روی pppoe ببندیم و دیگر پینگی نداشته باشیم. حال آیا ما می توانیم به جای این که در قسمت In Interface کانکشنی را انتخاب کنیم، آی پی پابلیکمان را در دستینیشن آن بزنیم؟ چرا نتوانیم؛ می توانیم؛ یعنی در قسمت Dst Address می نویسیم: ۲.۱۷۶.۱۰۹.۱۳۰.
این بدین معنا است که اگر input بود و در حال وارد شدن به این آی پی یا درگاه بود که همان آی پی پابلیک ما است. سورس آن چه باشد؟ مهم نیست و می تواند هر چیزی باشد و هر چه که بود و در حال اجرا کردن icmp با این آی پی بود، آن را drop کن.
حال مجدداً کانتر آن را صفر می کنیم. مشاهده خواهید کرد که دوباره در حال drop شدن است. تفاوت آن چیست و چرا در حالت اول ما اینترفیس را انتخاب کردیم؛ اما در این بخش آی پی را نوشتیم؟
آی پی ما در حال حاضر، آی پی پابلیک است اما static نیست؛ Valid یا معتبر است؛ اما ثابت یا static نیست؛ یعنی در حال تغییر کردن است و یعنی هر بار که کانکشن pppoe یک disconnect و connect بشود، آی پی آن عوض می شود و یک آی پی جدید از isp می گیرد.
هنگامی که آی پی آن تغییر کند، دیگر این رولی که ما در این بخش نوشتیم به کارمان نمی آید و عملاً دیگر با آن مچ نمی شود و icmp دوباره راه می افتد و شخص می تواند پینگ را داشته باشد. موضوع مهمی که وجود دارد، این است که هنگامی که ما در حال کار کردن روی اینترنت هستیم، پیشنهاد می کنیم حتی زمانی که آی پی static نیز دارید، باز هم از اینترفیس استفاده کنید.
هنگامی که اینترفیس را وارد می کنید، یعنی هر IP ای که روی این اینترفیس داشت؛ یعنی هر آی پی پابلیکی که داشت و دیگر برای ما مهم نیست که چه IP ای دارد و مهم نیست که آی پی آن در حال تغییر کردن است یا خیر. سعی کنید که به جای Dst Address، اینترفیس را قرار دهید و می توانیم لیستی از اینترفیس ها نیز بسازیم. برای مثال اگر چند اینترنت داریم یا چند کانکشن pppoe ساختیم، می توانیم لیستی از آن ها بسازیم و در این بخش، آن لیست را انتخاب کنیم.
حال برای این که وضع بهتری برقرار باشد، ما اینترفیس را روی pppoe-out2 قرار می دهیم و Action ما نیز در حال drop شدن است.
مروری بر بخش های قبلی داشته باشیم. الان این سناریوی ما انجام شد؛ یعنی ما icmp را بستیم. حال ما می خواهیم آی پی های سورس را بگیریم؛ یعنی می خواهیم بفهمیم که چه کسانی در حال attack زدن به ما هستند و چه کسانی در حال گرفتن پینگ آی پی ما هستند.
ما می خواهیم این موضوع را بفهمیم. چگونه؟ خیلی راحت است. ما می توانیم یک Address List بسازیم. ابتدا مثبت (+) را می زنیم. اگر Chain در حالت input، پروتکل icmp و اینترفیس pppoe-out2 بود، Action آن در این مرحله drop نشود؛ یعنی Action آن Add Src to Address list بشود و با چه اسمی؟ برای مثال با اسم test2. می توانیم زمان را نیز برای آن انتخاب کنیم که چه مدت باشد و بهتر است که این کار را انجام دهیم. سپس Apply و بعد Ok را می زنیم.
حال ما ابتدا drop کردیم و بعد سورس را گرفتیم. عملاً این کار اتفاق نمی افتد و باز هم drop می شود. حال در این بخش، مبحث اولویت بندی به میان می آید. اگر کانترهای آن را صفر کرده و پینگ بگیریم، هیچ لیستی برایمان نمی سازد؛ چرا؟ چون در اولی مچ و drop و تمام می شود.
برای این که drop نشود، ما باید چه کار کنیم؟ ما باید جای رول های ۷ و ۸ را با هم عوض کنیم. مشاهده می کنیم که کانتر می اندازد. ابتدا سورس را گرفته و بعد دراپ می کند.
حال اگر به Address list برویم و test2 را بزنیم، آی پی پابلیکمان را مشاهده می کنیم؛ یعنی آی پی سیستممان را نشان می دهد. نشان می دهد که این آی پی پابلیک در حال اجرا کردن پینگ به آی پی pppoe-out2 شما است و در حال استفاده کردن از پروتکل icmp می باشد.
پینگ خیلی برای ما اهمیت ندارد و به همین خاطر، ما برای آن Address list نمی سازیم و این پروسه را صرفاً جهت مرور قسمت های قبلی اجرا کردیم.
حال ما drop را در بالاترین سطح قرار می دهیم که در بالاترین اولویت باشد و هر کس که در حال اجرای icmp روی pppoe بود، باید drop شود. مشاهده می کنیم که پکت ها دراپ می شوند و خیالمان از این بابت راحت است.
کلام آخر
نکته ی مهم چیست؟ این است که باید icmp را حتماً روی آی پی پابلیک ببندیم. ما در قسمت های قبلی نیز به این موضوع اشاره کردیم. اگر آی پی پابلیک شما ثابت نیست، شما یک مرحله امن تر هستید و هکرها به دنبال آی پی های پابلیکی می گردند که static یا ثابت هستند و تغییر نمی کنند؛ یعنی اگر شما آی پی پابلیک static دارید، دقت کنید که جلوی چشم هکرها هستید و هکرها از انواع روش ها استفاده می کنند تا شما و پورت هایتان را پیدا کرده و سیستمتان را هک کنند.
بنابراین، این نکته ی مهمی است که اگر آی پی شما ثابت است، باید خیلی دقت کنید و باید به درستی تمام راهکارهایی که به شما می گوییم را پیاده سازی کنید.
حال در قسمت بعدی، مورد دیگری است که می خواهیم با هم چک کنیم و بعد به سراغ پورت اسکن خواهیم رفت.
بسیار عالی وجامع
بسیار سپاس از توضبحات روان شما
ارادتمندم
ممنون و سپاس از شما