پيشگفتار:
اين قابليت كه بتوان يك كامپيوتر را در هر كجا به كامپيوتري ديگر در جايي ديگر متصل كرد، به منزلة يك سكة دو رو است؛ براي اشخاصي كه در منزل هستند گردش در اينترنت بسيار لذت بخش است در حالي كه براي مديران امنيت در سازمان ها، يك كابوس وحشتناك به حساب مي‎آيد.
«ديوار آتش» پياده سازي مدرني از روش قديمي حصارهاي امنيتي است: خندقي عميق دور تا دور قلعه حفر مي كردند. اين الگو همه را مجبور مي‌كند تا براي ورود يا خروج از قلعه، از يك پل متحرك و واحد بگذرند و بتوان همه را توسط پليس حراست بازرسي كرد. در دنياي شبكه هاي كامپيوتري، همين راهكار ممكن خواهد بود: يك سازمان مي‎تواند هر تعداد شبكة محلي داشته باشد كه به صورت دلخواه به هم متصل شده اند، اما تمام ترافيك ورودي يا خروجي سازمان صرفاً از طريق يك پل متحرك (همان ديوار آتش) ميسر است.

مطالب اين پايان نامه در دو فصل تنظيم شده است. فصل اول به معرفي ديوارهاي آتش مي پردازد. در اين فصل، مطالبي از قبيل اثرات مثبت و منفي ديوار آتش، تواناييها و ناتواناييهاي آن، نحوة عملكرد ديوارهاي آتش، انواع ديوار آتش، معماري هاي ديوار آتش و نحوة انتخاب، پياده سازي و آزمايش يك ديوار آتش بررسي مي‎شوند. اين فصل،‌ يك ديد جامع در مورد نحوة انتخاب ديوار آتش منطبق با سياست امنيتي سازمان مي‎دهد. فصل دوم به پياده سازي نرم افزاري يك ديوار آتش فيلتر كنندة بسته با استفاده از ابزار ارائه شده در سيستم عامل لينوكس، يعني iptables مي پردازد. در اين فصل، مطالبي از قبيل نحوة پيكربندي سيستم مبتني بر لينوكس به عنوان يك مسيرياب، جداول و زنجيرها، قوانين و تطبيق ها و اهداف، پيكربندي iptables، مشخصات فيلترسازي، تعميم ها، مشخصات هدف، تركيب NAT با فيلترسازي بسته و نحوة ذخيره و بازيابي دستورات iptables بررسي مي‎شوند. اين فصل، نحوة نوشتن قوانين ديوار آتش فيلتر كنندة بسته را به منظور كنترل مناسب ترافيك ورودي يا خروجي توضيح مي‎دهد.

