شنبه, ۲۹ اردیبهشت, ۱۴۰۳ / 18 May, 2024
مجله ویستا

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


برای آشنایی بیشتر با نرم افزارهای دیواره های آتشین، آشنایی با طرز كار آنها شاید مفیدترین راه باشد. در وهله اول و به طور مختصر می توان گفت بسته های TCP/IP قبل و پس از ورود به شبكه وارد دیواره آتش می شوند و منتظر می مانند تا طبق معیارهای امنیتی خاصی پردازش شوند. حاصل این پردازش احتمال وقوع سه حالت است: ۱- اجازه عبور بسته صادر می شود. ۲- بسته حذف می شود.۳- بسته حذف می شود و پیام مناسبی به مبدا ارسال بسته فرستاده می شود.
• ساختار و عملكرد
با این توضیح، دیواره آتش محلی است برای ایست بازرسی بسته های اطلاعاتی به گونه ای كه بسته ها براساس تابعی از قواعد امنیتی و حفاظتی پردازش شده و برای آنها مجوز عبور یا عدم عبور صادر شود. همانطور كه همه جا ایست بازرسی اعصاب خردكن و وقت گیر است دیواره آتش نیز می تواند به عنوان یك گلوگاه باعث بالا رفتن ترافیك، تاخیر، ازدحام و بن بست شود.از آنجا كه معماری TCP/IP به صورت لایه لایه است (شامل ۴ لایه: فیزیكی، شبكه، انتقال و كاربردی) و هر بسته برای ارسال یا دریافت باید از هر ۴ لایه عبور كند بنابراین برای حفاظت باید فیلدهای مربوطه در هر لایه مورد بررسی قرار گیرند. بیشترین اهمیت در لایه های شبكه، انتقال و كاربرد است چون فیلد مربوط به لایه فیزیكی منحصر به فرد نیست و در طول مسیر عوض می شود. پس به یك دیواره آتش چند لایه نیاز داریم.سیاست امنیتی یك شبكه مجموعه ای از قواعد حفاظتی است كه بنابر ماهیت شبكه در یكی از سه لایه دیواره آتش تعریف می شوند. كارهایی كه در هر لایه از دیواره آتش انجام می شود عبارت است از:
۱- تعیین بسته های ممنوع (سیاه) و حذف آنها یا ارسال آنها به سیستم های مخصوص ردیابی (لایه اول دیواره آتش) ۲- بستن برخی از پورت ها متعلق به برخی سرویس ها مثلTelnet، FTP و... (لایه دوم دیواره آتش) ۳- تحلیل برآیند متن یك صفحه وب یا نامه الكترونیكی یا .... (لایه سوم دیواره آتش)
در لایه اول فیلدهای سرآیند بسته IP مورد تحلیل قرار می گیرد:
آدرس مبدأ: برخی از ماشین های داخل یا خارج شبكه حق ارسال بسته را ندارند، بنابراین بسته های آنها به محض ورود به دیواره آتش حذف می شود.آدرس مقصد: برخی از ماشین های داخل یا خارج شبكه حق دریافت بسته را ندارند، بنابراین بسته های آنها به محض ورود به دیواره آتش حذف می شود.IP آدرس های غیرمجاز و مجاز برای ارسال و دریافت توسط مدیر مشخص می شود.شماره شناسایی یك دیتا گرام تكه تكه شده: بسته هایی كه تكه تكه شده اند یا متعلق به یك دیتا گرام خاص هستند حذف می شوند.
زمان حیات بسته: بسته هایی كه بیش از تعداد مشخصی مسیریاب را طی كرده اند حذف می شوند. بقیه فیلدها: براساس صلاحدید مدیر دیواره آتش قابل بررسی اند.بهترین خصوصیت لایه اول سادگی و سرعت آن است چرا كه در این لایه بسته ها به صورت مستقل از هم بررسی می شوند و نیازی به بررسی لایه های قبلی و بعدی نیست. به همین دلیل امروزه مسیریاب هایی با قابلیت انجام وظایف لایه اول دیواره آتش عرضه شده اند كه با دریافت بسته آنها را غربال كرده و به بسته های غیرمجاز اجازه عبور نمی دهند.با توجه به سرعت این لایه هر چه قوانین سختگیرانه تری برای عبور بسته ها از این لایه وضع شود بسته های مشكوك بیشتری حذف می شوند و حجم پردازش كمتری به لایه های بالاتر اعمال می شود.
در لایه دوم فیلدهای سرآیند لایه انتقال بررسی می شوند:
شماره پورت پروسه مبدأ و مقصد: با توجه به این مسئله كه شماره پورت های استاندارد شناخته شده اند ممكن است مدیر دیواره آتش بخواهد مثلاً سرویس FTP فقط برای كاربران داخل شبكه وجود داشته باشد بنابراین دیواره آتش بسته های TCP با شماره پورت ۲۰ و ۲۱ كه قصد ورود یا خروج از شبكه را داشته باشند حذف می كند و یا پورت ۲۳ كه مخصوص Telnet است اغلب بسته است. یعنی بسته هایی كه پورت مقصدشان ۲۳ است حذف می شوند.
كدهای كنترلی: دیواره آتش با بررسی این كدها به ماهیت بسته پی می برد و سیاست های لازم برای حفاظت را اعمال می كند. مثلاً ممكن است دیواره آتش طوری تنظیم شده باشد كه بسته های ورودی با SYN=۱ را حذف كند. بنابراین هیچ ارتباط TCP از بیرون با شبكه برقرار نمی شود.فیلد شماره ترتیب و :Acknowledgement بنابر قواعد تعریف شده توسط مدیر شبكه قابل بررسی اند.در این لایه دیواره آتش با بررسی تقاضای ارتباط با لایه TCP، تقاضاهای غیرمجاز را حذف می كند. در این مرحله دیواره آتش نیاز به جدولی از شماره پورت های غیرمجاز دارد. هر چه قوانین سخت گیرانه تری برای عبور بسته ها از این لایه وضع شود و پورت های بیشتری بسته شوند بسته های مشكوك بیشتری حذف می شوند و حجم پردازش كمتری به لایه سوم اعمال می شود.
در لایه سوم حفاظت براساس نوع سرویس و برنامه كاربردی صورت می گیرد: در این لایه برای هر برنامه كاربردی یك سری پردازش های مجزا صورت می گیرد. بنابراین در این مرحله حجم پردازش ها زیاد است. مثلاً فرض كنید برخی از اطلاعات پست الكترونیكی شما محرمانه است و شما نگران فاش شدن آنها هستید. در اینجا دیواره آتش به كمك شما می آید و برخی آدرس های الكترونیكی مشكوك را بلوكه می كند، در متون نامه ها به دنبال برخی كلمات حساس می گردد و متون رمزگذاری شده ای كه نتواند ترجمه كند را حذف می كند. یا می خواهید صفحاتی كه در آنها كلمات كلیدی ناخوشایند شما هست را حذف كند و اجازه دریافت این صفحات به شما یا شبكه شما را ندهد.
• انواع دیواره های آتش
دیواره های آتش هوشمند:
امروزه حملات هكرها تكنیكی و هوشمند شده است به نحوی كه با دیواره های آتش و فیلترهای معمولی كه مشخصاتشان برای همه روشن است نمی توان با آنها مقابله كرد. بنابراین باید با استفاده از دیواره های آتش و فیلترهای هوشمند با آنها مواجه شد.از آنجا كه دیواره های آتش با استفاده از حذف بسته ها و بستن پورت های حساس از شبكه محافظت می كنند و چون دیواره های آتش بخشی از ترافیك بسته ها را به داخل شبكه هدایت می كنند، (چرا كه در غیر این صورت ارتباط ما با دنیای خارج از شبكه قطع می شود)، بنابراین هكرها می توانند با استفاده از بسته های مصنوعی مجاز و شناسایی پورت های باز به شبكه حمله كنند. بر همین اساس هكرها ابتدا بسته هایی ظاهراً مجاز را به سمت شبكه ارسال می كنند.یك فیلتر معمولی اجازه عبور بسته را می دهد و كامپیوتر هدف نیز چون انتظار دریافت این بسته را نداشته به آن پاسخ لازم را می دهد. بنابراین هكر نیز بدین وسیله از باز بودن پورت مورد نظر و فعال بودن كامپیوتر هدف اطمینان حاصل می كند. برای جلوگیری از آن نوع نفوذها دیواره آتش باید به آن بسته هایی اجازه عبور دهد كه با درخواست قبلی ارسال شده اند.حال با داشتن دیواره آتشی كه بتواند ترافیك خروجی شبكه را برای چند ثانیه در حافظه خود حفظ كرده و آن را موقع ورود و خروج بسته مورد پردازش قرار دهد می توانیم از دریافت بسته های بدون درخواست جلوگیری كنیم.
مشكل این فیلترها زمان پردازش و حافظه بالایی است كه نیاز دارند. اما در عوض ضریب اطمینان امنیت شبكه را افزایش می دهند.
دیواره های آتش مبتنی بر پروكسی:
دیواره های آتش هوشمند فقط نقش ایست بازرسی را ایفا می كنند و با ایجاد ارتباط بین كامپیوترهای داخل و خارج شبكه كاری از پیش نمی برد. اما دیواره های آتش مبتنی بر پروكسی پس از ایجاد ارتباط فعالیت خود را آغاز می كند. در این هنگام دیواره های آتش مبتنی بر پروكسی مانند یك واسطه عمل می كند، به نحوی كه ارتباط بین طرفین به صورت غیرمستقیم صورت می گیرد. این دیواره های آتش در لایه سوم دیواره آتش عمل می كنند، بنابراین می توانند بر داده های ارسالی در لایه كاربرد نیز نظارت داشته باشند.
دیواره های آتش مبتنی بر پروكسی باعث ایجاد دو ارتباط می شود:
۱ - ارتباط بین مبدا و پروكسی
۲ - ارتباط بین پروكسی و مقصد
حال اگر هكر بخواهد ماشین هدف در داخل شبكه را مورد ارزیابی قرار دهد در حقیقت پروكسی را مورد ارزیابی قرار داده است و نمی تواند از داخل شبكه اطلاعات مهمی به دست آورد.
دیواره های آتش مبتنی بر پروكسی به حافظه بالا و CPU بسیار سریع نیاز دارند و از آنجایی كه دیواره های آتش مبتنی بر پروكسی باید تمام نشست ها را مدیریت كنند گلوگاه شبكه محسوب می شوند. پس هرگونه اشكال در آنها باعث ایجاد اختلال در شبكه می شود. اما بهترین پیشنهاد برای شبكه های كامپیوتری استفاده همزمان از هر دو نوع دیواره آتش است. با استفاده از پروكسی به تنهایی بارترافیكی زیادی بر پروكسی وارد می شود. با استفاده از دیواره های هوشمند نیز همانگونه كه قبلاً تشریح شد به تنهایی باعث ایجاد دیواره نامطمئن خواهد شد. اما با استفاده از هر دو نوع دیواره آتش به صورت همزمان هم بار ترافیكی پروكسی با حذف بسته های مشكوك توسط دیواره آتش هوشمند كاهش پیدا می كند و هم با ایجاد ارتباط واسط توسط پروكسی از خطرات احتمالی پس از ایجاد ارتباط جلوگیری می شود.
منبع : باشگاه اندیشه