تکنولوژی

دیوار آتش چیست؟

دیوار آتش چیست؟

دیوار آتش سیستمی است که در بین کاربران یک شبکه محلی و شبکه بیرونی (مثلاً اینترنت) قرار میگیرد و ضمن نظارت بر دسترسی ها ، در تمام سطوح ورود و خروج اطلاعات را تحت نظر دارد

مدلی ساده برای یک سیستم دیوار آتش در شکل زیر ارائه شده است .

در این ساختار هر سازمان یا نهادی که بخواهد ورود و خروج اطلاعات شبکه را کنترل کند موظف است تمام ارتباطات مستقیم شبکه داخلی خود را با دنیای خارج قطع کرده و هرگونه ارتباط خارجی از طریق یک دروازه که دیوار آتش یا فیلتر نام دارد ، انجام

شود. قبل از آنکه اجزای یک دیوار آتش را تحلیل کنیم باید عملکرد کلی و مشکلات استفاده از یک دیوار آتش را بررسی کنیم.

بسته های IP و TCP قبل از ورود به شبکه (یا خروج از آن) ابتدا وارد دیوار آتش میشوند و منتظر میمانند تا طبق معیارهای حفاظتی و امنیتی پردازش شوند. پس از پردازش و تحلیل بسته سه حالت ممکن است اتفاق بیفتد:

  • اجازه عبور بسته صادر شود . (Accept Mode)
  • بسته حذف گردد . (Blocking Mode)
  • بسته حذف شده و پاسخ مناسب به مبداء آن بسته داده شود . (Response Mode)

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

اگر p مجموعهای از بسته های ورودی به سیستم دیوار آتش در نظر گرفته شود و s مجموعه ای متناهی از قواعد امنیتی باشد داریم: X=F(P,S)

F تابع عملکرد دیوار آتش و X نتیجه تحلیل بسته شامل سه حالت ( Accept,Blocking,Response ) خواهد بود. به مجموعۀ قواعد دیوار آتش ”سیاستهای امنیتی“ نیز گفته میشود؛ به شکل زیر دقت کنید:

دیوار آتش یکایک بسته ها و تقاضاهای ارتباط TCP را مطابق با سیاست های امنیتی بازرسی کرده برای آنها مجوز عبور (یا دستور حذف) صادر میکند. همانطوریکه همه جا عملیات ایست و بازرسی وقتگیر و اعصاب خردکن است دیوار آتش هم بعنوان یک

گلوگاه میتواند منجر به بالارفتن ترافیک ، تاخیر، ازدحام و نهایتاً بن بست در شبک شود. (بن بست زمانی است که بسته ها آنقدر در حافظه دیوار آتش معطل میشوند تا طول عمرشان تمام شده و فرستنده اقدام به ارسال مجدّد آنها کرده و این کار بطور

متناوب تکرار شود) به همین دلیل دیوار آتش نیاز به طراحی صحیح و دقیق دارد تا از حالت گلوگاهی خارج شود. ( تاخیر در دیوار آتش مجموعاً اجتناب ناپذیر است فقط بایستی بگونه ای باشد که بحران ایجاد نکند. )

مبانی طراحی دیوار آتش

از آنجائی که معماری شبکه بصورت لایه به لایه است ، در مدل TCP/IP برای انتقال یک واحد اطلاعات از لایه چهارم بر روی شبکه ، باید تمام لایه ها را بگذراند؛ هر لایه برای انجام وظیفۀ خود تعدادی فیلد مشخص به ابتدای بستۀ اطلاعاتی اضافه کرده و آنرا

تحویل لایه زیرین میدهد.

قسمت اعظم کار یک دیوار آتش تحلیل فیلدهای اضافه شده در هر لایه و سرآیند هر بسته میباشد . در بسته ای که وارد دیوار آتش میشود به تعداد لایه ها ( 4 لایه) سرآیند متفاوت وجود خواهد داشت .

معمولاً سرآیند لایه اوّل (لایه فیزیکی یا Network Interface در شبکه اینترنت) اهمیت چندانی ندارد.

چرا که محتوای این فیلدها فقط روی کانال فیزیکی در شبکه محلی معنا دارند و در گذر از هر شبکه یا مسیریاب این فیلدها عوض خواهند شد. بیشترین اهمیت در سرآیندی است که در لایه های دوم ، سوم و چهارم به یک واحد از اطلاعات اضافه خواهد شد:

  • در لایه شبکه از دیوار آتش فیلدهای سرآیند بسته IP را پردازش و تحلیل میکند.
  • در لایه انتقال از دیوار آتش فیلدهای سرآیند بسته های UDP یا TCP را پردازش و تحلیل میکند.
  • در لایه کاربرد دیوار آتش فیلدهای سرآیند و همچنین محتوای خود داده ها را بررسی میکند. (مثلا سرآیند و محتوای یک نامه الکترونیکی یا یک صفحه وب میتواند مورد بررسی قرار گیرد.)

با توجه به لایه لایه بودن معماری شبکه لاجرم یک دیوار آتش نیز چندلایه خواهد بود. اگر یک بسته در یکی از لایه های دیوار آتش شرایط عبور را احراز نکند همانجا حذف شده و به لایه های بالاتر ارجاع داده نمیشود بلکه ممکن است آن بسته جهت پیگیری های

امنیتی نظیر ثبت عمل و ردگیری به سیستمی جانبی تحویل داده شود. سیاست امنیتی یک شبکه مجموعه ای متناهی از قواعد امنیتی است که بنابر ماهیتشان در یکی از سه لایه دیوار آتش تعریف میشوند ، بعنوان مثال:

  • قواعد تعیین بستههای ممنوع (بسته های سیاه) در اولین لایه از دیوار آتش
  • قواعد بستن برخی از پورتها متعلق به سرویسهایی مثل FTP یا Telnet در لایه دوم
  • قواعد تحلیل سرآیند متن یک نامه الکترونیکی یا صفحه وب در لایه سوم

لایه اول دیوار آتش

لایه اول در دیوار آتش بر اساس تحلیل بسته ip و فیلدهای سرآیند این بسته کار میکند و در این بسته فیلدهای زیر قابل نظارت و بررسی هستند :

  • آدرس مبداء: برخی از ماشینهای داخل یا خارج شبکه با آدرس IP خاص ”حق ارسال“ بسته نداشته باشند و بسته های آنها به محض ورود به دیوار آتش حذف شود.
  • آدرس مقصد: برخی از ماشینهای داخل یا خارج شبکه با آدرس IP خاص ”حق دریافت“ بسته نداشته باشند و بسته های آنها به محض ورود به دیوار آتش حذف شود. (آدرس های IP غیر مجاز توسط مسئول دیوار آتش تعریف میشود)
  • شماره شناسایی یک دیتاگرام قطعه قطعه شده : بسته هائی که قطعه قطعه شدهاند یا متعلق به یک دیتاگرام خاص هستند حذف شوند.
  • شماره پروتکل: بسته هایی که متعلق به پروتکل خاصی در لایه بالاتر هستند میتواند حذف شود. یعنی بررسی اینکه بسته متعلق به چه پروتکلی در لایه بالاتر است و آیا برای تحویل به آن پروتکل مجاز است یا خیر.
  • زمان حیات بسته: بسته هائی که بیش از تعداد مشخصی مسیریاب را طی کرده اند مشکوک هستند و باید حذف شوند.
  • بقیه فیلدها بنابر صلاحدید و قواعد امنیتی مسئول دیوار آتش قابل بررسی هستند

مهمترین خصوصیت لایۀ اول از دیوار آتش آنست که در این لایه بسته ها بطور مجزا و مستقل از هم بررسی میشوند و هیچ نیازی به نگه داشتن بسته های قبلی یا بعدی یک بسته نیست. بهمین دلیل ساده ترین و سریعترین تصمیم گیری در این لایه انجام

میشود.

امروزه برخی از مسیریاب ها با امکان لایه اوّلِ دیوار آتش به بازار عرضه میشوند یعنی به غیر از مسیریابی ، وظیفۀ لایه اوّل یک دیوار آتش را هم انجام میدهند که به آنها ”مسیریاب های فیلتر کنندۀ بسته“ گفته میشود. بنابراین مسیریاب قبل از اقدام به

مسیریابی ، بر اساس جدولی بسته های IP را غربال میکند و تنظیم این جدول بر اساس نظر مسئول شبکه و برخی از قواعد امنیتی انجام میگیرد. با توجه به سریع بودن این لایه هر چه درصد قواعد امنیتی در این لایه دقیقتر و سختگیرانه تر باشد

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

لایه دوم دیوار آتش