فهرست مطالب
فهرست مطالب ۳
فهرست شكل ها ۹
فهرست جدول ها ۱۱
چكيده (فارسي) ۱۲
فصل اول: ديوارهاي آتش شبكه ۱۳
۱-۱ : مقدمه ۱۴
۱-۲ : يك ديوار آتش چيست؟ ۱۵
۱-۳ : ديوارهاي آتش چه كاري انجام مي دهند؟ ۱۶
۱-۳-۱ : اثرات مثبت ۱۶
۱-۳-۲ : اثرات منفي ۱۷
۱-۴ : ديوارهاي آتش، چه كارهايي را نمي توانند انجام دهند؟ ۱۸
۱-۵ : چگونه ديوارهاي آتش عمل مي‌كنند؟ ۲۰
۱-۶ : انواع ديوارهاي آتش ۲۱
۱-۶-۱ : فيلتر كردن بسته ۲۲
۱-۶-۱-۱ : نقاط قوت ۲۴
۱-۶-۱-۲ : نقاط ضعف ۲۵
۱-۶-۲ : بازرسي هوشمند بسته ۲۸
۱-۶-۲-۱ : نقاط قوت ۳۱
۱-۶-۲-۲ : نقاط ضعف ۳۲
۱-۶-۳ : دروازة برنامه هاي كاربردي و پراكسيها ۳۲
۱-۶-۳-۱ : نقاط قوت ۳۵
۱-۶-۳-۲ : نقاط ضعف ۳۶
۱-۶-۴ : پراكسيهاي قابل تطبيق ۳۸
۱-۶-۵ : دروازة سطح مداري ۳۹
۱-۶-۶ : وانمود كننده ها ۴۰
۱-۶-۶-۱ : ترجمة آدرس شبكه ۴۰
۱-۶-۶-۲ : ديوارهاي آتش شخصي ۴۲
۱-۷ : جنبه هاي مهم ديوارهاي آتش كارآمد ۴۲
۱-۸ : معماري ديوار آتش ۴۳
۱-۸-۱ : مسيرياب فيلتركنندة بسته ۴۳
۱-۸-۲ : ميزبان غربال شده يا ميزبان سنگر ۴۴
۱-۸-۳ : دروازة دو خانه اي ۴۵
۱-۸-۴ : زير شبكة غربال شده يا منطقة غيرنظامي ۴۶
۱-۸-۵ : دستگاه ديوار آتش ۴۶
۱-۹ : انتخاب و پياده سازي يك راه حل ديوار آتش ۴۸
۱-۹-۱ : آيا شما نياز به يك ديوار آتش داريد؟ ۴۸
۱-۹-۲ : ديوار آتش، چه چيزي را بايد كنترل يا محافظت كند؟ ۴۹
۱-۹-۳ : يك ديوار آتش، چه تأثيري روي سازمان، شبكه و كاربران
خواهد گذاشت؟ ۵۰
۱-۱۰ : سياست امنيتي ۵۱
۱-۱۰-۱ : موضوعات اجرايي ۵۲
۱-۱۰-۲ : موضوعات فني ۵۳
۱-۱۱ : نيازهاي پياده سازي ۵۴
۱-۱۱-۱ : نيازهاي فني ۵۴
۱-۱۱-۲ : معماري ۵۴
۱-۱۲ : تصميم گيري ۵۵
۱-۱۳ : پياده سازي و آزمايش ۵۶
۱-۱۳-۱ : آزمايش، آزمايش، آزمايش! ۵۷
۱-۱۴ : خلاصه ۵۸

فصل دوم: پياده سازي ديوار آتش با استفاده از iptables 60
2-1 : مقدمه ۶۱
۲-۲ : واژگان علمي مربوط به فيلترسازي بسته ۶۲
۲-۳ : انتخاب يك ماشين براي ديوار آتش مبتني بر لينوكس ۶۵
۲-۴ : به كار بردن IP Forwarding و Masquerading 65
2-5 : حسابداري بسته ۷۰
۲-۶ : جداول و زنجيرها در يك ديوار آتش مبتني بر لينوكس ۷۰
۲-۷ : قوانين ۷۴
۲-۸ : تطبيق ها ۷۵
۲-۹ : اهداف ۷۵
۲-۱۰ : پيكربندي iptables 76
2-11 : استفاده از iptables 77
2-11-1 : مشخصات فيلترسازي ۷۸
۲-۱۱-۱-۱ : تعيين نمودن آدرس IP مبدأ و مقصد ۷۸
۲-۱۱-۱-۲ : تعيين نمودن معكوس ۷۹
۲-۱۱-۱-۳ : تعيين نمودن پروتكل ۷۹
۲-۱۱-۱-۴ : تعيين نمودن يك رابط ۷۹
۲-۱۱-۱-۵ : تعيين نمودن قطعه ها ۸۰
۲-۱۱-۲ : تعميم هايي براي iptables (تطبيق هاي جديد) ۸۲
۲-۱۱-۲-۱ : تعميم هاي TCP 82
2-11-2-2 : تعميم هاي UDP 86
2-11-2-3 : تعميم هاي ICMP 86
2-11-2-4 : تعميم هاي تطبيق ديگر ۸۷
۲-۱۱-۳ : مشخصات هدف ۹۲
۲-۱۱-۳-۱ : زنجيرهاي تعريف شده توسط كاربر ۹۲
۲-۱۱-۳-۲ : هدف هاي تعميمي ۹۲
۲-۱۱-۴ : عمليات روي يك زنجير كامل ۹۴
۲-۱۱-۴-۱ : ايجاد يك زنجير جديد ۹۴
۲-۱۱-۴-۲ : حذف يك زنجير ۹۴
۲-۱۱-۴-۳ : خالي كردن يك زنجير ۹۵
۲-۱۱-۴-۴ : فهرست گيري از يك زنجير ۹۵
۲-۱۱-۴-۵ : صفر كردن شمارنده ها ۹۵
۲-۱۱-۴-۶ : تنظيم نمودن سياست ۹۵
۲-۱۱-۴-۷ : تغيير دادن نام يك زنجير ۹۶
۲-۱۲ : تركيب NAT با فيلترسازي بسته ۹۶
۲-۱۲-۱ : ترجمة آدرس شبكه ۹۶
۲-۱۲-۲ : NAT مبدأ و Masquerading 98
2-12-3 : NAT مقصد ۹۹
۲-۱۳ : ذخيره نمودن و برگرداندن قوانين ۱۰۱
۲-۱۴ : خلاصه ۱۰۲
نتيجه گيري ۱۰۵
پيشنهادات ۱۰۵

