فایروال Iptables چیست ؟ + آموزش نصب و استفاده

اموزش فایروال Iptables

در این آموزش با فایروال Iptables و نحوه نصب و کارکرد ان اشنا خواهید شد، با ما همراه باشید.

آموزش و اشنایی با فایروال Iptables

همه ما نام دیوار آتش یا همان Firewall را شنیده ایم. می دانیم که فایروال برای محافظت از سیستم ما مشغول
به کار است. در سیستم عامل ویندوز دیوار آتش را با نام Firewall در قسمت کنترل پنل میبینیم. البته این
آیتم، فایروال نرم افزاری است که ما از آن استفاده می کنیم.
Iptables Firewall نام دیوار آتشی است که در لینوکس مورد استفاده قرار می‌گیرد. حال می‌خواهیم بدانیم
Iptables چیست و چگونه کار می‌کند.

همچنین برای اشنایی با روش های امن سازی لینوکس می توانید اموزش امنیت لینوکس را در پن تست کور مشاهده کنید.

فایروال Iptables چیست؟

در لینوکس کنترل شبکه و ورودی خروجی های آن بر عهده Netfilter است که در هسته قرار دارد. برای
ارتباط با Netfilter از پوسته کنترلی و واسط به نام Iptables استفاده می‌شود. Iptables به طور پیشفرض بر
روی نسخه های 6 و قبل تر از آن نصب می باشد و در نسخه های 7 به بعد رابط نرم افزاری جدید به نام
Firewalld نصب شده است.
Iptables ابزاری است برای برقراری ارتباط با Hook (قالب های Netfilter) که با استفاده از خط فرمان مجوز
ها و قوانین را اعمال می‌کنیم. قوانین وضع شده بر روی Iptables برای بررسی داده ها و پکت ها از قالب های
نت فیلتر استفاده می‌کند.

قالب های Netfilter

  1. NF_IP_PRE_ROUTING
  2. NF_IP_LOCAL_IN
  3. NF_IP_FORWARD
  4. NF_IP_LOCAL_OUT
  5. NF_IP_POST_ROUTING

Iptables چگونه کار می کند؟

فایروال Iptables بسته ها و داده های ورودی را بر اساس موارد زیر دسته بندی می‌کند :
● Tables(جداول): مجموعه ای زنجیره ها.
● Chains( زنجیره ها): مجموعه ای از قوانین.
● Rules( قوانین): مشخص کننده نوع رفتار با داده ها.
● Targets( اهداف): کار با هر داده یک هدفی دارد که باید تصمیم گیری شود چه کاری انجام می‌دهد.
( … و drop، Accept)
در Iptables سه نوع table داریم که هر کدام دارای زنجیره ها و قوانین خاص خودش است.

1 .Filter : این جدول وظیفه اعمال مجوزها برای ورودی/خروجی را دارد. دارای سه زنجیره ،INPUT
OUTPUT و FORWARD است