در این لایه از فیلدهای سرآیند لایه انتقال برای تحلیل بسته استفاده میشود. عمومی ترین فیلدهای بسته های لایۀ انتقال جهت بازرسی در دیوار آتش ، عبارتند از :

  • شماره پورت پروسه مبداء و شماره پورت پروسه مقصد: با توجه به آنکه پورت های استاندارد شناخته شده هستند ممکن است مسئول یک دیوار آتش بخواهد سرویس FTP (انتقال فایل) فقط در محیط شبکه محلی امکان پذیر باشد و برای تمام ماشین های خارجی این سرویس وجود نداشته باشد بنابراین دیوار آتش میتواند بسته های TCP با شماره پورت 20 و 21 (مربوط به FTP)که قصد ورودیا خروج از شبکه را دارند ،حذف کند. یکی دیگر از سرویس های خطرناک که ممکن است مورد سوءاستفاده قرار گیرد Telnet است که میتوان براحتی پورت 23 را مسدود کرد یعنی بسته هائی که شماره پورت مقصدشان 23 است حذف شوند.
  • فیلد شماره ترتیب 1 و فیلد Acknowledgment: این دو فیلد نیز بنا بر قواعد تعریف شده توسط مسئول شبکه قابل استفاده هستند.
  • کدهای کنترلی(TCP Code BITS) : دیوار آتش با بررسی این کدها ، به ماهیت آن بسته پی برده و سیاست های لازم را بر روی آن اعمال میکند. بعنوان مثال یک دیوار آتش ممکن است بگونه ای تنظیم شود که تمام بسته هایی که از بیرون به شبکه وارد میشوند و دارای بیت SYN=1 هستند را حذف کند. بدین ترتیب هیچ ارتباط TCP از بیرون به درون شبکه برقرار نخواهد شد.

از مهمترین خصوصیات این لایه آنست که تمام تقاضاهای برقراری ارتباط TCP بایستی از این لایه بگذرد و چون در ارتباط TCP ، مراحل ”دست تکانی سه گانه اش“ به اتمام نرسد انتقال داده امکانپذیر نیست لذا قبل از هر گونه مبادله داده دیوار آتش میتواند

مانع برقراری هر ارتباط غیر مجاز شود . یعنی دیوار آتش میتواند تقاضاهای برقراری ارتباط TCP را قبل از ارائه به ماشین مقصد بررسی نماید و در صورت غیر قابل اعتماد بودن ، مانع از برقراری ارتباط شود. دیوار آتش در این لایه نیاز به جدولی از شماره

پورتهای غیر مجاز دارد. مجموع قواعد امنیتی تعریف شده در لایۀ اول و دوم در یک جدول همانند مثال زیر تنظیم و به دیوار آتش اعمال میشوند:

لایه سوم دیوار آتش

در این لایه حفاظت بر اساس نوع سرویس و برنامه کاربردی انجام میشود. یعنی با در نظر گرفتن پروتکل در لایه چهارم به تحلیل داده ها میپردازد.

تعداد سرآیندها در این لایه بسته به نوع سرویس بسیار متنوع و فراوان است. بنابراین در لایه سومِ دیوار آتش برای هر سرویس مجزا (مثل سرویس پست الکترونیکی، سرویس ftp ، سرویس وب و ...) باید یک سلسله پردازش و قواعد امنیتی مجزا تعریف شود

و به همین دلیل حجم و پیچیدگی پردازش در لایه سوم زیاد است. توصیه موکّد آنست که تمام سرویس های غیرضروری و شماره پورتهایی که مورد استفاده نیستند در لایه دوم مسدود شوند تا کار در لایه سوم کمتر باشد.

بعنوان مثال فرض کنید موسس های اقتصادی، سرویس پست الکترونیکی خود را دائر کرده ولی نگران فاش شدن برخی اطلاعات محرمانه است.

در این حالت دیوار آتش در لایه سوّم میتواند کمک کند تا برخی از آدرس های پست الکترونیکی مسدود شود ، در عین حال میتواند در متون نامه های رمز نشده دنبال برخی از کلمات کلیدی حسّاس بگردد و متون رمزگذاری شده را در صورتی که موفق به

رمزگشائی آن نشود حذف نماید.

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

محمد

محمد

برنامه نویس و کارشناس شبکه
دیدن ادامه مقالات

کارشناس شبکه و نرم افزار


برای ارسال دیدگاه لطفا ثبت نام کنید

نظرات کاربران