نحوه مسدود کردن ping در لینوکس(جلوگیری از حملات flooding)
بعضی از مدیران سرور سعی میکنند با مسدود کردن ping از نوع ICMP بر روی سرور لینوکسی خود از نمایش اطلاعات سرور و بروز حملات تکذیب سرور یا ddos بر روی سرور خود جلوگیری کنند.
یکی از راحتترین روشهای مسدود کردن پینگ بر روی سرور استفاده از فایروال iptables و اعمال rule های امنیتی در آن میباشد.
Iptables یک فایروال پیشفرض بر روی لینوکس است که با نصب لینوکس همزمان بر روی سرور نصب میشود و در سطح کرنل به فعالیت خود ادامه میدهد.
مراحل مسدود کردن ping در سیستمهای لینوکسی
یک روش ساده استفاده از rule امنیتی زیر میباشد که با اجرا در محیط command لینوکس به راحتی قابل اجراست.
۱
۲
|
iptables –A INPUT —proto icmp –j DROP
iptables –L –n –v [List Iptables Rules]
|
یک روش دیگر برای مسدود کردن ping فعال کردن متغیر زیر در کرنل هستش که به راحتی و بدون فایروال نیز قابل پیادهسازی است.
۱
|
echo “۱” > /proc/sys/net/ipv4/icmp_echo_ignore_all
|
البته میتوان روش بالا را به شکلی دیگر هم انجام داد کافی است فایل /etc/sysctl.conf/ را ادیت کرده و خط زیر را درون آن قرار دهید.
۱
|
echo “net.ipv4.icmp_echo_ignore_all = ۱” >> /etc/sysctl.conf
|
حال برای اعمال تغییرات دستور زیر را وارد نمایید.
۱
|
sysctl –p
|
در توزیعهای دبیان بیس همانند اوبونتو به دلیل استفاده از UFW به عنوان فایروال میتوان با ادیت فایل /etc/ufw/before.rule/ درون آن کد زیر را قرار داد.
۱
|
–A ufw–before–input –p icmp —icmp–type echo–request –j DROP
|
این خط کد مربوط به بستن ping در فایروال میباشد که همانند iptables در توزیعهای ردهت بیس عمل میکند.
بعد از انجام مرحله قبل باید یکبار فایروال را ریست کنید.
۱
|
ufw disable && ufw enable
|
در سیستمهای جدید لینوکس 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” روبرو شدید باید بدانید که کارتان را به درستی انجام دادید.