310 likes | 458 Views
دانشگاه صنعتی بیرجند. درس مبانی امنیّت شبکه های کامپیوتری. فصل پنجم - فایروال. قسمت اوّل. سیّد مهدی رضوی – 1387/08/13. مقدّمه.
E N D
دانشگاه صنعتی بیرجند درس مبانی امنیّت شبکه های کامپیوتری فصل پنجم - فایروال قسمت اوّل سیّد مهدی رضوی – 1387/08/13
مقدّمه • با توجه به رشد روز افزون حملات مخرب شبکه ای، رعایت موارد امنیتی برای تک تک کاربران اینترنت لازم و ضروری به نظر می رسد. استفاده از نرم افزارهائی که به سادگی و حتی با کمترین میزان اطلاعات و توسط کاربران آماتور، می توانند موجب پدید آمدن اختلالات فراوان در شبکه و سیستم های شخصی شوند، نگرانی های بسیار جدی را بوجود می آورد.
تعریف فایروال • یک فایروال شبکه را در برابر ترافیک ناخواسته و همچنین نفوذ دیگران به کامپیوترها حفاظت می کند. توابع اولیه یک فایروال به این صورت است که اجازه می دهد ترافیک خوب عبور کند و ترافیک بد را مسدود می کند. • دیوار آتش سیستمی سخت افزاری یا نرم افزاری است که بین کامپیوتر شما یا یک شبکه LAN و شبکه بیرونی (مثلا اینترنت) قرار گرفته و ضمن نظارت بر دسترسی به منابع (resource)سیستم ، در تمام سطوح ، ورود و خروج اطلاعات را تحت نظر دارد. هر سازمان یا نهادی که بخواهد ورود و خروج اطلاعات شبکه خود را کنترل کند موظف است تمام ارتباطات مستقیم شبکه خود را با دنیای خارج قطع نموده و هر گونه ارتباط خارجی از طریق یک دروازه که دیوار آتش یا فیلتر نام دارد، انجام شود.
وظایف فایروالها • فایروالها بسته های ورودی به شبکه یا خروجی از شبکه را بسته به نوع فایروال و پارامترهای ارزیابی همچون آدرس IP مبدا، آدرس IP مقصد، نوع پروتکل، شمارة پورت مبدأ، شمارة پورت مقصد، فلگ های موجود در سرآیند بسته ها و همچنین نوع برنامة کاربردی و ... مورد بازرسی و کنترل قرار می دهند و بسته به نوع سیاست امنیّتی اعمال شده سه حالت برای ترافیک عبوری در نظر می گیرند: • Allow Mode(تمام بسته ها اجازة عبور دارند) • Restrict Mode(تنها اجازة عبور بسته هایی را می دهد که مجاز هستند) • Block Mode(تمام بسته ها را بلوکه می نماید)
وظایف فایروالها • در حقیقت فایروال محلی است برای ایست و بازرسی بسته های اطلاعاتی بگونه ای که بسته ها بر اساس تابعی از قوانین امنیّتی(سیاست های امنیّتی) پردازش شده و صرفاً بر طبق قوانین اعمال شده برای آنها مجوّز عبور و یا عدم عبور صادر می گردد. • اگر P مجموعه ای از بسته های عبوری از فایروال متناهی از قواعد امنیّتی موجود در نظر گرفته شود و S مجموعه ای می باشد خواهیم داشت: X=F(P,S) که F تابع عملکرد فایروال و X نتیجة تحلیل بسته که شامل سه حالت برشمرد شده Allow و Restrict و Block خواهد بود.
Firewall & Bottleneck • با توجه به نوع عملکردی که به عهدة فایروالها گذاشته شده همواره به عنوان یک Bottleneck یا گلوگاه در شبکه محسوب می شوند زیرا منجر به بالا رفتن ترافیک، تأخیر، ازدحام و نهایتاً بن بست در شبکه می شوند. • بن بست زمانی اتّفاق می افتد که بسته ها جهت بررّسی فیلدهای موجود آنقدر در حافظة فایروال معطّل می شوند تا طول عمرشان تمام شده و باعث شود، فرستنده اقدام به ارسال مجدّد بسته نماید و این کار به طور متناوب و در یک سیکل نامشخص تکرار شود. • البته با تنظیم مناسب مدّت زمان منقضی برای هر بسته می توان این مشکل را برطرف نمود. • فایروالها نیار به طرّاحی و پیکربندی صحیح دارند تا از یک گلوگاه خارج شوند. • تأخیر در فایروالها اجتناب ناپذیر است فقط بایستی به گونه ای باشد که در شبکه بحران ایجاد ننماید.
نواحی خطر • پیاده سازی یک فایروال بگونه ای که بتوان موازنه ای بین امنیّت و سرعت برقرار نمود، اساساً کار بسیار مشکلی است. یک فایروال همواره لازم است اجازة کار با شبکة داخلی و اینترنت را به شکل قابل قبول و کارآمد برقرار و در کنار آن امنیّت لازم برای این ارتباط را نیز فراهم نماید. • طرّاحان فایروال همیشه قسمتی از معماری سیستم خود را به ناحیة خطر اختصاص می دهند. • منظور از ناحیة خطر جائیست که موازنة میان سرعت و امنیّت در آنجا مورد توافق قرار گرفته و یک نفوذگر در صورت شناسائی چنین نقطه ای می تواند به راحتی به شبکه نفوذ نماید.
نواحی خطر Internet Private Network ناحیة خطر برای یک شبکة حفاظت نشده Internet Private Network Firewall ناحیة خطر برای شبکه ای که توسط فایروال حفاظت شده
موارد مهم و لازم برای نواحی خطر در هنگام پیاده سازی فایروال • عملکرد فایروال همیشه بر اساس موازنه ای بین امنیّت و سرعت دسترسی به اطّلاعات سنجیده می شود از این رو هر چه از سطح امنیّتی بالاتری در شبکه استفاده نماییم کاهش کارایی و عملکرد شبکه را فراهم نموده ایم. • فیلترها می توانند در ارزیابی دسترسی به شبکه مناسب باشند ولی با طولانی کردن لیست فیلترینگ باعث می شویم زمان بیشتری برای ارزیابی بسته ها در فایروال صرف شود. • سیستم هایی که برای سرویس های فیلترینگ استفاده می شوند لازم است بر اساس اینکه تا چه سطحی عمل فیلترینگ را بر روی بسته اجرا نمایند انتخاب شوند تا کارایی و سرعت شبکه در حدّ قابل قبول حفظ شود. • رمزگذاری و رمزگشایی بسته ها تأخیری را به شبکه اعمال می نماید که می بایست در هنگام پیاده سازی فایروال در نظر گرفته شود. • بلوکه نمودن تمام پورت های غیر ضروری متد مناسبی برای افزایش کارایی فایروال و کاهش ریسک و خطر نفوذ می باشد.
برخی از خصوصیّات برجستة فایروالهای امروزی • NAT(Network Address Translation) • Port Forwarding • Encryption • Virus Checking • URL Screening • Portable Code • Remot Management
انواع فایروالها از حیث ساختاری • فایروالها را بر اساس نوع عملکردشان و همچنین تعداد لایه های TCP/IP که مورد ارزیابی قرار می دهند به سه دستة کلّی تقسیم می گردند: • Packet Filtering(فیلتر عمومی) • Stateful Inspection(فیلتر هوشمند) • Application Gateway/Proxy(دروازة برنامة کاربردی)
فایروالهای Packet Filtering • بسته هاي اطلاعاتي در ورود به شبكه و در فايروال مورد تجزيه و تحليل قرار مي گيرند. بسته هايي كه از فيلترها مي گذرند به سمت سرور مورد نظر هدايت مي شود و بسته هاي مشكوك به علّت عدم اطمينان از سلامت آنها از ورودشان به داخل شبكه جلوگيري مي شود.
فایروالهای Stateful Inspection • روش جديدي است كه محتويات همه بسته ها بررسي نمي شود بلكه برخي از قسمت هاي كليدي بسته با اطلاعات موجود در پايگاه اطلاعاتي فايروال مقايسه مي شود. اطلاعات خروجي با شاخص هاي معيني مانيتور شده و اطلاعات ورودي نيز با همين شاخصه ها مقايسه مي شوند اگر نتيجه اين مقايسه يكسان يا يك رابطه منطقي داشته باشد اطلاعات مجاز به عبور از فايروال مي باشند در غير اين صورت فايروال از عبور آنها جلوگيري مي كند.
فایروالهای Application Gateway/Proxy • بسته هاي اطلاعاتي در ورود به شبكه و در فايروال مورد تجزيه و تحليل قرار مي گيرند. بسته هايي كه از فيلترها مي گذرند به سمت سرور مورد نظر هدايت مي شود و بسته هاي مشكوك به علّت عدم اطمينان از سلامت آنها از ورودشان به داخل شبكه جلوگيري مي شود.
ایجاد محدودیّت توسط فایروال • فايروال ها مي توانند براساس نياز تعيين شوند يعني مي توانيد در فايروال فيلترهايي بر اساس موارد و وضعيت هاي زير اضافه يا حذف نماييد برخي از اين موارد عبارتند از: • آيپي آدرس( IP Addresses) • نام دامنه (Domain Names) • پروتكل (Protocols) • پورت (Port) • عبارات و كلمات خاص
ایجاد محدودیّت توسط فایروال • IP Addresses : در شبكه اينترنت هر ماشين با يك آدرس مجزا موسوم به IP Address معرفي مي شود. آدرس هاي مذكور شماره هاي 32 بيتي هستند كه به چهارقسمت هشتايي ( اكتاو ) تقسيم مي شوند كه هر يك از اين چهار اكتاو توسط يك نقطه از اكتاو بعدي متمايز مي شود. • به عنوان مثال يك آدرس مي تواند شبيه 137.61.27.216 باشد. اگر از بيرون شركت يك آدرس خاص در حال خواندن فايل هاي بيشماري باشد فايروال مي تواند آن را كنترل نموده و از ترافيك ورودي و يا خروجي آدرس مذكور جلوگيري كند.
ایجاد محدودیّت توسط فایروال • Domain Names : از آنجائيكه به خاطر سپردن يك رشته از اعداد IP Address مشكل مي باشد و از طرف ديگر غالباً اين آدرس ها نياز به تغيير دارند تمامي سرورهاي اينترنتي داراي آدرس هايي موسوم به Domain Names مي باشند بعنوان مثال براي اكثر افراد به خاطر سپردن نامي مانند www.computernews.ir بسيار راحت تر مي باشد تا اينكه شماره IP Addressآن را به خاطر بسپارند. • بسياري از شركت ها توسط فايروال از دسترسي به برخي از سايت ها جلوگيري مي كنند و يا تنها امكان دسترسي به تعداد خاصي از سايت ها را برقرار مي سازند.
ایجاد محدودیّت توسط فایروال • Protocols: پروتكل ها ، روش هايي از پيش تعيين شده هستند كه هر شخص يا برنامه اي كه بخواهد از خدماتي استفاده نمايد ، از طريق سرويس ها و پروتكل ها با سرور و يا نرم افزار طرف مقابل صحبت مي كند. • پروتكل ها غالباً به شكل متن مي باشند كه به زباني ساده نحوه ارتباط يك كلاينت با سرور را تشريح مي كند. حال با برخي از پروتكل هاي متداول آشنا مي شويم. برخي پروتكل هايي كه مي توانيد فايروال ها را بر اساس آنها تنظيم نماييد عبارتند از : • IP ( Internet Protocol ) اساسي ترين سيستم تحويل اطلاعات روي اينترنت مي باشد.TCP ( Transport Control Protocol ) پروتكلي كه وظيفه آن قطعه قطعه كردن اطلاعات و بازسازي مجدد آن به منظور انتقال اطلاعات در اينترنت مي باشد.HTTP ( Hyper Text Transfer Protocol ) مورد استفاده اين پروتكل در صفحات وب مي باشد.FTP ( File Transfer Protocol ) پروتكلي براي Upload ( ارسال ) و Download ( دريافت ) فايل در اينترنت.UDP ( User Datagram Protocol ) اين پروتكل مخصوص اطلاعاتي است كه نيازي به پاسخ از طرف گيرنده نمي باشد مانند پخش فايل هاي صوتي و تصويري روي اينترنت.ICMP ( Internet Control Message Protocol ) پروتكلي است جهت داد و ستد اطلاعات بين روترهاSMTP ( Simple Mail Transport Protocol ) اين پروتكل به منظور ارسال اطلاعات متني ( Text-Based ) مانند E-mail به كار گرفته مي شود.Telnet اين پروتكل جهت اجراي دستورات روي كامپيوتر راه دور به كار مي رود. • براساس نياز و طبق طراحي هايي كه انجام مي شود ممكن است شركتي دسترسي به پروتكل خاصي را منحصر به يك ماشين نمايد و ماشين هاي ديگر را از دسترسي به آن پروتكل محروم سازد. توسط فايروال مي توان ترافيك مربوط به پروتكل هايي را به داخل و خارج كنترل يا مسدود نمود. • Port در اينترنت هر يك از ماشين هاي سرويس دهنده خدمات يا سرويس خود را از طريق پورت هايي شماره بندي شده به كلاينت ها ارائه مي دهد طوريكه براي ارائه هر يك از اين سرويس ها يك پورت اختصاص داده شده است. به طور مثال اگر روي يك ماشين سرور دو سرويس HTTP و FTP فعال باشد در اين صورت سرويس دهنده HTTP از طريق پورت 80 و سرويس دهنده FTP از طريق 21 خدمات خود را ارائه مي دهند. حال يك شركت ممكن است توسط فايروال دسترسي به تمام ماشين ها به استثناي سرور و آن هم پورت شماره 21 را براي افراد خارج از شبكه غير ممكن سازد.
ایجاد محدودیّت توسط فایروال • عبارات و كلمات خاص:فايروال داخل هر يك از بسته هاي اطّلاعاتي را براي يافتن لغت يا عبارتي مي گردد كه در فيلتر مربوط به فايروال ليست شده باشد. به طور مثال ، مي توانيد دستوراتي را براي فايروال تنظيم كنيد كه از ورود بسته هاي اطلاعاتي كه داراي لغاتی چونChat و یا Sexباشند جلوگيري كند.
ابزارهای لازم برای تست نفوذ و ارزیابی فایروال • Tracert/Tracerout • Firewalking • Hpinging • پویش پورت های مبدأ(مبتنی بر UDP) • icmpenum)(ICMP Enumerating) • Nmaping(Network mapping) • Ws_Ping Pro Pack
آيا پورت 80 براي ارتباطات http ايمن مي باشد؟ در غالب فايروالها پورت 80 براي ترافيك http بازگذاشته شده براي مواردي همچون: 1) جهت استفاده كاربران داخلي شبكه براي دسترسي به وب 2) جهت استفاده كاربران خارجي براي دسترسي به وب سرور شبكه، اجازه عبور داده مي شود.َ
آيا پورت 80 براي ارتباطات http ايمن مي باشد؟ اينگونه ترافيك هاي شبكه غالباً بدون بررّسي و نظارت دقيق بر بسته ها اجازه عبور مي يابند. با مراجعه به Search Engineها و جستجوي حملاتي كه تاكنون بر عليه پورت 80 صورت گرفته، متأسّفانه نتايج جستجو، آمار بالايي از حملات را به شما نشان مي دهند.
آيا پورت 80 براي ارتباطات http ايمن مي باشد؟ برخي از اين حملات انجام شده به پورت 80 عبارتند از: سر ريز شدن بافر(Buffer overlow) در وب سرورها. نصب كدهاي اجرايي و به دست گرفتن كنترل سرور مربوطه. كشف و بهره برداري از نقاط آسيب پذير موجود در وب سرورها. فريب كاربران داخلي براي نصب تروجانهايي كه بر روي http قابل اجرا مي باشد. استفاده از پورت 80 براي عبور ساير ترافيك هاي مورد نظر نفوذگر (غير از http).
با تهديدات عليه پورت http چگونه بايد برخورد كرد و خطرات موجود را به حدّاقل رساند؟ غالب فايروالهاي Packet Filter و حتّي Stateful Inspection در مقابل اينگونه حملات توان مقابله و يا پيشگيري ندارند.
با تهديدات عليه پورت http چگونه بايد برخورد كرد و خطرات موجود را به حدّاقل رساند؟ پاسخي كه در اينجا مي توان داد استفاده از مجموعه ابزارهايي است كه براي جلوگيري و تقليل اينگونه حملات مي توان از آنها استفاده كرد: استفاده از فايروالهاي Proxy. استفاده از سيستمهاي IDS كه براي تكميل عملكرد پروكسي ها و تجزيه و تحليل دقيق ترافيك ورودي و اينكه آيا رفتار و عملكرد آن منطبق با رفتار استاندارد ترافيك http مي باشد يا خير، كمك مؤثرّي براي مقابله با اينگونه حملات محسوب مي شوند.
نواحي DMZ يا نواحي غير نظامي DMZ بخش عمومي را از بخش خصوصي يا محرمانه كه صرفاً براي سرويس دهي به اعضاي آن سازمان پياده سازي شده را تفكيك مي نمايد. بخش عمومي توسط يك فيلتر عمومي همچون فايروالهاي Packet Filter و يا يك فيلتر هوشمند Stateful Inspection حفاظت مي شود تا از كارايي سرويس دهنده ها كاسته نشود و شبكه داخلي و خصوصي نيز در پشت يك فايروال مبتني بر پروكسي پنهان شده تا ضمن غير قابل نفوذ نمودن آن از خارج، بتوان ارتباط كاربران داخلي شبكه را نيز با اينترنت فراهم نمود. در چنين ساختاري يك نفوذگر خارجي براي برقراري ارتباط با يك ماشين داخلي دو مانع عمده بر سر راه دارد، فيلترهاي ذكر شده و پروكسي. اگر نفوذگر، موفق به عبور از سدّ فيلتر شبكه نيز شود قطعاً پشت سدّ پروكسي متوقّف خواهد شد.