خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه Block و Unblock کردن Ping در لینوکس اوبونتو

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
برای تست برقرار بودن ارتباط در شبکه های کامپیوتری ابزاری با نام PING وجود دارد که از آن بسیار استفاده می شود. کاربران بعضا نیاز به بلاک کردن server request های ناخواسته برای ایمن نگه داشتن سیستم خود و محافظت از سرور در برابر هر نوع حمله دارند. در این مقاله نحوه مسدود کردن درخواست های PING را خواهیم دید. ضمن اینکه در این مقاله نحوه Unblock کردن درخواست های Ping را هم خواهیم دید.

نرم افزار سامانه مودیان راهکار
تمامی مراحل ذکر شده در این مطلب در اوبونتوی 20.04 انجام شده است.



Packet Internet Groper (PING)

PING برای بررسی وضعیت اتصال بین هر منبع و هر مقصدی استفاده می شود. کاربران می توانند زمان صرف شده توسط پکت ها برای دریافت پاسخ را بدانند. در این مقاله به بررسی دستورات iptables می‌پردازیم که در سیستم‌های اوبونتو یا دبیان یا لینوکس مینت 20 برای برقراری ارتباط با سرور برای Block کردن و Unblock مورد نیاز هستند.


ICMP پروتکلی است که برای ارسال درخواست های PING استفاده می شود. دستور PING قابلیت ارسال مداوم بسته های ICMP را دارد. این مکانیسم ارسال بسته همین طور بدون توقف ادامه می یابد مگر اینکه کاربران با فشار دادن میانبر Ctl+C از صفحه کلید آن را متوقف کنند.

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
برای بلاک کردن درخواست‌های PING، کاربران باید درخواست‌های ICMP را بلاک کنند. برای بلاک کردن درخواست های PING روش های زیر را می توانید به کار بگیرید. روش ها عبارتنداز:

Kernel parameters
means of iptables

برای مسدود کردن درخواست‌های PING به صورت موقت یا دائم، می‌توانید از متد کرنل استفاده کنید. پارامترهایی که برای کرنل وجود دارد را می توان با استفاده از دستور sysctl ویرایش و تغییر داد.

اولین راه برای مسدود کردن درخواست های PING، بلاک کردن موقت Ping است و با استفاده از دستور sysctl انجام می شود. این دستور در سیستم های مبتنی بر پلتفرم لینوکس برای اصلاح یا خواندن و نوشتن پارامترهای کرنل در دایرکتوری /proc/sys استفاده می شود. پس برای بلاک کردن درخواست های Ping کافیست که دستور زیر را در Terminal اجرا کنید:

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1

در اینجا، net.ipv4.icmp_echo_ignore_all پارامتری است که سیستم را برای پاسخگویی به درخواست ICMP دریافتی کنترل می کند. 0 به معنای Yes بوده و 1 به معنای عدم پاسخ به درخواست است. پس در دستور فوق که 1 است، به این معنی که همه درخواست های Ping رد و reject شوند.

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
حالا اگر آن سیستم را Ping کنید هیچ پاسخی دریافت نخواهید کرد.

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
حالا برای Unblock کردن درخواست های Ping روی همین سیستم، کافیست در دستور فوق، عدد 1 را به 0 تغییر دهید و دستور را اجرا کنید و حالا خواهید دید که به درخواست های Ping پاسخ می دهد.

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0

کاربران همچنین می توانند از مقدار پارامتر کرنل استفاده کرده و آن را در فولدر /proc/sys در دستور echo تغییر دهند. برای این کار باید روی اکانت root سوئیچ کنید که با دستور زیر می توانید به اکانت روت اوبونتو سوئیچ کنید.

sudo -s

سپس دستور زیر را در ترمینال وارد کرده تا Ping در این سیستم بلاک شود.

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

با اجرای دستور زیر هم می توانید Ping را در این اوبونتو Unblock کنید.

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

