تماشا کنید : نیم نگاهی به کنفرانس ال جی در CES 2016
دی ۱۷, ۱۳۹۴تماشا کنید : رونمایی از صفحه نمایش انعطاف پذیر ال جی در CES 2016
دی ۱۷, ۱۳۹۴Firewall به “دیوار آتش” ترجمه شده است. ولی ترجمه ی بهتر برای آن “حصار” یا “حفاظ” می باشد. بطور کلی Firewall نرم افزار یا سخت افزاری است که سیستم را از نفوذ و دسترسی خارجی محافظت می کند. در این مطلب سعی شده است یک بررسی اجمالی ، از دیواره های آتش ، به شما مخاطبان مدیاسافت ، ارائه شود.
انواع Firewall
- Personal Firewall (حصار شخصی) : نرم افزاری است که روی یک کامپیوتر نصب می شود و از آن در مقابل حملات خارجی محافظت می کند. معروف ترین نوع Firewall نرم افزار Zone Alarm می باشد.
- Network Firewall ( حصار شبکه) : نرم افزار یا سخت افزاری است که در مرز شبکه ی محلی و شبکه ی بیرون قرار داده می شود و برروی ورود و خروج اطلاعات نظارت کامل دارد و شبکه ی داخلی را از دسترس حملات خارجی محافظت می کند. مثلا اینکه چه ارتباطی باید پذیرفته شود و یا باید رد شود.
برای استفاده از Network Firewall ، هر سازمان می بایست تمام ارتباطات خود را از طریق یک دروازه برقرار کند تا بتواند نظارت لازم را داشته باشد. در حقیقت می توان گفت Network Firewall ، محلی است برای ایست و بازرسی بسته های اطلاعاتی.
در این حالت پس از پردازش و تحلیل بسته ها 3 حالت ممکن است رخ دهد :
- به بسته اجازه ی عبور داده می شود (Accept Mode)
- بسته حذف شود (Blocking Mode)
- بسته حذف شود و پاسخ مناسبی برای ارسال کننده فرستاده شود (Response Mode)
نکته : دقت کنید اگر دیواره ی آتش به درستی طراحی نشود ، می تواند به یک گلوگاه تبدیل شود و باعث بالا رفتن ازدحام و تاخیر شود.
نکته : دیواره های آتش معمولا اطلاعات اضافه شده توسط لایه ی شبکه ، لایه ی انتقال و لایه ی کاربرد را بررسی می کنند. مثلا :
- هیچ بسته ای با آدرس مبدا x حق ورود ندارد. (فیلتر در لایه شبکه)
- هیچ اتصالی با شماره پورت x برقرار نشود. (فیلتر در لایه انتقال)
- هیچ پیامی با محتویات x نباید عبور کند. (فیلتر در لایه کاربرد)
فیلترهای سنتی بسته ها (Traditional Packet Filter)
در این حالت هر بسته جداگانه بازرسی می شود و در مورد آن تصمیم گیری می شود. برای این کار معمولا مجموعه ای از قوانین وجود دارند که برای تصمیم گیری استفاده می شوند.
این قوانین در 3 لایه دسته بندی می شوند :
لایه اول firewall
بر اساس تحلیل بسته های لایه شبکه (بسته های IP) عمل می کند و می تواند بر اساس مواردی مانند زیر تصمیم گیری کند.
1- آدرس مبدا : مثلا بسته های یک فرستنده خاص، حق ورود به شبکه را ندارند. (ممکن است حتی یک ماشین داخلی حق ارسال نداشته باشد)
2- آدرس مقصد : مثلا یک گیرنده خاص (در داخل یا خارج شبکه) حق دریافت ندارند.
3- بر اساس پروتکل لایه بالاتر.
4- بر اساس TTL : مثلا بسته ای که مسیری طولانی را طی کرده ، می تواند مشکوک باشد.
و …
لایه دوم firewall
در این مرحله می توان از فیلد های سرآیند لایه ی انتقال استفاده کرد.
مانند :
1- شماره پورت مبدا یا مقصد :
به عنوان مثال می توان پورت مربوط به FTP را بست (20 و 21)
به این ترتیب بسته هایی که شماره پورت آن ها 20 و 21 است باید حذف شوند.
2- بیت های کنترلی :
دیواره آتش می تواند بر اساس این پرچم ها به ماهیت آنها پی ببرد.
مثلا تمام بسته هایی که دارای SYN=1 هستند ، اجازه ی ورود نداشته باشند ، به این ترتیب هیچ ارتباط TCP از بیرون به درون شبکه برقرار نمی شود.
لایه سوم firewall
پردازش در این لایه بسیار پیچیده و متنوع است و می تواند براساس سرآیندهای لایه کاربرد انجام شود. به عنوان مثال برای سرویس های وب ، FTP ، Email و … قواعد جداگانه ای می توان وضع کرد.
مثلا ایمیل های یک شخص خاص حذف شود. یا براساس محتوای یک صفحه ی وب فیلتر شود و …
Stateful firewall
نکته : فیلتر های معمولی بر اساس قواعد ساده و مشخص بنا شده اند و هر بسته را به طور جداگانه در نظر می گیرند. در این حالت یک نفوذگر هوشمند و تکنیکی می تواند کاری کند که داده های مخرب او حذف نشوند و در واقع بسته های خود را با ظاهری مجاز به شبکه تزریق کند.
سناریوی زیر را در نظر بگیرید :
فرض کنید یک firewall بطور بسیار سخت گیرانه ، همه ی بسته ها را حذف می کند و فقط به بسته های با پورت 80 اجازه عبور می دهد. یعنی فقط ترافیک web قادرند از این فیلتر عبور کنند.
حال فرض کنید یک نفوذگر می خواهد فعال بودن یک ماشین خاص را تشخیص دهد اما با روش های معمولی مانند Ping این کار را نمی تواند انجام دهد.
در این حالت نفوذگر یک بسته ی TCP با ACK=1 و SYN=1 و با شماره پورت مبدا 80 برای ماشین هدف ارسال می کند و دیواره ی آتش نیز به این بسته اجازه ورود می دهد.(زیرا ظاهرا حاوی ترافیک web است.)
ماشین هدف نیز چون انتظار دریافت این بسته را ندارد یک پاسخ Reset یا ICMP Port Unreachable را برمی گرداند و به این ترتیب نفوذگر به هدف خود (که بررسی فعال بودن مقصد می باشد) می رسد. بنابراین برای حل این مشکل، یک firewall باید فقط به آن دسته از بسته های ACK=1 و SYN=1 اجازه ورود بدهد که در پاسخ به یک تقاضای SYN قبل ارسال شده اند.
نکته : برخی از دیواره های آتش قادرند مشخصات ترافیک خروجی از شبکه را برای مدتی حفظ کنند و براساس آنها تصمیم گیری کنند که به آنها stateful firewall گویند.
مشکل اینگونه دیواره های آتش ، حافظه ی بالای مورد نیاز و تاخیر پردازش بالا می باشد. البته این نوع دیواره های آتش باید برای چند ثانیه اطلاعات را حفظ کند و نه بیشتر.
Proxy based firewall
دیواره های آتش سنتی و Stateful در واقع فقط نقش امنیت و بازرسی بسته ها را ایفا می کنند. اما دیواره های آتش مبتنی بر Proxy کاملا متفاوتند.
در این حالت وقتی ماشین مبدا تقاضای یک نشست را برای ماشین مقصد ارسال می کند ، پراکسی به نیابت از ماشین مبدا این نشست را برقرار می کند، پس یک نشست کاملا مستقل بین دیواره ی آتش و ماشین مقصد برقرار می شود. در این حالت پراکسی از طریق نشست اول داده ها را گرفته و از طریق نشست دوم برای مقصد ارسال می کند.
در واقع در این حالت هیچ نشست مستقیمی بین مقصد و مبدا برقرار نمی شود و به این ترتیب دیواره ی آتش حتی قادر است در داده های مبادله شده اعمال نفوذ کند.
مثلا سناریوی SYN و ACK واکنش واکنش firewall را نشان می دهد ، نه واکنش ماشین مقصد و …
نکته : می توان برای حفاظت کامپیوتر های شخصی یک دیواره ی آتش شخصی Personal firewall نصب کرد تا ترافیک ورودی-خروجی یک ماشین را کنترل کند. این ابزارها بیشتر جهت ارتباط با اینترنت از طریق ISPها و یا ارتباط با کامپیوتر های دیگر در یک شبکه کاربرد دارد. از معروف ترین دیواره های آتش شخصی می توان به Zone Alarm و Norton Firewall اشاره کرد.
سیاست های پیش فرض (Default Policy) در Firewall :
Firewall ها بدین صورت عمل می کنند که جدولی از شرایط و قواعد (Rules) که توسط مدیر سیستم تعیین شده را نگهداری می کنند و در صورتی که ترافیک با یک شرط، مطابق شد عملیات تعیین شده را رو ترافیک مورد بررسی انجام می دهند. در صورتیکه ترافیک مورد بررسی انجام می دهند. در صورتی که ترافیک ورودی با هیچیک از قواعد موجود در جدول مطابق نشد، سیاست پیش فرض روی آن اعمال می شود. سیاست پیش فرض می تواند Accept (یعنی به داده اجازه عبور دهد) یا Deney (یعنی مانع عبور داده شود) باشد.