فهرست شكل ها
فصل اول
شكل ۱-۱ : نمايش ديوار آتش شبكه ۱۵
شكل ۱-۲ : مدل OSI 22
شكل ۱-۳ : ديوار آتش از نوع فيلتركنندة بسته ۲۳
شكل ۱-۴ : لايه هاي OSI در فيلتر كردن بسته ۲۳
شكل ۱-۵ : لايه هاي OSI در بازرسي هوشمند بسته ۲۸
شكل ۱-۶ : ديوار آتش از نوع بازرسي هوشمند بسته ۳۰
شكل ۱-۷ : لاية مدل OSI در دروازة برنامة كاربردي ۳۳
شكل ۱-۸ : ديوار آتش از نوع دروازة برنامة كاربردي ۳۴
شكل ۱-۹ : مسيرياب فيلتر كنندة بسته ۴۴
شكل ۱-۱۰ : ديوار آتش ميزبان غربال شده يا ميزبان سنگر ۴۵
شكل ۱-۱۱ : دروازة دو خانه اي ۴۶
شكل ۱-۱۲ : زير شبكة غربال شده يا منطقة غيرنظامي ۴۶
شكل ۱-۱۳ : دستگاه ديوار آتش ۴۷
فصل دوم
شكل ۲-۱ : يك سيستم مبتني بر لينوكس كه به عنوان يك مسيرياب به
جلو برنده پيكربندي شده است. ۶۷
شكل ۲-۲ : تغيير شكل شبكة ۱۰٫۱٫۲٫۰ به عنوان آدرس ۶۶٫۱٫۵٫۱ IP 69
شكل ۲-۳ : مسير حركت بستة شبكه براي filtering 72
شكل ۲-۴ : مسير حركت بستة شبكه براي Nat 73
شكل ۲-۵ : مسير حركت بستة شبكه براي mangling 73

فهرست جدول ها
فصل اول
فصل دوم
جدول ۲-۱ : جداول و زنجيرهاي پيش فرض ۷۱
جدول ۲-۲ : توصيف زنجيرهاي پيش فرض ۷۱
جدول ۲-۳ : هدف هاي پيش فرض ۷۶
جدول ۲-۴ : حالت هاي رديابي ارتباط ۹۱
جدول ۲-۵ : سطوح ثبت وقايع ۹۳
جدول ۲-۶ : ماجول هاي كمكي NAT 97

چكيده:
تأمين امنيت شبكه، بخش حساسي از وظايف هر مدير شبكه محسوب مي‎شود. از آنجاييكه ممكن است محافظت هاي متفاوتي موردنياز باشد، لذا مكانيزم هاي گوناگوني هم براي تأمين امنيت در شبكه وجود دارد. يكي از اين مكانيزم ها استفاده از ديوار آتش مي‎باشد. مدير شبكه بايد درك بالايي از انواع ديوار آتش، نقاط قوت و ضعف هر نوع، حملات تهديد كنندة هر نوع، معماري هاي ديوار آتش، تأثيرات آن بر شبكه و كاربران، سياست امنيتي سازمان و همچنين نيازهاي فني پياده سازي داشته باشد تا بتواند راه حل مناسب را انتخاب و به درستي پياده سازي نمايد و سپس آنرا مورد آزمايش قرار دهد. در همين راستا، سيستم عامل «Linux» براي پياده سازي نرم افزاري ديوار آتش فيلتر كنندة بسته، ابزاري را به نام «iptables» در اختيار كاربر قرار مي‎دهد تا با استفاده از دستورات اين ابزار بتواند قوانين و فيلترهاي موردنياز را براي كنترل مطلوب دسترسي، خواه از داخل شبكه به خارج و خواه بالعكس، پيكربندي نمايد.

فصل اول

ديوارهاي آتش شبكه

