موقعیت شما: دانشنامه دیواره آتش چیست؟
 
 

 

از دیواره آتش چه میدانید؟


دیواره های آتش از مهمترین ابزارهای تدافعی در شبکه ها محسوب میشوند و به رغم تصور عمومی دارای ویژگیها و امکانات متفاوتی هستند که شاید هر دیواره آتش نرم افزاری و یا سخت افزاری مشمول تمامی آنها نباشد.

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

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

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

دیواره های آتش در دو نوع سخت افزاری و نرم افزاری عرضه میگردند که ممکن است از لحاظ عملکرد هیچگونه تفاوتی نداشته باشند. ولیکن اغلب محصولات دیواره آتش که بصورت سخت افزاری ارائه میگردنند به منظور پشتیبانی از شبکه های بزرگ ارتباطی طراحی گردیده اند. امروزه دیواره های آتش را بصورت تلفیقی از نرم افزارهای دفاعی دیگر ارائه می نمایند تا نقاط ضعف یکدیگر را پوشش دهند. استفاده از ضدویروس و ضد هرزنامه برای کنترل محتوای ترافیک عبوری، استفاده از proxy و همچنین فن آوریهای شناسایی نفوذ (Intrusion Detection) در کنار دیواره های آتش، نمونه هایی از این ترکیب بندی فنی هستند.

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

 


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

دیواره های آتش در دو رده کلی قرار می گیرند :

دیواره آتش مبتنی بر میزبان (Host-based Firewall)
دیواره آتشی است که به منظور حفاظت از یک رایانه وارد عمل می گردد. اینگونه از دیواره های آتش، نرم افزاری هستند و قادرند کلیه تحرکات نرم افزاری صورت گرفته در رایانه را چه از خارج و چه از داخل مورد حفاظت قرار دهند.

دیواره آتش مبتنی بر ترافیک (Router-based Firewall)
اینگونه از دیواره های آتش به منظور نظارت بر ترافیک عبوری طراحی شده اند و هدف اصلی آنها حفاظت از شبکه در مقابل تهدیدات خارجی است.

دیواره های آتش بر اساس استقرار در نقطه منفرد (Single Point) و یا دفاع گسترده (Distributed Defense) یا ترکیبی از هر دو مورد استفاده قرار میگیرند. موقعیت دیواره آتش در شبکه های بزرگ اهمیت فراوانی دارد. موقعیت سنجی و استفاده ترکیبی از دیواره های آتش تاثیر مستقیمی در تاٌمین امنیت شبکه های بزرگ دارد و تمامی اینها بسته به اینست که امنیت و پایداری آن، تا چه حد برای سازمان مربوطه دارای اهمیت باشد.


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

شبکه داخلی مورد اعتماد است
خارج از شبکه همه چیز بطور بالقوه غیر قابل اعتماد و بد خواه است
ویژگیهای شبکه غیر ایمن
امنیت فقط برای سرویس دهنده های میزبان تاٌمین میگردد
آسیب پذیری هر میزبان (ماشین)، امنیت کل شبکه را به مخاطره میاندازد
از لحاظ اجرایی پر از دردسر و گرفتاری است

 

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

 

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

 

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

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

1- پالاینده بسته Packet Filtering
2- پالاینده هوشمند Stateful Inspection
3- لایه گذر Circuit Level Gateway
4- لایه کاربردی (Application Level Gateway)

 

دیواره آتش – پالاینده بسته (Packet Filtering)

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

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

آزمون بسته های اطلاعاتی بر اساس زیر صورت میگیرد :
پرتکل (که آیا بسته از نوع TCP, UDP و یا ICMP) میباشد؟
آدرس IP مبداء و مقصد
پورت TCP ,UDP مبداء و مقصد
وضعیت TCP
نوع پیام ICMP

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

 

و اما مزایای آن :
بسادگی قابل پیاده سازی است
سرعت بالایی دارد

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

 

دیواره آتش – پالاینده هوشمند (Stateful Inspection)

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

مانند یک پالاینده بسته عمل میکند
اما پرتکلهای اطلاعاتی سطح- بالا را مورد دسترسی قرار میدهد
اجازه میدهد تا نشست ها (sessions) مورد پیگری قرار گیرند
نشست های مجازی برای پرتکلهایی نظیر UDP فراهم میکند

 

دیواره آتش – لایه گذر (Circuit Level Gateway)

در بعضی مواقع دیواره های آتش مبتنی بر لایه گذر (circuit level gateway)، بصورت نسل دوم دیواره های آتش معرفی میشوند. این نوع دیواره آتش فراهم کننده نوع سریعی از محدودیت های عبوری ترافیک است که بر مبنای قواعد قابل تعریف بر روی هسته TCP/IP عمل می کند. بطور زیربنایی ارتباطات TCP را مورد استفاده قرار میدهد و هر ارتباطی را در آغاز نشست، مورد آزمایش قرار میدهد تا مطمئن گردد که یک تبادل قانونی در سطح لایه انتقال صورت میگیرد. بطور معمول اطلاعات زیر را به خاطر میسپارد :

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

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

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

و اما معایب آن :
به غیر از پرتکل TCP نمی تواند مانع دسترسی سایر پرتکلها گردد.
قادر به اجرا گذاردن محدودیت های امنیتی در پرتکلهای لایه های بالاتر نمی باشد.
توانایی ممیزی آن محدود است
آزمون آن با قواعد "قبول" و "رد" مشکل است.

 

دیواره آتش – لایه کاربردی (Application Level Gateway)

لایه کاربردی (که همچنین به نام دیواره آتش لایه کاربردی Application Layer Firewall نامیده میشود اغلب به عنوان دیواره آتش نسل سوم از آن نام برده میشود. آنها از نوع نرم افزارهای کاربردی دو وجهی هستند :

proxy server
proxy client

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

مزایا :
توانایی درک و پیش بردن پرتکلهای سطح بالا نظیر http, ftp را دارد.
توانایی پردازش و اداره کردن بسته های داده ها را دارد.
از ارتباط مستقیم بین رایانه های داخلی با سرویس دهنده های خارجی ممانعت به عمل می آورد.
برای ثبت وقایع، جهت ممیزی بسیار مناسب است
برای کاربران چنان وانمود میشود که مستقیما با سرویس دهنده خارجی در ارتباط هستند.
ویژگیهایی نظیر پالایش وب و web caching در کنار آن امکان پذیر است.
و ویژگیهای دیگر . . .