در این راهنما، آموزش iptables را به سه گام تقسیم میکنیم. ابتدا بررسی خواهیم کرد که چگونه فایروال را در Ubuntu نصب کنیم. در گام دوم، به نحوهی تعریف قوانین فایروال و در آخر، به دایمی کردن تغییرات iptables در ابرک میپردازیم.
گام اول: نصب Iptables
Iptables در اکثر توزیعهای لینوکس از پیش نصب شده است. با این حال، اگر آن را به طور پیشفرض در سیستم Ubuntu/Debian ندارید، مراحل زیر را دنبال کنید:
پس از اتصال به ابرک، دستورهای زیر را یکی یکی اجرا کنید:
sudo apt-get update
sudo apt-get install iptables
وضعیت پیکربندی فعلی iptables خود را با اجرای دستور زیر چک کنید:
sudo iptables -L -v
در اینجا، گزینه L- برای فهرست کردن همهی قوانین و v- برای نمایش اطلاعات با فرمت دقیقتر استفاده میشود. در زیر نمونه خروجی را مشاهده میکنید:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
اکنون فایروال iptables را نصب کردید. در این مرحله، تمام زنجیرهها روی ACCEPT تنظیم شدهاند و هیچ قانونی ندارند. این حالت، امن نیست زیرا هر بستهای میتواند بدون فیلتر وارد شود.
گام دوم: تعریف قوانین زنجیره
تعریف یک قانون به معنای افزودن آن به انتهای زنجیره است. برای انجام این کار، باید گزینه A (Append)- را درست بعد از دستور iptables وارد کنید، مانند:
sudo iptables -A
سپس، میتوانید دستور را با گزینههای دیگر ترکیب کنید، مانند:
- i (interface)- رابط شبکهای که میخواهید ترافیک آن را فیلتر کنید، مانند eth0، lo، ppp0 و غیره.
- p (protocol)- پروتکل شبکهای که فرآیند فیلترینگ شما در آن انجام میشود. میتواند tcp، udp، udplite، icmp، sctp، icmpv6 و غیره باشد. همچنین، میتوانید all را برای انتخاب هر پروتکل تایپ کنید.
- s (source)- آدرسی که ترافیک از آن میآید. میتوانید یک نام میزبان یا آدرس IP اضافه کنید.
- dport (destination port)- شماره پورت مقصد یک پروتکل، مانند 22 (SSH)، 443 (https) و غیره.
- J (target) – نام هدف (ACCEPT، DROP، RETURN) هر بار که یک قانون جدید ایجاد میکنید باید این را وارد کنید.
اگر میخواهید از همهی آنها استفاده کنید، باید دستور را به ترتیب زیر بنویسید:
sudo iptables -A <chain> -i <interface> -sudo iptables -A <chain> -i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no.> -j <target>
اکنون که قواعد پایهی دستورهای Iptables را میدانیم میتوانیم فایروال را برای امنیت بیشتر ابرک پیکربندی کنیم.
گام سوم: دایمی کردن تغییرات
قوانین iptables که ما ایجاد کردهایم در memory ذخیره میشوند. یعنی ما باید آنها را در راه اندازی مجدد دوباره تعریف کنیم. برای تداوم این تغییرات پس از راهاندازی مجدد ابرک، میتوانید از این دستور استفاده کنید:
sudo /sbin/iptables-save
این دستور قوانین فعلی را در فایل پیکربندی سیستم ذخیره میکند، که برای پیکربندی مجدد جداول در هر بار راهاندازی مجدد سرور استفاده میشود.
توجه داشته باشید که همیشه باید هر بار که قوانین را تغییر میدهید این دستور را اجرا کنید. به عنوان مثال، اگر میخواهید iptables را غیرفعال کنید، باید این دو خط را اجرا کنید:
sudo iptables -F
sudo /sbin/iptables-save
نتایج زیر را خواهید دید:
Iptables یک فایروال قدرتمند است که میتوانید از آن برای تامین امنیت ابرکهای لینوکسی خود استفاده کنید. در این آموزش شیوهی نصب و استفاده از این ابزار را بررسی کردیم. برای آشنایی با قوانین و مثالهای بیشتر در این فایروال میتوانید مقالهی قوانین و دستورهای رایج Iptables را مطالعه کنید.