فصل اول: ديوارهاي آتش شبكه
۱-۱ : مقدمه
امروزه با وجود طيف گستردة راه حل‌هاي ديوار آتش، انتخاب و پياده سازي ديوار آتش به فرايندي زمان گير مبدل شده است. روش جذاب در راه حل‌هاي ديوار آتشي كه به بازار عرضه شده اند، به همراه ادعاهاي نصب و مديريت آسان، ممكن است سازمانها را به سمتي سوق دهد كه بدون آنكه به طور كامل نياز به راه حل ديوار آتش را بررسي نمايند، تصميم به پياده سازي آن بگيرند. با اتخاذ تصميمات عجولانه، سازمانها اثراتي را كه يك راه حل ديوار آتش بر شبكة موجود و كاربران آنها مي‌گذارد، ناديده مي‌گيرند.

چه متغيرهايي بايد در هنگام تعيين نياز به يك ديوار آتش، مورد توجه قرار گيرند؟ سازمانهايي كه اتصال به اينترنت يا هر شبكة نامطمئن ديگر دارند، ممكن است نياز به پياده سازي يك راه حل ديوار آتش داشته باشند. به هر حال، اين سازمانها بايد اثراتي را كه يك ديوار آتش بر سرويسهاي شبكه، منابع و كاربران آن خواهد گذاشت مورد توجه قرار دهند و نحوة قرارگيري ديوار آتش براساس نيازهاي تجاري خاص آنها و زيربناي شبكه را در نظر بگيرند. سازمانها بايد نيازهاي ويژة خود را مشخص كنند، زيربناي فعلي شبكة خود را تجزيه و تحليل نمايند و از اطلاعات بدست آمده به عنوان مبنايي براي تصميمات خود استفاده كنند. در برخي موارد، ممكن است بعد از بررسي تمام متغيرها، دريابند كه يك راه حل ديوار آتش، ضروري نيست و يا پياده سازي آن غيرعملي است.

۱-۲ : يك ديوار آتش چيست؟
ديوارهاي آتش شبكه، سدي مابين شبكه‌ها به وجود مي‌آورند كه از ترافيك (traffic) ناخواسته يا بدون مجوز (unauthorized) جلوگيري مي‌كند.
تعريف: ديوار آتش شبكه، سيستم يا گروهي از سيستمهاست كه با استفاده از قوانين (rules) يا فيلترهاي از پيش پيكربندي شده، دسترسي مابين دوشبكه- يك شبكة مطمئن (Trusted) و يك شبكة نامطمئن (Untrusted)- را كنترل مي‌كند.

شكل ۱-۱: نمايش ديوار آتش شبكه
ممكن است ديوارهاي آتش، فقط از يك مسيرياب (router)، چندين مسيرياب، يك سيستم ميزبان يا چندين ميزبان اجرا كنندة نرم افزار ديوار آتش، دستگاههاي سخت افزاري مخصوصي كه براي تأمين سرويسهاي ديوار آتش طراحي شده اند، يا هر تركيبي از آنها تشكيل شده باشد. اين موارد از نظر طراحي، كاربردي بودن، معماري و هزينه متغير هستند. بنابراين، براي پياده سازي موفق يك راه حل ديوار آتش در يك سازمان، مهم است كه دريابيم كه هر راه حل ديوار آتشي چه كاري مي‌تواند انجام دهد و چه كاري نمي‌تواند انجام دهد. راه حلهاي ديوار آتش مي‌توانند هم اثرات مثبت بر شبكه بگذارند و هم اثرات منفي.

۱-۳ : ديوارهاي آتش چه كاري انجام مي‌دهند؟
۱-۳-۱ : اثرات مثبت
اگر ديوارهاي آتش، به درستي پياده سازي شوند مي‌توانند دسترسي به شبكه و از شبكه را كنترل كنند. ديوارهاي آتش طوري مي‌توانند پيكربندي شوند كه از دسترسي كابران بيروني يا بدون مجوز به شبكه‌ها و سرويسهاي داخلي يا محرمانه جلوگيري نمايند؛ و نيز مي‌توانند طوري پيكربندي شوند كه از دسترسي كاربران داخلي به شبكه‌ها و سرويس‌هاي بيروني يا بدون مجوز جلوگيري كنند. برخي از ديوارهاي آتش مي‌توانند داخل يك سازمان طوري قرار بگيرند كه دسترسي به سرويسها را مابين بخشها و ديگر شبكه‌هاي محرمانه كنترل كنند.

