SlideShare a Scribd company logo
‫حق‬ ‫بسمه‬
‫لینوکس‬/‫گنو‬ ‫در‬ ‫فایروال‬
)
1
(
‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫مهندس‬ : ‫نویسنده‬
: ‫نسخه‬
۰.3
)
2
(
: ‫نویسنده‬ ‫درباره‬
‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬
cyber security
. ‫هستم‬
‫از‬ ‫بیش‬
۱۵
. ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬
‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬
gnu/linux system/network/security/cloud Engineer/administrator & oracle dba | Linux Trainer |devops
. (: ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫علقه‬
. ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬
‫تبریز‬ ‫لگ‬ ‫گذاران‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫لینوکس‬/‫گنو‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬
: ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬
Mob : 09141100257
Telegram ID
Telegram channel
Instagram Account
Linkedin Account
. ‫بشنوم‬ ‫را‬ ‫انتقادتون‬ ‫یا‬ ‫پیشنهاد‬ ‫هرگونه‬ ‫میشم‬ ‫خوشحال‬ ‫همچنین‬
: ‫کنید‬ ‫پیدا‬ ‫را‬ ‫من‬ ‫از‬ ‫ی‬ ‫دیگر‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫چطور‬
‫توی‬
slideshare
. ‫کنید‬ ‫پیدا‬ ‫را‬ ‫کردم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫که‬ ‫دیگری‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫بگردید‬ ‫من‬ ‫اسم‬ ‫دنبال‬ ‫گوگل‬ ‫یا‬
)
3
(
: ‫مشاوره‬
. ‫بود‬ ‫خواهم‬ ‫شما‬ ‫دسترس‬ ‫در‬ ‫من‬ . ‫فرمایید‬ ‫حاصل‬ ‫تماس‬ . ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫صفحه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫کانال‬ ‫از‬ ‫میتوانید‬ ‫مشاوره‬ ‫جهت‬
)
4
(
: ‫خواننده‬ ‫با‬ ‫سخنی‬
‫کتاب‬ . ‫گرفتم‬ ‫تصمیم‬ ‫من‬ . ‫کرد‬ ‫منتشر‬ ‫مختلف‬ ‫های‬ ‫روش‬ ‫با‬ ‫رو‬ ‫اثر‬ ‫یک‬ ‫میشه‬ ‫و‬ . ‫هست‬ ‫وقت‬ ‫نیازمند‬ ‫ایجاد‬ ‫برای‬ ‫ساختاری‬ ‫هر‬ ‫چون‬
. ‫کنم‬ ‫دریافت‬ ‫حمایت‬ ‫و‬ ‫دانلود‬ ‫هزینه‬ ‫و‬ . ‫کنم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫مینویسم‬ ‫که‬ ‫هایی‬
‫شاید‬ . ‫کنم‬ ‫چاپ‬ ‫را‬ ‫ها‬ ‫کتاب‬ ‫این‬ ‫اگر‬ ‫حقیقت‬ ‫در‬
. ‫است‬ ‫بهتر‬ ‫روش‬ ‫این‬ ‫بنظرم‬ . ‫کنیم‬ ‫ب‬ ‫حسا‬ … ‫و‬ ‫درختان‬ ‫قطعی‬ ‫و‬ … ‫و‬ ‫چاپ‬ ‫تا‬ ‫گرفتن‬ ‫مجوز‬ ‫زمان‬ ‫هرینه‬ ‫ولی‬ . ‫بیاد‬ ‫بدست‬ ‫بیشتری‬ ‫سود‬
. ‫بدن‬ ‫انجام‬ ‫خرید‬ ‫و‬ ‫کنن‬ ‫حمایت‬ ‫عزیزان‬ ‫امیدوارم‬
. ‫روش‬ ‫این‬ ‫با‬ ‫بیشتر‬ ‫های‬ ‫انتشار‬ ‫برای‬ ‫میشه‬ ‫دلگرمی‬ ‫باعث‬ ‫این‬ ‫که‬
. ‫هست‬ ‫باز‬ ‫متن‬ ‫توسعه‬ ‫من‬ ‫تلش‬
‫دونیت‬
)
5
(
iptables
‫یک‬
‫فایروال‬
‫برای‬
‫گنو‬
/
‫لینوکس‬
‫است‬
.
‫است‬ ‫نصب‬ ‫فرض‬‫پیش‬ ‫بصورت‬ ‫لینوکس‬ ‫های‬‫توزیع‬ ‫بیشتر‬ ‫بروی‬ ‫که‬
.
‫سطح‬ ‫در‬ ‫سیاستی‬ ‫هر‬ ‫اجرای‬ ‫به‬ ‫قادر‬ ‫که‬ ‫است‬ ‫ابزاری‬ ‫نام‬ ‫تیبلز‬‫پی‬‫آی‬
‫شود‬‫می‬ ‫مربوط‬ ‫ترانسفر‬ ‫لیه‬ ‫در‬ ‫آن‬ ‫حصر‬ ‫و‬ ‫حد‬ ‫بی‬ ‫انعطاف‬ ‫به‬ ،‫هسته‬ ‫سطح‬ ‫افزار‬‫نرم‬ ‫این‬ ‫اصلی‬ ‫محبوبیت‬ ‫و‬ ‫شهرت‬ ‫اما‬ ‫است‬ ‫شبکه‬ ‫بالتر‬ ‫و‬ ‫تر‬‫پایین‬ ‫های‬‫لیه‬ ‫حدودی‬ ‫تا‬ ‫و‬ ‫ترانسفر‬ ‫لیه‬
‫ها‬‫بسته‬ ‫روتینگ‬ ‫از‬ ‫حرف‬ ‫که‬ ‫آنجا‬
)
Packets
(
‫است‬ ‫آنها‬ ‫وضعیت‬ ‫و‬
.
Iptables
‫تیم‬ ‫توسط‬
netfilter
‫شد‬ ‫طراحی‬
.
‫نام‬ ‫به‬ ،‫آن‬ ‫طراحی‬ ‫ای‬‫زنجیره‬ ‫ساختار‬ ‫علت‬ ‫به‬ ‫ابتدا‬ ‫در‬
ipchain
‫نام‬ ‫بعدها‬ ‫اما‬ ‫یافت‬ ‫شهرت‬
iptables
‫شد‬ ‫گذاشته‬ ‫آن‬ ‫بر‬
.
‫این‬
‫آتش‬ ‫دیوار‬
)
Firewall
(
‫شد‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫مانندی‬ ‫ماژول‬ ‫های‬‫قسمت‬ ‫زمان‬ ‫مرور‬ ‫به‬ ‫اما‬ ‫کند‬ ‫اعمال‬ ‫ورودی‬ ‫های‬‫بسته‬ ‫روی‬ ‫فقط‬ ‫محدودی‬ ‫بسیار‬ ‫های‬‫سیاست‬ ‫توانست‬‫می‬ ‫تنها‬ ‫ابتدا‬ ‫در‬
.
)
6
(
‫محلی‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫در‬
.‫شود‬‫می‬ ‫استفاده‬ ‫آتش‬ ‫دیواره‬ ‫از‬ ‫نیازها‬ ‫از‬ ‫بسیاری‬ ‫رفع‬ ‫و‬ ‫ترافیک‬ ‫کنترل‬ ،‫امنیت‬ ‫برقراری‬ ،‫شبکه‬ ‫آدرس‬ ‫ی‬‫ترجمه‬ ،‫بهتر‬ ‫مدیریت‬ ،‫حفاظت‬ ‫برای‬
،‫لینوکس‬ ‫عامل‬‫سیستم‬ ‫آتش‬ ‫دیواره‬
IPTables
‫ساختار‬ ‫معرفی‬ ‫به‬ ‫ابتدا‬ ،‫مقاله‬ ‫این‬ ‫در‬ .‫است‬
IPTables
‫و‬ ‫ها‬‫قانون‬ ،‫ها‬‫زنجیره‬ ،‫ها‬‫جدول‬ ‫از‬ ‫ساختار‬ ‫این‬ .‫پردازیم‬‫می‬
.‫است‬ ‫شده‬ ‫تشکیل‬ ‫ها‬‫انطباق‬
IPTables
‫انطباق‬ ‫تعدادی‬ ‫از‬ ‫قانون‬ ‫هر‬ ‫و‬ ‫قانون‬ ‫تعدادی‬ ‫از‬ ‫زنجیره‬ ‫هر‬ ،‫زنجیره‬ ‫تعدادی‬ ‫از‬ ‫جدول‬ ‫هر‬ .‫است‬ ‫فرض‬‫پیش‬ ‫جدول‬ ‫چهار‬ ‫دارای‬
‫خواهد‬ ‫اجرا‬ ‫بسته‬ ‫مورد‬ ‫در‬ ‫قانون‬ ‫آن‬ ‫هدف‬ ،‫باشد‬ ‫داشته‬ ‫انطباق‬ ‫قانون‬ ‫یک‬ ‫با‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫ای‬‫بسته‬ ‫اگر‬ .‫است‬ ‫هدف‬ ‫مجموعه‬ ‫یک‬ ‫دارای‬ ‫قانون‬ ‫هر‬ .‫است‬ ‫شده‬ ‫تشکیل‬
.‫دهیم‬‫می‬ ‫توضیح‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫آتش‬ ‫دیواره‬ ‫از‬ ‫عبورکننده‬ ‫های‬‫بسته‬ ‫سرنوشت‬ ‫ادامه‬ ‫در‬ .‫شد‬
‫یا‬ ‫ابزار‬ ‫یک‬ ،‫همچنین‬ .‫است‬ ‫شده‬ ‫طراحی‬ ‫شبکه‬ ‫آن‬ ‫به‬ ‫ناخواسته‬ ‫های‬‫دسترسی‬ ‫مسدودکردن‬ ‫منظور‬ ‫به‬ ‫که‬ ‫است‬ ‫کامپیوتری‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫از‬ ‫بخشی‬ ‫آتش‬ ‫دیواره‬ ‫یک‬
‫بر‬ ‫مختلف‬ ‫امنیتی‬ ‫های‬‫دامنه‬ ‫بین‬ ‫کامپیوتری‬ ‫ترافیک‬ ‫کل‬ ‫نمودن‬ ‫پراکسی‬ ‫یا‬ ‫رمزگشایی‬ ‫و‬ ‫رمزنگاری‬ ،‫ردکردن‬ ،‫دادن‬‫اجازه‬ ‫منظور‬ ‫به‬ ‫که‬ ‫است‬ ‫ابزارها‬ ‫از‬ ‫ای‬‫مجموعه‬
‫آتش‬ ‫های‬‫دیواره‬ .‫شود‬ ‫سازی‬‫پیاده‬ ‫دو‬ ‫این‬ ‫از‬ ‫ترکیبی‬ ‫یا‬ ‫و‬ ‫افزار‬‫نرم‬ ،‫افزار‬‫سخت‬ ‫روی‬ ‫تواند‬‫می‬ ‫آتش‬ ‫دیواره‬ .‫شود‬‫می‬ ‫استفاده‬ ‫معیارها‬ ‫و‬ ‫قوانین‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫اساس‬
‫از‬ ‫اینترنت‬ ‫از‬ ‫دریافتی‬ ‫و‬ ‫ارسالی‬ ‫های‬‫پیام‬ ‫کلیه‬ .‫شوند‬‫می‬ ‫استفاده‬ ‫اینترنت‬ ‫به‬ ‫متصل‬ ‫داخلی‬ ‫ی‬‫شبکه‬ ‫به‬ ‫اینترنت‬ ‫ناخواسته‬ ‫کاربران‬ ‫دسترسی‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫معمول‬
‫برای‬ .‫کند‬‫می‬ ‫مسدود‬ ،‫کنند‬‫نمی‬ ‫برآورده‬ ‫را‬ ‫شده‬ ‫مشخص‬ ‫امنیتی‬ ‫معیارهای‬ ‫که‬ ‫هایی‬‫آن‬ ‫و‬ ‫کند‬‫می‬ ‫بررسی‬ ‫را‬ ‫ها‬‫پیام‬ ‫ی‬‫همه‬ ‫آتش‬ ‫دیواره‬ .‫کنند‬‫می‬ ‫عبور‬ ‫آتش‬ ‫دیواره‬
‫نام‬ ‫به‬ ‫ابزاری‬ ‫از‬ ‫لینوکس‬ ‫عامل‬‫سیستم‬ ‫آتش‬ ‫دیواره‬ ‫تنظیم‬
IPTables
.‫شود‬‫می‬ ‫استفاده‬
Netfilter
‫و‬
IPTables
‫ی‬‫هسته‬ ‫درون‬ ‫افزاری‬‫نرم‬ ‫ساختارهای‬
2.4
.
x
‫ی‬‫هسته‬ ‫و‬
2.6
.
x
.‫داد‬ ‫انجام‬ ‫را‬ ‫ها‬‫بسته‬ ‫اصلح‬ ‫و‬ ‫شبکه‬ ‫آدرس‬ ‫ی‬‫ترجمه‬ ، ‫ها‬‫بسته‬ ‫فیلترکردن‬ ‫توان‬‫می‬ ‫ها‬‫آن‬ ‫کمک‬ ‫به‬ ‫که‬ ‫باشند‬‫می‬
‫آتش‬ ‫دیواره‬
:‫است‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫که‬ ‫دهد‬‫می‬ ‫ارائه‬ ‫سرویس‬ ‫چندین‬ ‫آتش‬ ‫دیواره‬
•
‫آدرس‬ ‫از‬ ‫حفاظت‬
IP
‫های‬‫شبکه‬ ‫مثال‬ ‫عنوان‬ ‫)به‬ ‫مختلف‬ ‫های‬‫شبکه‬ .‫کنند‬‫می‬ ‫عمل‬ ‫مسیریاب‬ ‫یک‬ ‫مانند‬ ‫آتش‬ ‫های‬‫دیواره‬ ‫از‬ ‫بسیاری‬ :‫ترافیک‬ ‫کنترل‬ ‫و‬
192.168.1.1/24
‫و‬
10.100.100.0/24
‫ایجاد‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫ابزار‬ ‫این‬ ‫از‬ ‫فقط‬ ‫شبکه‬ ‫مدیران‬ ‫از‬ ‫بسیاری‬ .‫کنند‬ ‫برقرار‬ ‫ارتباط‬ ‫یکدیگر‬ ‫با‬ ‫توانند‬‫می‬ (
‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ‫است‬ ‫آتش‬ ‫دیواره‬ ‫اجزای‬ ‫از‬ ‫یکی‬ ‫خصوصیت‬ ‫این‬ .‫کنند‬‫می‬ ‫استفاده‬ ‫اضافی‬ ‫های‬‫زیرشبکه‬
IPTables
‫و‬
IPChains
‫بنابراین‬ .‫است‬ ‫شده‬ ‫کامل‬
‫آدرس‬ ‫یک‬ ‫با‬
IP
‫اما‬ ،‫دهد‬‫نمی‬ ‫انجام‬ ‫را‬ ‫شبکه‬ ‫آدرس‬ ‫ی‬‫ترجمه‬ ‫لزوما‬ ‫آتش‬ ‫دیواره‬ ‫چه‬‫اگر‬ .‫آوریم‬ ‫وجود‬‫به‬ ‫گسترده‬ ‫ی‬‫شبکه‬ ‫یا‬ ‫محلی‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫توانیم‬‫می‬
‫مانند‬ ‫آتش‬ ‫های‬‫دیواره‬ ‫اکثر‬
IPTables
.‫کنند‬‫می‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬
•
‫شبکه‬ ‫تفکیک‬
.‫کند‬‫می‬ ‫کمک‬ ‫ترافیک‬ ‫مدیریت‬ ‫در‬ ‫و‬ ‫است‬ ‫ها‬‫شبکه‬ ‫دیگر‬ ‫و‬ ‫شبکه‬ ‫یک‬ ‫بین‬ ‫مرز‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ ‫ابتدایی‬ ‫ابزار‬ ‫یک‬ ‫آتش‬ ‫دیواره‬ :
•
‫سمع‬ ‫استراق‬ ‫و‬ ‫پویشی‬ ، ‫دهی‬‫سرویس‬ ‫از‬ ‫جلوگیری‬ ‫های‬‫حمله‬ ‫برابر‬ ‫در‬ ‫محافظت‬
‫ترافیک‬ ‫که‬ ‫کند‬‫می‬ ‫عمل‬ ‫منفرد‬ ‫نقطه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آتش‬ ‫دیواره‬ :
.‫کند‬‫می‬ ‫کنترل‬ ‫را‬ ‫شبکه‬ ‫از‬ ‫خروجی‬ ‫و‬ ‫ورودی‬
•
‫کردن‬ ‫فیلتر‬
IP
‫دیواره‬ ‫یک‬ ‫کاربرد‬ ‫ترین‬‫شده‬‫شناخته‬ ‫کردن‬ ‫فیلتر‬ .‫دارد‬ ‫پورت‬ ‫و‬ ‫آدرس‬ ‫مبنای‬ ‫بر‬ ‫را‬ ‫اتصال‬ ‫کردن‬‫رد‬ ‫یا‬ ‫پذیرفتن‬ ‫توانایی‬ ‫آتش‬ ‫دیواره‬ :‫پورت‬ ‫و‬
‫اساس‬ ‫بر‬ ‫بلکه‬ ‫ها‬‫بسته‬ ‫مقصد‬ ‫مبنای‬ ‫بر‬ ‫تنها‬ ‫نه‬ ‫و‬ ‫بوده‬ ‫پیچیده‬ ‫بسیار‬ ‫تواند‬‫می‬ ‫و‬ ‫است‬ ‫همراه‬ ‫ها‬‫بسته‬ ‫کردن‬ ‫فیلتر‬ ‫با‬ ‫کردن‬ ‫فیلتر‬ ‫از‬ ‫نوع‬ ‫این‬ .‫است‬ ‫آتش‬
.‫باشد‬ ‫نیز‬ ‫بسته‬ ‫مبدا‬
•
‫بررسی‬ ‫با‬ ‫را‬ ‫ترافیک‬ ‫که‬ ‫است‬ ‫آتش‬ ‫دیواره‬ ‫نوع‬ ‫یک‬ ‫پراکسی‬ ‫ی‬‫دهنده‬‫سرویس‬ ‫کلی‬ ‫طور‬ ‫به‬ :‫محتوا‬ ‫کردن‬ ‫فیلتر‬
URL
.‫کند‬‫می‬ ‫مدیریت‬ ،‫صفحه‬ ‫محتوای‬ ‫و‬
.‫کند‬ ‫مسدود‬ ‫و‬ ‫شناسایی‬ ،‫است‬ ‫مدنظر‬ ‫که‬ ‫محتوایی‬ ‫تواند‬‫می‬ ،‫شود‬ ‫تنظیم‬ ‫درستی‬ ‫به‬ ،‫پراکسی‬ ‫بر‬ ‫مبتنی‬ ‫آتش‬ ‫دیواره‬ ‫اگر‬
•
‫بسته‬ ‫مسیر‬ ‫تعویض‬
‫ی‬‫دهنده‬‫سرویس‬ ‫اگر‬ ‫مثل‬ .‫بفرستد‬ ‫دیگر‬ ‫میزبان‬ ‫یک‬ ‫یا‬ ‫دیگر‬ ‫پورت‬ ‫یک‬ ‫به‬ ‫را‬ ‫ترافیک‬ ‫باید‬ ‫آتش‬ ‫دیواره‬ ‫اوقات‬ ‫بعضی‬ :
Squid
‫روی‬
‫پورت‬ ‫به‬ ‫شده‬ ‫فرستاده‬ ‫ترافیک‬ ‫تمام‬ ‫آتش‬ ‫دیواره‬ ‫کار‬ ‫این‬ ‫با‬ ،‫است‬ ‫شده‬ ‫نصب‬ ‫آتش‬ ‫دیواره‬ ‫از‬ ‫غیر‬ ‫میزبانی‬
80
‫و‬
443
‫های‬‫اتصال‬ ‫در‬ ‫استاندارد‬ ‫های‬‫)پورت‬
HTTP
‫و‬
HTTPS
.‫فرستد‬‫می‬ ‫پراکسی‬ ‫ی‬‫دهنده‬‫سرویس‬ ‫به‬ ‫بیشتر‬ ‫پردازش‬ ‫برای‬ ‫را‬ (
:‫از‬ ‫عبارتند‬ ‫آتش‬ ‫دیواره‬ ‫انواع‬
•
.‫کند‬‫می‬ ‫رد‬ ‫یا‬ ‫قبول‬ ‫را‬ ‫آن‬ ‫کاربر‬ ‫توسط‬ ‫شده‬ ‫تعریف‬ ‫قوانین‬ ‫اساس‬ ‫بر‬ ‫و‬ ‫کند‬‫می‬ ‫نگاه‬ ‫شبکه‬ ‫از‬ ‫شده‬ ‫خارج‬ ‫یا‬ ‫شده‬ ‫وارد‬ ‫بسته‬ ‫هر‬ ‫به‬ :‫بسته‬ ‫فیلترکننده‬
‫جعل‬ ‫برای‬ ‫و‬ ‫بوده‬ ‫مشکل‬ ‫آن‬ ‫پیکربندی‬ ‫اما‬ ‫است‬ ‫شفاف‬ ،‫کاربران‬ ‫برای‬ ‫و‬ ‫کند‬‫می‬ ‫عمل‬ ‫موثر‬ ‫طور‬ ‫به‬ ‫بسته‬ ‫فیلترکننده‬ ‫افزار‬‫نرم‬
IP
.‫است‬ ‫مستعد‬
•
‫کاربرد‬ ‫ی‬‫دروازه‬
‫های‬‫دهنده‬‫سرویس‬ ‫مانند‬ ‫خاص‬ ‫های‬‫کاربرد‬ ‫در‬ :
FTP
‫و‬
Telnet
‫اما‬ ،‫است‬ ‫مفید‬ ‫بسیار‬ ‫افزار‬‫نرم‬ ‫این‬ .‫کند‬‫می‬ ‫اعمال‬ ‫را‬ ‫امنیتی‬ ‫های‬‫مکانیزم‬
.‫شود‬ ‫کارآیی‬ ‫کاهش‬ ‫باعث‬ ‫است‬ ‫ممکن‬
•
‫مدار‬ ‫سطح‬ ‫دروازه‬
‫اتصال‬ ‫یک‬ ‫که‬‫هنگامی‬ :
TCP
‫یا‬
UDP
،‫شود‬‫می‬ ‫برقرار‬ ‫اتصال‬ ‫که‬ ‫ای‬‫لحظه‬ ‫از‬ .‫کند‬‫می‬ ‫اعمال‬ ‫را‬ ‫امنیتی‬ ‫های‬‫مکانیزم‬ ،‫شود‬‫می‬ ‫برقرار‬
)
7
(
.‫شوند‬ ‫مبادله‬ ‫بیشتر‬ ‫کنترل‬ ‫بدون‬ ‫ها‬‫میزبان‬ ‫بین‬ ‫توانند‬‫می‬ ‫ها‬‫بسته‬
•
.‫کند‬‫می‬ ‫پنهان‬ ‫را‬ ‫شبکه‬ ‫واقعی‬ ‫های‬‫آدرس‬ ‫موثری‬ ‫طور‬ ‫به‬ ‫و‬ ‫کند‬‫می‬ ‫مسدود‬ ‫را‬ ‫شبکه‬ ‫از‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫های‬‫پیام‬ ‫ی‬‫کلیه‬ :‫پراکسی‬ ‫ی‬‫دهنده‬‫سرویس‬
‫پایه‬ ‫مفاهیم‬
‫به‬ ‫مربوط‬ ‫متون‬ ‫در‬
IPTables
‫ممکن‬ ‫که‬ ‫روند‬‫می‬ ‫کار‬‫به‬ ‫یکدیگر‬ ‫جای‬ ‫به‬ ‫اصطلحات‬ ‫این‬ ،‫موارد‬ ‫از‬ ‫بسیاری‬ ‫در‬ .‫اند‬‫شده‬ ‫داده‬ ‫توضیح‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫مفاهیمی‬
.‫شود‬ ‫مطالب‬ ‫بدفهمی‬ ‫باعث‬ ‫است‬
Netfilter
‫ابزاری‬ ‫ترین‬‫شده‬‫شناخته‬ .‫رود‬‫می‬ ‫کار‬ ‫به‬ ‫ها‬‫بسته‬ ‫دستکاری‬ ‫و‬ ‫مسدودکردن‬ ‫منظور‬ ‫به‬ ‫و‬ ‫دارد‬ ‫قرار‬ ‫لینوکس‬ ‫ی‬‫هسته‬ ‫در‬ ‫که‬ ‫است‬ ‫ها‬‫قلب‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫حاوی‬ ‫چارچوبی‬
‫از‬ ‫که‬
Netfilter
‫مانند‬ ‫نیز‬ ‫دیگری‬ ‫ابزارهای‬ .‫کند‬‫می‬ ‫فیلتر‬ ‫را‬ ‫ها‬‫بسته‬ ‫که‬ ‫است‬ ‫آتش‬ ‫دیواره‬ ،‫کند‬‫می‬ ‫استفاده‬
NAT
‫استفاده‬ ‫آن‬ ‫از‬ ‫بسته‬ ‫بندی‬‫صف‬ ‫و‬ ‫دار‬‫حالت‬ ‫پیگیری‬ ،
،‫کرد‬ ‫فراهم‬ ‫لینوکس‬ ‫برای‬ ‫را‬ ‫آتش‬ ‫دیواره‬ ‫ابزارهای‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫که‬ ‫ای‬‫پروژه‬ ‫نام‬ ‫همچنین‬ .‫کنند‬‫می‬
Netfilter
‫شدند‬ ‫تهیه‬ ‫پروژه‬ ‫این‬ ‫در‬ ‫که‬ ‫اجزایی‬ ‫اکثر‬ .‫است‬ ‫بوده‬
.‫شدند‬ ‫تهیه‬ ‫نیز‬ ‫هایی‬‫کتابخانه‬ ‫و‬ ‫کاربر‬ ‫فضای‬ ‫ابزارهای‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫اما‬ ‫هستند‬ ‫هسته‬ ‫در‬ ‫بارگذاری‬ ‫قابل‬ ‫های‬‫ماژول‬
IPFilter
‫ی‬‫لیه‬ ‫های‬ ‫سرآیند‬ ‫اساس‬ ‫بر‬ ‫ها‬‫بسته‬ ‫محدودکردن‬ ‫معیار‬ .‫دهد‬‫می‬ ‫انجام‬ ‫را‬ ‫کاربری‬ ‫رابط‬ ‫یک‬ ‫از‬ ‫عبور‬ ‫حین‬ ‫در‬ ‫ها‬‫بسته‬ ‫انتخابی‬ ‫عبوردادن‬ ‫یا‬ ‫مسدودکردن‬
3
)
IPv4،
IPv6
‫ی‬‫لیه‬ ‫و‬ (
4
)
TCP، UDP، ICMP4
.‫است‬ ‫مقصد‬ ‫و‬ ‫مبدا‬ ‫پروتکل‬ ‫و‬ ‫پورت‬ ،‫مقصد‬ ‫و‬ ‫مبدا‬ ‫آدرس‬ ،‫دارد‬ ‫کاربرد‬ ‫همه‬ ‫از‬ ‫بیش‬ ‫که‬ ‫معیاری‬ .‫است‬ (
IPFilter
‫از‬ ‫یکی‬
‫برای‬ ‫ابتدا‬ ‫که‬ ‫است‬ ‫آتش‬ ‫های‬‫دیواره‬ ‫انواع‬
OpenBSD
‫مزایای‬ ‫از‬ ‫برخی‬ ‫ذکر‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫دارد‬ ‫وجود‬ ‫نیز‬ ‫دیگر‬ ‫عامل‬ ‫های‬‫سیستم‬ ‫در‬ ‫اکنون‬ ‫اما‬ ،‫یافت‬ ‫توسعه‬
IPFilter
.‫پردازیم‬‫می‬
•
‫از‬ ‫خاصی‬ ‫انواع‬ ‫به‬ ‫توان‬‫می‬ ،‫است‬ ‫متصل‬ ‫اینترنت‬ ‫مانند‬ ‫خارجی‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫به‬ ‫داخلی‬ ‫های‬‫شبکه‬ ‫و‬ ‫است‬ ‫لینوکس‬ ،‫عامل‬ ‫سیستم‬ ‫که‬‫هنگامی‬ :‫کنترل‬
‫به‬ ‫ها‬‫بسته‬ ‫رفتن‬ ‫از‬ ‫توان‬‫می‬ ‫بنابراین‬ ،‫است‬ ‫مقصد‬ ‫آدرس‬ ‫حاوی‬ ‫ها‬‫بسته‬ ‫سرآیند‬ ،‫مثال‬ ‫برای‬ .‫نمود‬ ‫مسدود‬ ‫را‬ ‫آن‬ ‫از‬ ‫خاصی‬ ‫انواع‬ ‫و‬ ‫داد‬ ‫عبور‬ ‫ی‬‫اجازه‬ ‫ترافیک‬
‫از‬ ‫هایی‬‫آگهی‬ ‫و‬ ‫تبلیغات‬ ،‫وب‬ ‫های‬‫صفحه‬ ‫در‬ ‫دیگر‬ ‫مثالی‬ ‫عنوان‬ ‫به‬ .‫نمود‬ ‫جلوگیری‬ ‫خارجی‬ ‫ی‬‫شبکه‬ ‫از‬ ‫خاصی‬ ‫بخش‬
doubleclick.net
‫و‬ ‫دارند‬ ‫وجود‬
‫به‬ ‫توان‬‫می‬ ،‫کند‬‫می‬ ‫ها‬‫آن‬ ‫بارگذاری‬ ‫صرف‬ ‫را‬ ‫زیادی‬ ‫زمان‬ ‫مرورگر‬
IPFilter
‫از‬ ‫ای‬‫بسته‬ ‫هیچ‬ ‫گفت‬
doubleclick.net
.‫نکند‬ ‫دریافت‬
•
‫داخلی‬ ‫ی‬‫شبکه‬ ‫به‬ ‫وارده‬ ‫ترافیک‬ ‫روی‬ ‫بر‬ ‫باید‬ ‫بنابراین‬ .‫است‬ ‫داخلی‬ ‫منظم‬ ‫ی‬‫شبکه‬ ‫و‬ ‫اینترنت‬ ‫آشفته‬ ‫دنیای‬ ‫بین‬ ‫رابط‬ ‫تنها‬ ‫لینوکس‬ :‫امنیت‬
‫ممکن‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫بود‬ ‫نگران‬ ‫باید‬ ‫وارده‬ ‫های‬‫بسته‬ ‫مورد‬ ‫در‬ ‫اما‬ ‫شود‬ ‫خارج‬ ‫شبکه‬ ‫از‬ ‫چیزی‬ ‫چه‬ ‫که‬ ‫نباشد‬ ‫مهم‬ ‫است‬ ‫ممکن‬ .‫کرد‬ ‫اعمال‬ ‫هایی‬‫محدودیت‬
‫طریق‬ ‫از‬ ‫کسی‬ ‫که‬ ‫نخواهید‬ ‫است‬
Telnet
‫دهنده‬‫سرویس‬ ‫یک‬ ‫و‬ ‫کنید‬ ‫استفاده‬ ‫اینترنت‬ ‫از‬ ‫تنها‬ ‫بخواهید‬ ‫است‬ ‫ممکن‬ .‫کند‬ ‫برقرار‬ ‫ارتباط‬ ‫دهنده‬‫سرویس‬ ‫با‬
‫داشتن‬ ‫با‬ ‫کارها‬ ‫این‬ ‫تمامی‬ .‫گیرد‬‫می‬ ‫را‬ ‫اتصالی‬ ‫هرگونه‬ ‫جلوی‬ ‫بنابراین‬ .‫نباشید‬
IPFilter
.‫است‬ ‫پذیر‬‫امکان‬
•
‫مراقبت‬
‫در‬ .‫کند‬‫می‬ ‫ارسال‬ ‫شبکه‬ ‫از‬ ‫خارج‬ ‫به‬ ‫را‬ ‫بسته‬ ‫زیادی‬ ‫تعداد‬ ،‫است‬ ‫شده‬ ‫پیکربندی‬ ‫نامناسبی‬ ‫طور‬ ‫به‬ ‫که‬ ‫محلی‬ ‫ی‬‫شبکه‬ ‫در‬ ‫سیستمی‬ ‫اوقات‬ ‫گاهی‬ :
‫است‬ ‫مناسب‬ ‫جا‬‫این‬
IPFilter
.‫دهد‬ ‫گزارش‬ ‫را‬ ‫غیرطبیعی‬ ‫رویداد‬ ‫هر‬ ‫وقوع‬ ‫که‬ ‫کرد‬ ‫تنظیم‬ ‫طوری‬ ‫را‬
) ‫شبکه‬ ‫آدرس‬ ‫ی‬‫ترجمه‬
NAT
(
‫آدرس‬ ‫یک‬ ‫به‬ ‫نیاز‬ ‫وب‬ ‫دهندگان‬‫سرویس‬ ‫و‬ ‫دیگرکامپیوترها‬ ‫با‬ ‫ارتباط‬ ‫در‬ ‫کامپیوتری‬ ‫هر‬
IP
‫به‬ ‫کاری‬ ‫های‬‫شبکه‬ ‫و‬ ‫خانگی‬ ‫استفاده‬ ‫رشد‬ ‫و‬ ‫اینترنت‬ ‫گسترش‬ ‫با‬ .‫دارد‬
‫های‬‫آدرس‬ ‫تعداد‬ ‫رسد‬‫می‬ ‫نظر‬
IP
‫آدرس‬ ‫قالب‬ ‫مجدد‬ ‫طراحی‬ ،‫ساده‬ ‫حل‬ ‫راه‬ ‫یک‬ .‫نباشد‬ ‫کافی‬ ‫موجود‬
IP
‫را‬ ‫بیشتری‬ ‫های‬‫آدرس‬ ‫تعداد‬ ‫داشتن‬ ‫امکان‬ ‫که‬ ‫است‬
‫جا‬‫این‬ ‫در‬ .‫است‬ ‫اینترنت‬ ‫زیرساخت‬ ‫کل‬ ‫اصلح‬ ‫نیازمند‬ ‫و‬ ‫شود‬ ‫سازی‬‫پیاده‬ ‫حل‬ ‫راه‬ ‫این‬ ‫تا‬ ‫کشد‬‫می‬ ‫طول‬ ‫سال‬ ‫چندین‬ ‫اما‬ ،‫دهد‬‫می‬
NAT
.‫کند‬‫می‬ ‫حل‬ ‫را‬ ‫مشکل‬
NAT
‫یک‬ ‫صورت‬ ‫این‬ ‫در‬ .‫کند‬ ‫عمل‬ ‫مشخص‬ ‫محلی‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫و‬ ‫اینترنت‬ ‫بین‬ ‫رابط‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫دهد‬‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫مسیریاب‬ ‫یک‬ ‫مثل‬ ‫منفرد‬ ‫دستگاه‬ ‫یک‬ ‫به‬
IP
‫های‬‫آدرس‬ ‫تعداد‬ ‫کمبود‬ .‫شود‬ ‫استفاده‬ ‫کامپیوتر‬ ‫ی‬‫مجموعه‬ ‫یک‬ ‫برای‬ ‫تواند‬‫می‬ ‫منفرد‬
IP
‫از‬ ‫استفاده‬ ‫دلیل‬ ‫تنها‬
NAT
‫و‬ ‫امنیت‬ ‫برقراری‬ ‫چون‬ ‫دیگری‬ ‫فواید‬ .‫نیست‬
‫از‬ ‫استفاده‬ ‫مزایای‬ ‫از‬ ‫نیز‬ ‫بهتر‬ ‫مدیریت‬
NAT
‫مفهوم‬ .‫است‬
NAT
‫ورود‬ ‫ی‬‫دروازه‬ ‫عنوان‬ ‫به‬ (‫مسیریاب‬ ‫یا‬ ‫کامپیوتر‬ ‫)مثل‬ ‫دستگاه‬ ‫یك‬ ‫که‬ ‫است‬ ‫معنا‬ ‫این‬ ‫به‬ ‫و‬ ‫ساده‬ ‫بسیار‬
‫که‬ ‫دستگاهي‬ ‫آدرس‬ ‫به‬ ‫را‬ ‫کاري‬ ‫هاي‬‫ایستگاه‬ ‫هاي‬‫آدرس‬ ‫کار‬ ‫این‬ ‫با‬ ‫و‬ ‫کند‬‫مي‬ ‫عمل‬ ‫اینترنت‬ ‫به‬
NAT
‫دیگر‬ ‫بیان‬ ‫به‬ ،‫کند‬‫مي‬ ‫ترجمه‬ ‫است‬ ‫فعال‬ ‫آن‬ ‫روي‬
NAT
‫روي‬
‫را‬ ‫شبکه‬ ‫اینترنت‬ ‫دیگر‬ ‫سوي‬ ‫از‬ .‫کند‬‫مي‬ ‫پنهان‬ ‫اینترنت‬ ‫دید‬ ‫از‬ ‫را‬ ‫شبکه‬ ‫کلي‬ ‫طور‬ ‫به‬ ‫و‬ ‫کاري‬ ‫هاي‬‫ایستگاه‬ ‫و‬ ‫شود‬‫می‬ ‫فعال‬ ‫است‬ ‫متصل‬ ‫اینترنت‬ ‫به‬ ‫که‬ ‫دستگاهي‬
.‫باشد‬‫مي‬ ‫متصل‬ ‫اینترنت‬ ‫به‬ ‫که‬ ‫بیند‬‫مي‬ ‫ساده‬ ‫دستگاه‬ ‫یك‬ ‫صورت‬‫به‬
NAT
‫کاري‬ ‫هاي‬‫ایستگاه‬ ‫روي‬ ‫دوباره‬ ‫تنظیمات‬ ‫به‬ ‫نیازي‬ ‫و‬ ‫کند‬‫نمي‬ ‫ایجاد‬ ‫تغییر‬ ‫شبکه‬ ‫روي‬
‫که‬ ‫است‬ ‫دستگاهي‬ ‫آدرس‬ ‫همان‬ ‫که‬ ‫را‬ ‫شبکه‬ ‫از‬ ‫خروجي‬ ‫ی‬‫دروازه‬ ‫آدرس‬ ‫بایست‬‫مي‬ ‫کاري‬ ‫هاي‬‫ایستگاه‬ ‫فقط‬ .‫نیست‬
NAT
.‫بدانند‬ ‫را‬ ‫است‬ ‫شده‬ ‫فعال‬ ‫آن‬ ‫روي‬
)
8
(
IPTables
‫سری‬ ‫از‬ ‫لینوکس‬ ‫ی‬‫هسته‬
1.1
‫داری‬
IPFilter
‫نام‬ ‫به‬ ‫ابزاری‬ ‫از‬ ‫ها‬‫بسته‬ ‫فیلترکردن‬ ‫قوانین‬ ‫تنظیم‬ ‫برای‬ .‫است‬ ‫بوده‬
ipfwadm
‫لینوکس‬ ‫در‬ .‫شد‬‫می‬ ‫استفاده‬
2.2
‫ابزاری‬
‫نام‬ ‫به‬
IPChains
‫لینوکس‬ ‫برای‬ ‫سرانجام‬ ‫و‬ ‫شد‬ ‫معرفی‬
2.4
‫ابزار‬
IPTables
‫حقیقت‬ ‫در‬ .‫شد‬ ‫معرفی‬
IPTables
‫آن‬ ‫به‬ ‫و‬ ‫گوید‬‫می‬ ‫سخن‬ ‫هسته‬ ‫با‬ ‫که‬ ‫است‬ ‫ابزاری‬
‫های‬‫ماژول‬ ‫قوانین‬ ‫دستکاری‬ ‫و‬ ‫ایجاد‬ ‫برای‬ ،‫ها‬‫بسته‬ ‫کردن‬ ‫فیلتر‬ ‫بر‬ ‫علوه‬ .‫کند‬ ‫فیلتر‬ ‫را‬ ‫هایی‬‫بسته‬ ‫چه‬ ‫که‬ ‫گوید‬‫می‬
NAT
‫زیرا‬ ،‫شود‬‫می‬ ‫استفاده‬ ‫نیز‬
NAT
‫طریق‬ ‫از‬ ‫نیز‬
‫قوانین‬ ‫مجموعه‬
IPFilter
‫نام‬ ‫اغلب‬ .‫شود‬‫می‬ ‫پیکربندی‬
IPTables
‫شامل‬ ‫که‬ ‫آتش‬ ‫دیواره‬ ‫زیرساخت‬ ‫کل‬ ‫برای‬
Netfilter
‫و‬ ‫اتصال‬ ‫پیگیری‬ ،
NAT
‫استفاده‬ ،‫است‬
‫اصلی‬ ‫های‬‫ویژگی‬ .‫شود‬‫می‬
IPTables
:‫از‬ ‫عبارتند‬
•
‫بسته‬ ‫فیلتر‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ ‫ی‬‫کلیه‬ ‫کردن‬‫فهرست‬
•
‫بسته‬ ‫فیلتر‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ ‫در‬ ‫قوانین‬ ‫اصلح‬ /‫کردن‬ ‫کم‬ /‫افزودن‬
•
‫بسته‬ ‫فیلتر‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ ‫در‬ ‫قانون‬ ‫هر‬ ‫های‬‫شمارنده‬ ‫کردن‬ ‫صفر‬ /‫فهرست‬
‫که‬ ‫این‬ ‫دلیل‬ ‫به‬
IPTables
‫کاربر‬ ‫توسط‬ ‫حتما‬ ‫باید‬ ،‫دارد‬ ‫نیاز‬ ‫اجرا‬ ‫برای‬ ‫خاصی‬ ‫امتیازات‬ ‫به‬
root
‫لینوکس‬ ‫های‬‫سیستم‬ ‫اکثر‬ ‫در‬ .‫شود‬ ‫اجرا‬
IPTables
‫ی‬‫شاخه‬ ‫در‬
usr/sbin/iptables
‫دستور‬ ‫اجرای‬ ‫با‬ ‫و‬ ‫شود‬‫می‬ ‫نصب‬
man iptables
‫ی‬‫پروژه‬ .‫کرد‬ ‫پیدا‬ ‫دسترسی‬ ‫آن‬ ‫به‬ ‫مربوط‬ ‫مستندات‬ ‫به‬ ‫توان‬‫می‬
netfilter/IPTables
‫سال‬ ‫در‬
1998
‫توسط‬ ‫میلدی‬
Rusty Russell
‫ی‬‫دهنده‬‫توسعه‬ ‫که‬
IPChains
‫تیم‬ ،‫پروژه‬ ‫پیشرفت‬ ‫با‬ .‫شد‬ ‫شروع‬ ‫بود‬ ‫نیز‬
Netfilter
‫شده‬ ‫داده‬ ‫توسعه‬ ‫افزار‬‫نرم‬ .‫گرفت‬ ‫شکل‬
‫لیسانس‬ ‫تحت‬ ‫ها‬‫آن‬ ‫توسط‬
GNU/GPL
‫چارچوب‬ .‫است‬
Xtables
‫هر‬ .‫هستند‬ ‫قوانین‬ ‫از‬ ‫هایی‬‫زنجیره‬ ‫شامل‬ ‫که‬ ‫دهد‬‫می‬ ‫را‬ ‫هایی‬‫جدول‬ ‫تعریف‬ ‫امکان‬ ‫سیستم‬ ‫مدیر‬ ‫به‬
‫یک‬ .‫شوند‬‫می‬ ‫پردازش‬ ‫ها‬‫زنجیره‬ ‫پیمایش‬ ‫با‬ ‫ها‬‫بسته‬ .‫دارد‬ ‫سروکار‬ ،‫بسته‬ ‫پردازش‬ ‫از‬ ‫خاصی‬ ‫نوع‬ ‫با‬ ‫جدول‬ ‫هر‬ .‫شود‬ ‫برخورد‬ ‫چگونه‬ ‫بسته‬ ‫با‬ ‫که‬ ‫کند‬‫می‬ ‫مشخص‬ ‫قانون‬
‫حداقل‬ ‫شبکه‬ ‫از‬ ‫خروجی‬ ‫یا‬ ‫ورودی‬ ‫بسته‬ ‫هر‬ .‫باشد‬ ‫داشته‬ ‫ادامه‬ ‫تواند‬‫می‬ ‫جایی‬ ‫هر‬ ‫تا‬ ‫روند‬ ‫این‬ ‫و‬ ‫بفرستد‬ ‫دیگری‬ ‫زنجیره‬ ‫به‬ ‫را‬ ‫بسته‬ ‫یک‬ ‫تواند‬‫می‬ ‫زنجیره‬ ‫یک‬ ‫در‬ ‫قانون‬
‫انتهای‬ ‫به‬ ‫که‬ ‫ای‬‫بسته‬ ‫مثال‬ ‫برای‬ .‫دارند‬ ‫هایی‬‫سیاست‬ ‫توکار‬ ‫جداول‬ .‫بپیماید‬ ‫را‬ ‫ای‬‫زنجیره‬ ‫چه‬ ‫ابتدا‬ ‫در‬ ‫که‬ ‫کند‬‫می‬ ‫مشخص‬ ‫بسته‬ ‫منبع‬ .‫پیماید‬‫می‬ ‫را‬ ‫زنجیره‬ ‫یک‬
‫انتهای‬ ‫به‬ ‫ای‬‫بسته‬ ‫اگر‬ ‫و‬ ‫است‬ ‫نشده‬ ‫تعریف‬ ‫سیاست‬ ‫ها‬‫زنجیره‬ ‫این‬ ‫برای‬ .‫کند‬ ‫ایجاد‬ ‫زنجیره‬ ‫دلخواه‬ ‫تعداد‬ ‫به‬ ‫تواند‬‫می‬ ‫سیستم‬ ‫مدیر‬ .‫شود‬‫می‬ ‫حذف‬ ،‫برسد‬ ‫زنجیره‬
‫همچنین‬ .‫یابد‬‫می‬ ‫انطباق‬ ‫خاصی‬ ‫های‬‫بسته‬ ‫انواع‬ ‫با‬ ‫زنجیره‬ ‫یک‬ ‫در‬ ‫قانون‬ ‫هر‬ .‫گردد‬‫می‬ ‫باز‬ ،‫است‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬ ‫آن‬ ‫که‬ ‫ای‬‫زنجیره‬ ‫به‬ ‫دوباره‬ ،‫برسد‬ ‫ها‬‫زنجیره‬ ‫گونه‬‫این‬
‫به‬ ‫بسته‬ ،‫نکند‬ ‫پیدا‬ ‫انطباق‬ ‫بسته‬ ‫با‬ ‫قانون‬ ‫اگر‬ .‫کند‬‫می‬ ‫بررسی‬ ‫را‬ ‫آن‬ ،‫قانون‬ ‫هر‬ ،‫پیماید‬‫می‬ ‫را‬ ‫زنجیره‬ ‫یک‬ ‫ای‬‫بسته‬ ‫وقتی‬ .‫باشد‬ ‫داشته‬ ‫هدف‬ ‫یک‬ ‫است‬ ‫ممکن‬ ‫قانون‬
‫زنجیره‬ ‫در‬ ‫پیوسته‬ ‫پیمایش‬ ‫به‬ ‫بسته‬ .‫شود‬‫می‬ ‫برخورد‬ ‫بسته‬ ‫با‬ ‫شده‬ ‫مشخص‬ ‫هدف‬ ‫در‬ ‫چه‬‫آن‬ ‫طبق‬ ،‫یابد‬ ‫انطباق‬ ‫بسته‬ ‫با‬ ‫قانون‬ ‫اگر‬ ‫و‬ ‫شود‬‫می‬ ‫فرستاده‬ ‫بعدی‬ ‫قانون‬
‫یا‬ (‫شود‬‫می‬ ‫حذف‬ ‫یا‬ ‫قبول‬ ‫بسته‬ ‫)مثل‬ ‫شود‬‫می‬ ‫گرفته‬ ‫تصمیم‬ ‫بسته‬ ‫نهایی‬ ‫سرنوشت‬ ‫مورد‬ ‫در‬ ‫صورت‬ ‫این‬ ‫در‬ ‫که‬ ‫یابد‬ ‫انطباق‬ ‫بسته‬ ‫آن‬ ‫با‬ ‫قانون‬ ‫یک‬ ‫تا‬ ‫دهد‬‫می‬ ‫ادامه‬
.‫برسد‬ ‫زنجیره‬ ‫انتهای‬ ‫به‬ ‫بسته‬ ‫یا‬ ‫بازگردد‬ ‫فراخواننده‬ ‫ی‬‫زنجیره‬ ‫به‬ ‫بسته‬ ‫و‬ ‫کند‬ ‫فراخوانی‬ ‫را‬ ‫بازگشت‬ ‫هدف‬ ،‫قانون‬ ‫یک‬
‫اصطلحات‬ ‫و‬ ‫عبارات‬
IPTables
.‫شوند‬‫می‬ ‫داده‬ ‫شرح‬ ،‫هستند‬ ‫لزم‬ ‫بعدی‬ ‫مطالب‬ ‫درک‬ ‫برای‬ ‫و‬ ‫دارند‬ ‫را‬ ‫کاربرد‬ ‫بیشترین‬ ‫که‬ ‫اصطلحاتی‬ ‫و‬ ‫عبارات‬ ‫از‬ ‫تعدادی‬ ،‫بخش‬ ‫این‬ ‫ادامه‬ ‫در‬
‫انطباق‬
–
‫تقدم‬
:
-- ‫انطباق‬ ‫مثل‬ .‫باشد‬ ‫اطلعاتی‬ ‫چه‬ ‫محتوی‬ ‫باید‬ ‫سرآیند‬ ‫یک‬ ‫که‬ ‫گوید‬‫می‬ ‫قانون‬ ‫یک‬ ‫به‬ ‫که‬ ‫منفرد‬ ‫انطباق‬ ‫یک‬ :‫اول‬ ‫معنی‬ .‫رود‬‫می‬ ‫کار‬‫به‬ ‫مختلف‬ ‫معنی‬ ‫دو‬ ‫با‬ ‫کلمه‬ ‫این‬
source
:‫دوم‬ ‫معنی‬ .‫است‬ ‫شده‬ ‫تشکیل‬ ‫انطباق‬ ‫چندین‬ ‫یا‬ ‫یک‬ ‫از‬ ‫قانون‬ ‫هر‬ .‫باشد‬ ‫شبکه‬ ‫از‬ ‫خاصی‬ ‫محدوده‬ ‫یا‬ ‫خاص‬ ‫میزبان‬ ‫یک‬ ‫باید‬ ‫منبع‬ ‫آدرس‬ ‫که‬ ‫گوید‬‫می‬ ‫ما‬ ‫به‬
:‫اند‬‫شده‬ ‫آورده‬ ‫ادامه‬ ‫در‬ ‫ها‬‫انطباق‬ ‫پرکاربردترین‬ ‫از‬ ‫نمونه‬ ‫چند‬ .‫است‬ ‫یافته‬ ‫انطباق‬ ‫قانون‬ ‫با‬ ‫بسته‬ ‫گوییم‬‫می‬ ‫کند‬ ‫صدق‬ ‫بسته‬ ‫یک‬ ‫مورد‬ ‫در‬ ‫قانون‬ ‫یک‬ ‫کل‬ ‫اگر‬
•
--)
source (-s
‫آدرس‬ ‫یک‬ :
IP
.‫دهد‬‫می‬ ‫انطباق‬ ‫را‬ ‫شبکه‬ ‫یا‬ ‫مبدا‬
•
--)
destination (-d
‫آدرس‬ ‫یک‬ :
IP
.‫دهد‬‫می‬ ‫انطباق‬ ‫را‬ ‫شبکه‬ ‫یا‬ ‫مقصد‬
•
--)
protocol (-p
‫یک‬ ‫روی‬ :
IP
.‫دهد‬‫می‬ ‫انجام‬ ‫انطباق‬
•
--)
in-interface (-i
.‫کند‬‫می‬ ‫ایجاد‬ ‫ورودی‬ ‫رابط‬ ‫یک‬ :
•
interface
.‫کند‬‫می‬ ‫ایجاد‬ ‫خروجی‬ ‫رابط‬ ‫یک‬ :
•
--
state
.‫دهد‬‫می‬ ‫انطباق‬ ‫اتصال‬ ‫حالت‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫روی‬ :
•
--
string
.‫دهد‬‫می‬ ‫انجام‬ ‫انطباق‬ ،‫کاربردی‬ ‫ی‬‫لیه‬ ‫داده‬ ‫های‬‫بایت‬ ‫از‬ ‫ای‬‫رشته‬ ‫روی‬ :
‫قانون‬
)
rule
(
:
‫های‬‫سازی‬‫پیاده‬ ‫اکثر‬ ‫در‬ ‫که‬ ‫است‬ ‫هدف‬ ‫یک‬ ‫همراه‬ ‫به‬ ‫انطباق‬ ‫چندین‬ ‫یا‬ ‫یک‬ ‫از‬ ‫ای‬‫مجموعه‬
IPTables
‫از‬ ‫بعضی‬ ‫در‬ .‫است‬ ‫انطباق‬ ‫چندین‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫قانون‬ ‫یک‬ ،
.‫باشیم‬ ‫داشته‬ ‫قانون‬ ‫هر‬ ‫برای‬ ‫هدف‬ ‫چندین‬ ‫توانیم‬‫می‬ ‫ها‬‫سازی‬‫پیاده‬
)
9
(
‫قوانین‬ ‫ی‬‫مجموعه‬
:
‫سازی‬‫پیاده‬ ‫در‬ ‫قوانین‬ ‫از‬ ‫ای‬‫مجموعه‬
IPTables
.‫شوند‬‫می‬ ‫نوشته‬ ‫پیکربندی‬ ‫فایل‬ ‫یک‬ ‫در‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ .‫باشد‬‫می‬
‫پرش‬
:
jump
‫دستورالعمل‬
JUMP
‫اگر‬ .‫شود‬‫می‬ ‫نوشته‬ ‫دیگر‬ ‫ی‬‫زنجیره‬ ‫یک‬ ‫نام‬ ،‫هدف‬ ‫نام‬ ‫نوشتن‬ ‫جای‬ ‫به‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ .‫شود‬‫می‬ ‫نوشته‬ ‫آن‬ ‫مانند‬ ‫دقیقا‬ ‫و‬ ‫است‬ ‫هدف‬ ‫یک‬ ‫مانند‬
.‫شود‬‫می‬ ‫پردازش‬ ‫آن‬ ‫در‬ ‫و‬ ‫شود‬‫می‬ ‫فرستاده‬ ‫بعدی‬ ‫ی‬‫زنجیره‬ ‫به‬ ‫بسته‬ ،‫داشت‬ ‫انطباق‬ ‫قانون‬
‫هدف‬
:
target
‫باید‬ ‫که‬ ‫کند‬‫می‬ ‫مشخص‬ ‫هدف‬ ‫تعریف‬ ،‫کند‬ ‫پیدا‬ ‫انطباق‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫قانون‬ ‫کل‬ ‫اگر‬ .‫دارد‬ ‫هدف‬ ‫ی‬‫مجموعه‬ ‫یک‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ ‫در‬ ‫موجود‬ ‫قانون‬ ‫هر‬ ‫کلی‬ ‫طور‬ ‫به‬
‫آدرس‬ ‫یا‬ ‫و‬ ‫حذف‬ ،‫قبول‬ ‫را‬ ‫آن‬ ‫باید‬ ‫که‬ ‫گوید‬‫می‬ ‫مثل‬ .‫کرد‬ ‫چه‬ ‫بسته‬ ‫با‬
IP
‫در‬ .‫باشد‬ ‫نداشته‬ ‫یا‬ ‫باشد‬ ‫داشته‬ ‫هدف‬ ‫یا‬ ‫پرش‬ ‫است‬ ‫ممکن‬ ‫قانون‬ ‫یک‬ .‫کرد‬ ‫ترجمه‬ ‫را‬ ‫آن‬
:‫است‬ ‫شده‬ ‫آورده‬ ‫پرکاربرد‬ ‫هدف‬ ‫چند‬ ‫ادامه‬
•
ACCEPT
.‫دهد‬ ‫ادامه‬ ‫خود‬ ‫راه‬ ‫به‬ ‫که‬ ‫دهد‬‫می‬ ‫اجازه‬ ‫بسته‬ ‫یک‬ ‫به‬ :
•
DROP
.‫شود‬‫نمی‬ ‫انجام‬ ‫آن‬ ‫روی‬ ‫دیگری‬ ‫پردازش‬ ‫هیچ‬ ‫و‬ ‫کند‬‫می‬ ‫حذف‬ ‫را‬ ‫بسته‬ ‫یک‬ :
•
LOG
‫در‬ ‫را‬ ‫بسته‬ ‫یک‬ :
syslog
.‫کند‬‫می‬ ‫ثبت‬
•
REJECT
.‫کند‬‫می‬ ‫ارسال‬ ،‫مناسب‬ ‫پاسخ‬ ‫یک‬ ‫همزمان‬ ‫و‬ ‫کند‬‫می‬ ‫حذف‬ ‫را‬ ‫بسته‬ ‫یک‬ :
•
RETURN
.‫شود‬‫می‬ ‫فراخواننده‬ ‫ی‬‫زنجیره‬ ‫در‬ ‫بسته‬ ‫یک‬ ‫پردازش‬ ‫ادامه‬ ‫باعث‬ :
‫جدول‬
:
table
‫در‬ ‫و‬ ‫دارد‬ ‫خاصی‬ ‫هدف‬ ‫جدول‬ ‫هر‬
IPTables
‫جداول‬ :‫دارد‬ ‫وجود‬ ‫جدول‬ ‫پنج‬ ،
Filter، Nat، Raw
‫و‬
Mangle
‫و‬.
security
‫جدول‬ ،‫مثال‬ ‫عنوان‬ ‫به‬
Filter
‫منظور‬ ‫به‬
‫جدول‬ ‫و‬ ‫است‬ ‫شده‬ ‫طراحی‬ ‫ها‬‫بسته‬ ‫کردن‬ ‫فیلتر‬
Nat
‫آدرس‬ ‫ی‬‫ترجمه‬ ‫برای‬ ‫فقط‬
IP
.‫شود‬‫می‬ ‫استفاده‬ ‫ها‬‫بسته‬
‫اتصال‬ ‫پیگیری‬
:
‫های‬‫ویژگی‬ ‫ترین‬‫مهم‬ ‫از‬ ‫یکی‬
Netfilter
‫و‬ ‫کند‬ ‫پیگیری‬ ‫را‬ ‫ها‬‫جلسه‬ ‫یا‬ ‫شبکه‬ ‫های‬‫اتصال‬ ‫کلیه‬ ‫که‬ ‫دهد‬‫می‬ ‫هسته‬ ‫به‬ ‫را‬ ‫امکان‬ ‫این‬ ‫اتصال‬ ‫پیگیری‬ .‫است‬ ‫اتصال‬ ‫پیگیری‬
.‫کند‬ ‫مرتبط‬ ‫هم‬ ‫به‬ ،‫دهند‬‫می‬ ‫تشکیل‬ ‫را‬ ‫اتصال‬ ‫یک‬ ‫هم‬ ‫با‬ ‫که‬ ‫هایی‬‫بسته‬ ‫کلیه‬ ‫وسیله‬‫بدین‬
NAT
‫و‬ ‫دارد‬ ‫نیاز‬ ‫هم‬ ‫به‬ ‫مرتبط‬ ‫های‬‫بسته‬ ‫ی‬‫ترجمه‬ ‫برای‬ ‫اطلعات‬ ‫این‬ ‫به‬
IPTables
‫زیر‬ ‫شرح‬ ‫به‬ ‫مختلف‬ ‫های‬‫حالت‬ ‫به‬ ‫را‬ ‫بسته‬ ‫هر‬ ،‫اتصال‬ ‫پیگیری‬ .‫کند‬ ‫عمل‬ ‫دار‬‫حالت‬ ‫آتش‬ ‫دیواره‬ ‫یک‬ ‫مانند‬ ‫و‬ ‫کند‬ ‫استفاده‬ ‫اطلعات‬ ‫این‬ ‫از‬ ‫تواند‬‫می‬
:‫کند‬‫می‬ ‫بندی‬‫طبقه‬
•
‫جدید‬
.‫جدید‬ ‫اتصال‬ ‫یک‬ ‫ی‬‫بسته‬ ‫اولین‬ :
•
‫شده‬‫برقرار‬
.‫دارد‬ ‫وجود‬ ‫که‬ ‫است‬ ‫اتصالی‬ ‫از‬ ‫قسمتی‬ ‫که‬ ‫ای‬‫بسته‬ :
•
‫وابسته‬
.‫است‬ ‫مرتبط‬ ‫موجود‬ ‫اتصال‬ ‫یک‬ ‫به‬ ‫اتصال‬ ‫این‬ ‫و‬ ‫است‬ ‫کرده‬ ‫شروع‬ ‫را‬ ‫جدید‬ ‫اتصال‬ ‫یک‬ ‫که‬ ‫ای‬‫بسته‬ :
•
‫نامعتبر‬
.‫نیست‬ ‫ای‬‫شده‬‫شناخته‬ ‫اتصال‬ ‫هیچ‬ ‫از‬ ‫قسمتی‬ :
•
‫ردیابی‬ ‫عدم‬
.‫ندهد‬ ‫انجام‬ ‫خاص‬ ‫بسته‬ ‫یک‬ ‫برای‬ ‫را‬ ‫اتصال‬ ‫پیگیری‬ ‫تا‬ ‫شود‬‫می‬ ‫داده‬ ‫نسبت‬ ‫بسته‬ ‫یک‬ ‫به‬ ‫مدیر‬ ‫توسط‬ ‫که‬ ‫است‬ ‫خاصی‬ ‫حالت‬ :
‫زنجیره‬
:
chain
‫ی‬‫مجموعه‬ ‫یک‬ ‫جدول‬ ‫هر‬ .‫دارد‬ ‫خاص‬ ‫هدف‬ ‫یک‬ ‫زنجیره‬ ‫هر‬ .‫شود‬‫می‬ ‫اعمال‬ ،‫پیمایند‬‫می‬ ‫را‬ ‫زنجیره‬ ‫که‬ ‫هایی‬‫بسته‬ ‫روی‬ ‫بر‬ ‫که‬ ‫است‬ ‫قانون‬ ‫ی‬‫مجموعه‬ ‫یک‬ ‫زنجیره‬ ‫یک‬
.‫کند‬ ‫تعریف‬ ‫را‬ ‫هایی‬‫زنجیره‬ ‫تواند‬‫می‬ ‫نیز‬ ‫کاربر‬ ‫اما‬ ‫دارد‬ ‫توکار‬ ‫زنجیره‬
‫از‬ ‫عبارتند‬ ‫توکار‬ ‫های‬‫زنجیره‬ ‫ترین‬‫مهم‬
INPUT، OUTPUT
‫و‬
FORWARD
•
INPUT
‫انجام‬ ‫ها‬‫آن‬ ‫مسیریابی‬ ‫عمل‬ ‫هسته‬ ‫در‬ ‫که‬‫این‬ ‫از‬ ‫بعد‬ ‫البته‬ .‫شوند‬‫می‬ ‫وارد‬ ‫محلی‬ ‫ی‬‫شبکه‬ ‫به‬ ‫که‬ ‫شود‬‫می‬ ‫پیمایش‬ ‫هایی‬‫بسته‬ ‫توسط‬ ‫زنجیره‬ ‫این‬ :
.‫شود‬
•
OUTPUT
.‫شوند‬‫می‬ ‫تولید‬ ‫لینوکس‬ ‫سیستم‬ ‫در‬ ‫که‬ ‫است‬ ‫هایی‬‫بسته‬ ‫برای‬ :
•
FORWARD
‫در‬ ‫که‬ ‫شوند‬ ‫مسیریابی‬ ‫آتش‬ ‫دیواره‬ ‫در‬ ‫باید‬ ‫ها‬‫بسته‬ ،‫شود‬‫می‬ ‫استفاده‬ ‫دیگر‬ ‫ی‬‫شبکه‬ ‫به‬ ‫شبکه‬ ‫یک‬ ‫کردن‬‫متصل‬ ‫برای‬ ‫آتش‬ ‫دیواره‬ ‫وقتی‬ :
.‫رود‬‫می‬ ‫کار‬‫به‬ ‫زنجیره‬ ‫این‬ ‫مورد‬ ‫این‬
)
10
(
‫از‬ ‫عبارتند‬ ‫دیگر‬ ‫ی‬‫زنجیره‬ ‫دو‬
PREROUTING
‫و‬
POSTROUTING
.‫دهند‬‫می‬ ‫انجام‬ ،‫هسته‬ ‫توسط‬ ‫مسیریابی‬ ‫عمل‬ ‫از‬ ‫بعد‬ ‫و‬ ‫قبل‬ ‫را‬ ‫ها‬‫بسته‬ ‫سرآیند‬ ‫اصلح‬ ‫که‬
)
11
(
)
12
(
: ‫گفت‬ ‫میتوان‬ ‫چنین‬ ‫کلی‬ ‫طور‬ ‫به‬
Rule
‫برای‬ ‫که‬ ‫است‬ ‫دستوری‬ ‫دربرگیرنده‬ ،‫قانون‬ ‫یا‬
.‫رود‬ ‫بکار‬ ‫باید‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫یک‬ ‫وانجام‬ ‫ها‬ ‫بسته‬ ‫انتخاب‬
‫مبدأ‬ ‫از‬ ‫شده‬ ‫ارسال‬ ‫های‬ ‫بسته‬ ‫تمام‬ :‫مثل‬
۱۹۲.۱۶۸.۰.۱
‫آدرس‬ ‫یا‬ .‫شوند‬ ‫حذف‬
IP
‫شده‬ ‫ارسال‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫مبدا‬
‫کامپیوتر‬ ‫از‬
۱۹۲.۱۶۸.۰.۵
‫به‬
۸۰.۴۰.۵۰.۶۰
.‫یابد‬ ‫تغییر‬
Chain
‫مثل‬ .‫باشد‬ ‫می‬ ‫قوانین‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ،‫زنجیر‬ ‫یا‬
‫یک‬ ‫تشکیل‬ ‫یکدیگر‬ ‫با‬ ‫توانند‬ ‫می‬ ‫بال‬ ‫قانون‬ ‫دو‬
chain
‫نام‬ ‫به‬
. testchain
‫را‬
‫بدهند‬
)
13
(
: ‫خلصه‬
‫واقع‬‫در‬
Netfilter
‫و‬
IPTables
‫کرنل‬ ‫درون‬ ‫افزاری‬ ‫نرم‬ ‫ساختاری‬
2.4
.
x
‫کرنل‬ ‫و‬
2.6
.
x
‫بتوان‬ ‫آن‬ ‫کمک‬ ‫به‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫که‬ ‫باشد‬ ‫می‬
packet filtering
)
‫فیلتر‬
‫معرفی‬ ‫پرتکل‬ ‫های‬ ‫بسته‬ ‫کردن‬
(
،
NAT
)
‫شبکه‬ ‫آدرس‬ ‫ترجمه‬
(
‫ها‬ ‫بسته‬ ‫به‬ ‫مربوط‬ ‫اعمال‬ ‫سایر‬ ‫و‬
)
mangle
(
‫داد‬ ‫انجام‬ ‫را‬
.
‫ها‬ ‫بسته‬
)
Packet
(
‫مدل‬ ‫شبکه‬ ‫لیه‬ ‫در‬ ‫که‬ ‫است‬ ‫پروتکلی‬ ‫داده‬ ‫واحد‬ ،
OSI
‫باشد‬ ‫می‬ ‫عمل‬ ‫حال‬ ‫در‬
" .
‫پروتکل‬ ‫داده‬ ‫واحد‬
"
‫مخفف‬ ‫کلمه‬ ‫با‬
PDU
‫از‬ ‫که‬
‫عبارت‬
Protocol Data Unit
‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬ ،‫باشد‬ ‫می‬
.
PDU
‫متفاوت‬ ‫های‬ ‫لیه‬ ‫در‬ ‫و‬ ‫مختلف‬ ‫های‬ ‫پروتکل‬ ‫برای‬ ‫ها‬
OSI
‫دارد‬ ‫تفاوت‬ ‫یکدیگر‬ ‫با‬
.
‫مثل‬
PDU
)
‫پروتکل‬ ‫داده‬ ‫واحد‬ ‫یعنی‬
(
‫لیه‬ ‫در‬
2
‫لیه‬ ‫در‬ ‫حالیکه‬ ‫در‬ ‫باشد‬ ‫می‬ ‫فریم‬ ،
3
‫است‬ ‫بسته‬ ،
.
‫اصطلح‬ ‫اوقات‬ ‫گاهی‬
PDU
‫گردد‬ ‫می‬ ‫شبکه‬ ‫دنیای‬ ‫به‬ ‫واردان‬ ‫تازه‬ ‫سردرگمی‬ ‫باعث‬
.
‫گویند‬ ‫می‬ ‫وقتی‬ ‫مثل‬
PDU
‫رسانه‬ ‫روی‬ ‫بر‬ ‫حرکت‬ ‫حال‬ ‫در‬
)
‫سیم‬
(
‫در‬ ‫یا‬ ‫و‬
‫است‬ ‫فریم‬ ‫منظور‬ ،‫دوم‬ ‫لیه‬
.
‫سوم‬ ‫لیه‬ ‫به‬ ‫مربوط‬ ‫که‬ ‫ها‬ ‫بسته‬
)
‫یعنی‬
Network
(
‫گیرند‬ ‫می‬ ‫قرار‬ ‫ها‬ ‫فریم‬ ‫درون‬ ،‫باشند‬ ‫می‬
.
‫بسته‬ ‫یک‬ ‫ساختار‬ ‫با‬ ‫صورتیکه‬ ‫در‬
‫بپردازیم‬ ‫ها‬ ‫بسته‬ ‫بین‬ ‫از‬ ‫انتخاب‬ ‫به‬ ،‫خاص‬ ‫قوانینی‬ ‫کمک‬ ‫به‬ ‫و‬ ‫محتویات‬ ‫این‬ ‫براساس‬ ‫و‬ ‫کرده‬ ‫وارسی‬ ‫آنرا‬ ‫محتویات‬ ‫توانیم‬ ‫می‬ ،‫باشیم‬ ‫آشنا‬
.
‫مهم‬ ‫وظایف‬ ‫از‬ ‫یکی‬
IPTables
‫قوانین‬ ‫براساس‬ ‫که‬ ‫باشد‬ ‫می‬ ‫همیم‬ ‫نیز‬
)
rule
(
‫را‬ ‫دیگر‬ ‫گروهی‬ ‫عبور‬ ‫جلوی‬ ‫یا‬ ‫و‬ ‫بدهد‬ ‫عبور‬ ‫اجازه‬ ‫بعضی‬ ‫به‬ ‫و‬ ‫کرده‬ ‫بررسی‬ ‫را‬ ‫ها‬ ‫بسته‬ ‫محتویات‬ ،
‫بگیرد‬
.
IPTables
‫است‬ ‫افزار‬ ‫نرم‬ ‫یک‬
.
‫خانواده‬ ‫تر‬ ‫قدیمی‬ ‫های‬ ‫نسخه‬ ‫با‬ ‫که‬ ‫کسانی‬
Linux
‫مانند‬
Read Hat 7.x
،‫اند‬ ‫داشته‬ ‫سروکار‬
IPChain
‫آورند‬ ‫می‬ ‫خاطر‬ ‫به‬ ‫را‬
.
IPChain
‫بزرگ‬ ‫پدر‬ ‫نوعی‬ ‫به‬ ‫که‬ ‫است‬ ‫قدیم‬ ‫فایروال‬ ‫یک‬
IPTable
‫گردد‬ ‫می‬ ‫محسوب‬
!
IPTables
‫کمک‬ ‫به‬
Netfilter
‫نوشت‬ ‫را‬ ‫قوانین‬ ‫توان‬ ‫می‬ ‫آن‬ ‫توسط‬ ‫که‬ ‫است‬ ‫فرمانی‬ ‫خط‬ ‫خاص‬ ‫دستورات‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫دارای‬ ‫و‬ ‫است‬ ‫شده‬ ‫ساخته‬
.
‫مثل‬
‫آدرس‬ ‫با‬ ‫کامپیوتر‬ ‫از‬ ‫ها‬ ‫بسته‬ ‫اگر‬ ‫گوییم‬ ‫می‬ ‫قوانین‬ ‫این‬ ‫طبق‬
IP، 192.168.0.1
‫کن‬ ‫حذف‬ ‫را‬ ‫آنها‬ ،‫بود‬
!
•
NAT
‫مخفف‬ ‫که‬
Network Address Translation
‫معنی‬ ‫به‬ ‫و‬ ‫باشد‬ ‫می‬
"
‫شبکه‬ ‫آدرس‬ ‫ترجمه‬
"
‫انتقال‬ ‫برای‬ ،‫گردد‬ ‫می‬ ‫باعث‬ ‫که‬ ‫است‬ ‫استانداردی‬ ،‫است‬
‫آدرس‬ ‫مجموعه‬ ‫یک‬ ‫از‬ ‫داخلی‬ ‫شبکه‬ ‫روی‬ ‫بر‬ ‫داده‬ ‫های‬ ‫بسته‬
IP
‫های‬ ‫آدرس‬ ‫از‬ ‫دیگری‬ ‫مجموعه‬ ‫از‬ ‫خارجی‬ ‫ترافیک‬ ‫برای‬ ‫و‬
IP
‫شود‬ ‫استفاده‬
.
‫شکل‬ ‫در‬
1
،
‫آدرس‬ ‫کننده‬ ‫ترجمه‬ ‫وسیله‬ ‫یک‬ ‫نقش‬ ‫تواند‬ ‫می‬ ،‫خارجی‬ ‫و‬ ‫داخلی‬ ‫شبکه‬ ‫دو‬ ‫بین‬ ‫موجود‬ ‫کامپیوتر‬
IP
‫یا‬
NAT
‫کند‬ ‫بازی‬ ‫را‬
.
‫های‬ ‫آدرس‬ ،‫کامپیوتر‬ ‫این‬
IP
‫های‬ ‫آدرس‬ ‫به‬ ‫را‬ ‫شبکه‬ ‫داخلی‬ ‫سمت‬ ‫در‬ ‫موجود‬
IP
‫میکند‬ ‫ترجمه‬ ،‫هستند‬ ‫استفاده‬ ‫مورد‬ ‫اینترنت‬ ‫یا‬ ‫و‬ ‫شبکه‬ ‫خارجی‬ ‫سمت‬ ‫روی‬ ‫بر‬ ‫که‬ ‫خارجی‬
.
‫دلیل‬ ‫از‬ ‫یکی‬
‫از‬ ‫استفاده‬ ‫و‬ ‫کار‬ ‫این‬
NAT
‫نشان‬ ‫را‬ ‫دیگر‬ ‫آدرس‬ ‫یک‬ ‫آنها‬ ‫به‬ ‫و‬ ‫کرده‬ ‫مخفی‬ ‫بیرونی‬ ‫کاربران‬ ‫دید‬ ‫از‬ ‫را‬ ‫خود‬ ‫داخلی‬ ‫های‬ ‫آدرس‬ ‫توانند‬ ‫می‬ ‫کاربران‬ ‫که‬ ‫است‬ ‫آن‬
‫دهند‬
.
•
)
14
(
)
15
(
‫اندازی‬ ‫راه‬ ‫امکان‬
NAT
‫عامل‬ ‫سیستم‬ ‫در‬
Windows 2003
‫مختلف‬ ‫های‬ ‫خانواده‬ ،
Linux
‫روترهای‬ ‫و‬
Cisco
‫دارد‬ ‫وجود‬
.
Mangling
‫معنای‬ ‫به‬
"
‫پیچاندن‬
"
‫یا‬ ‫و‬
"
‫دادن‬ ‫فرم‬ ‫تغییر‬
"
‫و‬
...
‫باشد‬ ‫می‬
!
‫دنیای‬ ‫در‬
IPTable
‫شود‬ ‫می‬ ‫شنیده‬ ‫زیاد‬ ‫اصطلح‬ ‫این‬
.
‫است‬ ‫قرار‬ ‫چیزی‬ ‫چه‬ ‫ولی‬
‫یابد؟‬ ‫تغییر‬
Mangling
)
‫محتویات‬ ‫تغییر‬ ‫یا‬
(
‫در‬ ‫خاصی‬ ‫فیلدهای‬ ‫محتویات‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫کرنل‬ ‫به‬
Header
‫دهد‬ ‫تغییر‬ ‫را‬ ‫ها‬ ‫بسته‬ ‫به‬ ‫مربوط‬
.
‫مورد‬ ‫در‬ ‫توضیح‬ ‫حتما‬ ‫یابد؟‬ ‫تغییر‬ ‫فیلدها‬ ‫محتویات‬ ‫باید‬ ‫چرا‬ ‫ولی‬
NAT
‫اید‬ ‫نکرده‬ ‫فراموش‬ ‫را‬
.
‫وظیفه‬
NAT
‫تبدیل‬ ‫دیگری‬ ‫آدرس‬ ‫به‬ ‫را‬ ‫آدرس‬ ‫یک‬ ‫که‬ ‫بود‬ ‫آن‬
‫کند‬
.
‫آدرس‬ ‫مثل‬
IP
‫از‬ ‫بسته‬ ‫یک‬ ‫فرستنده‬
192.168.0.5
‫به‬
80.40.50.60
‫شود‬ ‫عوض‬
.
‫فیلدهای‬ ‫از‬ ‫یکی‬ ‫در‬ ‫فرستنده‬ ‫آدرس‬
Header
‫شده‬ ‫ذخیره‬
‫کمک‬ ‫به‬ ‫و‬ ‫است‬
Mangling
‫داد‬ ‫تغییر‬ ‫را‬ ‫فیلد‬ ‫این‬ ‫محتویات‬ ‫توان‬ ‫می‬
.
‫را‬ ‫تابع‬ ‫یک‬ ،‫کند‬ ‫می‬ ‫عبور‬ ‫قلبی‬ ‫از‬ ‫بسته‬ ‫یک‬ ‫که‬ ‫دفعه‬ ‫هر‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫کرنل‬ ‫درون‬ ‫های‬ ‫ماجول‬ ‫به‬ ‫که‬ ‫باشد‬ ‫می‬ ‫کرنل‬ ‫درون‬ ‫قلب‬ ‫تعدادی‬ ‫مانند‬
‫دهد‬ ‫نشان‬ ‫العملی‬ ‫عکس‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫و‬ ‫بزند‬ ‫صدا‬
.
IPTables
‫آنکه‬ ‫از‬ ‫پیش‬ ،‫کند‬ ‫می‬ ‫عبور‬ ‫ای‬ ‫بسته‬ ‫وقت‬ ‫هر‬ ‫و‬ ‫نموده‬ ‫استفاده‬ ‫کرنل‬ ‫های‬ ‫قلب‬ ‫از‬
‫کند‬ ‫می‬ ‫چک‬ ‫آنرا‬ ،‫گردد‬ ‫ارسال‬ ‫خاص‬ ‫شبکه‬ ‫یک‬ ‫به‬ ‫بتواند‬
.
‫از‬ ‫بتوان‬ ‫آنکه‬ ‫برای‬
IPTables
‫باشد‬ ‫شده‬ ‫اجرا‬ ‫و‬ ‫پیکربندی‬ ‫باید‬ ‫نیز‬ ‫سرویس‬ ‫و‬ ‫باشد‬ ‫شده‬ ‫ایجاد‬ ‫کرنل‬ ‫در‬ ‫آن‬ ‫از‬ ‫پشتیبانی‬ ‫قابلیت‬ ‫باید‬ ،‫نمود‬ ‫استفاده‬
.
‫های‬ ‫خانواده‬ ‫اکثر‬ ‫در‬ ‫ویژگی‬ ‫این‬ ‫خوشبختانه‬
Linux
‫با‬ ‫و‬ ‫باشد‬ ‫شده‬ ‫فعال‬ ‫متوسط‬ ‫حالت‬ ‫در‬ ‫یا‬ ‫و‬ ‫نباشد‬ ‫فعال‬ ‫دلیلی‬ ‫به‬ ‫است‬ ‫ممکن‬ ‫ولی‬ ‫دارد‬ ‫وجود‬
‫نکند‬ ‫کار‬ ‫قدرت‬ ‫حداکثر‬
!
‫که‬ ‫است‬ ‫آن‬ ‫علت‬
IPTables
‫اعمال‬ ‫از‬ ‫بسیاری‬ ‫است‬ ‫ممکن‬ ‫و‬ ‫شود‬ ‫می‬ ‫گیر‬ ‫سخت‬ ‫بسیار‬ ،‫گردد‬ ‫فعال‬ ‫حداکثر‬ ‫حالت‬ ‫به‬ ‫وقتی‬
‫بیفتد‬ ‫کار‬ ‫از‬ ‫نیز‬ ‫ای‬ ‫شبکه‬ ‫جاری‬
.
‫قانون‬ ‫تعدادی‬ ،‫فایروال‬ ‫اندازی‬ ‫راه‬ ‫با‬
)
rule
(
‫زنجیر‬ ‫و‬
)
chain
(
‫فایروال‬ ‫به‬ ‫متصل‬ ‫های‬ ‫شبکه‬ ‫بین‬ ‫خواهند‬ ‫می‬ ‫که‬ ‫هایی‬ ‫بسته‬ ‫برای‬ ‫و‬ ‫گردد‬ ‫می‬ ‫ایجاد‬
‫گردد‬ ‫می‬ ‫استفاده‬ ،‫یابند‬ ‫انتقال‬
.
•
4
.
‫ساختار‬
IPTables
:
‫از‬ ‫استفاده‬ ‫برای‬
IPTables
‫شد‬ ‫آشنا‬ ‫آن‬ ‫سازنده‬ ‫اجزاء‬ ‫با‬ ‫باید‬
.
‫فایروال‬
IPTables
‫دارای‬
3
‫شکل‬ ‫در‬ ‫که‬ ‫میباشد‬ ‫اصلی‬ ‫عنصر‬
2
‫است‬ ‫آمده‬
.
‫این‬
3
‫بلک‬
‫از‬ ‫عبارتند‬ ‫فایروال‬ ‫ساختار‬ ‫سازنده‬
:
‫قانون‬ ‫و‬ ‫زنجیر‬ ،‫جدول‬
.
)
16
(
Rule
‫رود‬ ‫بکار‬ ‫باید‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫و‬ ‫ها‬ ‫بسته‬ ‫انتخاب‬ ‫برای‬ ‫که‬ ‫است‬ ‫دستوری‬ ‫دربرگیرنده‬ ،‫قانون‬ ‫یا‬
.
‫مثل‬
:
‫مبدا‬ ‫از‬ ‫شده‬ ‫ارسال‬ ‫های‬ ‫بسته‬ ‫تمام‬
192.168.0.1
‫شوند‬ ‫حذف‬ ،
.
‫آدرس‬ ‫یا‬
IP
‫کامپیوتر‬ ‫از‬ ‫شده‬ ‫ارسال‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫مبدا‬
192.168.0.5
‫به‬
80.40.50.60
‫یابد‬ ‫تغییر‬
.
‫نمونه‬ ‫دو‬ ‫موارد‬ ‫این‬
rule
‫گردند‬ ‫می‬ ‫تشکیل‬ ‫عملکرد‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫بخش‬ ‫یک‬ ‫و‬ ‫بندی‬ ‫دسته‬ ‫و‬ ‫انتخاب‬ ‫به‬ ‫مربوط‬ ‫بخش‬ ‫یک‬ ‫از‬ ‫خود‬ ‫که‬ ‫دهند‬ ‫می‬ ‫نشان‬ ‫را‬
.
Chain
‫باشد‬ ‫می‬ ‫قوانین‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ،‫زنجیر‬ ‫یا‬
.
‫یک‬ ‫تشکیل‬ ‫یکدیگر‬ ‫با‬ ‫توانند‬ ‫می‬ ‫بال‬ ‫قانون‬ ‫دو‬ ‫مثل‬
chain
‫نام‬ ‫به‬
testchn
‫بدهند‬ ‫را‬
.
Table
‫باشد‬ ‫می‬ ‫زنجیرها‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ،‫جدول‬ ‫یا‬
.
‫مثل‬
chain
‫دو‬ ‫با‬ ‫فوق‬
chain
‫فرضی‬ ‫های‬ ‫نام‬ ‫به‬ ‫دیگر‬
mainchn
‫و‬
changechn
‫نام‬ ‫به‬ ‫جدول‬ ‫یک‬ ‫تشکیل‬
input_tbl
‫بدهند‬ ‫را‬
.
IPTables
‫دارای‬ ‫فرض‬ ‫پیش‬ ‫شکل‬ ‫به‬
3
‫های‬ ‫نام‬ ‫به‬ ‫اصلی‬ ‫جدول‬
filter ، nat
‫و‬
mangle
‫باشد‬ ‫می‬
.
‫این‬ ‫به‬ ‫نیز‬ ‫را‬ ‫دیگری‬ ‫جداول‬ ‫نیاز‬ ‫برحسب‬ ‫میتوان‬ ‫البته‬
‫نمود‬ ‫اضافه‬ ‫مجموعه‬
.
‫بندی‬ ‫دسته‬ ‫برای‬ ‫و‬ ‫کاربران‬ ‫توسط‬ ‫جداول‬ ‫این‬
chain
‫و‬ ‫ها‬
rule
‫دارد‬ ‫کاربرد‬ ‫خودشان‬ ‫توسط‬ ‫شده‬ ‫تعریف‬ ‫های‬
.
‫بخواهند‬ ‫که‬ ‫هم‬ ‫زمانی‬ ‫هر‬
‫ولی‬ ‫نمایند‬ ‫حذف‬ ‫را‬ ‫خود‬ ‫جداول‬
3
‫فرض‬ ‫پیش‬ ‫جدول‬
filter ، nat
‫و‬
mangle
‫نیستند‬ ‫حذف‬ ‫قابل‬
.
‫گردد‬ ‫می‬ ‫ارائه‬ ‫فوق‬ ‫گانه‬ ‫سه‬ ‫جداول‬ ‫از‬ ‫کدام‬ ‫هر‬ ‫مورد‬ ‫در‬ ‫توضیحی‬ ‫زیر‬ ‫در‬
:
‫جدول‬
filter
:
‫و‬ ‫قوانین‬ ‫کلیه‬ ‫گیرنده‬ ‫بر‬ ‫در‬
chain
‫باشد‬ ‫می‬ ‫ها‬ ‫بسته‬ ‫نمودن‬ ‫فیلتر‬ ‫های‬
.
‫سوی‬ ‫از‬ ‫ارسالی‬ ‫های‬ ‫بسته‬ ‫حذف‬ ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫مثل‬
‫شبکه‬
172.16.0.0
‫برای‬ ‫عبور‬ ‫مجوز‬ ‫صدور‬ ‫یا‬ ‫و‬
‫کامپیوتر‬ ‫از‬ ‫ارسالی‬ ‫های‬ ‫بسته‬
10.10.5.8
‫و‬
...
‫گیرند‬ ‫می‬ ‫قرار‬ ‫جدول‬ ‫این‬ ‫در‬ ‫همگی‬
.
‫علوه‬
‫پورت‬ ‫مثل‬ ‫خاص‬ ‫پروتکل‬ ‫و‬ ‫پورت‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫بسته‬ ‫که‬ ‫کرد‬ ‫تعریف‬ ‫جدول‬ ‫این‬ ‫در‬ ‫قوانینی‬ ‫توان‬ ‫می‬ ‫اینها‬ ‫بر‬
80
‫پروتکل‬ ‫به‬ ‫مربوط‬ ‫که‬
http
)
‫وب‬ ‫همان‬ ‫یا‬
(
‫پورت‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫بسته‬ ‫ولی‬ ‫باشند‬ ‫داشته‬ ‫عبور‬ ‫اجازه‬ ‫است‬
21
‫پروتکل‬ ‫یا‬
ftp
‫باشند‬ ‫نداشته‬ ‫عبور‬ ‫اجازه‬
.
‫این‬ ‫اصلی‬ ‫وظیفه‬ ‫پس‬
‫کنند‬ ‫نمی‬ ‫فیلتر‬ ‫که‬ ‫است‬ ‫قوانینی‬ ‫یا‬ ‫و‬ ‫کننده‬ ‫فیلتر‬ ‫قوانین‬ ‫نگهداری‬ ‫جدول‬
.
‫مانند‬ ‫گوناگون‬ ‫معیارهای‬ ‫براساس‬ ‫نکردن‬ ‫فیلتر‬ ‫یا‬ ‫و‬ ‫کردن‬ ‫فیلتر‬ ‫عمل‬
‫آدرس‬
IP
‫و‬ ‫پورت‬ ‫شماره‬ ‫یا‬ ‫و‬ ‫مقصد‬ ‫و‬ ‫مبدا‬
...
‫پذیرد‬ ‫می‬ ‫صورت‬
.
•
‫جدول‬
nat
:
‫مورد‬ ‫در‬ ‫توضیح‬
nat
‫دارید‬ ‫خاطر‬ ‫به‬ ‫که‬ ‫را‬
.
‫و‬ ‫قوانین‬ ‫کلیه‬ ‫گیرنده‬ ‫بر‬ ‫در‬ ‫جدول‬ ‫این‬
chain
‫آدرس‬ ‫ترجمه‬ ‫وظیفه‬ ‫که‬ ‫است‬ ‫هایی‬
IP
‫را‬
‫دارند‬ ‫برعهده‬
.
‫بگیرید‬ ‫نظر‬ ‫در‬ ‫را‬ ‫زیر‬ ‫قانون‬ ‫مثال‬ ‫بعنوان‬
:
‫کامپیوتر‬ ‫از‬ ‫ای‬ ‫بسته‬ ‫اگر‬
10.10.10.8
‫آدرس‬ ،‫شد‬ ‫ارسال‬
IP
‫به‬ ‫را‬ ‫فرستنده‬
80.50.60.90
‫بدهید‬ ‫تغییر‬
.
‫دهد‬ ‫می‬ ‫انجام‬ ‫را‬ ‫آدرس‬ ‫ترجمه‬ ‫عمل‬ ‫بلکه‬ ،‫دهد‬ ‫نمی‬ ‫انجام‬ ‫فیلتر‬ ‫مورد‬ ‫در‬ ‫عملی‬ ‫قانون‬ ‫این‬
.
‫جدول‬ ‫در‬ ‫آن‬ ‫جای‬ ‫بنابراین‬
filter
‫جدول‬ ‫در‬ ‫باید‬ ‫و‬ ‫نبوده‬
nat
‫قرار‬
‫گیرد‬
.
‫جدول‬
mangle
:
‫فیلدهای‬ ‫دستکاری‬ ‫به‬ ‫مربوط‬ ،‫پیشرفته‬ ‫اعمال‬ ‫کلیه‬
header
‫می‬ ‫صورت‬ ‫جدول‬ ‫این‬ ‫در‬ ‫موجود‬ ‫قوانین‬ ‫توسط‬ ‫شبکه‬ ‫در‬ ‫ارسالی‬ ‫های‬ ‫بسته‬ ‫در‬
‫گیرد‬
.
‫جدول‬ ‫تفاوت‬
nat
‫و‬
mangle
‫تغییر‬ ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫فقط‬ ‫که‬ ‫است‬ ‫آن‬ ‫در‬
‫آدرس‬
IP
‫جدول‬ ‫در‬ ‫پورت‬ ‫یا‬ ‫و‬
nat
‫به‬ ‫مربوط‬ ‫قوانین‬ ‫سایر‬ ‫ولی‬ ‫گیرند‬ ‫می‬ ‫قرار‬
‫فیلدهای‬ ‫تغییر‬
header
‫جدول‬ ‫در‬ ،‫دارند‬ ‫کاربرد‬ ‫پیشرفته‬ ‫حالت‬ ‫در‬ ‫که‬
mangle
‫گیرند‬ ‫می‬ ‫جای‬
.
•
‫تعدادی‬ ،‫جداول‬ ‫این‬ ‫از‬ ‫هرکدام‬ ‫درون‬
chain
‫گیرد‬ ‫می‬ ‫قرار‬ ‫فرض‬ ‫پیش‬ ‫شکل‬ ‫به‬
.
‫این‬ ‫جمله‬ ‫از‬
chain
‫به‬ ‫میتوان‬ ‫ها‬
8
‫عدد‬
chain
،‫است‬ ‫آمده‬ ‫زیر‬ ‫در‬ ‫که‬ ‫اصلی‬
)
17
(
‫کرد‬ ‫اشاره‬
:
chain
‫های‬
input، forward
‫و‬
output
‫جدول‬
filter
1
chain ‫های‬ prerouting ‫و‬ postrouting
‫جدول‬
nat
2
chain ‫های‬ prerouting ، input ‫و‬ output
‫جدول‬
mangle
3
‫از‬ ‫تعدادی‬ ‫فقط‬ ‫ها‬ ‫این‬ ‫البته‬
chain
‫تمام‬ ‫بر‬ ‫علوه‬ ‫و‬ ‫بوده‬ ‫فرض‬ ‫پیش‬ ‫های‬
chain
‫ساخت‬ ‫امکان‬ ‫فرض‬ ‫پیش‬ ‫های‬
chain
‫دارد‬ ‫وجود‬ ‫نیز‬ ‫کاربران‬ ‫توسط‬
.
‫شکل‬
3
‫های‬ ‫جدول‬ ‫در‬ ‫موجود‬ ‫قوانین‬ ‫و‬ ‫باشد‬ ‫می‬ ‫چگونه‬ ‫ها‬ ‫بسته‬ ‫حرکت‬ ‫نحوه‬ ،‫مقاله‬ ‫این‬ ‫در‬ ‫بحث‬ ‫مورد‬ ‫مدل‬ ‫شبکه‬ ‫در‬ ‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬
IPTable
‫چه‬ ‫در‬ ،
‫دهند‬ ‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫فایروال‬ ‫به‬ ‫خروجی‬ ‫یا‬ ‫و‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫نقاطی‬
.
‫ساختار‬ ‫کل‬ ‫تواند‬ ‫می‬ ‫شبکه‬ ‫مدیر‬
IPTables
‫عملکرد‬ .‫نماید‬ ‫فعال‬ ‫کامپیوتر‬ ‫اینترفیس‬ ‫هر‬ ‫روی‬ ‫بر‬ ‫را‬ ‫آن‬ ‫از‬ ‫قسمتی‬ ‫فقط‬ ‫یا‬ ‫و‬
IPTables
‫یک‬ ‫تا‬ ‫شود‬ ‫می‬ ‫باعث‬
.‫گردد‬ ‫فایروال‬ ‫به‬ ‫تبدیل‬ ‫کامپیوتر‬
‫شکل‬ ‫در‬ ‫که‬ ‫همانطور‬
3
‫بسته‬ ‫جریان‬ .‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫جدا‬ ‫نمودار‬ ‫دو‬ ‫در‬ ‫برعکس‬ ‫و‬ ‫داخل‬ ‫به‬ ‫خارجی‬ ‫شبکه‬ ‫از‬ ‫بسته‬ ‫یک‬ ‫حرکت‬ ‫مسیر‬ ،‫است‬ ‫مشخص‬
:‫باشد‬ ‫می‬ ‫شکل‬ ‫بدین‬ ‫ساختار‬ ‫این‬ ‫درون‬
‫شبکه‬ ‫کارت‬ ‫طریق‬ ‫از‬ ‫فایروال‬ ‫به‬ ‫بسته‬ ‫یک‬ ‫ورود‬ ‫هنگام‬ ‫به‬
eth0
‫زنجیر‬ ‫قسمت‬ ‫اولین‬ ،
prerouting
‫جدول‬ ‫در‬
mangle
‫با‬ ‫را‬ ‫ترکیب‬ ‫این‬ .‫باشد‬ ‫می‬
mangle /
prerouting
،‫باشید‬ ‫داشته‬ ‫یاد‬ ‫به‬ ‫اگر‬ .‫دهیم‬ ‫می‬ ‫نشان‬
mangling
‫در‬ ‫خاصی‬ ‫فیلدهای‬ ‫بتواند‬ ‫کرنل‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬ (‫محتویات‬ ‫)تغییر‬
header
‫تغییر‬ ‫را‬
.‫سازند‬ ‫می‬ ‫ممکن‬ ‫را‬ ‫عمل‬ ‫این‬ ‫زنجیر‬ ‫این‬ ‫در‬ ‫موجود‬ ‫قوانین‬ .‫دهید‬
‫از‬
mangle / prerouting
‫وارد‬ ‫بسته‬ ،
nat / prerouting
‫که‬ ‫گردید‬ ‫بیان‬ ‫قبل‬ .‫شود‬ ‫می‬
nat
‫آدرس‬ ‫ترجمه‬ ‫برای‬
IP
.‫رود‬ ‫می‬ ‫بکار‬ ‫دیگر‬ ‫شبکه‬ ‫به‬ ‫شبکه‬ ‫یک‬ ‫از‬
‫آدرس‬ ‫توانند‬ ‫می‬ ،‫زنجیر‬ ‫این‬ ‫در‬ ‫موجود‬ ‫قوانین‬
IP
.‫کنند‬ ‫عوض‬ ‫را‬ ‫مقصد‬ ‫پورت‬ ‫آدرس‬ ‫یا‬ ‫و‬ ‫مقصد‬
‫فایروال‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫اگر‬ ‫بنابراین‬
IPTables
‫پروتکل‬ ‫به‬ ‫مربوط‬ ‫اگر‬ ،‫اینترنتی‬ ‫کاربران‬ ‫سوی‬ ‫از‬ ‫فایروال‬ ‫به‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫که‬ ‫بنویسیم‬ ‫قوانینی‬ ‫بخواهیم‬
http
‫آدرس‬ ‫سمت‬ ‫به‬ ،‫بودند‬
192.168.5.5
‫در‬ ‫باید‬ ،‫شوند‬ ‫هدایت‬ ‫داخلی‬ ‫شبکه‬ ‫روی‬
nat / prerouting
‫به‬ ‫مربوط‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫مقصد‬ ‫آدرس‬ ،
http
‫به‬ ‫را‬
192.168.5.5
.‫داد‬ ‫تغییر‬
: ‫باشید‬ ‫داشته‬ ‫خاطر‬ ‫به‬ ‫بنابراین‬
nat / prerouting
‫آدرس‬ ‫تغییر‬ ‫برای‬
IP
‫بخش‬ .‫باشد‬ ‫می‬ ‫مقصد‬ ‫پورت‬ ‫آدرس‬ ‫یا‬ ‫و‬ ‫مقصد‬
Route
‫یا‬ ‫و‬ ‫زنجیر‬ ‫یا‬ ‫جدول‬ ‫یک‬ ،‫است‬ ‫آمده‬ ‫شکل‬ ‫در‬ ‫که‬
rule
)
18
(
.‫نباشد‬
Roué
‫آدرس‬ ‫نیز‬ ‫گیری‬ ‫تصمیم‬ ‫اساس‬ .‫شود‬ ‫ارسال‬ ‫جدول‬ ‫کدام‬ ‫و‬ ‫زنجیر‬ ‫کدام‬ ‫به‬ ‫باید‬ ‫بسته‬ ‫گیرد‬ ‫می‬ ‫تصمیم‬ ‫که‬ ‫است‬ ‫قسمتی‬ ‫فقط‬
IP
.‫است‬ ‫مقصد‬
‫بخش‬ ‫بنابراین‬
route
‫آدرس‬ ، (‫)مسیریابی‬
IP
‫را‬ ‫بسته‬ ‫مقصد‬
check
‫آدرس‬ ‫اگر‬ .‫کند‬ ‫می‬
IP
‫آدرس‬ ‫مساوی‬ ،‫بسته‬ ‫مقصد‬
IP
‫است‬ ‫معلوم‬ ،‫باشد‬ ‫فایروال‬ ‫خود‬
‫و‬ ‫شده‬ ‫ارسال‬ ‫فایروال‬ ‫برای‬ ‫بسته‬ ‫که‬
route
‫قسمت‬ ‫به‬ ‫را‬ ‫بسته‬
mangle / input
‫آدرس‬ ‫اگر‬ .‫نماید‬ ‫می‬ ‫ارسال‬
IP
،‫باشد‬ ‫دیگری‬ ‫چیز‬ ‫هر‬ ‫مقصد‬
route
‫را‬ ‫بسته‬
‫به‬
filter / forward
‫قسمت‬ .‫کند‬ ‫می‬ ‫ارسال‬
filter / input
‫این‬ .‫میدهد‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫شوند‬ ‫وارد‬ ‫فایروال‬ ‫به‬ ‫خواهند‬ ‫می‬ ‫که‬ ‫را‬ ‫هایی‬ ‫بسته‬ ‫تمام‬ ،
‫یا‬ ‫بسته‬ ‫کننده‬ ‫فیلتر‬ ‫یک‬ ‫ساده‬ ‫عبارت‬ ‫به‬ .‫شود‬ ‫بلک‬ ‫باید‬ ‫یا‬ ‫و‬ ‫باشد‬ ‫می‬ ‫قبول‬ ‫مورد‬ ‫بسته‬ ‫یک‬ ‫آیا‬ ‫کند‬ ‫می‬ ‫معین‬ ‫که‬ ‫است‬ ‫قوانینی‬ ‫حاوی‬ ‫زنجیر‬
packet-filter
.‫باشد‬ ‫می‬
‫عنوان‬ ‫با‬ ‫شکل‬ ‫روی‬ ‫بر‬ ‫دیگر‬ ‫قسمت‬ ‫یک‬
local process
‫ممکن‬ ‫فایروال‬ ‫روی‬ ‫بر‬ ‫موجود‬ ‫های‬ ‫پراسس‬ ‫از‬ ‫بعضی‬ .‫است‬ ‫شده‬ ‫مشخص‬ ‫محلی‬ ‫های‬ ‫پراسس‬ ‫یا‬
‫تواند‬ ‫می‬ ‫دسته‬ ‫این‬ ‫از‬ ‫مثال‬ ‫یک‬ .‫نمایند‬ ‫برقرار‬ ‫ارتباط‬ ‫شبکه‬ ‫روی‬ ‫موجود‬ ‫های‬ ‫سرویس‬ ‫و‬ ‫وسایل‬ ‫سایر‬ ‫با‬ ‫شبکه‬ ‫کارت‬ ‫طریق‬ ‫از‬ ‫بخواهند‬ ‫است‬
ping
‫کردن‬
‫سرویس‬ ‫بودن‬ ‫موجود‬ ‫یا‬ ‫و‬ ،‫فایروال‬ ‫پشت‬ ‫از‬ ‫دیگر‬ ‫کامپیوترهای‬
DNS
‫سرویس‬ ‫یا‬ ‫و‬
NTP
.‫باشد‬ ‫فایروال‬ ‫کامپیوتر‬ ‫روی‬ ‫بر‬
‫به‬ ‫ابتدا‬ ‫ها‬ ‫بسته‬ ‫نوع‬ ‫این‬
mangle / output
‫زنجیر‬ .‫شوند‬ ‫می‬ ‫وارد‬
mangle / output
‫به‬ ‫شبیه‬ ‫عملکردی‬
mangle / prerouting
‫این‬ ‫در‬ ‫تفاوت‬ ‫ولی‬ .‫دارند‬
‫زنجیر‬ ‫به‬ ،‫شوند‬ ‫می‬ ‫تولید‬ ‫فایروال‬ ‫خود‬ ‫توسط‬ ‫که‬ ‫هایی‬ ‫بسته‬ ‫فقط‬ ‫که‬ ‫است‬
mangle / output
.‫شوند‬ ‫می‬ ‫وارد‬
‫زنجیر‬
filter / output
‫یک‬ ‫آیا‬ ‫که‬ ‫کنند‬ ‫می‬ ‫مشخص‬ ‫که‬ ‫هستند‬ ‫قوانینی‬ ‫شامل‬ ‫زنجیر‬ ‫این‬ .‫کند‬ ‫می‬ ‫مدیریت‬ ‫را‬ ‫شوند‬ ‫می‬ ‫خارج‬ ‫فایروال‬ ‫از‬ ‫که‬ ‫را‬ ‫هایی‬ ‫بسته‬ ،
‫یک‬ ‫نیز‬ ‫بخش‬ ‫این‬ ،‫ساده‬ ‫عبارت‬ ‫به‬ .‫شود‬ ‫بلک‬ ‫یا‬ ‫و‬ ‫گیرد‬ ‫قرار‬ ‫موردقبول‬ ‫باید‬ ‫بسته‬
packet-filter
‫زنجیر‬ ،‫موازی‬ ‫مسیر‬ ‫در‬ .‫باشد‬ ‫می‬
filter / forward
‫بسته‬
‫اجازه‬ ‫آن‬ ‫به‬ ‫یا‬ ‫و‬ ‫کرده‬ ‫حذف‬ ‫آنرا‬ ‫بسته‬ ‫ویژگیهای‬ ‫براساس‬ ‫و‬ ‫داده‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫شوند‬ ‫می‬ ‫فرستاده‬ ‫داخلی‬ ‫شبکه‬ ‫سمت‬ ‫به‬ ‫خارجی‬ ‫شبکه‬ ‫از‬ ‫که‬ ‫را‬ ‫هایی‬
.‫دهند‬ ‫می‬ ‫عبور‬
nat / postrouting
‫آدرس‬ ‫توان‬ ‫می‬ ‫آن‬ ‫توسط‬ ‫که‬ ‫است‬ ‫قوانینی‬ ‫گیرنده‬ ‫بر‬ ‫در‬ ‫زنجیر‬ ‫این‬ .‫باشد‬ ‫می‬ ‫ها‬ ‫بسته‬ ‫حرکتی‬ ‫مسیر‬ ‫در‬ ‫نقطه‬ ‫آخرین‬ ،
IP
‫یا‬ ‫و‬ ‫مبدا‬
‫زنجیر‬ ‫کنیم‬ ‫می‬ ‫یادآوری‬ ‫پس‬ .‫داد‬ ‫تغییر‬ ‫را‬ ‫عبوری‬ ‫بسته‬ ‫یک‬ ‫مبدا‬ ‫پورت‬ ‫شماره‬
nat / prerouting
‫آدرس‬ ‫که‬ ‫است‬ ‫قوانینی‬ ‫برگیرنده‬ ‫در‬
IP
‫پورت‬ ‫یا‬ ‫و‬ ‫مقصد‬
‫در‬ ‫ولی‬ ‫کنند‬ ‫می‬ ‫عوض‬ ‫را‬ ‫مقصد‬
nat / postrouting
‫آدرس‬ ‫که‬ ‫داریم‬ ‫قوانینی‬
IP
.‫کنند‬ ‫می‬ ‫عوض‬ ‫را‬ ‫مبدا‬ ‫پورت‬ ‫شماره‬ ‫و‬ ‫مبدا‬
: ‫واقع‬‫در‬
IPTables
‫ابزار‬ ‫کمک‬ ‫به‬ ‫که‬ ‫است‬ ‫فایروال‬ ‫یک‬
Netfilter
‫از‬ ‫قبل‬ ‫نسل‬ .‫است‬ ‫شده‬ ‫ساخته‬ ،
IPTables
‫نام‬ ‫با‬
IPchains
‫درون‬ .‫شود‬ ‫می‬ ‫شناخته‬
IPTables
،
‫شکل‬ ‫در‬ ‫که‬ ‫دارند‬ ‫قرار‬ ‫یکدیگر‬ ‫با‬ ‫خاصی‬ ‫ارتباط‬ ‫در‬ ‫زنجیرها‬ .‫داریم‬ ‫را‬ ‫قوانین‬ ‫و‬ ‫زنجیرها‬ ،‫جداول‬
3
‫جداول‬ ‫از‬ ‫هرکدام‬ ‫کاربرد‬ ‫خلصه‬ ‫شکل‬ ‫به‬ .‫شد‬ ‫داده‬ ‫نشان‬
‫جدول‬ ‫مطابق‬ ‫آنها‬ ‫درون‬ ‫زنجیر‬ ‫و‬
1
:‫باشد‬ ‫می‬
‫زنجیر‬ ‫نام‬
/
‫جدول‬ ‫نام‬
mangle / prerouting
‫شود‬ ‫می‬ ‫استفاده‬ ‫ندرت‬ ‫به‬
nat / prerouting
‫آدرس‬ ‫تغییر‬
IP
‫مقصد‬ ‫پورت‬ ‫و‬ ‫مقصد‬
filter / forward
) ‫انتقال‬
forward
‫آن‬ ‫کنترل‬ ‫و‬ ‫دیگر‬ ‫شبکه‬ ‫به‬ ‫شبکه‬ ‫یک‬ ‫از‬ ‫بسته‬ (
)
19
(
nat / postrouting
‫آدرس‬ ‫تغییر‬
IP
‫مبدا‬ ‫پورت‬ ‫و‬ ‫مبدا‬
filter / input
‫زنجیر‬
input
‫کند‬ ‫می‬ ‫چک‬ ‫را‬ ‫فایروال‬ ‫خود‬ ‫به‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫که‬
mangle / input
‫شود‬ ‫می‬ ‫استفاده‬ ‫ندرت‬ ‫به‬
mangle / output
‫شود‬ ‫می‬ ‫استفاده‬ ‫ندرت‬ ‫به‬
filter / output
‫زنجیر‬
output
‫کند‬ ‫می‬ ‫چک‬ ‫را‬ ‫فایروال‬ ‫خود‬ ‫از‬ ‫خروجی‬ ‫های‬ ‫بسته‬ ‫که‬
)
20
(
‫گیرد‬ ‫می‬ ‫انجام‬ ‫زیر‬ ‫فرمان‬ ‫با‬ ‫که‬ ‫باشد‬ ‫می‬ ‫مرتبط‬ ‫سرویس‬ ‫نمودن‬ ‫فعال‬ ‫دستور‬ ‫این‬ ‫با‬ ‫کار‬ ‫برای‬ ‫اول‬ ‫قدم‬
:
service iptables start
‫نکته‬
:
‫سرویس‬ ‫اینکه‬ ‫از‬ ‫قبل‬
iptables
‫سرویس‬ ‫بایستی‬ ‫شود‬ ‫اجرا‬
ip6tables
‫کنیم‬ ‫غیرفعال‬ ‫را‬
.
‫کنیم‬ ‫می‬ ‫وارد‬ ‫فرمان‬ ‫خط‬ ‫در‬ ‫را‬ ‫زیر‬ ‫دستورات‬ ‫کار‬ ‫این‬ ‫برای‬
:
service ip6tables stop
chkconfig ip6tables off
‫وضعیت‬ ‫شود‬ ‫فعال‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫سرویس‬ ‫این‬ ‫سیستم‬ ‫شدن‬ ‫بوت‬ ‫موقع‬ ‫اینکه‬ ‫برای‬
runlevel
‫حالت‬ ‫در‬ ‫بایستی‬
ON
‫شود‬ ‫می‬ ‫داده‬ ‫قرار‬
:
chkconfig --level 345 iptables on
‫ها‬ ‫پورت‬ ‫کردن‬ ‫بسته‬ ‫و‬ ‫باز‬
:
‫پورت‬ ‫کردن‬ ‫باز‬ ‫برای‬
80
‫کنیم‬ ‫می‬ ‫استفاده‬ ‫زیر‬ ‫فرمان‬ ‫از‬ ‫فایروال‬ ‫در‬
:
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-
p
‫معادل‬
protocol
‫و‬
sport
‫معادل‬
‫و‬ ‫مبدا‬ ‫پورت‬
dport
‫باشد‬ ‫می‬ ‫مقصد‬ ‫پورت‬ ‫معادل‬
.
‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫همچنین‬
‫از‬ ‫استفاده‬
https
‫پورت‬ ‫بایستی‬
443
‫باشد‬ ‫باز‬ ‫نیز‬
:
iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
‫شود‬ ‫می‬ ‫استفاده‬ ‫مشابه‬ ‫دستورات‬ ‫از‬ ‫نیز‬ ‫ها‬ ‫پورت‬ ‫سایر‬ ‫برای‬
.
‫دستور‬ ‫ساختار‬
iptables
:
‫شود‬ ‫می‬ ‫تقسیم‬ ‫بخش‬ ‫دو‬ ‫به‬ ‫دستور‬ ‫این‬ ‫گرامر‬
:
chain,target
iptables -A chain -j target
chain
‫پارامتر‬ ‫و‬ ‫است‬ ‫اصلی‬ ‫قسمت‬
–
A (append
(
‫یک‬
rule
‫نماید‬ ‫می‬ ‫اضافه‬ ‫را‬
.
chain
‫معادل‬ ‫تواند‬ ‫می‬
input,ouput,forward
‫می‬ ‫دائمی‬ ‫پارامترهای‬ ‫که‬ ‫باشد‬
‫باشند‬
.
‫پارامتر‬
–
j (jump
(
‫قوانین‬ ‫مجموعه‬ ‫در‬ ‫محلی‬
iptables
‫گیرد‬ ‫می‬ ‫انجام‬ ‫آنجا‬ ‫به‬ ‫پرش‬ ‫که‬ ‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬
.
‫شامل‬ ‫ترتیب‬ ‫به‬ ‫آن‬ ‫مقادیر‬
accept,drop,reject
‫می‬
‫باشند‬
.
‫پارامتر‬ ‫توسط‬
–
n
‫توانید‬ ‫می‬ ‫نیز‬
chain
‫کنید‬ ‫اضافه‬ ‫سفارشی‬ ‫و‬ ‫جدید‬ ‫های‬
.
‫با‬ ‫کار‬
policy
‫های‬
firewall
:
Iptbles
‫پارامتر‬ ‫از‬
–
p
‫ایجاد‬ ‫برای‬
rule
‫کند‬ ‫می‬ ‫استفاده‬ ‫فرض‬ ‫پیش‬ ‫های‬
.
‫زیر‬ ‫دستورات‬ ‫مثل‬
‫کند‬ ‫می‬ ‫بلک‬ ‫را‬ ‫شبکه‬ ‫درگاه‬ ‫در‬ ‫دریافتی‬ ‫و‬ ‫ارسالی‬ ‫های‬ ‫پکت‬ ‫کلیه‬
:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
‫های‬ ‫پکت‬ ‫که‬ ‫شود‬ ‫می‬ ‫توصیه‬ ‫همچنین‬
forward
‫نیز‬ ‫شده‬
denied
‫نشوند‬ ‫نمایان‬ ‫اینترنت‬ ‫در‬ ‫ناخواسته‬ ‫طور‬ ‫به‬ ‫داخلی‬ ‫شبکه‬ ‫کاربران‬ ‫تا‬ ‫شوند‬
.
rule
‫انجام‬ ‫برای‬ ‫زیر‬
‫رود‬ ‫می‬ ‫کار‬ ‫به‬ ‫کار‬ ‫این‬
:
iptables -P FORWARD DROP
‫تنظیم‬ ‫از‬ ‫بعد‬
policy chain
‫توانید‬ ‫می‬
rule
‫را‬ ‫نظر‬ ‫مورد‬ ‫های‬
‫کنید‬ ‫تعریف‬
:
‫قوانین‬ ‫بازیابی‬ ‫و‬ ‫ذخیره‬ ‫ی‬ ‫نحوه‬
iptables
:
)
21
(
Rule
‫های‬
firewall
‫کامپیوتر‬ ‫زمانیکه‬ ‫تا‬
on
‫اتوماتیک‬ ‫صورت‬ ‫به‬ ‫سیستم‬ ‫مجدد‬ ‫اندازی‬ ‫راه‬ ‫با‬ ‫و‬ ‫باشند‬ ‫می‬ ‫معتبر‬ ‫باشد‬
reset
‫شوند‬ ‫می‬
.
‫از‬ ‫بعد‬ ‫قوانین‬ ‫این‬ ‫اینکه‬ ‫برای‬
‫کنید‬ ‫زیراستفاده‬ ‫دستور‬ ‫از‬ ‫شوند‬ ‫اجرا‬ ‫اتوماتیک‬ ‫صورت‬ ‫به‬ ،‫مجدد‬ ‫اندازی‬ ‫راه‬
:
/sbin/service iptables save
‫نکته‬
:
‫سایر‬
Rule
‫مسیر‬ ‫در‬ ‫ها‬
/
etc/sysconfig/iptables
‫شوند‬ ‫می‬ ‫ذخیره‬
.
)
22
(
1
.
‫فایروال‬ ‫وضعیت‬ ‫نمایش‬
:
‫در‬ ‫حاضر‬ ‫حال‬ ‫در‬ ‫که‬ ‫هایی‬ ‫رول‬ ‫شدن‬ ‫مشخص‬ ‫برای‬
iptables
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ،‫دارند‬ ‫وجود‬
:
iptables -L -n -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
‫بود‬ ‫خواهد‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫وضعیت‬ ‫احتمال‬ ،‫اید‬ ‫کرده‬ ‫اضافه‬ ‫هایی‬ ‫رول‬ ‫قبل‬ ‫از‬ ‫خود‬ ‫فایروال‬ ‫در‬ ‫اگر‬
:
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
394 43586 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
93 17292 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
1 142 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to
PMTU
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 wanin all -- vlan2 * 0.0.0.0/0 0.0.0.0/0
0 0 wanout all -- * vlan2 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 425 packets, 113K bytes)
pkts bytes target prot opt in out source destination
Chain wanin (1 references)
pkts bytes target prot opt in out source destination
)
23
(
Chain wanout (1 references)
pkts bytes target prot opt in out source destination
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫رول‬ ‫هر‬ ‫خط‬ ‫شماره‬ ‫همراه‬ ‫به‬ ‫ها‬ ‫رول‬ ‫نمایش‬ ‫برای‬
:
iptables -n -L -v --line-numbers
‫بود‬ ‫خواهد‬ ‫زیر‬ ‫مشابه‬ ،‫دستور‬ ‫خروجی‬ ‫احتمال‬
:
Chain INPUT (policy DROP)
num target prot opt source destination
1 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
3 TCPMSS tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
5 wanin all -- 0.0.0.0/0 0.0.0.0/0
6 wanout all -- 0.0.0.0/0 0.0.0.0/0
7 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain wanin (1 references)
num target prot opt source destination
Chain wanout (1 references)
num target prot opt source destination
‫دستور‬ ‫توضیح‬
:
L
: -
‫ها‬ ‫رول‬ ‫لیست‬
v
: -
‫جزئیات‬ ‫نمایش‬
n
: -
‫نمایش‬
ip
‫عددی‬ ‫بصورت‬ ‫پورت‬ ‫و‬
2
.
‫فایروال‬ ‫وضعیت‬ ‫تغییر‬
:
)
24
(
‫کرد‬ ‫استفاده‬ ‫توان‬ ‫می‬ ‫فایروال‬ ‫ریست‬ ‫و‬ ‫خاموش‬ ، ‫روشن‬ ‫برای‬ ‫زیر‬ ‫دستورات‬ ‫از‬
:
service iptables stop
service iptables start
service iptables restart
‫نمائید‬ ‫وارد‬ ‫را‬ ‫زیر‬ ‫دستور‬ ، ‫بمانید‬ ‫باقی‬ ‫منوال‬ ‫همین‬ ‫به‬ ‫وضعیت‬ ‫نیز‬ ‫سرور‬ ‫ریستارت‬ ‫از‬ ‫پس‬ ‫و‬ ‫خاموش‬ ‫را‬ ‫فایروال‬ ‫خواهید‬ ‫می‬ ‫اگر‬
:
service iptables stop
chkconfig iptables off
3
.
‫فایروال‬ ‫های‬ ‫رول‬ ‫و‬ ‫قوانین‬ ‫حذف‬
:
‫آورید‬ ‫بدست‬ ‫را‬ ‫رول‬ ‫خط‬ ‫شماره‬ ‫زیر‬ ‫دستورات‬ ‫کمک‬ ‫به‬ ‫ابتدا‬
:
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
‫شماره‬ ‫خط‬ ‫در‬ ‫موجود‬ ‫رول‬ ‫حذف‬ ‫برای‬ ‫مثال‬ ‫عنوان‬ ‫به‬ ‫حال‬
4
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬
:
iptables -D INPUT 4
‫فرمایید‬ ‫استفاده‬ ‫خود‬ ‫نظر‬ ‫مورد‬ ‫پی‬ ‫ای‬ ‫به‬ ‫مروبطه‬ ‫قوانین‬ ‫حذف‬ ‫برای‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫یا‬ ‫و‬
:
iptables -D INPUT -s 202.54.1.1 -j DROP
‫توضیح‬
:
D
: -
‫شده‬ ‫انتخاب‬ ‫زنجیره‬ ‫از‬ ‫رول‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫حذف‬
3.1
‫فایروال‬ ‫از‬ ‫ها‬ ‫رول‬ ‫کلیه‬ ‫حذف‬
)
Flush iptables
:(
)
25
(
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫ها‬ ‫رول‬ ‫کلیه‬ ‫حذف‬ ‫برای‬
:
iptables -F
‫تیبل‬ ‫در‬ ‫اگر‬ ‫و‬
nat
‫و‬
mangle
‫نمائید‬ ‫وارد‬ ‫است‬ ‫لزم‬ ‫نیز‬ ‫را‬ ‫زیر‬ ‫دستور‬ ‫دو‬ ، ‫کردید‬ ‫اضافه‬ ‫رولی‬ ‫نیز‬
:
iptables -t nat -F
iptables -t mangle -F
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫مجدد‬ ‫ها‬ ‫رول‬ ‫وضعیت‬ ‫مشاهده‬ ‫برای‬
:
iptables -L -v -n
4
.
‫فایروال‬ ‫در‬ ‫فوروارد‬ ‫یا‬ ‫و‬ ‫خروجی‬ ، ‫ورودی‬ ‫ترافیک‬ ‫کردن‬ ‫مسدود‬ ‫نحوه‬
:
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫توانید‬ ‫می‬ ‫ترافیک‬ ‫کل‬ ‫کردن‬ ‫مسدود‬ ‫برای‬
)
‫به‬ ‫شما‬ ‫دسترسی‬ ‫از‬ ‫مانع‬ ‫تواند‬ ‫می‬ ‫دستورات‬ ‫این‬ ‫که‬ ‫نمائید‬ ‫دقت‬
‫گردد‬ ‫سرور‬
: (.
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫فایروال‬ ‫در‬ ‫شده‬ ‫اضافه‬ ‫تغییرات‬ ‫نمودن‬ ‫ذخیره‬ ‫برای‬
:
service iptables save
)
26
(
iptables-save > iptable.rule
: ‫کنیم‬ ‫ریستور‬ ‫را‬ ‫آن‬ ‫میتوانیم‬ ‫زیر‬ ‫دستور‬ ‫با‬ ‫سپس‬ . ‫کنیم‬ ‫ذخیره‬ ‫نظر‬ ‫مد‬ ‫مسیر‬ ‫در‬ ‫میتوانید‬ ‫را‬ ‫ها‬ ‫رول‬ ‫ما‬ ‫اینجا‬ ‫در‬
iptables-restore < iptables.rule
‫برای‬ : ‫نکته‬
save
‫فایل‬ ‫در‬ ‫را‬ ‫کردن‬ ‫ریستور‬ ‫به‬ ‫مربوط‬ ‫دستور‬ ‫توانید‬‫می‬ ‫دایمی‬ ‫بصورت‬ ‫کردن‬
interfaces
‫قرار‬ ( ‫شبکه‬ ‫کارت‬ ‫)تنظیمات‬
: ‫نمونه‬ ‫برای‬ ‫دهید‬
pre-up iptables-restore < iptables.rule
5
.
‫یک‬ ‫نمودن‬ ‫مسدود‬ ‫نحوه‬
IP
‫سرور‬ ‫روی‬ ‫بر‬
:
‫پی‬ ‫ای‬ ‫سوی‬ ‫از‬ ‫ورودی‬ ‫ترافیک‬ ‫توانید‬ ‫می‬ ‫شما‬ ‫اول‬ ‫دستورات‬ ‫کمک‬ ‫به‬
1.2.3.4
‫پی‬ ‫ای‬ ‫رنج‬ ‫برای‬ ‫ورودی‬ ‫ترافیک‬ ‫کل‬ ‫دوم‬ ‫دستور‬ ‫کردن‬ ‫وارد‬ ‫به‬ ‫و‬
‫گردد‬ ‫می‬ ‫مسدود‬ ‫مثال‬ ‫مورد‬
.
iptables -A INPUT -s 1.2.3.4 -j DROP
iptables -A INPUT -s 192.168.0.0/24 -j DROP
6
.
‫خاص‬ ‫پورت‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫ورودی‬ ‫ترافیک‬ ‫کردن‬ ‫مسدود‬ ‫نحوه‬
:
‫پورت‬ ‫روی‬ ‫بر‬ ‫را‬ ‫ورودی‬ ‫ترافیک‬ ‫توان‬ ‫می‬ ‫زیر‬ ‫دستورات‬ ‫کمک‬ ‫به‬
80
‫نمائید‬ ‫مسدود‬
.
‫پورت‬ ‫از‬ ‫سرور‬ ‫وب‬ ‫معمول‬ ‫که‬ ‫است‬ ‫توضیح‬ ‫به‬ ‫لزم‬
80
‫برای‬
‫کند‬ ‫می‬ ‫استفاده‬ ‫سایت‬ ‫وب‬ ‫نمایش‬
.
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
)
27
(
‫پورت‬ ‫روی‬ ‫بر‬ ‫ورودی‬ ‫ترافیک‬ ‫کردن‬ ‫مسدود‬ ‫برای‬
80
‫یک‬ ‫برای‬ ‫تنها‬
IP
‫رنج‬ ‫یک‬ ‫یا‬ ‫و‬
IP
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫توانید‬ ‫می‬
:
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP
7
.
‫خروجی‬ ‫ترافیک‬ ‫نمودن‬ ‫مسدود‬ ‫نحوه‬
:
‫یک‬ ‫برای‬ ‫خروجی‬ ‫ترافیک‬ ‫نمودن‬ ‫مسدود‬ ‫برای‬
IP
‫رنج‬ ‫یک‬ ‫یا‬ ‫و‬ ‫خاص‬
IP
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫توانید‬ ‫می‬
:
iptables -A OUTPUT -d 1.2.3.4 -j DROP
iptables -A OUTPUT -d 192.168.1.0/24 -j DROP
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -j DROP
8
.
‫ها‬ ‫فعالیت‬ ‫کردن‬ ‫لگ‬
:
‫از‬ ‫جلوگیری‬ ‫برای‬ ‫مثال‬ ‫برای‬ ‫شوید‬ ‫مطلع‬ ‫است‬ ‫وقوع‬ ‫حال‬ ‫در‬ ‫سرور‬ ‫شبکه‬ ‫روی‬ ‫بر‬ ‫که‬ ‫هایی‬ ‫فعالیت‬ ‫ریز‬ ‫از‬ ‫تا‬ ‫استفا‬ ‫نیاز‬ ‫مواقع‬ ‫از‬ ‫خیلی‬
IP
spoofing
‫اینترفیس‬ ‫روی‬ ‫بر‬
eth1
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬
.
‫حالیکه‬ ‫در‬ ‫دستور‬ ‫این‬ ‫در‬
، ‫گردد‬ ‫می‬ ‫مسدود‬ ‫مربوطه‬ ‫ترافیک‬
‫پیشوند‬ ‫با‬ ‫نیز‬ ‫گرفته‬ ‫صورت‬ ‫های‬ ‫تلش‬
IP_SPOOF A
‫شود‬ ‫می‬ ‫ذخیره‬ ‫لگ‬ ‫در‬
:
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
‫مسیر‬ ‫در‬ ‫ها‬ ‫لگ‬ ‫معمول‬
/
var/log/messages
‫باشد‬ ‫متفاوت‬ ‫تواند‬ ‫می‬ ‫استفاده‬ ‫مورد‬ ‫لینوکس‬ ‫ویرایش‬ ‫به‬ ‫توجه‬ ‫با‬ ‫البته‬ ‫که‬ ‫دارند‬ ‫قرار‬
.
‫برای‬
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫توانید‬ ‫می‬ ‫مربوطه‬ ‫های‬ ‫لگ‬ ‫مشاهده‬
:
)
28
(
tail -f /var/log/messages
grep --color 'IP SPOOF' /var/log/messages
‫سوکت‬ ‫قابلیت‬ ‫از‬ ‫توان‬ ‫می‬ ‫فایل‬ ‫لگ‬ ‫شدن‬ ‫حجیم‬ ‫از‬ ‫جلوگیری‬ ‫برای‬
-
m
‫برای‬ ‫که‬ ‫نمود‬ ‫تنظیم‬ ‫توان‬ ‫می‬ ‫آن‬ ‫کمک‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬ ‫دستور‬ ‫در‬
‫هر‬ ‫در‬ ‫مثال‬
5
‫از‬ ‫بیش‬ ‫دقیقه‬
7
‫در‬ ‫را‬ ‫مورد‬
‫ننماید‬ ‫ذخیره‬ ‫لگ‬
:
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
9
.
‫شویم؟‬ ‫آگاه‬ ‫شبکه‬ ‫روی‬ ‫بر‬ ‫فایروال‬ ‫توسط‬ ‫پورت‬ ‫یک‬ ‫بودن‬ ‫بسته‬ ‫یا‬ ‫باز‬ ‫از‬ ‫چگونه‬
‫فرمایئد‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫پورت‬ ‫نبودن‬ ‫و‬ ‫بودن‬ ‫باز‬ ‫از‬ ‫آگاهی‬ ‫برای‬
:
netstat -tulpn
‫پورت‬ ‫پورت‬ ‫آیا‬ ‫اینکه‬ ‫از‬ ‫اطلع‬ ‫برای‬
tcp 80
‫فرمایید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫خیر‬ ‫یا‬ ‫است‬ ‫باز‬
:
netstat -tulpn | grep :80
‫پورت‬ ‫اگر‬
80
‫نمائید‬ ‫وارد‬ ‫را‬ ‫زیر‬ ‫دستور‬ ‫نبود‬ ‫باز‬
:
service httpd start
‫پورت‬ ‫که‬ ‫یابید‬ ‫اطمینان‬ ‫زیر‬ ‫دستور‬ ‫کمک‬ ‫به‬
80
‫است‬ ‫نشده‬ ‫بسته‬ ‫فایروال‬ ‫روی‬ ‫بر‬
:
iptables -L INPUT -v -n | grep 80
‫فرمایئد‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫بود‬ ‫مسدود‬ ‫صورتیکه‬ ‫در‬
:
)
29
(
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
service iptables save
10
.
‫فایروال‬ ‫کردن‬ ‫فعال‬ ‫غیر‬
:
‫به‬ ‫توانید‬ ‫می‬ ‫است‬ ‫شده‬ ‫شما‬ ‫سرور‬ ‫هایصلی‬ ‫سرویس‬ ‫صحیح‬ ‫کارکرد‬ ‫از‬ ‫مانع‬ ‫فایروال‬ ‫یا‬ ‫و‬ ‫هستید‬ ‫روبرو‬ ‫فایروال‬ ‫به‬ ‫دسترسی‬ ‫در‬ ‫مشکلی‬ ‫با‬ ‫اگر‬
‫نمائید‬ ‫خاموش‬ ‫را‬ ‫فایروال‬ ‫زیر‬ ‫دستورات‬ ‫کمک‬
.
‫و‬ ‫ماند‬ ‫خواهد‬ ‫باقی‬ ‫منوال‬ ‫همین‬ ‫به‬ ‫وضعیت‬ ‫سرور‬ ‫ریستارت‬ ‫از‬ ‫پس‬ ‫نیز‬ ‫دوم‬ ‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬
‫مانند‬ ‫جانبی‬ ‫افزار‬ ‫نرم‬ ‫از‬ ‫شما‬ ‫آنکه‬ ‫مگر‬ ،‫گردد‬ ‫نمی‬ ‫فعال‬ ‫مجدد‬ ‫فایروال‬
csf
‫و‬ ‫گردد‬ ‫می‬ ‫فعال‬ ‫مجدد‬ ‫فایروال‬ ‫ترتیب‬ ‫بدین‬ ‫که‬ ‫باشید‬ ‫کرده‬ ‫استفاده‬
‫داشت‬ ‫نخواهد‬ ‫شدن‬ ‫غیرفعال‬ ‫قابلیت‬ ‫شکل‬ ‫بدین‬
:
service iptables stop
chkconfig iptables off
‫با‬ ‫بیشتر‬ ‫آشنایی‬ ‫برای‬
iptables
‫مطالعه‬ ‫و‬
manual
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫آن‬ ‫های‬
:
man iptables
‫بود‬ ‫خواهد‬ ‫استفاده‬ ‫قابل‬ ‫زیر‬ ‫دستور‬ ‫آن‬ ‫راهنمای‬ ‫مشاهده‬ ‫برای‬
:
iptables -h
‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫سینتکس‬ ‫نیز‬ ‫هستید‬ ‫خاص‬ ‫دستور‬ ‫یک‬ ‫برای‬ ‫تنها‬ ‫فایروال‬ ‫راهنمای‬ ‫بدنبال‬ ‫اگر‬
:
iptales -j DROP -h
)
30
(
‫دستور‬
‫توضیح‬
# iptables -t filter -L
‫دهد‬ ‫می‬ ‫نمایش‬ ‫را‬ ‫شدن‬ ‫فیلتر‬ ‫جدول‬ ‫زنجیرهای‬ ‫تمام‬
# iptables -t nat -L
‫جدول‬ ‫های‬ ‫زنجیر‬ ‫تمام‬
nat
‫دهد‬ ‫می‬ ‫نمایش‬ ‫را‬
# iptables -t filter -F
‫کند‬‫می‬ ‫پاک‬ ‫شدن‬ ‫فیلتر‬ ‫جدول‬ ‫از‬ ‫را‬ ‫شروط‬ ‫و‬ ‫قوانین‬ ‫تمام‬
# iptables -t nat -F
‫جدول‬ ‫از‬ ‫را‬ ‫شروط‬ ‫و‬ ‫قوانین‬ ‫تمام‬
nat
‫کند‬‫می‬ ‫پاک‬
# iptables -t filter -X
‫کند‬‫می‬ ‫پاک‬ ‫را‬ ‫باشد‬ ‫شده‬ ‫درست‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫را‬ ‫زنجیری‬ ‫هر‬
# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT
‫اتصالت‬ ‫ی‬‫اجازه‬
telnet
‫دهد‬‫می‬ ‫ورودی‬ ‫به‬ ‫را‬
# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP
‫اتصالت‬
HTTP
‫کنند‬‫می‬ ‫قطع‬ ‫را‬ ‫خروجی‬ ‫به‬
# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT
‫اتصالت‬ ‫ی‬‫اجازه‬
POP3
‫زنجیر‬ ‫به‬ ‫را‬
forward
‫دهد‬‫می‬
# iptables -t filter -A INPUT -j LOG --log-prefix
‫ورودی‬ ‫ی‬ ‫رشته‬ ‫بروی‬ ‫اتفاقات‬ ‫ثبت‬
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
‫پیکربندی‬
PAT
‫از‬ ‫خروجی‬ ‫های‬ ‫بسته‬ ‫بروی‬
eth0
# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp
--dport 22 -j DNAT --to-destination 10.0.0.2:22
‫دیگر‬ ‫میزبان‬ ‫به‬ ‫میزبان‬ ‫یک‬ ‫به‬ ‫شده‬ ‫دهی‬ ‫آدرس‬ ‫های‬ ‫بسته‬ ‫مجدد‬ ‫هدایت‬
‫ترتیب‬ ‫به‬ ‫زیر‬ ‫های‬ ‫دستور‬
LOG
‫فایل‬ ‫در‬ ‫را‬ ‫هایی‬
var/log/message
/
‫خروجی‬ ‫های‬ ‫دسترسی‬ ‫برای‬
)
Outgoing Access
(
‫های‬ ‫دسترسی‬ ‫و‬
‫ورودی‬
)
Incoming Access
(
‫پورت‬ ‫به‬
21
‫پروتکل‬ ‫و‬
tcp
)
‫پروتکل‬
ftp
(
‫مبدای‬ ‫هر‬ ‫از‬
)
‫توسط‬ ‫شده‬ ‫داده‬ ‫نشان‬
s- 0/0
(
‫کنند‬ ‫می‬ ‫ثبت‬
.
log–
prefix
‫اینجا‬ ‫در‬ ‫که‬ ‫خاص‬ ‫رشته‬ ‫یک‬ ‫یعنی‬
:>
FTP
‫کند‬ ‫می‬ ‫اضافه‬ ‫پیام‬ ‫ابتدای‬ ‫به‬ ‫را‬ ‫است‬
.
”
:>
iptables -A OUTPUT -p tcp -s 0/0 dport 21 -j LOG log-prefix FTP
– – “
”
:>
iptables -A INPUT -p tcp -s 0/0 dport 21 -j LOG log-prefix FTP
– – “
•
‫کار‬ ‫همان‬ ‫زیر‬ ‫های‬ ‫دستور‬
LOG
‫پروتکل‬ ‫برای‬ ‫را‬ ‫بال‬
icmp
‫دستور‬ ‫یا‬
ping
‫فایل‬ ‫در‬
var/log/message
/
‫ثبت‬
‫کنند‬ ‫می‬
.
”
:>
iptables -A OUTPUT -p icmp -j LOG --log-prefix PING
“
”
:>
iptables -A INPUT -p icmp -j LOG --log-prefix PING
“
)
31
(
‫عنوان‬ ‫به‬ ‫لینوکسی‬ ‫ماشین‬ ‫تنظیم‬
NAT
NAT
‫مخفف‬
Network Address Translate
‫شبکه‬ ‫درون‬ ‫خصوصی‬ ‫های‬ ‫آدرس‬ ‫دسترسی‬ ‫برای‬
LAN
‫است‬ ‫اینترنت‬ ‫به‬
.
‫شبکه‬ ‫کارت‬ ‫هر‬ ‫معمول‬ ‫طور‬ ‫به‬
LAN
‫آدرس‬ ‫یک‬ ‫دارای‬ ‫باید‬
‫آدرس‬ ‫یا‬ ‫عمومی‬
Valid
‫باشد‬ ‫داشته‬ ‫دسترسی‬ ‫اینترنت‬ ‫به‬ ‫بتواند‬ ‫تا‬ ‫باشد‬
.
‫از‬ ‫توان‬ ‫می‬ ‫اما‬
NAT
‫کرد‬ ‫استفاده‬ ‫اینترنت‬ ‫به‬ ‫آنها‬ ‫دسترسی‬ ‫برای‬ ‫ها‬ ‫ماشین‬ ‫همه‬ ‫برای‬ ‫عمومی‬ ‫آدرس‬ ‫یک‬ ‫و‬
.
‫ماشین‬ ‫یک‬ ‫حالت‬ ‫این‬ ‫در‬
)
‫غیره‬ ‫یا‬ ‫ویندوز‬ ،‫لینوکس‬
(
‫عنوان‬ ‫به‬
Router
‫وظیفه‬
NAT
‫گیرد‬ ‫می‬ ‫عهده‬ ‫به‬ ‫را‬
.
‫نقش‬ ‫که‬ ‫ماشینی‬
NAT
‫آدرس‬ ‫دو‬ ‫دارای‬ ‫دارد‬ ‫را‬
)
‫شبکه‬ ‫کارت‬ ‫دو‬
(
‫آدرس‬ ‫با‬
‫است‬ ‫عمومی‬ ‫و‬ ‫خصوصی‬ ‫های‬
.
‫آدرس‬ ‫طریق‬ ‫از‬ ‫را‬ ‫اینترنت‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫درخواست‬ ‫محلی‬ ‫شبکه‬ ‫درون‬ ‫های‬ ‫ماشین‬
Gateway
‫ماشین‬ ‫به‬ ‫خود‬
NAT
‫ماشین‬ ‫و‬ ‫ارسال‬
NAT
‫آدرس‬
‫مبدا‬ ‫آدرس‬ ‫جایگزین‬ ‫را‬ ‫خود‬
)
‫محلی‬ ‫شبکه‬ ‫از‬ ‫کننده‬ ‫درخواست‬ ‫ماشین‬ ‫آدرس‬
(
‫و‬ ‫رده‬Ù‫ک‬ ‫ود‬Ù‫خ‬ ‫آدرس‬ ‫ایگزین‬Ù‫ج‬ ‫را‬ ‫ی‬Ù‫محل‬ ‫دا‬Ù‫مب‬ ‫ماشین‬ ‫آدرس‬ ،‫اینترنت‬ ‫از‬ ‫پاسخ‬ ‫دریافت‬ ‫از‬ ‫پس‬ ‫و‬ ‫کرده‬
‫دهد‬ ‫می‬ ‫مبدا‬ ‫ماشین‬ ‫تحویل‬ ‫را‬ ‫پاسخ‬
.
‫سازی‬ ‫پیاده‬
NAT
‫توسط‬
iptables
‫شود‬ ‫می‬ ‫انجام‬
.
‫جدول‬ ‫از‬ ‫همچنین‬
nat
‫به‬ ‫مربوط‬
iptables
‫یا‬ ‫زنجیره‬ ‫همراه‬ ‫به‬
chains
‫کنیم‬ ‫می‬ ‫استفاده‬ ‫آن‬ ‫های‬
. .
IP Masquerade
‫آنرا‬ ‫که‬
IPMASQ
‫درون‬ ‫های‬ ‫ماشین‬ ‫به‬ ‫نامند‬ ‫می‬ ‫نیز‬
LAN
‫ماشین‬ ‫به‬ ‫را‬ ‫خود‬ ‫های‬ ‫درخواست‬ ‫آنها‬ ‫تک‬ ‫تک‬ ‫به‬ ‫عمومی‬ ‫آدرس‬ ‫اختصاص‬ ‫بدون‬ ‫تا‬ ‫هد‬ ‫می‬ ‫اجازه‬
NAT
‫کنند‬ ‫ارسال‬
.
IPMASQ
server
‫یک‬ ‫نقش‬
Gateway
‫است‬ ‫محلی‬ ‫شبکه‬ ‫به‬ ‫متصل‬ ‫دیگری‬ ‫و‬ ‫اینترنت‬ ‫به‬ ‫متصل‬ ‫یکی‬ ،‫شبکه‬ ‫کارت‬ ‫دو‬ ‫دارای‬ ‫که‬ ‫کند‬ ‫می‬ ‫بازی‬ ‫را‬
.
‫رای‬Ù‫ب‬ ‫محلی‬ ‫شبکه‬ ‫درون‬ ‫های‬ ‫سیستم‬ ‫تمامی‬
‫پشت‬ ‫در‬ ‫اینترنت‬ ‫به‬ ‫دسترسی‬
IPMASQ server
‫دارند‬ ‫قرار‬
.
‫تفاوت‬
SNAT
‫و‬
IPMASQ
‫تنظیم‬ ‫در‬ ‫که‬ ‫است‬ ‫این‬ ‫در‬
IPMASQ
‫اینترنت‬ ‫به‬ ‫که‬ ‫دیوایسی‬ ‫یا‬ ‫مودم‬ ‫آدرس‬ ‫از‬ ‫ما‬
)
‫عمومی‬ ‫شبکه‬
(
‫کنیم‬ ‫می‬ ‫استفاده‬ ‫است‬ ‫متصل‬
.
‫در‬ ‫واقع‬ ‫در‬
SNAT
‫باشیم‬ ‫داشته‬ ‫را‬ ‫عمومی‬ ‫آدرس‬ ‫یک‬ ‫باید‬
)
‫کنیم‬ ‫خریداری‬
(
‫ماشین‬ ‫شبکه‬ ‫کارت‬ ‫روی‬ ‫بر‬ ‫آنرا‬ ‫و‬
NAT
‫کنیم‬ ‫تنظیم‬
.
‫در‬ ‫اما‬
IPMASQ
‫یا‬ ‫اینترنت‬ ‫به‬ ‫متصل‬ ‫دیوایس‬ ‫آدرس‬ ‫از‬
outgoing
device
‫کنیم‬ ‫می‬ ‫استفاده‬ ‫مودم‬ ‫مانند‬
) .
‫که‬ ‫آدرسی‬ ‫از‬
ISP
‫کنیم‬ ‫می‬ ‫استفاده‬ ‫است‬ ‫داده‬ ‫اختصاص‬
(.
‫تنظیم‬ ‫چگونگی‬ ‫پست‬ ‫این‬ ‫در‬
SNAT
‫و‬
IPMASQ
‫دستور‬ ‫نوسط‬
iptables
‫شد‬ ‫خواهد‬ ‫گفته‬
.
‫سازی‬ ‫پیاده‬ ‫برای‬
NAT
‫جدول‬ ‫از‬ ‫باید‬
nat
‫از‬
iptables
‫کنیم‬ ‫استفاده‬
)
‫با‬ ‫شده‬ ‫مشخص‬
t
nat
(-
‫زنجیره‬ ‫از‬ ‫همچنین‬ ‫و‬
POSTROUTING
‫جدول‬ ‫از‬
nat
‫کنیم‬ ‫می‬ ‫استفاده‬
.
‫زنجیره‬ ‫کنید‬ ‫توجه‬
POSTROUTING
‫برای‬
SNAT
‫و‬
IPMASQ
‫شود‬ ‫می‬ ‫استفاده‬
.
‫واقع‬ ‫در‬
Role
‫به‬ ‫شده‬ ‫داده‬ ‫اختصاص‬ ‫های‬
POSTROUTING
‫شد‬ ‫خواهند‬ ‫انجام‬ ،‫شبکه‬ ‫از‬ ‫بسته‬ ‫ترک‬ ‫از‬ ‫پیش‬ ‫و‬ ‫یابی‬ ‫مسیر‬ ‫های‬ ‫تصمیم‬ ‫از‬ ‫پس‬
.
‫تنظیم‬ ‫از‬ ‫پیش‬
NAT
‫توسط‬
iptables
‫ویژگی‬ ‫که‬ ‫لزم‬
ip_forward
‫کنیم‬ ‫فعال‬ ‫را‬
.
echo 1 > /proc/sys/net/ipv4/ip_forward
“ ”
‫تنظیم‬ ‫برای‬
IPMASQ
‫توسط‬
iptables
‫کنید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE
‫بال‬ ‫دستور‬ ‫در‬
nat
‫است‬ ‫جدول‬ ‫نام‬
.
‫سوییچ‬
t
-
‫رود‬ ‫می‬ ‫کار‬ ‫به‬ ‫جدول‬ ‫تعیین‬ ‫برای‬
.
A POSTROUTING
-
‫یک‬
Role
‫زنجیره‬ ‫برای‬ ‫را‬
POSTROUTING
‫کنید‬ ‫می‬ ‫اضافه‬
) .
Append
.(
‫سوییچ‬
s
-
‫مبدا‬ ‫های‬ ‫آدرس‬ ‫کننده‬ ‫مشخص‬
)
‫محلی‬ ‫شبکه‬ ‫خصوصی‬ ‫های‬ ‫آدرس‬ ‫همان‬
(
‫سوییچ‬ ‫و‬
o
-
‫آن‬ ‫روی‬ ‫بر‬ ‫عمومی‬ ‫آدرس‬ ‫که‬ ‫خروجی‬ ‫دیوایس‬ ‫کردن‬ ‫مشخص‬ ‫برای‬
‫تنظیم‬
‫شده‬
‫است‬
.
‫کنید‬ ‫استفاده‬ ‫مبدا‬ ‫های‬ ‫آدرس‬ ‫تعیین‬ ‫بدون‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توایند‬ ‫می‬ ‫یا‬
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
‫تنظیم‬ ‫برای‬ ‫همچنین‬
SNAT
‫کنید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬
.
‫در‬
SNAT
‫دستور‬ ‫در‬ ‫دستی‬ ‫طور‬ ‫به‬ ‫عمومی‬ ‫های‬ ‫آدرس‬ ‫باید‬
iptables
‫شوند‬ ‫مشخص‬
.
iptables -t nat-A POSTROUTING-s 192.168.0.0/24-o eth0-j SNAT to 4.4.3.27-4.4.3.45
–
‫تنظیم‬ ‫پس‬ ‫است‬ ‫شده‬ ‫استفاده‬ ‫عمومی‬ ‫آدرس‬ ‫دو‬ ‫بینید‬ ‫می‬ ‫که‬ ‫همانطور‬
SNAT
‫صورت‬ ‫به‬
Dynamic SNAT
‫است‬
.
‫آن‬ ‫در‬ ‫ه‬Ù
Ù‫ک‬ ‫د‬Ù‫کنی‬ ‫تفاده‬Ù
Ù‫اس‬ ‫عمومی‬ ‫آدرس‬ ‫یک‬ ‫از‬ ‫توانستید‬ ‫می‬
‫صورت‬
Static SNAT
‫شد‬ ‫می‬ ‫تنظیم‬
.
ICMP
)
‫مخفف‬
Internet Control Message Protocol
(
‫های‬ ‫پروتکل‬ ‫ترین‬ ‫اصلی‬ ‫از‬ ‫یکی‬
TCP/IP
‫هاست‬ ‫پیام‬ ‫دریافت‬ ‫و‬ ‫ارسال‬ ‫برای‬
.
ICMP
‫هایی‬ ‫پیام‬ ‫ارسال‬ ‫جهت‬ ‫تنها‬
)
‫بسته‬
‫های‬
IP
(
‫ماشین‬ ‫یک‬ ‫از‬
)
‫سیستم‬
PC
‫یا‬
Router
‫یا‬
Mobile Device
‫شبکه‬ ‫درون‬ ‫که‬ ‫آنچه‬ ‫هر‬ ‫و‬
LAN
‫از‬ ‫و‬ ‫باشد‬ ‫اینترنت‬ ‫یا‬
TCP/IP
‫کند‬ ‫استفاده‬
(
‫کنیم‬ ‫می‬ ‫استفاده‬ ‫دیگر‬ ‫ماشین‬ ‫به‬
.
‫دستور‬
ping
‫دستور‬ ‫ترین‬ ‫اصلی‬
)
‫برنامه‬
(
‫کند‬ ‫می‬ ‫استفاده‬ ‫پروتکل‬ ‫این‬ ‫از‬ ‫که‬ ‫ای‬
.
‫پیام‬ ‫دو‬
echo request
‫و‬
echo reply
‫دارند‬ ‫وجود‬ ‫پروتکل‬ ‫این‬ ‫در‬
.
ping
‫های‬ ‫پیام‬ ‫توسط‬
echo
request
‫با‬ ‫دیگر‬ ‫سمت‬ ‫و‬ ‫فرستاده‬ ‫دیگر‬ ‫ماشین‬ ‫به‬ ‫پیامی‬
echo reply
‫دهد‬ ‫می‬ ‫پاسخ‬
.
‫دهد‬ ‫می‬ ‫نشان‬ ‫بیشتری‬ ‫اطلعات‬ ‫زیر‬ ‫شکل‬
.
)
32
(
ICMP
‫شود‬ ‫می‬ ‫استفاده‬ ‫شبکه‬ ‫درون‬ ‫مشکلت‬ ‫رفع‬ ‫منظور‬ ‫به‬ ‫و‬ ‫است‬ ‫پورت‬ ‫شماره‬ ‫فاقد‬ ‫که‬ ‫است‬ ‫پروتکلی‬ ‫تنها‬
.
‫در‬ ‫زیر‬ ‫قانون‬ ‫سه‬
iptables
‫چیز‬ ‫همه‬ ‫که‬ ‫هستند‬ ‫این‬ ‫معرف‬
DROP
‫شوند‬
.
‫شود‬ ‫می‬ ‫وارد‬ ‫که‬ ‫بسته‬ ‫هر‬ ‫یعنی‬
)
INPUT Chain
(
‫شود‬ ‫می‬ ‫خارج‬ ‫که‬ ‫ای‬ ‫بسته‬ ‫هر‬ ‫و‬
)
OUTPUT Chain
(
‫خواهد‬ ‫می‬ ‫که‬ ‫ای‬ ‫بسته‬ ‫هر‬ ‫و‬
Forward
‫شود‬
)
FORWARD
Chain
(
‫باید‬
DROP
‫کنیم‬ ‫می‬ ‫تعیین‬ ‫ما‬ ‫که‬ ‫آنهایی‬ ‫جز‬ ‫به‬ ‫شوند‬
.
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
‫های‬ ‫بسته‬ ‫تنها‬ ‫خواهیم‬ ‫می‬ ‫ولی‬ ‫شود‬ ‫می‬ ‫فیلتر‬ ‫چیز‬ ‫همه‬ ‫قانون‬ ‫سه‬ ‫این‬ ‫با‬ ‫که‬ ‫است‬ ‫این‬ ‫اصلی‬ ‫مشکل‬
ICMP
‫کنیم‬ ‫فیلتر‬ ‫را‬
.
‫کردن‬ ‫دفیلتر‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫باید‬
ICMP
‫صورت‬ ‫این‬ ‫به‬
‫های‬ ‫پیام‬ ‫که‬ ‫است‬
echo request
‫و‬ ‫خروجی‬
echo reply
‫های‬ ‫بسته‬ ‫همچنین‬ ‫و‬ ‫ورودی‬
echo request
‫و‬ ‫ورودی‬
echo reply
‫کنیم‬ ‫فیلتر‬ ‫باید‬ ‫را‬ ‫خروجی‬
.
‫های‬ ‫پیام‬ ‫زیر‬ ‫دستور‬
echo request
‫های‬ ‫پیام‬ ‫و‬ ‫ورودی‬
echo reply
‫کند‬ ‫می‬ ‫فیلتر‬ ‫را‬ ‫خروجی‬
.
iptables -A INPUT -p icmp icmp-type 8
– -s 0/0 -d 192.168.1.4 -m state state NEW,ESTABLISHED -j DROP
–
iptables -A OUTPUT -p icmp icmp-type 0
– s 192.168.1.3 -d 0/0 -m state state ESTABLISHED -j DROP
– –
‫سوئیچ‬
p
-
‫در‬ ‫پروتکل‬ ‫تعیین‬ ‫برای‬
iptables
‫مقادیر‬ ‫از‬ ‫یکی‬ ‫که‬ ‫شود‬ ‫می‬ ‫استفاده‬
TCP,UDP
‫و‬
ICMP
‫بگیرد‬ ‫تواند‬ ‫می‬ ‫را‬
.
‫سوئیچ‬ ‫جلوی‬ ‫در‬ ‫همچنین‬
icmp-type
–
‫عدد‬ ‫دو‬ ‫از‬
0
‫و‬
8
‫کنید‬ ‫استفاده‬ ‫آنها‬ ‫حروفی‬ ‫معادل‬ ‫از‬ ‫عدد‬ ‫بجای‬ ‫توانید‬ ‫می‬ ‫و‬ ‫اند‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫بال‬ ‫جدول‬ ‫در‬ ‫که‬ ‫شده‬ ‫استفاده‬
.
0/0
‫شبکه‬ ‫درون‬ ‫آدرسی‬ ‫هر‬ ‫از‬ ‫یعنی‬
.
‫های‬ ‫موردپیام‬ ‫در‬ ‫زیر‬ ‫دستور‬
echo request
‫و‬
echo reply
‫باشد‬ ‫می‬ ‫بال‬ ‫دستور‬ ‫عکس‬
.
iptables -A OUTPUT -p icmp icmp-type 8
– -s 192.168.1.3 -d 0/0 -m state state NEW,ESTABLISHED -j DROP
–
iptables -A INPUT -p icmp icmp-type 0
– -s 0/0 -d 192.168.1.4 -m state state ESTABLISHED -j DROP
–
4
‫شود‬ ‫می‬ ‫اجرا‬ ‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫فایروال‬ ‫بعنوان‬ ‫که‬ ‫ماشینی‬ ‫در‬ ‫بال‬ ‫خط‬
)
‫هستند‬ ‫مشخص‬ ‫مقصد‬ ‫و‬ ‫مبدا‬ ‫های‬ ‫ماشین‬
.(
‫ماشین‬ ‫خواهید‬ ‫می‬ ‫ای‬ ‫شبکه‬ ‫در‬ ‫کنید‬ ‫فرض‬
192.168.1.4
‫ماشین‬ ‫از‬ ‫فقط‬ ‫و‬ ‫فقط‬
192.168.1.3
‫دستور‬
ping
‫آدرس‬ ‫به‬ ‫ماشینی‬ ‫روی‬ ‫وقتی‬ ‫یعنی‬ ‫شود‬
192.168.1.5
‫دستور‬
ping 192.168.1.4
‫جلوی‬ ‫کنیم‬ ‫اجرا‬ ‫را‬
ping
‫کردن‬
‫ماشین‬ ‫از‬ ‫ولی‬ ‫شود‬ ‫گرفته‬
192.168.1.3
‫دستور‬ ‫بتوانیم‬
ping 192.168.1.4
‫کنیم‬ ‫راددریافت‬ ‫پاسخ‬ ‫و‬ ‫انجام‬ ‫را‬
.
‫باید‬ ‫اینکار‬ ‫برای‬
4
‫آدرس‬ ‫با‬ ‫ماشین‬ ‫در‬ ‫را‬ ‫زیر‬ ‫خط‬
192.168.1.4
‫بنویسیم‬
.
iptables -A INPUT -p icmp icmp-type 8
– -s 192.168.1.3 -m state state NEW,ESTABLISHED -j
– ACCESS
iptables -A OUTPUT -p icmp icmp-type 0
– s 192.168.1.3
– -m state state ESTABLISHED -j
– ACCESS
iptables -A OUTPUT -p icmp icmp-type 8
– -s 192.168.1.3 -m state state NEW,ESTABLISHED -j
– ACCESS
iptables -A INPUT -p icmp icmp-type 0
– -s 192.168.1.3 -m state state ESTABLISHED -j
– ACCESS
‫که‬ ‫فرضی‬ ‫پیش‬ ‫فایل‬
iptables
‫کند‬ ‫می‬ ‫استفاده‬ ‫قوانین‬ ‫سازی‬ ‫ذخیره‬ ‫برای‬ ‫آن‬ ‫از‬
etc/sysconfig/iptables
‫بسته‬ ‫بر‬ ‫که‬ ‫هستند‬ ‫قوانین‬ ‫ای‬ ‫مجموعه‬ ‫ها‬ ‫فایروال‬ .‫است‬ /
.‫دارند‬ ‫نظارت‬ ‫سیستم‬ ‫دو‬ ‫مابین‬ ‫ارسالی‬ ‫های‬
‫دستور‬ ‫از‬ ‫استفاده‬ ‫مثال‬ ‫یک‬
iptables
.‫است‬ ‫زیر‬ ‫بصورت‬
iptables -A chain -j target
‫در‬
iptables
: ‫است‬ ‫زیر‬ ‫شده‬ ‫تعریف‬ ‫قبل‬ ‫از‬ ‫جدول‬ ‫سه‬
•
filter
‫سوئیچ‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫است‬ ‫فرض‬ ‫پیش‬ ‫جدول‬ .‫ارسالی‬ ‫های‬ ‫بسته‬ ‫بر‬ ‫کردن‬ ‫محدود‬ ‫و‬ ‫کنترل‬ ‫برای‬ :
t
‫دستور‬ ‫از‬ -
iptables
‫می‬ ‫تعیین‬ ‫را‬ ‫جدول‬
‫سوئیچ‬ ‫اگر‬ .‫کنیم‬
t
‫جدول‬ ‫فرض‬ ‫پیش‬ ‫بصورت‬ ،‫نشود‬ ‫استفاده‬ ‫جدول‬ ‫تعیین‬ ‫برای‬ -
filter
.‫شود‬ ‫می‬ ‫تعیین‬
•
nat
‫سازی‬ ‫پیاده‬ ‫برای‬ :
nat
•
mangle
‫یا‬ ‫گذاری‬ ‫نشانه‬ ‫برای‬ :
mangling
.‫شبکه‬ ‫در‬ ‫بسته‬ ‫یک‬ ‫کردن‬
iptables
‫قالب‬ ‫در‬ ‫که‬ ‫قوانین‬ ‫از‬ ‫ای‬ ‫مجموعه‬
chain
‫چند‬ ‫یا‬ ‫یک‬ ‫شامل‬ ‫زنجیر‬ ‫هر‬ .‫شوند‬ ‫می‬ ‫سازی‬ ‫پیاده‬ ‫ها‬
Rule
‫ا‬ÙÙ‫ی‬ ‫جدول‬ ‫قالب‬ ‫در‬ ‫ها‬ ‫زنجیره‬ .‫است‬ ‫قانون‬ ‫یا‬
Table
‫توان‬ ‫نمی‬ ‫که‬ ‫کنید‬ ‫توجه‬ .‫هستند‬ ‫زیر‬ ‫های‬ ‫زنجیر‬ ‫دارای‬ ‫شده‬ ‫گفته‬ ‫فرض‬ ‫پیش‬ ‫جدول‬ ‫سه‬ .‫است‬ ‫شده‬ ‫تشکیل‬ ‫زنجیره‬ ‫تعدادی‬ ‫از‬ ‫جدول‬ ‫هر‬ .‫شوند‬ ‫می‬ ‫بندی‬ ‫دسته‬ ‫ها‬
‫ساختار‬ .‫کرد‬ ‫پاک‬ ‫را‬ ‫فرض‬ ‫پیش‬ ‫های‬ ‫زنجیره‬ ‫و‬ ‫جدول‬
iptables
.‫است‬ ‫زیر‬ ‫بصورت‬
iptables -> Tables -> Chains -> Rules
)
33
(
‫جدول‬ ‫های‬ ‫زنجیره‬
filter
•
INPUT
.‫شود‬ ‫می‬ ‫استفاده‬ ‫مقصد‬ ‫یک‬ ‫از‬ ‫سیستم‬ ‫به‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫برای‬ :
•
OUTPUT
.‫شود‬ ‫می‬ ‫استفاده‬ ‫مقصد‬ ‫یک‬ ‫به‬ ‫سیستم‬ ‫از‬ ‫خروجی‬ ‫های‬ ‫بسته‬ ‫برای‬ :
•
FORWARD
‫واسطه‬ ‫به‬ ‫ها‬ ‫بسته‬ ‫ارسال‬ ‫برای‬ :
NAT
.‫شود‬ ‫می‬ ‫استفاده‬
‫جدول‬ ‫های‬ ‫زنجیره‬
nat
•
PREROUTING
‫از‬ ‫پیش‬ :
Routing
‫آدرس‬ ‫توان‬ ‫می‬ ‫رسد‬ ‫می‬ ‫محلی‬ ‫ماشین‬ ‫یک‬ ‫از‬ ‫بسته‬ ‫یک‬ ‫که‬ ‫زمانی‬ .‫دهد‬ ‫می‬ ‫تغییر‬ ‫را‬ ‫آنها‬ ‫ها‬ ‫بسته‬ (‫)مسیریابی‬
‫در‬ ‫معمولن‬ ‫که‬ ‫داد‬ ‫تغییر‬ ‫را‬ ‫مقصد‬
DNAT
.‫شوند‬ ‫می‬ ‫استفاده‬
•
OUTPUT
‫زنجیره‬ ‫در‬ ‫قانون‬ ‫که‬ ‫)ماشین‬ ‫محلی‬ ‫ماشین‬ ‫در‬ ‫شده‬ ‫تولید‬ ‫های‬ ‫بسته‬ :
OUTPUT
.‫دهد‬ ‫می‬ ‫تغییر‬ ‫ارسال‬ ‫از‬ ‫پیش‬ (‫شده‬ ‫تعریف‬ ‫آن‬ ‫در‬
•
POSTROUTING
‫از‬ ‫پس‬ :
Routing
‫که‬ ‫سیستمی‬ ‫)منظو‬ .‫کند‬ ‫می‬ ‫ترک‬ ‫را‬ ‫سیستم‬ ‫بسته‬ ‫که‬ ‫زمانی‬ ‫مانند‬ .‫دهد‬ ‫می‬ ‫تغییر‬ ‫آنرا‬ ،‫بسته‬
NAT
‫آن‬ ‫روی‬
.(‫دارد‬ ‫قرار‬
‫جدول‬ ‫های‬ ‫زنجیره‬
mangle
•
PREROUTING
•
OUTPUT
•
FORWARD
•
INPUT
•
POSTROUTIN
‫سوئیج‬
A
‫برای‬ -
Append
‫از‬ ‫پس‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫جدول‬ ‫انتهای‬ ‫به‬ ‫قانون‬ ‫کردن‬
Append
‫ام‬ÙÙ‫هنگ‬ ‫ه‬ÙÙ‫ب‬ ‫و‬ ‫شده‬ ‫اضافه‬ ‫جدول‬ ‫در‬ ‫قوانین‬ ‫لیست‬ ‫انتهای‬ ‫به‬ ‫قانون‬ ‫کردن‬
‫سوئیچ‬ .‫شود‬ ‫می‬ ‫خوانده‬ ‫پایین‬ ‫به‬ ‫بال‬ ‫از‬ ‫لیست‬ ‫این‬ ‫بسته‬ ‫یک‬ ‫ورود‬
j
‫تعیین‬ ‫برای‬ -
target
‫برای‬
Rule
‫سه‬ .‫شود‬ ‫می‬ ‫استفاده‬
target
‫در‬ ‫زیر‬
iptables
: ‫دارد‬ ‫وجود‬
•
ACCEPT
.‫کند‬ ‫می‬ ‫قبول‬ ‫آنرا‬ ‫فایروال‬ ،‫کند‬ ‫پیدا‬ ‫تطلبیق‬ ‫قانونی‬ ‫با‬ ‫بسته‬ ‫اگر‬ .‫کند‬ ‫می‬ ‫دریافت‬ ‫را‬ ‫بسته‬ :
•
DROP
.‫اندازد‬ ‫می‬ ‫بیرون‬ ‫را‬ ‫بسته‬ ‫آن‬ ‫مبدا‬ ‫به‬ ‫پیغامی‬ ‫هیچ‬ ‫بدون‬ ‫فایروال‬ ،‫کند‬ ‫پیدا‬ ‫تطبیق‬ ‫قانون‬ ‫با‬ ‫ای‬ ‫بسته‬ ‫اگر‬ :
•
REJECT
‫مانند‬ :
DROP
.‫کند‬ ‫می‬ ‫ارسال‬ ‫بسته‬ ‫فرستنده‬ ‫به‬ ‫خطا‬ ‫پیغام‬ ‫یک‬ ‫ولی‬ ‫اندازد‬ ‫می‬ ‫بیرون‬ ‫را‬ ‫بسته‬
‫پراستفاده‬ ‫های‬ ‫سوئیچ‬
A
‫برای‬ : -
Append
‫سوئیچ‬ ‫با‬ ‫شده‬ ‫تعیین‬ ‫جدول‬ ‫در‬ ‫زنجیره‬ ‫انتهای‬ ‫به‬ ‫قانون‬ ‫یک‬ ‫کردن‬
t
-
D
.‫بنویسید‬ ‫شدن‬ ‫پاک‬ ‫برای‬ ‫را‬ ‫کردید‬ ‫اضافه‬ ‫زنجیره‬ ‫به‬ ‫که‬ ‫قانونی‬ ‫خط‬ ‫همان‬ ‫عینن‬ ‫باید‬ .‫دارد‬ ‫وجود‬ ‫آن‬ ‫در‬ ‫قانون‬ ‫که‬ ‫ای‬ ‫زنجیره‬ ‫از‬ ‫قانون‬ ‫یک‬ ‫حذف‬ ‫برای‬ : -
I
‫برای‬ : -
Insert
.‫شود‬ ‫می‬ ‫استفاده‬ ‫زنجیره‬ ‫به‬ ‫قانون‬ ‫کردن‬
R
‫برای‬ : -
Replace
.‫شود‬ ‫می‬ ‫استفاده‬ ‫زنجیره‬ ‫به‬ ‫قانون‬ ‫کردن‬
L
.‫شود‬ ‫می‬ ‫استفاده‬ ‫زنجیره‬ ‫تمامی‬ ‫یا‬ ‫خاص‬ ‫زنجیره‬ ‫یک‬ ‫های‬ ‫قانون‬ ‫کردن‬ ‫لیست‬ ‫برای‬ : -
iptables -L CHAIN_NAME
iptables -L CHAIN_NAME -t TABLE_NAME
‫زنجیره‬ ‫در‬ ‫شده‬ ‫تعریف‬ ‫قوانین‬ ‫تمامی‬ ‫زیر‬ ‫مثال‬
INPUT
‫جدول‬ ‫از‬
filter
.‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬
iptables -L INPUT -t filter
: ‫خروجی‬
)
34
(
‫خط‬ ‫در‬ ‫مثال‬ ‫بطور‬
icmp
‫از‬ ‫منظور‬ .‫است‬ ‫شده‬ ‫داده‬ ‫مقصدی‬ ‫هر‬ ‫به‬ ‫منبعی‬ ‫هر‬ ‫از‬ ‫ها‬ ‫بسته‬ ‫ارسال‬ ‫اجازه‬
anywhere
‫که‬ ‫ماشینی‬ ‫روی‬ ‫شبکه‬ ‫کارت‬ ‫چندین‬ ‫شاید‬ ‫اینکه‬ ‫مقصد‬ ‫در‬
‫جداول‬ ‫های‬ ‫زنجیره‬ ‫تمامی‬ ‫در‬ ‫شده‬ ‫تعریف‬ ‫قوانین‬ ‫فهرست‬ ‫زیر‬ ‫های‬ ‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫باشد‬ ‫داشته‬ ‫وجود‬ ‫شده‬ ‫تنظیم‬ ‫فایروالش‬
filter,nat
‫و‬
mangle
:‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬
iptables -t filter -L
iptables -t nat -L
iptables -t mangle -L
N
‫یا‬ ‫زنجیره‬ ‫یک‬ ‫تعیین‬ ‫برای‬ : -
Chain
.‫شود‬ ‫می‬ ‫استفاده‬ ‫جدید‬
‫دستور‬ ‫های‬ ‫سوئیچ‬ ‫از‬ ‫بیشتر‬ ‫اطلع‬ ‫برای‬
iptables
.‫کنید‬ ‫اجرا‬ ‫فرمان‬ ‫خط‬ ‫در‬ ‫را‬ ‫زیر‬ ‫دستور‬
iptables -h
‫سوئیچ‬ ‫با‬ ‫همچنین‬
V
‫نسخه‬ -
iptables
.‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬
iptables -V
iptables v1.4.7
.‫است‬ ‫بزرگ‬ ‫حروف‬ ‫با‬ ‫فرض‬ ‫پیش‬ ‫های‬ ‫زنجیره‬ ‫نام‬ ‫و‬ ‫کوچک‬ ‫حروف‬ ‫با‬ ‫فرض‬ ‫پیش‬ ‫جدول‬ ‫سه‬ ‫نام‬ ‫که‬ ‫کنید‬ ‫دقت‬
iptables
‫جز‬ ‫به‬ ‫ها‬ ‫سوئیچ‬ ‫تمامی‬ ‫همچنین‬ .‫است‬ ‫حساس‬ ‫ها‬ ‫نام‬ ‫بزرگی‬ ‫و‬ ‫کوچکی‬ ‫به‬
j
‫و‬ -
t
.‫هستند‬ ‫بزرگ‬ ‫حروف‬ ‫با‬ -
)
35
(
‫برای‬ ‫فایروال‬ ‫کاربرد‬ ‫ترین‬ ‫اصلی‬
Packet Filtering
‫در‬ ‫که‬ ‫است‬
iptables
‫جدول‬ ‫توسط‬
filter
‫یعنی‬ ‫آن‬ ‫زنجیره‬ ‫سه‬ ‫و‬
INPUT,OUTPUT
‫و‬
FORWARD
‫انجام‬
‫از‬ ‫استفاده‬ ‫کلی‬ ‫شکل‬ .‫شود‬ ‫می‬
iptables
‫در‬ ‫اصلی‬ ‫جدول‬ ‫سه‬ ‫نام‬ ‫که‬ ‫کنید‬ ‫توجه‬ .‫است‬ ‫زیر‬ ‫های‬ ‫صورت‬ ‫از‬ ‫یکی‬ ‫به‬
iptables
‫آن‬ ‫های‬ ‫زنجیره‬ ‫نام‬ ‫و‬ ‫کوچک‬ ‫حروف‬ ‫با‬
.‫شوند‬ ‫می‬ ‫نوشته‬ ‫بزرگ‬ ‫حروف‬ ‫با‬
iptables [-t table] {-A|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
]
iptables [-t table] -S [chain] [rulenum
]
iptables [-t table] {-F|-L|-Z} [chain] [rulenum] [options
iptables [-t table] -N chain
]
iptables [-t table] -X [chain
iptables [-t table] -P chain target
iptables [-t table] -E old-chain-name new-chain-name
‫دارای‬ ‫زنجیره‬ ‫هر‬
Policy
‫را‬ ‫ها‬ ‫بسته‬ ‫تمامی‬ ‫فرض‬ ‫پیش‬ ‫بصورت‬ ‫یا‬ ‫که‬ ‫است‬ ‫فرضی‬ ‫پیش‬ ‫سیاست‬ ‫یا‬
ACCEPT
‫ا‬Ù
Ù‫ی‬ ‫وانین‬Ù
Ù‫ق‬ ‫ق‬Ù
Ù‫طب‬ ‫و‬ ‫د‬Ù
Ù‫کن‬ ‫ی‬Ù
Ù‫م‬
Rule
‫را‬ ‫ه‬Ù
Ù‫بقی‬ ‫ایی‬Ù
Ù‫ه‬
DROP
،‫باشد‬ ‫نداشته‬ ‫تطبیق‬ ‫جدول‬ ‫درون‬ ‫زنجیره‬ ‫قوانین‬ ‫از‬ ‫یکی‬ ‫با‬ ‫و‬ ‫شود‬ ‫وارد‬ ‫ای‬ ‫بسته‬ ‫اگر‬ ‫یعنی‬ ‫این‬ .‫کند‬ ‫می‬
ACCEPT
‫زنجیره‬ ‫قوانین‬ ‫از‬ ‫یکی‬ ‫با‬ ‫اگر‬ ‫و‬ ‫شود‬ ‫می‬
،‫باشد‬ ‫داشته‬ ‫تطببق‬
DROP
‫رض‬Ù
Ù‫ف‬ ‫ش‬Ù
Ù‫پی‬ ‫بصورت‬ ‫ها‬ ‫بسته‬ ‫همه‬ ‫اینکه‬ ‫سیاست‬ ‫حالت‬ ‫دومین‬ .‫شود‬ ‫می‬
DROP
‫ا‬Ù
Ù‫ی‬ ‫وانین‬Ù
Ù‫ق‬ ‫ق‬Ù
Ù‫طب‬ ‫و‬ ‫وند‬Ù
Ù‫ش‬ ‫ی‬Ù
Ù‫م‬
Rule
‫ه‬Ù
Ù‫بقی‬ ‫ایی‬Ù
Ù‫ه‬
ACCEPT
،‫باشد‬ ‫نداشته‬ ‫تطبیق‬ ‫جدول‬ ‫درون‬ ‫زنجیره‬ ‫قوانین‬ ‫از‬ ‫یکی‬ ‫با‬ ‫و‬ ‫شود‬ ‫وارد‬ ‫ای‬ ‫بسته‬ ‫اگر‬ ‫یعنی‬ ‫این‬ .‫شوند‬ ‫می‬
DROP
‫وانین‬Ù
Ù‫ق‬ ‫از‬ ‫ی‬Ù
Ù‫یک‬ ‫ا‬Ù
Ù‫ب‬ ‫ر‬Ù
Ù‫اگ‬ ‫و‬ ‫ود‬Ù
Ù‫ش‬ ‫ی‬Ù
Ù‫م‬
،‫باشد‬ ‫داشته‬ ‫تطبیق‬ ‫زنجیره‬
ACCEPT
‫مشاهده‬ ‫برای‬ .‫شود‬ ‫می‬
Policy
.‫کنید‬ ‫استفاده‬ ‫زیر‬ ‫فرمت‬ ‫از‬ ‫جدول‬ ‫زنجیره‬ ‫هر‬ ‫های‬
iptables -L -t TABLE_NAME
‫جدول‬ ‫زنجیره‬ ‫هر‬ ‫فرض‬ ‫پیش‬ ‫های‬ ‫ساسیت‬ ‫توانید‬ ‫می‬ ‫زیر‬ ‫دستور‬ ‫خروجی‬ ‫در‬ ‫مثال‬ ‫بطور‬
filter
.‫ببنید‬ ‫را‬
iptables -L -t filter
)
36
(
،‫جدول‬ ‫زنجیره‬ ‫سه‬ ‫هر‬ ‫برای‬ ‫شده‬ ‫تعیین‬ ‫فرض‬ ‫پیش‬ ‫های‬ ‫سیاست‬
ACCEPT
‫زنجیره‬ ‫همچنین‬ ،(‫رنگ‬ ‫قرمز‬ ‫های‬ ‫است)قسمت‬ ‫شده‬ ‫تعیین‬
OUTPUT
‫بدون‬
Rule
‫سوئیچ‬ ‫توسط‬ ‫جدول‬ ‫یک‬ ‫از‬ ‫زنجیره‬ ‫یک‬ ‫برای‬ ‫را‬ ‫فرض‬ ‫پیش‬ ‫سیاست‬ ‫توان‬ ‫می‬ ‫زیر‬ ‫کلی‬ ‫فرمت‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫است‬
P
‫کنید‬ ‫دقت‬ .‫داد‬ ‫تغییر‬ ‫و‬ ‫تعیین‬ -
P
.‫است‬ ‫بزرگ‬
‫سوئیچ‬ ‫از‬
P
‫توسط‬ ‫جدول‬ ‫نام‬ ‫اگر‬ ‫کنید‬ ‫دقت‬ .‫است‬ ‫زیر‬ ‫بصورت‬ ‫جدول‬ ‫زنجیره‬ ‫هر‬ ‫برای‬ ‫سیاست‬ ‫تغییر‬ ‫کلی‬ ‫شکل‬ .‫کرد‬ ‫استفاده‬ ‫فرض‬ ‫پیش‬ ‫سیاست‬ ‫تغییر‬ ‫برای‬ -
‫سوئیچ‬
t
‫جدول‬ ‫فرض‬ ‫پیش‬ ‫بصورت‬ ‫نشود‬ ‫تعیین‬ -
filter
.‫شود‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬
iptables -t TABLE_NAME -P CHAIN_NAME TARGET
،‫ها‬ ‫زنجیره‬ ‫برای‬ ‫فرض‬ ‫پیش‬ ‫سیاست‬ ‫زیر‬ ‫دستور‬ ‫سه‬ ‫در‬ ‫مثال‬ ‫بطور‬
DROP
‫سئیچ‬ ‫با‬ ‫چون‬ .‫شود‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬
t
‫رض‬Ù
Ù‫ف‬ ‫ش‬Ù
Ù‫پی‬ ‫ورت‬Ù
Ù‫بص‬ ،‫نشده‬ ‫تعیین‬ ‫جدول‬ ‫نام‬ -
‫جدول‬
filter
‫سه‬ ‫بین‬ ‫از‬ ‫همچنین‬ .‫شود‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬
target
) ‫موجود‬
ACCEPT,DROP,REJECT
‫ط‬Ù
Ù‫فق‬ (
ACCEPT
‫و‬
DROP
‫ش‬Ù
Ù‫پی‬ ‫ای‬Ù
Ù‫ه‬ ‫ت‬Ù
Ù‫سیاس‬ ‫رای‬Ù
Ù‫ب‬
.‫شوند‬ ‫می‬ ‫استفاده‬ ‫فرض‬
TARGET
‫با‬ ‫تطبیق‬ ‫صورت‬ ‫در‬ ‫بسته‬ ‫قبال‬ ‫در‬ ‫که‬ ‫است‬ ‫عملی‬
Rule
‫هنگام‬ ‫و‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫آن‬ ‫روی‬
‫نوشتن‬
Rules
‫سوئیچ‬ ‫با‬
j
‫می‬ ‫تعیین‬ -
.(‫بخوانید‬ ‫را‬ ‫دوم‬ ‫بخش‬ ) ‫شود‬
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
‫ورودی‬ ‫های‬ ‫بسته‬ ‫خواهید‬ ‫می‬ ‫کنید‬ ‫فرض‬
ssh
‫خاص‬ ‫ماشین‬ ‫یک‬ ‫جز‬ ‫به‬ ‫شبکه‬ ‫کل‬ ‫برای‬ ‫را‬
DROP
‫قانون‬ ‫اگر‬ .‫کنید‬
DROP
‫د‬Ù
Ù‫مانن‬ ‫بکه‬Ù
Ù‫ش‬ ‫ل‬Ù
Ù‫ک‬ ‫ای‬Ù
Ù‫ه‬ ‫ته‬Ù
Ù‫بس‬ ‫کردن‬
192.168.149.0/24
‫آدرس‬ ‫با‬ ‫ماشینی‬ ‫بسته‬ ‫که‬ ‫بنویسید‬ ‫قانونی‬ ‫سپس‬ ‫و‬ ‫بنویسید‬ ‫را‬
192.168.149.100/24
‫انون‬ÙÙ‫ق‬ ‫ونکه‬Ù
Ù‫چ‬ ‫افتد‬ ‫نمی‬ ‫اتفاقی‬ ‫چنین‬ ،‫کند‬ ‫قبول‬ ‫را‬
DROP
‫ماشین‬ ‫از‬ ‫پیش‬ ‫شبکه‬ ‫های‬ ‫ماشین‬ ‫کل‬ ‫های‬ ‫بسته‬ ‫برای‬ ‫کردن‬
192.168.149.100/24
‫انون‬Ù
Ù‫ق‬ ‫د‬Ù
Ù‫بای‬ ‫پس‬ .‫است‬ ‫شده‬ ‫نوشته‬
ACCEPT
‫ای‬Ù
Ù‫ه‬ ‫ته‬Ù
Ù‫بس‬ ‫ردن‬Ù
Ù‫ک‬
‫ماشین‬
192.168.149.100/24
‫قانون‬ ‫از‬ ‫پیش‬ ‫را‬
DROP
‫تمامی‬ .‫نوشت‬ ‫شبکه‬ ‫های‬ ‫بسته‬ ‫کل‬ ‫کردن‬
Rule
‫فایل‬ ‫در‬ ‫ها‬
etc/sysconfig/iptables
‫و‬ ‫شوند‬ ‫می‬ ‫نوشته‬ /
iptables
‫دادن‬ ‫قرار‬ ‫پس‬ ،‫خواند‬ ‫می‬ ‫ترتیب‬ ‫به‬ ‫را‬ ‫فایل‬ ‫این‬ ‫محتوای‬ ‫انتها‬ ‫تا‬ ‫ابتدا‬ ‫از‬
Rule
.‫دارد‬ ‫اهمیت‬ ‫بسیار‬ ‫مناسب‬ ‫جای‬ ‫در‬
‫مانند‬ ‫سرویس‬ ‫هر‬
ssh
‫پروتکل‬ ‫دو‬ ‫روی‬
tcp
‫و‬
udp
‫در‬ .‫دهند‬ ‫انجام‬ ‫دهی‬ ‫سرویس‬ ‫توانند‬ ‫می‬
iptables
‫سوئیچ‬ ‫از‬ ‫استفاده‬ ‫با‬
p
‫که‬ -
p
‫وع‬Ù
Ù‫ن‬ ‫ن‬Ù
Ù‫تعیی‬ ‫برای‬ ‫است‬ ‫کوچیک‬
‫کلمه‬ ‫از‬ ‫توان‬ ‫می‬ ‫همچنین‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫نیز‬ ‫پروتکل‬
all
‫پروتکل‬ ‫هردو‬ ‫تعیین‬ ‫برای‬
tcp
‫و‬
udp
‫ای‬Ù
Ù‫ه‬ ‫وئیج‬Ù
Ù‫س‬ ‫از‬ ‫تفاده‬Ù
Ù‫اس‬ ‫با‬ ‫همچنن‬.‫کرد‬ ‫استفاده‬
dport
‫رای‬Ù
Ù‫ب‬ –
‫و‬ ‫مقصد‬ ‫پورت‬
sport
‫از‬ ‫تفاده‬Ù
Ù‫اس‬ ‫رای‬Ù
Ù‫ب‬ ‫د‬Ù
Ù‫کنی‬ ‫توجه‬ .‫بود‬ ‫خواهد‬ ‫زیر‬ ‫بصورت‬ ‫حالت‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫کلی‬ ‫شکل‬ .‫کرد‬ ‫تعیین‬ ‫نیز‬ ‫را‬ ‫ها‬ ‫پورت‬ ‫توان‬ ‫می‬ ،‫مبدا‬ ‫پورت‬ ‫برای‬ –
‫های‬ ‫سوئیچ‬
p
‫و‬ -
dport
‫و‬ –
sport
‫سوئیچ‬ ‫از‬ –
m
.‫کرد‬ ‫استفاده‬ -
iptables -t TABLE_NAME -A|-I CHAIN_NAME -m -p tcp|udp|all dport| sport
– – PORT_NUMBER -j
TARGET_NAME
‫های‬ ‫سوئیچ‬ ‫از‬ ‫توان‬ ‫می‬ ‫همچنین‬
s
‫و‬ -
d
‫یک‬ .‫کرد‬ ‫استفاده‬ ‫مقصد‬ ‫های‬ ‫آدرس‬ ‫و‬ ‫مبدا‬ ‫های‬ ‫آدرس‬ ‫تعیین‬ ‫برای‬ ‫ترتیب‬ ‫به‬ -
IP
) ‫ام‬Ù
Ù‫ن‬ ‫ک‬Ù
Ù‫ی‬ ‫یا‬
hostname
‫وان‬Ù
Ù‫ت‬ ‫ی‬Ù
Ù‫م‬ ‫را‬ (
)
37
(
‫یکبار‬ ‫آدرس‬ ‫هر‬ ‫برای‬ ‫باید‬ ‫و‬ ‫کرد‬ ‫استفاده‬ ‫ها‬ ‫سوئیچ‬ ‫این‬ ‫از‬ ‫آدرس‬ ‫چندین‬ ‫برای‬ ‫توان‬ ‫می‬ ‫همچنین‬ .‫کرد‬ ‫استفاده‬ ‫ها‬ ‫سوئیچ‬ ‫این‬ ‫مقدار‬ ‫بعنوان‬
Rule
.‫بنویسیم‬ ‫را‬
iptables -t TABLE_NAME -A|-I CHAIN_NAME -s|-d IP_ADDR|HOSTNAME -m -p tcp|udp|all dport| sport
– –
PORT_NUMBER -j TARGET_NAME
‫سوئیچ‬ ‫دو‬
i
‫مخفف‬ -
Input Interface
‫و‬
o
‫مخفف‬ -
Output Interface
‫وئیچ‬Ù
Ù‫س‬ ‫البته‬ .‫شوند‬ ‫می‬ ‫استفاده‬ ‫شبکه‬ ‫های‬ ‫اینترفیس‬ ‫تعیین‬ ‫برای‬
i
‫ورودی‬ ‫رای‬Ù
Ù‫ب‬ ‫ون‬Ù
Ù‫چ‬ -
‫های‬ ‫زنجیره‬ ‫در‬ ‫استفاده‬ ‫به‬ ‫مجاز‬ ‫تنها‬ ‫شود‬ ‫می‬ ‫استفاده‬
INPUT,FORWARD
‫و‬
PREROUTING
‫یوئیچ‬ ‫و‬ .‫است‬
o
‫ا‬Ù
Ù‫ب‬ ‫تنها‬ ،‫شود‬ ‫می‬ ‫استفاده‬ ‫خروجی‬ ‫برای‬ ‫چون‬ -
‫های‬ ‫زنجیره‬
FORWARD,OUTPUT
‫و‬
POSTROUTING
.‫هستند‬ ‫استفاده‬ ‫به‬ ‫مجاز‬
iptables -t TABLE_NAME -A|-I CHAIN_NAME -i|-o INTERFACE_NAME -s|-d IP_ADDR|HOSTNAME -m -p
tcp|udp|all dport| sport
– – PORT_NUMBER -j TARGET_NAME
‫سوئیج‬ ‫از‬ ‫استفاده‬ ‫با‬
A
‫یک‬ -
Rule
‫فایل‬ ‫انتهای‬ ‫به‬
etc/sysconfig/iptables
‫یا‬ ‫الحاق‬ /
APPEND
‫سوئیچ‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ولی‬ .‫شود‬ ‫می‬
I
‫یک‬ -
Rule
‫واه‬ÙÙ‫دلخ‬ ‫مکانی‬ ‫در‬
‫یا‬ ‫ذخیره‬ ‫فایل‬ ‫از‬
Insert
‫یک‬ ‫تا‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫زیر‬ ‫دستور‬ ،‫مثال‬ ‫برای‬ .‫شود‬ ‫می‬
Rule
.‫شود‬ ‫ذخیره‬ ‫فایل‬ ‫ابتدای‬ ‫در‬
iptables -I INPUT 1 -i lo -p all -j ACCEPT
‫سوئیچ‬ ‫از‬ ‫استفاده‬ ‫دلیل‬ ‫به‬ ‫بال‬ ‫مثال‬
I
‫مکان‬ ‫تعیین‬ ‫و‬ -
1
‫یک‬ ‫خاص‬
Rule
‫را‬ ‫ورودی‬ ‫اینترفیس‬ ‫همچنین‬ .‫کند‬ ‫می‬ ‫اضافه‬ ‫فایل‬ ‫ابتدای‬ ‫به‬
lo
‫ف‬Ù
Ù‫مخف‬
loopback
‫ر‬Ù
Ù‫ه‬ ‫و‬
‫پروتکل‬ ‫دو‬
tcp/udp
‫را‬
ACCEPT
.‫کند‬ ‫می‬
)
38
(
: ‫دوم‬ ‫فصل‬
‫گرافیکی‬ ‫های‬ ‫ابزار‬
netfilter
)
39
(
‫برای‬ ‫گرافیکی‬ ‫ابزارهای‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬
iptables
‫کرد‬ ‫خواهیم‬ ‫اشاره‬ ‫را‬
)
40
(
‫ابزار‬
fwbuilder
. ‫است‬ ‫گرافیکی‬ ‫ابزار‬ ‫یک‬
... ‫و‬ ‫میکروتیک‬ ، ‫سیسکو‬ ، ‫لینوکس‬/‫گنو‬ ‫فایروال‬ ‫برای‬ ‫میتوانید‬ ‫ابزار‬ ‫این‬ ‫با‬
rul
‫را‬ ‫ها‬ ‫رول‬ ‫یا‬ ‫بنویسید‬
import
‫کنید‬ ‫تحلیل‬ ‫و‬ ‫کنید‬
)
41
(
)
42
(
)
43
(
)
44
(
‫طریق‬ ‫از‬ ‫را‬ ‫اینترفیس‬ ‫نوع‬ ‫میتوانید‬ ‫شما‬ ‫که‬ ‫هست‬ ‫این‬ ‫داره‬ ‫ابزار‬ ‫این‬ ‫که‬ ‫جالبی‬ ‫نکته‬
snmp
. ‫دهید‬ ‫تشخیص‬
)
45
(
‫با‬ ‫میتونید‬ ‫شما‬ ‫باشد‬ ‫می‬ ‫آن‬ ‫ساختار‬ ‫درک‬ ‫و‬ ‫فایروال‬ ‫شناخت‬ ‫برای‬ ‫ای‬ ‫وحرفه‬ ‫خوب‬ ‫ابزار‬ ‫یک‬ ‫گفت‬ ‫میتوان‬ ‫کل‬ ‫در‬
iptable-save
‫رول‬
‫با‬ ‫و‬ ‫کنید‬ ‫ذخیره‬ ‫را‬ ‫هاتون‬
fwbuilder
. ‫کنید‬ ‫اعمال‬ ‫را‬ ‫خودتان‬ ‫تعغیرات‬ ‫و‬ ‫اکسپورت‬ ‫حتی‬ ‫و‬ ‫کنید‬ ‫امپورت‬
)
46
(
UFW Uncomplicated Firewall
–
:
UFW
‫فایروال‬ ‫پیچیدگی‬ ‫کاهش‬ ‫برای‬ ‫اساسا‬ ‫گزینه‬ ‫این‬ .‫اوبونتوست‬ ‫سرورهای‬ ‫برای‬ ‫فرض‬ ‫پیش‬ ‫فایروال‬
iptables
‫و‬ ‫است‬ ‫شده‬ ‫طراحی‬
.‫است‬ ‫موجود‬ ‫دبیان‬ ‫و‬ ‫اوبونتو‬ ‫سرورهای‬ ‫برای‬ ،‫فایروال‬ ‫این‬ ‫کاربری‬ ‫گرافیک‬ ‫رابط‬ .‫سازد‬ ‫می‬ ‫کاربرپسندتر‬ ‫را‬ ‫آن‬
: ‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬

‫از‬
IPV6
‫کند‬ ‫می‬ ‫پشتیبانی‬

‫های‬ ‫گزینه‬
Logging
‫امکانات‬ ‫با‬ ‫متعدد‬
on/off

‫کردن‬ ‫مانیتور‬
Status

‫پذیر‬ ‫توسعه‬ ‫ورک‬ ‫فریم‬

‫کرد‬ ‫ادغام‬ ‫ها‬ ‫اپلیکیشن‬ ‫با‬ ‫را‬ ‫آن‬ ‫توان‬ ‫می‬

‫شرکت‬ ‫نیازهای‬ ‫اساس‬ ‫بر‬ ‫قوانین‬ ‫نمودن‬ ‫اصلح‬ ‫و‬ ‫کردن‬ ‫حذف‬ /‫کردن‬ ‫اضافه‬
)
47
(
: ‫سوم‬ ‫فصل‬
‫کاربردی‬ ‫های‬ ‫مثال‬
)
48
(
‫فیلتر‬
url
‫با‬
iptables
:
iptables -A OUTPUT -p tcp -m string --string "google.com" --algo kmp -j REJECT
. ‫گردید‬ ‫خواهد‬ ‫تکمیل‬ ‫بعدی‬ ‫ورژن‬ ‫در‬ ‫فصل‬ ‫این‬
)
49
(
: ‫چهارم‬ ‫فصل‬
‫از‬ ‫که‬ ‫هایی‬ ‫ساختار‬ ‫و‬ ‫ها‬ ‫دوایس‬
netfilter
‫میکند‬ ‫استفاده‬
)
50
(
1
.
‫فایروال‬
IPCop
:
IPCop
‫تیم‬ .‫است‬ ‫باز‬ ‫متن‬ ‫لینوکسی‬ ‫های‬ ‫فایروال‬ ‫از‬ ‫یکی‬
IPCop
،‫امن‬ ،‫کاربرپسند‬ ‫مدیریت‬ ‫سیستم‬ ‫آوردن‬ ‫فراهم‬ ‫روی‬ ‫بر‬ ‫مداوم‬ ‫طور‬ ‫به‬
‫وکارهای‬ ‫کسب‬ ‫برای‬ ‫فایروال‬ ‫این‬ .‫سازد‬ ‫می‬ ‫تر‬ ‫ساده‬ ‫را‬ ‫آن‬ ‫مدیریت‬ ‫و‬ ‫شده‬ ‫طراحی‬ ‫خوبی‬ ‫به‬ ‫فایروال‬ ‫این‬ ‫وب‬ ‫رابط‬ .‫کنند‬ ‫می‬ ‫کار‬ ‫پایدار‬
‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫خود‬ ‫قدیمی‬ ‫رایانه‬ ‫توانید‬ ‫می‬ ‫شما‬ .‫بود‬ ‫خواهد‬ ‫مفید‬ ‫محلی‬ ‫های‬ ‫رایانه‬ ‫و‬ ‫کوچک‬
VPN
‫محیط‬ ‫تا‬ ‫کنید‬ ‫پیکربندی‬ ‫امن‬
.‫آورد‬ ‫فراهم‬ ‫کاربران‬ ‫برای‬ ‫بهتری‬ ‫تجربه‬ ‫تا‬ ‫کند‬ ‫می‬ ‫حفظ‬ ‫را‬ ‫است‬ ‫شده‬ ‫استفاده‬ ‫اخیرا‬ ‫که‬ ‫اطلعاتی‬ ‫گزینه‬ ‫این‬ .‫نمایید‬ ‫ایجاد‬ ‫را‬ ‫امنی‬
‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬
IPCop
:

‫برای‬ ‫را‬ ‫گرافیکی‬ ‫کارت‬ ‫عملکرد‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫فایروال‬ ‫این‬ ‫رنگی‬ ‫وب‬ ‫رابط‬
CPU
‫کنید‬ ‫مانیتور‬ ‫دیسک‬ ‫و‬ ‫حافظه‬ ،

‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫متعددی‬ ‫های‬ ‫زبان‬ ‫از‬

.‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫اسانی‬ ‫و‬ ‫امن‬ ‫بسیار‬ ‫ارتقاء‬
)
51
(
Shorewall
:
‫فایروال‬
Shorewall
‫برای‬ ‫باز‬ ‫متن‬ ‫های‬ ‫فایروال‬ ‫ترین‬ ‫محبوب‬ ‫از‬ ‫دیگر‬ ‫یکی‬
‫لینوکس‬
/
GNU
‫روی‬ ‫بر‬ ‫فایروال‬ ‫این‬ .‫است‬
‫سیستم‬
Netfilter
‫هسته‬ ‫در‬ ‫که‬ ‫ای‬
‫لینوکس‬
‫از‬ ‫و‬ ‫شده‬ ‫ایجاد‬ ‫است‬ ‫ساخت‬ ‫درون‬
IPV6
.‫کند‬ ‫می‬ ‫پشتیبانی‬
:‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬

‫ارتباط‬ ‫پیگیری‬ ‫امکانت‬ ‫از‬
Netfilter
.‫کند‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫بسته‬ ‫کردن‬ ‫فیلتر‬ ‫برای‬

/‫فایروال‬/‫روتر‬ ‫های‬ ‫اپلیکیشن‬ ‫از‬ ‫ای‬ ‫گسترده‬ ‫طیف‬ ‫از‬
Gateway
‫کند‬ ‫می‬ ‫پشتیبانی‬

‫دارد‬ ‫فایروال‬ ‫برای‬ ‫متمرکزی‬ ‫مدیریت‬

‫پنل‬ ‫کنترل‬ ‫با‬ ‫کاربری‬ ‫گرافیک‬ ‫رابط‬
Webmin
‫دارد‬

‫از‬
ISP
‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫متعددی‬ ‫های‬

‫و‬ ‫پورت‬ ‫فوروارد‬ ‫از‬
Masquerading
‫کند‬ ‫می‬ ‫پشتیبانی‬

‫از‬
VPN
.‫کند‬ ‫می‬ ‫استفاده‬
: ‫نکته‬
webmin
. ‫باشد‬ ‫می‬ ‫فایروال‬ ‫این‬ ‫مدیریت‬ ‫برای‬ ‫ماژولی‬ ‫دارای‬
)
52
(
)
53
(
Vuurmuur
:
Vuurmuur
‫کاربرپسند‬ ‫بسیار‬ ‫نیز‬ ‫ها‬ ‫ادمین‬ ‫برای‬ ‫گزینه‬ ‫این‬ .‫است‬ ‫شبکه‬ ‫یا‬ ‫سرور‬ ‫برای‬ ‫قدرتمند‬ ‫لینوکسی‬ ‫های‬ ‫فایروال‬ ‫از‬ ‫دیگر‬ ‫یکی‬
‫مورد‬ ‫در‬ ‫قبلی‬ ‫دانش‬ ‫نیازمند‬ ‫فایروال‬ ‫این‬ ‫با‬ ‫کردن‬ ‫کار‬ ‫برای‬ ‫ها‬ ‫ادمین‬ .‫است‬
iptables
.‫نیستند‬
:‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬

‫از‬ ‫پشتیبانی‬
IPV6

‫ترافیک‬ ‫به‬ ‫دهی‬ ‫شکل‬

‫پیشرفته‬ ‫مانیتورینگ‬ ‫های‬ ‫قابلیت‬

‫باند‬ ‫پهنای‬ ‫مصرف‬ ‫و‬ ‫ارتباط‬ ‫واقعی‬ ‫زمان‬ ‫مانیتورینگ‬

‫با‬ ‫آسان‬ ‫پیکربندی‬
NAT

‫قابلیت‬ ‫وجود‬
Anti-spoofing
)
54
(
)
55
(
)
56
(
1
.
IPFire
:
. ‫باشد‬ ‫می‬ ‫لینوکس‬ ‫بر‬ ‫مبتنی‬ ‫های‬ ‫فایروال‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫نیز‬ ‫گزینه‬ ‫این‬
IPFire
.‫دارد‬ ‫بالیی‬ ‫بسیار‬ ‫پذیری‬ ‫انعطاف‬
:‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬

‫یا‬ ‫سرور‬ ‫پروکسی‬ ،‫فایروال‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫آن‬ ‫توان‬ ‫می‬
VPN gateway
‫کرد‬ ‫پیکربندی‬

‫محتوا‬ ‫فیلتر‬

‫ساخت‬ ‫درون‬ ‫حمله‬ ‫تشخیص‬ ‫سیستم‬

‫گفتگوها‬ ‫و‬ ‫ها‬ ‫انجمن‬ ‫طریق‬ ‫از‬ ‫پشتیبانی‬

‫همچون‬ ‫هایپروایزرهایی‬ ‫از‬ ‫پشتیبانی‬
KVM، Vmware ، XEN
‫سازی‬ ‫مجازی‬ ‫های‬ ‫محیط‬ ‫برای‬
)
57
(
SmoothWall & SmoothWall Express
:
SmoothWall
‫عنوان‬ ‫با‬ ‫آن‬ ‫وب‬ ‫بر‬ ‫مبتنی‬ ‫رابط‬ .‫است‬ ‫پذیر‬ ‫انعطاف‬ ‫بسیار‬ ‫وب‬ ‫رابط‬ ‫با‬ ‫لینوکسی‬ ‫باز‬ ‫متن‬ ‫های‬ ‫فایروال‬ ‫از‬ ‫یکی‬
WAM
.‫است‬ ‫شده‬ ‫شناخته‬
:‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫ها‬ ‫قابلیت‬

‫از‬ ‫پشتیبانی‬
LAN، DMZ
‫سیم‬ ‫بی‬ ‫های‬ ‫شبکه‬ ‫و‬

‫محتوا‬ ‫واقعی‬ ‫زمان‬ ‫فیلتر‬

‫فیلترینگ‬
HTTPS

‫ها‬ ‫پروکسی‬ ‫از‬ ‫پشتیبانی‬

‫فایروال‬ ‫فعالیت‬ ‫مانیتور‬ ‫و‬ ‫لگ‬ ‫مشاهده‬

‫پی‬ ‫آی‬ ‫هر‬ ‫اساس‬ ‫بر‬ ‫ترافیک‬ ‫وضعیت‬ ‫مدیریت‬

‫بازیابی‬ ‫و‬ ‫آپ‬ ‫بک‬ ‫امکانات‬
)
58
(
… ‫دارد‬ ‫ادامه‬
)
59
(

More Related Content

PDF
PDF
Ossec و Wazuh
PPT
TCP IP description and layering in OSI model
PDF
Pdn tech-netfilter&iptables-ver2.1.0
PDF
Pdn tech-netfilter&iptables-ver2.1.0
PDF
PFSense Firewall
PDF
khazeni_taghizade
PDF
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
Ossec و Wazuh
TCP IP description and layering in OSI model
Pdn tech-netfilter&iptables-ver2.1.0
Pdn tech-netfilter&iptables-ver2.1.0
PFSense Firewall
khazeni_taghizade
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬

Similar to how use iptables (20)

PDF
انواع حملات در شبکه های کامپیوتری.pdf
PDF
Metasys Corporation
PDF
Chapter 04 - introduction to tcpip protocols
PPTX
تنظیم فایروال میکروتیک برای دسترسی سیستمها به اینترنت
PDF
how config Naxsi
PDF
A brief analysis of BGP hijacking
PPTX
تنظیم و پیکربندی مودم وایرلس برای دسترسی سیستمهای بی سیم به اینترنت
PPTX
تنظیم و پیکربندی مودم وایرلس برای دسترسی سیستمهای بی سیم به اینترنت
PDF
Chapter 12 - network security
PDF
Dns spoofing
PDF
Chapter 01 - Introduction to Network+
PDF
how enable ceph dashboard
PDF
Network-security muhibullah aman-first edition-in Persian
PDF
Ssh edition 2
PDF
Supervisor
PDF
Network management 2_sample
PDF
Zabbix monitoring website
PDF
nbd and it's benefits
انواع حملات در شبکه های کامپیوتری.pdf
Metasys Corporation
Chapter 04 - introduction to tcpip protocols
تنظیم فایروال میکروتیک برای دسترسی سیستمها به اینترنت
how config Naxsi
A brief analysis of BGP hijacking
تنظیم و پیکربندی مودم وایرلس برای دسترسی سیستمهای بی سیم به اینترنت
تنظیم و پیکربندی مودم وایرلس برای دسترسی سیستمهای بی سیم به اینترنت
Chapter 12 - network security
Dns spoofing
Chapter 01 - Introduction to Network+
how enable ceph dashboard
Network-security muhibullah aman-first edition-in Persian
Ssh edition 2
Supervisor
Network management 2_sample
Zabbix monitoring website
nbd and it's benefits
Ad

More from Yashar Esmaildokht (20)

PDF
ceph csi vs rook and its benefit and future
PDF
firewalling in linux and netfilter and iptables
PDF
the refrence of Oracle Database - The 0.4 release
PDF
The Refrence Of DevOps -The 0.5 release
PDF
Ceph RADOS Gateway (RGW) - s3 swift -object storage
PDF
oracle mysql/mariadb api -the connect engine
PDF
what is staging in database (oracle and mariadb |mysql)
PDF
devops and bcp (bussiness continues planning)
PDF
maxscale and spider engine for performance and security and clustering
PDF
DevOps reference - Devops metadologhy - devops technologhy
PDF
louad balancing vs api getway vs reverse proxy
PDF
Ceph: A Powerful, Scalable, and Flexible Storage Solution
PDF
how install and config sdn in proxmox virtualization
PDF
service registery and the service discovery
PDF
PDF
مرجع oracle mysql |mariadb
PDF
openstack designate
PDF
bcache and cachefs its benefits.
PDF
Systemd and its various uses and capabilities.
PDF
ceph csi vs rook and its benefit and future
firewalling in linux and netfilter and iptables
the refrence of Oracle Database - The 0.4 release
The Refrence Of DevOps -The 0.5 release
Ceph RADOS Gateway (RGW) - s3 swift -object storage
oracle mysql/mariadb api -the connect engine
what is staging in database (oracle and mariadb |mysql)
devops and bcp (bussiness continues planning)
maxscale and spider engine for performance and security and clustering
DevOps reference - Devops metadologhy - devops technologhy
louad balancing vs api getway vs reverse proxy
Ceph: A Powerful, Scalable, and Flexible Storage Solution
how install and config sdn in proxmox virtualization
service registery and the service discovery
مرجع oracle mysql |mariadb
openstack designate
bcache and cachefs its benefits.
Systemd and its various uses and capabilities.
Ad

how use iptables

  • 2. ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫مهندس‬ : ‫نویسنده‬ : ‫نسخه‬ ۰.3 ) 2 (
  • 3. : ‫نویسنده‬ ‫درباره‬ ‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬ cyber security . ‫هستم‬ ‫از‬ ‫بیش‬ ۱۵ . ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬ ‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬ gnu/linux system/network/security/cloud Engineer/administrator & oracle dba | Linux Trainer |devops . (: ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫علقه‬ . ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬ ‫تبریز‬ ‫لگ‬ ‫گذاران‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫لینوکس‬/‫گنو‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬ : ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬ Mob : 09141100257 Telegram ID Telegram channel Instagram Account Linkedin Account . ‫بشنوم‬ ‫را‬ ‫انتقادتون‬ ‫یا‬ ‫پیشنهاد‬ ‫هرگونه‬ ‫میشم‬ ‫خوشحال‬ ‫همچنین‬ : ‫کنید‬ ‫پیدا‬ ‫را‬ ‫من‬ ‫از‬ ‫ی‬ ‫دیگر‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫چطور‬ ‫توی‬ slideshare . ‫کنید‬ ‫پیدا‬ ‫را‬ ‫کردم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫که‬ ‫دیگری‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫بگردید‬ ‫من‬ ‫اسم‬ ‫دنبال‬ ‫گوگل‬ ‫یا‬ ) 3 (
  • 4. : ‫مشاوره‬ . ‫بود‬ ‫خواهم‬ ‫شما‬ ‫دسترس‬ ‫در‬ ‫من‬ . ‫فرمایید‬ ‫حاصل‬ ‫تماس‬ . ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫صفحه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫کانال‬ ‫از‬ ‫میتوانید‬ ‫مشاوره‬ ‫جهت‬ ) 4 (
  • 5. : ‫خواننده‬ ‫با‬ ‫سخنی‬ ‫کتاب‬ . ‫گرفتم‬ ‫تصمیم‬ ‫من‬ . ‫کرد‬ ‫منتشر‬ ‫مختلف‬ ‫های‬ ‫روش‬ ‫با‬ ‫رو‬ ‫اثر‬ ‫یک‬ ‫میشه‬ ‫و‬ . ‫هست‬ ‫وقت‬ ‫نیازمند‬ ‫ایجاد‬ ‫برای‬ ‫ساختاری‬ ‫هر‬ ‫چون‬ . ‫کنم‬ ‫دریافت‬ ‫حمایت‬ ‫و‬ ‫دانلود‬ ‫هزینه‬ ‫و‬ . ‫کنم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫مینویسم‬ ‫که‬ ‫هایی‬ ‫شاید‬ . ‫کنم‬ ‫چاپ‬ ‫را‬ ‫ها‬ ‫کتاب‬ ‫این‬ ‫اگر‬ ‫حقیقت‬ ‫در‬ . ‫است‬ ‫بهتر‬ ‫روش‬ ‫این‬ ‫بنظرم‬ . ‫کنیم‬ ‫ب‬ ‫حسا‬ … ‫و‬ ‫درختان‬ ‫قطعی‬ ‫و‬ … ‫و‬ ‫چاپ‬ ‫تا‬ ‫گرفتن‬ ‫مجوز‬ ‫زمان‬ ‫هرینه‬ ‫ولی‬ . ‫بیاد‬ ‫بدست‬ ‫بیشتری‬ ‫سود‬ . ‫بدن‬ ‫انجام‬ ‫خرید‬ ‫و‬ ‫کنن‬ ‫حمایت‬ ‫عزیزان‬ ‫امیدوارم‬ . ‫روش‬ ‫این‬ ‫با‬ ‫بیشتر‬ ‫های‬ ‫انتشار‬ ‫برای‬ ‫میشه‬ ‫دلگرمی‬ ‫باعث‬ ‫این‬ ‫که‬ . ‫هست‬ ‫باز‬ ‫متن‬ ‫توسعه‬ ‫من‬ ‫تلش‬ ‫دونیت‬ ) 5 (
  • 6. iptables ‫یک‬ ‫فایروال‬ ‫برای‬ ‫گنو‬ / ‫لینوکس‬ ‫است‬ . ‫است‬ ‫نصب‬ ‫فرض‬‫پیش‬ ‫بصورت‬ ‫لینوکس‬ ‫های‬‫توزیع‬ ‫بیشتر‬ ‫بروی‬ ‫که‬ . ‫سطح‬ ‫در‬ ‫سیاستی‬ ‫هر‬ ‫اجرای‬ ‫به‬ ‫قادر‬ ‫که‬ ‫است‬ ‫ابزاری‬ ‫نام‬ ‫تیبلز‬‫پی‬‫آی‬ ‫شود‬‫می‬ ‫مربوط‬ ‫ترانسفر‬ ‫لیه‬ ‫در‬ ‫آن‬ ‫حصر‬ ‫و‬ ‫حد‬ ‫بی‬ ‫انعطاف‬ ‫به‬ ،‫هسته‬ ‫سطح‬ ‫افزار‬‫نرم‬ ‫این‬ ‫اصلی‬ ‫محبوبیت‬ ‫و‬ ‫شهرت‬ ‫اما‬ ‫است‬ ‫شبکه‬ ‫بالتر‬ ‫و‬ ‫تر‬‫پایین‬ ‫های‬‫لیه‬ ‫حدودی‬ ‫تا‬ ‫و‬ ‫ترانسفر‬ ‫لیه‬ ‫ها‬‫بسته‬ ‫روتینگ‬ ‫از‬ ‫حرف‬ ‫که‬ ‫آنجا‬ ) Packets ( ‫است‬ ‫آنها‬ ‫وضعیت‬ ‫و‬ . Iptables ‫تیم‬ ‫توسط‬ netfilter ‫شد‬ ‫طراحی‬ . ‫نام‬ ‫به‬ ،‫آن‬ ‫طراحی‬ ‫ای‬‫زنجیره‬ ‫ساختار‬ ‫علت‬ ‫به‬ ‫ابتدا‬ ‫در‬ ipchain ‫نام‬ ‫بعدها‬ ‫اما‬ ‫یافت‬ ‫شهرت‬ iptables ‫شد‬ ‫گذاشته‬ ‫آن‬ ‫بر‬ . ‫این‬ ‫آتش‬ ‫دیوار‬ ) Firewall ( ‫شد‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫مانندی‬ ‫ماژول‬ ‫های‬‫قسمت‬ ‫زمان‬ ‫مرور‬ ‫به‬ ‫اما‬ ‫کند‬ ‫اعمال‬ ‫ورودی‬ ‫های‬‫بسته‬ ‫روی‬ ‫فقط‬ ‫محدودی‬ ‫بسیار‬ ‫های‬‫سیاست‬ ‫توانست‬‫می‬ ‫تنها‬ ‫ابتدا‬ ‫در‬ . ) 6 (
  • 7. ‫محلی‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫در‬ .‫شود‬‫می‬ ‫استفاده‬ ‫آتش‬ ‫دیواره‬ ‫از‬ ‫نیازها‬ ‫از‬ ‫بسیاری‬ ‫رفع‬ ‫و‬ ‫ترافیک‬ ‫کنترل‬ ،‫امنیت‬ ‫برقراری‬ ،‫شبکه‬ ‫آدرس‬ ‫ی‬‫ترجمه‬ ،‫بهتر‬ ‫مدیریت‬ ،‫حفاظت‬ ‫برای‬ ،‫لینوکس‬ ‫عامل‬‫سیستم‬ ‫آتش‬ ‫دیواره‬ IPTables ‫ساختار‬ ‫معرفی‬ ‫به‬ ‫ابتدا‬ ،‫مقاله‬ ‫این‬ ‫در‬ .‫است‬ IPTables ‫و‬ ‫ها‬‫قانون‬ ،‫ها‬‫زنجیره‬ ،‫ها‬‫جدول‬ ‫از‬ ‫ساختار‬ ‫این‬ .‫پردازیم‬‫می‬ .‫است‬ ‫شده‬ ‫تشکیل‬ ‫ها‬‫انطباق‬ IPTables ‫انطباق‬ ‫تعدادی‬ ‫از‬ ‫قانون‬ ‫هر‬ ‫و‬ ‫قانون‬ ‫تعدادی‬ ‫از‬ ‫زنجیره‬ ‫هر‬ ،‫زنجیره‬ ‫تعدادی‬ ‫از‬ ‫جدول‬ ‫هر‬ .‫است‬ ‫فرض‬‫پیش‬ ‫جدول‬ ‫چهار‬ ‫دارای‬ ‫خواهد‬ ‫اجرا‬ ‫بسته‬ ‫مورد‬ ‫در‬ ‫قانون‬ ‫آن‬ ‫هدف‬ ،‫باشد‬ ‫داشته‬ ‫انطباق‬ ‫قانون‬ ‫یک‬ ‫با‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫ای‬‫بسته‬ ‫اگر‬ .‫است‬ ‫هدف‬ ‫مجموعه‬ ‫یک‬ ‫دارای‬ ‫قانون‬ ‫هر‬ .‫است‬ ‫شده‬ ‫تشکیل‬ .‫دهیم‬‫می‬ ‫توضیح‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫آتش‬ ‫دیواره‬ ‫از‬ ‫عبورکننده‬ ‫های‬‫بسته‬ ‫سرنوشت‬ ‫ادامه‬ ‫در‬ .‫شد‬ ‫یا‬ ‫ابزار‬ ‫یک‬ ،‫همچنین‬ .‫است‬ ‫شده‬ ‫طراحی‬ ‫شبکه‬ ‫آن‬ ‫به‬ ‫ناخواسته‬ ‫های‬‫دسترسی‬ ‫مسدودکردن‬ ‫منظور‬ ‫به‬ ‫که‬ ‫است‬ ‫کامپیوتری‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫از‬ ‫بخشی‬ ‫آتش‬ ‫دیواره‬ ‫یک‬ ‫بر‬ ‫مختلف‬ ‫امنیتی‬ ‫های‬‫دامنه‬ ‫بین‬ ‫کامپیوتری‬ ‫ترافیک‬ ‫کل‬ ‫نمودن‬ ‫پراکسی‬ ‫یا‬ ‫رمزگشایی‬ ‫و‬ ‫رمزنگاری‬ ،‫ردکردن‬ ،‫دادن‬‫اجازه‬ ‫منظور‬ ‫به‬ ‫که‬ ‫است‬ ‫ابزارها‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫آتش‬ ‫های‬‫دیواره‬ .‫شود‬ ‫سازی‬‫پیاده‬ ‫دو‬ ‫این‬ ‫از‬ ‫ترکیبی‬ ‫یا‬ ‫و‬ ‫افزار‬‫نرم‬ ،‫افزار‬‫سخت‬ ‫روی‬ ‫تواند‬‫می‬ ‫آتش‬ ‫دیواره‬ .‫شود‬‫می‬ ‫استفاده‬ ‫معیارها‬ ‫و‬ ‫قوانین‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫اساس‬ ‫از‬ ‫اینترنت‬ ‫از‬ ‫دریافتی‬ ‫و‬ ‫ارسالی‬ ‫های‬‫پیام‬ ‫کلیه‬ .‫شوند‬‫می‬ ‫استفاده‬ ‫اینترنت‬ ‫به‬ ‫متصل‬ ‫داخلی‬ ‫ی‬‫شبکه‬ ‫به‬ ‫اینترنت‬ ‫ناخواسته‬ ‫کاربران‬ ‫دسترسی‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫معمول‬ ‫برای‬ .‫کند‬‫می‬ ‫مسدود‬ ،‫کنند‬‫نمی‬ ‫برآورده‬ ‫را‬ ‫شده‬ ‫مشخص‬ ‫امنیتی‬ ‫معیارهای‬ ‫که‬ ‫هایی‬‫آن‬ ‫و‬ ‫کند‬‫می‬ ‫بررسی‬ ‫را‬ ‫ها‬‫پیام‬ ‫ی‬‫همه‬ ‫آتش‬ ‫دیواره‬ .‫کنند‬‫می‬ ‫عبور‬ ‫آتش‬ ‫دیواره‬ ‫نام‬ ‫به‬ ‫ابزاری‬ ‫از‬ ‫لینوکس‬ ‫عامل‬‫سیستم‬ ‫آتش‬ ‫دیواره‬ ‫تنظیم‬ IPTables .‫شود‬‫می‬ ‫استفاده‬ Netfilter ‫و‬ IPTables ‫ی‬‫هسته‬ ‫درون‬ ‫افزاری‬‫نرم‬ ‫ساختارهای‬ 2.4 . x ‫ی‬‫هسته‬ ‫و‬ 2.6 . x .‫داد‬ ‫انجام‬ ‫را‬ ‫ها‬‫بسته‬ ‫اصلح‬ ‫و‬ ‫شبکه‬ ‫آدرس‬ ‫ی‬‫ترجمه‬ ، ‫ها‬‫بسته‬ ‫فیلترکردن‬ ‫توان‬‫می‬ ‫ها‬‫آن‬ ‫کمک‬ ‫به‬ ‫که‬ ‫باشند‬‫می‬ ‫آتش‬ ‫دیواره‬ :‫است‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫که‬ ‫دهد‬‫می‬ ‫ارائه‬ ‫سرویس‬ ‫چندین‬ ‫آتش‬ ‫دیواره‬ • ‫آدرس‬ ‫از‬ ‫حفاظت‬ IP ‫های‬‫شبکه‬ ‫مثال‬ ‫عنوان‬ ‫)به‬ ‫مختلف‬ ‫های‬‫شبکه‬ .‫کنند‬‫می‬ ‫عمل‬ ‫مسیریاب‬ ‫یک‬ ‫مانند‬ ‫آتش‬ ‫های‬‫دیواره‬ ‫از‬ ‫بسیاری‬ :‫ترافیک‬ ‫کنترل‬ ‫و‬ 192.168.1.1/24 ‫و‬ 10.100.100.0/24 ‫ایجاد‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫ابزار‬ ‫این‬ ‫از‬ ‫فقط‬ ‫شبکه‬ ‫مدیران‬ ‫از‬ ‫بسیاری‬ .‫کنند‬ ‫برقرار‬ ‫ارتباط‬ ‫یکدیگر‬ ‫با‬ ‫توانند‬‫می‬ ( ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ‫است‬ ‫آتش‬ ‫دیواره‬ ‫اجزای‬ ‫از‬ ‫یکی‬ ‫خصوصیت‬ ‫این‬ .‫کنند‬‫می‬ ‫استفاده‬ ‫اضافی‬ ‫های‬‫زیرشبکه‬ IPTables ‫و‬ IPChains ‫بنابراین‬ .‫است‬ ‫شده‬ ‫کامل‬ ‫آدرس‬ ‫یک‬ ‫با‬ IP ‫اما‬ ،‫دهد‬‫نمی‬ ‫انجام‬ ‫را‬ ‫شبکه‬ ‫آدرس‬ ‫ی‬‫ترجمه‬ ‫لزوما‬ ‫آتش‬ ‫دیواره‬ ‫چه‬‫اگر‬ .‫آوریم‬ ‫وجود‬‫به‬ ‫گسترده‬ ‫ی‬‫شبکه‬ ‫یا‬ ‫محلی‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫توانیم‬‫می‬ ‫مانند‬ ‫آتش‬ ‫های‬‫دیواره‬ ‫اکثر‬ IPTables .‫کنند‬‫می‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ • ‫شبکه‬ ‫تفکیک‬ .‫کند‬‫می‬ ‫کمک‬ ‫ترافیک‬ ‫مدیریت‬ ‫در‬ ‫و‬ ‫است‬ ‫ها‬‫شبکه‬ ‫دیگر‬ ‫و‬ ‫شبکه‬ ‫یک‬ ‫بین‬ ‫مرز‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ ‫ابتدایی‬ ‫ابزار‬ ‫یک‬ ‫آتش‬ ‫دیواره‬ : • ‫سمع‬ ‫استراق‬ ‫و‬ ‫پویشی‬ ، ‫دهی‬‫سرویس‬ ‫از‬ ‫جلوگیری‬ ‫های‬‫حمله‬ ‫برابر‬ ‫در‬ ‫محافظت‬ ‫ترافیک‬ ‫که‬ ‫کند‬‫می‬ ‫عمل‬ ‫منفرد‬ ‫نقطه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آتش‬ ‫دیواره‬ : .‫کند‬‫می‬ ‫کنترل‬ ‫را‬ ‫شبکه‬ ‫از‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ • ‫کردن‬ ‫فیلتر‬ IP ‫دیواره‬ ‫یک‬ ‫کاربرد‬ ‫ترین‬‫شده‬‫شناخته‬ ‫کردن‬ ‫فیلتر‬ .‫دارد‬ ‫پورت‬ ‫و‬ ‫آدرس‬ ‫مبنای‬ ‫بر‬ ‫را‬ ‫اتصال‬ ‫کردن‬‫رد‬ ‫یا‬ ‫پذیرفتن‬ ‫توانایی‬ ‫آتش‬ ‫دیواره‬ :‫پورت‬ ‫و‬ ‫اساس‬ ‫بر‬ ‫بلکه‬ ‫ها‬‫بسته‬ ‫مقصد‬ ‫مبنای‬ ‫بر‬ ‫تنها‬ ‫نه‬ ‫و‬ ‫بوده‬ ‫پیچیده‬ ‫بسیار‬ ‫تواند‬‫می‬ ‫و‬ ‫است‬ ‫همراه‬ ‫ها‬‫بسته‬ ‫کردن‬ ‫فیلتر‬ ‫با‬ ‫کردن‬ ‫فیلتر‬ ‫از‬ ‫نوع‬ ‫این‬ .‫است‬ ‫آتش‬ .‫باشد‬ ‫نیز‬ ‫بسته‬ ‫مبدا‬ • ‫بررسی‬ ‫با‬ ‫را‬ ‫ترافیک‬ ‫که‬ ‫است‬ ‫آتش‬ ‫دیواره‬ ‫نوع‬ ‫یک‬ ‫پراکسی‬ ‫ی‬‫دهنده‬‫سرویس‬ ‫کلی‬ ‫طور‬ ‫به‬ :‫محتوا‬ ‫کردن‬ ‫فیلتر‬ URL .‫کند‬‫می‬ ‫مدیریت‬ ،‫صفحه‬ ‫محتوای‬ ‫و‬ .‫کند‬ ‫مسدود‬ ‫و‬ ‫شناسایی‬ ،‫است‬ ‫مدنظر‬ ‫که‬ ‫محتوایی‬ ‫تواند‬‫می‬ ،‫شود‬ ‫تنظیم‬ ‫درستی‬ ‫به‬ ،‫پراکسی‬ ‫بر‬ ‫مبتنی‬ ‫آتش‬ ‫دیواره‬ ‫اگر‬ • ‫بسته‬ ‫مسیر‬ ‫تعویض‬ ‫ی‬‫دهنده‬‫سرویس‬ ‫اگر‬ ‫مثل‬ .‫بفرستد‬ ‫دیگر‬ ‫میزبان‬ ‫یک‬ ‫یا‬ ‫دیگر‬ ‫پورت‬ ‫یک‬ ‫به‬ ‫را‬ ‫ترافیک‬ ‫باید‬ ‫آتش‬ ‫دیواره‬ ‫اوقات‬ ‫بعضی‬ : Squid ‫روی‬ ‫پورت‬ ‫به‬ ‫شده‬ ‫فرستاده‬ ‫ترافیک‬ ‫تمام‬ ‫آتش‬ ‫دیواره‬ ‫کار‬ ‫این‬ ‫با‬ ،‫است‬ ‫شده‬ ‫نصب‬ ‫آتش‬ ‫دیواره‬ ‫از‬ ‫غیر‬ ‫میزبانی‬ 80 ‫و‬ 443 ‫های‬‫اتصال‬ ‫در‬ ‫استاندارد‬ ‫های‬‫)پورت‬ HTTP ‫و‬ HTTPS .‫فرستد‬‫می‬ ‫پراکسی‬ ‫ی‬‫دهنده‬‫سرویس‬ ‫به‬ ‫بیشتر‬ ‫پردازش‬ ‫برای‬ ‫را‬ ( :‫از‬ ‫عبارتند‬ ‫آتش‬ ‫دیواره‬ ‫انواع‬ • .‫کند‬‫می‬ ‫رد‬ ‫یا‬ ‫قبول‬ ‫را‬ ‫آن‬ ‫کاربر‬ ‫توسط‬ ‫شده‬ ‫تعریف‬ ‫قوانین‬ ‫اساس‬ ‫بر‬ ‫و‬ ‫کند‬‫می‬ ‫نگاه‬ ‫شبکه‬ ‫از‬ ‫شده‬ ‫خارج‬ ‫یا‬ ‫شده‬ ‫وارد‬ ‫بسته‬ ‫هر‬ ‫به‬ :‫بسته‬ ‫فیلترکننده‬ ‫جعل‬ ‫برای‬ ‫و‬ ‫بوده‬ ‫مشکل‬ ‫آن‬ ‫پیکربندی‬ ‫اما‬ ‫است‬ ‫شفاف‬ ،‫کاربران‬ ‫برای‬ ‫و‬ ‫کند‬‫می‬ ‫عمل‬ ‫موثر‬ ‫طور‬ ‫به‬ ‫بسته‬ ‫فیلترکننده‬ ‫افزار‬‫نرم‬ IP .‫است‬ ‫مستعد‬ • ‫کاربرد‬ ‫ی‬‫دروازه‬ ‫های‬‫دهنده‬‫سرویس‬ ‫مانند‬ ‫خاص‬ ‫های‬‫کاربرد‬ ‫در‬ : FTP ‫و‬ Telnet ‫اما‬ ،‫است‬ ‫مفید‬ ‫بسیار‬ ‫افزار‬‫نرم‬ ‫این‬ .‫کند‬‫می‬ ‫اعمال‬ ‫را‬ ‫امنیتی‬ ‫های‬‫مکانیزم‬ .‫شود‬ ‫کارآیی‬ ‫کاهش‬ ‫باعث‬ ‫است‬ ‫ممکن‬ • ‫مدار‬ ‫سطح‬ ‫دروازه‬ ‫اتصال‬ ‫یک‬ ‫که‬‫هنگامی‬ : TCP ‫یا‬ UDP ،‫شود‬‫می‬ ‫برقرار‬ ‫اتصال‬ ‫که‬ ‫ای‬‫لحظه‬ ‫از‬ .‫کند‬‫می‬ ‫اعمال‬ ‫را‬ ‫امنیتی‬ ‫های‬‫مکانیزم‬ ،‫شود‬‫می‬ ‫برقرار‬ ) 7 (
  • 8. .‫شوند‬ ‫مبادله‬ ‫بیشتر‬ ‫کنترل‬ ‫بدون‬ ‫ها‬‫میزبان‬ ‫بین‬ ‫توانند‬‫می‬ ‫ها‬‫بسته‬ • .‫کند‬‫می‬ ‫پنهان‬ ‫را‬ ‫شبکه‬ ‫واقعی‬ ‫های‬‫آدرس‬ ‫موثری‬ ‫طور‬ ‫به‬ ‫و‬ ‫کند‬‫می‬ ‫مسدود‬ ‫را‬ ‫شبکه‬ ‫از‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫های‬‫پیام‬ ‫ی‬‫کلیه‬ :‫پراکسی‬ ‫ی‬‫دهنده‬‫سرویس‬ ‫پایه‬ ‫مفاهیم‬ ‫به‬ ‫مربوط‬ ‫متون‬ ‫در‬ IPTables ‫ممکن‬ ‫که‬ ‫روند‬‫می‬ ‫کار‬‫به‬ ‫یکدیگر‬ ‫جای‬ ‫به‬ ‫اصطلحات‬ ‫این‬ ،‫موارد‬ ‫از‬ ‫بسیاری‬ ‫در‬ .‫اند‬‫شده‬ ‫داده‬ ‫توضیح‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫مفاهیمی‬ .‫شود‬ ‫مطالب‬ ‫بدفهمی‬ ‫باعث‬ ‫است‬ Netfilter ‫ابزاری‬ ‫ترین‬‫شده‬‫شناخته‬ .‫رود‬‫می‬ ‫کار‬ ‫به‬ ‫ها‬‫بسته‬ ‫دستکاری‬ ‫و‬ ‫مسدودکردن‬ ‫منظور‬ ‫به‬ ‫و‬ ‫دارد‬ ‫قرار‬ ‫لینوکس‬ ‫ی‬‫هسته‬ ‫در‬ ‫که‬ ‫است‬ ‫ها‬‫قلب‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫حاوی‬ ‫چارچوبی‬ ‫از‬ ‫که‬ Netfilter ‫مانند‬ ‫نیز‬ ‫دیگری‬ ‫ابزارهای‬ .‫کند‬‫می‬ ‫فیلتر‬ ‫را‬ ‫ها‬‫بسته‬ ‫که‬ ‫است‬ ‫آتش‬ ‫دیواره‬ ،‫کند‬‫می‬ ‫استفاده‬ NAT ‫استفاده‬ ‫آن‬ ‫از‬ ‫بسته‬ ‫بندی‬‫صف‬ ‫و‬ ‫دار‬‫حالت‬ ‫پیگیری‬ ، ،‫کرد‬ ‫فراهم‬ ‫لینوکس‬ ‫برای‬ ‫را‬ ‫آتش‬ ‫دیواره‬ ‫ابزارهای‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫که‬ ‫ای‬‫پروژه‬ ‫نام‬ ‫همچنین‬ .‫کنند‬‫می‬ Netfilter ‫شدند‬ ‫تهیه‬ ‫پروژه‬ ‫این‬ ‫در‬ ‫که‬ ‫اجزایی‬ ‫اکثر‬ .‫است‬ ‫بوده‬ .‫شدند‬ ‫تهیه‬ ‫نیز‬ ‫هایی‬‫کتابخانه‬ ‫و‬ ‫کاربر‬ ‫فضای‬ ‫ابزارهای‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫اما‬ ‫هستند‬ ‫هسته‬ ‫در‬ ‫بارگذاری‬ ‫قابل‬ ‫های‬‫ماژول‬ IPFilter ‫ی‬‫لیه‬ ‫های‬ ‫سرآیند‬ ‫اساس‬ ‫بر‬ ‫ها‬‫بسته‬ ‫محدودکردن‬ ‫معیار‬ .‫دهد‬‫می‬ ‫انجام‬ ‫را‬ ‫کاربری‬ ‫رابط‬ ‫یک‬ ‫از‬ ‫عبور‬ ‫حین‬ ‫در‬ ‫ها‬‫بسته‬ ‫انتخابی‬ ‫عبوردادن‬ ‫یا‬ ‫مسدودکردن‬ 3 ) IPv4، IPv6 ‫ی‬‫لیه‬ ‫و‬ ( 4 ) TCP، UDP، ICMP4 .‫است‬ ‫مقصد‬ ‫و‬ ‫مبدا‬ ‫پروتکل‬ ‫و‬ ‫پورت‬ ،‫مقصد‬ ‫و‬ ‫مبدا‬ ‫آدرس‬ ،‫دارد‬ ‫کاربرد‬ ‫همه‬ ‫از‬ ‫بیش‬ ‫که‬ ‫معیاری‬ .‫است‬ ( IPFilter ‫از‬ ‫یکی‬ ‫برای‬ ‫ابتدا‬ ‫که‬ ‫است‬ ‫آتش‬ ‫های‬‫دیواره‬ ‫انواع‬ OpenBSD ‫مزایای‬ ‫از‬ ‫برخی‬ ‫ذکر‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫دارد‬ ‫وجود‬ ‫نیز‬ ‫دیگر‬ ‫عامل‬ ‫های‬‫سیستم‬ ‫در‬ ‫اکنون‬ ‫اما‬ ،‫یافت‬ ‫توسعه‬ IPFilter .‫پردازیم‬‫می‬ • ‫از‬ ‫خاصی‬ ‫انواع‬ ‫به‬ ‫توان‬‫می‬ ،‫است‬ ‫متصل‬ ‫اینترنت‬ ‫مانند‬ ‫خارجی‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫به‬ ‫داخلی‬ ‫های‬‫شبکه‬ ‫و‬ ‫است‬ ‫لینوکس‬ ،‫عامل‬ ‫سیستم‬ ‫که‬‫هنگامی‬ :‫کنترل‬ ‫به‬ ‫ها‬‫بسته‬ ‫رفتن‬ ‫از‬ ‫توان‬‫می‬ ‫بنابراین‬ ،‫است‬ ‫مقصد‬ ‫آدرس‬ ‫حاوی‬ ‫ها‬‫بسته‬ ‫سرآیند‬ ،‫مثال‬ ‫برای‬ .‫نمود‬ ‫مسدود‬ ‫را‬ ‫آن‬ ‫از‬ ‫خاصی‬ ‫انواع‬ ‫و‬ ‫داد‬ ‫عبور‬ ‫ی‬‫اجازه‬ ‫ترافیک‬ ‫از‬ ‫هایی‬‫آگهی‬ ‫و‬ ‫تبلیغات‬ ،‫وب‬ ‫های‬‫صفحه‬ ‫در‬ ‫دیگر‬ ‫مثالی‬ ‫عنوان‬ ‫به‬ .‫نمود‬ ‫جلوگیری‬ ‫خارجی‬ ‫ی‬‫شبکه‬ ‫از‬ ‫خاصی‬ ‫بخش‬ doubleclick.net ‫و‬ ‫دارند‬ ‫وجود‬ ‫به‬ ‫توان‬‫می‬ ،‫کند‬‫می‬ ‫ها‬‫آن‬ ‫بارگذاری‬ ‫صرف‬ ‫را‬ ‫زیادی‬ ‫زمان‬ ‫مرورگر‬ IPFilter ‫از‬ ‫ای‬‫بسته‬ ‫هیچ‬ ‫گفت‬ doubleclick.net .‫نکند‬ ‫دریافت‬ • ‫داخلی‬ ‫ی‬‫شبکه‬ ‫به‬ ‫وارده‬ ‫ترافیک‬ ‫روی‬ ‫بر‬ ‫باید‬ ‫بنابراین‬ .‫است‬ ‫داخلی‬ ‫منظم‬ ‫ی‬‫شبکه‬ ‫و‬ ‫اینترنت‬ ‫آشفته‬ ‫دنیای‬ ‫بین‬ ‫رابط‬ ‫تنها‬ ‫لینوکس‬ :‫امنیت‬ ‫ممکن‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫بود‬ ‫نگران‬ ‫باید‬ ‫وارده‬ ‫های‬‫بسته‬ ‫مورد‬ ‫در‬ ‫اما‬ ‫شود‬ ‫خارج‬ ‫شبکه‬ ‫از‬ ‫چیزی‬ ‫چه‬ ‫که‬ ‫نباشد‬ ‫مهم‬ ‫است‬ ‫ممکن‬ .‫کرد‬ ‫اعمال‬ ‫هایی‬‫محدودیت‬ ‫طریق‬ ‫از‬ ‫کسی‬ ‫که‬ ‫نخواهید‬ ‫است‬ Telnet ‫دهنده‬‫سرویس‬ ‫یک‬ ‫و‬ ‫کنید‬ ‫استفاده‬ ‫اینترنت‬ ‫از‬ ‫تنها‬ ‫بخواهید‬ ‫است‬ ‫ممکن‬ .‫کند‬ ‫برقرار‬ ‫ارتباط‬ ‫دهنده‬‫سرویس‬ ‫با‬ ‫داشتن‬ ‫با‬ ‫کارها‬ ‫این‬ ‫تمامی‬ .‫گیرد‬‫می‬ ‫را‬ ‫اتصالی‬ ‫هرگونه‬ ‫جلوی‬ ‫بنابراین‬ .‫نباشید‬ IPFilter .‫است‬ ‫پذیر‬‫امکان‬ • ‫مراقبت‬ ‫در‬ .‫کند‬‫می‬ ‫ارسال‬ ‫شبکه‬ ‫از‬ ‫خارج‬ ‫به‬ ‫را‬ ‫بسته‬ ‫زیادی‬ ‫تعداد‬ ،‫است‬ ‫شده‬ ‫پیکربندی‬ ‫نامناسبی‬ ‫طور‬ ‫به‬ ‫که‬ ‫محلی‬ ‫ی‬‫شبکه‬ ‫در‬ ‫سیستمی‬ ‫اوقات‬ ‫گاهی‬ : ‫است‬ ‫مناسب‬ ‫جا‬‫این‬ IPFilter .‫دهد‬ ‫گزارش‬ ‫را‬ ‫غیرطبیعی‬ ‫رویداد‬ ‫هر‬ ‫وقوع‬ ‫که‬ ‫کرد‬ ‫تنظیم‬ ‫طوری‬ ‫را‬ ) ‫شبکه‬ ‫آدرس‬ ‫ی‬‫ترجمه‬ NAT ( ‫آدرس‬ ‫یک‬ ‫به‬ ‫نیاز‬ ‫وب‬ ‫دهندگان‬‫سرویس‬ ‫و‬ ‫دیگرکامپیوترها‬ ‫با‬ ‫ارتباط‬ ‫در‬ ‫کامپیوتری‬ ‫هر‬ IP ‫به‬ ‫کاری‬ ‫های‬‫شبکه‬ ‫و‬ ‫خانگی‬ ‫استفاده‬ ‫رشد‬ ‫و‬ ‫اینترنت‬ ‫گسترش‬ ‫با‬ .‫دارد‬ ‫های‬‫آدرس‬ ‫تعداد‬ ‫رسد‬‫می‬ ‫نظر‬ IP ‫آدرس‬ ‫قالب‬ ‫مجدد‬ ‫طراحی‬ ،‫ساده‬ ‫حل‬ ‫راه‬ ‫یک‬ .‫نباشد‬ ‫کافی‬ ‫موجود‬ IP ‫را‬ ‫بیشتری‬ ‫های‬‫آدرس‬ ‫تعداد‬ ‫داشتن‬ ‫امکان‬ ‫که‬ ‫است‬ ‫جا‬‫این‬ ‫در‬ .‫است‬ ‫اینترنت‬ ‫زیرساخت‬ ‫کل‬ ‫اصلح‬ ‫نیازمند‬ ‫و‬ ‫شود‬ ‫سازی‬‫پیاده‬ ‫حل‬ ‫راه‬ ‫این‬ ‫تا‬ ‫کشد‬‫می‬ ‫طول‬ ‫سال‬ ‫چندین‬ ‫اما‬ ،‫دهد‬‫می‬ NAT .‫کند‬‫می‬ ‫حل‬ ‫را‬ ‫مشکل‬ NAT ‫یک‬ ‫صورت‬ ‫این‬ ‫در‬ .‫کند‬ ‫عمل‬ ‫مشخص‬ ‫محلی‬ ‫ی‬‫شبکه‬ ‫یک‬ ‫و‬ ‫اینترنت‬ ‫بین‬ ‫رابط‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫دهد‬‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫مسیریاب‬ ‫یک‬ ‫مثل‬ ‫منفرد‬ ‫دستگاه‬ ‫یک‬ ‫به‬ IP ‫های‬‫آدرس‬ ‫تعداد‬ ‫کمبود‬ .‫شود‬ ‫استفاده‬ ‫کامپیوتر‬ ‫ی‬‫مجموعه‬ ‫یک‬ ‫برای‬ ‫تواند‬‫می‬ ‫منفرد‬ IP ‫از‬ ‫استفاده‬ ‫دلیل‬ ‫تنها‬ NAT ‫و‬ ‫امنیت‬ ‫برقراری‬ ‫چون‬ ‫دیگری‬ ‫فواید‬ .‫نیست‬ ‫از‬ ‫استفاده‬ ‫مزایای‬ ‫از‬ ‫نیز‬ ‫بهتر‬ ‫مدیریت‬ NAT ‫مفهوم‬ .‫است‬ NAT ‫ورود‬ ‫ی‬‫دروازه‬ ‫عنوان‬ ‫به‬ (‫مسیریاب‬ ‫یا‬ ‫کامپیوتر‬ ‫)مثل‬ ‫دستگاه‬ ‫یك‬ ‫که‬ ‫است‬ ‫معنا‬ ‫این‬ ‫به‬ ‫و‬ ‫ساده‬ ‫بسیار‬ ‫که‬ ‫دستگاهي‬ ‫آدرس‬ ‫به‬ ‫را‬ ‫کاري‬ ‫هاي‬‫ایستگاه‬ ‫هاي‬‫آدرس‬ ‫کار‬ ‫این‬ ‫با‬ ‫و‬ ‫کند‬‫مي‬ ‫عمل‬ ‫اینترنت‬ ‫به‬ NAT ‫دیگر‬ ‫بیان‬ ‫به‬ ،‫کند‬‫مي‬ ‫ترجمه‬ ‫است‬ ‫فعال‬ ‫آن‬ ‫روي‬ NAT ‫روي‬ ‫را‬ ‫شبکه‬ ‫اینترنت‬ ‫دیگر‬ ‫سوي‬ ‫از‬ .‫کند‬‫مي‬ ‫پنهان‬ ‫اینترنت‬ ‫دید‬ ‫از‬ ‫را‬ ‫شبکه‬ ‫کلي‬ ‫طور‬ ‫به‬ ‫و‬ ‫کاري‬ ‫هاي‬‫ایستگاه‬ ‫و‬ ‫شود‬‫می‬ ‫فعال‬ ‫است‬ ‫متصل‬ ‫اینترنت‬ ‫به‬ ‫که‬ ‫دستگاهي‬ .‫باشد‬‫مي‬ ‫متصل‬ ‫اینترنت‬ ‫به‬ ‫که‬ ‫بیند‬‫مي‬ ‫ساده‬ ‫دستگاه‬ ‫یك‬ ‫صورت‬‫به‬ NAT ‫کاري‬ ‫هاي‬‫ایستگاه‬ ‫روي‬ ‫دوباره‬ ‫تنظیمات‬ ‫به‬ ‫نیازي‬ ‫و‬ ‫کند‬‫نمي‬ ‫ایجاد‬ ‫تغییر‬ ‫شبکه‬ ‫روي‬ ‫که‬ ‫است‬ ‫دستگاهي‬ ‫آدرس‬ ‫همان‬ ‫که‬ ‫را‬ ‫شبکه‬ ‫از‬ ‫خروجي‬ ‫ی‬‫دروازه‬ ‫آدرس‬ ‫بایست‬‫مي‬ ‫کاري‬ ‫هاي‬‫ایستگاه‬ ‫فقط‬ .‫نیست‬ NAT .‫بدانند‬ ‫را‬ ‫است‬ ‫شده‬ ‫فعال‬ ‫آن‬ ‫روي‬ ) 8 (
  • 9. IPTables ‫سری‬ ‫از‬ ‫لینوکس‬ ‫ی‬‫هسته‬ 1.1 ‫داری‬ IPFilter ‫نام‬ ‫به‬ ‫ابزاری‬ ‫از‬ ‫ها‬‫بسته‬ ‫فیلترکردن‬ ‫قوانین‬ ‫تنظیم‬ ‫برای‬ .‫است‬ ‫بوده‬ ipfwadm ‫لینوکس‬ ‫در‬ .‫شد‬‫می‬ ‫استفاده‬ 2.2 ‫ابزاری‬ ‫نام‬ ‫به‬ IPChains ‫لینوکس‬ ‫برای‬ ‫سرانجام‬ ‫و‬ ‫شد‬ ‫معرفی‬ 2.4 ‫ابزار‬ IPTables ‫حقیقت‬ ‫در‬ .‫شد‬ ‫معرفی‬ IPTables ‫آن‬ ‫به‬ ‫و‬ ‫گوید‬‫می‬ ‫سخن‬ ‫هسته‬ ‫با‬ ‫که‬ ‫است‬ ‫ابزاری‬ ‫های‬‫ماژول‬ ‫قوانین‬ ‫دستکاری‬ ‫و‬ ‫ایجاد‬ ‫برای‬ ،‫ها‬‫بسته‬ ‫کردن‬ ‫فیلتر‬ ‫بر‬ ‫علوه‬ .‫کند‬ ‫فیلتر‬ ‫را‬ ‫هایی‬‫بسته‬ ‫چه‬ ‫که‬ ‫گوید‬‫می‬ NAT ‫زیرا‬ ،‫شود‬‫می‬ ‫استفاده‬ ‫نیز‬ NAT ‫طریق‬ ‫از‬ ‫نیز‬ ‫قوانین‬ ‫مجموعه‬ IPFilter ‫نام‬ ‫اغلب‬ .‫شود‬‫می‬ ‫پیکربندی‬ IPTables ‫شامل‬ ‫که‬ ‫آتش‬ ‫دیواره‬ ‫زیرساخت‬ ‫کل‬ ‫برای‬ Netfilter ‫و‬ ‫اتصال‬ ‫پیگیری‬ ، NAT ‫استفاده‬ ،‫است‬ ‫اصلی‬ ‫های‬‫ویژگی‬ .‫شود‬‫می‬ IPTables :‫از‬ ‫عبارتند‬ • ‫بسته‬ ‫فیلتر‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ ‫ی‬‫کلیه‬ ‫کردن‬‫فهرست‬ • ‫بسته‬ ‫فیلتر‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ ‫در‬ ‫قوانین‬ ‫اصلح‬ /‫کردن‬ ‫کم‬ /‫افزودن‬ • ‫بسته‬ ‫فیلتر‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ ‫در‬ ‫قانون‬ ‫هر‬ ‫های‬‫شمارنده‬ ‫کردن‬ ‫صفر‬ /‫فهرست‬ ‫که‬ ‫این‬ ‫دلیل‬ ‫به‬ IPTables ‫کاربر‬ ‫توسط‬ ‫حتما‬ ‫باید‬ ،‫دارد‬ ‫نیاز‬ ‫اجرا‬ ‫برای‬ ‫خاصی‬ ‫امتیازات‬ ‫به‬ root ‫لینوکس‬ ‫های‬‫سیستم‬ ‫اکثر‬ ‫در‬ .‫شود‬ ‫اجرا‬ IPTables ‫ی‬‫شاخه‬ ‫در‬ usr/sbin/iptables ‫دستور‬ ‫اجرای‬ ‫با‬ ‫و‬ ‫شود‬‫می‬ ‫نصب‬ man iptables ‫ی‬‫پروژه‬ .‫کرد‬ ‫پیدا‬ ‫دسترسی‬ ‫آن‬ ‫به‬ ‫مربوط‬ ‫مستندات‬ ‫به‬ ‫توان‬‫می‬ netfilter/IPTables ‫سال‬ ‫در‬ 1998 ‫توسط‬ ‫میلدی‬ Rusty Russell ‫ی‬‫دهنده‬‫توسعه‬ ‫که‬ IPChains ‫تیم‬ ،‫پروژه‬ ‫پیشرفت‬ ‫با‬ .‫شد‬ ‫شروع‬ ‫بود‬ ‫نیز‬ Netfilter ‫شده‬ ‫داده‬ ‫توسعه‬ ‫افزار‬‫نرم‬ .‫گرفت‬ ‫شکل‬ ‫لیسانس‬ ‫تحت‬ ‫ها‬‫آن‬ ‫توسط‬ GNU/GPL ‫چارچوب‬ .‫است‬ Xtables ‫هر‬ .‫هستند‬ ‫قوانین‬ ‫از‬ ‫هایی‬‫زنجیره‬ ‫شامل‬ ‫که‬ ‫دهد‬‫می‬ ‫را‬ ‫هایی‬‫جدول‬ ‫تعریف‬ ‫امکان‬ ‫سیستم‬ ‫مدیر‬ ‫به‬ ‫یک‬ .‫شوند‬‫می‬ ‫پردازش‬ ‫ها‬‫زنجیره‬ ‫پیمایش‬ ‫با‬ ‫ها‬‫بسته‬ .‫دارد‬ ‫سروکار‬ ،‫بسته‬ ‫پردازش‬ ‫از‬ ‫خاصی‬ ‫نوع‬ ‫با‬ ‫جدول‬ ‫هر‬ .‫شود‬ ‫برخورد‬ ‫چگونه‬ ‫بسته‬ ‫با‬ ‫که‬ ‫کند‬‫می‬ ‫مشخص‬ ‫قانون‬ ‫حداقل‬ ‫شبکه‬ ‫از‬ ‫خروجی‬ ‫یا‬ ‫ورودی‬ ‫بسته‬ ‫هر‬ .‫باشد‬ ‫داشته‬ ‫ادامه‬ ‫تواند‬‫می‬ ‫جایی‬ ‫هر‬ ‫تا‬ ‫روند‬ ‫این‬ ‫و‬ ‫بفرستد‬ ‫دیگری‬ ‫زنجیره‬ ‫به‬ ‫را‬ ‫بسته‬ ‫یک‬ ‫تواند‬‫می‬ ‫زنجیره‬ ‫یک‬ ‫در‬ ‫قانون‬ ‫انتهای‬ ‫به‬ ‫که‬ ‫ای‬‫بسته‬ ‫مثال‬ ‫برای‬ .‫دارند‬ ‫هایی‬‫سیاست‬ ‫توکار‬ ‫جداول‬ .‫بپیماید‬ ‫را‬ ‫ای‬‫زنجیره‬ ‫چه‬ ‫ابتدا‬ ‫در‬ ‫که‬ ‫کند‬‫می‬ ‫مشخص‬ ‫بسته‬ ‫منبع‬ .‫پیماید‬‫می‬ ‫را‬ ‫زنجیره‬ ‫یک‬ ‫انتهای‬ ‫به‬ ‫ای‬‫بسته‬ ‫اگر‬ ‫و‬ ‫است‬ ‫نشده‬ ‫تعریف‬ ‫سیاست‬ ‫ها‬‫زنجیره‬ ‫این‬ ‫برای‬ .‫کند‬ ‫ایجاد‬ ‫زنجیره‬ ‫دلخواه‬ ‫تعداد‬ ‫به‬ ‫تواند‬‫می‬ ‫سیستم‬ ‫مدیر‬ .‫شود‬‫می‬ ‫حذف‬ ،‫برسد‬ ‫زنجیره‬ ‫همچنین‬ .‫یابد‬‫می‬ ‫انطباق‬ ‫خاصی‬ ‫های‬‫بسته‬ ‫انواع‬ ‫با‬ ‫زنجیره‬ ‫یک‬ ‫در‬ ‫قانون‬ ‫هر‬ .‫گردد‬‫می‬ ‫باز‬ ،‫است‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬ ‫آن‬ ‫که‬ ‫ای‬‫زنجیره‬ ‫به‬ ‫دوباره‬ ،‫برسد‬ ‫ها‬‫زنجیره‬ ‫گونه‬‫این‬ ‫به‬ ‫بسته‬ ،‫نکند‬ ‫پیدا‬ ‫انطباق‬ ‫بسته‬ ‫با‬ ‫قانون‬ ‫اگر‬ .‫کند‬‫می‬ ‫بررسی‬ ‫را‬ ‫آن‬ ،‫قانون‬ ‫هر‬ ،‫پیماید‬‫می‬ ‫را‬ ‫زنجیره‬ ‫یک‬ ‫ای‬‫بسته‬ ‫وقتی‬ .‫باشد‬ ‫داشته‬ ‫هدف‬ ‫یک‬ ‫است‬ ‫ممکن‬ ‫قانون‬ ‫زنجیره‬ ‫در‬ ‫پیوسته‬ ‫پیمایش‬ ‫به‬ ‫بسته‬ .‫شود‬‫می‬ ‫برخورد‬ ‫بسته‬ ‫با‬ ‫شده‬ ‫مشخص‬ ‫هدف‬ ‫در‬ ‫چه‬‫آن‬ ‫طبق‬ ،‫یابد‬ ‫انطباق‬ ‫بسته‬ ‫با‬ ‫قانون‬ ‫اگر‬ ‫و‬ ‫شود‬‫می‬ ‫فرستاده‬ ‫بعدی‬ ‫قانون‬ ‫یا‬ (‫شود‬‫می‬ ‫حذف‬ ‫یا‬ ‫قبول‬ ‫بسته‬ ‫)مثل‬ ‫شود‬‫می‬ ‫گرفته‬ ‫تصمیم‬ ‫بسته‬ ‫نهایی‬ ‫سرنوشت‬ ‫مورد‬ ‫در‬ ‫صورت‬ ‫این‬ ‫در‬ ‫که‬ ‫یابد‬ ‫انطباق‬ ‫بسته‬ ‫آن‬ ‫با‬ ‫قانون‬ ‫یک‬ ‫تا‬ ‫دهد‬‫می‬ ‫ادامه‬ .‫برسد‬ ‫زنجیره‬ ‫انتهای‬ ‫به‬ ‫بسته‬ ‫یا‬ ‫بازگردد‬ ‫فراخواننده‬ ‫ی‬‫زنجیره‬ ‫به‬ ‫بسته‬ ‫و‬ ‫کند‬ ‫فراخوانی‬ ‫را‬ ‫بازگشت‬ ‫هدف‬ ،‫قانون‬ ‫یک‬ ‫اصطلحات‬ ‫و‬ ‫عبارات‬ IPTables .‫شوند‬‫می‬ ‫داده‬ ‫شرح‬ ،‫هستند‬ ‫لزم‬ ‫بعدی‬ ‫مطالب‬ ‫درک‬ ‫برای‬ ‫و‬ ‫دارند‬ ‫را‬ ‫کاربرد‬ ‫بیشترین‬ ‫که‬ ‫اصطلحاتی‬ ‫و‬ ‫عبارات‬ ‫از‬ ‫تعدادی‬ ،‫بخش‬ ‫این‬ ‫ادامه‬ ‫در‬ ‫انطباق‬ – ‫تقدم‬ : -- ‫انطباق‬ ‫مثل‬ .‫باشد‬ ‫اطلعاتی‬ ‫چه‬ ‫محتوی‬ ‫باید‬ ‫سرآیند‬ ‫یک‬ ‫که‬ ‫گوید‬‫می‬ ‫قانون‬ ‫یک‬ ‫به‬ ‫که‬ ‫منفرد‬ ‫انطباق‬ ‫یک‬ :‫اول‬ ‫معنی‬ .‫رود‬‫می‬ ‫کار‬‫به‬ ‫مختلف‬ ‫معنی‬ ‫دو‬ ‫با‬ ‫کلمه‬ ‫این‬ source :‫دوم‬ ‫معنی‬ .‫است‬ ‫شده‬ ‫تشکیل‬ ‫انطباق‬ ‫چندین‬ ‫یا‬ ‫یک‬ ‫از‬ ‫قانون‬ ‫هر‬ .‫باشد‬ ‫شبکه‬ ‫از‬ ‫خاصی‬ ‫محدوده‬ ‫یا‬ ‫خاص‬ ‫میزبان‬ ‫یک‬ ‫باید‬ ‫منبع‬ ‫آدرس‬ ‫که‬ ‫گوید‬‫می‬ ‫ما‬ ‫به‬ :‫اند‬‫شده‬ ‫آورده‬ ‫ادامه‬ ‫در‬ ‫ها‬‫انطباق‬ ‫پرکاربردترین‬ ‫از‬ ‫نمونه‬ ‫چند‬ .‫است‬ ‫یافته‬ ‫انطباق‬ ‫قانون‬ ‫با‬ ‫بسته‬ ‫گوییم‬‫می‬ ‫کند‬ ‫صدق‬ ‫بسته‬ ‫یک‬ ‫مورد‬ ‫در‬ ‫قانون‬ ‫یک‬ ‫کل‬ ‫اگر‬ • --) source (-s ‫آدرس‬ ‫یک‬ : IP .‫دهد‬‫می‬ ‫انطباق‬ ‫را‬ ‫شبکه‬ ‫یا‬ ‫مبدا‬ • --) destination (-d ‫آدرس‬ ‫یک‬ : IP .‫دهد‬‫می‬ ‫انطباق‬ ‫را‬ ‫شبکه‬ ‫یا‬ ‫مقصد‬ • --) protocol (-p ‫یک‬ ‫روی‬ : IP .‫دهد‬‫می‬ ‫انجام‬ ‫انطباق‬ • --) in-interface (-i .‫کند‬‫می‬ ‫ایجاد‬ ‫ورودی‬ ‫رابط‬ ‫یک‬ : • interface .‫کند‬‫می‬ ‫ایجاد‬ ‫خروجی‬ ‫رابط‬ ‫یک‬ : • -- state .‫دهد‬‫می‬ ‫انطباق‬ ‫اتصال‬ ‫حالت‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫روی‬ : • -- string .‫دهد‬‫می‬ ‫انجام‬ ‫انطباق‬ ،‫کاربردی‬ ‫ی‬‫لیه‬ ‫داده‬ ‫های‬‫بایت‬ ‫از‬ ‫ای‬‫رشته‬ ‫روی‬ : ‫قانون‬ ) rule ( : ‫های‬‫سازی‬‫پیاده‬ ‫اکثر‬ ‫در‬ ‫که‬ ‫است‬ ‫هدف‬ ‫یک‬ ‫همراه‬ ‫به‬ ‫انطباق‬ ‫چندین‬ ‫یا‬ ‫یک‬ ‫از‬ ‫ای‬‫مجموعه‬ IPTables ‫از‬ ‫بعضی‬ ‫در‬ .‫است‬ ‫انطباق‬ ‫چندین‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫قانون‬ ‫یک‬ ، .‫باشیم‬ ‫داشته‬ ‫قانون‬ ‫هر‬ ‫برای‬ ‫هدف‬ ‫چندین‬ ‫توانیم‬‫می‬ ‫ها‬‫سازی‬‫پیاده‬ ) 9 (
  • 10. ‫قوانین‬ ‫ی‬‫مجموعه‬ : ‫سازی‬‫پیاده‬ ‫در‬ ‫قوانین‬ ‫از‬ ‫ای‬‫مجموعه‬ IPTables .‫شوند‬‫می‬ ‫نوشته‬ ‫پیکربندی‬ ‫فایل‬ ‫یک‬ ‫در‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ .‫باشد‬‫می‬ ‫پرش‬ : jump ‫دستورالعمل‬ JUMP ‫اگر‬ .‫شود‬‫می‬ ‫نوشته‬ ‫دیگر‬ ‫ی‬‫زنجیره‬ ‫یک‬ ‫نام‬ ،‫هدف‬ ‫نام‬ ‫نوشتن‬ ‫جای‬ ‫به‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ .‫شود‬‫می‬ ‫نوشته‬ ‫آن‬ ‫مانند‬ ‫دقیقا‬ ‫و‬ ‫است‬ ‫هدف‬ ‫یک‬ ‫مانند‬ .‫شود‬‫می‬ ‫پردازش‬ ‫آن‬ ‫در‬ ‫و‬ ‫شود‬‫می‬ ‫فرستاده‬ ‫بعدی‬ ‫ی‬‫زنجیره‬ ‫به‬ ‫بسته‬ ،‫داشت‬ ‫انطباق‬ ‫قانون‬ ‫هدف‬ : target ‫باید‬ ‫که‬ ‫کند‬‫می‬ ‫مشخص‬ ‫هدف‬ ‫تعریف‬ ،‫کند‬ ‫پیدا‬ ‫انطباق‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫قانون‬ ‫کل‬ ‫اگر‬ .‫دارد‬ ‫هدف‬ ‫ی‬‫مجموعه‬ ‫یک‬ ‫قوانین‬ ‫ی‬‫مجموعه‬ ‫در‬ ‫موجود‬ ‫قانون‬ ‫هر‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫آدرس‬ ‫یا‬ ‫و‬ ‫حذف‬ ،‫قبول‬ ‫را‬ ‫آن‬ ‫باید‬ ‫که‬ ‫گوید‬‫می‬ ‫مثل‬ .‫کرد‬ ‫چه‬ ‫بسته‬ ‫با‬ IP ‫در‬ .‫باشد‬ ‫نداشته‬ ‫یا‬ ‫باشد‬ ‫داشته‬ ‫هدف‬ ‫یا‬ ‫پرش‬ ‫است‬ ‫ممکن‬ ‫قانون‬ ‫یک‬ .‫کرد‬ ‫ترجمه‬ ‫را‬ ‫آن‬ :‫است‬ ‫شده‬ ‫آورده‬ ‫پرکاربرد‬ ‫هدف‬ ‫چند‬ ‫ادامه‬ • ACCEPT .‫دهد‬ ‫ادامه‬ ‫خود‬ ‫راه‬ ‫به‬ ‫که‬ ‫دهد‬‫می‬ ‫اجازه‬ ‫بسته‬ ‫یک‬ ‫به‬ : • DROP .‫شود‬‫نمی‬ ‫انجام‬ ‫آن‬ ‫روی‬ ‫دیگری‬ ‫پردازش‬ ‫هیچ‬ ‫و‬ ‫کند‬‫می‬ ‫حذف‬ ‫را‬ ‫بسته‬ ‫یک‬ : • LOG ‫در‬ ‫را‬ ‫بسته‬ ‫یک‬ : syslog .‫کند‬‫می‬ ‫ثبت‬ • REJECT .‫کند‬‫می‬ ‫ارسال‬ ،‫مناسب‬ ‫پاسخ‬ ‫یک‬ ‫همزمان‬ ‫و‬ ‫کند‬‫می‬ ‫حذف‬ ‫را‬ ‫بسته‬ ‫یک‬ : • RETURN .‫شود‬‫می‬ ‫فراخواننده‬ ‫ی‬‫زنجیره‬ ‫در‬ ‫بسته‬ ‫یک‬ ‫پردازش‬ ‫ادامه‬ ‫باعث‬ : ‫جدول‬ : table ‫در‬ ‫و‬ ‫دارد‬ ‫خاصی‬ ‫هدف‬ ‫جدول‬ ‫هر‬ IPTables ‫جداول‬ :‫دارد‬ ‫وجود‬ ‫جدول‬ ‫پنج‬ ، Filter، Nat، Raw ‫و‬ Mangle ‫و‬. security ‫جدول‬ ،‫مثال‬ ‫عنوان‬ ‫به‬ Filter ‫منظور‬ ‫به‬ ‫جدول‬ ‫و‬ ‫است‬ ‫شده‬ ‫طراحی‬ ‫ها‬‫بسته‬ ‫کردن‬ ‫فیلتر‬ Nat ‫آدرس‬ ‫ی‬‫ترجمه‬ ‫برای‬ ‫فقط‬ IP .‫شود‬‫می‬ ‫استفاده‬ ‫ها‬‫بسته‬ ‫اتصال‬ ‫پیگیری‬ : ‫های‬‫ویژگی‬ ‫ترین‬‫مهم‬ ‫از‬ ‫یکی‬ Netfilter ‫و‬ ‫کند‬ ‫پیگیری‬ ‫را‬ ‫ها‬‫جلسه‬ ‫یا‬ ‫شبکه‬ ‫های‬‫اتصال‬ ‫کلیه‬ ‫که‬ ‫دهد‬‫می‬ ‫هسته‬ ‫به‬ ‫را‬ ‫امکان‬ ‫این‬ ‫اتصال‬ ‫پیگیری‬ .‫است‬ ‫اتصال‬ ‫پیگیری‬ .‫کند‬ ‫مرتبط‬ ‫هم‬ ‫به‬ ،‫دهند‬‫می‬ ‫تشکیل‬ ‫را‬ ‫اتصال‬ ‫یک‬ ‫هم‬ ‫با‬ ‫که‬ ‫هایی‬‫بسته‬ ‫کلیه‬ ‫وسیله‬‫بدین‬ NAT ‫و‬ ‫دارد‬ ‫نیاز‬ ‫هم‬ ‫به‬ ‫مرتبط‬ ‫های‬‫بسته‬ ‫ی‬‫ترجمه‬ ‫برای‬ ‫اطلعات‬ ‫این‬ ‫به‬ IPTables ‫زیر‬ ‫شرح‬ ‫به‬ ‫مختلف‬ ‫های‬‫حالت‬ ‫به‬ ‫را‬ ‫بسته‬ ‫هر‬ ،‫اتصال‬ ‫پیگیری‬ .‫کند‬ ‫عمل‬ ‫دار‬‫حالت‬ ‫آتش‬ ‫دیواره‬ ‫یک‬ ‫مانند‬ ‫و‬ ‫کند‬ ‫استفاده‬ ‫اطلعات‬ ‫این‬ ‫از‬ ‫تواند‬‫می‬ :‫کند‬‫می‬ ‫بندی‬‫طبقه‬ • ‫جدید‬ .‫جدید‬ ‫اتصال‬ ‫یک‬ ‫ی‬‫بسته‬ ‫اولین‬ : • ‫شده‬‫برقرار‬ .‫دارد‬ ‫وجود‬ ‫که‬ ‫است‬ ‫اتصالی‬ ‫از‬ ‫قسمتی‬ ‫که‬ ‫ای‬‫بسته‬ : • ‫وابسته‬ .‫است‬ ‫مرتبط‬ ‫موجود‬ ‫اتصال‬ ‫یک‬ ‫به‬ ‫اتصال‬ ‫این‬ ‫و‬ ‫است‬ ‫کرده‬ ‫شروع‬ ‫را‬ ‫جدید‬ ‫اتصال‬ ‫یک‬ ‫که‬ ‫ای‬‫بسته‬ : • ‫نامعتبر‬ .‫نیست‬ ‫ای‬‫شده‬‫شناخته‬ ‫اتصال‬ ‫هیچ‬ ‫از‬ ‫قسمتی‬ : • ‫ردیابی‬ ‫عدم‬ .‫ندهد‬ ‫انجام‬ ‫خاص‬ ‫بسته‬ ‫یک‬ ‫برای‬ ‫را‬ ‫اتصال‬ ‫پیگیری‬ ‫تا‬ ‫شود‬‫می‬ ‫داده‬ ‫نسبت‬ ‫بسته‬ ‫یک‬ ‫به‬ ‫مدیر‬ ‫توسط‬ ‫که‬ ‫است‬ ‫خاصی‬ ‫حالت‬ : ‫زنجیره‬ : chain ‫ی‬‫مجموعه‬ ‫یک‬ ‫جدول‬ ‫هر‬ .‫دارد‬ ‫خاص‬ ‫هدف‬ ‫یک‬ ‫زنجیره‬ ‫هر‬ .‫شود‬‫می‬ ‫اعمال‬ ،‫پیمایند‬‫می‬ ‫را‬ ‫زنجیره‬ ‫که‬ ‫هایی‬‫بسته‬ ‫روی‬ ‫بر‬ ‫که‬ ‫است‬ ‫قانون‬ ‫ی‬‫مجموعه‬ ‫یک‬ ‫زنجیره‬ ‫یک‬ .‫کند‬ ‫تعریف‬ ‫را‬ ‫هایی‬‫زنجیره‬ ‫تواند‬‫می‬ ‫نیز‬ ‫کاربر‬ ‫اما‬ ‫دارد‬ ‫توکار‬ ‫زنجیره‬ ‫از‬ ‫عبارتند‬ ‫توکار‬ ‫های‬‫زنجیره‬ ‫ترین‬‫مهم‬ INPUT، OUTPUT ‫و‬ FORWARD • INPUT ‫انجام‬ ‫ها‬‫آن‬ ‫مسیریابی‬ ‫عمل‬ ‫هسته‬ ‫در‬ ‫که‬‫این‬ ‫از‬ ‫بعد‬ ‫البته‬ .‫شوند‬‫می‬ ‫وارد‬ ‫محلی‬ ‫ی‬‫شبکه‬ ‫به‬ ‫که‬ ‫شود‬‫می‬ ‫پیمایش‬ ‫هایی‬‫بسته‬ ‫توسط‬ ‫زنجیره‬ ‫این‬ : .‫شود‬ • OUTPUT .‫شوند‬‫می‬ ‫تولید‬ ‫لینوکس‬ ‫سیستم‬ ‫در‬ ‫که‬ ‫است‬ ‫هایی‬‫بسته‬ ‫برای‬ : • FORWARD ‫در‬ ‫که‬ ‫شوند‬ ‫مسیریابی‬ ‫آتش‬ ‫دیواره‬ ‫در‬ ‫باید‬ ‫ها‬‫بسته‬ ،‫شود‬‫می‬ ‫استفاده‬ ‫دیگر‬ ‫ی‬‫شبکه‬ ‫به‬ ‫شبکه‬ ‫یک‬ ‫کردن‬‫متصل‬ ‫برای‬ ‫آتش‬ ‫دیواره‬ ‫وقتی‬ : .‫رود‬‫می‬ ‫کار‬‫به‬ ‫زنجیره‬ ‫این‬ ‫مورد‬ ‫این‬ ) 10 (
  • 11. ‫از‬ ‫عبارتند‬ ‫دیگر‬ ‫ی‬‫زنجیره‬ ‫دو‬ PREROUTING ‫و‬ POSTROUTING .‫دهند‬‫می‬ ‫انجام‬ ،‫هسته‬ ‫توسط‬ ‫مسیریابی‬ ‫عمل‬ ‫از‬ ‫بعد‬ ‫و‬ ‫قبل‬ ‫را‬ ‫ها‬‫بسته‬ ‫سرآیند‬ ‫اصلح‬ ‫که‬ ) 11 (
  • 13. : ‫گفت‬ ‫میتوان‬ ‫چنین‬ ‫کلی‬ ‫طور‬ ‫به‬ Rule ‫برای‬ ‫که‬ ‫است‬ ‫دستوری‬ ‫دربرگیرنده‬ ،‫قانون‬ ‫یا‬ .‫رود‬ ‫بکار‬ ‫باید‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫یک‬ ‫وانجام‬ ‫ها‬ ‫بسته‬ ‫انتخاب‬ ‫مبدأ‬ ‫از‬ ‫شده‬ ‫ارسال‬ ‫های‬ ‫بسته‬ ‫تمام‬ :‫مثل‬ ۱۹۲.۱۶۸.۰.۱ ‫آدرس‬ ‫یا‬ .‫شوند‬ ‫حذف‬ IP ‫شده‬ ‫ارسال‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫مبدا‬ ‫کامپیوتر‬ ‫از‬ ۱۹۲.۱۶۸.۰.۵ ‫به‬ ۸۰.۴۰.۵۰.۶۰ .‫یابد‬ ‫تغییر‬ Chain ‫مثل‬ .‫باشد‬ ‫می‬ ‫قوانین‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ،‫زنجیر‬ ‫یا‬ ‫یک‬ ‫تشکیل‬ ‫یکدیگر‬ ‫با‬ ‫توانند‬ ‫می‬ ‫بال‬ ‫قانون‬ ‫دو‬ chain ‫نام‬ ‫به‬ . testchain ‫را‬ ‫بدهند‬ ) 13 (
  • 14. : ‫خلصه‬ ‫واقع‬‫در‬ Netfilter ‫و‬ IPTables ‫کرنل‬ ‫درون‬ ‫افزاری‬ ‫نرم‬ ‫ساختاری‬ 2.4 . x ‫کرنل‬ ‫و‬ 2.6 . x ‫بتوان‬ ‫آن‬ ‫کمک‬ ‫به‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫که‬ ‫باشد‬ ‫می‬ packet filtering ) ‫فیلتر‬ ‫معرفی‬ ‫پرتکل‬ ‫های‬ ‫بسته‬ ‫کردن‬ ( ، NAT ) ‫شبکه‬ ‫آدرس‬ ‫ترجمه‬ ( ‫ها‬ ‫بسته‬ ‫به‬ ‫مربوط‬ ‫اعمال‬ ‫سایر‬ ‫و‬ ) mangle ( ‫داد‬ ‫انجام‬ ‫را‬ . ‫ها‬ ‫بسته‬ ) Packet ( ‫مدل‬ ‫شبکه‬ ‫لیه‬ ‫در‬ ‫که‬ ‫است‬ ‫پروتکلی‬ ‫داده‬ ‫واحد‬ ، OSI ‫باشد‬ ‫می‬ ‫عمل‬ ‫حال‬ ‫در‬ " . ‫پروتکل‬ ‫داده‬ ‫واحد‬ " ‫مخفف‬ ‫کلمه‬ ‫با‬ PDU ‫از‬ ‫که‬ ‫عبارت‬ Protocol Data Unit ‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬ ،‫باشد‬ ‫می‬ . PDU ‫متفاوت‬ ‫های‬ ‫لیه‬ ‫در‬ ‫و‬ ‫مختلف‬ ‫های‬ ‫پروتکل‬ ‫برای‬ ‫ها‬ OSI ‫دارد‬ ‫تفاوت‬ ‫یکدیگر‬ ‫با‬ . ‫مثل‬ PDU ) ‫پروتکل‬ ‫داده‬ ‫واحد‬ ‫یعنی‬ ( ‫لیه‬ ‫در‬ 2 ‫لیه‬ ‫در‬ ‫حالیکه‬ ‫در‬ ‫باشد‬ ‫می‬ ‫فریم‬ ، 3 ‫است‬ ‫بسته‬ ، . ‫اصطلح‬ ‫اوقات‬ ‫گاهی‬ PDU ‫گردد‬ ‫می‬ ‫شبکه‬ ‫دنیای‬ ‫به‬ ‫واردان‬ ‫تازه‬ ‫سردرگمی‬ ‫باعث‬ . ‫گویند‬ ‫می‬ ‫وقتی‬ ‫مثل‬ PDU ‫رسانه‬ ‫روی‬ ‫بر‬ ‫حرکت‬ ‫حال‬ ‫در‬ ) ‫سیم‬ ( ‫در‬ ‫یا‬ ‫و‬ ‫است‬ ‫فریم‬ ‫منظور‬ ،‫دوم‬ ‫لیه‬ . ‫سوم‬ ‫لیه‬ ‫به‬ ‫مربوط‬ ‫که‬ ‫ها‬ ‫بسته‬ ) ‫یعنی‬ Network ( ‫گیرند‬ ‫می‬ ‫قرار‬ ‫ها‬ ‫فریم‬ ‫درون‬ ،‫باشند‬ ‫می‬ . ‫بسته‬ ‫یک‬ ‫ساختار‬ ‫با‬ ‫صورتیکه‬ ‫در‬ ‫بپردازیم‬ ‫ها‬ ‫بسته‬ ‫بین‬ ‫از‬ ‫انتخاب‬ ‫به‬ ،‫خاص‬ ‫قوانینی‬ ‫کمک‬ ‫به‬ ‫و‬ ‫محتویات‬ ‫این‬ ‫براساس‬ ‫و‬ ‫کرده‬ ‫وارسی‬ ‫آنرا‬ ‫محتویات‬ ‫توانیم‬ ‫می‬ ،‫باشیم‬ ‫آشنا‬ . ‫مهم‬ ‫وظایف‬ ‫از‬ ‫یکی‬ IPTables ‫قوانین‬ ‫براساس‬ ‫که‬ ‫باشد‬ ‫می‬ ‫همیم‬ ‫نیز‬ ) rule ( ‫را‬ ‫دیگر‬ ‫گروهی‬ ‫عبور‬ ‫جلوی‬ ‫یا‬ ‫و‬ ‫بدهد‬ ‫عبور‬ ‫اجازه‬ ‫بعضی‬ ‫به‬ ‫و‬ ‫کرده‬ ‫بررسی‬ ‫را‬ ‫ها‬ ‫بسته‬ ‫محتویات‬ ، ‫بگیرد‬ . IPTables ‫است‬ ‫افزار‬ ‫نرم‬ ‫یک‬ . ‫خانواده‬ ‫تر‬ ‫قدیمی‬ ‫های‬ ‫نسخه‬ ‫با‬ ‫که‬ ‫کسانی‬ Linux ‫مانند‬ Read Hat 7.x ،‫اند‬ ‫داشته‬ ‫سروکار‬ IPChain ‫آورند‬ ‫می‬ ‫خاطر‬ ‫به‬ ‫را‬ . IPChain ‫بزرگ‬ ‫پدر‬ ‫نوعی‬ ‫به‬ ‫که‬ ‫است‬ ‫قدیم‬ ‫فایروال‬ ‫یک‬ IPTable ‫گردد‬ ‫می‬ ‫محسوب‬ ! IPTables ‫کمک‬ ‫به‬ Netfilter ‫نوشت‬ ‫را‬ ‫قوانین‬ ‫توان‬ ‫می‬ ‫آن‬ ‫توسط‬ ‫که‬ ‫است‬ ‫فرمانی‬ ‫خط‬ ‫خاص‬ ‫دستورات‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫دارای‬ ‫و‬ ‫است‬ ‫شده‬ ‫ساخته‬ . ‫مثل‬ ‫آدرس‬ ‫با‬ ‫کامپیوتر‬ ‫از‬ ‫ها‬ ‫بسته‬ ‫اگر‬ ‫گوییم‬ ‫می‬ ‫قوانین‬ ‫این‬ ‫طبق‬ IP، 192.168.0.1 ‫کن‬ ‫حذف‬ ‫را‬ ‫آنها‬ ،‫بود‬ ! • NAT ‫مخفف‬ ‫که‬ Network Address Translation ‫معنی‬ ‫به‬ ‫و‬ ‫باشد‬ ‫می‬ " ‫شبکه‬ ‫آدرس‬ ‫ترجمه‬ " ‫انتقال‬ ‫برای‬ ،‫گردد‬ ‫می‬ ‫باعث‬ ‫که‬ ‫است‬ ‫استانداردی‬ ،‫است‬ ‫آدرس‬ ‫مجموعه‬ ‫یک‬ ‫از‬ ‫داخلی‬ ‫شبکه‬ ‫روی‬ ‫بر‬ ‫داده‬ ‫های‬ ‫بسته‬ IP ‫های‬ ‫آدرس‬ ‫از‬ ‫دیگری‬ ‫مجموعه‬ ‫از‬ ‫خارجی‬ ‫ترافیک‬ ‫برای‬ ‫و‬ IP ‫شود‬ ‫استفاده‬ . ‫شکل‬ ‫در‬ 1 ، ‫آدرس‬ ‫کننده‬ ‫ترجمه‬ ‫وسیله‬ ‫یک‬ ‫نقش‬ ‫تواند‬ ‫می‬ ،‫خارجی‬ ‫و‬ ‫داخلی‬ ‫شبکه‬ ‫دو‬ ‫بین‬ ‫موجود‬ ‫کامپیوتر‬ IP ‫یا‬ NAT ‫کند‬ ‫بازی‬ ‫را‬ . ‫های‬ ‫آدرس‬ ،‫کامپیوتر‬ ‫این‬ IP ‫های‬ ‫آدرس‬ ‫به‬ ‫را‬ ‫شبکه‬ ‫داخلی‬ ‫سمت‬ ‫در‬ ‫موجود‬ IP ‫میکند‬ ‫ترجمه‬ ،‫هستند‬ ‫استفاده‬ ‫مورد‬ ‫اینترنت‬ ‫یا‬ ‫و‬ ‫شبکه‬ ‫خارجی‬ ‫سمت‬ ‫روی‬ ‫بر‬ ‫که‬ ‫خارجی‬ . ‫دلیل‬ ‫از‬ ‫یکی‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫کار‬ ‫این‬ NAT ‫نشان‬ ‫را‬ ‫دیگر‬ ‫آدرس‬ ‫یک‬ ‫آنها‬ ‫به‬ ‫و‬ ‫کرده‬ ‫مخفی‬ ‫بیرونی‬ ‫کاربران‬ ‫دید‬ ‫از‬ ‫را‬ ‫خود‬ ‫داخلی‬ ‫های‬ ‫آدرس‬ ‫توانند‬ ‫می‬ ‫کاربران‬ ‫که‬ ‫است‬ ‫آن‬ ‫دهند‬ . • ) 14 (
  • 16. ‫اندازی‬ ‫راه‬ ‫امکان‬ NAT ‫عامل‬ ‫سیستم‬ ‫در‬ Windows 2003 ‫مختلف‬ ‫های‬ ‫خانواده‬ ، Linux ‫روترهای‬ ‫و‬ Cisco ‫دارد‬ ‫وجود‬ . Mangling ‫معنای‬ ‫به‬ " ‫پیچاندن‬ " ‫یا‬ ‫و‬ " ‫دادن‬ ‫فرم‬ ‫تغییر‬ " ‫و‬ ... ‫باشد‬ ‫می‬ ! ‫دنیای‬ ‫در‬ IPTable ‫شود‬ ‫می‬ ‫شنیده‬ ‫زیاد‬ ‫اصطلح‬ ‫این‬ . ‫است‬ ‫قرار‬ ‫چیزی‬ ‫چه‬ ‫ولی‬ ‫یابد؟‬ ‫تغییر‬ Mangling ) ‫محتویات‬ ‫تغییر‬ ‫یا‬ ( ‫در‬ ‫خاصی‬ ‫فیلدهای‬ ‫محتویات‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫کرنل‬ ‫به‬ Header ‫دهد‬ ‫تغییر‬ ‫را‬ ‫ها‬ ‫بسته‬ ‫به‬ ‫مربوط‬ . ‫مورد‬ ‫در‬ ‫توضیح‬ ‫حتما‬ ‫یابد؟‬ ‫تغییر‬ ‫فیلدها‬ ‫محتویات‬ ‫باید‬ ‫چرا‬ ‫ولی‬ NAT ‫اید‬ ‫نکرده‬ ‫فراموش‬ ‫را‬ . ‫وظیفه‬ NAT ‫تبدیل‬ ‫دیگری‬ ‫آدرس‬ ‫به‬ ‫را‬ ‫آدرس‬ ‫یک‬ ‫که‬ ‫بود‬ ‫آن‬ ‫کند‬ . ‫آدرس‬ ‫مثل‬ IP ‫از‬ ‫بسته‬ ‫یک‬ ‫فرستنده‬ 192.168.0.5 ‫به‬ 80.40.50.60 ‫شود‬ ‫عوض‬ . ‫فیلدهای‬ ‫از‬ ‫یکی‬ ‫در‬ ‫فرستنده‬ ‫آدرس‬ Header ‫شده‬ ‫ذخیره‬ ‫کمک‬ ‫به‬ ‫و‬ ‫است‬ Mangling ‫داد‬ ‫تغییر‬ ‫را‬ ‫فیلد‬ ‫این‬ ‫محتویات‬ ‫توان‬ ‫می‬ . ‫را‬ ‫تابع‬ ‫یک‬ ،‫کند‬ ‫می‬ ‫عبور‬ ‫قلبی‬ ‫از‬ ‫بسته‬ ‫یک‬ ‫که‬ ‫دفعه‬ ‫هر‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫کرنل‬ ‫درون‬ ‫های‬ ‫ماجول‬ ‫به‬ ‫که‬ ‫باشد‬ ‫می‬ ‫کرنل‬ ‫درون‬ ‫قلب‬ ‫تعدادی‬ ‫مانند‬ ‫دهد‬ ‫نشان‬ ‫العملی‬ ‫عکس‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫و‬ ‫بزند‬ ‫صدا‬ . IPTables ‫آنکه‬ ‫از‬ ‫پیش‬ ،‫کند‬ ‫می‬ ‫عبور‬ ‫ای‬ ‫بسته‬ ‫وقت‬ ‫هر‬ ‫و‬ ‫نموده‬ ‫استفاده‬ ‫کرنل‬ ‫های‬ ‫قلب‬ ‫از‬ ‫کند‬ ‫می‬ ‫چک‬ ‫آنرا‬ ،‫گردد‬ ‫ارسال‬ ‫خاص‬ ‫شبکه‬ ‫یک‬ ‫به‬ ‫بتواند‬ . ‫از‬ ‫بتوان‬ ‫آنکه‬ ‫برای‬ IPTables ‫باشد‬ ‫شده‬ ‫اجرا‬ ‫و‬ ‫پیکربندی‬ ‫باید‬ ‫نیز‬ ‫سرویس‬ ‫و‬ ‫باشد‬ ‫شده‬ ‫ایجاد‬ ‫کرنل‬ ‫در‬ ‫آن‬ ‫از‬ ‫پشتیبانی‬ ‫قابلیت‬ ‫باید‬ ،‫نمود‬ ‫استفاده‬ . ‫های‬ ‫خانواده‬ ‫اکثر‬ ‫در‬ ‫ویژگی‬ ‫این‬ ‫خوشبختانه‬ Linux ‫با‬ ‫و‬ ‫باشد‬ ‫شده‬ ‫فعال‬ ‫متوسط‬ ‫حالت‬ ‫در‬ ‫یا‬ ‫و‬ ‫نباشد‬ ‫فعال‬ ‫دلیلی‬ ‫به‬ ‫است‬ ‫ممکن‬ ‫ولی‬ ‫دارد‬ ‫وجود‬ ‫نکند‬ ‫کار‬ ‫قدرت‬ ‫حداکثر‬ ! ‫که‬ ‫است‬ ‫آن‬ ‫علت‬ IPTables ‫اعمال‬ ‫از‬ ‫بسیاری‬ ‫است‬ ‫ممکن‬ ‫و‬ ‫شود‬ ‫می‬ ‫گیر‬ ‫سخت‬ ‫بسیار‬ ،‫گردد‬ ‫فعال‬ ‫حداکثر‬ ‫حالت‬ ‫به‬ ‫وقتی‬ ‫بیفتد‬ ‫کار‬ ‫از‬ ‫نیز‬ ‫ای‬ ‫شبکه‬ ‫جاری‬ . ‫قانون‬ ‫تعدادی‬ ،‫فایروال‬ ‫اندازی‬ ‫راه‬ ‫با‬ ) rule ( ‫زنجیر‬ ‫و‬ ) chain ( ‫فایروال‬ ‫به‬ ‫متصل‬ ‫های‬ ‫شبکه‬ ‫بین‬ ‫خواهند‬ ‫می‬ ‫که‬ ‫هایی‬ ‫بسته‬ ‫برای‬ ‫و‬ ‫گردد‬ ‫می‬ ‫ایجاد‬ ‫گردد‬ ‫می‬ ‫استفاده‬ ،‫یابند‬ ‫انتقال‬ . • 4 . ‫ساختار‬ IPTables : ‫از‬ ‫استفاده‬ ‫برای‬ IPTables ‫شد‬ ‫آشنا‬ ‫آن‬ ‫سازنده‬ ‫اجزاء‬ ‫با‬ ‫باید‬ . ‫فایروال‬ IPTables ‫دارای‬ 3 ‫شکل‬ ‫در‬ ‫که‬ ‫میباشد‬ ‫اصلی‬ ‫عنصر‬ 2 ‫است‬ ‫آمده‬ . ‫این‬ 3 ‫بلک‬ ‫از‬ ‫عبارتند‬ ‫فایروال‬ ‫ساختار‬ ‫سازنده‬ : ‫قانون‬ ‫و‬ ‫زنجیر‬ ،‫جدول‬ . ) 16 (
  • 17. Rule ‫رود‬ ‫بکار‬ ‫باید‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫و‬ ‫ها‬ ‫بسته‬ ‫انتخاب‬ ‫برای‬ ‫که‬ ‫است‬ ‫دستوری‬ ‫دربرگیرنده‬ ،‫قانون‬ ‫یا‬ . ‫مثل‬ : ‫مبدا‬ ‫از‬ ‫شده‬ ‫ارسال‬ ‫های‬ ‫بسته‬ ‫تمام‬ 192.168.0.1 ‫شوند‬ ‫حذف‬ ، . ‫آدرس‬ ‫یا‬ IP ‫کامپیوتر‬ ‫از‬ ‫شده‬ ‫ارسال‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫مبدا‬ 192.168.0.5 ‫به‬ 80.40.50.60 ‫یابد‬ ‫تغییر‬ . ‫نمونه‬ ‫دو‬ ‫موارد‬ ‫این‬ rule ‫گردند‬ ‫می‬ ‫تشکیل‬ ‫عملکرد‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫بخش‬ ‫یک‬ ‫و‬ ‫بندی‬ ‫دسته‬ ‫و‬ ‫انتخاب‬ ‫به‬ ‫مربوط‬ ‫بخش‬ ‫یک‬ ‫از‬ ‫خود‬ ‫که‬ ‫دهند‬ ‫می‬ ‫نشان‬ ‫را‬ . Chain ‫باشد‬ ‫می‬ ‫قوانین‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ،‫زنجیر‬ ‫یا‬ . ‫یک‬ ‫تشکیل‬ ‫یکدیگر‬ ‫با‬ ‫توانند‬ ‫می‬ ‫بال‬ ‫قانون‬ ‫دو‬ ‫مثل‬ chain ‫نام‬ ‫به‬ testchn ‫بدهند‬ ‫را‬ . Table ‫باشد‬ ‫می‬ ‫زنجیرها‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ،‫جدول‬ ‫یا‬ . ‫مثل‬ chain ‫دو‬ ‫با‬ ‫فوق‬ chain ‫فرضی‬ ‫های‬ ‫نام‬ ‫به‬ ‫دیگر‬ mainchn ‫و‬ changechn ‫نام‬ ‫به‬ ‫جدول‬ ‫یک‬ ‫تشکیل‬ input_tbl ‫بدهند‬ ‫را‬ . IPTables ‫دارای‬ ‫فرض‬ ‫پیش‬ ‫شکل‬ ‫به‬ 3 ‫های‬ ‫نام‬ ‫به‬ ‫اصلی‬ ‫جدول‬ filter ، nat ‫و‬ mangle ‫باشد‬ ‫می‬ . ‫این‬ ‫به‬ ‫نیز‬ ‫را‬ ‫دیگری‬ ‫جداول‬ ‫نیاز‬ ‫برحسب‬ ‫میتوان‬ ‫البته‬ ‫نمود‬ ‫اضافه‬ ‫مجموعه‬ . ‫بندی‬ ‫دسته‬ ‫برای‬ ‫و‬ ‫کاربران‬ ‫توسط‬ ‫جداول‬ ‫این‬ chain ‫و‬ ‫ها‬ rule ‫دارد‬ ‫کاربرد‬ ‫خودشان‬ ‫توسط‬ ‫شده‬ ‫تعریف‬ ‫های‬ . ‫بخواهند‬ ‫که‬ ‫هم‬ ‫زمانی‬ ‫هر‬ ‫ولی‬ ‫نمایند‬ ‫حذف‬ ‫را‬ ‫خود‬ ‫جداول‬ 3 ‫فرض‬ ‫پیش‬ ‫جدول‬ filter ، nat ‫و‬ mangle ‫نیستند‬ ‫حذف‬ ‫قابل‬ . ‫گردد‬ ‫می‬ ‫ارائه‬ ‫فوق‬ ‫گانه‬ ‫سه‬ ‫جداول‬ ‫از‬ ‫کدام‬ ‫هر‬ ‫مورد‬ ‫در‬ ‫توضیحی‬ ‫زیر‬ ‫در‬ : ‫جدول‬ filter : ‫و‬ ‫قوانین‬ ‫کلیه‬ ‫گیرنده‬ ‫بر‬ ‫در‬ chain ‫باشد‬ ‫می‬ ‫ها‬ ‫بسته‬ ‫نمودن‬ ‫فیلتر‬ ‫های‬ . ‫سوی‬ ‫از‬ ‫ارسالی‬ ‫های‬ ‫بسته‬ ‫حذف‬ ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫مثل‬ ‫شبکه‬ 172.16.0.0 ‫برای‬ ‫عبور‬ ‫مجوز‬ ‫صدور‬ ‫یا‬ ‫و‬ ‫کامپیوتر‬ ‫از‬ ‫ارسالی‬ ‫های‬ ‫بسته‬ 10.10.5.8 ‫و‬ ... ‫گیرند‬ ‫می‬ ‫قرار‬ ‫جدول‬ ‫این‬ ‫در‬ ‫همگی‬ . ‫علوه‬ ‫پورت‬ ‫مثل‬ ‫خاص‬ ‫پروتکل‬ ‫و‬ ‫پورت‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫بسته‬ ‫که‬ ‫کرد‬ ‫تعریف‬ ‫جدول‬ ‫این‬ ‫در‬ ‫قوانینی‬ ‫توان‬ ‫می‬ ‫اینها‬ ‫بر‬ 80 ‫پروتکل‬ ‫به‬ ‫مربوط‬ ‫که‬ http ) ‫وب‬ ‫همان‬ ‫یا‬ ( ‫پورت‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫بسته‬ ‫ولی‬ ‫باشند‬ ‫داشته‬ ‫عبور‬ ‫اجازه‬ ‫است‬ 21 ‫پروتکل‬ ‫یا‬ ftp ‫باشند‬ ‫نداشته‬ ‫عبور‬ ‫اجازه‬ . ‫این‬ ‫اصلی‬ ‫وظیفه‬ ‫پس‬ ‫کنند‬ ‫نمی‬ ‫فیلتر‬ ‫که‬ ‫است‬ ‫قوانینی‬ ‫یا‬ ‫و‬ ‫کننده‬ ‫فیلتر‬ ‫قوانین‬ ‫نگهداری‬ ‫جدول‬ . ‫مانند‬ ‫گوناگون‬ ‫معیارهای‬ ‫براساس‬ ‫نکردن‬ ‫فیلتر‬ ‫یا‬ ‫و‬ ‫کردن‬ ‫فیلتر‬ ‫عمل‬ ‫آدرس‬ IP ‫و‬ ‫پورت‬ ‫شماره‬ ‫یا‬ ‫و‬ ‫مقصد‬ ‫و‬ ‫مبدا‬ ... ‫پذیرد‬ ‫می‬ ‫صورت‬ . • ‫جدول‬ nat : ‫مورد‬ ‫در‬ ‫توضیح‬ nat ‫دارید‬ ‫خاطر‬ ‫به‬ ‫که‬ ‫را‬ . ‫و‬ ‫قوانین‬ ‫کلیه‬ ‫گیرنده‬ ‫بر‬ ‫در‬ ‫جدول‬ ‫این‬ chain ‫آدرس‬ ‫ترجمه‬ ‫وظیفه‬ ‫که‬ ‫است‬ ‫هایی‬ IP ‫را‬ ‫دارند‬ ‫برعهده‬ . ‫بگیرید‬ ‫نظر‬ ‫در‬ ‫را‬ ‫زیر‬ ‫قانون‬ ‫مثال‬ ‫بعنوان‬ : ‫کامپیوتر‬ ‫از‬ ‫ای‬ ‫بسته‬ ‫اگر‬ 10.10.10.8 ‫آدرس‬ ،‫شد‬ ‫ارسال‬ IP ‫به‬ ‫را‬ ‫فرستنده‬ 80.50.60.90 ‫بدهید‬ ‫تغییر‬ . ‫دهد‬ ‫می‬ ‫انجام‬ ‫را‬ ‫آدرس‬ ‫ترجمه‬ ‫عمل‬ ‫بلکه‬ ،‫دهد‬ ‫نمی‬ ‫انجام‬ ‫فیلتر‬ ‫مورد‬ ‫در‬ ‫عملی‬ ‫قانون‬ ‫این‬ . ‫جدول‬ ‫در‬ ‫آن‬ ‫جای‬ ‫بنابراین‬ filter ‫جدول‬ ‫در‬ ‫باید‬ ‫و‬ ‫نبوده‬ nat ‫قرار‬ ‫گیرد‬ . ‫جدول‬ mangle : ‫فیلدهای‬ ‫دستکاری‬ ‫به‬ ‫مربوط‬ ،‫پیشرفته‬ ‫اعمال‬ ‫کلیه‬ header ‫می‬ ‫صورت‬ ‫جدول‬ ‫این‬ ‫در‬ ‫موجود‬ ‫قوانین‬ ‫توسط‬ ‫شبکه‬ ‫در‬ ‫ارسالی‬ ‫های‬ ‫بسته‬ ‫در‬ ‫گیرد‬ . ‫جدول‬ ‫تفاوت‬ nat ‫و‬ mangle ‫تغییر‬ ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫فقط‬ ‫که‬ ‫است‬ ‫آن‬ ‫در‬ ‫آدرس‬ IP ‫جدول‬ ‫در‬ ‫پورت‬ ‫یا‬ ‫و‬ nat ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫سایر‬ ‫ولی‬ ‫گیرند‬ ‫می‬ ‫قرار‬ ‫فیلدهای‬ ‫تغییر‬ header ‫جدول‬ ‫در‬ ،‫دارند‬ ‫کاربرد‬ ‫پیشرفته‬ ‫حالت‬ ‫در‬ ‫که‬ mangle ‫گیرند‬ ‫می‬ ‫جای‬ . • ‫تعدادی‬ ،‫جداول‬ ‫این‬ ‫از‬ ‫هرکدام‬ ‫درون‬ chain ‫گیرد‬ ‫می‬ ‫قرار‬ ‫فرض‬ ‫پیش‬ ‫شکل‬ ‫به‬ . ‫این‬ ‫جمله‬ ‫از‬ chain ‫به‬ ‫میتوان‬ ‫ها‬ 8 ‫عدد‬ chain ،‫است‬ ‫آمده‬ ‫زیر‬ ‫در‬ ‫که‬ ‫اصلی‬ ) 17 (
  • 18. ‫کرد‬ ‫اشاره‬ : chain ‫های‬ input، forward ‫و‬ output ‫جدول‬ filter 1 chain ‫های‬ prerouting ‫و‬ postrouting ‫جدول‬ nat 2 chain ‫های‬ prerouting ، input ‫و‬ output ‫جدول‬ mangle 3 ‫از‬ ‫تعدادی‬ ‫فقط‬ ‫ها‬ ‫این‬ ‫البته‬ chain ‫تمام‬ ‫بر‬ ‫علوه‬ ‫و‬ ‫بوده‬ ‫فرض‬ ‫پیش‬ ‫های‬ chain ‫ساخت‬ ‫امکان‬ ‫فرض‬ ‫پیش‬ ‫های‬ chain ‫دارد‬ ‫وجود‬ ‫نیز‬ ‫کاربران‬ ‫توسط‬ . ‫شکل‬ 3 ‫های‬ ‫جدول‬ ‫در‬ ‫موجود‬ ‫قوانین‬ ‫و‬ ‫باشد‬ ‫می‬ ‫چگونه‬ ‫ها‬ ‫بسته‬ ‫حرکت‬ ‫نحوه‬ ،‫مقاله‬ ‫این‬ ‫در‬ ‫بحث‬ ‫مورد‬ ‫مدل‬ ‫شبکه‬ ‫در‬ ‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬ IPTable ‫چه‬ ‫در‬ ، ‫دهند‬ ‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫فایروال‬ ‫به‬ ‫خروجی‬ ‫یا‬ ‫و‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫نقاطی‬ . ‫ساختار‬ ‫کل‬ ‫تواند‬ ‫می‬ ‫شبکه‬ ‫مدیر‬ IPTables ‫عملکرد‬ .‫نماید‬ ‫فعال‬ ‫کامپیوتر‬ ‫اینترفیس‬ ‫هر‬ ‫روی‬ ‫بر‬ ‫را‬ ‫آن‬ ‫از‬ ‫قسمتی‬ ‫فقط‬ ‫یا‬ ‫و‬ IPTables ‫یک‬ ‫تا‬ ‫شود‬ ‫می‬ ‫باعث‬ .‫گردد‬ ‫فایروال‬ ‫به‬ ‫تبدیل‬ ‫کامپیوتر‬ ‫شکل‬ ‫در‬ ‫که‬ ‫همانطور‬ 3 ‫بسته‬ ‫جریان‬ .‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫جدا‬ ‫نمودار‬ ‫دو‬ ‫در‬ ‫برعکس‬ ‫و‬ ‫داخل‬ ‫به‬ ‫خارجی‬ ‫شبکه‬ ‫از‬ ‫بسته‬ ‫یک‬ ‫حرکت‬ ‫مسیر‬ ،‫است‬ ‫مشخص‬ :‫باشد‬ ‫می‬ ‫شکل‬ ‫بدین‬ ‫ساختار‬ ‫این‬ ‫درون‬ ‫شبکه‬ ‫کارت‬ ‫طریق‬ ‫از‬ ‫فایروال‬ ‫به‬ ‫بسته‬ ‫یک‬ ‫ورود‬ ‫هنگام‬ ‫به‬ eth0 ‫زنجیر‬ ‫قسمت‬ ‫اولین‬ ، prerouting ‫جدول‬ ‫در‬ mangle ‫با‬ ‫را‬ ‫ترکیب‬ ‫این‬ .‫باشد‬ ‫می‬ mangle / prerouting ،‫باشید‬ ‫داشته‬ ‫یاد‬ ‫به‬ ‫اگر‬ .‫دهیم‬ ‫می‬ ‫نشان‬ mangling ‫در‬ ‫خاصی‬ ‫فیلدهای‬ ‫بتواند‬ ‫کرنل‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬ (‫محتویات‬ ‫)تغییر‬ header ‫تغییر‬ ‫را‬ .‫سازند‬ ‫می‬ ‫ممکن‬ ‫را‬ ‫عمل‬ ‫این‬ ‫زنجیر‬ ‫این‬ ‫در‬ ‫موجود‬ ‫قوانین‬ .‫دهید‬ ‫از‬ mangle / prerouting ‫وارد‬ ‫بسته‬ ، nat / prerouting ‫که‬ ‫گردید‬ ‫بیان‬ ‫قبل‬ .‫شود‬ ‫می‬ nat ‫آدرس‬ ‫ترجمه‬ ‫برای‬ IP .‫رود‬ ‫می‬ ‫بکار‬ ‫دیگر‬ ‫شبکه‬ ‫به‬ ‫شبکه‬ ‫یک‬ ‫از‬ ‫آدرس‬ ‫توانند‬ ‫می‬ ،‫زنجیر‬ ‫این‬ ‫در‬ ‫موجود‬ ‫قوانین‬ IP .‫کنند‬ ‫عوض‬ ‫را‬ ‫مقصد‬ ‫پورت‬ ‫آدرس‬ ‫یا‬ ‫و‬ ‫مقصد‬ ‫فایروال‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫اگر‬ ‫بنابراین‬ IPTables ‫پروتکل‬ ‫به‬ ‫مربوط‬ ‫اگر‬ ،‫اینترنتی‬ ‫کاربران‬ ‫سوی‬ ‫از‬ ‫فایروال‬ ‫به‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫که‬ ‫بنویسیم‬ ‫قوانینی‬ ‫بخواهیم‬ http ‫آدرس‬ ‫سمت‬ ‫به‬ ،‫بودند‬ 192.168.5.5 ‫در‬ ‫باید‬ ،‫شوند‬ ‫هدایت‬ ‫داخلی‬ ‫شبکه‬ ‫روی‬ nat / prerouting ‫به‬ ‫مربوط‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫مقصد‬ ‫آدرس‬ ، http ‫به‬ ‫را‬ 192.168.5.5 .‫داد‬ ‫تغییر‬ : ‫باشید‬ ‫داشته‬ ‫خاطر‬ ‫به‬ ‫بنابراین‬ nat / prerouting ‫آدرس‬ ‫تغییر‬ ‫برای‬ IP ‫بخش‬ .‫باشد‬ ‫می‬ ‫مقصد‬ ‫پورت‬ ‫آدرس‬ ‫یا‬ ‫و‬ ‫مقصد‬ Route ‫یا‬ ‫و‬ ‫زنجیر‬ ‫یا‬ ‫جدول‬ ‫یک‬ ،‫است‬ ‫آمده‬ ‫شکل‬ ‫در‬ ‫که‬ rule ) 18 (
  • 19. .‫نباشد‬ Roué ‫آدرس‬ ‫نیز‬ ‫گیری‬ ‫تصمیم‬ ‫اساس‬ .‫شود‬ ‫ارسال‬ ‫جدول‬ ‫کدام‬ ‫و‬ ‫زنجیر‬ ‫کدام‬ ‫به‬ ‫باید‬ ‫بسته‬ ‫گیرد‬ ‫می‬ ‫تصمیم‬ ‫که‬ ‫است‬ ‫قسمتی‬ ‫فقط‬ IP .‫است‬ ‫مقصد‬ ‫بخش‬ ‫بنابراین‬ route ‫آدرس‬ ، (‫)مسیریابی‬ IP ‫را‬ ‫بسته‬ ‫مقصد‬ check ‫آدرس‬ ‫اگر‬ .‫کند‬ ‫می‬ IP ‫آدرس‬ ‫مساوی‬ ،‫بسته‬ ‫مقصد‬ IP ‫است‬ ‫معلوم‬ ،‫باشد‬ ‫فایروال‬ ‫خود‬ ‫و‬ ‫شده‬ ‫ارسال‬ ‫فایروال‬ ‫برای‬ ‫بسته‬ ‫که‬ route ‫قسمت‬ ‫به‬ ‫را‬ ‫بسته‬ mangle / input ‫آدرس‬ ‫اگر‬ .‫نماید‬ ‫می‬ ‫ارسال‬ IP ،‫باشد‬ ‫دیگری‬ ‫چیز‬ ‫هر‬ ‫مقصد‬ route ‫را‬ ‫بسته‬ ‫به‬ filter / forward ‫قسمت‬ .‫کند‬ ‫می‬ ‫ارسال‬ filter / input ‫این‬ .‫میدهد‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫شوند‬ ‫وارد‬ ‫فایروال‬ ‫به‬ ‫خواهند‬ ‫می‬ ‫که‬ ‫را‬ ‫هایی‬ ‫بسته‬ ‫تمام‬ ، ‫یا‬ ‫بسته‬ ‫کننده‬ ‫فیلتر‬ ‫یک‬ ‫ساده‬ ‫عبارت‬ ‫به‬ .‫شود‬ ‫بلک‬ ‫باید‬ ‫یا‬ ‫و‬ ‫باشد‬ ‫می‬ ‫قبول‬ ‫مورد‬ ‫بسته‬ ‫یک‬ ‫آیا‬ ‫کند‬ ‫می‬ ‫معین‬ ‫که‬ ‫است‬ ‫قوانینی‬ ‫حاوی‬ ‫زنجیر‬ packet-filter .‫باشد‬ ‫می‬ ‫عنوان‬ ‫با‬ ‫شکل‬ ‫روی‬ ‫بر‬ ‫دیگر‬ ‫قسمت‬ ‫یک‬ local process ‫ممکن‬ ‫فایروال‬ ‫روی‬ ‫بر‬ ‫موجود‬ ‫های‬ ‫پراسس‬ ‫از‬ ‫بعضی‬ .‫است‬ ‫شده‬ ‫مشخص‬ ‫محلی‬ ‫های‬ ‫پراسس‬ ‫یا‬ ‫تواند‬ ‫می‬ ‫دسته‬ ‫این‬ ‫از‬ ‫مثال‬ ‫یک‬ .‫نمایند‬ ‫برقرار‬ ‫ارتباط‬ ‫شبکه‬ ‫روی‬ ‫موجود‬ ‫های‬ ‫سرویس‬ ‫و‬ ‫وسایل‬ ‫سایر‬ ‫با‬ ‫شبکه‬ ‫کارت‬ ‫طریق‬ ‫از‬ ‫بخواهند‬ ‫است‬ ping ‫کردن‬ ‫سرویس‬ ‫بودن‬ ‫موجود‬ ‫یا‬ ‫و‬ ،‫فایروال‬ ‫پشت‬ ‫از‬ ‫دیگر‬ ‫کامپیوترهای‬ DNS ‫سرویس‬ ‫یا‬ ‫و‬ NTP .‫باشد‬ ‫فایروال‬ ‫کامپیوتر‬ ‫روی‬ ‫بر‬ ‫به‬ ‫ابتدا‬ ‫ها‬ ‫بسته‬ ‫نوع‬ ‫این‬ mangle / output ‫زنجیر‬ .‫شوند‬ ‫می‬ ‫وارد‬ mangle / output ‫به‬ ‫شبیه‬ ‫عملکردی‬ mangle / prerouting ‫این‬ ‫در‬ ‫تفاوت‬ ‫ولی‬ .‫دارند‬ ‫زنجیر‬ ‫به‬ ،‫شوند‬ ‫می‬ ‫تولید‬ ‫فایروال‬ ‫خود‬ ‫توسط‬ ‫که‬ ‫هایی‬ ‫بسته‬ ‫فقط‬ ‫که‬ ‫است‬ mangle / output .‫شوند‬ ‫می‬ ‫وارد‬ ‫زنجیر‬ filter / output ‫یک‬ ‫آیا‬ ‫که‬ ‫کنند‬ ‫می‬ ‫مشخص‬ ‫که‬ ‫هستند‬ ‫قوانینی‬ ‫شامل‬ ‫زنجیر‬ ‫این‬ .‫کند‬ ‫می‬ ‫مدیریت‬ ‫را‬ ‫شوند‬ ‫می‬ ‫خارج‬ ‫فایروال‬ ‫از‬ ‫که‬ ‫را‬ ‫هایی‬ ‫بسته‬ ، ‫یک‬ ‫نیز‬ ‫بخش‬ ‫این‬ ،‫ساده‬ ‫عبارت‬ ‫به‬ .‫شود‬ ‫بلک‬ ‫یا‬ ‫و‬ ‫گیرد‬ ‫قرار‬ ‫موردقبول‬ ‫باید‬ ‫بسته‬ packet-filter ‫زنجیر‬ ،‫موازی‬ ‫مسیر‬ ‫در‬ .‫باشد‬ ‫می‬ filter / forward ‫بسته‬ ‫اجازه‬ ‫آن‬ ‫به‬ ‫یا‬ ‫و‬ ‫کرده‬ ‫حذف‬ ‫آنرا‬ ‫بسته‬ ‫ویژگیهای‬ ‫براساس‬ ‫و‬ ‫داده‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫شوند‬ ‫می‬ ‫فرستاده‬ ‫داخلی‬ ‫شبکه‬ ‫سمت‬ ‫به‬ ‫خارجی‬ ‫شبکه‬ ‫از‬ ‫که‬ ‫را‬ ‫هایی‬ .‫دهند‬ ‫می‬ ‫عبور‬ nat / postrouting ‫آدرس‬ ‫توان‬ ‫می‬ ‫آن‬ ‫توسط‬ ‫که‬ ‫است‬ ‫قوانینی‬ ‫گیرنده‬ ‫بر‬ ‫در‬ ‫زنجیر‬ ‫این‬ .‫باشد‬ ‫می‬ ‫ها‬ ‫بسته‬ ‫حرکتی‬ ‫مسیر‬ ‫در‬ ‫نقطه‬ ‫آخرین‬ ، IP ‫یا‬ ‫و‬ ‫مبدا‬ ‫زنجیر‬ ‫کنیم‬ ‫می‬ ‫یادآوری‬ ‫پس‬ .‫داد‬ ‫تغییر‬ ‫را‬ ‫عبوری‬ ‫بسته‬ ‫یک‬ ‫مبدا‬ ‫پورت‬ ‫شماره‬ nat / prerouting ‫آدرس‬ ‫که‬ ‫است‬ ‫قوانینی‬ ‫برگیرنده‬ ‫در‬ IP ‫پورت‬ ‫یا‬ ‫و‬ ‫مقصد‬ ‫در‬ ‫ولی‬ ‫کنند‬ ‫می‬ ‫عوض‬ ‫را‬ ‫مقصد‬ nat / postrouting ‫آدرس‬ ‫که‬ ‫داریم‬ ‫قوانینی‬ IP .‫کنند‬ ‫می‬ ‫عوض‬ ‫را‬ ‫مبدا‬ ‫پورت‬ ‫شماره‬ ‫و‬ ‫مبدا‬ : ‫واقع‬‫در‬ IPTables ‫ابزار‬ ‫کمک‬ ‫به‬ ‫که‬ ‫است‬ ‫فایروال‬ ‫یک‬ Netfilter ‫از‬ ‫قبل‬ ‫نسل‬ .‫است‬ ‫شده‬ ‫ساخته‬ ، IPTables ‫نام‬ ‫با‬ IPchains ‫درون‬ .‫شود‬ ‫می‬ ‫شناخته‬ IPTables ، ‫شکل‬ ‫در‬ ‫که‬ ‫دارند‬ ‫قرار‬ ‫یکدیگر‬ ‫با‬ ‫خاصی‬ ‫ارتباط‬ ‫در‬ ‫زنجیرها‬ .‫داریم‬ ‫را‬ ‫قوانین‬ ‫و‬ ‫زنجیرها‬ ،‫جداول‬ 3 ‫جداول‬ ‫از‬ ‫هرکدام‬ ‫کاربرد‬ ‫خلصه‬ ‫شکل‬ ‫به‬ .‫شد‬ ‫داده‬ ‫نشان‬ ‫جدول‬ ‫مطابق‬ ‫آنها‬ ‫درون‬ ‫زنجیر‬ ‫و‬ 1 :‫باشد‬ ‫می‬ ‫زنجیر‬ ‫نام‬ / ‫جدول‬ ‫نام‬ mangle / prerouting ‫شود‬ ‫می‬ ‫استفاده‬ ‫ندرت‬ ‫به‬ nat / prerouting ‫آدرس‬ ‫تغییر‬ IP ‫مقصد‬ ‫پورت‬ ‫و‬ ‫مقصد‬ filter / forward ) ‫انتقال‬ forward ‫آن‬ ‫کنترل‬ ‫و‬ ‫دیگر‬ ‫شبکه‬ ‫به‬ ‫شبکه‬ ‫یک‬ ‫از‬ ‫بسته‬ ( ) 19 (
  • 20. nat / postrouting ‫آدرس‬ ‫تغییر‬ IP ‫مبدا‬ ‫پورت‬ ‫و‬ ‫مبدا‬ filter / input ‫زنجیر‬ input ‫کند‬ ‫می‬ ‫چک‬ ‫را‬ ‫فایروال‬ ‫خود‬ ‫به‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫که‬ mangle / input ‫شود‬ ‫می‬ ‫استفاده‬ ‫ندرت‬ ‫به‬ mangle / output ‫شود‬ ‫می‬ ‫استفاده‬ ‫ندرت‬ ‫به‬ filter / output ‫زنجیر‬ output ‫کند‬ ‫می‬ ‫چک‬ ‫را‬ ‫فایروال‬ ‫خود‬ ‫از‬ ‫خروجی‬ ‫های‬ ‫بسته‬ ‫که‬ ) 20 (
  • 21. ‫گیرد‬ ‫می‬ ‫انجام‬ ‫زیر‬ ‫فرمان‬ ‫با‬ ‫که‬ ‫باشد‬ ‫می‬ ‫مرتبط‬ ‫سرویس‬ ‫نمودن‬ ‫فعال‬ ‫دستور‬ ‫این‬ ‫با‬ ‫کار‬ ‫برای‬ ‫اول‬ ‫قدم‬ : service iptables start ‫نکته‬ : ‫سرویس‬ ‫اینکه‬ ‫از‬ ‫قبل‬ iptables ‫سرویس‬ ‫بایستی‬ ‫شود‬ ‫اجرا‬ ip6tables ‫کنیم‬ ‫غیرفعال‬ ‫را‬ . ‫کنیم‬ ‫می‬ ‫وارد‬ ‫فرمان‬ ‫خط‬ ‫در‬ ‫را‬ ‫زیر‬ ‫دستورات‬ ‫کار‬ ‫این‬ ‫برای‬ : service ip6tables stop chkconfig ip6tables off ‫وضعیت‬ ‫شود‬ ‫فعال‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫سرویس‬ ‫این‬ ‫سیستم‬ ‫شدن‬ ‫بوت‬ ‫موقع‬ ‫اینکه‬ ‫برای‬ runlevel ‫حالت‬ ‫در‬ ‫بایستی‬ ON ‫شود‬ ‫می‬ ‫داده‬ ‫قرار‬ : chkconfig --level 345 iptables on ‫ها‬ ‫پورت‬ ‫کردن‬ ‫بسته‬ ‫و‬ ‫باز‬ : ‫پورت‬ ‫کردن‬ ‫باز‬ ‫برای‬ 80 ‫کنیم‬ ‫می‬ ‫استفاده‬ ‫زیر‬ ‫فرمان‬ ‫از‬ ‫فایروال‬ ‫در‬ : iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT - p ‫معادل‬ protocol ‫و‬ sport ‫معادل‬ ‫و‬ ‫مبدا‬ ‫پورت‬ dport ‫باشد‬ ‫می‬ ‫مقصد‬ ‫پورت‬ ‫معادل‬ . ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫همچنین‬ ‫از‬ ‫استفاده‬ https ‫پورت‬ ‫بایستی‬ 443 ‫باشد‬ ‫باز‬ ‫نیز‬ : iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT ‫شود‬ ‫می‬ ‫استفاده‬ ‫مشابه‬ ‫دستورات‬ ‫از‬ ‫نیز‬ ‫ها‬ ‫پورت‬ ‫سایر‬ ‫برای‬ . ‫دستور‬ ‫ساختار‬ iptables : ‫شود‬ ‫می‬ ‫تقسیم‬ ‫بخش‬ ‫دو‬ ‫به‬ ‫دستور‬ ‫این‬ ‫گرامر‬ : chain,target iptables -A chain -j target chain ‫پارامتر‬ ‫و‬ ‫است‬ ‫اصلی‬ ‫قسمت‬ – A (append ( ‫یک‬ rule ‫نماید‬ ‫می‬ ‫اضافه‬ ‫را‬ . chain ‫معادل‬ ‫تواند‬ ‫می‬ input,ouput,forward ‫می‬ ‫دائمی‬ ‫پارامترهای‬ ‫که‬ ‫باشد‬ ‫باشند‬ . ‫پارامتر‬ – j (jump ( ‫قوانین‬ ‫مجموعه‬ ‫در‬ ‫محلی‬ iptables ‫گیرد‬ ‫می‬ ‫انجام‬ ‫آنجا‬ ‫به‬ ‫پرش‬ ‫که‬ ‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ . ‫شامل‬ ‫ترتیب‬ ‫به‬ ‫آن‬ ‫مقادیر‬ accept,drop,reject ‫می‬ ‫باشند‬ . ‫پارامتر‬ ‫توسط‬ – n ‫توانید‬ ‫می‬ ‫نیز‬ chain ‫کنید‬ ‫اضافه‬ ‫سفارشی‬ ‫و‬ ‫جدید‬ ‫های‬ . ‫با‬ ‫کار‬ policy ‫های‬ firewall : Iptbles ‫پارامتر‬ ‫از‬ – p ‫ایجاد‬ ‫برای‬ rule ‫کند‬ ‫می‬ ‫استفاده‬ ‫فرض‬ ‫پیش‬ ‫های‬ . ‫زیر‬ ‫دستورات‬ ‫مثل‬ ‫کند‬ ‫می‬ ‫بلک‬ ‫را‬ ‫شبکه‬ ‫درگاه‬ ‫در‬ ‫دریافتی‬ ‫و‬ ‫ارسالی‬ ‫های‬ ‫پکت‬ ‫کلیه‬ : iptables -P INPUT DROP iptables -P OUTPUT DROP ‫های‬ ‫پکت‬ ‫که‬ ‫شود‬ ‫می‬ ‫توصیه‬ ‫همچنین‬ forward ‫نیز‬ ‫شده‬ denied ‫نشوند‬ ‫نمایان‬ ‫اینترنت‬ ‫در‬ ‫ناخواسته‬ ‫طور‬ ‫به‬ ‫داخلی‬ ‫شبکه‬ ‫کاربران‬ ‫تا‬ ‫شوند‬ . rule ‫انجام‬ ‫برای‬ ‫زیر‬ ‫رود‬ ‫می‬ ‫کار‬ ‫به‬ ‫کار‬ ‫این‬ : iptables -P FORWARD DROP ‫تنظیم‬ ‫از‬ ‫بعد‬ policy chain ‫توانید‬ ‫می‬ rule ‫را‬ ‫نظر‬ ‫مورد‬ ‫های‬ ‫کنید‬ ‫تعریف‬ : ‫قوانین‬ ‫بازیابی‬ ‫و‬ ‫ذخیره‬ ‫ی‬ ‫نحوه‬ iptables : ) 21 (
  • 22. Rule ‫های‬ firewall ‫کامپیوتر‬ ‫زمانیکه‬ ‫تا‬ on ‫اتوماتیک‬ ‫صورت‬ ‫به‬ ‫سیستم‬ ‫مجدد‬ ‫اندازی‬ ‫راه‬ ‫با‬ ‫و‬ ‫باشند‬ ‫می‬ ‫معتبر‬ ‫باشد‬ reset ‫شوند‬ ‫می‬ . ‫از‬ ‫بعد‬ ‫قوانین‬ ‫این‬ ‫اینکه‬ ‫برای‬ ‫کنید‬ ‫زیراستفاده‬ ‫دستور‬ ‫از‬ ‫شوند‬ ‫اجرا‬ ‫اتوماتیک‬ ‫صورت‬ ‫به‬ ،‫مجدد‬ ‫اندازی‬ ‫راه‬ : /sbin/service iptables save ‫نکته‬ : ‫سایر‬ Rule ‫مسیر‬ ‫در‬ ‫ها‬ / etc/sysconfig/iptables ‫شوند‬ ‫می‬ ‫ذخیره‬ . ) 22 (
  • 23. 1 . ‫فایروال‬ ‫وضعیت‬ ‫نمایش‬ : ‫در‬ ‫حاضر‬ ‫حال‬ ‫در‬ ‫که‬ ‫هایی‬ ‫رول‬ ‫شدن‬ ‫مشخص‬ ‫برای‬ iptables ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ،‫دارند‬ ‫وجود‬ : iptables -L -n -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 ‫بود‬ ‫خواهد‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫وضعیت‬ ‫احتمال‬ ،‫اید‬ ‫کرده‬ ‫اضافه‬ ‫هایی‬ ‫رول‬ ‫قبل‬ ‫از‬ ‫خود‬ ‫فایروال‬ ‫در‬ ‫اگر‬ : Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID 394 43586 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 93 17292 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 1 142 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID 0 0 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 wanin all -- vlan2 * 0.0.0.0/0 0.0.0.0/0 0 0 wanout all -- * vlan2 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT 425 packets, 113K bytes) pkts bytes target prot opt in out source destination Chain wanin (1 references) pkts bytes target prot opt in out source destination ) 23 (
  • 24. Chain wanout (1 references) pkts bytes target prot opt in out source destination ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫رول‬ ‫هر‬ ‫خط‬ ‫شماره‬ ‫همراه‬ ‫به‬ ‫ها‬ ‫رول‬ ‫نمایش‬ ‫برای‬ : iptables -n -L -v --line-numbers ‫بود‬ ‫خواهد‬ ‫زیر‬ ‫مشابه‬ ،‫دستور‬ ‫خروجی‬ ‫احتمال‬ : Chain INPUT (policy DROP) num target prot opt source destination 1 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID 3 TCPMSS tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU 4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 5 wanin all -- 0.0.0.0/0 0.0.0.0/0 6 wanout all -- 0.0.0.0/0 0.0.0.0/0 7 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain wanin (1 references) num target prot opt source destination Chain wanout (1 references) num target prot opt source destination ‫دستور‬ ‫توضیح‬ : L : - ‫ها‬ ‫رول‬ ‫لیست‬ v : - ‫جزئیات‬ ‫نمایش‬ n : - ‫نمایش‬ ip ‫عددی‬ ‫بصورت‬ ‫پورت‬ ‫و‬ 2 . ‫فایروال‬ ‫وضعیت‬ ‫تغییر‬ : ) 24 (
  • 25. ‫کرد‬ ‫استفاده‬ ‫توان‬ ‫می‬ ‫فایروال‬ ‫ریست‬ ‫و‬ ‫خاموش‬ ، ‫روشن‬ ‫برای‬ ‫زیر‬ ‫دستورات‬ ‫از‬ : service iptables stop service iptables start service iptables restart ‫نمائید‬ ‫وارد‬ ‫را‬ ‫زیر‬ ‫دستور‬ ، ‫بمانید‬ ‫باقی‬ ‫منوال‬ ‫همین‬ ‫به‬ ‫وضعیت‬ ‫نیز‬ ‫سرور‬ ‫ریستارت‬ ‫از‬ ‫پس‬ ‫و‬ ‫خاموش‬ ‫را‬ ‫فایروال‬ ‫خواهید‬ ‫می‬ ‫اگر‬ : service iptables stop chkconfig iptables off 3 . ‫فایروال‬ ‫های‬ ‫رول‬ ‫و‬ ‫قوانین‬ ‫حذف‬ : ‫آورید‬ ‫بدست‬ ‫را‬ ‫رول‬ ‫خط‬ ‫شماره‬ ‫زیر‬ ‫دستورات‬ ‫کمک‬ ‫به‬ ‫ابتدا‬ : 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 ‫شماره‬ ‫خط‬ ‫در‬ ‫موجود‬ ‫رول‬ ‫حذف‬ ‫برای‬ ‫مثال‬ ‫عنوان‬ ‫به‬ ‫حال‬ 4 ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ : iptables -D INPUT 4 ‫فرمایید‬ ‫استفاده‬ ‫خود‬ ‫نظر‬ ‫مورد‬ ‫پی‬ ‫ای‬ ‫به‬ ‫مروبطه‬ ‫قوانین‬ ‫حذف‬ ‫برای‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫یا‬ ‫و‬ : iptables -D INPUT -s 202.54.1.1 -j DROP ‫توضیح‬ : D : - ‫شده‬ ‫انتخاب‬ ‫زنجیره‬ ‫از‬ ‫رول‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫حذف‬ 3.1 ‫فایروال‬ ‫از‬ ‫ها‬ ‫رول‬ ‫کلیه‬ ‫حذف‬ ) Flush iptables :( ) 25 (
  • 26. ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫ها‬ ‫رول‬ ‫کلیه‬ ‫حذف‬ ‫برای‬ : iptables -F ‫تیبل‬ ‫در‬ ‫اگر‬ ‫و‬ nat ‫و‬ mangle ‫نمائید‬ ‫وارد‬ ‫است‬ ‫لزم‬ ‫نیز‬ ‫را‬ ‫زیر‬ ‫دستور‬ ‫دو‬ ، ‫کردید‬ ‫اضافه‬ ‫رولی‬ ‫نیز‬ : iptables -t nat -F iptables -t mangle -F ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫مجدد‬ ‫ها‬ ‫رول‬ ‫وضعیت‬ ‫مشاهده‬ ‫برای‬ : iptables -L -v -n 4 . ‫فایروال‬ ‫در‬ ‫فوروارد‬ ‫یا‬ ‫و‬ ‫خروجی‬ ، ‫ورودی‬ ‫ترافیک‬ ‫کردن‬ ‫مسدود‬ ‫نحوه‬ : ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫توانید‬ ‫می‬ ‫ترافیک‬ ‫کل‬ ‫کردن‬ ‫مسدود‬ ‫برای‬ ) ‫به‬ ‫شما‬ ‫دسترسی‬ ‫از‬ ‫مانع‬ ‫تواند‬ ‫می‬ ‫دستورات‬ ‫این‬ ‫که‬ ‫نمائید‬ ‫دقت‬ ‫گردد‬ ‫سرور‬ : (. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫فایروال‬ ‫در‬ ‫شده‬ ‫اضافه‬ ‫تغییرات‬ ‫نمودن‬ ‫ذخیره‬ ‫برای‬ : service iptables save ) 26 (
  • 27. iptables-save > iptable.rule : ‫کنیم‬ ‫ریستور‬ ‫را‬ ‫آن‬ ‫میتوانیم‬ ‫زیر‬ ‫دستور‬ ‫با‬ ‫سپس‬ . ‫کنیم‬ ‫ذخیره‬ ‫نظر‬ ‫مد‬ ‫مسیر‬ ‫در‬ ‫میتوانید‬ ‫را‬ ‫ها‬ ‫رول‬ ‫ما‬ ‫اینجا‬ ‫در‬ iptables-restore < iptables.rule ‫برای‬ : ‫نکته‬ save ‫فایل‬ ‫در‬ ‫را‬ ‫کردن‬ ‫ریستور‬ ‫به‬ ‫مربوط‬ ‫دستور‬ ‫توانید‬‫می‬ ‫دایمی‬ ‫بصورت‬ ‫کردن‬ interfaces ‫قرار‬ ( ‫شبکه‬ ‫کارت‬ ‫)تنظیمات‬ : ‫نمونه‬ ‫برای‬ ‫دهید‬ pre-up iptables-restore < iptables.rule 5 . ‫یک‬ ‫نمودن‬ ‫مسدود‬ ‫نحوه‬ IP ‫سرور‬ ‫روی‬ ‫بر‬ : ‫پی‬ ‫ای‬ ‫سوی‬ ‫از‬ ‫ورودی‬ ‫ترافیک‬ ‫توانید‬ ‫می‬ ‫شما‬ ‫اول‬ ‫دستورات‬ ‫کمک‬ ‫به‬ 1.2.3.4 ‫پی‬ ‫ای‬ ‫رنج‬ ‫برای‬ ‫ورودی‬ ‫ترافیک‬ ‫کل‬ ‫دوم‬ ‫دستور‬ ‫کردن‬ ‫وارد‬ ‫به‬ ‫و‬ ‫گردد‬ ‫می‬ ‫مسدود‬ ‫مثال‬ ‫مورد‬ . iptables -A INPUT -s 1.2.3.4 -j DROP iptables -A INPUT -s 192.168.0.0/24 -j DROP 6 . ‫خاص‬ ‫پورت‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫ورودی‬ ‫ترافیک‬ ‫کردن‬ ‫مسدود‬ ‫نحوه‬ : ‫پورت‬ ‫روی‬ ‫بر‬ ‫را‬ ‫ورودی‬ ‫ترافیک‬ ‫توان‬ ‫می‬ ‫زیر‬ ‫دستورات‬ ‫کمک‬ ‫به‬ 80 ‫نمائید‬ ‫مسدود‬ . ‫پورت‬ ‫از‬ ‫سرور‬ ‫وب‬ ‫معمول‬ ‫که‬ ‫است‬ ‫توضیح‬ ‫به‬ ‫لزم‬ 80 ‫برای‬ ‫کند‬ ‫می‬ ‫استفاده‬ ‫سایت‬ ‫وب‬ ‫نمایش‬ . iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP ) 27 (
  • 28. ‫پورت‬ ‫روی‬ ‫بر‬ ‫ورودی‬ ‫ترافیک‬ ‫کردن‬ ‫مسدود‬ ‫برای‬ 80 ‫یک‬ ‫برای‬ ‫تنها‬ IP ‫رنج‬ ‫یک‬ ‫یا‬ ‫و‬ IP ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫توانید‬ ‫می‬ : iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP 7 . ‫خروجی‬ ‫ترافیک‬ ‫نمودن‬ ‫مسدود‬ ‫نحوه‬ : ‫یک‬ ‫برای‬ ‫خروجی‬ ‫ترافیک‬ ‫نمودن‬ ‫مسدود‬ ‫برای‬ IP ‫رنج‬ ‫یک‬ ‫یا‬ ‫و‬ ‫خاص‬ IP ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫توانید‬ ‫می‬ : iptables -A OUTPUT -d 1.2.3.4 -j DROP iptables -A OUTPUT -d 192.168.1.0/24 -j DROP iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -j DROP 8 . ‫ها‬ ‫فعالیت‬ ‫کردن‬ ‫لگ‬ : ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫مثال‬ ‫برای‬ ‫شوید‬ ‫مطلع‬ ‫است‬ ‫وقوع‬ ‫حال‬ ‫در‬ ‫سرور‬ ‫شبکه‬ ‫روی‬ ‫بر‬ ‫که‬ ‫هایی‬ ‫فعالیت‬ ‫ریز‬ ‫از‬ ‫تا‬ ‫استفا‬ ‫نیاز‬ ‫مواقع‬ ‫از‬ ‫خیلی‬ IP spoofing ‫اینترفیس‬ ‫روی‬ ‫بر‬ eth1 ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ . ‫حالیکه‬ ‫در‬ ‫دستور‬ ‫این‬ ‫در‬ ، ‫گردد‬ ‫می‬ ‫مسدود‬ ‫مربوطه‬ ‫ترافیک‬ ‫پیشوند‬ ‫با‬ ‫نیز‬ ‫گرفته‬ ‫صورت‬ ‫های‬ ‫تلش‬ IP_SPOOF A ‫شود‬ ‫می‬ ‫ذخیره‬ ‫لگ‬ ‫در‬ : iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: " iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP ‫مسیر‬ ‫در‬ ‫ها‬ ‫لگ‬ ‫معمول‬ / var/log/messages ‫باشد‬ ‫متفاوت‬ ‫تواند‬ ‫می‬ ‫استفاده‬ ‫مورد‬ ‫لینوکس‬ ‫ویرایش‬ ‫به‬ ‫توجه‬ ‫با‬ ‫البته‬ ‫که‬ ‫دارند‬ ‫قرار‬ . ‫برای‬ ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫توانید‬ ‫می‬ ‫مربوطه‬ ‫های‬ ‫لگ‬ ‫مشاهده‬ : ) 28 (
  • 29. tail -f /var/log/messages grep --color 'IP SPOOF' /var/log/messages ‫سوکت‬ ‫قابلیت‬ ‫از‬ ‫توان‬ ‫می‬ ‫فایل‬ ‫لگ‬ ‫شدن‬ ‫حجیم‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ - m ‫برای‬ ‫که‬ ‫نمود‬ ‫تنظیم‬ ‫توان‬ ‫می‬ ‫آن‬ ‫کمک‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬ ‫دستور‬ ‫در‬ ‫هر‬ ‫در‬ ‫مثال‬ 5 ‫از‬ ‫بیش‬ ‫دقیقه‬ 7 ‫در‬ ‫را‬ ‫مورد‬ ‫ننماید‬ ‫ذخیره‬ ‫لگ‬ : iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: " iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP 9 . ‫شویم؟‬ ‫آگاه‬ ‫شبکه‬ ‫روی‬ ‫بر‬ ‫فایروال‬ ‫توسط‬ ‫پورت‬ ‫یک‬ ‫بودن‬ ‫بسته‬ ‫یا‬ ‫باز‬ ‫از‬ ‫چگونه‬ ‫فرمایئد‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫پورت‬ ‫نبودن‬ ‫و‬ ‫بودن‬ ‫باز‬ ‫از‬ ‫آگاهی‬ ‫برای‬ : netstat -tulpn ‫پورت‬ ‫پورت‬ ‫آیا‬ ‫اینکه‬ ‫از‬ ‫اطلع‬ ‫برای‬ tcp 80 ‫فرمایید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫خیر‬ ‫یا‬ ‫است‬ ‫باز‬ : netstat -tulpn | grep :80 ‫پورت‬ ‫اگر‬ 80 ‫نمائید‬ ‫وارد‬ ‫را‬ ‫زیر‬ ‫دستور‬ ‫نبود‬ ‫باز‬ : service httpd start ‫پورت‬ ‫که‬ ‫یابید‬ ‫اطمینان‬ ‫زیر‬ ‫دستور‬ ‫کمک‬ ‫به‬ 80 ‫است‬ ‫نشده‬ ‫بسته‬ ‫فایروال‬ ‫روی‬ ‫بر‬ : iptables -L INPUT -v -n | grep 80 ‫فرمایئد‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫بود‬ ‫مسدود‬ ‫صورتیکه‬ ‫در‬ : ) 29 (
  • 30. iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT service iptables save 10 . ‫فایروال‬ ‫کردن‬ ‫فعال‬ ‫غیر‬ : ‫به‬ ‫توانید‬ ‫می‬ ‫است‬ ‫شده‬ ‫شما‬ ‫سرور‬ ‫هایصلی‬ ‫سرویس‬ ‫صحیح‬ ‫کارکرد‬ ‫از‬ ‫مانع‬ ‫فایروال‬ ‫یا‬ ‫و‬ ‫هستید‬ ‫روبرو‬ ‫فایروال‬ ‫به‬ ‫دسترسی‬ ‫در‬ ‫مشکلی‬ ‫با‬ ‫اگر‬ ‫نمائید‬ ‫خاموش‬ ‫را‬ ‫فایروال‬ ‫زیر‬ ‫دستورات‬ ‫کمک‬ . ‫و‬ ‫ماند‬ ‫خواهد‬ ‫باقی‬ ‫منوال‬ ‫همین‬ ‫به‬ ‫وضعیت‬ ‫سرور‬ ‫ریستارت‬ ‫از‬ ‫پس‬ ‫نیز‬ ‫دوم‬ ‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مانند‬ ‫جانبی‬ ‫افزار‬ ‫نرم‬ ‫از‬ ‫شما‬ ‫آنکه‬ ‫مگر‬ ،‫گردد‬ ‫نمی‬ ‫فعال‬ ‫مجدد‬ ‫فایروال‬ csf ‫و‬ ‫گردد‬ ‫می‬ ‫فعال‬ ‫مجدد‬ ‫فایروال‬ ‫ترتیب‬ ‫بدین‬ ‫که‬ ‫باشید‬ ‫کرده‬ ‫استفاده‬ ‫داشت‬ ‫نخواهد‬ ‫شدن‬ ‫غیرفعال‬ ‫قابلیت‬ ‫شکل‬ ‫بدین‬ : service iptables stop chkconfig iptables off ‫با‬ ‫بیشتر‬ ‫آشنایی‬ ‫برای‬ iptables ‫مطالعه‬ ‫و‬ manual ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توانید‬ ‫می‬ ‫آن‬ ‫های‬ : man iptables ‫بود‬ ‫خواهد‬ ‫استفاده‬ ‫قابل‬ ‫زیر‬ ‫دستور‬ ‫آن‬ ‫راهنمای‬ ‫مشاهده‬ ‫برای‬ : iptables -h ‫فرمائید‬ ‫استفاده‬ ‫زیر‬ ‫سینتکس‬ ‫نیز‬ ‫هستید‬ ‫خاص‬ ‫دستور‬ ‫یک‬ ‫برای‬ ‫تنها‬ ‫فایروال‬ ‫راهنمای‬ ‫بدنبال‬ ‫اگر‬ : iptales -j DROP -h ) 30 (
  • 31. ‫دستور‬ ‫توضیح‬ # iptables -t filter -L ‫دهد‬ ‫می‬ ‫نمایش‬ ‫را‬ ‫شدن‬ ‫فیلتر‬ ‫جدول‬ ‫زنجیرهای‬ ‫تمام‬ # iptables -t nat -L ‫جدول‬ ‫های‬ ‫زنجیر‬ ‫تمام‬ nat ‫دهد‬ ‫می‬ ‫نمایش‬ ‫را‬ # iptables -t filter -F ‫کند‬‫می‬ ‫پاک‬ ‫شدن‬ ‫فیلتر‬ ‫جدول‬ ‫از‬ ‫را‬ ‫شروط‬ ‫و‬ ‫قوانین‬ ‫تمام‬ # iptables -t nat -F ‫جدول‬ ‫از‬ ‫را‬ ‫شروط‬ ‫و‬ ‫قوانین‬ ‫تمام‬ nat ‫کند‬‫می‬ ‫پاک‬ # iptables -t filter -X ‫کند‬‫می‬ ‫پاک‬ ‫را‬ ‫باشد‬ ‫شده‬ ‫درست‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫را‬ ‫زنجیری‬ ‫هر‬ # iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT ‫اتصالت‬ ‫ی‬‫اجازه‬ telnet ‫دهد‬‫می‬ ‫ورودی‬ ‫به‬ ‫را‬ # iptables -t filter -A OUTPUT -p tcp --dport http -j DROP ‫اتصالت‬ HTTP ‫کنند‬‫می‬ ‫قطع‬ ‫را‬ ‫خروجی‬ ‫به‬ # iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT ‫اتصالت‬ ‫ی‬‫اجازه‬ POP3 ‫زنجیر‬ ‫به‬ ‫را‬ forward ‫دهد‬‫می‬ # iptables -t filter -A INPUT -j LOG --log-prefix ‫ورودی‬ ‫ی‬ ‫رشته‬ ‫بروی‬ ‫اتفاقات‬ ‫ثبت‬ # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ‫پیکربندی‬ PAT ‫از‬ ‫خروجی‬ ‫های‬ ‫بسته‬ ‫بروی‬ eth0 # iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 ‫دیگر‬ ‫میزبان‬ ‫به‬ ‫میزبان‬ ‫یک‬ ‫به‬ ‫شده‬ ‫دهی‬ ‫آدرس‬ ‫های‬ ‫بسته‬ ‫مجدد‬ ‫هدایت‬ ‫ترتیب‬ ‫به‬ ‫زیر‬ ‫های‬ ‫دستور‬ LOG ‫فایل‬ ‫در‬ ‫را‬ ‫هایی‬ var/log/message / ‫خروجی‬ ‫های‬ ‫دسترسی‬ ‫برای‬ ) Outgoing Access ( ‫های‬ ‫دسترسی‬ ‫و‬ ‫ورودی‬ ) Incoming Access ( ‫پورت‬ ‫به‬ 21 ‫پروتکل‬ ‫و‬ tcp ) ‫پروتکل‬ ftp ( ‫مبدای‬ ‫هر‬ ‫از‬ ) ‫توسط‬ ‫شده‬ ‫داده‬ ‫نشان‬ s- 0/0 ( ‫کنند‬ ‫می‬ ‫ثبت‬ . log– prefix ‫اینجا‬ ‫در‬ ‫که‬ ‫خاص‬ ‫رشته‬ ‫یک‬ ‫یعنی‬ :> FTP ‫کند‬ ‫می‬ ‫اضافه‬ ‫پیام‬ ‫ابتدای‬ ‫به‬ ‫را‬ ‫است‬ . ” :> iptables -A OUTPUT -p tcp -s 0/0 dport 21 -j LOG log-prefix FTP – – “ ” :> iptables -A INPUT -p tcp -s 0/0 dport 21 -j LOG log-prefix FTP – – “ • ‫کار‬ ‫همان‬ ‫زیر‬ ‫های‬ ‫دستور‬ LOG ‫پروتکل‬ ‫برای‬ ‫را‬ ‫بال‬ icmp ‫دستور‬ ‫یا‬ ping ‫فایل‬ ‫در‬ var/log/message / ‫ثبت‬ ‫کنند‬ ‫می‬ . ” :> iptables -A OUTPUT -p icmp -j LOG --log-prefix PING “ ” :> iptables -A INPUT -p icmp -j LOG --log-prefix PING “ ) 31 (
  • 32. ‫عنوان‬ ‫به‬ ‫لینوکسی‬ ‫ماشین‬ ‫تنظیم‬ NAT NAT ‫مخفف‬ Network Address Translate ‫شبکه‬ ‫درون‬ ‫خصوصی‬ ‫های‬ ‫آدرس‬ ‫دسترسی‬ ‫برای‬ LAN ‫است‬ ‫اینترنت‬ ‫به‬ . ‫شبکه‬ ‫کارت‬ ‫هر‬ ‫معمول‬ ‫طور‬ ‫به‬ LAN ‫آدرس‬ ‫یک‬ ‫دارای‬ ‫باید‬ ‫آدرس‬ ‫یا‬ ‫عمومی‬ Valid ‫باشد‬ ‫داشته‬ ‫دسترسی‬ ‫اینترنت‬ ‫به‬ ‫بتواند‬ ‫تا‬ ‫باشد‬ . ‫از‬ ‫توان‬ ‫می‬ ‫اما‬ NAT ‫کرد‬ ‫استفاده‬ ‫اینترنت‬ ‫به‬ ‫آنها‬ ‫دسترسی‬ ‫برای‬ ‫ها‬ ‫ماشین‬ ‫همه‬ ‫برای‬ ‫عمومی‬ ‫آدرس‬ ‫یک‬ ‫و‬ . ‫ماشین‬ ‫یک‬ ‫حالت‬ ‫این‬ ‫در‬ ) ‫غیره‬ ‫یا‬ ‫ویندوز‬ ،‫لینوکس‬ ( ‫عنوان‬ ‫به‬ Router ‫وظیفه‬ NAT ‫گیرد‬ ‫می‬ ‫عهده‬ ‫به‬ ‫را‬ . ‫نقش‬ ‫که‬ ‫ماشینی‬ NAT ‫آدرس‬ ‫دو‬ ‫دارای‬ ‫دارد‬ ‫را‬ ) ‫شبکه‬ ‫کارت‬ ‫دو‬ ( ‫آدرس‬ ‫با‬ ‫است‬ ‫عمومی‬ ‫و‬ ‫خصوصی‬ ‫های‬ . ‫آدرس‬ ‫طریق‬ ‫از‬ ‫را‬ ‫اینترنت‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫درخواست‬ ‫محلی‬ ‫شبکه‬ ‫درون‬ ‫های‬ ‫ماشین‬ Gateway ‫ماشین‬ ‫به‬ ‫خود‬ NAT ‫ماشین‬ ‫و‬ ‫ارسال‬ NAT ‫آدرس‬ ‫مبدا‬ ‫آدرس‬ ‫جایگزین‬ ‫را‬ ‫خود‬ ) ‫محلی‬ ‫شبکه‬ ‫از‬ ‫کننده‬ ‫درخواست‬ ‫ماشین‬ ‫آدرس‬ ( ‫و‬ ‫رده‬Ù‫ک‬ ‫ود‬Ù‫خ‬ ‫آدرس‬ ‫ایگزین‬Ù‫ج‬ ‫را‬ ‫ی‬Ù‫محل‬ ‫دا‬Ù‫مب‬ ‫ماشین‬ ‫آدرس‬ ،‫اینترنت‬ ‫از‬ ‫پاسخ‬ ‫دریافت‬ ‫از‬ ‫پس‬ ‫و‬ ‫کرده‬ ‫دهد‬ ‫می‬ ‫مبدا‬ ‫ماشین‬ ‫تحویل‬ ‫را‬ ‫پاسخ‬ . ‫سازی‬ ‫پیاده‬ NAT ‫توسط‬ iptables ‫شود‬ ‫می‬ ‫انجام‬ . ‫جدول‬ ‫از‬ ‫همچنین‬ nat ‫به‬ ‫مربوط‬ iptables ‫یا‬ ‫زنجیره‬ ‫همراه‬ ‫به‬ chains ‫کنیم‬ ‫می‬ ‫استفاده‬ ‫آن‬ ‫های‬ . . IP Masquerade ‫آنرا‬ ‫که‬ IPMASQ ‫درون‬ ‫های‬ ‫ماشین‬ ‫به‬ ‫نامند‬ ‫می‬ ‫نیز‬ LAN ‫ماشین‬ ‫به‬ ‫را‬ ‫خود‬ ‫های‬ ‫درخواست‬ ‫آنها‬ ‫تک‬ ‫تک‬ ‫به‬ ‫عمومی‬ ‫آدرس‬ ‫اختصاص‬ ‫بدون‬ ‫تا‬ ‫هد‬ ‫می‬ ‫اجازه‬ NAT ‫کنند‬ ‫ارسال‬ . IPMASQ server ‫یک‬ ‫نقش‬ Gateway ‫است‬ ‫محلی‬ ‫شبکه‬ ‫به‬ ‫متصل‬ ‫دیگری‬ ‫و‬ ‫اینترنت‬ ‫به‬ ‫متصل‬ ‫یکی‬ ،‫شبکه‬ ‫کارت‬ ‫دو‬ ‫دارای‬ ‫که‬ ‫کند‬ ‫می‬ ‫بازی‬ ‫را‬ . ‫رای‬Ù‫ب‬ ‫محلی‬ ‫شبکه‬ ‫درون‬ ‫های‬ ‫سیستم‬ ‫تمامی‬ ‫پشت‬ ‫در‬ ‫اینترنت‬ ‫به‬ ‫دسترسی‬ IPMASQ server ‫دارند‬ ‫قرار‬ . ‫تفاوت‬ SNAT ‫و‬ IPMASQ ‫تنظیم‬ ‫در‬ ‫که‬ ‫است‬ ‫این‬ ‫در‬ IPMASQ ‫اینترنت‬ ‫به‬ ‫که‬ ‫دیوایسی‬ ‫یا‬ ‫مودم‬ ‫آدرس‬ ‫از‬ ‫ما‬ ) ‫عمومی‬ ‫شبکه‬ ( ‫کنیم‬ ‫می‬ ‫استفاده‬ ‫است‬ ‫متصل‬ . ‫در‬ ‫واقع‬ ‫در‬ SNAT ‫باشیم‬ ‫داشته‬ ‫را‬ ‫عمومی‬ ‫آدرس‬ ‫یک‬ ‫باید‬ ) ‫کنیم‬ ‫خریداری‬ ( ‫ماشین‬ ‫شبکه‬ ‫کارت‬ ‫روی‬ ‫بر‬ ‫آنرا‬ ‫و‬ NAT ‫کنیم‬ ‫تنظیم‬ . ‫در‬ ‫اما‬ IPMASQ ‫یا‬ ‫اینترنت‬ ‫به‬ ‫متصل‬ ‫دیوایس‬ ‫آدرس‬ ‫از‬ outgoing device ‫کنیم‬ ‫می‬ ‫استفاده‬ ‫مودم‬ ‫مانند‬ ) . ‫که‬ ‫آدرسی‬ ‫از‬ ISP ‫کنیم‬ ‫می‬ ‫استفاده‬ ‫است‬ ‫داده‬ ‫اختصاص‬ (. ‫تنظیم‬ ‫چگونگی‬ ‫پست‬ ‫این‬ ‫در‬ SNAT ‫و‬ IPMASQ ‫دستور‬ ‫نوسط‬ iptables ‫شد‬ ‫خواهد‬ ‫گفته‬ . ‫سازی‬ ‫پیاده‬ ‫برای‬ NAT ‫جدول‬ ‫از‬ ‫باید‬ nat ‫از‬ iptables ‫کنیم‬ ‫استفاده‬ ) ‫با‬ ‫شده‬ ‫مشخص‬ t nat (- ‫زنجیره‬ ‫از‬ ‫همچنین‬ ‫و‬ POSTROUTING ‫جدول‬ ‫از‬ nat ‫کنیم‬ ‫می‬ ‫استفاده‬ . ‫زنجیره‬ ‫کنید‬ ‫توجه‬ POSTROUTING ‫برای‬ SNAT ‫و‬ IPMASQ ‫شود‬ ‫می‬ ‫استفاده‬ . ‫واقع‬ ‫در‬ Role ‫به‬ ‫شده‬ ‫داده‬ ‫اختصاص‬ ‫های‬ POSTROUTING ‫شد‬ ‫خواهند‬ ‫انجام‬ ،‫شبکه‬ ‫از‬ ‫بسته‬ ‫ترک‬ ‫از‬ ‫پیش‬ ‫و‬ ‫یابی‬ ‫مسیر‬ ‫های‬ ‫تصمیم‬ ‫از‬ ‫پس‬ . ‫تنظیم‬ ‫از‬ ‫پیش‬ NAT ‫توسط‬ iptables ‫ویژگی‬ ‫که‬ ‫لزم‬ ip_forward ‫کنیم‬ ‫فعال‬ ‫را‬ . echo 1 > /proc/sys/net/ipv4/ip_forward “ ” ‫تنظیم‬ ‫برای‬ IPMASQ ‫توسط‬ iptables ‫کنید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE ‫بال‬ ‫دستور‬ ‫در‬ nat ‫است‬ ‫جدول‬ ‫نام‬ . ‫سوییچ‬ t - ‫رود‬ ‫می‬ ‫کار‬ ‫به‬ ‫جدول‬ ‫تعیین‬ ‫برای‬ . A POSTROUTING - ‫یک‬ Role ‫زنجیره‬ ‫برای‬ ‫را‬ POSTROUTING ‫کنید‬ ‫می‬ ‫اضافه‬ ) . Append .( ‫سوییچ‬ s - ‫مبدا‬ ‫های‬ ‫آدرس‬ ‫کننده‬ ‫مشخص‬ ) ‫محلی‬ ‫شبکه‬ ‫خصوصی‬ ‫های‬ ‫آدرس‬ ‫همان‬ ( ‫سوییچ‬ ‫و‬ o - ‫آن‬ ‫روی‬ ‫بر‬ ‫عمومی‬ ‫آدرس‬ ‫که‬ ‫خروجی‬ ‫دیوایس‬ ‫کردن‬ ‫مشخص‬ ‫برای‬ ‫تنظیم‬ ‫شده‬ ‫است‬ . ‫کنید‬ ‫استفاده‬ ‫مبدا‬ ‫های‬ ‫آدرس‬ ‫تعیین‬ ‫بدون‬ ‫زیر‬ ‫دستور‬ ‫از‬ ‫توایند‬ ‫می‬ ‫یا‬ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ‫تنظیم‬ ‫برای‬ ‫همچنین‬ SNAT ‫کنید‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬ ‫از‬ . ‫در‬ SNAT ‫دستور‬ ‫در‬ ‫دستی‬ ‫طور‬ ‫به‬ ‫عمومی‬ ‫های‬ ‫آدرس‬ ‫باید‬ iptables ‫شوند‬ ‫مشخص‬ . iptables -t nat-A POSTROUTING-s 192.168.0.0/24-o eth0-j SNAT to 4.4.3.27-4.4.3.45 – ‫تنظیم‬ ‫پس‬ ‫است‬ ‫شده‬ ‫استفاده‬ ‫عمومی‬ ‫آدرس‬ ‫دو‬ ‫بینید‬ ‫می‬ ‫که‬ ‫همانطور‬ SNAT ‫صورت‬ ‫به‬ Dynamic SNAT ‫است‬ . ‫آن‬ ‫در‬ ‫ه‬Ù Ù‫ک‬ ‫د‬Ù‫کنی‬ ‫تفاده‬Ù Ù‫اس‬ ‫عمومی‬ ‫آدرس‬ ‫یک‬ ‫از‬ ‫توانستید‬ ‫می‬ ‫صورت‬ Static SNAT ‫شد‬ ‫می‬ ‫تنظیم‬ . ICMP ) ‫مخفف‬ Internet Control Message Protocol ( ‫های‬ ‫پروتکل‬ ‫ترین‬ ‫اصلی‬ ‫از‬ ‫یکی‬ TCP/IP ‫هاست‬ ‫پیام‬ ‫دریافت‬ ‫و‬ ‫ارسال‬ ‫برای‬ . ICMP ‫هایی‬ ‫پیام‬ ‫ارسال‬ ‫جهت‬ ‫تنها‬ ) ‫بسته‬ ‫های‬ IP ( ‫ماشین‬ ‫یک‬ ‫از‬ ) ‫سیستم‬ PC ‫یا‬ Router ‫یا‬ Mobile Device ‫شبکه‬ ‫درون‬ ‫که‬ ‫آنچه‬ ‫هر‬ ‫و‬ LAN ‫از‬ ‫و‬ ‫باشد‬ ‫اینترنت‬ ‫یا‬ TCP/IP ‫کند‬ ‫استفاده‬ ( ‫کنیم‬ ‫می‬ ‫استفاده‬ ‫دیگر‬ ‫ماشین‬ ‫به‬ . ‫دستور‬ ping ‫دستور‬ ‫ترین‬ ‫اصلی‬ ) ‫برنامه‬ ( ‫کند‬ ‫می‬ ‫استفاده‬ ‫پروتکل‬ ‫این‬ ‫از‬ ‫که‬ ‫ای‬ . ‫پیام‬ ‫دو‬ echo request ‫و‬ echo reply ‫دارند‬ ‫وجود‬ ‫پروتکل‬ ‫این‬ ‫در‬ . ping ‫های‬ ‫پیام‬ ‫توسط‬ echo request ‫با‬ ‫دیگر‬ ‫سمت‬ ‫و‬ ‫فرستاده‬ ‫دیگر‬ ‫ماشین‬ ‫به‬ ‫پیامی‬ echo reply ‫دهد‬ ‫می‬ ‫پاسخ‬ . ‫دهد‬ ‫می‬ ‫نشان‬ ‫بیشتری‬ ‫اطلعات‬ ‫زیر‬ ‫شکل‬ . ) 32 (
  • 33. ICMP ‫شود‬ ‫می‬ ‫استفاده‬ ‫شبکه‬ ‫درون‬ ‫مشکلت‬ ‫رفع‬ ‫منظور‬ ‫به‬ ‫و‬ ‫است‬ ‫پورت‬ ‫شماره‬ ‫فاقد‬ ‫که‬ ‫است‬ ‫پروتکلی‬ ‫تنها‬ . ‫در‬ ‫زیر‬ ‫قانون‬ ‫سه‬ iptables ‫چیز‬ ‫همه‬ ‫که‬ ‫هستند‬ ‫این‬ ‫معرف‬ DROP ‫شوند‬ . ‫شود‬ ‫می‬ ‫وارد‬ ‫که‬ ‫بسته‬ ‫هر‬ ‫یعنی‬ ) INPUT Chain ( ‫شود‬ ‫می‬ ‫خارج‬ ‫که‬ ‫ای‬ ‫بسته‬ ‫هر‬ ‫و‬ ) OUTPUT Chain ( ‫خواهد‬ ‫می‬ ‫که‬ ‫ای‬ ‫بسته‬ ‫هر‬ ‫و‬ Forward ‫شود‬ ) FORWARD Chain ( ‫باید‬ DROP ‫کنیم‬ ‫می‬ ‫تعیین‬ ‫ما‬ ‫که‬ ‫آنهایی‬ ‫جز‬ ‫به‬ ‫شوند‬ . iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ‫های‬ ‫بسته‬ ‫تنها‬ ‫خواهیم‬ ‫می‬ ‫ولی‬ ‫شود‬ ‫می‬ ‫فیلتر‬ ‫چیز‬ ‫همه‬ ‫قانون‬ ‫سه‬ ‫این‬ ‫با‬ ‫که‬ ‫است‬ ‫این‬ ‫اصلی‬ ‫مشکل‬ ICMP ‫کنیم‬ ‫فیلتر‬ ‫را‬ . ‫کردن‬ ‫دفیلتر‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫باید‬ ICMP ‫صورت‬ ‫این‬ ‫به‬ ‫های‬ ‫پیام‬ ‫که‬ ‫است‬ echo request ‫و‬ ‫خروجی‬ echo reply ‫های‬ ‫بسته‬ ‫همچنین‬ ‫و‬ ‫ورودی‬ echo request ‫و‬ ‫ورودی‬ echo reply ‫کنیم‬ ‫فیلتر‬ ‫باید‬ ‫را‬ ‫خروجی‬ . ‫های‬ ‫پیام‬ ‫زیر‬ ‫دستور‬ echo request ‫های‬ ‫پیام‬ ‫و‬ ‫ورودی‬ echo reply ‫کند‬ ‫می‬ ‫فیلتر‬ ‫را‬ ‫خروجی‬ . iptables -A INPUT -p icmp icmp-type 8 – -s 0/0 -d 192.168.1.4 -m state state NEW,ESTABLISHED -j DROP – iptables -A OUTPUT -p icmp icmp-type 0 – s 192.168.1.3 -d 0/0 -m state state ESTABLISHED -j DROP – – ‫سوئیچ‬ p - ‫در‬ ‫پروتکل‬ ‫تعیین‬ ‫برای‬ iptables ‫مقادیر‬ ‫از‬ ‫یکی‬ ‫که‬ ‫شود‬ ‫می‬ ‫استفاده‬ TCP,UDP ‫و‬ ICMP ‫بگیرد‬ ‫تواند‬ ‫می‬ ‫را‬ . ‫سوئیچ‬ ‫جلوی‬ ‫در‬ ‫همچنین‬ icmp-type – ‫عدد‬ ‫دو‬ ‫از‬ 0 ‫و‬ 8 ‫کنید‬ ‫استفاده‬ ‫آنها‬ ‫حروفی‬ ‫معادل‬ ‫از‬ ‫عدد‬ ‫بجای‬ ‫توانید‬ ‫می‬ ‫و‬ ‫اند‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫بال‬ ‫جدول‬ ‫در‬ ‫که‬ ‫شده‬ ‫استفاده‬ . 0/0 ‫شبکه‬ ‫درون‬ ‫آدرسی‬ ‫هر‬ ‫از‬ ‫یعنی‬ . ‫های‬ ‫موردپیام‬ ‫در‬ ‫زیر‬ ‫دستور‬ echo request ‫و‬ echo reply ‫باشد‬ ‫می‬ ‫بال‬ ‫دستور‬ ‫عکس‬ . iptables -A OUTPUT -p icmp icmp-type 8 – -s 192.168.1.3 -d 0/0 -m state state NEW,ESTABLISHED -j DROP – iptables -A INPUT -p icmp icmp-type 0 – -s 0/0 -d 192.168.1.4 -m state state ESTABLISHED -j DROP – 4 ‫شود‬ ‫می‬ ‫اجرا‬ ‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫فایروال‬ ‫بعنوان‬ ‫که‬ ‫ماشینی‬ ‫در‬ ‫بال‬ ‫خط‬ ) ‫هستند‬ ‫مشخص‬ ‫مقصد‬ ‫و‬ ‫مبدا‬ ‫های‬ ‫ماشین‬ .( ‫ماشین‬ ‫خواهید‬ ‫می‬ ‫ای‬ ‫شبکه‬ ‫در‬ ‫کنید‬ ‫فرض‬ 192.168.1.4 ‫ماشین‬ ‫از‬ ‫فقط‬ ‫و‬ ‫فقط‬ 192.168.1.3 ‫دستور‬ ping ‫آدرس‬ ‫به‬ ‫ماشینی‬ ‫روی‬ ‫وقتی‬ ‫یعنی‬ ‫شود‬ 192.168.1.5 ‫دستور‬ ping 192.168.1.4 ‫جلوی‬ ‫کنیم‬ ‫اجرا‬ ‫را‬ ping ‫کردن‬ ‫ماشین‬ ‫از‬ ‫ولی‬ ‫شود‬ ‫گرفته‬ 192.168.1.3 ‫دستور‬ ‫بتوانیم‬ ping 192.168.1.4 ‫کنیم‬ ‫راددریافت‬ ‫پاسخ‬ ‫و‬ ‫انجام‬ ‫را‬ . ‫باید‬ ‫اینکار‬ ‫برای‬ 4 ‫آدرس‬ ‫با‬ ‫ماشین‬ ‫در‬ ‫را‬ ‫زیر‬ ‫خط‬ 192.168.1.4 ‫بنویسیم‬ . iptables -A INPUT -p icmp icmp-type 8 – -s 192.168.1.3 -m state state NEW,ESTABLISHED -j – ACCESS iptables -A OUTPUT -p icmp icmp-type 0 – s 192.168.1.3 – -m state state ESTABLISHED -j – ACCESS iptables -A OUTPUT -p icmp icmp-type 8 – -s 192.168.1.3 -m state state NEW,ESTABLISHED -j – ACCESS iptables -A INPUT -p icmp icmp-type 0 – -s 192.168.1.3 -m state state ESTABLISHED -j – ACCESS ‫که‬ ‫فرضی‬ ‫پیش‬ ‫فایل‬ iptables ‫کند‬ ‫می‬ ‫استفاده‬ ‫قوانین‬ ‫سازی‬ ‫ذخیره‬ ‫برای‬ ‫آن‬ ‫از‬ etc/sysconfig/iptables ‫بسته‬ ‫بر‬ ‫که‬ ‫هستند‬ ‫قوانین‬ ‫ای‬ ‫مجموعه‬ ‫ها‬ ‫فایروال‬ .‫است‬ / .‫دارند‬ ‫نظارت‬ ‫سیستم‬ ‫دو‬ ‫مابین‬ ‫ارسالی‬ ‫های‬ ‫دستور‬ ‫از‬ ‫استفاده‬ ‫مثال‬ ‫یک‬ iptables .‫است‬ ‫زیر‬ ‫بصورت‬ iptables -A chain -j target ‫در‬ iptables : ‫است‬ ‫زیر‬ ‫شده‬ ‫تعریف‬ ‫قبل‬ ‫از‬ ‫جدول‬ ‫سه‬ • filter ‫سوئیچ‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫است‬ ‫فرض‬ ‫پیش‬ ‫جدول‬ .‫ارسالی‬ ‫های‬ ‫بسته‬ ‫بر‬ ‫کردن‬ ‫محدود‬ ‫و‬ ‫کنترل‬ ‫برای‬ : t ‫دستور‬ ‫از‬ - iptables ‫می‬ ‫تعیین‬ ‫را‬ ‫جدول‬ ‫سوئیچ‬ ‫اگر‬ .‫کنیم‬ t ‫جدول‬ ‫فرض‬ ‫پیش‬ ‫بصورت‬ ،‫نشود‬ ‫استفاده‬ ‫جدول‬ ‫تعیین‬ ‫برای‬ - filter .‫شود‬ ‫می‬ ‫تعیین‬ • nat ‫سازی‬ ‫پیاده‬ ‫برای‬ : nat • mangle ‫یا‬ ‫گذاری‬ ‫نشانه‬ ‫برای‬ : mangling .‫شبکه‬ ‫در‬ ‫بسته‬ ‫یک‬ ‫کردن‬ iptables ‫قالب‬ ‫در‬ ‫که‬ ‫قوانین‬ ‫از‬ ‫ای‬ ‫مجموعه‬ chain ‫چند‬ ‫یا‬ ‫یک‬ ‫شامل‬ ‫زنجیر‬ ‫هر‬ .‫شوند‬ ‫می‬ ‫سازی‬ ‫پیاده‬ ‫ها‬ Rule ‫ا‬ÙÙ‫ی‬ ‫جدول‬ ‫قالب‬ ‫در‬ ‫ها‬ ‫زنجیره‬ .‫است‬ ‫قانون‬ ‫یا‬ Table ‫توان‬ ‫نمی‬ ‫که‬ ‫کنید‬ ‫توجه‬ .‫هستند‬ ‫زیر‬ ‫های‬ ‫زنجیر‬ ‫دارای‬ ‫شده‬ ‫گفته‬ ‫فرض‬ ‫پیش‬ ‫جدول‬ ‫سه‬ .‫است‬ ‫شده‬ ‫تشکیل‬ ‫زنجیره‬ ‫تعدادی‬ ‫از‬ ‫جدول‬ ‫هر‬ .‫شوند‬ ‫می‬ ‫بندی‬ ‫دسته‬ ‫ها‬ ‫ساختار‬ .‫کرد‬ ‫پاک‬ ‫را‬ ‫فرض‬ ‫پیش‬ ‫های‬ ‫زنجیره‬ ‫و‬ ‫جدول‬ iptables .‫است‬ ‫زیر‬ ‫بصورت‬ iptables -> Tables -> Chains -> Rules ) 33 (
  • 34. ‫جدول‬ ‫های‬ ‫زنجیره‬ filter • INPUT .‫شود‬ ‫می‬ ‫استفاده‬ ‫مقصد‬ ‫یک‬ ‫از‬ ‫سیستم‬ ‫به‬ ‫ورودی‬ ‫های‬ ‫بسته‬ ‫برای‬ : • OUTPUT .‫شود‬ ‫می‬ ‫استفاده‬ ‫مقصد‬ ‫یک‬ ‫به‬ ‫سیستم‬ ‫از‬ ‫خروجی‬ ‫های‬ ‫بسته‬ ‫برای‬ : • FORWARD ‫واسطه‬ ‫به‬ ‫ها‬ ‫بسته‬ ‫ارسال‬ ‫برای‬ : NAT .‫شود‬ ‫می‬ ‫استفاده‬ ‫جدول‬ ‫های‬ ‫زنجیره‬ nat • PREROUTING ‫از‬ ‫پیش‬ : Routing ‫آدرس‬ ‫توان‬ ‫می‬ ‫رسد‬ ‫می‬ ‫محلی‬ ‫ماشین‬ ‫یک‬ ‫از‬ ‫بسته‬ ‫یک‬ ‫که‬ ‫زمانی‬ .‫دهد‬ ‫می‬ ‫تغییر‬ ‫را‬ ‫آنها‬ ‫ها‬ ‫بسته‬ (‫)مسیریابی‬ ‫در‬ ‫معمولن‬ ‫که‬ ‫داد‬ ‫تغییر‬ ‫را‬ ‫مقصد‬ DNAT .‫شوند‬ ‫می‬ ‫استفاده‬ • OUTPUT ‫زنجیره‬ ‫در‬ ‫قانون‬ ‫که‬ ‫)ماشین‬ ‫محلی‬ ‫ماشین‬ ‫در‬ ‫شده‬ ‫تولید‬ ‫های‬ ‫بسته‬ : OUTPUT .‫دهد‬ ‫می‬ ‫تغییر‬ ‫ارسال‬ ‫از‬ ‫پیش‬ (‫شده‬ ‫تعریف‬ ‫آن‬ ‫در‬ • POSTROUTING ‫از‬ ‫پس‬ : Routing ‫که‬ ‫سیستمی‬ ‫)منظو‬ .‫کند‬ ‫می‬ ‫ترک‬ ‫را‬ ‫سیستم‬ ‫بسته‬ ‫که‬ ‫زمانی‬ ‫مانند‬ .‫دهد‬ ‫می‬ ‫تغییر‬ ‫آنرا‬ ،‫بسته‬ NAT ‫آن‬ ‫روی‬ .(‫دارد‬ ‫قرار‬ ‫جدول‬ ‫های‬ ‫زنجیره‬ mangle • PREROUTING • OUTPUT • FORWARD • INPUT • POSTROUTIN ‫سوئیج‬ A ‫برای‬ - Append ‫از‬ ‫پس‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫جدول‬ ‫انتهای‬ ‫به‬ ‫قانون‬ ‫کردن‬ Append ‫ام‬ÙÙ‫هنگ‬ ‫ه‬ÙÙ‫ب‬ ‫و‬ ‫شده‬ ‫اضافه‬ ‫جدول‬ ‫در‬ ‫قوانین‬ ‫لیست‬ ‫انتهای‬ ‫به‬ ‫قانون‬ ‫کردن‬ ‫سوئیچ‬ .‫شود‬ ‫می‬ ‫خوانده‬ ‫پایین‬ ‫به‬ ‫بال‬ ‫از‬ ‫لیست‬ ‫این‬ ‫بسته‬ ‫یک‬ ‫ورود‬ j ‫تعیین‬ ‫برای‬ - target ‫برای‬ Rule ‫سه‬ .‫شود‬ ‫می‬ ‫استفاده‬ target ‫در‬ ‫زیر‬ iptables : ‫دارد‬ ‫وجود‬ • ACCEPT .‫کند‬ ‫می‬ ‫قبول‬ ‫آنرا‬ ‫فایروال‬ ،‫کند‬ ‫پیدا‬ ‫تطلبیق‬ ‫قانونی‬ ‫با‬ ‫بسته‬ ‫اگر‬ .‫کند‬ ‫می‬ ‫دریافت‬ ‫را‬ ‫بسته‬ : • DROP .‫اندازد‬ ‫می‬ ‫بیرون‬ ‫را‬ ‫بسته‬ ‫آن‬ ‫مبدا‬ ‫به‬ ‫پیغامی‬ ‫هیچ‬ ‫بدون‬ ‫فایروال‬ ،‫کند‬ ‫پیدا‬ ‫تطبیق‬ ‫قانون‬ ‫با‬ ‫ای‬ ‫بسته‬ ‫اگر‬ : • REJECT ‫مانند‬ : DROP .‫کند‬ ‫می‬ ‫ارسال‬ ‫بسته‬ ‫فرستنده‬ ‫به‬ ‫خطا‬ ‫پیغام‬ ‫یک‬ ‫ولی‬ ‫اندازد‬ ‫می‬ ‫بیرون‬ ‫را‬ ‫بسته‬ ‫پراستفاده‬ ‫های‬ ‫سوئیچ‬ A ‫برای‬ : - Append ‫سوئیچ‬ ‫با‬ ‫شده‬ ‫تعیین‬ ‫جدول‬ ‫در‬ ‫زنجیره‬ ‫انتهای‬ ‫به‬ ‫قانون‬ ‫یک‬ ‫کردن‬ t - D .‫بنویسید‬ ‫شدن‬ ‫پاک‬ ‫برای‬ ‫را‬ ‫کردید‬ ‫اضافه‬ ‫زنجیره‬ ‫به‬ ‫که‬ ‫قانونی‬ ‫خط‬ ‫همان‬ ‫عینن‬ ‫باید‬ .‫دارد‬ ‫وجود‬ ‫آن‬ ‫در‬ ‫قانون‬ ‫که‬ ‫ای‬ ‫زنجیره‬ ‫از‬ ‫قانون‬ ‫یک‬ ‫حذف‬ ‫برای‬ : - I ‫برای‬ : - Insert .‫شود‬ ‫می‬ ‫استفاده‬ ‫زنجیره‬ ‫به‬ ‫قانون‬ ‫کردن‬ R ‫برای‬ : - Replace .‫شود‬ ‫می‬ ‫استفاده‬ ‫زنجیره‬ ‫به‬ ‫قانون‬ ‫کردن‬ L .‫شود‬ ‫می‬ ‫استفاده‬ ‫زنجیره‬ ‫تمامی‬ ‫یا‬ ‫خاص‬ ‫زنجیره‬ ‫یک‬ ‫های‬ ‫قانون‬ ‫کردن‬ ‫لیست‬ ‫برای‬ : - iptables -L CHAIN_NAME iptables -L CHAIN_NAME -t TABLE_NAME ‫زنجیره‬ ‫در‬ ‫شده‬ ‫تعریف‬ ‫قوانین‬ ‫تمامی‬ ‫زیر‬ ‫مثال‬ INPUT ‫جدول‬ ‫از‬ filter .‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ iptables -L INPUT -t filter : ‫خروجی‬ ) 34 (
  • 35. ‫خط‬ ‫در‬ ‫مثال‬ ‫بطور‬ icmp ‫از‬ ‫منظور‬ .‫است‬ ‫شده‬ ‫داده‬ ‫مقصدی‬ ‫هر‬ ‫به‬ ‫منبعی‬ ‫هر‬ ‫از‬ ‫ها‬ ‫بسته‬ ‫ارسال‬ ‫اجازه‬ anywhere ‫که‬ ‫ماشینی‬ ‫روی‬ ‫شبکه‬ ‫کارت‬ ‫چندین‬ ‫شاید‬ ‫اینکه‬ ‫مقصد‬ ‫در‬ ‫جداول‬ ‫های‬ ‫زنجیره‬ ‫تمامی‬ ‫در‬ ‫شده‬ ‫تعریف‬ ‫قوانین‬ ‫فهرست‬ ‫زیر‬ ‫های‬ ‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫باشد‬ ‫داشته‬ ‫وجود‬ ‫شده‬ ‫تنظیم‬ ‫فایروالش‬ filter,nat ‫و‬ mangle :‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬ iptables -t filter -L iptables -t nat -L iptables -t mangle -L N ‫یا‬ ‫زنجیره‬ ‫یک‬ ‫تعیین‬ ‫برای‬ : - Chain .‫شود‬ ‫می‬ ‫استفاده‬ ‫جدید‬ ‫دستور‬ ‫های‬ ‫سوئیچ‬ ‫از‬ ‫بیشتر‬ ‫اطلع‬ ‫برای‬ iptables .‫کنید‬ ‫اجرا‬ ‫فرمان‬ ‫خط‬ ‫در‬ ‫را‬ ‫زیر‬ ‫دستور‬ iptables -h ‫سوئیچ‬ ‫با‬ ‫همچنین‬ V ‫نسخه‬ - iptables .‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬ iptables -V iptables v1.4.7 .‫است‬ ‫بزرگ‬ ‫حروف‬ ‫با‬ ‫فرض‬ ‫پیش‬ ‫های‬ ‫زنجیره‬ ‫نام‬ ‫و‬ ‫کوچک‬ ‫حروف‬ ‫با‬ ‫فرض‬ ‫پیش‬ ‫جدول‬ ‫سه‬ ‫نام‬ ‫که‬ ‫کنید‬ ‫دقت‬ iptables ‫جز‬ ‫به‬ ‫ها‬ ‫سوئیچ‬ ‫تمامی‬ ‫همچنین‬ .‫است‬ ‫حساس‬ ‫ها‬ ‫نام‬ ‫بزرگی‬ ‫و‬ ‫کوچکی‬ ‫به‬ j ‫و‬ - t .‫هستند‬ ‫بزرگ‬ ‫حروف‬ ‫با‬ - ) 35 (
  • 36. ‫برای‬ ‫فایروال‬ ‫کاربرد‬ ‫ترین‬ ‫اصلی‬ Packet Filtering ‫در‬ ‫که‬ ‫است‬ iptables ‫جدول‬ ‫توسط‬ filter ‫یعنی‬ ‫آن‬ ‫زنجیره‬ ‫سه‬ ‫و‬ INPUT,OUTPUT ‫و‬ FORWARD ‫انجام‬ ‫از‬ ‫استفاده‬ ‫کلی‬ ‫شکل‬ .‫شود‬ ‫می‬ iptables ‫در‬ ‫اصلی‬ ‫جدول‬ ‫سه‬ ‫نام‬ ‫که‬ ‫کنید‬ ‫توجه‬ .‫است‬ ‫زیر‬ ‫های‬ ‫صورت‬ ‫از‬ ‫یکی‬ ‫به‬ iptables ‫آن‬ ‫های‬ ‫زنجیره‬ ‫نام‬ ‫و‬ ‫کوچک‬ ‫حروف‬ ‫با‬ .‫شوند‬ ‫می‬ ‫نوشته‬ ‫بزرگ‬ ‫حروف‬ ‫با‬ iptables [-t table] {-A|-D} chain rule-specification iptables [-t table] -I chain [rulenum] rule-specification iptables [-t table] -R chain rulenum rule-specification iptables [-t table] -D chain rulenum ] iptables [-t table] -S [chain] [rulenum ] iptables [-t table] {-F|-L|-Z} [chain] [rulenum] [options iptables [-t table] -N chain ] iptables [-t table] -X [chain iptables [-t table] -P chain target iptables [-t table] -E old-chain-name new-chain-name ‫دارای‬ ‫زنجیره‬ ‫هر‬ Policy ‫را‬ ‫ها‬ ‫بسته‬ ‫تمامی‬ ‫فرض‬ ‫پیش‬ ‫بصورت‬ ‫یا‬ ‫که‬ ‫است‬ ‫فرضی‬ ‫پیش‬ ‫سیاست‬ ‫یا‬ ACCEPT ‫ا‬Ù Ù‫ی‬ ‫وانین‬Ù Ù‫ق‬ ‫ق‬Ù Ù‫طب‬ ‫و‬ ‫د‬Ù Ù‫کن‬ ‫ی‬Ù Ù‫م‬ Rule ‫را‬ ‫ه‬Ù Ù‫بقی‬ ‫ایی‬Ù Ù‫ه‬ DROP ،‫باشد‬ ‫نداشته‬ ‫تطبیق‬ ‫جدول‬ ‫درون‬ ‫زنجیره‬ ‫قوانین‬ ‫از‬ ‫یکی‬ ‫با‬ ‫و‬ ‫شود‬ ‫وارد‬ ‫ای‬ ‫بسته‬ ‫اگر‬ ‫یعنی‬ ‫این‬ .‫کند‬ ‫می‬ ACCEPT ‫زنجیره‬ ‫قوانین‬ ‫از‬ ‫یکی‬ ‫با‬ ‫اگر‬ ‫و‬ ‫شود‬ ‫می‬ ،‫باشد‬ ‫داشته‬ ‫تطببق‬ DROP ‫رض‬Ù Ù‫ف‬ ‫ش‬Ù Ù‫پی‬ ‫بصورت‬ ‫ها‬ ‫بسته‬ ‫همه‬ ‫اینکه‬ ‫سیاست‬ ‫حالت‬ ‫دومین‬ .‫شود‬ ‫می‬ DROP ‫ا‬Ù Ù‫ی‬ ‫وانین‬Ù Ù‫ق‬ ‫ق‬Ù Ù‫طب‬ ‫و‬ ‫وند‬Ù Ù‫ش‬ ‫ی‬Ù Ù‫م‬ Rule ‫ه‬Ù Ù‫بقی‬ ‫ایی‬Ù Ù‫ه‬ ACCEPT ،‫باشد‬ ‫نداشته‬ ‫تطبیق‬ ‫جدول‬ ‫درون‬ ‫زنجیره‬ ‫قوانین‬ ‫از‬ ‫یکی‬ ‫با‬ ‫و‬ ‫شود‬ ‫وارد‬ ‫ای‬ ‫بسته‬ ‫اگر‬ ‫یعنی‬ ‫این‬ .‫شوند‬ ‫می‬ DROP ‫وانین‬Ù Ù‫ق‬ ‫از‬ ‫ی‬Ù Ù‫یک‬ ‫ا‬Ù Ù‫ب‬ ‫ر‬Ù Ù‫اگ‬ ‫و‬ ‫ود‬Ù Ù‫ش‬ ‫ی‬Ù Ù‫م‬ ،‫باشد‬ ‫داشته‬ ‫تطبیق‬ ‫زنجیره‬ ACCEPT ‫مشاهده‬ ‫برای‬ .‫شود‬ ‫می‬ Policy .‫کنید‬ ‫استفاده‬ ‫زیر‬ ‫فرمت‬ ‫از‬ ‫جدول‬ ‫زنجیره‬ ‫هر‬ ‫های‬ iptables -L -t TABLE_NAME ‫جدول‬ ‫زنجیره‬ ‫هر‬ ‫فرض‬ ‫پیش‬ ‫های‬ ‫ساسیت‬ ‫توانید‬ ‫می‬ ‫زیر‬ ‫دستور‬ ‫خروجی‬ ‫در‬ ‫مثال‬ ‫بطور‬ filter .‫ببنید‬ ‫را‬ iptables -L -t filter ) 36 (
  • 37. ،‫جدول‬ ‫زنجیره‬ ‫سه‬ ‫هر‬ ‫برای‬ ‫شده‬ ‫تعیین‬ ‫فرض‬ ‫پیش‬ ‫های‬ ‫سیاست‬ ACCEPT ‫زنجیره‬ ‫همچنین‬ ،(‫رنگ‬ ‫قرمز‬ ‫های‬ ‫است)قسمت‬ ‫شده‬ ‫تعیین‬ OUTPUT ‫بدون‬ Rule ‫سوئیچ‬ ‫توسط‬ ‫جدول‬ ‫یک‬ ‫از‬ ‫زنجیره‬ ‫یک‬ ‫برای‬ ‫را‬ ‫فرض‬ ‫پیش‬ ‫سیاست‬ ‫توان‬ ‫می‬ ‫زیر‬ ‫کلی‬ ‫فرمت‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫است‬ P ‫کنید‬ ‫دقت‬ .‫داد‬ ‫تغییر‬ ‫و‬ ‫تعیین‬ - P .‫است‬ ‫بزرگ‬ ‫سوئیچ‬ ‫از‬ P ‫توسط‬ ‫جدول‬ ‫نام‬ ‫اگر‬ ‫کنید‬ ‫دقت‬ .‫است‬ ‫زیر‬ ‫بصورت‬ ‫جدول‬ ‫زنجیره‬ ‫هر‬ ‫برای‬ ‫سیاست‬ ‫تغییر‬ ‫کلی‬ ‫شکل‬ .‫کرد‬ ‫استفاده‬ ‫فرض‬ ‫پیش‬ ‫سیاست‬ ‫تغییر‬ ‫برای‬ - ‫سوئیچ‬ t ‫جدول‬ ‫فرض‬ ‫پیش‬ ‫بصورت‬ ‫نشود‬ ‫تعیین‬ - filter .‫شود‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬ iptables -t TABLE_NAME -P CHAIN_NAME TARGET ،‫ها‬ ‫زنجیره‬ ‫برای‬ ‫فرض‬ ‫پیش‬ ‫سیاست‬ ‫زیر‬ ‫دستور‬ ‫سه‬ ‫در‬ ‫مثال‬ ‫بطور‬ DROP ‫سئیچ‬ ‫با‬ ‫چون‬ .‫شود‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬ t ‫رض‬Ù Ù‫ف‬ ‫ش‬Ù Ù‫پی‬ ‫ورت‬Ù Ù‫بص‬ ،‫نشده‬ ‫تعیین‬ ‫جدول‬ ‫نام‬ - ‫جدول‬ filter ‫سه‬ ‫بین‬ ‫از‬ ‫همچنین‬ .‫شود‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬ target ) ‫موجود‬ ACCEPT,DROP,REJECT ‫ط‬Ù Ù‫فق‬ ( ACCEPT ‫و‬ DROP ‫ش‬Ù Ù‫پی‬ ‫ای‬Ù Ù‫ه‬ ‫ت‬Ù Ù‫سیاس‬ ‫رای‬Ù Ù‫ب‬ .‫شوند‬ ‫می‬ ‫استفاده‬ ‫فرض‬ TARGET ‫با‬ ‫تطبیق‬ ‫صورت‬ ‫در‬ ‫بسته‬ ‫قبال‬ ‫در‬ ‫که‬ ‫است‬ ‫عملی‬ Rule ‫هنگام‬ ‫و‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫آن‬ ‫روی‬ ‫نوشتن‬ Rules ‫سوئیچ‬ ‫با‬ j ‫می‬ ‫تعیین‬ - .(‫بخوانید‬ ‫را‬ ‫دوم‬ ‫بخش‬ ) ‫شود‬ iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ‫ورودی‬ ‫های‬ ‫بسته‬ ‫خواهید‬ ‫می‬ ‫کنید‬ ‫فرض‬ ssh ‫خاص‬ ‫ماشین‬ ‫یک‬ ‫جز‬ ‫به‬ ‫شبکه‬ ‫کل‬ ‫برای‬ ‫را‬ DROP ‫قانون‬ ‫اگر‬ .‫کنید‬ DROP ‫د‬Ù Ù‫مانن‬ ‫بکه‬Ù Ù‫ش‬ ‫ل‬Ù Ù‫ک‬ ‫ای‬Ù Ù‫ه‬ ‫ته‬Ù Ù‫بس‬ ‫کردن‬ 192.168.149.0/24 ‫آدرس‬ ‫با‬ ‫ماشینی‬ ‫بسته‬ ‫که‬ ‫بنویسید‬ ‫قانونی‬ ‫سپس‬ ‫و‬ ‫بنویسید‬ ‫را‬ 192.168.149.100/24 ‫انون‬ÙÙ‫ق‬ ‫ونکه‬Ù Ù‫چ‬ ‫افتد‬ ‫نمی‬ ‫اتفاقی‬ ‫چنین‬ ،‫کند‬ ‫قبول‬ ‫را‬ DROP ‫ماشین‬ ‫از‬ ‫پیش‬ ‫شبکه‬ ‫های‬ ‫ماشین‬ ‫کل‬ ‫های‬ ‫بسته‬ ‫برای‬ ‫کردن‬ 192.168.149.100/24 ‫انون‬Ù Ù‫ق‬ ‫د‬Ù Ù‫بای‬ ‫پس‬ .‫است‬ ‫شده‬ ‫نوشته‬ ACCEPT ‫ای‬Ù Ù‫ه‬ ‫ته‬Ù Ù‫بس‬ ‫ردن‬Ù Ù‫ک‬ ‫ماشین‬ 192.168.149.100/24 ‫قانون‬ ‫از‬ ‫پیش‬ ‫را‬ DROP ‫تمامی‬ .‫نوشت‬ ‫شبکه‬ ‫های‬ ‫بسته‬ ‫کل‬ ‫کردن‬ Rule ‫فایل‬ ‫در‬ ‫ها‬ etc/sysconfig/iptables ‫و‬ ‫شوند‬ ‫می‬ ‫نوشته‬ / iptables ‫دادن‬ ‫قرار‬ ‫پس‬ ،‫خواند‬ ‫می‬ ‫ترتیب‬ ‫به‬ ‫را‬ ‫فایل‬ ‫این‬ ‫محتوای‬ ‫انتها‬ ‫تا‬ ‫ابتدا‬ ‫از‬ Rule .‫دارد‬ ‫اهمیت‬ ‫بسیار‬ ‫مناسب‬ ‫جای‬ ‫در‬ ‫مانند‬ ‫سرویس‬ ‫هر‬ ssh ‫پروتکل‬ ‫دو‬ ‫روی‬ tcp ‫و‬ udp ‫در‬ .‫دهند‬ ‫انجام‬ ‫دهی‬ ‫سرویس‬ ‫توانند‬ ‫می‬ iptables ‫سوئیچ‬ ‫از‬ ‫استفاده‬ ‫با‬ p ‫که‬ - p ‫وع‬Ù Ù‫ن‬ ‫ن‬Ù Ù‫تعیی‬ ‫برای‬ ‫است‬ ‫کوچیک‬ ‫کلمه‬ ‫از‬ ‫توان‬ ‫می‬ ‫همچنین‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫نیز‬ ‫پروتکل‬ all ‫پروتکل‬ ‫هردو‬ ‫تعیین‬ ‫برای‬ tcp ‫و‬ udp ‫ای‬Ù Ù‫ه‬ ‫وئیج‬Ù Ù‫س‬ ‫از‬ ‫تفاده‬Ù Ù‫اس‬ ‫با‬ ‫همچنن‬.‫کرد‬ ‫استفاده‬ dport ‫رای‬Ù Ù‫ب‬ – ‫و‬ ‫مقصد‬ ‫پورت‬ sport ‫از‬ ‫تفاده‬Ù Ù‫اس‬ ‫رای‬Ù Ù‫ب‬ ‫د‬Ù Ù‫کنی‬ ‫توجه‬ .‫بود‬ ‫خواهد‬ ‫زیر‬ ‫بصورت‬ ‫حالت‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫کلی‬ ‫شکل‬ .‫کرد‬ ‫تعیین‬ ‫نیز‬ ‫را‬ ‫ها‬ ‫پورت‬ ‫توان‬ ‫می‬ ،‫مبدا‬ ‫پورت‬ ‫برای‬ – ‫های‬ ‫سوئیچ‬ p ‫و‬ - dport ‫و‬ – sport ‫سوئیچ‬ ‫از‬ – m .‫کرد‬ ‫استفاده‬ - iptables -t TABLE_NAME -A|-I CHAIN_NAME -m -p tcp|udp|all dport| sport – – PORT_NUMBER -j TARGET_NAME ‫های‬ ‫سوئیچ‬ ‫از‬ ‫توان‬ ‫می‬ ‫همچنین‬ s ‫و‬ - d ‫یک‬ .‫کرد‬ ‫استفاده‬ ‫مقصد‬ ‫های‬ ‫آدرس‬ ‫و‬ ‫مبدا‬ ‫های‬ ‫آدرس‬ ‫تعیین‬ ‫برای‬ ‫ترتیب‬ ‫به‬ - IP ) ‫ام‬Ù Ù‫ن‬ ‫ک‬Ù Ù‫ی‬ ‫یا‬ hostname ‫وان‬Ù Ù‫ت‬ ‫ی‬Ù Ù‫م‬ ‫را‬ ( ) 37 (
  • 38. ‫یکبار‬ ‫آدرس‬ ‫هر‬ ‫برای‬ ‫باید‬ ‫و‬ ‫کرد‬ ‫استفاده‬ ‫ها‬ ‫سوئیچ‬ ‫این‬ ‫از‬ ‫آدرس‬ ‫چندین‬ ‫برای‬ ‫توان‬ ‫می‬ ‫همچنین‬ .‫کرد‬ ‫استفاده‬ ‫ها‬ ‫سوئیچ‬ ‫این‬ ‫مقدار‬ ‫بعنوان‬ Rule .‫بنویسیم‬ ‫را‬ iptables -t TABLE_NAME -A|-I CHAIN_NAME -s|-d IP_ADDR|HOSTNAME -m -p tcp|udp|all dport| sport – – PORT_NUMBER -j TARGET_NAME ‫سوئیچ‬ ‫دو‬ i ‫مخفف‬ - Input Interface ‫و‬ o ‫مخفف‬ - Output Interface ‫وئیچ‬Ù Ù‫س‬ ‫البته‬ .‫شوند‬ ‫می‬ ‫استفاده‬ ‫شبکه‬ ‫های‬ ‫اینترفیس‬ ‫تعیین‬ ‫برای‬ i ‫ورودی‬ ‫رای‬Ù Ù‫ب‬ ‫ون‬Ù Ù‫چ‬ - ‫های‬ ‫زنجیره‬ ‫در‬ ‫استفاده‬ ‫به‬ ‫مجاز‬ ‫تنها‬ ‫شود‬ ‫می‬ ‫استفاده‬ INPUT,FORWARD ‫و‬ PREROUTING ‫یوئیچ‬ ‫و‬ .‫است‬ o ‫ا‬Ù Ù‫ب‬ ‫تنها‬ ،‫شود‬ ‫می‬ ‫استفاده‬ ‫خروجی‬ ‫برای‬ ‫چون‬ - ‫های‬ ‫زنجیره‬ FORWARD,OUTPUT ‫و‬ POSTROUTING .‫هستند‬ ‫استفاده‬ ‫به‬ ‫مجاز‬ iptables -t TABLE_NAME -A|-I CHAIN_NAME -i|-o INTERFACE_NAME -s|-d IP_ADDR|HOSTNAME -m -p tcp|udp|all dport| sport – – PORT_NUMBER -j TARGET_NAME ‫سوئیج‬ ‫از‬ ‫استفاده‬ ‫با‬ A ‫یک‬ - Rule ‫فایل‬ ‫انتهای‬ ‫به‬ etc/sysconfig/iptables ‫یا‬ ‫الحاق‬ / APPEND ‫سوئیچ‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ولی‬ .‫شود‬ ‫می‬ I ‫یک‬ - Rule ‫واه‬ÙÙ‫دلخ‬ ‫مکانی‬ ‫در‬ ‫یا‬ ‫ذخیره‬ ‫فایل‬ ‫از‬ Insert ‫یک‬ ‫تا‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫زیر‬ ‫دستور‬ ،‫مثال‬ ‫برای‬ .‫شود‬ ‫می‬ Rule .‫شود‬ ‫ذخیره‬ ‫فایل‬ ‫ابتدای‬ ‫در‬ iptables -I INPUT 1 -i lo -p all -j ACCEPT ‫سوئیچ‬ ‫از‬ ‫استفاده‬ ‫دلیل‬ ‫به‬ ‫بال‬ ‫مثال‬ I ‫مکان‬ ‫تعیین‬ ‫و‬ - 1 ‫یک‬ ‫خاص‬ Rule ‫را‬ ‫ورودی‬ ‫اینترفیس‬ ‫همچنین‬ .‫کند‬ ‫می‬ ‫اضافه‬ ‫فایل‬ ‫ابتدای‬ ‫به‬ lo ‫ف‬Ù Ù‫مخف‬ loopback ‫ر‬Ù Ù‫ه‬ ‫و‬ ‫پروتکل‬ ‫دو‬ tcp/udp ‫را‬ ACCEPT .‫کند‬ ‫می‬ ) 38 (
  • 39. : ‫دوم‬ ‫فصل‬ ‫گرافیکی‬ ‫های‬ ‫ابزار‬ netfilter ) 39 (
  • 40. ‫برای‬ ‫گرافیکی‬ ‫ابزارهای‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬ iptables ‫کرد‬ ‫خواهیم‬ ‫اشاره‬ ‫را‬ ) 40 (
  • 41. ‫ابزار‬ fwbuilder . ‫است‬ ‫گرافیکی‬ ‫ابزار‬ ‫یک‬ ... ‫و‬ ‫میکروتیک‬ ، ‫سیسکو‬ ، ‫لینوکس‬/‫گنو‬ ‫فایروال‬ ‫برای‬ ‫میتوانید‬ ‫ابزار‬ ‫این‬ ‫با‬ rul ‫را‬ ‫ها‬ ‫رول‬ ‫یا‬ ‫بنویسید‬ import ‫کنید‬ ‫تحلیل‬ ‫و‬ ‫کنید‬ ) 41 (
  • 45. ‫طریق‬ ‫از‬ ‫را‬ ‫اینترفیس‬ ‫نوع‬ ‫میتوانید‬ ‫شما‬ ‫که‬ ‫هست‬ ‫این‬ ‫داره‬ ‫ابزار‬ ‫این‬ ‫که‬ ‫جالبی‬ ‫نکته‬ snmp . ‫دهید‬ ‫تشخیص‬ ) 45 (
  • 46. ‫با‬ ‫میتونید‬ ‫شما‬ ‫باشد‬ ‫می‬ ‫آن‬ ‫ساختار‬ ‫درک‬ ‫و‬ ‫فایروال‬ ‫شناخت‬ ‫برای‬ ‫ای‬ ‫وحرفه‬ ‫خوب‬ ‫ابزار‬ ‫یک‬ ‫گفت‬ ‫میتوان‬ ‫کل‬ ‫در‬ iptable-save ‫رول‬ ‫با‬ ‫و‬ ‫کنید‬ ‫ذخیره‬ ‫را‬ ‫هاتون‬ fwbuilder . ‫کنید‬ ‫اعمال‬ ‫را‬ ‫خودتان‬ ‫تعغیرات‬ ‫و‬ ‫اکسپورت‬ ‫حتی‬ ‫و‬ ‫کنید‬ ‫امپورت‬ ) 46 (
  • 47. UFW Uncomplicated Firewall – : UFW ‫فایروال‬ ‫پیچیدگی‬ ‫کاهش‬ ‫برای‬ ‫اساسا‬ ‫گزینه‬ ‫این‬ .‫اوبونتوست‬ ‫سرورهای‬ ‫برای‬ ‫فرض‬ ‫پیش‬ ‫فایروال‬ iptables ‫و‬ ‫است‬ ‫شده‬ ‫طراحی‬ .‫است‬ ‫موجود‬ ‫دبیان‬ ‫و‬ ‫اوبونتو‬ ‫سرورهای‬ ‫برای‬ ،‫فایروال‬ ‫این‬ ‫کاربری‬ ‫گرافیک‬ ‫رابط‬ .‫سازد‬ ‫می‬ ‫کاربرپسندتر‬ ‫را‬ ‫آن‬ : ‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬  ‫از‬ IPV6 ‫کند‬ ‫می‬ ‫پشتیبانی‬  ‫های‬ ‫گزینه‬ Logging ‫امکانات‬ ‫با‬ ‫متعدد‬ on/off  ‫کردن‬ ‫مانیتور‬ Status  ‫پذیر‬ ‫توسعه‬ ‫ورک‬ ‫فریم‬  ‫کرد‬ ‫ادغام‬ ‫ها‬ ‫اپلیکیشن‬ ‫با‬ ‫را‬ ‫آن‬ ‫توان‬ ‫می‬  ‫شرکت‬ ‫نیازهای‬ ‫اساس‬ ‫بر‬ ‫قوانین‬ ‫نمودن‬ ‫اصلح‬ ‫و‬ ‫کردن‬ ‫حذف‬ /‫کردن‬ ‫اضافه‬ ) 47 (
  • 48. : ‫سوم‬ ‫فصل‬ ‫کاربردی‬ ‫های‬ ‫مثال‬ ) 48 (
  • 49. ‫فیلتر‬ url ‫با‬ iptables : iptables -A OUTPUT -p tcp -m string --string "google.com" --algo kmp -j REJECT . ‫گردید‬ ‫خواهد‬ ‫تکمیل‬ ‫بعدی‬ ‫ورژن‬ ‫در‬ ‫فصل‬ ‫این‬ ) 49 (
  • 50. : ‫چهارم‬ ‫فصل‬ ‫از‬ ‫که‬ ‫هایی‬ ‫ساختار‬ ‫و‬ ‫ها‬ ‫دوایس‬ netfilter ‫میکند‬ ‫استفاده‬ ) 50 (
  • 51. 1 . ‫فایروال‬ IPCop : IPCop ‫تیم‬ .‫است‬ ‫باز‬ ‫متن‬ ‫لینوکسی‬ ‫های‬ ‫فایروال‬ ‫از‬ ‫یکی‬ IPCop ،‫امن‬ ،‫کاربرپسند‬ ‫مدیریت‬ ‫سیستم‬ ‫آوردن‬ ‫فراهم‬ ‫روی‬ ‫بر‬ ‫مداوم‬ ‫طور‬ ‫به‬ ‫وکارهای‬ ‫کسب‬ ‫برای‬ ‫فایروال‬ ‫این‬ .‫سازد‬ ‫می‬ ‫تر‬ ‫ساده‬ ‫را‬ ‫آن‬ ‫مدیریت‬ ‫و‬ ‫شده‬ ‫طراحی‬ ‫خوبی‬ ‫به‬ ‫فایروال‬ ‫این‬ ‫وب‬ ‫رابط‬ .‫کنند‬ ‫می‬ ‫کار‬ ‫پایدار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫خود‬ ‫قدیمی‬ ‫رایانه‬ ‫توانید‬ ‫می‬ ‫شما‬ .‫بود‬ ‫خواهد‬ ‫مفید‬ ‫محلی‬ ‫های‬ ‫رایانه‬ ‫و‬ ‫کوچک‬ VPN ‫محیط‬ ‫تا‬ ‫کنید‬ ‫پیکربندی‬ ‫امن‬ .‫آورد‬ ‫فراهم‬ ‫کاربران‬ ‫برای‬ ‫بهتری‬ ‫تجربه‬ ‫تا‬ ‫کند‬ ‫می‬ ‫حفظ‬ ‫را‬ ‫است‬ ‫شده‬ ‫استفاده‬ ‫اخیرا‬ ‫که‬ ‫اطلعاتی‬ ‫گزینه‬ ‫این‬ .‫نمایید‬ ‫ایجاد‬ ‫را‬ ‫امنی‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬ IPCop :  ‫برای‬ ‫را‬ ‫گرافیکی‬ ‫کارت‬ ‫عملکرد‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫فایروال‬ ‫این‬ ‫رنگی‬ ‫وب‬ ‫رابط‬ CPU ‫کنید‬ ‫مانیتور‬ ‫دیسک‬ ‫و‬ ‫حافظه‬ ،  ‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫متعددی‬ ‫های‬ ‫زبان‬ ‫از‬  .‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫اسانی‬ ‫و‬ ‫امن‬ ‫بسیار‬ ‫ارتقاء‬ ) 51 (
  • 52. Shorewall : ‫فایروال‬ Shorewall ‫برای‬ ‫باز‬ ‫متن‬ ‫های‬ ‫فایروال‬ ‫ترین‬ ‫محبوب‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫لینوکس‬ / GNU ‫روی‬ ‫بر‬ ‫فایروال‬ ‫این‬ .‫است‬ ‫سیستم‬ Netfilter ‫هسته‬ ‫در‬ ‫که‬ ‫ای‬ ‫لینوکس‬ ‫از‬ ‫و‬ ‫شده‬ ‫ایجاد‬ ‫است‬ ‫ساخت‬ ‫درون‬ IPV6 .‫کند‬ ‫می‬ ‫پشتیبانی‬ :‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬  ‫ارتباط‬ ‫پیگیری‬ ‫امکانت‬ ‫از‬ Netfilter .‫کند‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫بسته‬ ‫کردن‬ ‫فیلتر‬ ‫برای‬  /‫فایروال‬/‫روتر‬ ‫های‬ ‫اپلیکیشن‬ ‫از‬ ‫ای‬ ‫گسترده‬ ‫طیف‬ ‫از‬ Gateway ‫کند‬ ‫می‬ ‫پشتیبانی‬  ‫دارد‬ ‫فایروال‬ ‫برای‬ ‫متمرکزی‬ ‫مدیریت‬  ‫پنل‬ ‫کنترل‬ ‫با‬ ‫کاربری‬ ‫گرافیک‬ ‫رابط‬ Webmin ‫دارد‬  ‫از‬ ISP ‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫متعددی‬ ‫های‬  ‫و‬ ‫پورت‬ ‫فوروارد‬ ‫از‬ Masquerading ‫کند‬ ‫می‬ ‫پشتیبانی‬  ‫از‬ VPN .‫کند‬ ‫می‬ ‫استفاده‬ : ‫نکته‬ webmin . ‫باشد‬ ‫می‬ ‫فایروال‬ ‫این‬ ‫مدیریت‬ ‫برای‬ ‫ماژولی‬ ‫دارای‬ ) 52 (
  • 54. Vuurmuur : Vuurmuur ‫کاربرپسند‬ ‫بسیار‬ ‫نیز‬ ‫ها‬ ‫ادمین‬ ‫برای‬ ‫گزینه‬ ‫این‬ .‫است‬ ‫شبکه‬ ‫یا‬ ‫سرور‬ ‫برای‬ ‫قدرتمند‬ ‫لینوکسی‬ ‫های‬ ‫فایروال‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫مورد‬ ‫در‬ ‫قبلی‬ ‫دانش‬ ‫نیازمند‬ ‫فایروال‬ ‫این‬ ‫با‬ ‫کردن‬ ‫کار‬ ‫برای‬ ‫ها‬ ‫ادمین‬ .‫است‬ iptables .‫نیستند‬ :‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬  ‫از‬ ‫پشتیبانی‬ IPV6  ‫ترافیک‬ ‫به‬ ‫دهی‬ ‫شکل‬  ‫پیشرفته‬ ‫مانیتورینگ‬ ‫های‬ ‫قابلیت‬  ‫باند‬ ‫پهنای‬ ‫مصرف‬ ‫و‬ ‫ارتباط‬ ‫واقعی‬ ‫زمان‬ ‫مانیتورینگ‬  ‫با‬ ‫آسان‬ ‫پیکربندی‬ NAT  ‫قابلیت‬ ‫وجود‬ Anti-spoofing ) 54 (
  • 57. 1 . IPFire : . ‫باشد‬ ‫می‬ ‫لینوکس‬ ‫بر‬ ‫مبتنی‬ ‫های‬ ‫فایروال‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫نیز‬ ‫گزینه‬ ‫این‬ IPFire .‫دارد‬ ‫بالیی‬ ‫بسیار‬ ‫پذیری‬ ‫انعطاف‬ :‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫قابلیت‬  ‫یا‬ ‫سرور‬ ‫پروکسی‬ ،‫فایروال‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫آن‬ ‫توان‬ ‫می‬ VPN gateway ‫کرد‬ ‫پیکربندی‬  ‫محتوا‬ ‫فیلتر‬  ‫ساخت‬ ‫درون‬ ‫حمله‬ ‫تشخیص‬ ‫سیستم‬  ‫گفتگوها‬ ‫و‬ ‫ها‬ ‫انجمن‬ ‫طریق‬ ‫از‬ ‫پشتیبانی‬  ‫همچون‬ ‫هایپروایزرهایی‬ ‫از‬ ‫پشتیبانی‬ KVM، Vmware ، XEN ‫سازی‬ ‫مجازی‬ ‫های‬ ‫محیط‬ ‫برای‬ ) 57 (
  • 58. SmoothWall & SmoothWall Express : SmoothWall ‫عنوان‬ ‫با‬ ‫آن‬ ‫وب‬ ‫بر‬ ‫مبتنی‬ ‫رابط‬ .‫است‬ ‫پذیر‬ ‫انعطاف‬ ‫بسیار‬ ‫وب‬ ‫رابط‬ ‫با‬ ‫لینوکسی‬ ‫باز‬ ‫متن‬ ‫های‬ ‫فایروال‬ ‫از‬ ‫یکی‬ WAM .‫است‬ ‫شده‬ ‫شناخته‬ :‫فایروال‬ ‫های‬ ‫ویژگی‬ ‫ها‬ ‫قابلیت‬  ‫از‬ ‫پشتیبانی‬ LAN، DMZ ‫سیم‬ ‫بی‬ ‫های‬ ‫شبکه‬ ‫و‬  ‫محتوا‬ ‫واقعی‬ ‫زمان‬ ‫فیلتر‬  ‫فیلترینگ‬ HTTPS  ‫ها‬ ‫پروکسی‬ ‫از‬ ‫پشتیبانی‬  ‫فایروال‬ ‫فعالیت‬ ‫مانیتور‬ ‫و‬ ‫لگ‬ ‫مشاهده‬  ‫پی‬ ‫آی‬ ‫هر‬ ‫اساس‬ ‫بر‬ ‫ترافیک‬ ‫وضعیت‬ ‫مدیریت‬  ‫بازیابی‬ ‫و‬ ‫آپ‬ ‫بک‬ ‫امکانات‬ ) 58 (