• مدیریت آمار و فناوری اطلاعات

  • اداره آمار

  • واحد زیرساخت

  • واحد سیستم سلامت

  • واحد نرم افزار

ديوار آتش

 

 
دیوار آتش یا فایروال
یک فایروال شبکه را در برابر ترافیک ناخواسته و همچنین نفوذ دیگران به کامپیوترها حفاظت می کند. توابع اولیه یک فایروال به این صورت است که اجازه می دهد ترافیک خوب عبور کند و ترافیک بد را مسدود می کند.
دیوار آتش سیستمی سخت افزاری یا نرم افزاری است که بین کامپیوتر شما یا یک شبکه LAN و شبکه بیرونی (مثلا اینترنت) قرار گرفته و ضمن نظارت بر دسترسی به منابع resource سیستم ، در تمام سطوح ورود و خروج اطلاعات را تحت نظر دارد. هر سازمان یا نهادی که بخواهد ورود و خروج اطلاعات شبکه خود را کنترل کند موظف است تمام ارتباطات مستقیم شبکه خود را با دنیای خارج قطع نموده و هر گونه ارتباط خارجی از طریق یک دروازه که دیوار آتش یا فیلتر نام دارد، انجام شود.
قبل از تحلیل اجزای دیوار آتش عملکرد کلی و مشکلات استفاده از دیوار آتش را بررسی میکنیم.
بسته های TCP و IP قبل از ورود یا خروج به شبکه ابتدا وارد دیوار آتش میشوند و منتظر میمانند تا طبق معیارهای حفاظتی و امنیتی پردازش شوند. پس از پردازش و تحلیل بسته سه حالت ممکن است اتفاق بیفتد :
1- اجازه عبور بسته صادر میشود (Accept Mode)
2- بسته حذف میشود (Blocking Mode)
3- بسته حذف شده و پاسخ مناسب به مبدا آن بسته داده شود (Response Mode)
غیر از حذف بسته میتوان عملیاتی نظیر ثبت، اخطار، ردگیری، جلوگیری از ادامه استفاده از شبکه و توبیخ هم در نظر گرفت.
به مجموعه قواعد دیوار آتش سیاستهای امنیتی نیز گفته میشود. 
قسمت اعظم کار یک دیوار آتش تحلیل فیلدهای اضافه شده در هر لایه و header هر بسته می باش.

سیاست امنیتی یک شبکه مجموعه ای متناهی از قواعد امنیتی است که بنابر ماهیتشان در یکی از لایه های دیوار آتش تعریف میشوند :
1- قواعد تعیین بسته های ممنوع (بسته های سیاه) در اولین لایه از دیوار آتش
2- قواعد بستن برخی از پورتها متعلق به سرویسهایی مثل Telnet یا FTP در لایه دوم
3- قواعد تحلیل header متن یک نامه الکترونیکی یا صفحه وب در لایه سوم
 
