1. مستندات
  2. سرور مجازی
  3. لینوکس
  4. بدون کنترل‌پنل
  5. غیرفعال‌کردن پاسخ Ping در سرور لینوکس

غیرفعال‌کردن پاسخ Ping در سرور لینوکس

Calendar

انتشار:

1404/08/09
Update Calendar

به روز رسانی:

1404/08/09

در این راهنما قصد داریم یاد بگیریم چگونه پاسخ سرور لینوکسی به دستور ping را غیرفعال کنیم تا از شناسایی و اسکن‌های ناخواسته جلوگیری شود و امنیت سرور افزایش یابد.

مرحله اول: ورود از طریق SSH

بعد از ورود به سرور از طریق SSH، دستورات زیر را اجرا نمایید تا پاسخ به پینگ را غیرفعال کنید.

مرحله دوم: غیرفعال‌کردن موقت Ping با sysctl

اگر فقط می‌خواهید به‌صورت موقت پاسخ پینگ سرور غیرفعال شود (تا زمانی که سرور ریستارت نشده است)، می‌توانید از دستور زیر استفاده کنید:

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1

این دستور باعث می‌شود سیستم‌عامل لینوکس درخواست‌های ICMP را نادیده بگیرد و هیچ پاسخی به دستور ping ارسال نکند. برای اطمینان از اینکه تنظیمات اعمال شده‌اند، می‌توانید وضعیت فعلی پارامتر را با دستور زیر بررسی کنید:

sudo sysctl net.ipv4.icmp_echo_ignore_all

اگر مقدار نمایش‌داده‌شده برابر با 1 باشد، یعنی پاسخ به پینگ غیرفعال است. در صورت تمایل به بازگرداندن حالت عادی و فعال‌کردن پاسخ پینگ، مقدار را مجدداً به 0 تغییر دهید:

sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0

نمای اجرای دستور sysctl در ترمینال

مرحله سوم: غیرفعال‌کردن دائمی Ping در فایل sysctl.conf

روش قبلی موقتی است و پس از ریبوت شدن سیستم، تنظیمات به حالت قبل بازمی‌گردند. برای دائمی‌کردن این تغییر، باید مقدار مورد نظر را در فایل تنظیمات شبکه سیستم ثبت کنید.
فایل پیکربندی را با ویرایشگر nano باز کنید:

sudo nano /etc/sysctl.conf

در انتهای فایل بازشده، خط زیر را اضافه کنید:

net.ipv4.icmp_echo_ignore_all = 1

سپس با فشردن کلیدهای Ctrl + O فایل را ذخیره و با Ctrl + X خارج شوید.

ویرایش فایل sysctl.conf در nano

در نهایت برای اعمال تغییرات بدون نیاز به ریستارت، دستور زیر را اجرا کنید:

sudo sysctl -p

با این روش، سرور شما حتی پس از راه‌اندازی مجدد نیز پاسخ به پینگ را نخواهد داد.

ویرایش فایل sysctl.conf در nano

مرحله چهارم: غیرفعال‌کردن Ping با iptables

در صورتی‌که بخواهید کنترل دقیق‌تری روی بسته‌های پینگ داشته باشید، می‌توانید از ابزار iptables استفاده کنید. این روش برای تمام توزیع‌های محبوب لینوکس از جمله Ubuntu، Debian، CentOS، AlmaLinux و Rocky Linux کاربرد دارد.

برای مسدود کردن درخواست‌های پینگ ورودی، دستور زیر را وارد کنید:

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

این قانون باعث می‌شود هر بسته ICMP از نوع echo-request (همان ping) نادیده گرفته شود و سرور هیچ پاسخی ارسال نکند.

برای اطمینان از اعمال شدن قانون، از دستور زیر استفاده کنید:

sudo iptables -L INPUT -v -n | grep icmp

در صورتی‌که بخواهید این تغییر را لغو کنید و دوباره پاسخ پینگ فعال شود، کافیست قانون ایجادشده را حذف کنید:

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

نمای اجرای دستور iptables در ترمینال

مرحله پنجم: تست و اطمینان از غیرفعال شدن Ping

برای اطمینان از اینکه پینگ واقعاً غیرفعال شده است، از یک سیستم دیگر دستور زیر را اجرا کنید:

ping IP-address

به‌جای IP-address، آدرس IP سرور خود را وارد کنید. اگر پاسخی دریافت نکردید یا پیامی مانند Destination Host Unreachable یا Request timed out ظاهر شد، یعنی سرور شما دیگر به پینگ پاسخ نمی‌دهد و تنظیمات درست انجام شده‌اند.

نمای تست پینگ از سیستم دیگر

در پایان، با غیرفعال‌کردن Ping، امنیت سرور شما در برابر شناسایی توسط ابزارهای ساده افزایش پیدا می‌کند. با این حال، پیشنهاد می‌شود برای سرورهایی که نیاز به مانیتورینگ دارند، فقط در سطح فایروال یا شبکه محدودیت ایجاد شود تا ابزارهای نظارتی داخلی بتوانند وضعیت سرور را بررسی کنند.

آیا توانستیم چالش شما را حل کنیم؟