• تأييد اعتبار كاربر (User authentication): ديوارهاي آتش مي‌توانند طوري پيكربندي شوند كه نياز به تأييد اعتبار كاربر داشته باشند. اين مورد به مديران شبكه امكان مي‌دهد كه دسترسي كاربران خاصي را به سرويسها و منابع خاصي كنترل نمايند. تأييد اعتبار، اين امكان را نيز به مديران شبكه مي‌دهد كه فعاليت معيني از كاربر و تلاشهاي بدون مجوز براي دستيابي به شبكه‌ها و سرويسهاي محافظت شده را دنبال كنند.

• نظارت و ثبت وقايع (Auditing and logging): ديوارهاي آتش مي‌توانند امكانات نظارت و ثبت را در اختيارمان قرار دهند. با پيكربندي ديوار آتش جهت نظارت و ثبت فعاليت، مي‌توان اطلاعات را نگهداري نمود و در آينده مورد تجزيه و تحليل قرار داد. ديوارهاي آتش مي‌توانند بر اساس اطلاعاتي كه جمع آوري كرده اند، آمارهايي توليد نمايند. اين آمارها مي‌تواند در اتخاذ تصميمات خط مشي (Policy) كه مربوط به دستيابي به شبكه و سودمندي آن است، مفيد واقع شود.
• امنيت (Security): برخي از ديوارهاي آتش به گونه اي عمل مي‌كنند كه مي‌توانند شبكه‌هاي مطمئن يا داخلي را از شبكه‌هاي نامطمئن يا بيروني پنهان كنند. اين لاية امنيتي اضافه مي‌تواند از سرويس‌ها در مقابل پويش‌هاي ناخواسته محافظت نمايد.

ديوارهاي آتش همچنين مي‌توانند يك نقطة مركزي براي مديريت امنيت ايجاد كنند. اين مسئله، زماني كه منابع انساني و مالي يك سازمان محدود باشد مي‌تواند بسيار مفيد واقع گردد.

۱-۳-۲ : اثرات منفي
اگرچه راه حلهاي ديوار آتش مزاياي بسياري دارند، اما ممكن است برخي اثرات منفي نيز بر جاي بگذارند.
• گلوگاههاي ترافيكي (Traffic bottlenecks): در بعضي از شبكه‌ها، ديوارهاي آتش، يك گلوگاه ترافيكي ايجاد مي‌كنند. با عبور دادن تمام ترافيك شبكه از ديوار آتش، امكان متراكم شدن شبكه بيشتر مي‌شود.

• نقطة شكست واحد (Single point of failure): ديوارهاي آتش مي‌توانند يك نقطة شكست واحد ايجاد نمايند. در اغلب پيكربنديهايي كه ديوارهاي آتش تنها ارتباط مابين شبكه‌ها هستند، اگر به درستي پيكربندي نشوند و يا در دسترس نباشند، هيچ ترافيكي را از خود عبور نخواهند داد.
• محروم سازي كاربر (User frustration): ديوارهاي آتش ممكن است كاربران را نااميد سازند زمانيكه منابع شبكه يا سرويسهاي آن مسدود باشند يا در دسترس كاربران نباشند و يا براي دستيابي نياز به تأييد اعتبار باشد و كاربران كلمة عبورشان را فراموش كرده باشند.

• مسئوليتهاي مديريتي بيشتر: اغلب يك ديوار آتش، مسئوليتهاي مديريتي شبكه را بيشتر مي‌كند و عيب يابي شبكه را پيچيده تر مي‌سازد. اگر مديران شبكه زماني را براي پاسخ به هر اخطار و بررسي ثبت وقايع به طوري منظم صرف نكنند، هرگز متوجه نخواهند شد كه آيا ديوار آتش وظيفة خود را به درستي انجام مي‌دهد يا نه. تمام ديوارهاي آتش نياز به پشتيباني اجرايي مداوم، نگهداري كلي، به روز رسانيهاي نرم افزاري، وصله‌هاي امنيتي (patch) و ادارة مناسب حوادث دارند كه بر مسئوليتهاي مديران شبكه مي‌افزايد.

۱-۴ : ديوارهاي آتش، چه كارهايي را نمي‌توانند انجام دهند؟
رايج ترين تصور غلط در مورد ديوارهاي آتش، اين است كه ديوارهاي آتش، امنيت شبكة شما را تضمين مي‌كنند. يك ديوار آتش نمي‌تواند و تضمين نمي‌كند كه شبكة شما صددرصد امن است. براي حفاظت بيشتر، يك ديوار آتش بهتر است به همراه ديگر معيارهاي امنيت استفاده شود. حتي در آن صورت نيز، هيچ تضميني وجود ندارد كه شبكه، صددرصد امن باشد.

ديوارهاي آتش نمي‌توانند هيچ حفاظتي در مقابل حملات دروني انجام دهند. براي آنكه يك ديوار آتش، مؤثر واقع شود، بايد تمام ترافيك از آن عبور كند. معمولاً‌ كاربران شبكة مطمئن يا دروني، بدون نياز به عبور از ديوار آتش، به سرويسهاي حفاظت شده دسترسي دارند. امروزه درصد زيادي از حوادث امنيتي، از درون شبكة مطمئن ناشي مي‌شوند.

ديوارهاي آتش نمي‌توانند در مقابل دسترسي ناخواسته يا بدون مجوز از طريق درهاي پشتي (back doors) شبكة شما، محافظت كنند. معمولاً درهاي پشتي زماني ايجاد مي‌شوند كه يك كاربر دروني از طريق يك مودم غيرمجاز با بيرون تماس مي‌گيرد و با يك شبكه نامطمئن، ارتباط برقرار مي‌كند.
در بيشتر پياده سازيها، ديوارهاي آتش نمي‌توانند حفاظتي در مقابل ويروسها يا كد مخرب (malicious code) انجام دهند. از آنجاييكه بيشتر ديوارهاي آتش، فيلد باركاري (payload) بسته را بررسي نمي‌كنند، از تهديدهايي كه ممكن است در بسته‌ها باشد، آگاه نيستند.

سرانجام، هيچ ديوارآتشي نمي‌تواند در مقابل خط مشهاي ناكافي يا بدمديريت شده، محافظتي انجام دهد. اگر يك كلمة عبور، اعلان شود شبكة شما در خطر است. برخي از نفوذهاي امنيتي به اين دليل رخ مي‌دهند كه كاربران به طور غيرعمدي، كلمة عبورشان را اعلان مي‌كنند يا اينكه ايستگاه كاري خود را به صورت باز رها مي‌كنند.

۱-۵ : چگونه ديوارهاي آتش عمل مي‌كنند؟
اكنون كه يك ديوار آتش را تعريف نموديم و به تواناييها و ناتواناييهاي آن اشاره نموديم، نوبت به بررسي نحوة عملكرد ديوارهاي آتش فرا مي‌رسد.
ديوارهاي آتش شبكه براي اتخاذ تصميم در مورد كنترل دسترسي از دو نگرش منطق طراحي امنيتي استفاده مي‌كنند. اين دو نگرش، منطق متضادي دارند اما هدف هر دو، كنترل دسترسي است. اين دو نگرش عبارتند از:
• هر چيزي كه به طور مشخص اجازه داده نشود، رد مي‌شود.
• هر چيزي كه به طور مشخص رد نشود، اجازه داده مي‌شود.
هر نگرش طرفداراني دارد، اما نگرشي كه اغلب توصيه مي‌شود، اين است كه هر چيزي كه به طور مشخص اجازه داده نشود، رد مي‌شود. اين نگرش، در مقابل دسترسي ناخواسته يا غيرمجاز، حالتي آينده نگر (proactive) پيش مي‌گيرد. اين نگرش، براساس اين اصل كار مي‌كند كه كل دسترسي، تا زمانيكه يك قانون يا فيلتر پيكربندي شود كه به طور مشخص اجازة دسترسي دهد، رد مي‌شود. اين نگرش، به طور پيش فرض امنيت بيشتري را تأمين مي‌كند، اما مي‌تواند خيلي محدود كننده محسوب شود. در بسياري حالات، ترافيك قانوني تا زمانيكه متغيرهاي صحيح تعيين شود و قوانين يا فيلترهايي پيكربندي شوند و پياده سازي شوند كه اجازة عبور را به ترافيك بدهند، منتظر مي‌ماند.

منطق طراحي متضاد، يعني هر چيزيكه به طور مشخص رد نشود، اجازه داده مي‌شود، در مقابل دسترسي ناخواسته يا غيرمجاز، حالتي واكنشي (reactive) از خود نشان مي‌دهد. اين نگرش، براساس اين اصل كار مي‌كند كه كل دسترسي، تا زمانيكه يك قانون يا فيلتر پيكربندي شود كه به طور مشخص آنرا رد كند، اجازه داده مي‌شود. اين نگرش، امنيت كمتري را تأمين مي‌كند اما انعطاف پذيرتر محسوب مي‌شود زيرا ترافيك قانوني، ديگر منتظر نمي‌ماند.

۱-۶ : انواع ديوارهاي آتش
منطق طراحي امنيت يك ديوار آتش، با استفاده از برخي روشهاي غربال كردن بسته (packet screening) اجرا مي‌شود. هر روش از اطلاعات لايه‌هاي متفاوتي از مدل OSI استفاده مي‌كند. اساس اين روشها بر مبناي اين است كه چگونه ديوارهاي آتش از هر دو مورد قوانين و فيلترهاي از پيش پيكربندي شده و ديگري اطلاعات جمع آوري شده از بسته‌ها و نشستها (sessions) براي تعيين اجازة عبور يا رد ترافيك استفاده مي‌كنند. سه روش معروف عبارتند از: فيلتر كردن بسته (packet filtering)، بازرسي هوشمند بسته (stateful packet inspection) و دروازة برنامه‌هاي كاربردي و پراكسيها
(application gateways/proxies). روشهاي تركيبي غربال كردن بسته، اغلب دو يا تعداد بيشتري از اين روشها را تركيب مي‌كنند تا امنيت و كارايي بيشتري حاصل شود.

شكل ۱-۲ : مدل OSI
1-6-1 : فيلتر كردن بسته (Packet Filtering)
اين روش، ساده ترين روش غربال كردن بسته مي‌باشد. يك ديوار آتش از نوع فيلتركنندة بسته دقيقاً همان كاري را انجام مي‌دهد كه از نام آن برمي‌آيد. رايجترين پياده سازي آن، روي يك مسيرياب يا بر روي دروازة دو خانه اي (dual-homed gateway) انجام مي‌شود. فرايند فيلتر كردن بسته به روش زير صورت مي‌گيرد: هنگامي‌كه هر بسته از ديوار آتش عبور مي‌كند، بررسي مي‌شود و اطلاعاتي كه درون سرآيند (header) آن قرار دارد با يك مجموعه قوانين يا فيلترهاي از پيش پيكربندي شده مقايسه مي‌شود. براساس نتايج مقايسه، يك تصميم اجازة ورود (allow) يا رد كردن (deny) گرفته مي‌شود. هر بسته به طور جداگانه و بدون توجه به ديگر بسته‌هايي كه قسمتي از همان ارتباط هستند، بررسي مي‌شود.

شكل ۱-۳ : ديوار آتش از نوع فيلتركنندة بسته
معمولاً يك ديوار آتش از نوع فيلتر كنندة بسته، يك ديوار آتش لاية شبكه ناميده مي‌شود زيرا عمل فيلتر كردن به طور عمده در لاية شبكه (لاية سوم) يا لاية انتقال (لاية چهارم) از مدل مرجع OSI انجام مي‌شود.
شكل ۱-۴ : لايه‌هاي OSI در فيلتر كردن بسته
قوانين يا فيلترهاي مربوط به فيلتر كنندة بسته مي‌توانند طوري پيكربندي (configure) شوند كه براساس يك يا چند مورد از متغيرهاي زير، اجازة ورود يا رد كردن ترافيك را صادر كنند:
• Source IP address (مبدأ)
• Destination IP address (مقصد)
• نوع پروتكل (TCP يا UDP)
• Source Port
• Destination Port
لازم به ذكر است كه تمام ديوارهاي آتش توانايي انجام بعضي شكلهاي فيلتر كردن بسته را دارند.

۱-۶-۱-۱ : نقاط قوت
فيلتر كردن بسته به طور شاخصي سريعتر از ديگر روشهاي غربال كردن بسته عمل مي‌كند. از آنجاييكه فيلتر كردن بسته در لايه‌هاي پائين تر مدل OSI انجام مي‌شود، لذا زمان كمتري صرف انجام پردازش روي بسته مي‌شود و اگر به درستي پياده سازي شود، تأثير بسيار اندكي بر روي عملكرد (Performance) كلي شبكه بر جاي مي‌گذارد.