لایه اول دیوار آتش:
لایه اول دیوار آتش بر اساس تحلیل بسته IP و فیلدهای header این بسته کار میکند و در این بسته فیلدهای زیر قابل نظارت و بررسی هستند :
1- آدرس مبدا : برخی از ماشینهای داخل و یا خارج شبکه با آدرس IP خاص حق ارسال بسته نداشته باشند و بسته هایآنها به محض ورود به دیوار آتش حذف شود.
2- آدرس مقصد : برخی از ماشینهای داخل و یا خارج شبکه با آدرس IP خاص حق دریافت بسته نداشته باشند و بسته های آنها به محض ورود به دیوار آتش حذف شود. (آدرس های IP غیر مجاز توسط مسئول دیوار آتش تعریف میشود.)
3- شماره شناسایی یک دیتاگرام قطعه قطعه شده (Identifier & Fragment Offset) : بسته هایی که قطعه قطعه شده اند یا متعلق به یک دیتاگرام خاص هستند باید حذف شوند.
4- شماره پروتکل : بسته هایی که متعلق به پروتکل خاصی در لایه بالاتر هستند میتوانند حذف شوند. یعنی بررسی اینکه بسته متعلق به چه پروتکلی است و آیا تحویل به آن پروتکل مجاز است یا خیر؟
5- زمان حیات بسته : بسته هایی که بیش از تعداد مشخصی مسیریاب را طی کرده اند مشکوک هستند و باید حذف شوند.
6- بقیه فیلدها بنابر صلاحدید و قواعد امنیتی مسئول دیوار آتش قابل بررسی هستند.
مهمترین خصوصیت لایه اول از دیوار آتش آنست که در این لایه بسته ها بطور مجزا و مستقل از هم بررسی میشوند و هیچ نیازی به نگه داشتن بسته های قبلی یا بعدی یک بسته نیست. بهمین دلیل ساده ترین و سریع ترین تصمیم گیری در این لایه انجام میشود. امروزه برخی مسیریابها با امکان لایه اول دیوار آتش به بازار عرضه میشوند یعنی به غیر از مسیریابی وظیفه لایه اول یک دیوار آتش را هم انجام میدهند که به آنها مسیریابهای فیلترکننده بسته (Pocket Filtering Router ) گفته میشود. بنابراین مسیریاب قبل از اقدام به مسیریابی بر اساس جدولی بسته های IP را غربال میکند و تنظیم این جدول بر اساس نظر مسئول شبکه و برخی قواعد امنیتی انجام میگیرد.
با توجه به سزیع بودن این لایه هرچه درصد قواعد امنیتی در این لایه دقیقتر و سخت گیرانه تر باشند حجم پردازش در لایه های بالاتر کمتر و در عین حال احتمال نفوذ پایین تر خواهد بود ولی در مجموع بخاطر تنوع میلیاردی آدرسهای IP نفوذ از این لایه با آدرسهای جعلی یا قرضی امکان پذیر خواهد بود و این ضعف در لایه های بالاتر باید جبران شود.
 
لایه دوم دیوار آتش:
در این لایه از فیلدهای header لایه انتقال برای تحلیل بسته استفاده میشود. عمومی ترین فیلدهای بسته های لایه انتقال جهت بازرسی در دیوار آتش عبارتند از :
1- شماره پورت پروسه مبدا و مقصد : با توجه به آنکه پورتهای استاندارد شناخته شده هستند ممکن است مسئول یک دیوار آتش بخواهد سرویس ftp فقط در محیط شبکه محلی امکان پذیر باشد و برای تمام ماشینهای خارجی این امکان وجود نداشته باشد. بنابراین دیوار آتش میتواند بسته های TCP با شماره پورت های 20 و 21 (مربوط به ftp) که قصد ورود و خروج از شبکه را دارند ، حذف کند. یکی دیگر از سرویسهای خطرناک که ممکن است مورد سو استفاده قرار گیرد Telnet است که میتوان به راحتی پورت 23 را مسدود کرد. یعنی بسته هایی که مقصدشان شماره پورت 23 است حذف شوند.
2- فیلد شماره ترتیب و فیلد Acknowledgment : این دو فیلد نیز بنا بر قواعد تعریف شده توسط مسئول شبکه قابل استفاده هستند.
3- کدهای کنترلی (TCP code Bits) : دیوار آتش با بررسی این کدها ، به ماهیت آن بسته پی برده و سیاستهای لازم را بر روی آن اعمال میکند. بعنوان مثال یک دیوار آتش ممکن است بگونه ای تنظیم شود که تمام بسته هایی که از بیرون به شبکه وارد میشوند و دارای بیت SYN=1 هستند را حذف کند. بدین ترتیب هیچ ارتباط TCP از بیرون به درون شبکه برقرار نخواهد شد.
از مهمترین خصوصیات این لایه آنست که تمام تقاضا های برقراری ارتباط TCP بایستی از این لایه بگذرد و چون در ارتباط TCP ، تا مراحل " سه گانه اش" به اتمام نرسد انتقال داده امکان پذیر نیست لذا قبل از هر گونه مبادله داده دیوار آتش میتواند مانع برقراری هر ارتباط غیر مجاز شود. یعنی دیوار آتش میتواند تقاضاهای برقراری ارتباط TCP را قبل از ارائه به ماشین مقصد بررسی نموده و در صورت قابل اطمینان نبودن مانع از برقراری ارتباط گردد. دیوار آتش این لایه نیاز به جدولی از شماره پورتهای غیر مجاز دارد.
 
لایه سوم دیوار آتش:
در این لایه حفاظت بر اساس نوع سرویس و برنامه کاربردی انجام میشود. یعنی با در نظر گرفتن پروتکل در لایه چهارم به تحلیل داده ها میپردازد. تعداد header ها در این لایه بسته به نوع سرویس بسیار متنوع و فراوان است. بنابراین در لایه سوم دیوار آتش برای هر سرویس مجزا (مانند وب، پست الکترونیک و...) باید یک سلسله پردازش و قواعد امنیتی مجزا تعریف شود و به همین دلیل حجم و پیچیدگی پردازش ها در لایه سوم زیاد است. توصیه موکد آنست که تمام سرویسهای غیر ضروری و شماره پورتهایی که مورد استفاده نیستند در لایه دوم مسدود شوند تا کار در لایه سوم کمتر باشد.
بعنوان مثال فرض کنید که موسسه ای اقتصادی، سرویس پست الکترونیک خود را دائر نموده ولی نگران فاش شدن برخی اطلاعات محرمانه است. در این حالت دیوار آتش در لایه سوم میتواند کمک کند تا برخی آدرسهای پست الکترونیکی مسدود شوند و در عین حال میتواند در متون نامه های رمز نشده به دنبال برخی از کلمات کلیدی حساس بگردد و متون رمز گذاری شده را در صورتی که موفق به رمزگشایی آن نشود حذف نماید.
بعنوان مثالی دیگر یک مرکز فرهنگی علاقمند استقبل از تحویل صفحه وب به کاربر درون آنرا از لحاظ وجود برخی از کلمات کلیدی بررسی نماید و اگر کلماتی که با معیارهای فرهنگی مطابقت ندارد درون صفحه یافت شد آن صفحه را حذف نماید.
 
دیوار آتش مبتنی بر پراکسی (Proxy Based Firewall):
فیلترها و دیوارهای آتش معمولی و Stateful فقط نقش ایست و بازرسی بسته ها را ایفا میکنند. هر گاه مجوز برقراری یک نشست صادر شد این نشست بین دو ماشین داخلی و خارجی بصورت مستقیم (انتها به انتها) برقرار خواهد شد . بدین معنا که بسته های ارسالی از طرفین پس از بررسی عینا تحویل آنها خواهد شد.
فیلترهای مبتنی بر پراکسی رفتاری کاملا متفاوت دارند:
وقتی ماشین مبدا تقاضای یک نشست (Session) مثل نشست FTP یا برقراری ارتباط TCP با سرویس دهنده وب را برای ماشین ارسال میکند فرایند زیر اتفاق میافتد:
پراکسی به نیابت از ماشین مبدا این نشست را برقرار میکند. یعنیطرف نشست دیوار آتش خواهد بود نه ماشین اصلی! سپس یک نشست مستقل بین دیوار آتش و ماشین مقصد برقرار میشود. پراکسی داده های مبدا را میگیرد ، سپس از طریق نشست دوم برای مقصد ارسال می نماید. بنابراین :
در دیوار آتش مبتنی بر پراکسی هیچ نشست مستقیم و رو در رویی بین مبدا و مقصد شکل نمی گیرد بلکه ارتباط آنها بوسیله یک ماشین واسط برقرار میشود. بدین نحو دیوار آتش قادر خواهد بود بر روی داده های مبادله شده در خلال نشست اعمال نفوذ کند. حال اگر نفوذگر بخواهد با ارسال بسته های کنترلی خاص مانند SYN-ACK که ظاهرا مجاز به نظر می آیند واکنش ماشین هدف را در شبکه داخلی ارزیابی کند در حقیقت واکنش دیوار آتش را مشاهده میکند و لذا نخواهد توانست از درون شبکه داخلی اطلاعات مهم و با ارزشی بدست بیاورد.
دیوار آتش مبتنی بر پراکسی در لایه سوم عمل میکند و قادر است حتی بر داده های ارسالی در لایه کاربرد مثل محتوای نامه های الکترونیکی یا صفحات وب نظارت کند.
دیوار آتش مبتنی بر پراکسی به حافظه نسبتا زیاد و CPU بسیار سریع نیازمندند و لذا نسبتا گران تمام میشوند. چون دیوار آتش مبتنی بر دیوار آتش باید تمام نشستهای بین ماشینهای درون و بیرون شبکهرا مدیریت و اجرا کند لذا گلوگاه شبکه محسوب میشود و هر گونه تاخیر یا اشکال در پیکربندی آن ، کل شبکه را با بحران جدی مواجه خواهد نمود.
ممکن است از شما سوال شود که استفاده از کدام نوع دیوارهای آتش در شبکه ای که امنیت داده های آن حیاتی است منطقی تر و امن تر خواهد بود؟
اگر قرار باشد از دیوار آتش مبتنی بر پراکسی در شبکه استفاده شود اندکی از کارایی سرویس دهنده هایی که ترافیک بالا (مثل سرویس دهنده وب) دارند کاسته خواهد شد زیرا پراکسی یک گلوگاه در شبکه محسوب میشود. اگر سرویس دهنده ای را برای کل کاربران اینترنت پیکربندی کرده اید بهتر است در پشت یک دیوار آتش مبتنی بر پراکسی قرار نگیرد.
در طرف مقابل فیلترها و دیوارهای آتش معمولی سریعند ولیکن قابلیت اطمینان کمتری دارند و نمیتوان به آنها به عنوان حصار یک شبکه اطمینان نمود. در نتیجه بهترین پیشنهاد استفاده همزمان از هر دونوع دیوار آتش است. شبکههای متعلق به سازمانها یا موسسات تجاری در دو بخش سازماندهی و پیکربندی میشوند:
-بخش عمومی شبکه شامل سرویس دهنده وب ، پست الکترونیکی و FTP که به عموم کاربران اینترنت سرویس میدهد. این بخش اصطلاحا DMZ (بخش غیر محرمانه غیر نظامی!) نام دارد.
-بخش حصوصی یا محرمانه که صرفا با هدف سرویس دهی به اعضای آن سازمانیا موسسه پیاده سازی شده است.
بخش عمومی شبکه توسط یک فیلتر (معمولی یا هوشنمد) حفاظت میشود تا از کارایی سرویس دهنده آن کاسته نشود. شبکه داخلی در پشت یک دیوار آتش مبتنی بر پراکسی پنهان میشود تا ضمن غیر قابل نفوذ بودن با اینترنت در ارتباط باشد. در چنین ساختاری یک نفوذگر خارجی برای برقراری ارتباط بایک ماشین داخلی دو مانع عمده بر سر راه دارد : فیلتر و دیوار آتش مبتنی بر پراکسی. حال حتی اگر بتواند با مکانیزم های متداول از سد فیلتر بگذرد پشت دیوار آتش متوقف خواهد شد.
دیوار های آتش شخصی:
یک دیوار آتش کل ماشینها شبکه داخلی را حفاظت میکند. سوال مهم اینست که در محیطهای معمولی مانند ISP که هیچ دیوار آتش یا فیلتری نصب نشده و و ماشینهای اعضای شبکه بی حفاظ رها شده اند تکلیف کاربران بی گناه چیست؟!!
بسیاری از کاربران ISP که از مودمهای معمولی یا سریع (مثل سری xDSL) برای اتصال به شبکه اینترنت استفاده میکنند بدلیل عدم وجود یک سیستم امنیتی قدرتمند به دام نفوذگران بدخواه می افتند و داده هایشان سرقت میشود و یا مورد آزار و اذیت قرار میگیرند. اینگونه حوادث نادر نیست بلکه هر روز اتفاق می افتد. حال چگونه میتوان از این ماشینها حفاظت کرد؟
دیوار آتش شخصی (PersonalFirewall) یک ابزار نرم افزاری است که روی ماشین شما نصب میشود و ورود و خروج بسته ها به یا از ماشین را نظارت میکند و مانع دسترسی غیر مجاز به منابع شده و از داده ها حفاظت میکند.
در اکثر نسخه های لینوکس و همچنین در ویندوز اکس پی هنگام نصب ، یک دیوار آتش با یکسری قواعد پیش فرض و نسبتا مطمئن بر روی ماشین کاربر فعال شده و ترافیک بسته ها را نظارت میکند و حتی الامکان از دسترسی غیر مجاز به آن جلوگیری میکند. اگر کاربری بخواهد از ضریب تنظیمات امنیتی بالاتری بر خوردار شود باید سطوح امنیتی بالاتری را با پیکربندی فایروال در نظر بگیرد و یا از فایروالهای سخت افزاری علاوه بر فایروالهای ذکر شده استفاده نماید.