مسدود کردن ping در لینوکس و اینکه بعضی از مدیران سرور سعی میکنند با مسدود کردن ping از نوع ICMP بر روی سرور لینوکسی خود از نمایش اطلاعات سرور و بروز حملات تکذیب سرور یا ddos بر روی سرور خود جلوگیری کنند.
باز بودن ping بر روی سرور احتمال رخ داد حملات دیداس موسوم به flooding توسط هکرها را افزایش داده و سبب میشود تا هکر بتواند با ایجاد درخواستهای مکرر در زمان کوتاه سرو را down یا از دسترس خارج کند که ما در این مقاقله مسدود کردن ping در لینوکس رابطور کامل میگوئیم.
یکی از راحتترین روشهای مسدود کردن پینگ بر روی سرور استفاده از فایروال iptables و اعمال ruleهای امنیتی در آن میباشد. به راحتی توسط یک فایروال ساده همچون فایروال پیشفرض لینوکس iptables و یا توسط فایروال csf این پروتکل را بر روی سرور مسدود نمایید و جلوی این حملات را به طور کامل بگیرید.
Iptables یک فایروال پیشفرض بر روی لینوکس است که با نصب لینوکس همزمان بر روی سرور نصب میشود و در سطح کرنل به فعالیت خود ادامه میدهد.
مسدود کردن ping در لینوکس توسط فایروال iptables
یک روش ساده استفاده از rule امنیتی زیر میباشد که با اجرا در محیط command لینوکس به راحتی قابل اجراست.
iptables -A INPUT --proto icmp -j DROP iptables -L -n -v [List Iptables Rules]
مسدود کردن ping توسط تنظیمات کرنل
یک روش دیگر برای مسدود کردن ping فعال کردن متغیر زیر در کرنل هستش که به راحتی و بدون فایروال نیز قابل پیادهسازی است. این دستور در سطح تنظیمات کرنل در حیطه کانفیگ سرور میتواند به راحتی پروتکل ICMP را مسدود کرده و نسبت به فایروال حتی ارجحیت بیشتری نیز دارد چون در لول بالاتری این تنظیمات لحاظ میگردد.
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
البته میتوان روش بالا را به شکلی دیگر هم انجام داد کافی است فایل etc/sysctl.conf/ را ادیت کرده و خط زیر را درون آن قرار دهید.
echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
حال برای اعمال تغییرات دستور زیر را وارد نمایید.
sysctl -p
بستن ping در سیستمهای دبیان و اوبونتو
در توزیعهای دبیان بیس همانند اوبونتو به دلیل استفاده از UFW به عنوان فایروال میتوان با ادیت فایلetc/ufw/before.rule/ درون آن کد زیر را قرار داد.
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
این خط کد مربوط به بستن ping در فایروال میباشد که همانند iptables در توزیعهای ردهت بیس عمل میکند.
بعد از انجام مرحله قبل باید یکبار فایروال را ریست کنید.
ufw disable && ufw enable
روش مسدود کردن ping در سیستمهای جدید ردهت و سنتواس
در سیستمهای جدید لینوکس centos و redhat هم برای مسدود کردن پینگ از دستورات زیر جهت اعمال rule و ریست میتوانید استفاده کنید.
firewall-cmd --zone=public --remove-icmp-block={echo-request,echo-reply,timestamp-reply,timestamp-request} --permanent firewall-cmd –reload
حال برای اینکه مطمئن شوید ping بر روی لینوکس شما مسدود شده کافی است یکبار سرور خود را ping کنید اگر با پیامهای “Request timed out” و یا “Destination Host unreachable” روبرو شدید باید بدانید که کارتان را به درستی انجام دادید.