کاوشگر لینوکس

آموزش لینوکس و معرفی نرم افزارهای کاربردی مرجع باز (open source)

کاوشگر لینوکس

آموزش لینوکس و معرفی نرم افزارهای کاربردی مرجع باز (open source)

ترفندهای امنیتی قبل از اتصال گنو/لینوکس به اینترنت

securityنکته : به یاد داشته باشید که نابرده رنج گنج میسر نمیشود پس همانطوریکه مدتها وقت صرف یادگیری ویندوز کرده اید باید بدانید که حداقل همان مقدار را باید برای یادگیری گنو/لینوکس اختصاص دهید.

فرقی نمی کند که از چه توزیع لینوکسی استفاده میکنید ، در هر صورت شما باید قبل از ارتباط سیستم لینوکس خود با اینترنت نکات زیر را رعایت کنید :

 

1- برخلاف ویندوز که نسخه های اختصاصی برای کامپیوترهای رومیزی و سرور دارد ، اغلب سیستم عاملهای خانواده گنو لینوکس از ابتدا دارای قابلیت نصب بصورت سرور و یا ایستگاه کاری شبکه یا بصورت یک کامپیوتر خانگی هستند و این یعنی در هنگام نصب سیستم عامل باید به انتخاب دقیقتر نرم افزارهای کاربردی مورد نیاز با توجه به موقعیت و نوع استفاده از سیستم همت گماشت.

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

 

2- نصب و پیکربندی یک نرم افزار دیواره آتش یا فایروال که بصورت پیش فرض در اغلب توزیعهای لینوکس نصب میشود توصیه میشود . بعنوان مثال مندریوا لینوکس فایروال خود یعنی shorewall  را نصب و امکان پیکربندی آنرا از طریق رابط گرافیکی ساده mcc  یا mandriva control system  فراهم میکند.

البته توجه داشته باشید که هنگام فعال کردن فایروال دقت لازم را در انتخاب سرویسهای مجاز یا غیر مجاز برای ارتباط با شبکه انجام دهید، بعنوان مثال اگر میخواهید از secure shell برای ارتباط با سیستم خود از راه دور استفاده کنید باید در مرحله پیکربندی فایروال گزینه allow را برای ssh  فعال سازید.

در این صورت پورت 22 روی سیستم شما برای این ارتباط باز میگردد.

 

3- یکی از لایه های دیگر امنیتی صدور مجوز ارتباط یا جلوگیری از برقراری ترافیک با شبکه اینترنت از طریق تعریف کردن host  های مجاز یا غیر مجاز است .

مثلا شما میتوانید به سادگی اطلاعات دو فایل مهم etc/hosts.deny  و etc/hosts.allow  را به نفع خود ویرایش کنید تا فقط آدرسهای بخصوصی اجازه دسترسی به کامپیوتر شما را بصورت از راه دور داشته باشند.

بهترین تنظیم برای فایل etc/hosts.deny  شامل خط زیر است که باید به فایل اضافه شود:

ALL: ALL

بدیهی است که با این دستور بصورت پیش فرض همه کامپیوتر های را دور از دسترسی به سیستم شما منع میشوند ، سپس  میتوانید در فایل etc/hosts.allow  تنظیمات لازم یعنی آدرسهای دامنه یا آدرس آی پی مجاز را به تفکیک وارد کنید :

مثال :

sshd: 192.168.0.1 #allow 192.168.0.1 to access ssh
sshd: somebox.somedomain.com #allow somebox.somedomain.com to access ssh

4- بیاد داشته باشید که سرویسهای غیر ضروری فقط منابع حیاتی سیستم شما را مصرف کرده و از سرعت اجرای برنامه های دیگر کاسته و بیشتر اوقات به حفره های امنیتی خطر ناک تبدیل میشوند.

پس ابتدا با دستور chkconfig  مبادرت به مشاهده  سرویسهای مختلف فعال در سیستم خود کرده و درصورت اطلاع کامل از بلا استفاده بودن یکی یا چند تا از آنها حتما آنها را غیر فعال کنید زیرا عدم وجود یک سرویس فعال غیر ضروری همیشه بهتر از فعال بودن و بلا استفاده بودن آن است .

5- سرویسهای ضروری و فعال سیستم خود را شناسائی و تا جائی که ممکن است آنها را امن کنید . بعنوان مثال اگر از سرویس ssh  استفاده می کنید حتما تنظیمات فایل   etc/ssh/sshd_config    را بررسی نموده و گزینه اتصال با کاربر ریشه root  را غیر فعال کنید. در این صورت بعنوان نمونه از حملات broute force  توسط هکرها برای بدست آوردن کنترل ریشه سیستم در امان خواهید بود .

6- با گزینه های امنیتی قابل تنظیم هسته kernel لینوکس که معمولا در   etc/sysctl.conf قرار دارد آشنا شوید . از این طریق میتوانید بعنوان مثال تعیین نمائید که چه نوع اطلاعاتی در هنگام کار باشبکه توسط سیستم شما رونوشت برداری یا log  شود تا بعدا از این اطلاعات ارزشمند در بر طرف کردن نقاط ضعف سیستم خود استفاده کنید .

7- همیشه سعی کنید بسته های به روز رسانی را از سایت تخصصی توزیع لینوکس مورد علاقه تان بارگزاری و یا در صورت تمایل و داشتن اطلاعات لازم بصورت دستی نصب کنید . در اینصورت امکان استفاده نفوذگران از نقاط ضغف نرم افزارهای کاربردی کاهش می یابد .

8- از نرم افزارهای جانبی مثل Bastille-Linux  و یا  Tripwire  و غیره برای کشف نقاط ضعف امنیتی سیستم خود و احتمالا پیدا کردن اشتباهات کاربری در پیکربندی های امنیتی و سد کردن راههای نفوذ استفاده کنید .

راه حل فراموش کردن password کاربر ریشه root ?

برای همه ما زمانی پیش می آید که مهمترین اطلاعات خود را ار جمله پسورد یا نام کاربری خود در کامپیوتر شخصی یا اداری خود به دست فراموشی می سپاریم . این امر خصوصا برای کسانی که ( مثل بنده ... ! ) برای حصول امنیت بیشتر بطور مکرر و در فاصله های زمانی کوتاه کلمه عبور خود را عوض میکنند گاهی پیش میآید .
سئوال اینجاست که در صورت فراموشی پسورد مهمی مثل پسورد کاربر ریشه یا superuser چه باید کرد ؟ آیا در این صورت ما مجبور می شویم تا سیستم عامل لینوکس خود را دوباره نصب و پیکربندی کنیم و تمامی مشقات نصب و پیکربندی مجدد سیستم را دائما بصورت یک کابوس (خصوصا برای مدیران شبکه و ....) را تحمل کنیم ؟
پاسخ مثل اغلب اوغات که به قابلیت هماهنگ شدن و flexabillity گنو / لینوکس با نیازهای کاربر بر میگردد منفی است .
شما باید بدانید که حفاظت از این اطلاعات کلیدی به حفظ امنیت سیستم شما کمک شایانی میکند اما اگر شما پسورد کاربر ریشه را فراموش کردید نگران نباشید .برای پاک کردن پسورد قدیمی هر یک از کاربران و حتی کاربر ریشه نخست باید از نظر فیزیکی و بصورت کامل به کیس کامپیوتر مورد نظر دسترسی داشته باشید . این را برای این میگویم که کاربران لینوکس تصور نکنند که با انتشار اینگونه مقالات یک راه ساده برای دسترسی راه دور به سیستمها و یا هک کردن ساده آنها از راه دور فراهم میشود و امنیت سیستمهای لینوکس به سادگی به خطر می افتد.
برای پاک کردن پسورد کاربر ریشه ابتدا باید یک عدد دیسکت بوت لینوکس یا سی دی بوت لینوکس خود را در اختیار داشته باشید و از طریق این رسانه ها سیستم خود را بوت نمائید . (طریقه ساخت دیسکت بوت لینوکس در فایلهای متنی متعدد منتشر شده در وب موجود است و سی دی های نصبی لینوکس که اینروزها همگی bootable میباشند به سادگی میتوانند جایگزین آن شوند)
پس از دسترسی به پوسته خط فرمان bash باید ساختار فایل سیستم و همه دایرکتوری های سیستمی لینوکس خود را در یک مسیر دلخواه یا دایرکتوری به نام /mnt/ متصل یا به اصطلاح mount نمائید .مثلا اگر پارتیشن هارد دیسکی که شما لینوکس را برروی آن نصب کرده اید hda8 و نوع فایل سیستم لینوکس شما reiserfs باشد از دستور زیر استفاده کنید :
(بدیهی است که فایل سیستمهای متعددی از جمله reiserfs وjfs و ext2 و .... در سیستمهای مبتنی بر گنو / لینوکس استفاده میشوند که مهمترین و به روز ترین آنها دومورد اول میباشد).
mount -t reiserfs /dev/hda8 /mnt #
با انجام اینکار تمام ساختار فایل سیستم لینوکس منجمله دایرکتوری /etc/ در مسیر فوق یعنی دایرکتوری /mnt/ متصل و قابل دسترس شده و میتوان به آن مسیر وارد شد و فایل passwd و shadow که فایلهای نگهداری پسوردهای کاربران سیستم میباشند را ویرایش کرد .
باید دانست که سیستمهای مبتنی بر گنو / لینوکس از سیستم کدکردن پیشرفته encryption کلمات عبور استفاده میکنند و بهیچ وجه نمیتوان پسورد قبلی یک کاربر را مشاهده یا بازیافت کرد . بجای اینکار بایستی ابتدا فایل passwd را با یک ویرایشگر متنی مثل vi یا pico باز کرده و در مقابل نام کاربر مورد نظر خود تمام کاراکترهای حدفاصل بین دو علامت کالن ( : ) اول و دوم را پاک کرد تا کاربر موصوف در راه اندازی مجدد بدون پسورد بتواند وارد سیستم شود .
در برخی سیستمهای پیشرفته تر در فایل passwd بین دو علامت کالن اول و دوم فقط یک کاراکتر x قرار داده شده و در این شرایط بدون دستکاری این فایل باید فایل shadow را در همان مسیر ویرایش کرده و اینبار نیز در مقابل نام کاربر مورد نظر خود تمام کاراکترهای حدفاصل بین دو علامت کالن ( : ) اول و دوم را پاک کرد.

زنگ تفریح : (یک شوخی با مایکروسافت)
Windows 98: a 32 bit extension of a 16 bit filesystem for a 8 bit operating system built on a 4 bit processor by a two-bit company that can't stand one-bit of competition.

بررسی نحوه عملکرد فایروال Firewallیا دیواره آتش

دیوار آتش سیستمی سخت افزاری یا نرم افزاری است که بین کامپیوتر شما یا یک شبکه  LAN و شبکه بیرونی (مثلا اینترنت) قرار گرفته و ضمن نظارت بر دسترسی به منابع  resource  سیستم  ، در تمام سطوح ورود و خروج اطلاعات را تحت نظر دارد. هر سازمان یا نهادی که بخواهد ورود و خروج اطلاعات شبکه خود را کنترل کند موظف است تمام ارتباطات مستقیم شبکه خود را با دنیای خارج قطع نموده و هر گونه ارتباط خارجی از طریق یک دروازه که دیوار آتش یا فیلتر نام دارد ، انجام شود.
قبل از تحلیل اجزای دیوار آتش عملکرد کلی و مشکلات استفاده از دیوار آتش را بررسی میکنیم.
بسته های
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) برای اتصال به شبکه اینترنت استفاده میکنند بدلیل عدم وجود یک سیستم امنیتی قدرتمند به دام نفوذگران بدخواه می افتند و داده هایشان سرقت میشود و یا مورد آزار و اذیت قرار میگیرند. اینگونه حوادث نادر نیست بلکه هر روز اتفاق می افتد. حال چگونه میتوان از این ماشینها حفاظت کرد؟

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

منبع : http://www.alliancedatacom.com/firewall-tutorial.htm