در مقاله گذشته محبث جدیدی را با عنوان فایروال شروع کردیم، در آنجا مقدماتی را در مورد فایروالها و مفاهیم پایهای مطرح کرده و به چند سئوال اساسی مانند «چرا باید سیستم را به فایروال مجهز کرد؟» و ... نیز جواب دادیم. اکنون برای درک بهتر و عمیقتر در مورد فایروالها بدنیست کمی دیدگاه فنیتری به این موضوع پیدا کنیم. از اینرو سوالی مفهومی را مطرح خواهیم کرد و با بیان پاسخ آن موضوعات پایهای و فنیای که هر کاربر اینترنتی باید بداند، مقاله را ادامه خواهیم داد. آیا میتوان فایروال را با تنظیمات پیشفرض به حال خود رها کرد؟ آیا تنظیمات پیشفرض فایروالها بلاستفاده هستند؟
اساساً جواب این پرسش منفی خواهد بود، فایروال برعکس ضدویروس نیاز به مدیریت دقیق و آگاهانه دارد. شاید بتوان با نصب و آپدیت کردن یک ضدویروس، بدون نیاز به هیچگونه تغییر سیستمی، کامپیوتری عاری از ویروس داشته باشیم. ولی در مورد فایروال داستان بطور کل متفاوت است. اصولاً فایروال در معنی واقعی کلمه، مانند یک نگهبان است که در دروازه ورودی سیستم شما ایستاده است. این نگهبان باید یکسری دستورالعمل از پیش تعیین شده داشته باشد. دستوراتی مانند، چه کسانی حق ورود دارند، جلوی عبور چه کسانی را میبایست گرفت، کدام شخص حق ورود به چه بخشی را دارد، آیا این گروه از افراد میتوانند بدون داشتن مجوز عبور، وارد شوند و ... این دقیقاً همان تعاریفی است که نگهبان دروازه وردوی شبکه (یا کامپیوتر) به آن نیاز دارد. حال آن که ضدویروس از قبل تعاریف تعیین شده ( و البته جامع و کامل) را دارد یعنی همان گرفتن ویروسها، تشخیص عملکردهای بدافزاری و ... تمامی این دستورالعملها بطور پیشفرض توسط شرکت سازنده ضدویروس از قبل تهیه و تنظیم شده است.
شاید در جواب این پرسش بتوان، هم آری و هم خیر گفت! اصولاً فایروالها بطور پیشفرض قوانینی ( Rules ) دارند که کمک میکند از ورود حملات و نفوذ هکرها و ... جلوگیری شود. ولی این قوانین چون کاملاً از پیش تعیین شده است مطمئناً با نیاز اغلب کاربران سازگار نیست. از اینرو ممکن است انواع دسترسیها و منابع مجاز کابران هم قربانی قوانین سفت و سخت فایروال شوند. بطور مثال کاربر دیگر نتواند فایلی را با دیگران به اشتراک گذارد و یا از پرینتر تعریف شده در شبکه بهره برد و ... راهکارهای دیگر مفاهیم اولیه شبکههای کامپیوتری برقراری ارتباط دیپلماتیک! لایههای شبکه لایهها در شبکههای کامپیوتری وظیفه انتقال اطلاعات و دادهها را دارند که نحوه ارسال دادهها بین لایهها در مبداء (کامپیوتر فرستنده) از بالا به پایین و در مقصد (گیرنده) از پایین به بالا است. این دادهها میتواند هر چیز باشند، پکتی حامل قطعاتی از کد یک ایمیل، فایل و حتی ویروس! پس جدای از نوع دادههایی که قرار است منتقل شوند، لایههای شبکه وظیفه مشخص و خاص خود در چیدمان دادهها و ارسالشان از سیستم مبداء به مقصد را دارند. اصولاً دو مدل معروف در معرفی لایههای شبکهای وجود دارد که یکی از آنها مدل OSI (هفت لایهای) و دیگری مدل TCP/IP (چهار لایهای) است. ما در این مقاله مدل TCP/IP را بررسی خواهیم کرد(شکل1). لایه واسط شبکه ( Network Interface ): لایه اینترنت ( Internet Layer ): لایه انتقال ( Transport Layer ): لایه کاربرد ( Application Layer ): طرح یک مثال کامپیوتری از نحوه عملکرد لایهها در مقاله آینده ...
اگر اینگونه موارد تاثیری در عملکرد سیستم شما نداشته باشد، پس پاسخ شما آری خواهد بود! ولی اگر فایروال مانند یک مزاحم و محدود کننده عمل میکند، جواب خیر است و زمان آن رسیده که فایروال سیستم را رام کنید!
همانطور که گفتیم تنظیمات پیشفرض میبایست بنا به نیاز کاربران تغییر یابند و فایروال بجای یک مزاحم باید نقش یک نگهبان قوی را برای سیستم بازی کند. خوشبختانه به تازگی بعضی از فایروالهای نرمافزاری با قرار دادن حالت خودآموزی
( Learning Mode ) کمی شرایط را برای کاربران مبتدی راحتتر کردهاند. در این حالت ابتدا فایروال از دو فهرست سیاه ( Black List ) و سفید ( White List ) خود (که بطور مداوم آپدیت میشود) بهره میبرد تا تعاریف موردنیاز خصوصاً در مورد اتصال نرمافزارها به منابع داخلی و خارجی شبکه ( External / Internal Network ) که به بیان دیگر میتوان آنها را، شبکه محلی و اینترنت نامید، را تنظیم نماید. اما مشخص است با توجه به وجود خطاهای احتمالی بازهم وجود کاربری مسلط برای اصلاح حالت خود آموز، الزامی بنظر میرسد.
از اینرو اگر تصمیم در بهرهگیری واقعی از فایروال را دارید، باید با کلیات ماجرا آشنا باشید و با بهره گیری از تکنولوژیهایی که فایروال در اختیارتان قرار میدهد، راهکار امنیتی خود ( اعم از فایروالهای سختافزاری و نرمافزاری ) را به بهترین شکل پیاده سازی کنید. در ادامه این مقاله ابتدا مختصری در مورد کلیات مبحث شبکه صحبت خواهیم کرد و با بررسی این موضوعات کار را برای معرفی مفاهیم امنیتی در شبکه هموار و سادهتر خواهیم نمود.
اصولاً سیستمهای کامپیوتری برای برقراری ارتباط میان خود نیازمند زبانی مشترک برای صحبت کردن هستند. این زبان مشترک میتواند در مقیاس یک شبکه کوچک خلاصه شود و یا در بزرگترین مقیاس شبکهای در دنیا (که همان اینترنت است) بکار گمارده شود. مشخصاً در شبکهها کوچک و محلی میتوان از راههای گوناگون و زبانهای (بعبارت دیگر پروتکلها) مختلف استفاده کرد. پروتکلهایی مانند IPX/SPX و یا AppleTalk، اما واضح است چنین پروتکلهایی معمولاً برای سیستمهای خاصی مانند شبکههای مبتنی بر سیستمعامل ناول و یا اَپل مورد استفاده قرار میگیرند و بعضی نیز منسوخ شدهاند. ولی در مورد اینترنت باید تابع یک پروتکل مشخص و واحد بود. این پروتکل همان TCP/IP است.
در حقیقت TCP/IP مجموعهای از پروتکلها و قوانین است. این مجموعه قوانین و دستورالعملها میبایست کنار یکدیگر امکان برقراری ارتباط میان کامپیوترهای گوناگون در سرار دنیا را فراهم سازند.
لازم به ذکر است که پروتکل TCP/IP توسط کمیتهای به نام
(ICCB (Internet Control and Configuration Board که خود دارای دو زیر گروه به نامهای(IETF (Internet Engineering Task Force و
(TRTF (Internet Research Task Force است توسعه داده شده است. زیر گروه IETFمسئول موارد فنی و مشکلات استانداردها و تکنولوژیهای بکار گرفته شده در اینترنت را بررسی و حل میکند و IRTF مشغول بهبود و ارتقاء اینترنت است.
برای درک بهتر مسئله یک مثال ساده از دنیای ارتباطات انسانی بیان میکنیم. فرض کنید دو رئیس جمهور یکی در آفریقا و یکی در آسیا قصد دارند بایکدیگر در مورد یک موضوع مهم صحبت کنند. مطمئناً قبل از شروع، مشاورین هر دو طرف راههای گوناگون این کار را بررسی خواهند کرد و با چیدمان و ترتیب دادن موارد لازمه، اقدامات اولیه را فراهم میسازند. برای شروع این ارتباط چندین راهحل وجود دارد، بطور مثال صحبت از طریق تلفن، دعوت از طرف مقابل برای دیدار از کشور و ... پس از این کار میبایست مترجمینی برای ترجمه دیالوگهای طرفین تعیین شوند. سپس چگونگی شروع بحث و در نهایت بیان مطلب مورد نظر صورت خواهد پذیرفت. اکنون فرض کنید همین شکل و شمایل در برقراری ارتباط میان کامپیوترها هم صادق باشد. به این ترتیب که دو سیستم مبداء و مقصد باید شرایط را فراهم سازند که امکان برقراری ارتباط میسر شود. این مراحل در گامهای (بعبارت دیگر لایههای) گوناگون فراهم خواهد شد. برای آشنایی بیشتر با مفاهیم لایهها در برقراری ارتباط شبکهای، این موضوع را بطور خلاصه و کلی بررسی خواهیم کرد.
شکل1 : مقایسه دو مدل OSI و TCP/IP
این لایه که با نامهایی مانند لایه دسترسی شبکه یا لینک یا فیزیکال، هم شناخته میشود وظیفه انتقال داده در تجهیزات سختافزار ( از خروجی کارت شبکه تا مسیر کابلها تا ورودی بعدی ) را بعهده دارد، در حقیقیت این لایه دادههای لایه بالاتر (یعنی لایه اینترنت) را ابتدا به فریم (Frame) تبدیل کرده و سپس فریمها را به ولتاژ تبدیل تا از طریق مسیر فیزیکی به مقصد ارسال نماید. در حقیقت در پس پرده این تبدیل و جابجایی، میتواند مطالب و نکات زیادی وجود داشته باشد که با توجه به ماهیت این مقاله بررسی آنها امکان پذیر نخواهد بود.
اما ذکر این نکته میتواند به درک ما از ارتباط بین بیان مفاهیم مقدماتی شبکه و موضوع بحث یعنی فایروال کمک کند که : فرستنده و گیرنده در این لایه از طریق آدرسی به نام MAC Address باهم در ارتباط خواهند بود و خروجی این لایه نیز فریم نام دارد.
این لایه داده را از لایه بالاتر (یعنی انتقال) گرفته و بستهای به نام پکت (Packet) را ایجاد و به لایه یک تحویل میدهد.
در این لایه با توجه به نشانی مشخص و واحد سیستمها ( که در باره آن بیشتر خواهیم گفت ) وظیفه آدرسدهی و مسیردهی به پکتها انجام خواهد شد. به عبارت دیگر این لایه با مکانیزم IP Addressing (آدرسدهی توسط آیپی آدرس) امکان میدهد کامپیوترها در هر شبکهای که وجود داشته باشد باهر کامیپوتر دیگری در دنیا ارتباط برقرار کند.
این لایه مسئولیت کسب اطمینان از صحت دریافت دادهها را بعهده دارد. یکی از توابع کاری در این لایه بررسی این نکته است که آیا تمامی پکتها موردنظر در یک ارسال (که میتواند مجموع پکتها تشکیل دهنده یک فایل باشند) به درستی به مقصد رسیدهاند یا خیر؟ در صورت منفی بودن این پرسش، به فرستنده پیغامی مبنی بر عدم دریافت صحیح مخابره میشود و تقاضای ارسال مجدد مطرح خواهد شد. در این لایه مبداء و مقصد از طریق آدرسدهی پورت (Port Addressing) ارتباط خواهند داشت.
این لایه همانطور که از نام آن پیداست وظیفه ارتباط با نرمافزار فرستنده و گیرنده را بعهده دارد. بطور مثال ارسال یک آدرس نشانی توسط مرورگر اینرنتی (نرمافزار فرستنده) به وب سرور (نرمافزار گیرنده) پروسهای است که توسط این لایه طرح ریزی خواهد شد. به این نوع آدرسدهی(FQDN (Fully Qualify Domain Name گفته میشود.
اکنون برای بهتر جا افتادن لایههای مطرح شده مثالی کامپیوتری از پروسهای ارسال یک نامه را بیان خواهیم کرد. زمانی که قصد ارسال ایمیلی را دارید (بطور مثال توسط آوتلوک) از زمانی که دکمه Sendرا میزنید، پروتکلی که وظیفه ارسال را دارد
(SMTP) تعیین میکند که نامه مورد نظر باید چه بافتی گرفته و چه دستوراتی توسط سرور گیرنده قابل فهم هستند (این بخش توسط لایه نرمافزاری صورت میپذیرد). قبل از ارسال نامه لایه ترانسپورت نامه مورد نظر را به قطعات کوچکی تقسیم میکند (این قطعات سگمنت نام دارند). تک تک این پکتها با توجه به نشانی که در لایه اینترنت به آن داده میشود، آماده به حرکت در شبکه خواهند شد. در لایه شبکه پکتها به واحد دیگری به نامی دیتاگرام (datagrams) تبدیل شده و سپس به لایه واسط شبکه تحویل داده میشود. اطلاعات رسیده ابتدا تبدیل به فریم شده و پس از تبدیل به ولتاژهای الکتریکی در مسیری فیزیکی (کابلها) شروع به حرکت میکنند. در سمت مقابل (گیرنده ایمیل) تمام مراحل بشکل دیگر انجام میشود، ابتدا دیتاگرامها به پکت تبدیل میشوند، نشانی و صحت دریافت دادهها بررسی میشود، نامه اصلی گرفته میشود و توسط پروتکل POP3 نامه برای گیرنده قابل رویت خواهد بود.
اما شاید از خود بپرسید این اطلاعات چه ربطی به فایروالها دارد، جواب واضح است، در حقیقت فایروالهای متداول، با توجه به همین ساختار لایهای با نظارت بر پکتهای ارسال و یا دریافت شده و بررسی اینکه آدرس و نشانی گیرنده (یا فرستنده) چه کسی است و ... کار کنترل و فیلترینگ را بعهده خواهند داشت. از اینرو دانستن این مطالب در درک بهتر تنظیمات فایروال کمک بسیار زیادی خواهد کرد.
باید توجه داشته باشید که مفاهیم برقراری ارتباطهای و لایههای شبکهای بسیار گسترده بوده و مطالب بیان شده فقط برای ایجاد یک دیدگاه اولیه مطرح شده است. در مقالههای آینده قصد شروع کار با فایروالها در عمل را خواهیم داشت البته قبل از آن نکات دیگری پایهای مانند نحوه نشانیدهی در شبکهها، شرح آناتومی IP Address و ... را هم بررسی خواهیم کرد.