ديوارهاي آتش از نوع فيلتر كنندة بسته مي‌توانند به صورت شفاف يا پنهان از ديد كاربر (transparent) پياده سازي شوند. اين نوع ديوارهاي آتش معمولاً به پيكربندي اضافه اي براي كاربران نياز ندارند. تنها نشانه اي كه ممكن است كاربران از روي آن متوجه شوند كه ديوار آتشي وجود دارد، اين است كه نتوانند به منبع (resource) يا سرويسي كه مسدود (block) شده است، دسترسي يابند.

ديوارهاي آتش از نوع فيلتركنندة بسته، معمولاً گران نيستند. بسياري از وسايل سخت افزاري و بسته‌هاي نرم افزاري، ويژگيهاي فيلتر كردن بسته را به عنوان بخشي از خصوصيات استاندارد خود دارا هستند. اگر سازماني در حال حاضر يك وسيله يا بستة نرم افزاري با قابليت‌هاي فيلتر كردن بسته داشته باشد، علاوه بر عدم نياز به صرف زمان براي طراحي و پيكربندي قوانين يا فيلترها، ديگر نيازي به هزينه‌هاي اضافي هم نخواهد بود.

ديوارهاي آتش از نوع فيلتر كنندة بسته، معمولاً نسبت به ديگر انواع ديوارهاي آتش، بهتر مقياس (scale) مي‌شوند. اين موضوع شايد با اين واقعيت توجيه شود كه سربار (overhead) ناشي از پردازشي كه در ديگر انواع ديوار آتش وجود دارد، در اين نوع وجود ندارد.

ديوارهاي آتش از نوع فيلتر كنندة بسته، مستقل از برنامة كاربردي
(application independent) هستند. تصميمات، برمبناي اطلاعات درون سر آيند بسته اتخاذ مي‌شود و نه بر مبناي اطلاعات مرتبط با يك برنامة كاربردي خاص.
۶-۱-۱-۲ نقاط ضعف:
ديوارهاي آتش از نوع فيلتر كنندة بسته، اجازة برقراري يك ارتباط مستقيم مابين دو نقطة انتهايي (endpoints) را مي دهند. اگرچه اين روش غربال كردن بسته، براي اجازة ورود دادن يا رد كردن ترافيك مابين دو شبكه، پيكربندي مي‎شود اما مدل سرويس دهنده/ مشتري (client / server) هرگز نقض نمي‎شود.
ديوارهاي آتش از نوع فيلتر كنندة بسته سريع هستند و معمولاً تأثيري بر روي عملكرد شبكه نمي‌گذارند، اما اغلب يك نگرش همه يا هيچ چيز (all- or- nothing) محسوب مي‌شود. اگر پورتها (ports) باز باشند، براي كل ترافيك عبوري از آن پورت باز هستند و در نتيجه يك حفرة امنيتي (hole) در شبكة شما باقي مي‌ماند.

تعريف كردن قوانين و فيلترهاي يك ديوار آتش از نوع فيلتر كنندة بسته ممكن است به كار پيچيده اي تبديل شود. مدير شبكه بايد درك خوبي از سرويسها و پروتكلها (protocol) داشته باشد تا بتواند نيازهاي امنيتي سازمان را به مجموعة دقيقي از قوانين يا فيلترهاي اجازه يا رد ترجمه نمايد. در بعضي حالات، ممكن است كار پيكربندي قوانين يا فيلترها آنقدر پيچيده شود كه پياده سازي را غيرممكن سازد. قوانين يا فيلترهاي دسترسي طولاني مي‌تواند تأثير منفي روي عملكرد شبكه بگذارد و بستر خطا را فراهم سازد. هنگامي‌كه تعداد قوانين يا فيلترها افزايش مي‌يابد، مدت زماني كه ديوار آتش صرف اتخاذ تصميمات مقايسه اي مي‌كند افزايش مي‌يابد و امكان اينكه يك قانون يا فيلتر، نادرست باشد نيز اضافه خواهد شد.

آزمايش صحت قوانين يا فيلترهاي ديوار آتش از نوع فيلتر كنندة بسته ممكن است دشوار باشد. حتي اگر قوانين يا فيلترها ساده به نظر آيند، بررسي درستي يك قانون از طريق آزمايش مي‌تواند فرايندي زمان گير باشد. گاهي اوقات نتايج آزمايش مي‌تواند گمراه كننده و غيردقيق باشد.