فایروال وسیله ای است که کنترل دسترسی به یک شبکه را بنابر سیاست امنیتی شبکه تعریف می کند.علاوه بر آن از آنجایی که معمولا یک فایروال بر سر راه ورودی یک شبکه می نشیند لذا برای ترجمه آدرس شبکه نیز بکار گرفته می شود.
مشخصه های مهم یک فایروال قوی و مناسب جهت ایجاد یک شبکه امن عبارتند از:
1- توانایی ثبت و اخطار :ثبت وقایع یکی از مشخصه های بسیار مهم یک فایروال به شمار می شود و به مدیران شبکه این امکان را می دهد که انجام حملات را کنترل کنند.
همچنین مدیر شبکه می تواند با کمک اطلاعات ثبت شده به کنترل ترافیک ایجاد شده توسط کاربران مجاز بپردازد.
در یک روال ثبت مناسب ، مدیر می تواند براحتی به بخشهای مهم از اطلاعات ثبت شده دسترسی پیدا کند.
همچنین یک فایروال خوب باید بتواند علاوه بر ثبت وقایع، در شرایط بحرانی، مدیر شبکه را از وقایع مطلع کند و برای وی اخطار بفرستد.
2- بازدید حجم بالایی از بسته های اطلاعات: یکی از تستهای یک فایروال ، توانایی آن در بازدید حجم بالایی از بسته های اطلاعاتی بدون کاهش چشمگیر کارایی شبکه است.
حجم داده ای که یک فایروال می تواند کنترل کند برای شبکه های مختلف متفاوت است اما یک فایروال قطعا نباید به گلوگاه شبکه تحت حفاظتش تبدیل شود.عوامل مختلفی در سرعت پردازش اطلاعات توسط فایروال نقش دارند.
بیشترین محدودیتها از طرف سرعت پردازنده و بهینه سازی کد نرم افزار بر کارایی فایروال تحمیل می شوند.
عامل محدودکننده دیگر می تواند کارتهای واسطی باشد که بر روی فایروال نصب می شوند.
فایروالی که بعضی کارها مانند صدور اخطار ، کنترل دسترسی مبنی بر URL و بررسی وقایع ثبت شده را به نرم افزارهای دیگر می سپارد از سرعت و کارایی بیشتر و بهتری برخوردار است.
3- سادگی پیکربندی: سادگی پیکربندی شامل امکان راه اندازی سریع فایروال و مشاهده سریع خطاها و مشکلات است.در واقع بسیاری از مشکلات امنیتی که دامنگیر شبکه های می شود به پیکربندی غلط فایروال بر می گردد.
لذا پیکربندی سریع و ساده یک فایروال ، امکان بروز خطا را کم می کند.
برای مثال امکان نمایش گرافیکی معماری شبکه و یا ابزرای که بتواند سیاستهای امنیتی را به پیکربندی ترجمه کند ، برای یک فایروال بسیار مهم است.
4- امنیت و افزونگی فایروال: امنیت فایروال خود یکی از نکات مهم در یک شبکه امن است.فایروالی که نتواند امنیت خود را تامین کند ، قطعا اجازه ورود هکرها و مهاجمان را به سایر بخشهای شبکه نیز خواهد داد.
امنیت در دو بخش از فایروال ، تامین کننده امنیت فایروال و شبکه است:
الف- امنیت سیستم عامل فایروال : اگر نرم افزار فایروال بر روی سیستم عامل جداگانه ای کار می کند، نقاط ضعف امنیتی سیستم عامل ، می تواند نقاط ضعف فایروال نیز به حساب بیاید.
بنابراین امنیت و استحکام سیستم عامل فایروال و بروزرسانی آن از نکات مهم در امنیت فایروال است.
ب- دسترسی امن به فایروال جهت مقاصد مدیریتی : یک فایروال باید مکانیزمهای امنیتی خاصی را برای دسترسی مدیران شبکه در نظر بگیرد.
این روشها می تواند رمزنگاری را همراه با روشهای مناسب تعیین هویت بکار گیرد تا بتواند در مقابل نفوذگران تاب بیاورد.
انواع فایروال
انواع مختلف فایروال کم و بیش کارهایی را که اشاره کردیم ، انجام می دهند، اما روش انجام کار توسط انواع مختلف ، متفاوت است که این امر منجر به تفاوت در کارایی و سطح امنیت پیشنهادی فایروال می شود.بر این اساس فایروالها را به 5 گروه تقسیم می کنند.
1- فایروالهای سطح مدار (Circuit-Level): این فایروالها به عنوان یک رله برای ارتباطات TCP عمل می کنند.
آنها ارتباط TCP را با رایانه پشتشان قطع می کنند و خود به جای آن رایانه به پاسخگویی اولیه می پردازند.تنها پس از برقراری ارتباط است که اجازه می دهند تا داده به سمت رایانه مقصد جریان پیدا کند و تنها به بسته های داده ای مرتبط اجازه عبور می دهند.
این نوع از فایروالها هیچ داده درون بسته های اطلاعات را مورد بررسی قرار نمی دهند و لذا سرعت خوبی دارند.
ضمنا امکان ایجاد محدودیت بر روی سایر پروتکلها ( غیر از TCP) را نیز نمی دهند.
2- فایروالهای پروکسی سرور : فایروالهای پروکسی سرور به بررسی بسته های اطلاعات در لایه کاربرد می پردازد.
یک پروکسی سرور درخواست ارائه شده توسط برنامه های کاربردی پشتش را قطع می کند و خود به جای آنها درخواست را ارسال می کند.نتیجه درخواست را نیز ابتدا خود دریافت و سپس برای برنامه های کاربردی ارسال می کند.
این روش با جلوگیری از ارتباط مستقیم برنامه با سرورها و برنامه های کاربردی خارجی امنیت بالایی را تامین می کند.
از آنجایی که این فایروالها پروتکلهای سطح کاربرد را می شناسند ، لذا می توانند بر مبنای این پروتکلها محدودیتهایی را ایجاد کنند.
همچنین آنها می توانند با بررسی محتوای بسته های داده ای به ایجاد محدودیتهای لازم بپردازند.
البته این سطح بررسی می تواند به کندی این فایروالها بیانجامد.
همچنین از آنجایی که این فایروالها باید ترافیک ورودی و اطلاعات برنامه های کاربردی کاربر انتهایی را پردازش کند، کارایی آنها بیشتر کاهش می یابد.
اغلب اوقات پروکسی سرورها از دید کاربر انتهایی شفاف نیستند و کاربر مجبور است تغییراتی را در برنامه خود ایجاد کند تا بتوان داین فایروالها را به کار بگیرد.هر برنامه جدیدی که بخواهد از این نوع فایروال عبور کند ، باید تغییراتی را در پشته پروتکل فایروال ایجاد کرد.
3- فیلترهای Nosstateful packet : این فیلترها روش کار ساده ای دارند.
آنها بر مسیر یک شبکه می نشینند و با استفاده از مجموعه ای از قواعد ، به بعضی بسته ها اجازه عبور می دهند و بعضی دیگر را بلوکه می کنند.
این تصمیمها با توجه به اطلاعات آدرس دهی موجود در پروتکلهای لایه شبکه مانند IP و در بعضی موارد با توجه به اطلاعات موجود در پروتکلهای لایه انتقال مانند سرآیندهای TCP و UDP اتخاذ می شود.
این فیلترها زمانی می توانند به خوبی عمل کنند که فهم خوبی از کاربرد سرویسهای مورد نیاز شبکه جهت محافظت داشته باشند.
همچنین این فیلترها می توانند سریع باشند چون همانند پروکسی ها عمل نمی کنند و اطلاعاتی درباره پروتکلهای لایه کاربرد ندارند.
4- فیلترهای ٍStateful Packet : این فیلترها بسیار باهوشتر از فیلترهای ساده هستند.
آنها تقریبا تمامی ترافیک ورودی را بلوکه می کنند اما می توانند به ماشینهای پشتشان اجازه بدهند تا به پاسخگویی بپردازند.
آنها این کار را با نگهداری رکورد اتصالاتی که ماشینهای پشتشان در لایه انتقال ایجاد می کنند، انجام می دهند.این فیلترها ، مکانیزم اصلی مورد استفاده جهت پیاده سازی فایروال در شبکه های مدرن هستند.این فیلترها می توانند رد پای اطلاعات مختلف را از طریق بسته هایی که در حال عبورند ثبت کنند.
برای مثال شماره پورت های TCP و UDP مبدا و مقصد، شماره ترتیب TCP و پرچمهای TCP.
بسیاری از فیلترهای جدید Stateful می توانند پروتکلهای لایه کاربرد مانند FTP و HTTP را تشخیص دهند و لذا می تواننداعمال کنترل دسترسی را با توجه به نیازها و سرعت این پروتکلها انجام دهند.
5- فایروالهای شخصی : فایروالهای شخصی ، فایروالهایی هستند که بر روی رایانه های شخصی نصب می شوند.آنها برای مقابله با حملات شبکه ای طراحی شده اند.
معمولا از برنامه های در حال اجرا در ماشین آگاهی دارند و تنها به ارتباطات ایجاد شده توسط این برنامه ها اجازه می دهند که به کار بپردازند نصب یک فایروال شخصی بر روی یک PC بسیار مفید است زیرا سطح امنیت پیشنهادی توسط فایروال شبکه را افزایش می دهد.
از طرف دیگر از آنجایی که امروزه بسیاری از حملات از درون شبکه حفاظت شده انجام می شوند ، فایروال شبکه نمی تواند کاری برای آنها انجام دهد و لذا یک فایروال شخصی بسیار مفید خواهد بود.
معمولا نیازی به تغییر برنامه جهت عبور از فایروال شخصی نصب شده (همانند پروکسی) نیست.
5- فایروالهای شخصی : فایروالهای شخصی ، فایروالهایی هستند که بر روی رایانه های شخصی نصب می شوند.آنها برای مقابله با حملات شبکه ای طراحی شده اند.
معمولا نیازی به تغییر برنامه جهت عبور از فایروال شخصی نصب شده (همانند پروکسی) نیست.
موقعیت یابی برای فایروال محل و موقعیت نصب فایروال همانند انتخاب نوع صحیح فایروال و پیکربندی کامل آن ، از اهمیت ویژه ای برخوردار است.
نکاتی که باید برای یافتن جای مناسب نصب فایروال در نظر گرفت عبارتند از : موقعیت و محل نصب از لحاظ توپولوژیکی : معمولا مناسب به نظر می رسد که فایروال را در درگاه ورودی/خروجی شبکه خصوصی نصب کنیم.
این امر به ایجاد بهترین پوشش امنیتی برای شبکه خصوصی با کمک فایروال از یک طرف و جداسازی شبکه خصوصی از شبکه عمومی از طرف دیگر کمک می کند.
قابلیت دسترسی و نواحی امنیتی : اگر سرورهایی وجود دارند که باید برای شبکه عمومی در دسترس باشند ، بهتر است آنها را بعد از فایروال و در ناحیه DMZ قرار دهید.
قرار دادن این سرورها در شبکه خصوصی وتنظیم فایروال جهت صدور اجازه به کاربران خارجی برای دسترسی به این سرورها برابر خواهد بود با هک شدن شبکه داخلی.
چون شما خود مسیر هکرها را در فایروال باز کرده اید.
در حالی که با استفاده از ناحیه DMZ ، سرورهای قابل دسترسی برای شبکه عمومی از شبکه خصوصی شما بطور فیزیکی جدا هستند، لذا اگر هکرها بتوانند به نحوی به این سرورها نفوذ کنند بازهم فایروال را پیش روی خود دارند.
مسیریابی نامتقارن : بیشتر فایروالهای مدرن سعی می کنند اطلاعات مربوط به اتصالات مختلفی را که از طریق آنها شبکه داخلی را به شبکه عمومی وصل کرده است، نگهداری کنند.
این اطلاعات کمک می کنند تا تنها بسته های اطلاعاتی مجاز به شبکه خصوصی وارد شوند.
در نتیجه حائز اهمیت است که نقطه ورود و خروج تمامی اطلاعات به/از شبکه خصوصی از طریق یک فایروال باشد.
فایروالهای لایه ای : در شبکه های با درجه امنیتی بالا بهتر است از دو یا چند فایروال در مسیر قرار گیرند.
اگر اولی با مشکلی روبرو شود، دومی به کار ادامه می دهد.معمولا بهتر است دو یا چند فایروال مورد استفاده از شرکتهای مختلفی باشند تا در صورت وجود یک اشکال نرم افزاری یا حفره امنیتی در یکی از آنها ، سایرین بتوانند امنیت شبکه را تامین کنند.
فایروال ها چگونه کار می کنند؟
کامپیوتر خود را رویین تن کنید اگر مدت زیادی است با اینترنت سروکار دارید،به احتمال زیاد لغت فایروال(firewall)برایتان آشناست.فایروال درست مثل دیواره ای که مانع گسترش آتش از قسمتی به قسمت دیگر می شود،عمل می کند وازهجوم انواع خطرات به شبکه محلی شما و یا کامپیوتر متصل به اینترنت جلو گیری می کند.به زبان ساده یک فایروال یک برنامه با یک قطعه سخت افزاری است که در محل اتصال شبکه شما به اینترنت قرار میگیردو اطلاعاتی را که میان رایانه های شما و اینترنت رد و بدل می شود، کنترل می کند.برای اینکه با لزوم استفاده از فایروال آشنا شوید،فرض کنید شبکه شما بدون استفاده از فایروال به اینترنت وصل شود.در این صورت هر کسی می تواند به آسانی به هریک از رایانه هایتان دست یابد،آنرا بررسی و با آن اتصالFtpیاTelnetبر قرارکند،در آن صورت فکرش را بکنید که شبکه شما چه وضعی پیدا خواهد کرد.ولی با نصب فایروال در محل مناسب،اوضاع کاملا عوض می شود.در این صورت شما می توانید با تنظیم فیلترهای فایروال،قوانین مورد نظر خود را روی شبکه تان اعمال کنید.تعیین کنید که کاربران شبکه شما میتوانند به چه سایت هایی وصل شوندواجازه دارند چه فایل هایی را به اینترنت بفرستند ودریافت کنند.به این ترتیب براحتی میتوانید رایانه تان را مدیریت کنید.حالکه اهمیت فایروال روشن شد،به تنظیمات آن می پردازیم.فایر وال قابل تنظیم است،یعنی شما می توانید به تناسب کارتان و انتظاری که ازآن دارید فیلترهایی را به آن اضافه یا کم کنید.این که فایروال هنگام عبور دادن اطلاعات از خودش،به چه نوع اطلاعاتی توجه کند و کدام نوع آن را بررسی کرده و جلویعبور آنها را بگیرد،به نظر شما بستگی دارد.می توانید با تنظیم هر کدام از موارد زیر به فایروال دیکته کنیدکه چطور عمل کند: 1)نشانی IP:اگر هنگام اداره شبکه محلی خود متوجه شدید که رایانه ای از طریق اینترنت مرتبت بهserver شبکه شما وصلمیشود و بار ترافیکی زیادی ایجاد می کند،می توانید از فایروال خود بخواهید که به آن رایانه یا نشانی IP مشخص،اجازه ورودبه شبکه را ندهد.
2)نام حوزه (Domain name):از آنجا که نشانیIP یک عدد 32بیتی و استفاده از آن راحت نیست،به همه serverها در اینترنت علاوه بر نشانی IP یک نام حوزه اختصاص میدهند.شما می توانید فایروال را طوری تنظیم کنید که رایانه های شبکهمحلی بتواند به سایت های خاصی (با نشانی حوزه خاص)دسترسی داشته باشند.
یا اینکه به مشخص کردن نام حوزه در فایروالبه رایانه های شبکه تان اجازه بدهید که از آن سایت ها دیدن کنند.
3)پورت و پروتکل:فایروال می توانداز طریق شماره پورت های رایانه ها که برای ارتباط با یکدیگر به کار می برند،اطلاعاترد و بدل شده را کنترل کند،همچنین می توان کلمات واصطلاحات خاصی را در بانک اطلاعاتی فایروال مشخص کرد.
در اینصورت هنگام وارد یا خارج شدن اطلاعات فایروال محتوای آنها را بررسی می کند و اگر با کلمات خاصی که برایش مشخصکرده ایم روبه رو شود،اجازه نمی دهد آن اطلاعات عبورکنند.
فایروال در برابر چه خطراتی از ما محافظت می کنند؟
1)ویروس ها:از معمول ترین خطرات برای هر رایانه به حساب می آیند و معمولا برنامه های کوچکی هستند که خود را رویرایانه های دیگر کپی کرده و به این روش به سرعت در شبکه شما پخش می شوند.
2)اشکالات برنامه ها و سیستم عامل ها:در بعضی برنامه ها امکان دسترسی به آن برنامه از راه دور (Backdoor)آن همبدون امنیت کافی فراهم شده است.به این ترتیب هکرها می توانند از آن استفاده کرده واز راه دور کنترل برنامه شمارا بدستبگیرند.
3)ماکرو ها:اگر فایروال ورود وخروج اطلاعات را کنترل نکند.هکرها میتوانند با فرستادن قطعه برنامه ها(که ماکرو نام دارند)به رایانه ها،داده ها را پاک کنند یا تغییر دهند و کل شبکه را از کار بیندازند.
4)بمب های ایمیل:در یک لحظه یک نامه صدها و هزاران بار برای یک سرویس دهنده نامه الکترونیکی فرستاده می شود وکاراو را مختل می کند تا جایی که این سیستم دیگر نمی تواند نامه ها را دریافت کند و از کار می افتد.
5)در بسیاری از مواردی که به سایت ها حمله می شود،هکرها برای وصل شدن به server،سعی می کنند درخواست هایبی شماری برای سرور بفرستد به طوری که سرور نمی تواند سیستم درخواست دهنده را پیدا کند و گیج می شود،به این ترتیبوقتی تعداد این نوع در خواست ها زیاد باشد،server کند میشود در نهایت از کار می افتد.هر فایروال با توجه به سطح امنیتیکه ایجاد می کند،می تواند در مقابل تعدادی از این خطرات از شبکه ما محافظت کند.
طراحی فایروال محیطی (Perimeter Firewall) طراحی فایروال برای Data Center و محافظت از یک Data Center 1-تعاریف طراحی محیط شبکه مطابق با مدل های روز به صورت زیر خواهد بود - جدا سازی دامن های خطر با لایه های مختلف فایروال - یک دامنه خطر در هر لایه در ساختار طراحی - نواحی امنیتی در Outer-Tire برای دسترس بودن - نواحی امنیتی در دامنه خطر Middle-Tire برای اجزای Tire-2 - امنیت در دامنه خطر لایه داخلی(-Tire Inner) برای دسترسی داخلی به سرورها و برنامه های کاربردی و سرور پایگاه داده - Out Of Band Management - Out Of Band Back up - جدا سازی فیزیکی دامنه های خطر - جدا سازی منطقی نواحی امنیتی - زوج فایروالهای با ضریب اطمینان بالا در این مقاله واژه های خارجی، میانی و داخلی جهت توصیف 3 لایه از فایروال می باشد.
مدل لایه نرم افزار کاربردی به صورت: Tier 1 Presentation Tier 2 Application Tier 3 Data طراحی جزیی محیطی: Tier 1 از ساختار نرم افزار که توسط فایروال خارجی سرویس داده می شود Tier 2 از ساختار نرم افزار که توسط فایروال میانی سرویس داده می شود.
Tier 3 از ساختار نرم افزار که توسط فایروال داخلی سرویس داده می شود.
در این طراحی، فایروالها تمام ترافیک ورودی وخروجی محیط شبکه را کنترل می کنند بنابراین افزونگی (Redundancy) کامل لایه های خارجی، داخلی و میانی فایروال میزان اطمینان و پایداری بالا را حتمی می سازد.
2-دفاع در عمق در این طراحی، دو محصول فایروال متفاوت در نظر گرفته شده است.
آسیب پذیرهایی که ممکن است در یک سیستم فایروال کشف شوند نمی توانند روی فایروال دیگر به اجرا در آمده و شبکه پیرامون مرکز دیتا (Data Center) را مورد تهاجم قرار دهند.
جدا سازی فیزیکی نواحی خطر، داخل لایه (Tier) فایروال به کمک سوئیچ های لایه دو و رابط های فیزیکی فایروال حاصل می شود.
نواحی چندگانه خطر می توانند برای هر لایه تعریف شوند.
نواحی امنیتی داخل یک حوزه خطر جهت رسیدن به تفکیک بیشتر با استفاده از جداسازی منطقی توسط VLAN به کار می آیند.
دو سوئیچ مجزا ممکن است در یک حوزه خطر برای اهداف افزونگی زیر ساخت به کار آیند.
استفاده ا ز دو کارت شبکه نیز برای افزونگی ارتباط Host در این راستا قرار دارد.
دیاگرام زیر طراحی شبکه در سطوح بالا را نشان می دهد.
3-فایروال داخلی کنترل فایروال ها توسط فایروال داخلی انجام می شود.
اگر هر کدام از فایروال های خارجی و یا میانی و یا سیستم های داخل DMZ مورد حمله قرار گرفته و کنترل آنها توسط هکرها بدست گرفته شود فایروال داخلی به عنوان محافظ آدرس های داخلی شبکه در برابر حملات انجام شده خواهد بود.
فایروال Check Point می تواند بعنوان لایه سوم مورد استفاده قرار بگیرد.
به عنوان مثال مجموع دستگاه Nokia IP 530 که در حالت فعال/غیر فعال تنظیم شده اند را می توان استفاده نمود.
4-فایروالهای میانی: نقش فایروالهای لایه داخلی (Inter-tier) بوسیله فایروالهای میانی ایفا می شود.
آنها برنامه های کاربردی را در معماری سه لایه ای فعال می کنند.
فایروال-1 NG می تواند در یک پیکربندی HA (High Availability) برای این منظور استفاده شود.
5-فایروالهای خارجی نقش مکانیزمهای تقویت امنیت بوسیله این فایروالها ایفا می شود.
این فایروالها به اینترنت متصل می شوند.
این فایروالها در یک زوجی از پیکربندی فعال-غیر فعال پیاده سازی شده که یکی از آنها به عنوان فایروال اولیه فعالیت کرده و دیگری به عنوان فایروال Standby به منظور اطمینان بالا (High Availability) عمل می کند.
نواحی امنیتی لایه 1 (Tier-1) نیز بوسیله فایروالهای خارجی کنترل می شوند.
سرویس های برنامه های کاربردی مانند Mail Relay، DNS و پروکسی های وب توسط فایروالهای خارجی کنترل می شوند.
فایروالهای Cisco مانند سری Cisco pix 535 می توانند برای لایه خارجی به کار آیند.
6-دستاوردها طراحی محیطی (Perimeter design) دستاوردهای زیر را به همراه دارد: - اطمینان و پایداری بالا از طریق افزونگی - کارایی بالا - OSPF (آگاهی شبکه) - افزایش اطمینان و بازیابی (VRRP) - افزونگی (Failover)ارتباطات داخلی - افزونگی (Failover)ارتباطات خارجی - نواحی امنیتی و حوزه های خطر چند گانه (درگاههای VLAN) - بازرسی بسته ها و فیلترینگ آنها به روش Statefull - بازرسی محتوی بوسیله مکانیزم Check Point Application Intelligence - سخت افزار مختص عملکرد فایروال - دفاع در عمق- لایه های مختلف فایروال و محصولات متنوع - ترجمه و تفسیر آدرس بین شبکه ها - قابلیت IDS در ساختار موجود بررسی نحوه عملکرد فایروال Firewallیا دیواره آتش قبل از تحلیل اجزای دیوار آتش عملکرد کلی و مشکلات استفاده از دیوار آتش را بررسی میکنیم.
بسته های TCP و IP قبل از ورود یا خروج به شبکه ابتدا وارد دیوار آتش میشوند و منتظر میمانند تا طبق معیارهای حفاظتی و امنیتی پردازش شوند.
پس از پردازش و تحلیل بسته سه حالت ممکن است اتفاق بیفتد : 1- اجازه عبور بسته صادر میشود (Accept Mode) 2- بسته حذف میشود (Blocking Mode) 3- بسته حذف شده و پاسخ مناسب به مبدا آن بسته داده شود (Response Mode) غیر از حذف بسته میتوان عملیاتی نظیر ثبت ، اخطار، ردگیری، جلوگیری از ادامه استفاده از شبکه و توبیخ هم در نظر گرفت.
به مجموعه قواعد دیوار آتش سیاستهای امنیتی نیز گفته میشود.
همانطور که همه جا عملیات ایست و بازرسی وقتگیر و اعصاب خرد کن است دیوار آتش هم بعنوان یک گلوگاه میتواند منجر به بالا رفتن ترافیک ، تاخیر، ازدحام و نهایتا بن بست در شبکه شود.
یعنی بسته ها آنقدر در پشت دیوار آتش معطل میمانند تا زمان طول عمرشان به اتمام رسیده و فرستنده مجبور میشود مجددا اقدام به ارسال آنها کند و این کار متناوبا تکرار میگردد.
به همین دلیل دیوار آتش نیاز به طراحی صحیح و دقیق دارد تا کمترین تاخیر را در اطلاعات امن و صحیح ایجاد نماید.
تاخیر در دیوار آتش اجتناب ناپذیر است و فقط باید به گونه ای باشد که بحران ایجاد نکند.
از آنجایی که معماری شبکه به صورت لایه لایه است ، در مدل TCP/IP برای انتقال یک واحد اطلاعات از لایه چهارم بر روی شبکه باید تمام لایه ها را بگذراند، هر لایه برای انجام وظیفه خود تعدادی فیلد مشخص به ابتدای بسته اطلاعاتی اضافه کرده و آنرا تحویل لایه پایین تر میدهد.
قسمت اعظم کار یک دیوار آتش تحلیل فیلدهای اضافه شده در هر لایه و 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 ها در این لایه بسته به نوع سرویس بسیار متنوع و فراوان است.
بنابراین در لایه سوم دیوار آتش برای هر سرویس مجزا (مانند وب، پست الکترونیک و...) باید یک سلسله پردازش و قواعد امنیتی مجزا تعریف شود و به همین دلیل حجم و پیچیدگی پردازش ها در لایه سوم زیاد است.
توصیه موکد آنست که تمام سرویسهای غیر ضروری و شماره پورتهایی که مورد استفاده نیستند در لایه دوم مسدود شوند تا کار در لایه سوم کمتر باشد.
بعنوان مثال فرض کنید که موسسه ای اقتصادی، سرویس پست الکترونیک خود را دائر نموده ولی نگران فاش شدن برخی اطلاعات محرمانه است.
در این حالت دیوار آتش در لایه سوم میتواند کمک کند تا برخی آدرسهای پست الکترونیکی مسدود شوند و در عین حال میتواند در متون نامه های رمز نشده به دنبال برخی از کلمات کلیدی حساس بگردد و متون رمز گذاری شده را در صورتی که موفق به رمزگشایی آن نشود حذف نماید.
بعنوان مثالی دیگر یک مرکز فرهنگی علاقمند استقبل از تحویل صفحه وب به کاربر درون آنرا از لحاظ وجود برخی از کلمات کلیدی بررسی نماید و اگر کلماتی که با معیارهای فرهنگی مطابقت ندارد درون صفحه یافت شد آن صفحه را حذف نماید.
فیلترهای 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) برای اتصال به شبکه اینترنت استفاده میکنند بدلیل عدم وجود یک سیستم امنیتی قدرتمند به دام نفوذگران بدخواه می افتند و داده هایشان سرقت میشود و یا مورد آزار و اذیت قرار میگیرند.
اینگونه حوادث نادر نیست بلکه هر روز اتفاق می افتد.
حال چگونه میتوان از این ماشینها حفاظت کرد؟