خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
نحوه Block و Unblock کردن Ping در لینوکس اوبونتو
برای تست برقرار بودن ارتباط در شبکه های کامپیوتری ابزاری با نام PING وجود دارد که از آن بسیار استفاده می شود. کاربران بعضا نیاز به بلاک کردن server request های ناخواسته برای ایمن نگه داشتن سیستم خود و محافظت از سرور در برابر هر نوع حمله دارند. در این مقاله نحوه مسدود کردن درخواست های PING را خواهیم دید. ضمن اینکه در این مقاله نحوه Unblock کردن درخواست های Ping را هم خواهیم دید.
تمامی مراحل ذکر شده در این مطلب در اوبونتوی 20.04 انجام شده است.
ICMP پروتکلی است که برای ارسال درخواست های PING استفاده می شود. دستور PING قابلیت ارسال مداوم بسته های ICMP را دارد. این مکانیسم ارسال بسته همین طور بدون توقف ادامه می یابد مگر اینکه کاربران با فشار دادن میانبر Ctl+C از صفحه کلید آن را متوقف کنند.
برای بلاک کردن درخواستهای PING، کاربران باید درخواستهای ICMP را بلاک کنند. برای بلاک کردن درخواست های PING روش های زیر را می توانید به کار بگیرید. روش ها عبارتنداز:
برای مسدود کردن درخواستهای PING به صورت موقت یا دائم، میتوانید از متد کرنل استفاده کنید. پارامترهایی که برای کرنل وجود دارد را می توان با استفاده از دستور sysctl ویرایش و تغییر داد.
اولین راه برای مسدود کردن درخواست های PING، بلاک کردن موقت Ping است و با استفاده از دستور sysctl انجام می شود. این دستور در سیستم های مبتنی بر پلتفرم لینوکس برای اصلاح یا خواندن و نوشتن پارامترهای کرنل در دایرکتوری /proc/sys استفاده می شود. پس برای بلاک کردن درخواست های Ping کافیست که دستور زیر را در Terminal اجرا کنید:
در اینجا، net.ipv4.icmp_echo_ignore_all پارامتری است که سیستم را برای پاسخگویی به درخواست ICMP دریافتی کنترل می کند. 0 به معنای Yes بوده و 1 به معنای عدم پاسخ به درخواست است. پس در دستور فوق که 1 است، به این معنی که همه درخواست های Ping رد و reject شوند.
حالا اگر آن سیستم را Ping کنید هیچ پاسخی دریافت نخواهید کرد.
حالا برای Unblock کردن درخواست های Ping روی همین سیستم، کافیست در دستور فوق، عدد 1 را به 0 تغییر دهید و دستور را اجرا کنید و حالا خواهید دید که به درخواست های Ping پاسخ می دهد.
کاربران همچنین می توانند از مقدار پارامتر کرنل استفاده کرده و آن را در فولدر /proc/sys در دستور echo تغییر دهند. برای این کار باید روی اکانت root سوئیچ کنید که با دستور زیر می توانید به اکانت روت اوبونتو سوئیچ کنید.
سپس دستور زیر را در ترمینال وارد کرده تا Ping در این سیستم بلاک شود.
با اجرای دستور زیر هم می توانید Ping را در این اوبونتو Unblock کنید.
خب، با روش های فوق بصورت موقت موفق به بلاک و Unblock کردن درخواست های Ping در اوبونتو شدیم. حالا می خواهیم به طریق دیگری بصورت دائم دستور Ping را بلاک کنیم.
برای این منظور باید فایل /etc/sysctl.conf را ویرایش کنیم. پس فایل مذکور را با ویرایشگر nano و با کمک دستور زیر باز کنید:
پس از باز کردن فایل، مانند تصویر زیر در یک جای خالی دستور زیر را کپی کنید:
سپس با فشردن کلیدهای Ctrl+o فرم را Save کرده و سپس Enter کنید تا تغییرات ذخیره شود. حالا برای برگشت به خط فرمان کلیدهای ctrl+X را بزنید.
برای منعکس کردن تغییر بدون ریستارت سیستم، دستور زیر را اجرا کنید:
بدین ترتیب این سیستم درخواستهای Ping را بلاک می کند و به این درخواست ها پاسخی نمی دهد.
حالا در ادامه می خواهیم نحوه Unblock کردن Ping را با هم بررسی کنیم. که اینکار بسیار ساده است. در ویرایشگر فوق کقدار که برابر 1 بود را به 0 تغییر دهید و به همان روش فرم را ذخیره کنید.
سپس برای منعکس کردن تغییر بدون ریستارت اوبونتو، دستور زیر را اجرا کنید:
حالا خواهید دید که Ping از حالت بلاک در این سیستم خارج می شود و به این درخواست پاسخ می دهد.
در گام نخست قصد داریم iptables را در اوبونتو نصب کنیم. برای نصب iptables در اوبونتو دستور زیر را اجرا کنید:
نصب iptables همانطور که در تصویر زیر مشاهده می شود، آغاز می شود.
اکنون برای تایید نصب iptables کافیست که دستور زیر را در ترمینال اجرا کنید.
در خروجی دستور فوق ورژن iptables نمایش داده می شود.
Iptables یک موتور فیلتر شبکه بر اساس rule است. کاربران می توانند این قوانین را برای جلوگیری از ورود و خروج ping به سرورهایشان اضافه کنند. ما مجموعه ای از مثال ها را مورد بحث قرار خواهیم داد تا Rule ها را برای مسدود کردن ping بررسی کنیم.
در دستور زیر -A به معنای افزودن یک Rule به iptables است و این دستور درخواست های Ping را Reject می کند. ولی درخواست reject شود، پیغامی هم پس از اجرای دستور ping به کاربر نمایش داده می شود.
حالا به جای دستور فوق از دستور زیر هم می توانید استفاده کنید ولی دستور زیر درخواست ها را Drop می کند. تقریبا هر دو یعنی Reject و Drop یک کار اجام می دهند با این تفاوت که Drop بدون هیچ پیغامی بسته ping را رد می کند.
حتی از دستور زیر هم برای بلاک کردن Ping می توانید استفاده کنید:
دستور قبلی، Ping در Input یا در لحظه ورود به سیستم بلاک می کند ولی دستور دوم درخواست Ping را اجازه عبور می دهد ولی در زمان خروج از سیستم آن را بلاک می کند.
اکنون، روش فعال کردن دستورات PING از iptables را مورد بحث قرار خواهیم داد. برای بررسی تمام قوانینی که به iptables اضافه شده اند، می توانید از دستور زیر استفاده کنید.
در خروجی لیستی مانند شکل زیر را خواهید داشت:
کاربران می توانند مجموعه قوانینی را که به عنوان بلاک کننده PING در iptables اضافه شده را حذف کنند. همانطور که در مثال بالا نشان داده شده است، ICMP رد می شود. بنابراین، ما آن را حذف می کنیم:
کاربران با کمک سوئیچ D- که در دستور فوق هم استفاده شده، هر Rule ای را حذف کنیم.
برای حذف قوانین سفارشی اضافه شده به iptables، دستور زیر را در پنجره ترمینال تایپ کنید تا هر قانون ناخواسته حذف شود:
تمامی مراحل ذکر شده در این مطلب در اوبونتوی 20.04 انجام شده است.
Packet Internet Groper (PING)
PING برای بررسی وضعیت اتصال بین هر منبع و هر مقصدی استفاده می شود. کاربران می توانند زمان صرف شده توسط پکت ها برای دریافت پاسخ را بدانند. در این مقاله به بررسی دستورات iptables میپردازیم که در سیستمهای اوبونتو یا دبیان یا لینوکس مینت 20 برای برقراری ارتباط با سرور برای Block کردن و Unblock مورد نیاز هستند.ICMP پروتکلی است که برای ارسال درخواست های PING استفاده می شود. دستور PING قابلیت ارسال مداوم بسته های ICMP را دارد. این مکانیسم ارسال بسته همین طور بدون توقف ادامه می یابد مگر اینکه کاربران با فشار دادن میانبر Ctl+C از صفحه کلید آن را متوقف کنند.
برای بلاک کردن درخواستهای 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 شوند.
حالا اگر آن سیستم را 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
سپس با فشردن کلیدهای Ctrl+o فرم را Save کرده و سپس Enter کنید تا تغییرات ذخیره شود. حالا برای برگشت به خط فرمان کلیدهای ctrl+X را بزنید.
برای منعکس کردن تغییر بدون ریستارت سیستم، دستور زیر را اجرا کنید:
sysctl -p
بدین ترتیب این سیستم درخواستهای Ping را بلاک می کند و به این درخواست ها پاسخی نمی دهد.
حالا در ادامه می خواهیم نحوه Unblock کردن Ping را با هم بررسی کنیم. که اینکار بسیار ساده است. در ویرایشگر فوق کقدار که برابر 1 بود را به 0 تغییر دهید و به همان روش فرم را ذخیره کنید.
net.ipv4.icmp_echo_ignore_all = 0
سپس برای منعکس کردن تغییر بدون ریستارت اوبونتو، دستور زیر را اجرا کنید:
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 همانطور که در تصویر زیر مشاهده می شود، آغاز می شود.
اکنون برای تایید نصب iptables کافیست که دستور زیر را در ترمینال اجرا کنید.
iptables --version
در خروجی دستور فوق ورژن 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
حالا به جای دستور فوق از دستور زیر هم می توانید استفاده کنید ولی دستور زیر درخواست ها را 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 اضافه شده اند، می توانید از دستور زیر استفاده کنید.
در خروجی لیستی مانند شکل زیر را خواهید داشت:
کاربران می توانند مجموعه قوانینی را که به عنوان بلاک کننده PING در iptables اضافه شده را حذف کنند. همانطور که در مثال بالا نشان داده شده است، ICMP رد می شود. بنابراین، ما آن را حذف می کنیم:
sudo iptables -D INPUT -p icmp --icmp-type echo-request -j REJECT
کاربران با کمک سوئیچ D- که در دستور فوق هم استفاده شده، هر Rule ای را حذف کنیم.
برای حذف قوانین سفارشی اضافه شده به iptables، دستور زیر را در پنجره ترمینال تایپ کنید تا هر قانون ناخواسته حذف شود:
sudo iptables -F
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: