جدول محتوایی
بیایید ابتدا با توضیح برخی اصطلاحات شروع کنیم که به شما در درک بهتر زمینه این مقاله کمک می کند. در شبکه های کامپیوتری، یک آدرس IP (پروتکل اینترنت) یک شناسه عددی منحصر به فرد است که به هر دستگاهی که به یک شبکه متصل است اختصاص داده می شود. برای شناسایی و برقراری ارتباط با دستگاه های دیگر در شبکه استفاده می شود. دو نسخه اصلی از آدرس های IP وجود دارد که به این معنی است که یک آدرس IP می تواند در قالب IPv4 (32 بیتی) یا IPv6 (128 بیتی) باشد و معمولاً به صورت یک سری از چهار عدد نوشته می شود که با نقطه از هم جدا می شوند (مثلاً 192.168). .1.1 برای IPv4) یا به صورت نماد هگزادسیمال شامل هشت گروه چهار رقمی هگزادسیمال که با دو نقطه از هم جدا می شوند (مثلاً 2001:0db8:85a3:0000:0000:8a2e:0370:7334 برای IPv6).
از طرف دیگر Iptables یک ابزار فایروال قدرتمند است که به شما امکان می دهد با تعریف مجموعه ای از قوانین، اتصالات شبکه را پیکربندی و مدیریت کنید. این قوانین بر اساس یک سری جداول است که شامل زنجیره ای از قوانین برای دستکاری بسته های شبکه است. هر زنجیره شامل مجموعه ای از قوانین است که بر اساس آدرس های IP مبدا و مقصد، پروتکل ها و پورت های بسته های ورودی یا خروجی اعمال می شود.
Iptables از netfilter استفاده میکند، چارچوبی که به هسته اجازه میدهد تا بستهها را رهگیری کند و آنها را تغییر دهد تا قوانین خود را پیادهسازی کند. میتوان از آن برای فیلتر کردن، مسدود کردن یا ارسال ترافیک شبکه و همچنین برای انجام NAT (ترجمه آدرس شبکه) و پنهان کردن استفاده کرد. Iptables یک ابزار خط فرمان است، به همین دلیل برای استفاده از آن، باید دستورات خاصی را در ترمینال بنویسید. در این مقاله، مراحلی را که باید برای مسدود کردن یک آدرس IP با استفاده از iptables از خط فرمان دنبال کنید، بررسی خواهیم کرد.
بخوانید: سیستم عامل چگونه کار میکند
مسدود کردن IP از Iptables
یک مدیر سیستم لینوکس می تواند به شما بگوید که چقدر مهم است که سرورهای خود را از حملات احتمالی ایمن نگه دارید. یکی از راه های ایمن سازی سرور، مسدود کردن آدرس های IP خاص با استفاده از iptables است. این به شما امکان می دهد ترافیک را بر اساس آدرس های IP، پورت ها و پروتکل ها مسدود، مجاز و محدود کنید.
مرحله 1: قوانین فعلی Iptables
قبل از شروع مسدود کردن IP ها، ابتدا باید قوانین فعلی iptables خود را بررسی کنید تا مطمئن شوید که به طور تصادفی ترافیک معتبر را مسدود نکنید.
دستور زیر را در ترمینال لینوکس اجرا کنید:
sudo iptables -L$
شما باید بتوانید خروجی مشابه خروجی زیر را ببینید که هدف، منبع و مقصد را برای قوانین iptables دستگاه شما مشخص می کند.
توجه: اگر قبلاً iptables را پیکربندی نکرده اید، باید یک جدول خالی ببینید. در غیر این صورت، قوانین موجود خود را خواهید دید. اگر قوانینی را می بینید که می خواهید رعایت کنید، آنها را یادداشت کنید.
مرحله 2: یک آدرس IP را مسدود کنید:
برای مسدود کردن یک آدرس IP می توانید از دستور زیر استفاده کنید:
sudo iptables -A INPUT -s <IP ADDRESS> -j DROP
توجه: <IP ADDRESS> را با آدرس IP که می خواهید مسدود کنید جایگزین کنید.
این دستور یک قانون به زنجیره INPUT اضافه می کند که تمام ترافیک را از آدرس IP مشخص شده حذف می کند.
- گزینه –A به iptables می گوید که قانون را به انتهای زنجیره اضافه کنند.
- گزینه -s آدرس IP منبع را مشخص می کند.
- گزینه -j به iptable ها می گوید که با ترافیک چه کنند. در این مورد، ما آن را کنار می گذاریم.
مرحله 3: قوانین Iptables خود را ذخیره کنید
پس از افزودن یک قانون به iptables، مهم است که تغییرات خود را ذخیره کنید. در غیر این صورت، هنگام راه اندازی مجدد سرور یا دستگاه، آنها از بین خواهند رفت.
برای ذخیره قوانین iptables خود، دستور زیر را اجرا کنید:
sudo iptables-save > /etc/iptables/rules.v4
این دستور قوانین فعلی iptables شما را در فایل /etc/iptables/rules.v4 ذخیره می کند.
توجه: هنگامی که سرور خود را مجددا راه اندازی می کنید، iptables به طور خودکار این قوانین را بارگیری می کند.
مرحله 4: آدرس IP مسدود شده را تأیید کنید
برای تایید اینکه آدرس IP مسدود شده است، دستور زیر را اجرا کنید:
sudo iptables -L
این دوباره قوانین iptables فعلی شما را نمایش می دهد. باید قاعده ای را که به تازگی اضافه کرده اید در پایین زنجیره INPUT ببینید.
مرحله 5: قوانین را حذف کنید
اگر مشکلی مشاهده کردید، باید دستور زیر را اجرا کنید تا قانونی که به تازگی اضافه کرده اید حذف شود:
sudo iptables -D INPUT -s <IP ADDRESS> -j DROP
توجه: <IP ADDRESS> را با آدرس IP که می خواهید رفع انسداد کنید جایگزین کنید.
مرحله 6: محدوده IP را مسدود کنید
در صورتی که می خواهید طیف وسیعی از آدرس های IP را مسدود کنید، می توانید دستور زیر را اجرا کنید:
sudo iptables -A INPUT -s <IP RANGE> -j DROP
توجه: <IP RANGE> را با محدوده IP که می خواهید مسدود کنید جایگزین کنید.
برای مسدود کردن محدوده از 192.168.0.1 تا 192.168.0.255، موارد زیر را اجرا کنید:
sudo iptables -A INPUT -s 192.168.0.0/24 -j DROP
نتیجه
Iptables یک ابزار قدرتمند برای مسدود کردن IP در لینوکس است. این به شما امکان می دهد با تعریف مجموعه ای از قوانین بر اساس یک سری جداول که حاوی زنجیره ای از قوانین برای فیلتر کردن یا دستکاری بسته های شبکه هستند، اتصالات شبکه را پیکربندی و مدیریت کنید. با iptables میتوانید ترافیک شبکه را فیلتر، مسدود یا فوروارد کنید و همچنین NAT و maskarading را انجام دهید.
ضروری است که قوانین iptables خود را به روز نگه دارید و به طور منظم آنها را آزمایش کنید تا مطمئن شوید که درست کار می کنند. همچنین، مطمئن شوید که فقط IP هایی را مسدود می کنید که می دانید مخرب یا ناخواسته هستند و ترافیک قانونی نیستند. با استفاده مسئولانه و با احتیاط از iptables، می توانید امنیت سیستم خود را افزایش داده و از آن در برابر خطرات احتمالی محافظت کنید.