خب، با روش های فوق بصورت موقت موفق به بلاک و Unblock کردن درخواست های Ping در اوبونتو شدیم. حالا می خواهیم به طریق دیگری بصورت دائم دستور Ping را بلاک کنیم.
برای این منظور باید فایل /etc/sysctl.conf را ویرایش کنیم. پس فایل مذکور را با ویرایشگر nano و با کمک دستور زیر باز کنید:

sudo nano /etc/sysctl.conf

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

net.ipv4.icmp_echo_ignore_all = 1

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
سپس با فشردن کلیدهای Ctrl+o فرم را Save کرده و سپس Enter کنید تا تغییرات ذخیره شود. حالا برای برگشت به خط فرمان کلیدهای ctrl+X را بزنید.
برای منعکس کردن تغییر بدون ریستارت سیستم، دستور زیر را اجرا کنید:

sysctl -p

بدین ترتیب این سیستم درخواستهای Ping را بلاک می کند و به این درخواست ها پاسخی نمی دهد.
حالا در ادامه می خواهیم نحوه Unblock کردن Ping را با هم بررسی کنیم. که اینکار بسیار ساده است. در ویرایشگر فوق کقدار که برابر 1 بود را به 0 تغییر دهید و به همان روش فرم را ذخیره کنید.

net.ipv4.icmp_echo_ignore_all = 0

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
سپس برای منعکس کردن تغییر بدون ریستارت اوبونتو، دستور زیر را اجرا کنید:

sysctl -p

حالا خواهید دید که Ping از حالت بلاک در این سیستم خارج می شود و به این درخواست پاسخ می دهد.

How to block/unblock PING requests using iptables

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

sudo apt-get install iptables

نصب iptables همانطور که در تصویر زیر مشاهده می شود، آغاز می شود.

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
اکنون برای تایید نصب iptables کافیست که دستور زیر را در ترمینال اجرا کنید.

iptables --version

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
در خروجی دستور فوق ورژن iptables نمایش داده می شود.
Iptables یک موتور فیلتر شبکه بر اساس rule است. کاربران می توانند این قوانین را برای جلوگیری از ورود و خروج ping به سرورهایشان اضافه کنند. ما مجموعه ای از مثال ها را مورد بحث قرار خواهیم داد تا Rule ها را برای مسدود کردن ping بررسی کنیم.
در دستور زیر -A به معنای افزودن یک Rule به iptables است و این دستور درخواست های Ping را Reject می کند. ولی درخواست reject شود، پیغامی هم پس از اجرای دستور ping به کاربر نمایش داده می شود.

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
حالا به جای دستور فوق از دستور زیر هم می توانید استفاده کنید ولی دستور زیر درخواست ها را Drop می کند. تقریبا هر دو یعنی Reject و Drop یک کار اجام می دهند با این تفاوت که Drop بدون هیچ پیغامی بسته ping را رد می کند.

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

حتی از دستور زیر هم برای بلاک کردن Ping می توانید استفاده کنید:

sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP

دستور قبلی، Ping در Input یا در لحظه ورود به سیستم بلاک می کند ولی دستور دوم درخواست Ping را اجازه عبور می دهد ولی در زمان خروج از سیستم آن را بلاک می کند.
اکنون، روش فعال کردن دستورات PING از iptables را مورد بحث قرار خواهیم داد. برای بررسی تمام قوانینی که به iptables اضافه شده اند، می توانید از دستور زیر استفاده کنید.

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
در خروجی لیستی مانند شکل زیر را خواهید داشت:

نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
کاربران می توانند مجموعه قوانینی را که به عنوان بلاک کننده PING در iptables اضافه شده را حذف کنند. همانطور که در مثال بالا نشان داده شده است، ICMP رد می شود. بنابراین، ما آن را حذف می کنیم:

sudo iptables -D INPUT -p icmp --icmp-type echo-request -j REJECT

کاربران با کمک سوئیچ D- که در دستور فوق هم استفاده شده، هر Rule ای را حذف کنیم.
برای حذف قوانین سفارشی اضافه شده به iptables، دستور زیر را در پنجره ترمینال تایپ کنید تا هر قانون ناخواسته حذف شود:

sudo iptables -F

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز