پایان نامه ديوار آتش مبتني بر سيستم عامل لينوكس
پيشگفتار:
اين قابليت كه بتوان يك كامپيوتر را در هر كجا به كامپيوتري ديگر در جايي ديگر متصل كرد، به منزلة يك سكة دو رو است؛ براي اشخاصي كه در منزل هستند گردش در اينترنت بسيار لذت بخش است در حالي كه براي مديران امنيت در سازمان ها، يك كابوس وحشتناك به حساب ميآيد.
«ديوار آتش» پياده سازي مدرني از روش قديمي حصارهاي امنيتي است: خندقي عميق دور تا دور قلعه حفر مي كردند. اين الگو همه را مجبور ميكند تا براي ورود يا خروج از قلعه، از يك پل متحرك و واحد بگذرند و بتوان همه را توسط پليس حراست بازرسي كرد. در دنياي شبكه هاي كامپيوتري، همين راهكار ممكن خواهد بود: يك سازمان ميتواند هر تعداد شبكة محلي داشته باشد كه به صورت دلخواه به هم متصل شده اند، اما تمام ترافيك ورودي يا خروجي سازمان صرفاً از طريق يك پل متحرك (همان ديوار آتش) ميسر است.
مطالب اين پايان نامه در دو فصل تنظيم شده است. فصل اول به معرفي ديوارهاي آتش مي پردازد. در اين فصل، مطالبي از قبيل اثرات مثبت و منفي ديوار آتش، تواناييها و ناتواناييهاي آن، نحوة عملكرد ديوارهاي آتش، انواع ديوار آتش، معماري هاي ديوار آتش و نحوة انتخاب، پياده سازي و آزمايش يك ديوار آتش بررسي ميشوند. اين فصل، يك ديد جامع در مورد نحوة انتخاب ديوار آتش منطبق با سياست امنيتي سازمان ميدهد. فصل دوم به پياده سازي نرم افزاري يك ديوار آتش فيلتر كنندة بسته با استفاده از ابزار ارائه شده در سيستم عامل لينوكس، يعني iptables مي پردازد. در اين فصل، مطالبي از قبيل نحوة پيكربندي سيستم مبتني بر لينوكس به عنوان يك مسيرياب، جداول و زنجيرها، قوانين و تطبيق ها و اهداف، پيكربندي iptables، مشخصات فيلترسازي، تعميم ها، مشخصات هدف، تركيب NAT با فيلترسازي بسته و نحوة ذخيره و بازيابي دستورات iptables بررسي ميشوند. اين فصل، نحوة نوشتن قوانين ديوار آتش فيلتر كنندة بسته را به منظور كنترل مناسب ترافيك ورودي يا خروجي توضيح ميدهد.
فهرست مطالب
فهرست مطالب…………………………………………………………………………………………. 3
فهرست شكل ها……………………………………………………………………………………….. 9
فهرست جدول ها……………………………………………………………………………………… 11
چكيده (فارسي)………………………………………………………………………………………… 12
فصل اول: ديوارهاي آتش شبكه………………………………………………………………… 13
1-1 : مقدمه…………………………………………………………………………………….. 14
1-2 : يك ديوار آتش چيست؟…………………………………………………………….. 15
1-3 : ديوارهاي آتش چه كاري انجام مي دهند؟……………………………………. 16
1-3-1 : اثرات مثبت…………………………………………………………………. 16
1-3-2 : اثرات منفي…………………………………………………………………. 17
1-4 : ديوارهاي آتش، چه كارهايي را نمي توانند انجام دهند؟…………………. 18
1-5 : چگونه ديوارهاي آتش عمل ميكنند؟…………………………………………… 20
1-6 : انواع ديوارهاي آتش………………………………………………………………… 21
1-6-1 : فيلتر كردن بسته………………………………………………………….. 22
1-6-1-1 : نقاط قوت……………………………………………………….. 24
1-6-1-2 : نقاط ضعف…………………………………………………….. 25
1-6-2 : بازرسي هوشمند بسته…………………………………………………. 28
1-6-2-1 : نقاط قوت……………………………………………………….. 31
1-6-2-2 : نقاط ضعف…………………………………………………….. 32
1-6-3 : دروازة برنامه هاي كاربردي و پراكسيها………………………… 32
1-6-3-1 : نقاط قوت……………………………………………………….. 35
1-6-3-2 : نقاط ضعف…………………………………………………….. 36
1-6-4 : پراكسيهاي قابل تطبيق………………………………………………….. 38
1-6-5 : دروازة سطح مداري…………………………………………………….. 39
1-6-6 : وانمود كننده ها…………………………………………………………… 40
1-6-6-1 : ترجمة آدرس شبكه…………………………………………. 40
1-6-6-2 : ديوارهاي آتش شخصي……………………………………. 42
1-7 : جنبه هاي مهم ديوارهاي آتش كارآمد…………………………………………. 42
1-8 : معماري ديوار آتش………………………………………………………………….. 43
1-8-1 : مسيرياب فيلتركنندة بسته……………………………………………… 43
1-8-2 : ميزبان غربال شده يا ميزبان سنگر………………………………… 44
1-8-3 : دروازة دو خانه اي………………………………………………………. 45
1-8-4 : زير شبكة غربال شده يا منطقة غيرنظامي………………………… 46
1-8-5 : دستگاه ديوار آتش………………………………………………………. 46
1-9 : انتخاب و پياده سازي يك راه حل ديوار آتش……………………………….. 48
1-9-1 : آيا شما نياز به يك ديوار آتش داريد؟…………………………….. 48
1-9-2 : ديوار آتش، چه چيزي را بايد كنترل يا محافظت كند؟………… 49
1-9-3 : يك ديوار آتش، چه تأثيري روي سازمان، شبكه و كاربران
خواهد گذاشت؟…………………………………………………………….. 50
1-10 : سياست امنيتي ……………………………………………………………………… 51
1-10-1 : موضوعات اجرايي…………………………………………………….. 52
1-10-2 : موضوعات فني…………………………………………………………. 53
1-11 : نيازهاي پياده سازي………………………………………………………………. 54
1-11-1 : نيازهاي فني……………………………………………………………… 54
1-11-2 : معماري…………………………………………………………………… 54
1-12 : تصميم گيري………………………………………………………………………… 55
1-13 : پياده سازي و آزمايش…………………………………………………………… 56
1-13-1 : آزمايش، آزمايش، آزمايش!………………………………………… 57
1-14 : خلاصه ……………………………………………………………………………….. 58
فصل دوم: پياده سازي ديوار آتش با استفاده از iptables…………………………….. 60
2-1 : مقدمه…………………………………………………………………………………….. 61
2-2 : واژگان علمي مربوط به فيلترسازي بسته…………………………………….. 62
2-3 : انتخاب يك ماشين براي ديوار آتش مبتني بر لينوكس……………………. 65
2-4 : به كار بردن IP Forwarding و Masquerading………………………………. 65
2-5 : حسابداري بسته………………………………………………………………………. 70
2-6 : جداول و زنجيرها در يك ديوار آتش مبتني بر لينوكس………………….. 70
2-7 : قوانين……………………………………………………………………………………. 74
2-8 : تطبيق ها………………………………………………………………………………… 75
2-9 : اهداف……………………………………………………………………………………. 75
2-10 : پيكربندي iptables………………………………………………………………….. 76
2-11 : استفاده از iptables…………………………………………………………………. 77
2-11-1 : مشخصات فيلترسازي……………………………………………….. 78
2-11-1-1 : تعيين نمودن آدرس IP مبدأ و مقصد………………… 78
2-11-1-2 : تعيين نمودن معكوس…………………………………….. 79
2-11-1-3 : تعيين نمودن پروتكل……………………………………… 79
2-11-1-4 : تعيين نمودن يك رابط…………………………………….. 79
2-11-1-5 : تعيين نمودن قطعه ها……………………………………… 80
2-11-2 : تعميم هايي براي iptables (تطبيق هاي جديد)…………………. 82
2-11-2-1 : تعميم هاي TCP…………………………………………….. 82
2-11-2-2 : تعميم هاي UDP……………………………………………. 86
2-11-2-3 : تعميم هاي ICMP………………………………………….. 86
2-11-2-4 : تعميم هاي تطبيق ديگر…………………………………… 87
2-11-3 : مشخصات هدف……………………………………………………….. 92
2-11-3-1 : زنجيرهاي تعريف شده توسط كاربر………………… 92
2-11-3-2 : هدف هاي تعميمي …………………………………………. 92
2-11-4 : عمليات روي يك زنجير كامل………………………………………. 94
2-11-4-1 : ايجاد يك زنجير جديد…………………………………….. 94
2-11-4-2 : حذف يك زنجير ……………………………………………. 94
2-11-4-3 : خالي كردن يك زنجير …………………………………… 95
2-11-4-4 : فهرست گيري از يك زنجير ……………………………. 95
2-11-4-5 : صفر كردن شمارنده ها………………………………….. 95
2-11-4-6 : تنظيم نمودن سياست……………………………………… 95
2-11-4-7 : تغيير دادن نام يك زنجير………………………………… 96
2-12 : تركيب NAT با فيلترسازي بسته……………………………………………… 96
2-12-1 : ترجمة آدرس شبكه……………………………………………………. 96
2-12-2 : NAT مبدأ و Masquerading………………………………………… 98
2-12-3 : NAT مقصد……………………………………………………………… 99
2-13 : ذخيره نمودن و برگرداندن قوانين……………………………………………. 101
2-14 : خلاصه………………………………………………………………………………… 102
نتيجه گيري……………………………………………………………………………………………… 105
پيشنهادات……………………………………………………………………………………………….. 105
فهرست شكل ها
فصل اول
شكل 1-1 : نمايش ديوار آتش شبكه……………………………………………………. 15
شكل 1-2 : مدل OSI………………………………………………………………………… 22
شكل 1-3 : ديوار آتش از نوع فيلتركنندة بسته………………………………………. 23
شكل 1-4 : لايه هاي OSI در فيلتر كردن بسته………………………………………. 23
شكل 1-5 : لايه هاي OSI در بازرسي هوشمند بسته……………………………… 28
شكل 1-6 : ديوار آتش از نوع بازرسي هوشمند بسته……………………………. 30
شكل 1-7 : لاية مدل OSI در دروازة برنامة كاربردي……………………………. 33
شكل 1-8 : ديوار آتش از نوع دروازة برنامة كاربردي…………………………… 34
شكل 1-9 : مسيرياب فيلتر كنندة بسته…………………………………………………. 44
شكل 1-10 : ديوار آتش ميزبان غربال شده يا ميزبان سنگر…………………… 45
شكل 1-11 : دروازة دو خانه اي………………………………………………………… 46
شكل 1-12 : زير شبكة غربال شده يا منطقة غيرنظامي………………………….. 46
شكل 1-13 : دستگاه ديوار آتش…………………………………………………………. 47
فصل دوم
شكل 2-1 : يك سيستم مبتني بر لينوكس كه به عنوان يك مسيرياب به
جلو برنده پيكربندي شده است……………………………………………………. 67
شكل 2-2 : تغيير شكل شبكة 10.1.2.0 به عنوان آدرس 66.1.5.1 IP……….. 69
شكل 2-3 : مسير حركت بستة شبكه براي filtering……………………………….. 72
شكل 2-4 : مسير حركت بستة شبكه براي Nat……………………………………… 73
شكل 2-5 : مسير حركت بستة شبكه براي mangling……………………………… 73
فهرست جدول ها
فصل اول
فصل دوم
جدول 2-1 : جداول و زنجيرهاي پيش فرض………………………………………… 71
جدول 2-2 : توصيف زنجيرهاي پيش فرض…………………………………………. 71
جدول 2-3 : هدف هاي پيش فرض……………………………………………………… 76
جدول 2-4 : حالت هاي رديابي ارتباط…………………………………………………. 91
جدول 2-5 : سطوح ثبت وقايع……………………………………………………………. 93
جدول 2-6 : ماجول هاي كمكي NAT…………………………………………………… 97
چكيده:
تأمين امنيت شبكه، بخش حساسي از وظايف هر مدير شبكه محسوب ميشود. از آنجاييكه ممكن است محافظت هاي متفاوتي موردنياز باشد، لذا مكانيزم هاي گوناگوني هم براي تأمين امنيت در شبكه وجود دارد. يكي از اين مكانيزم ها استفاده از ديوار آتش ميباشد. مدير شبكه بايد درك بالايي از انواع ديوار آتش، نقاط قوت و ضعف هر نوع، حملات تهديد كنندة هر نوع، معماري هاي ديوار آتش، تأثيرات آن بر شبكه و كاربران، سياست امنيتي سازمان و همچنين نيازهاي فني پياده سازي داشته باشد تا بتواند راه حل مناسب را انتخاب و به درستي پياده سازي نمايد و سپس آنرا مورد آزمايش قرار دهد. در همين راستا، سيستم عامل «Linux» براي پياده سازي نرم افزاري ديوار آتش فيلتر كنندة بسته، ابزاري را به نام «iptables» در اختيار كاربر قرار ميدهد تا با استفاده از دستورات اين ابزار بتواند قوانين و فيلترهاي موردنياز را براي كنترل مطلوب دسترسي، خواه از داخل شبكه به خارج و خواه بالعكس، پيكربندي نمايد.
فصل اول
ديوارهاي آتش شبكه
فصل اول: ديوارهاي آتش شبكه
1-1 : مقدمه
امروزه با وجود طيف گستردة راه حلهاي ديوار آتش، انتخاب و پياده سازي ديوار آتش به فرايندي زمان گير مبدل شده است. روش جذاب در راه حلهاي ديوار آتشي كه به بازار عرضه شده اند، به همراه ادعاهاي نصب و مديريت آسان، ممكن است سازمانها را به سمتي سوق دهد كه بدون آنكه به طور كامل نياز به راه حل ديوار آتش را بررسي نمايند، تصميم به پياده سازي آن بگيرند. با اتخاذ تصميمات عجولانه، سازمانها اثراتي را كه يك راه حل ديوار آتش بر شبكة موجود و كاربران آنها ميگذارد، ناديده ميگيرند.
چه متغيرهايي بايد در هنگام تعيين نياز به يك ديوار آتش، مورد توجه قرار گيرند؟ سازمانهايي كه اتصال به اينترنت يا هر شبكة نامطمئن ديگر دارند، ممكن است نياز به پياده سازي يك راه حل ديوار آتش داشته باشند. به هر حال، اين سازمانها بايد اثراتي را كه يك ديوار آتش بر سرويسهاي شبكه، منابع و كاربران آن خواهد گذاشت مورد توجه قرار دهند و نحوة قرارگيري ديوار آتش براساس نيازهاي تجاري خاص آنها و زيربناي شبكه را در نظر بگيرند. سازمانها بايد نيازهاي ويژة خود را مشخص كنند، زيربناي فعلي شبكة خود را تجزيه و تحليل نمايند و از اطلاعات بدست آمده به عنوان مبنايي براي تصميمات خود استفاده كنند. در برخي موارد، ممكن است بعد از بررسي تمام متغيرها، دريابند كه يك راه حل ديوار آتش، ضروري نيست و يا پياده سازي آن غيرعملي است.
1-2 : يك ديوار آتش چيست؟
ديوارهاي آتش شبكه، سدي مابين شبكهها به وجود ميآورند كه از ترافيك (traffic) ناخواسته يا بدون مجوز (unauthorized) جلوگيري ميكند.
تعريف: ديوار آتش شبكه، سيستم يا گروهي از سيستمهاست كه با استفاده از قوانين (rules) يا فيلترهاي از پيش پيكربندي شده، دسترسي مابين دوشبكه- يك شبكة مطمئن (Trusted) و يك شبكة نامطمئن (Untrusted)- را كنترل ميكند.
شكل 1-1: نمايش ديوار آتش شبكه
ممكن است ديوارهاي آتش، فقط از يك مسيرياب (router)، چندين مسيرياب، يك سيستم ميزبان يا چندين ميزبان اجرا كنندة نرم افزار ديوار آتش، دستگاههاي سخت افزاري مخصوصي كه براي تأمين سرويسهاي ديوار آتش طراحي شده اند، يا هر تركيبي از آنها تشكيل شده باشد. اين موارد از نظر طراحي، كاربردي بودن، معماري و هزينه متغير هستند. بنابراين، براي پياده سازي موفق يك راه حل ديوار آتش در يك سازمان، مهم است كه دريابيم كه هر راه حل ديوار آتشي چه كاري ميتواند انجام دهد و چه كاري نميتواند انجام دهد. راه حلهاي ديوار آتش ميتوانند هم اثرات مثبت بر شبكه بگذارند و هم اثرات منفي.
1-3 : ديوارهاي آتش چه كاري انجام ميدهند؟
1-3-1 : اثرات مثبت
اگر ديوارهاي آتش، به درستي پياده سازي شوند ميتوانند دسترسي به شبكه و از شبكه را كنترل كنند. ديوارهاي آتش طوري ميتوانند پيكربندي شوند كه از دسترسي كابران بيروني يا بدون مجوز به شبكهها و سرويسهاي داخلي يا محرمانه جلوگيري نمايند؛ و نيز ميتوانند طوري پيكربندي شوند كه از دسترسي كاربران داخلي به شبكهها و سرويسهاي بيروني يا بدون مجوز جلوگيري كنند. برخي از ديوارهاي آتش ميتوانند داخل يك سازمان طوري قرار بگيرند كه دسترسي به سرويسها را مابين بخشها و ديگر شبكههاي محرمانه كنترل كنند.
- تأييد اعتبار كاربر (User authentication): ديوارهاي آتش ميتوانند طوري پيكربندي شوند كه نياز به تأييد اعتبار كاربر داشته باشند. اين مورد به مديران شبكه امكان ميدهد كه دسترسي كاربران خاصي را به سرويسها و منابع خاصي كنترل نمايند. تأييد اعتبار، اين امكان را نيز به مديران شبكه ميدهد كه فعاليت معيني از كاربر و تلاشهاي بدون مجوز براي دستيابي به شبكهها و سرويسهاي محافظت شده را دنبال كنند.
- نظارت و ثبت وقايع (Auditing and logging): ديوارهاي آتش ميتوانند امكانات نظارت و ثبت را در اختيارمان قرار دهند. با پيكربندي ديوار آتش جهت نظارت و ثبت فعاليت، ميتوان اطلاعات را نگهداري نمود و در آينده مورد تجزيه و تحليل قرار داد. ديوارهاي آتش ميتوانند بر اساس اطلاعاتي كه جمع آوري كرده اند، آمارهايي توليد نمايند. اين آمارها ميتواند در اتخاذ تصميمات خط مشي (Policy) كه مربوط به دستيابي به شبكه و سودمندي آن است، مفيد واقع شود.
- امنيت (Security): برخي از ديوارهاي آتش به گونه اي عمل ميكنند كه ميتوانند شبكههاي مطمئن يا داخلي را از شبكههاي نامطمئن يا بيروني پنهان كنند. اين لاية امنيتي اضافه ميتواند از سرويسها در مقابل پويشهاي ناخواسته محافظت نمايد.
ديوارهاي آتش همچنين ميتوانند يك نقطة مركزي براي مديريت امنيت ايجاد كنند. اين مسئله، زماني كه منابع انساني و مالي يك سازمان محدود باشد ميتواند بسيار مفيد واقع گردد.
1-3-2 : اثرات منفي
اگرچه راه حلهاي ديوار آتش مزاياي بسياري دارند، اما ممكن است برخي اثرات منفي نيز بر جاي بگذارند.
- گلوگاههاي ترافيكي (Traffic bottlenecks): در بعضي از شبكهها، ديوارهاي آتش، يك گلوگاه ترافيكي ايجاد ميكنند. با عبور دادن تمام ترافيك شبكه از ديوار آتش، امكان متراكم شدن شبكه بيشتر ميشود.
- نقطة شكست واحد (Single point of failure): ديوارهاي آتش ميتوانند يك نقطة شكست واحد ايجاد نمايند. در اغلب پيكربنديهايي كه ديوارهاي آتش تنها ارتباط مابين شبكهها هستند، اگر به درستي پيكربندي نشوند و يا در دسترس نباشند، هيچ ترافيكي را از خود عبور نخواهند داد.
- محروم سازي كاربر (User frustration): ديوارهاي آتش ممكن است كاربران را نااميد سازند زمانيكه منابع شبكه يا سرويسهاي آن مسدود باشند يا در دسترس كاربران نباشند و يا براي دستيابي نياز به تأييد اعتبار باشد و كاربران كلمة عبورشان را فراموش كرده باشند.
-
مسئوليتهاي مديريتي بيشتر: اغلب يك ديوار آتش، مسئوليتهاي مديريتي شبكه را بيشتر ميكند و عيب يابي شبكه را پيچيده تر ميسازد. اگر مديران شبكه زماني را براي پاسخ به هر اخطار و بررسي ثبت وقايع به طوري منظم صرف نكنند، هرگز متوجه نخواهند شد كه آيا ديوار آتش وظيفة خود را به درستي انجام ميدهد يا نه. تمام ديوارهاي آتش نياز به پشتيباني اجرايي مداوم، نگهداري كلي، به روز رسانيهاي نرم افزاري، وصلههاي امنيتي (patch) و ادارة مناسب حوادث دارند كه بر مسئوليتهاي مديران شبكه ميافزايد.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.