[Table = Filter < Chains = [ OUTPUT, INPUT, FORWARD

  • INPUT : ترافیک ورودی به سیستم
  • OUTPUT : ترافیک خروجی از سیستم
  • FORWARD : ترافیک وارد شده به سیستم

2 .Nat : این جدول وظیفه اعمال مجوزها برای عملیات مسیریابی را دارد. دارای سه زنجیره ،OUTPUT
PREROUTING و POSTROUTING است.

[Table = Nat < Chains = [ OUTPUT, PREROUTING, POSTROUTING

  • OUTPUT : ترافیک خروجی از سیستم
  • PREROUTING : ترافیک ورودی در شبکه مقصد
  • POSTROUTING : ترافیک خروجی در شبکه مبدا

3 .Mangle : این جدول وظیفه بررسی داده ها پیش از ورود به دو جدول بالا را دارد. می‌توانیم بر روی header داده ها (بسته ها) تغییراتی اعمال کنیم. دارای 5 زنجیره زیر است :

[Table = Mangle < Chains = [ INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING

این جدول دارای 3 هدف TTL، TOS و Mark است.

(Service of Type (TOS : مشخص کردن نوع سرویس.
(Live to Time (TTL : مشخص کردن زمان زنده بودن بسته. )یعنی اگر بسته تا تایم مشخص به
مقصد نرسید، از بین برود.
Mark : نشانه گذاری بسته ها. (برای مسیریابی و…)

اگر Iptables بر روی سیستم شما به طور پیش فرض نصب نیست می توانید از دستور زیر اقدام به نصب و یا
بروزرسانی آن کنید.

sudo apt-get install iptables

فایروال Iptables چیست ؟ + آموزش نصب و استفاده
فایروال Iptables

مهمترین دستورات Iptables

برای استفاده از دستورات شما باید دسترسی به root را داشته باشید تا بتوانید مجوز ها را اعمال کنید.
ابتدا خط فرمان های فایروال را توضیح می‌دهیم سپس به سراغ دستورات مهم آن می‌رویم.

  • L- یا list– : لیست کردن روال ها.
  • t- یا table– : انتخاب جدول مورد نظر.
  • n- : نمیاش ای پی.
  • v- : نمایش جزئیات در فایروال Iptables.
  • j- یا jump– : اگر داده با قوانین مطابقت داشته باشد، هدف اعمال می‌شود.
  • D- یا delete– : حذف یک یا چند قانون.
  • s- یا rules-list– : لیست قوانین موجود در زنجیره.
  • I- یا insert– : ایجاد و اضافه کردن قانون برای یک موقعیت مشخص.
  • R- یا replace– : جایگزین کردن یک قانون در زنجیره.
  • c- یا check– : چک کردن وجود قانون قبل از نوشتن دوباره آن.
  • F- یا flush– : حذف تمام قوانین موجود در زنجیره مورد نظر.
  • N- یا chain-new– : ایجاد زنجیره جدید توسط کاربر.
  • X- یا chain-delete– : حذف زنجیره ساخته شده توسط کاربر.
  • E- یا chain-rename– : تغییر نام زنجیره مورد نظر.
  • P- یا policy– : ایجاد مجوز بر روی زنجیره ها.
  • numbers-line– : نمایش شماره خط قانون در صورت وجود.
  • A- یا append– : اضافه کردن قوانین به انتهای زنجیره.
  • Z- یا zero– : صفر کردن شمارنده داده.

در صورت علاقه مند بودن به مباحث شبکه پیشنهاد میکنیم اموزش امنیت شبکه را مشاهده کنید.

دستورات فایروال Iptables

1 . نمایش وضعیت فایروال :

iptables -L -n -v

2 . تغییر وضعیت فایروال :

service Iptables stop

خاموش کردن فایروال :

service Iptables start

روشن کردن فایروال Iptables :

service Iptables restart

راه اندازی مجدد فایروال :

service Iptables stop
Chkconfing Iptables off

پس از خاموش کردن فایروال و راه اندازی مجدد سرور وضعیت Iptables به صورت قبل باقی می ماند.

3 . حذف قوانین از فایروال Iptables

iptables -L INPUT -n –line-numbers
iptables -L OUTPUT -n –line-numbers
iptables -L OUTPUT -n –line-numbers | less
iptables -L OUTPUT -n –line-numbers | grep 202.54.1.1

با استفاده از این دستورات، ابتدا شماره خط را بدست می آورید سپس با استفاده از خط و یا ip بدست آمده
اقدام به حذف آن روال می کنید.

Iptables -D INPUT 5
یا
Iptables -D INPUT -s 127.0.0.1 -j DROP

4 . حذف تمام قوانین :

Iptables -F

5 . مسدود کردن ترافیک OUTPUT، INPUT و FORWARD :

Iptables -P INPUT DROP
Iptables -P OUTPUT DROP
Iptables -P FORWARD DROP

آموزش دستورات کاربردی دیگر Iptables

6 .مسدود کردن ترافیک ورودی برای IP یا رنج ip :

Iptables -A INPUT -s 127.0.0.1 -j DROP
Iptables -A INPUT -s 127.0.0.0./24 -j DROP

دستور اول مسدود کردن ترافیک ورودی یک IP
دستور دوم مسدود کردن ترافیک ورودی رنج IP مورد نظر

7 . مسدود کردن ترافیک خروجی برای IP :

Iptables -A OUTPUT -d 127.0.0.1 -j DROP
Iptables -A OUTPUT -d 127.0.0.0./24 -j DROP

دستور اول مسدود کردن ترافیک خروجی یک IP در فایروال Iptables
دستور دوم مسدود کردن ترافیک خروجی رنج IP مورد نظر

8 . Ping از داخل به خارج :

iptables -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT

9 . Ping از خارج به داخل :

iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT

10 . اجازه استفاده از چند پورت در ورودی خروجی :

Iptables -A INPUT -P tcp -m multiport –dports 22,80,443 -j ACCEPT
Iptables -A OUTPUT -P tcp -m multiport –dports 22,80,443 -j ACCEPT

11 . جستجو در قوانین :

Iptables -L INPUT -v -n | grep 127.0.0.1

12 .ذخیره کردن اطلاعات :

service Iptables save

امیدواریم از این آموزش لذت برده باشید موفق و پیروز باشید.

0/5 (0 نظر)

نیما حسینی هستم بنیان گذار تیم پن تست کور و مدرس دوره های امنیت شبکه و راه های مقابله با نفوذ ، در 7 سال گذشته متمرکز بر مباحث روز امنیت سایبری بوده ام و بعد از کسب دانش و تجربه های ارزشمند تصمیم بر به اشتراک گذاری نتیجه ان ها با دیگران گرفته ام.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قوانین پن تست کور
دوره کالی لینوکس
نماد های اعتماد
نماد های اعتماد