در مطلب آموزشی نواندیشان، مقدمهای بر امنیت شبکه ترجمه مقاله Introduction to Network Security نوشته مت کورتین (Matt Curtin) آورده شده است.
چکیده مقدمهای بر امنیت شبکه
امنیت شبکه یک موضوع پیچیده است که از نظر تاریخی فقط توسط افراد با تجربه و آنهایی که آموزش کافی دیده اند مورد توجه قرار میگیرد. با اینحال، همچنان که افراد بیشتری به شبکه متصل میشوند، تعداد افرادی که بایستی اصول امنیت را در دنیای شبکه شده بدانند، نیز افزایش مییابد. این مقاله بر اساس کاربری کامپیوتر و مدیریت سیستمهای اطلاعاتی نوشته شده است و مفاهیم مورد نیاز برای آشنا شدن با بازار و خطرات و نحوه مواجه شدن با آنها را توضیح میدهد.
مدیریت ریسک: بازی امنیتی
این بسیار مهم است دانسته شود که در بحث امنیت، یک فرد به آسانی نمیتواند بگوید که ” بهترین فایروال کدام است؟” در این رابطه دو مطلب وجود دارد : امنیت مطلق و دسترسی مطلق.
بهترین راه برای بدست آوردن یک امنیت مطلق برای ماشین این است که آن را از شبکه و برق جدا کرده و درون یک جای امن قرار داده و به کف اقیانوس بفرستیم. متاسفانه، در این حالت از ماشین نمیتوان استفاده کرد. یک ماشین با دسترسی مطلق برای استفاده بسیار راحت است: این ماشین به آسانی در جایی قرار میگیرد، و بدون هیچ پرسشی، تاییدی، کدرمزی یا هر مکانیسم دیگری، میتوانید هر چه را که میخواهید از او بخواهید. متاسفانه، این حالت امکان پذیر نیست و در صورتی که یک آدم احمق و کله خراب به کامپیوتر فرمان کاری همانند خراب کردن خوش را بدهد، مدت طولانی این سیستم پایدار نمیماند.
این وضعیت با زندگی روزمره ما فرقی ندارد. ما مرتباً تصمیماتی را در مورد اینکه چه ریسکی را قبول کنیم، اتخاذ میکنیم. وقتی که ما درون خودرو نشسته و به محل کار میرویم، برخی مخاطرات وجود دارند که می توانند اتفاق بیفتند، این احتمال وجود دارد برخی چیزها به طور کامل از کنترل خارج شده و باعث شود که ما در بخشی از تصادفی که در بزرگراه اتفاق افتاده قرار بگیریم. زمانیکه ما وارد یک هواپیما میشویم مقداری خطر را به قیمت آسایش و راحتی، پذیرفتهایم.
هر سازمانی نیاز دارد تا برای خودش تصمیم بگیرد که بین امنیت کامل و دسترسی کامل برای خود موقعیتی را در نظر بگیرد. یک خط مشی برای بکارگیری مطالب لازم است و آنگاه مشخص شود که چگونه دستورات را اجرا کرد. هر چیزی که به نام امنیت انجام گیرد بایستی در چارچوب این قانون باشد.
انواع و منابع تهدیدهای شبکه
در حال حاضر ما آنقدر اطلاعات در زمینه شبکهگذاری داریم که میتوانیم وارد جنبههای امنیتی آن شویم. اول از همه ما وارد انواع تهدیدهایی که شبکه با آنها مواجه است میشویم و آنگاه برخی از کارهایی که میتوان برای حفاظت از خود در مقابل آنها انجام دهیم ،توضیح میدهیم.
Denial-of-Service
احتمالاً حملات DoS خطرناکترین تهدیدها است که برای توضیح دادن هم مشکل هستند. آنها بدین دلیل خطرناکترین هستند که به آسانی میتوانند اجرا شوند، به سختی رهگیری میشوند (برخی مواقع غیرممکن است)، و سرپیچی از درخواست حملهکننده آسان نیست حتی اگر این درخواست غیر قانونی باشد.
منطق یک حمله DoS ساده است. درخواستهای زیادی به ماشین ارسال میشود که از اداره ماشین خارج است. ابزارهای در دسترسی در محافل زیر زمینی وجود دارد که این کار را به صورت یک برنامه در میآورند و به آن میگویند در چه میزبانی درخواستها را منتشر کنند. برنامه حملهکننده به راحتی با برخی از پورتهای خدماتی ارتباط برقرار میکند ،شاید اطلاعات عنوان پاکت را که میگوید بسته از کجا آمده را جعل می کند و آنگاه ارتباط را قطع میکند. اگر میزبان قادر باشد که در هر ثانیه به 20 درخواست پاسخ دهد، و حملهکننده در هر ثانیه 50 درخواست را ارسال کند، مشخص است که میزبان قادر به پاسخگویی به تمامی در خواستهای حمله کننده، که کم و بیش غیر قانونی هستند، نیست. چنین حملاتی در اواخر 1996 و اوایل 1997 به شدت فراگیر شده بود ولی حالا چندان عمومیت ندارد.
برخی کارهایی که میتوان برای کاهش خطر مواجه شدن با یک حمله DoS (رد درخواست) انجام داد عبارتند از:
- عدم اجرای خدمات قابل مشاهده به صورت جهانی در نزدیکی ظرفیت اجرایی
- استفاده از فیلترینگ بسته برای جلوگیری از بستههای جعل شده در ورودی به فضای آدرس شبکه شما.
- موارد مربوط به امنیت سیستمهای عامل میزبان خود را به روز کنید.
دسترسی غیر مجاز
دسترسی غیر مجاز یک واژه سطح بالا است که میتواند به انواع مختلف حملات مرتبط باشد. هدف از این نوع حملات دسترسی به برخی منابع است که ماشین شما نبایستی آن را در اختیار حملهکنندگان قرار دهد. برای مثال، یک هاست میتواند یک وب سرور باشد و بایستی صفحه وب را برای هر کسی که در خواست میکند در اختیار قرار دهد. با این حال این هاست نباید دسترسی به لایه فرمان را بدون اینکه مطمئن شود که فرد درخواستکننده مجاز به این کار است، مثل یک مدیر محلی، فراهم آورد.
اجرای فرامین غیر قانونی
مشخص است که یک فرد ناشناس و غیر مطمئن نبایستی بتواند فرامین را روی ماشینهای سرور شما اجرا کند. دو طبقهبندی عمده امنیتی برای این مشکل وجود دارد:
- دسترسی کاربر معمولی
- دسترسی مدیریت
یک کاربر معمولی میتواند تعدادی از موارد سیستم را اجرا نماید (همانند خواندن فایلها، ارسال ایمیل به سایر افراد و غیره) که افراد مهاجم قادر به اجرای آنها نیستند . این حالت ممکن است تمام آن چیزی باشد که یک مهاجم به آن نیاز دارد. بعبارت دیگر، یک مهاجم ممکن است بخواهد تغییرات پیکربندی را برای یک هاست اجرا نماید (شاید تغییر در آدرس IP، قرار دادن یک فرمان راه اندازی در جایی که باعث میشود هر زمان که ماشین استارت شد، shut down شود یا موارد مشابه). در چنین حالتی، مهاجم نیاز دارد که امتیاز مدیریتی را بر روی هاست بدست آورد.
شکافهای محرمانه
لازم است که ما مدل تهدید را توضیح دهیم: شما سعی کتید که در برابر چه چیزی از خودتان محافظت کنید؟ برخی اطلاعات خاص وجود دارند که اگر در دست رقیب، یک دشمن یا عموم، بیفتد باعث آسیب جدی میشوند. در چنین حالتهایی، این امکان وجود دارد که توافق مربوط به حساب یک کاربر معمولی روی ماشین برای آسیب رساندن کافی باشد (شاید به شکل PR، یا بدست آوردن اطلاعاتی که میتوانند بر علیه شرکت مورد استفاده قرار گیرند و غیره ).
هرچند بسیاری از مرتکبان چنین نفوذهایی بندرت افرادی هستند که از روی کنجکاوی و فقط برای مشاهده یک لایه اعلان در روی کامپیوتر شما وروی صفحه نمایش خودشان این کار را انجام میدهند، ولی افراد بد نیتی هم هستند که ما آنها در ادامه مورد بررسی قرار میدهیم. (بعلاوه، بخاطر داشته باشید که این احتمال وجود دارد که فردی فقط برای کنجکاوی نفوذ کرده است میتواند ترغیب شئد که کار بیشتری انجام دهد: شاید یک رقیب سرسخت مایل باشد که چنین شخصی را برای ضربه زدن به شما استخدام کند.)
رفتار مخرب
در بین انواع مخرب نفوذ و حمله، دو گروه عمده وجود دارد:
Data Diddling
data diddler احتمالاً بدترین نوع است، زیرا واقعیت یک نفوذ امکان ندارد که بلافاصله مشاهده شود. شاید او با تعدادی از صفحات گسترده شما در حال بازی است یا اطلاعات را در پروژهها و طرحهای شما دستکاری میکند. شاید او شماره حسابها را برای سپردهگذاری خودکار برخی پرداختهای چکی خاص را تغییر میدهد. در هر حالت، بندرت پیش میآید که شما یک روز به سر کار بیایید و به آسانی ببینید که برخی چیزها تغییر کرده است. برای پیدا کردن اختلاف در دفاتر بوسیله روشهای حسابداری سه تا چهار ماه زمان نیاز است. سعی کنید که مشکل را در جاهایی که مشکل هستند تعقیب کنید، و زمانی که مشکل پیدا شد، چگونه میتوان فهمید که کدامیک از شما در آن زمان همدست بوده است؟ قبل از اینکه بفهمید اطلاعات شما ایمن هستند تا کجا باید پیش بروید؟
تخریب اطلاعات
برخی از مهاجمان به آسانی با افرادی همکاری میکنند که دوست دارند همه چیز را از بین ببرند. در چنین حالتی، تاثیر روی توان محاسباتی شما و در نتیجه شرکت شما، میتواند چیزی کمتر از یک حریق یا بلایای دیگری باشد که باعث میشود تجهیزات محاسباتی شما بطور کامل تخریب شوند.
آنها از کجا می آیند؟
چگونه یک مهاجم دسترسی به تجهیزات شما را بدست می آورد ؟ از طریق هر ارتباطی که شما با دنیای بیرون دارید. این شامل اتصالات اینترنتی، مودمهای شمارهگیر و حتی دسترسی فیزیکی میباشد. (چقدر اطلاع دارید که یکی از افراد موقتی که شما برای کمک به وارد کردن اطلاعات بکار گرفته اید یک نفوذگر سیستم که بدنبال کد رمزها، شماره تلفنها، موارد حساس و هر چیزی که از طریق آنها میتوانند به تجهیزات شما دسترسی پیدا کنند ، نمیباشد؟)
به منظور حفظ توانایی در ایجاد امنیت مناسب، تمامی احتمالات بایستی شناسایی و ارزیابی شوند. امنیت آن نقطه ورود بایستی بر اساس سیاست شما در مورد میزان ریسک قابل قبول بایستی تامین شود.
درسهای یاد گرفته شده
با بررسی انواع حملاتی که متداول هستند، میتوانیم فهرستی کوتاه از روشهای سطح بالا را که میتوانند در جلوگیری از بلاهای امنیتی و کنترل آسیب در مواقعی که معیارهای پیشگیرانه در جلوگیری از یک حمله ناموفق هستند، به ما کمک کنند را تهیه کنیم.
امیدواریم که شما بک آپ داشته باشید
از دیدگاه امنیتی این فقط یک ایده خوب نیست. مقررات عملیاتی، سیاست بک آپ را توصیه میکنند و این بایستی همراه با برنامه کشف آسیب باشد، انگار که یک هواپیما نصف شب روی ساختمان شما سقوط کند، شما بایستی بتوانید شرکتتان را به جای دیگری منتقل کنید. مشابهاً این موارد میتواند در بازیابی اطلاعات شما در صورت بروز مشکل الکترونیکی، ایراد سختافزاری یا یک نفوذ که اطلاعات شما را تغییر یا آسیب میرساند، کمک میکند.
اطلاعات را در جایی که لازم نیستند قرار ندهید
البته این نیازی به گفتن ندارد که این حالت برای هر قومی پیش میآید. بنابراین، اطلاعاتی که نیازی به دسترسی از بیرون به آنها وجود ندارد، برخی اوقات در دسترس هستند و این امر میتواند وضعیت نفوذ را بنحو چشمگیری افزایش دهد.
دوری از سیستمهایی با نقاط ضعف مشترک
هر سیستم امنیتی که بتواند بوسیله هر قسمت آن شکسته شود، در واقع خیلی قوی نیست. از نظر امنیتی، مقداری تکثیر (redundancy) خوب است و میتواند به شما در محافظت شرکتتان از یک حمله امنیتی ضعیف قبل از اینکه به فاجعه تبدیل شود کمک کند.
سیستم عاملهای به روز و مرتبط را داشته باشید
مطمئن باشید که فردی که میداند شما چه چیزی دارید بدنبال آن است که توصیههای امنیتی را به شما بفروشد. استفاده از میکروفونهای قدیمی متداولترین (و موثرترین!) راه برای نفوذ به سیستمها هستند.
بدنبال متخصصان امنیتی مرتبط باشید
علاوه بر مراقب مطالبی که توصیهکنندگان می کنند هستید، مراقب گروههایی همانند CERT و CIAC باشید. مطمئن شوید که حداقل یک نفر (ترجیحاً بیشتر) عضو این لیستهای پستی هستند.
تعدادی از کارمندان را با توصیههای امنیتی آشنا کنید.
داشتن حداقل یک نفر را که مسئول حفظ توسعه امنیت است، ایده خوبی است. این فرد یک نابغه فنی نیست، اما میتواند فردی باشد که به آسانی میتواند مقالات توصیهکنندگان را خوانده و مراقب انواع مشکلات ایجاد شده باشد. چنین شخصی باید بتواند بطور معقول با موارد مرتبط با امنیت برخورد داشته و مشکلات ناشناخته نرمافزار وب سرور و غیره را بشناسد. این شخص همچنین باید و نبایدهای امنیتی را با خواندن هندبوک امنیتی سایت بداند.
فایروالها
با توضیحاتی که ما در مورد اینترنت و شبکههای مشابه داده ایم، اتصال شرکتی به اینترنت باعث ایجاد یک ترافیک دو طرفه میشود. برای بسیاری از شرکتها این مطلب قابل قبول نیست که اطلاعات خصوصی آنها درون یک انترانت شرکتی آزادانه به نمایش درآیند. (انترانت یک شبکه TCP/IP است که بعد از اینترنت شکل گرفت و فقط درون سازمانها کار میکند.) بمنظور ایجاد سطوحی از جدایی بین انترانت سازمانی و اینترنت، فایروالها بکار گرفته شده اند. یک فایروال گروهی از قطعات هستند که مجموعاً یک مانع را بین دو شبکه ایجاد میکنند. تعدادی از واژه خاص مرتبط با فایروالها و شبکهبندی در این بخش مورد استفاده قرار میگیرند که اجازه بدهید آنها را معرفی کنیم.
باستیون هاست (Bastion host)
یک کامپیوتر با هدف عمومی که برای کنترل دسترسی بین شبکه(خصوصی) داخلی (انترانت)و اینترنت (یا هر شبکه ناشناخته دیگر) مورد استفاده قرار میگیرد. عموماً اینها هاستهایی هستند که دارای سیستم عامل یونیکس بوده و برای کاهش عملیات آن به عملیاتی که فقط برای پشتیبانی از وظایف آن اصلاح شده است. بسیاری از اهداف عمومی آن خاموش شده است و در بسیاری از موارد به طور کامل حذف شدهاند تا امنیت ماشین ارتقا یابد.
روتور
یک کامپیوتر با هدف خاص برای اتصال شبکهها به یکدیگر. روتورها همچنین برخی عملیات خاص همانند مسیریابی، یا مدیریت ترافیک شبکههایی که به آنها متصل هستند را به عهده دارند.
لیست کنترل دسترسی (ACL)
بسیاری از روتورها در حال حاضر این توانایی را دارند به طور انتخابی برخی از وظایفشان را بر اساس اطلاعاتی در مورد اینکه یک بسته به کجا میرود، انجام دهند. این اطلاعات شامل مواردی همانند : آدرس مبدا، آدرس مقصد، پورت سرویس مقصد، و غیره است. این موارد میتوانند به نوع خاصی از بستهها که از یک شبکه خارج یا به آن وارد میشوند، محدود گردد.
منطقه بیطرف (DMZ)
DMZ بخش مهمی از یک فایروال است: این منطقه شبکهایی است که نه بخشی از شبکه مشترک شده میباشد و نه بخشی از شبکه مشترک نشده است. ولی شبکهای است که بخش مشترک نشده را به بخش مشترک شده ارتباط می دهد. اهمیت DMZ فوقالعاده بزرگ است: هرکسی که از طریق اینترنت بخواهد به شبکه شما نفوذ کند، بایستی برای موفقیت در این کار از چند لایه بگذرد. این لایهها توسط DMZ و در بخشهای مختلف ایجاد شدهاند.
پراکسی (Proxy)
این پروسهای است که یک هاست در طرف مقابل انجام میدهد. هاستی که دارای این قابلیت است که اسناد را از اینترنت واکشی کند میتواند بعنوان یک پراکسی سرور و هاست روی اینترانت باید به صورت پراکس کلاینت پیکربندی گردد. در چنین حالتی، بعنوان مثال، وقتی که یک هاست روی اینترانت میخواهد صفحه وبی را واکشی کند، جستجوگر ارتباطی را با پراکسی سرور برقرار کرده و درخواست یک URL خاص را میدهد. پراکسی سرور اسناد را واکشی کرده و نتایج را به کلاینت بر میگرداند. با این روش، تمامی هاستهای روی اینترانت قادر هستند که به منابع اینترنت بدون داشتن قابلیت صحبت با اینترنت، دسترسی پیدا کنند.
انواع فایروالها
سه نوع عمده فایروال وجود دارد که ما آنها را مورد بررسی قرار میدهیم:
مسیر کاربردی
اولین فایروال، مسیر کاربردی هستند که بعنوان پراکسی مسیری شناخته میشوند. آنها از باستین هاستهایی ساخته شدهاند که برای عمل کردن به صورت پراکسی سرور یک نرمافزار خاص را اجرا میکند. این نرم افزار در لایه کاربردی دوست قدیمی ما مدل مرجع ISO/OSI اجرا میشود. کلاینتهای پشت سر فایروال بایستی proxitized (به این معنا که بایستی دانست که چگونه از پراکسی استفاده کرد و آنها را پیکربندی نمود) شوند تا از خدمات اینترنتی استفاده کرد. معمولاً اینها دارای ویژگی امنیتی هستند، زیرا آنها به همه چیز اجازه عبور بدون اشکال را نمیدهند و نیاز به برنامههایی دارند که برای عبور از ترافیک نوشته و اجرا شدهاند. آنها عموماً کندترین هستند زیرا برای داشتن یک درخواست سرویس نیاز به اجرای پروسههای زیادی دارند. شکل زیر یک نوع مدخل کاربردی را نشان میدهد.
یک نمونه از مدخل کاربردی
فیلتر کردن بسته
فیلتر کردن بسته تکنیکی است که بواسطه آن روتورها دارای ACL های (لیستهای کنترل دسترسی) فعال می شوند. به طور پیشفرض، یک روتور تمامی ترافیک به سمت خود را عبور میدهد و همه نوع کار را بدون هیچ محدودیتی انجام میدهد. استفاده از ACLها روشی برای اعمال سیاست امنیتی شما با توجه به نوع دسترسی که میخواهید جهان خارج به شبکه داخلی شما داشته باشد و غیره، میباشد.
استفاده از فیلتر کردن بسته بجای مدخل کاربردی دارای هزینه اضافی است زیرا ویژگی کنترل دسترسی در لایه پایینتر ISO/OSI اجرا میشود. (عموماً لایه انتقال یا لایه session). با توجه به سربار کمتر و این واقعیت که فیلترینگ بوسیله روتورهایی انجام میشوند که به صورت کامپیوترهای خاص برای اجرای موارد مرتبط با شبکهبندی، بهینه شدهاند، یک مسیر فیلترینگ بسته اغلب بسیار سریعتر از لایه کاربردی آن است.
با توجه به آنکه ما بر روی یک لایه پایینترکار میکنیم، پشتیبانی از کاربردهای جدید یا به صورت خودکار انجام میشود یا یک موضوع ساده است که در آن بسته های خاص از مسیر عبور میکنند.
در این روش مشکلاتی وجود دارد، بنابراین بخاطر بسپارید که TCP/IP به صورت مطلق است یعنی اینکه هیچ تعهدی برای آدرسهایی که ادعا میکنند به آن مرتبط هستند وجود ندارد. بنابراین، به منظور محلی کردن ترافیک ما از لایههای فیلترهای بسته استفاده میکنیم. ما نمیتوانیم تمام مسیرهای منتهی به هاست واقعی را داشته باشیم اما از طریق دو لایه از فیلترهای بسته میتوانیم بین بستهای که از اینترنت میآید با بستهای که از شبکه داخلی ما میآید، تفاوت قائل شد. ما میتوانیم مشخص کنیم که بسته از کدام شبکه میآید اما نمیتوانیم مشخصات بیشتری در مورد آن داشته باشیم.
سیستمهای ترکیبی (Hybrid systems)
در یک تلاش برای هماهنگ کردن مسیرهای لایه کاربردی با انعطافپذیری و سرعت فیلترینگ بسته، برخی از فروشندگان سیستمهایی را ایجاد کردند که از هر دو اصل استفاده میکنند.
در چنین سیستمهایی، اتصالات جدید باید در لایه کاربردی تایید و به تصویب برسند. زمانی که این اتفاق افتاد، بقیه اتصال به لایه session فرستاده میشود، که در آن برای فیلترهای بسته اتصال را کنترل میکنند تا مطمئن شوند که تنها بستههایی که بخشی از یک محاوره در حال پیشرفت (که همچنین مجاز و مورد تایید هستند) عبور میکنند. سایر احتمالات شامل استفاده از هر دو پراکسی فیلترینگ بسته و لایه کاربردی است.
مزیتهای این حالت شامل ارائه معیاری برای محافظت از ماشینهای شما در مقابل خدماتی که به اینترنت ارائه میکند (همانند یک سرور عمومی وب ) و همچنین ارائه امنیت یک مسیر لایه کاربردی به شبکه داخلی است. بعلاوه، با استفاده از این مدل، یک مهاجم که قصد بدست آوردن خدمات روی شبکه داخلی را دارد، از طریق روتور دسترسی، هاست بوستین و روتور مسدود کننده با شکست مواجه میشود.
یک مسیر فیلترینگ نمونه بسته
بنابراین برای من چه چیزی بهترین است؟
گزینههای مختلفی در دسترس است، و انتخاب انها بستگی به صرف زمان و تجربه نیاز دارد، چه به صورت داخلی و چه به صورت یک مشاور با تجربه که میتواند زمانی را برای شناخت سیاست امنیتی موسسه شما صرف کند و میتواند فایروالی را طراحی و ساخته که بهترین استفاده را از سیاست شما کرده باشد. سایر موارد همانند، خدمات مورد نیاز، تسهیلات و مقیاس پذیری بایستی در طرح نهایی مورد توجه قرار گیرند.