دبیرستان آیت الله طالقانی ۱ ناحیه دو خرم آباد

اطلاع رسانی- ارتباط دانش آموزان و دبیران با دبیرستان و...

دبیرستان آیت الله طالقانی ۱ ناحیه دو خرم آباد

اطلاع رسانی- ارتباط دانش آموزان و دبیران با دبیرستان و...

آشنایی با دیوارهای آتش یا Firewalls

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


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

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

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

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

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

اگر
P مجموعه ای از بسته های ورودی به سیستم دیوار آتش باشد و S مجموعه ای متناهی از قواعد امنیتی باشد داریم :
(X=F(P,S
F تابع عملکرد دیوار آتش و Xنتیجه تحلیل بسته (سه حالت بالا) خواهد بود. به مجموعه قواعد دیوار آتش سیاستهای امنیتی نیز گفته می شود. همانطور که همه جا عملیات ایست و بازرسی وقتگیر و اعصاب خرد کن است دیوار آتش هم بعنوان یک گلوگاه میتواند منجر به بالا رفتن ترافیک ، تاخیر، ازدحام و نهایتا بن بست در شبکه شود. (بن بست : بسته ها آنقدر در پشت دیوار آتش معطل میمانند تا زمان طول عمرشان به اتمام رسیده و فرستنده مجددا اقدام به ارسال آنها میکند و این کار متناوبا تکرار میگردد.) به همین دلیل دیوار آتش نیاز به طراحی صحیح و دقیق دارد تا از حالت گلوگاهی خارج شود. تاخیر در دیوار آتش اجتناب ناپذیر است و فقط باید به گونه ای باشد که بحران ایجاد نکند.
مبانی طراحی دیوار آتش:
از آنجایی که معماری شبکه به صورت لایه لایه است ، در مدل TCP/IP برای انتقال یک واحد اطلاعات از لایه چهارم بر روی شبکه باید تمام لایه ها را بگذراند، هر لایه برای انجام وظیفه خود تعدادی فیلد مشخص به ابتدای بسته اطلاعاتی اضافه کرده و آنرا تحویل لایه پایین تر می دهد. قسمت اعظم کار یک دیوار آتش تحلیل فیلدهای اضافه شده در هر لایه و سرآیند هر بسته میباشد. در بسته ای که وارد دیوار آتش می شود به تعداد لایه ها (4 لایه) سرآیند متفاوت وجود خواهد داشت. معمولا سرایند لایه اول (لایه فیزیکی یا Network Interface ) اهمیت چندانی ندارد چرا که محتوای این فیلدها فقط روی کانال فیزیکی در شبکه محلی معنا دارند و در گذر از هر شبکه یا مسیریاب این فیلدها عوض خواهند شد.

بیشترین اهمیت در سرآیندی است که در لایه های دوم ، سوم و چهارم به یک واحد اطلاعات اضافه خواهند شد:
1- در لایه شبکه از دیوار آتش فیلدهای سرایند بسته IP را پردازش و تحلیل میکند.
2- در لایه انتقال از دیوار آتش سرایند بسته های TCP یا UDP را پردازش و تحلیل میکند.
3- در لایه کاربرد دیوار آتش فیلدهای سرآیند و همچنین محتوای خود داده ها را بررسی میکند. (مثلا سرایند و محتوای یک نامه الکترونیکی یا صفحه وب میتواند مورد بررسی قرار گیرد.)

با توجه به لایه لایه بودن معماری شبکه لاجرم یک دیوار آتش نیز چند لایه خواهد بود. اگر یک بسته در یکی از لایه های دیوار آتش شرایط عبور را احراز نکند همانجا حذف خواهد شد و به لایه های بالاتر ارجاع داده نمی شود بلکه ممکن است بسته جهت پی گیریهای امنیتی نظیر ثبت عمل و ردگیری به سیستمی جانبی تحویل گردد.
سیاست امنیتی یک شبکه مجموعه ای متناهی از قواعد امنیتی است که بنابر ماهیتشان در یکی از لایه های دیوار آتش تعریف میشوند :1- قواعد تعیین بسته های ممنوع (بسته های سیاه) در اولین لایه از دیوار آتش
2- قواعد بستن برخی از پورتها متعلق به سرویسهایی مثل Telnet یا FTP در لایه دوم
3- قواعد تحلیل سرایند متن یک نامه الکترونیکی یا صفحه وب در لایه سوم
لایه اول دیوار آتش:
لایه اول دیوار آتش بر اساس تحلیل بسته IP و فیلدهای سرآیند این بسته کار میکند و در این بسته فیلدهای زیر قابل نظارت و بررسی هستند :
1- آدرس مبدا : برخی از ماشینهای داخل و یا خارج شبکه با آدرس IP خاص حق ارسال بسته نداشته باشند و بسته هایآنها به محض ورود به دیوار آتش حذف شود.
2- آدرس مقصد : برخی از ماشینهای داخل و یا خارج شبکه با آدرس IP خاص حق دریافت بسته نداشته باشند و بسته های آنها به محض ورود به دیوار آتش حذف شود. (آدرس های IP غیر مجاز توسط مسئول دیوار آتش تعریف میشود.)
3- شماره شناسایی یک دیتاگرام قطعه قطعه شده (Identifier & Fragment Offset) : بسته هایی که قطعه قطعه شده اند یا متعلق به یک دیتاگرام خاص هستند باید حذف شوند.
4- شماره پروتکل : بسته هایی که متعلق به پروتکل خاصی در لایه بالاتر هستند می توانند حذف شوند. یعنی بررسی اینکه بسته متعلق به چه پروتکلی است و آیا تحویل به آن پروتکل مجاز است یا خیر؟
5- زمان حیات بسته : بسته هایی که بیش از تعداد مشخصی مسیریاب را طی کرده اند مشکوک هستند و باید حذف شوند.
6- بقیه فیلدها بنابر صلاحدید و قواعد امنیتیمسئول دیوار آتش قابل بررسی هستند.

مهمترین خصوصیت لایه اول از دیوار آتش آن
است که در این لایه بسته ها بطور مجزا و مستقل از هم بررسی می شوند و هیچ نیازی به نگه داشتن بسته های قبلی یا بعدی یک بسته نیست. به همین دلیل ساده ترین و سریع ترین تصمیم گیری در این لایه انجام می شود. امروزه برخی مسیریابها با امکان لایه اول دیوار آتش به بازار عرضه می شوند یعنی به غیر از مسیریابی وظیفه لایه اول یک دیوار آتش را هم انجام می دهند که به آنها مسیریابهای فیلترکننده بسته (Pocket Filtering Router ) گفته می شود. بنابراین مسیریاب قبل از اقدام به مسیریابی بر اساس جدولی بسته های IP را غربال می کند و تنظیم این جدول بر اساس نظر مسئول شبکه و برخی قواعد امنیتی انجام می گیرد.

با توجه به س
ریع بودن این لایه هرچه درصد قواعد امنیتی در این لایه دقیقتر و سخت گیرانه تر باشند حجم پردازش در لایه های بالاتر کمتر و در عین حال احتمال نفوذ پایین تر خواهد بود ولی در مجموع بخاطر تنوع میلیاردی آدرسهای IP نفوذ از این لایه با آدرسهای جعلی یا قرضی امکان پذیر خواهد بود و این ضعف در لایه های بالاتر باید جبران شود.
لایه دوم دیوار آتش:
در این لایه از فیلدهای سرایند لایه انتقال برای تحلیل بسته استفاده می شود. عمومی ترین فیلدهای بسته های لایه انتقال جهت بازرسی در دیوار آتش عبارتند از :
1-  شماره پورت پروسه مبدا و مقصد : با توجه به آنکه پورتهای استاندارد شناخته شده هستند ممکن است مسئول یک دیوار آتش بخواهد سرویس ftp فقط در محیط شبکه محلی امکان پذیر باشد و برای تمام ماشینهای خارجی این امکان وجود نداشته باشد. بنابراین دیوار آتش می تواند بسته های TCP با شماره پورت های 20 و 21 (مربوط به ftp) که قصد ورود و خروج از شبکه را دارند ، حذف کند. یکی دیگر از سرویسهای خطرناک که ممکن است مورد سوء استفاده قرار گیرد Telnet است که می توان به راحتی پورت 23 را مسدود کرد. یعنی بسته هایی که مقصدشان شماره پورت 23 است حذف شوند.
2-  فیلد شماره ترتیب و فیلد Acknowledgment : این دو فیلد نیز بنا بر قواعد تعریف شده توسط مسئول شبکه قابل استفاده هستند.
3- کدهای کنترلی (TCP code Bits) : دیوار آتش با بررسی این کدها ، به ماهیت آن بسته پی برده و سیاستهای لازم را بر روی آن اعمال میکند. بعنوان مثال یک دیوار آتش ممکن است بگونه ای تنظیم شود که تمام بسته هایی که از بیرون به شبکه وارد میشوند و دارای بیت SYN=1 هستند را حذف کند. بدین ترتیب هیچ ارتباط TCP از بیرون به درون شبکه برقرار نخواهد شد.

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

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

 
فیلترهای Stateful و هوشمند:دقت کنید که فیلترهای معمولی کارایی لازم را برای مقابله با حملات ندارند زیرا آنها بر اساس یک سری قواعد ساده بخشی از ترافیک بسته های ورودی به شبکه را حذف می کنند. امروزه بر علیه شبکه ها حملانی بسیار تکنیکی و هوشمند طرح ریزی می شود بگونه ای که یک فیلتر ساده قابل اعتماد و موثر نخواهد بود. بدیهی است که یک فیلتر یا دیوار آتش قطعا بخشی از ترافیک بسته ها را به درون شبکه هدایت خواهد کرد . (زیرا در غیر اینصورت شبکه داخلی هیچ ارتباطی با دنیای خارج نخواهد داشت.) نفوذگر برای آنکه ترافیک داده های مخرب او حذف نشود تلاش می کند با تنظیم مقادیر خاص در فیلدهای بسته های TCP و IP آنها را با ظاهری کاملا مجاز از میان دیوار آتش یا فیلتر به درون شبکه بفرستد. به عنوان مثال فرض کنید فیلتری تمام بسته ها به غیر از شماره پورت 80 (وب) را حذف می کند. حال یک نفوذگر در فاصله هزاران کیلومتری میخواهد فعال بودن یک ماشین را از شبکه بیازماید. بدلیل وجود فیلتر او قادر نیست با ابزارهایی مانند Ping ، Nmap و Cheops و ... از ماشینهای درون شبکه اطلاعاتی کسب کند. بنابراین برای غلبه بر این محدودیت یک بسته SYN-ACK (با شماره پورت 80) به سمت هدف میفرستد. یک دیوار آتش معمولی با بررسی Source Port به این بسته اجازه ورود به شبکه را می دهد زیرا ظاهر آن نشان میدهد که توسط یک سرویس دهنده وب تولید گشته است و حامل داده های وب میباشد. بسته به درون شبکه داخلی راه یافته  و چون ماشین داخلی انتظار دریافت آنرا نداشته پس از دریافت یکی از پاسخ های RESET یا ICMP Port Unreliable را برمیگرداند. هدف نفوذگر بررسی فعال بودن چنین ماشینی بوده است و بدین ترتیب به هدف خود میرسد. فیلتر بسته (یا دیوار آتش ) نتوانسته از این موضوع باخبر شود! برای مقابله با چنین عملیاتی دیوار آتش باید فقط به آن گروه از بسته های SYN-ACK اجازه ورود به شبکه را بدهد که در پاسخ به یک تقاضای SYN قبلی ارسال شده اند. همچنین باید بشرطی بسته های ICMP Echo Reply بدرون شبکه هدایت شود که حتما در پاسخ یک پیام ICMP Echo Request باشد. یعنی دیوار آتش باید بتواند پیشینه (History) بسته های قبلی را حفظ کند تا در مواجهه با چنین بسته هایی درست تصمیم بگیرد. دیوار های آتشی که قادرند مشخصات ترافیک خروجی از شبکه را برای مدتی حفظ کنند و بر اساس پردازش آنها مجوز عبور صادر نمایند دیوار آتش هوشمند نامیده میشوند.

البته نگهداری مشخصات ترافیک خروجی شبکه (یا ورودی) در یک فیلتر
Stateful همیشگی نیست بلکه فقط کافی است که ترافیک چند ثانیه آخر را به حافظه خود بسپارد! وجود فیلترهای Stateful باعث میشود بسته هایی که با ظاهر مجاز میخواهند درون شبکه راه پیدا کنند از بسته های واقعی تمیز داده شوند. بزرگترین مشکل این فیلتر ها غلبه بر تاخیر پردازش و حجم حافظه مورد نیاز میباشد.ولی در مجموع قابلیت اعتماد بسیار بالاتری دارند و ضریب امنیت شبکه را افزایش خواهند داد. اکثر فیلترهای مدرن از این تکنیک بهره گیری نموده اند. یک دیوار آتش یا فیلتر هوشمند و Stateful پیشینه ترافیک خروجی را برای چند ثانیه آخر به خاطر میسپارد و بر اساس آن تصمیم میگیرد که آیا ورود یک بسته مجاز است یا خیر.
دیوار آتش مبتنی بر پراکسی (Proxy Based Firewall):
فیلترها و دیوارهای آتش معمولی و Stateful فقط نقش ایست و بازرسی بسته ها را ایفا می کنند. هر گاه مجوز برقراری یک نشست صادر شد این نشست بین دو ماشین داخلی و خارجی بصورت مستقیم (انتها به انتها) برقرار خواهد شد . بدین معنا که بسته های ارسالی از طرفین پس از بررسی عینا تحویل آنها خواهد شد.
فیلترهای مبتنی بر پراکسی رفتاری کاملا
متفاوت دارند:
وقتی ماشین مبدا تقاضای یک نشست (
Session) مثل نشست FTP یا برقراری ارتباط TCP با سرویس دهنده وب را برای ماشین ارسال می کند سرآیند زیر اتفاق میافتد:
پراکسی به نیابت از ماشین مبدا این نشست را برقرار می
کند. یعنی طرف نشست دیوار آتش خواهد بود نه ماشین اصلی! سپس یک نشست مستقل بین دیوار آتش و ماشین مقصد برقرار می شود. پراکسی داده های مبدا را میگیرد ، سپس از طریق نشست دوم برای مقصد ارسال می نماید. بنابراین :
در دیوار آتش مبتنی بر پراکسی هیچ نشست مستقیم و رو در رویی بین مبدا و مقصد شکل نمی گیرد بلکه ارتباط آنها بوسیله یک ماشین واسط برقرار می
شود. بدین نحو دیوار آتش قادر خواهد بود بر روی داده های مبادله شده در خلال نشست اعمال نفوذ کند. حال اگر نفوذگر بخواهد با ارسال بسته های کنترلی خاص مانند SYN-ACK که ظاهرا مجاز به نظر می آیند واکنش ماشین هدف را در شبکه داخلی ارزیابی کند در حقیقت واکنش دیوار آتش را مشاهده می کند و لذا نخواهد توانست از درون شبکه داخلی اطلاعات مهم و با ارزشی بدست بیاورد.
دیوار آتش مبتنی بر پراکسی در لایه سوم عمل می
کند و قادر است حتی بر داده های ارسالی در لایه کاربرد مثل محتوای نامه های الکترونیکی یا صفحات وب نظارت کند.

دیوار آتش مبتنی بر پراکسی به حافظه نسبتا زیاد و
CPU بسیار سریع نیازمندند و لذا نسبتا گران تمام می شوند. چون دیوار آتش مبتنی بر دیوار آتش باید تمام نشستهای بین ماشینهای درون و بیرون شبکه را مدیریت و اجرا کند لذا گلوگاه شبکه محسوب میشود و هر گونه تاخیر یا اشکال در پیکربندی آن ، کل شبکه را با بحران جدی مواجه خواهد نمود.
ممکن است از شما سوال شود که استفاده از کدام نوع دیوارهای آتش در شبکه ای که امنیت داده های آن حیاتی است منطقی تر و امن تر خواهد بود؟
اگر قرار باشد از دیوار آتش مبتنی بر پراکسی در شبکه استفاده شود اندکی از کارایی سرویس دهنده هایی که ترافیک بالا (مثل سرویس دهنده وب) دارند کاسته خواهد شد زیرا پراکسی یک گلوگاه در شبکه محسوب میشود. اگر سرویس دهنده ای را برای کل کاربران اینترنت پیکربندی کرده اید بهتر است در پشت یک دیوار آتش مبتنی بر پراکسی قرار نگیرد.
در طرف مقابل فیلترها و دیوارهای آتش معمولی سریعند ولیکن قابلیت اطمینان کمتری دارند و نمیتوان به آنها به عنوان حصار یک شبکه اطمینان نمود. در نتیجه بهترین پیشنهاد استفاده همزمان از هر دونوع دیوار آتش است. شبکه
های متعلق به سازمانها یا موسسات تجاری در دو بخش سازماندهی و پیکربندی می شوند:
-بخش عمومی شبکه شامل سرویس دهنده وب ، پست الکترونیکی و
FTP که به عموم کاربران اینترنت سرویس میدهد. این بخش اصطلاحا DMZ (بخش غیر محرمانه غیر نظامی!) نام دارد.
-بخش حصوصی یا محرمانه که صرفا با هدف سرویس دهی به اعضای آن سازمان
یا موسسه پیاده سازی شده است.
بخش عمومی شبکه توسط یک فیلتر (معمولی یا هوشم
ند) حفاظت می شود تا از کارایی سرویس دهنده آن کاسته نشود. شبکه داخلی در پشت یک دیوار آتش مبتنی بر پراکسی پنهان می شود تا ضمن غیر قابل نفوذ بودن با اینترنت در ارتباط باشد. در چنین ساختاری یک نفوذگر خارجی برای برقراری ارتباط بایک ماشین داخلی دو مانع عمده بر سر راه دارد : فیلتر و دیوار آتش مبتنی بر پراکسی. حال حتی اگر بتواند با مکانیزم های متداول از سد فیلتر بگذرد پشت دیوار آتش متوقف خواهد شد.
دیوار های آتش شخصی:یک دیوار آتش کل ماشینها شبکه داخلی را حفاظت می کند. سوال مهم اینست که در محیطهای معمولی مانند ISP که هیچ دیوار آتش یا فیلتری نصب نشده و ماشینهای اعضای شبکه بی حفاظ رها شده اند تکلیف کاربران بی گناه چیست؟!!
بسیاری از کاربران
ISP که از مودمهای معمولی یا سریع (مثل سری xDSL) برای اتصال به شبکه اینترنت استفاده می کنند بدلیل عدم وجود یک سیستم امنیتی قدرتمند به دام نفوذگران بدخواه می افتند و داده هایشان سرقت میشود و یا مورد آزار و اذیت قرار می گیرند. اینگونه حوادث نادر نیست بلکه هر روز اتفاق می افتد. حال چگونه میتوان از این ماشینها حفاظت کرد؟ دیوار آتش شخصی !!
دیوار آتش شخصی (
PersonalFirewall) یک ابزار نرم افزاری است که روی ماشین نهایی نصب می شود و ورود و خروج بسته ها به/از آن ماشین را نظارت میکند و مانع دسترسی غیر مجاز به منابع آن ماشین شده و از داده های یک کاربر بی اطلاع حفاظت میکند!
در ویندوز
XP هنگام نصب ، یک دیوار آتش رایگان با یکسری قواعد پیش فرض و نسبتا مطمئن بر روی ماشین کاربر فعال شده و ترافیک بسته ها را نظارت می کند و حتی الامکان از دسترسی غیر مجاز به آن جلوگیری میکند. اگر از نسخه های قدیمی تر ویندوز استفاده می کنید باید از نرم افزارهای مستقل استفاده کنید. مشهورترین دیوارهای آتش شخصی عبارتند از :
-
Norton Firewall
-
Zone Alarm Pro
-
ProtectX Professional

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد