بدون شک در دنیای امروزی، فناوری اطلاعات بخش مهم و انکارناپذیر از زندگی ما را تشکیل میدهد. از اینرو قمستهای مختلف و زیرمجموعه این حوزه وسیع نیز ارزش و مقام خاص خود را دارد. یکی از این زیرمجموعهها مبحث امنیت دادهها است که کوچک شمردن آن ممکن است زیآنهای زیادی را به پیکرة بشر امروزی وارد سازد. همانطور که درِ خانه نیاز به قفل دارد تا از ورود هرگونه بیگانه به حریم شخصی شما جلوگیری شود، کامپیوتر شخصی و یا حتی شبکه شما نیز نیاز به فایروال دارد تا حریم حوزة اطلاعاتیتان هم از هرگونه آسیبی در امان بماند.
در مقالههای گذشته تمرکز اصلی کار ما در بخش امنیت روی مبحث ضدویروسها بوده، اکنون قصد داریم مجموعه جدیدی را با نام «دیواری مستحکم در مقابل تهدیدات» شروع کنیم و فصل جدیدی را در مباحث امنیتی در ماهنامه دنبال کنیم. در این مجموعه هر آنچه که نیاز است در مورد فایروالها بدانید را در بر خواهد گرفت. از پایهایترین بخشها تا حرفهایترین ساختارها. مشخصاً قبل از ورود به قسمتهای حرفهای و تخصصی، نیاز داریم درباره موارد پایهای شبکه و فایروالها بیشتر بدانیم. سپس گام به گام با پیشرفتهتر کردن موضوعات وارد حوزة امنیتی شبکهای خواهیم شد. پس اگر به علوم امنیت کامپیوتری علاقهمند هستید ( با هر سطح دانش کامپیوتری ) توصیه میکنیم با ما این مجموعه را دنبال کنید.
فایروال چیست؟
فایروال یک دوست یا یک مزاحم؟ کلیاتی از پروتکل TCP/IP پکت چیست؟ فایروال چکاری انجام میدهد؟ ابزارهای فایروال دار! • فایروالهای نرمافزاری
فایروال در حقیقت یک قطعه سختافزاری و یا یک نرمافزار است که نقش نظارت و یا بازدارندگی ترافیک انتقال دادهها را در شبکهها بعهده دارد. اگر بخواهید بدانید چرا نام فایروال را برای این دستگاه یا سیستم کامپیوتری انتخاب کردهاند باید کمی از صنعت ایمنسازی ساختمآنها برایتان بگوییم! اصولاً در طراحی ساختمآنهای چوبی، دیوارهای از جنسی غیر قابل اشتعال و مقاوم در برابر حرارت تعبیه میشود که وظیفهآن کنترل حریق در هنگام آتشسوزی است. این دیوارهها در حقیقت ساختمان را به چند بخش مجزا تقسیم میکنند. اگر روزی بخشی از ساختمان دچار حریق شود فایروال مانعی برای ادامه یافتن و پخش شدن آن به دیگر بخشهای ساختمان خواهد شد. در حقیقت این خاصیت همان نقشی است که فایروالهای کامپیوتری برای شبکهها ایفا میکنند. به این ترتیب که اگر در سمتی از یک شبکه بیرونی ( مانند اینترنت ) تهدید و خطری وجود داشته باشد، جلوی نفوذ آن به سمت دیگر یعنی شبکة درونی ( که میتواند شبکه محلی یک سازمان باشد ) را خواهد گرفت. البته فایروالهای ساختمانی فقط مانع ورود و نفوذ آتش به سمت دیگر میشوند، حال آنکه فایروالهای کامپیوتری نقش پیچیدهتری در مقابل تهدیدات گوناگون بعهده دارند. تهدیداتی مانند جملات DoS، هکرها، SQL Injection و ....
متاسفانه اغلب کاربران فایروالها را بیشتر یک مزاحم میدانند تا یک دوست. آنها انتظار دارند در شبکه کامپیوترها یکدیگر را به راحتی پینگ کنند، پرینترها را به اشتراک بگذارند و از اینترنت بیدردسر بهرهبرند و ... حال آنکه فایروال میتواند تمامی رویاهای آنها را برباد دهد! اما حقیقت این نیست زیرا فایروال بیشتر از آنکه یک مزاحم باشد میتواند مدافعی خوب برای هر شبکهای باشد. نیازی نیست آن را غیرفعال کنید، لزومی ندارد از آن فرار کنید، بهتر است با آن آشنا شوید تنظیماتش را فرا گیرید و با طی چندین گام ساده از یک مزاحم دردسر ساز یک دوست قوی برای در امان نگاه داشتن اطلاعاتتان بهره ببرید. اما چگونه؟ مشخص است قبل از هرکاری باید کمی با مقدمات شبکههای کامپیوتری آشنایی داشته باشید و توسط معلوماتی که بدست میآورید سیستم امنیتی برای خود طراحی کنید که هر قسمتی از شبکه و یا حتی کامپیوتر شخصیتان را بگونهای که میخواهید محافظت کند. البته اگر خودتان در زمینة شبکهها معلومات خوب و کافی دارید ممکن است در این چند قمست اول با مطالب تکراری زیادی مواجه شوید. ولی مطمئن باشید پس از بیان این مقدمات، گام به گام آنقدر در این حوزه مطالب جدید و تازه خواهید دید که مطمئناً برایتان جذاب و کاربردی خواهد بود.
همانطور که انسان نیازمند تکلم برای برقراری ارتباط با دیگران است، کامپیوترها هم تحت پروتکلیهای مختلف بین خودشان ارتباط برقرار میکنند. مانند انسانها که زبانهای گوناگونی برای صحبت کردن دارند، کامپیوترها نیز پروتکلیهای گوناگونی مانند TCP/IP، NetBIOS و ... را برای این کار دارند. البته همیشه میان زبانهای گوناگون، یک زبان بعنوان زبانی بینالملی (مانند انگلیسی در زبان کلامی) وجود دارد که بین اقوام مختلف یک پل ارتباطی و فصل مشترک ایجاد میکند. در حقیقت پروتکل TCP/IP نیز همین نقش را در دنیای کامپیوتری ایفا میکند. از اینرو برای مسلط بودن به تنظیمات فایروالها باید با این پروتکل آشنایی کاملی داشته باشید.
در حقیقت TCP/IP مجموعهای از پروتکلهایی است که هرکدام بواسطه قوانینی
( Rules ) تعیین میکند که یک کامپیوتر با اینترنت در ارتباط باشد. به بیان دیگر TCP/IP زبان مشترک کامپیوترها در اینترنت محسوب میشود. بارزترین مسئلهای که میتوان در مورد TCP/IP عنوان کرد، مقید بودن آن به نشانیهاست. به این صورت که هر کامپیوتری که در حوزه آن قرار میگیرد میبایست یک نشانی منحصر به فرد ( به نام IP Address ) داشته باشد. در حقیقت آیپی آدرس نشان میدهد کدام کامپیوتر قرار است پکتی (Packet) را ارسال و کدام یک قرار است دریافت کند.
اطلاعاتی که قرار است در شبکهها رد و بدل شوند به تکههای کوچکی بنام پکت تقسیم خواهد شد. پکتها خود شامل دو قسمت کلی سرایند ( Header ) و دادهها میشوند. فایروالها با بررسی سرآیند هر پکت تصمیم خواهند گرفت که آیا پکت موردنظر اجازه عبور دارد یا خیر. سرآیند هر پکت حاوی اطلاعات مهم و کلیدی است (که توسط این اطلاعات فایروال تصمیم به عبور و یا مسدود کردن آن خواهد کرد). این اطلاعات شامل این میشود که اولاً این پکت از کجا آمده است، ثانیاً قرار است به کدام کامپیوتر برود و یا کدام برنامه در رایانة مقصد قرار است این پکت را دریافت کند. جالب است بدانید بعضی از فایروالها اطلاعات کامل یک پکت یعنی هر دو بخش سرآیند و دادههای آنها را بررسی میکنند.
شکل1
همانطور که قبلاً هم گفتیم فایروال نقش کنترلی بر ترافیک شبکهای دارد. این ترافیک میتواند با توجه به قوانینی که مدیر شبکه ( یا کاربر ) برای شبکه ( یا سیستم شخصیاش ) تعیین کرده، اجازه عبور یافته و یا مسدود شود. بطور کلی تمامی فایروالها، ترافیک ورودی ( Incoming Traffic ) را مورد ارزیابی قرار میدهند. ضمن آنکه فایروالهای حرفهایتر بغیر از اینکار، ترافیک خروجی ( Outgoing Traffic ) را هم پوشش میدهند.
بطور کلی فایروالها روی شبکههایی نصب میشوند که قرار است به اینترنت متصل شود. اما در سازمانهای بزرگ ممکن است چندین شبکهای محلی در نقاط گوناگون وجود داشته باشد. در چنین ساختارهایی با توجه به نیاز و سطح امنیتی مورد نیاز هر شبکه، فایروال با تنظیمات ویژه در نظر گرفته خواهد شد. از اینرو نوع و چیدمان فایروالها بستگی کامل به شرایط هر شبکه خواهد داشت.
اما شاید بخواهید بدانید درباره خصوصیات و امکانات یک فایروال بیشتر بدانید:
• مسدود کردن ورودیها با توجه به منبع و یا مقصد: این خصوصیت پرکاربردترین بخش هر فایروال به حساب میآید.
• مسدود کردن خروجیها با توجه به منبع و یا مقصد: خیلی از فایروالها بغیر از ترافیک ورودی، خروجیهای شبکهها را هم کنترل میکنند. این عمل مزیتهای خاصی بهمراه دارد. بطور مثال سازمانی مایل نیست کارمندانش به سایتها و یا منابع خاصی از اینترت دسترسی داشته باشند. از اینرو میتوانند با فایروال این راه را بر آنها مسدود کنند.
• مسدود کردن ترافیک شبکه با توجه به محتویات ارسال / دریافتی: اغلب فایروالهای پیشرفته، قادرند دادههای داخل تمامی پکتهای ارسالی را هم ارزیابی کنند. در نتیجه با توجه به محتویات درون هر پکت قادر خواهند بود جلوی دریافت و یا ارسال آنها را بگیرند. این خاصیت زمانی بکار خواهد آمد که مثلاً مایل باشید امکان ورود فایلها و یا نامه ( ضمیمهدار ) حاوی ویروس را بگیرید!
• مهیا کردن منابع داخلی: یکی دیگر از کارهایی که فایروالها میتوانند انجام دهند این است که دسترسی به منابع خاصی را در داخل شبکه قابل مهیا و در شبکههای خارجی مسدود کنند. مثلاً کامپیوترهای داخلی شبکه بتوانند به Web Server شرکت دسترسی داشته باشند(و یا دیگر کامپیوترهای شبکه را پینگ کنند) ولی همین امکانات را دیگر کامپیوترهای خارج از شبکه (در اینترنت) نداشته باشند.
• مهیا کردن ارتباط به شبکه داخلی: یکی از امکانات جالب و کاربردی برای دسترسی از راه دور به شبکهها VPN (شبکه خصوصی مجازی) است. بواسطه آن امکان یک شرکت میتواند هر تعداد شعبه و یا حتی کارمندان خود را در سراسر دنیا، از طریق اینترنت به شبکه اصلی متصل کند. بطوریکه این اتصال بشکل فیزیکی برقرار شده است. با وجود کاربردی بودن این امکان، خطرات نهفتهای هم مطمئناً در این میان وجود خواهد داشت. برای جلوگیری از اینخطرها فایروالها میتوانند با اعمال تنظیماتی خاص، چنین اتصالاتی را امن و بیخطر سازند.
• گزارشگیری از فعالیتهای فایروال و ترافیک شبکهای: یکی دیگر از خاصیتهای مهم فایروالها، امکان گزارشگیری دقیق از تمامی وقایع امنیتی در شبکه خواهد بود. توسط این گزارشها مدیران شبکه مطلع خواهند شد که بطور مثال آیا حمله به سرورها صورت گرفته است یا خیر، دسترسی کدام نرمافزار بطور خودکار بسته شده و ....
کدام فایروال مناسب شما خواهد بود؟
اگر دقت کرده باشید اغلب فروشندگان پوشاک سعی میکنند به هر طریق شما را متقاعد سازند که لباس کاملاً مناسب شماست، حال آنکه شاید همان لباس را به دیگر مشتریانش که هیچ وجه مشترکی ( چه از نظر سنی، ظاهری و ... ) با شما نداشته باشند هم پیشنهاد دهد. اما یک خریدار و متقاضی هوشمند میداند هر کالایی باید باتوجه به نیاز و پارامترهای خاصی تهیه شود. اصولاً انتخاب فایروال هم از این قاعده مستثنی نیست و باید بدانید نیاز سیستم و یا شبکهای که با آن کار میکنید چیست و با توجه به آن، فایروالی را برگزینید. بطور کلی فایروالها را میتوان به چند بخش و مد کلی تقسیم کرد:
• فایروالهای شخصی: همانطور که از نام آن پیداست این مدل از فایروالها برای محافظت از یک یا تعداد بسیار محدودی از کامپیوترها ( SOHO ) در نظر گرفته میشوند. اغلب این فایروالها گزارشگیری قوی نداشته و امکانات مدیریتی ( برای تنظیمات پیشرفته ) را در اختیار کاربران نمیگذارند.
• فایروال برای سازمانهای کوچک: این فایروالها قابلیت نصب و تنظیم روی شبکههایی که دهها سیستم دارند ( SMB ) را در اختیارتان قرار میدهد. سیستم گزارشگیری در این نوع فایروالها بهتر از حالت قبلی است. ولی مطمئناً کامل و فراگیر نخواهد بود.
• فایروالهای سازمانی: این نوع فایروالها اصولا برای شبکههایی که صدها ( و یا هزاران ) کلاینت دارند ( Enterprise ) در نظر گرفته میشود. این تعداد میتوانند خواه در یک مکان و بصورت یک شبکة محلی تعریف شوند و خواه در مکانهای گوناگون قرار داشته باشند. از اینرو چنین فایروالهایی ممکن است بصورت چندگانه با سطوح امنیتی گوناگون تعریف و نصب شوند و یا در یک مکان و فقط میان شبکة اصلی با اینترنت قرار گیرند. این نوع فایروالها مجموعة کاملی از گزارشات ترافیکی شبکهها را به اشکال گوناگون میتوانند تهیه کرده و نمایش دهند. ضمن آنکه امکان مدیریت متمرکز آنها ( در صورت استفاده از چندین فایروال در یک مجموعه ) و تعریف کردن سیاستهای کلی امنیتی (Security Policy ) نیز مشخصات بارز چنین فایروالهایی خواهد بود.
شاید تا بحال نام ابزارهایی را شنیده باشید که ادعا میکنند بغیر از کار تخصصیشان کابردی امنیتی ( فایروال ) را هم ارایه میدهند. در ادامه با بعضی از این ابزارها آشنا خواهید شد. البته به اعتقاد اغلب کارشناسان این نوع فایروالها در اکثر موارد قدرت لازم و امکانات کافی را در اختیار کاربرنشان قرار نمیدهند. از اینرو بهتر است برای امنیت بالای شبکهها فایروالهای تخصصی مورد استفاده قرار گیرند.
• مسیریابها شبکه
یکی از پایهایترین ابزارهای شبکهای مسیریابها هستند. بطور حتم در طراحی شبکهها، مسیریابها جایگاه خاصی خواهند داشت. در حقیقت نقش مسیریابها انتقال پکت از یک شبکه به شبکة دیگر است. مشخصاً اگر قرار باشد یک پکت از یک کامپیوتر به کامپیوتر دیگری از طریق اینترنت برسد، میبایست صدها روتر در این جابجایی نقش داشته باشند. از اینرو با توجه به اهمیت بالایی که این ابزار در هر شبکهای دارد، بعضی از سازندگان اقدام به اضافه کردن یک فایروال داخلی به مسیریابهایشان کردهاند.
• ابزارهای چندکاره
شاید سادهترین مثالی که در این مورد میتوان مطرح کرد مودمهای ADSLای باشند که بغیر از وظیفه اصلیشان (یعنی برقرار کردنِ اتصال اینترنتی)، میتوانند نقشهای دیگری مانند هاب، مسیریاب و ... را هم در شبکه بعهده گیرند. بطور کلی اینابزارها از طریق یک آیپی آدرس منحصربفرد ( در شبکه داخلی ) امکان اتصال به Interface داخلیشان را فراهم میسازند. در صورت ورود به این قسمت حتماً با نام فایروال برخورد خواهید کرد. فایروالهای تعریف شده در این محصولات معمولاً میتوانید برخی از امکانات را برای کاربرانشان فراهم سازند. مشخص است که اغلب این فایروالها، قادر نخواهند کاربردیهای کلیدی و مهمی مانند کنترل ترافیک خروجی و یا گزارشگیری قوی را ارایه دهند.
شکل2
فایروالهای نرمافزاری به دو قسمت اصلی قابل تقسیم خواهتد بود. ابتدا فایروالهایی که بطور مثال همراه با ضدویروسها ارایه میشوند و فقط برای محافظت از یک سیستم در مقابل تهدیدات اینترنتی در نظر گرفته میشوند و دوم فایروالهایی که روی یک سرور در شبکه نصب میشوند و سیستم موردنظر را بطور درگیر فعالیتهای خود خواهند کرد. مطمئناً نوع اول فقط برای کاربرهای خانگی و در نهایت برای شرکتهای کوچک مناسب خواهد بود و نوع دوم هم برای سازمانها و شبکههای بزرگ.