برای تست آنلاین بودن سرور از ابزاری استفاده میکنیم به اسم ping . ما تو این آموزش (آموزش نحوه مسدود کردن ping سرور) برای جلوگیری از درخواست های ناخواسته به سرورهامون میایم نحوه بلاک کردن پینگ سرور رو یاد میگیریم. اما در کنارش نحوهی آنبلاک کردنش رو هم بهتون یاد میدیم.
خب ، بریم برای:
نحوه مسدود کردن ping سرور
ما اینجا برای تست ، از سرور اوبونتو نسخه 20 استفاده میکنیم.
Packet Internet Groper (PING)
PING برای بررسی اتصال بین مبدا و مقصدها استفاده میشود، و کاربران می توانند زمان صرف شده توسط پکت ها برای دریافت پاسخ را بدانند. در این مقاله، به بررسی دستورات iptables میپردازیم که برای برقراری ارتباط با سرور و نیازمندیهای Block و Unblock در سیستمهای اوبونتو، دبیان یا لینوکس مینت 20 استفاده میشوند.
ICMP یک پروتکل است که برای ارسال درخواستهای PING به کار میرود. دستور PING قابلیت ارسال مداوم بستههای ICMP را دارد، به این معنا که مکانیسم ارسال بستهها بدون توقف ادامه مییابد تا زمانی که کاربران با فشار دادن میانبر Ctl+C از صفحه کلید آن را متوقف کنند.
برای مسدود کردن درخواستهای PING، کاربران باید درخواستهای ICMP را مسدود کنند. روشهای زیر برای مسدود کردن درخواستهای PING قابل استفاده هستند:
1. استفاده از دستور iptables با قوانینی که بستههای ICMP را مسدود میکنند.
2. استفاده از نرمافزارهای مدیریت فایروال برای تنظیم قوانین مربوط به مسدود کردن درخواستهای PING.
Kernel parameters
means of iptables
برای مسدود کردن درخواستهای PING به صورت موقت یا دائم، میتوانید از متد کرنل استفاده کنید و پارامترهای مربوط به آن را با استفاده از دستور sysctl تغییر دهید.
استفاده از روش اول برای مسدود کردن موقت درخواستهای PING است، که با استفاده از دستور sysctl انجام میشود. این دستور در سیستمهای مبتنی بر پلتفرم لینوکس برای تنظیم و خواندن پارامترهای کرنل در مسیر /proc/sys استفاده میشود. بنابراین، برای مسدود کردن موقت درخواستهای PING، کافیست دستور زیر را در ترمینال اجرا کنید:
sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1
در اینجا، پارامتر net.ipv4.icmp_echo_ignore_all کنترل میکند که سیستم برای پاسخگویی به درخواستهای ICMP دریافتی فعال باشد یا خیر. مقدار 0 برای بله و مقدار 1 برای عدم پاسخ به درخواستها استفاده میشود. بنابراین، در دستور فوق که مقدار آن 1 است، به این معنی است که همه درخواستهای Ping رد و پاسخ داده نشوند. حالا اگر آن سیستم را Ping کنید هیچ پاسخی دریافت نخواهید کرد.
برای رفع مسدودیت درخواستهای Ping روی همین سیستم، کافی است در دستور قبلی، عدد ۱ را به ۰ تغییر دهید و دستور را اجرا کنید. این کار باعث میشود سیستم به درخواستهای Ping پاسخ دهد و شما مشاهده خواهید کرد که پینگها اکنون جواب داده میشوند.
sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0
کاربران همچنین میتوانند از مقدار پارامتر کرنل استفاده کرده و آن را در مسیر /proc/sys با استفاده از دستور echo تغییر دهند. برای این کار باید به حساب کاربری root سوئیچ کنید که با استفاده از دستور زیر میتوانید به حساب کاربری 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
خب، با استفاده از روشهای فوق، موفق به مسدود کردن و رفع مسدودیت درخواستهای Ping در اوبونتو شدیم. اکنون میخواهیم به طریق دیگری بصورت دائم دستور Ping را مسدود کنیم.
برای این منظور، باید فایل /etc/sysctl.conf را ویرایش کنیم. پس ابتدا فایل مذکور را با استفاده از ویرایشگر nano و با استفاده از دستور زیر باز کنید:
sudo nano /etc/sysctl.conf
پس از باز کردن فایل، مانند تصویر زیر در یک جای خالی دستور زیر را کپی کنید:
net.ipv4.icmp_echo_ignore_all = 1
سپس برای منعکس کردن تغییر بدون ریستارت اوبونتو، دستور زیر را اجرا کنید:
sysctl -p
حالا خواهید دید که Ping از حالت بلاک در این سیستم خارج می شود و به این درخواست پاسخ می دهد.
امیدوارم که آموزش نحوه مسدود کردن ping سرور برای شما کاربردی بوده باشه.