دورهی Cisco Certified Network Associate Security یا همان CCNA Security برای ایجاد امنیت مقدماتی در شبکهای که از محصولات سیسکو استفاده میکند کاربرد دارد، با داشتن این گواهینامه امنیتی میتوانید مهارتهای لازم برای توسعه زیرساختهای امنیتی، تشخیص تهدیدات و آسیب پذیریها را کسب کنید.
دورههای امنیتی سیسکو شامل دورهیCCNA Security (کارشناس امنیت)، CCNP Security (کارشناس ارشد امنیت) و CCIE Security (دکترای امنیت) است که هر کدام از این دورهها دارای سرفصلهای جدا و جذابی هستند.
ایجاد امنیت در شبکه کار آسانی نخواهد بود و در هر زمان باید مواظب باشیم که اطلاعات شما افشاء نشود و یا به شبکه شما حمله نشود، ولی شما با ایجاد راهحل های امنیتی این تهدیدات را کاهش دهید، برای اینکار نیاز دارید تا تهدیدات را شناسایی و راههای جلوگیری از آن را به درستی پیادهسازی کنید.
اگر شما امنیت یک شبکه مد نظرتان است باید یک سری از قواعد را پیروی کنید تا با مشکلی مواجع نشوید، این قواعد شامل سه هدف است، محرمانه بودن (Confidentiality)، یکپارچگی (Integrity) و در دسترس بودن (Availability) است که این سه کلمه را به اختصار با نام CIA میشناسند، بیشتر مشکلاتی که در بخش امنیت شبکه به وجود میآید، زیر مجموعه این سه بخش است و باید سعی کرد دید خود را در این سه زمینه گستردهتر کنیم.
در این دوره و در این کتاب با طراحی و پیادهسازی سیستمهای امنیتی مبتنی بر IOSرا با هم فرا خواهیم گرفت و سعی شده است تا اکثر مطالبی که در سرفصلهای سیسکو بیان شده بررسی و توضیح داده شود.
فصل اول – بررسی شرایط امنیتی
در این قسمت ریسکهای شبکه را با هم بررسی خواهیم کرد.
- منابع یا داراییهای سازمان (Assets)
در این بخش باید منابع با ارزش سازمان مشخص شود، که این منابع میتواند شامل دادهها، برنامهها و سرورها و… باشد.
در زیر جدولی از منابع موجود را مشاهده میکنید.:
طبقهبندیهای دولتی |
حساس اما غیر طبقه بندی شده (SBU) محرمانه |
طبقهبندی بخش خصوصی و عمومی |
حساس |
معیارهای طبقه بندی ارزش |
سن طول عمر مفید |
- آسیب پذیری (Vulnerability)
نقص یا ضعف در طراحی، پیادهسازی، بهرهبرداری و مدیریت یک سیستم میتوانند برای نقض سیاست امنیتی سیستم، مورد سوء استفاده قرار گیرند. اصولاً مهاجمان از آسیبپذیریهایی که از طریق نرمافزار، سختافزار و یا کارمندان به وجود میآید میتوانند به شبکه سازمان حمله کنند، بیشتر سازمانهای امروزی یک ارزیابی کلی برای شناسایی این آسیبپذیریها انجام میدهند.
طبقهبندی آسیبپذیریها به صورت زیر بیان میشود:
■ Policy flaws (نقص در سیاست سازمان)
■ Design errors (طراحی اشتباه)
■ Protocol weaknesses (ضعف در پروتکل)
■ Misconfiguration (تنظیمات اشتباه)
■ Software vulnerabilities (آسیبپذیری نرمافزار)
■ Human factors (عوامل انسانی)
■ Malicious software (نرمافزارهای مخرب)
■ Hardware vulnerabilities (آسیبپذیری سختافزاری)
■ Physical access to network resources (دسترسی فیزیکی به منابع شبکه)
- تهدیدات (Threat)
تهدیدات زمانی رخ میدهد که مهاجم در بخش قبلی (Vulnerability)، آسیبپذیریهای یک سیستم را شناسایی کند و بتواند از آن طریق به شبکه ما ضربه بزند، یک مثال ساده در این بخش، میتواند به اشتراک گذاشتن یک پوشه با دسترسی اشتباه باشد.
- عامل تهدیدات (Threat agent)
عامل، کسی است که تهدیدات را به وجود میآورد، مثلاً مهاجمی که از ACL یا همان Access List اشتباه استفاده میکند میتواند عامل تهدید باشد که این عاملها میتوانند آسیبپذیریها را شناسایی و از آنها برای حمله به شبکه استفاده کنند، البته همه عاملها این کار را انجام نمیدهند.
- ریسک (Risk)
احتمال یک خطر است که توسط یک عامل تعدید (Threat agent) از طریق پیدا کردن یک آسیبپذیری در شبکه به وجود میآید، کاهش ریسکهای یک شبکه بسته به سیاستهایی دارد که مدیر شبکه پیادهسازی میکند.
روشهایی که در اقدام متقابل میتوان از آنها استفاده کرد شامل موارد زیر است:
- اجرایی (Administrative) که شامل استانداردها، رویهها، دستورالعملها و سیاستهای سازمان است که باید به صورت کتبی از همه کاربران تعهد گرفت تا خلاف آن عمل نکنند.
- فیزیکی (Physical) شامل کنترلهای فیزیکی دقیق برای تجهیزات شبکه خود است، مثلاً میتوانید برای اتاق سرور خود از دربهای ضد سرقت پیشرفته و نسوز استفاده کنید و یا اینکه برای رکهای دیواری که در هر طبقه موجود هستند را قفل کنید، طراحی باید به صورتی باشد که کاربران به هیچ قطعه یا سیسمی دسترسی نداشته باشند.
- منطقی (Logical) که شامل کنترلهای منطقی شامل گذرواژهها ، فایروالها ، سیستمهای پیشگیری از نفوذ، لیستهای دسترسی ، تونلهای VPN و… کنترلهای منطقی اغلب به عنوان فنی گفته میشوند، کنترل میکند.
- در معرض قرار گرفتن (Exposure)
وقتی که به یک پوشه به اشتراک گذاشته شده یک دسترسی اشتباه میدهید، آن پوشه در معرض تهدیدات قرار خواهد گرفت و امنیت شرکت را زیر سوال خواهد برد.
- اقدام متقابل (Countermeasure)
اقدام متقابل، ریسکهای یک شبکه را کاهش خواهد داد، برای انجام یک کار در شبکه سه موضوع آسیبپذیری، تهدیدات و ریسک باید مورد توجه قرار گیرد تا بتوان اقدام متقابل را برای آنها انجام داد.
فرآیند مدیریت ریسک (Risk Management Process)
فرآیند مدیریت ریسک شامل یک سرس عملیات است که عبارتند از:
- شناسایی کردن منابع و ارزشهای سازمان
- شناسایی تهدیدات
- شناسایی آسیبپذیری
- تعیین احتمال حمله
- شناسایی ضربه
- تعیین ریسک به عنوان ترکیبی از احتمال و تاثیر.
طبقهبندی منابع (Asset Classification)
اولین قدم در ارزیابی ریسکها شناسایی منابع و ارزشهای آن سازمان است، داراییهایی که در یک سازمان وجود دارد مشهود و غیر مشهود است که این داراییهای مشهود عبارتند از:
کاربران، کامپیوترها، امکانات و منابع، ولی داراییهای غیر مشهود شامل مالکیت معنوی دادهها و شهرت سازمانی است.
تهدیدات امروز به طور مداوم در حال تغییر هستند و تهدیدهای جدیدی ظهور میکند، در این قسمت میخواهیم به دستههای مختلف تهدیدات شبکه بپردازیم:
- مهاجمان نهایی (Potential Attackers)
که این مورد اشاره دارد به هکرها، تروریستها، کارکنان ناراضی یک شرکت و…
- روشهای حمله (Attack Methods)
یک هکر، به هیچ عنوان دوست ندارد که شناسایی شود، به خاطر همین از روشهایی برای مخفی کردن خود استفاده میکنند و کارهایی را که در زیر لیست شده است را برای نفوذ به شبکه انجام میدهد که شامل:
شناسایی (Reconnaissance) |
در اولین قدم هکر با استفاده از نرمافزار خاصی اقدام به شناسایی آدرس IP و پورتهای باز شبکه میکند تا موارد قابل نفوذ را شناسایی کند. |
مهندسی اجتماعی |
یکی از روشهای ساده برای بدست آوردن اطلاعات یک سازمان است، در این روش هکر با استفاده از کارمندان یک سازمان اقدام به بدست آوردن اطلاعات مهم آن میکند، مثلاً میتواند با استفاده از ایمیلهای جعلی از کارمندان اطلاعات بگیرد یا اینکه از فیشینگ کردن وبسایتهای مشخص استفاده کند تا به اطلاعات خود دست پیدا کند. |
حداکثر امتیاز |
در این روش مهاجم با استفاده از یک کاربر معمولی وارد روتر میشود و با استفاده از حملات brute-force شروع به بدست آوردن حداکثر دسترسی میکند. |
در پشتی (Back doors) |
مهاجم بعد از ورود به شبکه اقدام به نصب نرمافزارهای مخرب بر روی کلاینت یا سرور میکند و بعد از آن در هر زمان میتواند به اطلاعات آنها دستگاه دست پیدا کند، مانند نرمافزارهای Key-logging که تمام اطلاعات ورودی از کیبورد را ذخیره و به آدرس خاصی ارسال میکنند. |
اجرای کد (Code execution) |
در این روش مهاجم توانایی این را دارد که کدها مورد نظر خود را در سرور سازمان شما اجرا کند که این کار یکی از خطرناکترین حملات است این روش با نام Remote Code Execution یا به اختصار RCE شناخته میشود. |
- راههای حمله (Attack Vector)
این موضوع را به خاطر داشته باشید فرد مهاجم همیشه از بیرون شرکت به شبکه شما حمله نمیکند و شاید کسی از داخل شرکت این کار را انجام دهد، شاید کاربر از سر بیاطلاعی بخواهد بر روی موضوع خاصی کنجکاوی کند و همان موضوع باعث شود حملات درب پشتی (Back doors) انجام شود. برای جلوگیری از این روش باید سیاستهای درست پیادهسازی شود.
- حمله مرد میانی (Man-in-the-Middle Attacks)
حملات مرد میانی با نام Bucket Bridge Attack هم شناخته میشوند، در این نوع حمله مهاجم خود را بین دو سیستم قرار میدهد و از روشهای خاصی برای بدست آوردن اطلاعات سیستمها استفاده میکند، این کار با هدف شناسایی و دستکاری دادهها انجام میشود، این حمله میتواند در لایه دو و یا لایه سه اتفاق بیفتد، هدف اصلی این کار گوش دادن به اطلاعات ردو بدل شده بین دو منبع است.
- سایر روشهای حمله
کانال پنهان (Covert channel) |
در این روش اگر شما به عنوان مدیر شبکه اجازه دسترسی به یک وبسایت را در فایروال ببندید، کاربر یا مهاجم با استفاده از VPN و ایجاد تونل در شبکه داخلی باعث میشود این سیاست شما را دور بزند. |
منطقه قابل اعتماد |
در این روش اگر در یک فایروال که دارای سه منطقه است و به منطقه خارجی (outside) آن دسترسی کامل دهید، مهاجم با ورود به سرورهای مستقر در منطقه DMZ میتواند به سیستمهای داخل Inside دسترسی پیدا کند، در مورد مناطق شبکه در فصل ششم به صورت کامل صحبت کردیم. |
حملات بی رحمانه با رمز عبور (Brute-force (passwordguessing) attacks) |
در این روش مهاجم با استفاده از دیتابیسی از کلمه عبور، تلاش میکند رمز عبور سیستم را حدس بزند که البته با ایجاد سیاست، تعداد تلاش برای وارد کردن رمز عبور، این مورد حل میشود. |
Botnet |
در این حمله مهاجم در یک سازمان دارای هزاران سیستم آلوده آماده به کار هست و با استفاده از آنها بدون اطلاع صاحبان شرکت شروع به حمله به یک مقصد مشخص میکند که از این طریق میتوان حملات DDOS را انجام داد. |
حملات DoS and DDoS |
این نوع حملات زمانی مشخص میشوند که ترافیک غیر واقعی و بسیار زیاد بر روی سرور وبسایت شما افزایش مییابد و این موضوع باعث میشود دستگاههایی مانند سوئیچ و روتر با افزایش کارکرد CPU روبرو شوند و باعث از کار افتادن آنها میشود در حملات Dos یا denial-of-service مهاجم فقط از طریق یک سیستم شروع به حمله میکند ولی در روش پیشرفتهتر آن یعنی DDoS یا همان distributed denial-of-service از چندین سیستم برای این کار استفاده میشود که روش Botnet میتواند جز آن باشد. |
استفاده از اصول اساسی امنیت در شبکه
در این بخش رویکردهایی برای بهبود شبکه مشخص شده است که میتواند از مواردی که در بالا بیان کردیم پیشگیری کند.
محرمانه بودن (Confidentiality)
برای ایجاد یکپارچگی در اطلاعات باید سطح دسترسی را برای افراد مشخص کنید تا از افشای اطلاعات در بیرون سازمان جلوگیری شود، سه اصل؛ شناسایی(Identification)، احراز هویت(Authentication)، مجوز دسترسی(Authorization) میتواند شما را در این امر بسیار کمک کند، همه این موارد در ادامه کتاب بررسی خواهد شد.
یکپارچگی (Integrity)
این قسمت از سه مرحله قبل یعنی، شناسایی(Identification)، احراز هویت(Authentication)، مجوز دسترسی(Authorization) اطمینان حاصل پیدا میکند، و هدف اصلی آن حفظ یکپارچگی دادهها، از جمله دادههای ذخیره شده در فایلها، پایگاه دادهها، سیستمها و شبکه ها است.
در دسترس بودن (Availability)
در دسترس بودن به این معنی است که اطلاعات در زمان و مکان مورد نیاز فقط برای افرادی که مجوز لازم را دارند همیشه در دسترس باشد.
در دو حوزه میتوان از ویژگی در دسترس بودن خیلی خوب استفاده کرد:
- زمانی که حملات گسترده به شبکه انجام شود و شبکه به طور کامل غیرفعال شود، مانند ویروسهای باجگیر که این روزها شبکههای بسیاری را آلوده کردند و در نوع خاصی از آنها هیچ راهی برای برگشت اطلاعات وجود ندارد.
- زمانی که بلایای طبیعی رخ دهد.
یکی از راههای مهمی که برای در دسترس بودن اطلاعات باید انجام گیرد استفاده از فناوری Raid برای شبکه است تا اطلاعات در سریعترین زمان ممکن در دسترس قرار گیرد.
تعاریف اولیه در امنیت اطلاعات
کمترین امتیاز (Least Privilege)
مفهوم کلی این تعریف در مورد این است که به هر کسی به اندازهی نیازش دسترسی بده، که این موضوع میتواند برای یک کاربر باشد و یا یک فرآیند، برای فعال کردن حداقلها، باید سازمانها تمامی کارکردهای کاربران را شناسایی و بر اساس آن دسترسیها را اولویتبندی کنند تا کسی بیشتر از نیاز خود به منابع شبکه دسترسی نداشته باشد.
یک سری قوانین سازمانی وجود دارد که از اصل کمترین امتیاز (Least Privilege) حمایت میکنند:
- تعداد اکانتهایی که دارای مجوزهای زیاد در شبکه هستند را محدود کنید.
- مدیران شبکه باید از یک اکانت با دسترسی معمولی برای عملیات معمول خود استفاده کنند.
- دسترسیها ابزاری محبوب برای مهاجمها هستش که باید دقت لازم در این زمینه را داشته باشیم و آن را محدود کنیم.
دسترسی به هیچ چیز (Access to Nothing)
سعی کنید به صورت پیشفرض دسترسیها را برای همه کاربرانی که برای اولین بار به شبکه متصل میشوند ببندید، این کار یکی از بهترین عملکردهای امنیتی محسوب خواهد شد که افراد ناشناس نتوانند به راحتی به شبکه دسترسی داشته باشند.
دفاع در عمق (Defense in Depth)
استراتژی دفاع از عمق به این موضوع اشاره دارد که برای ایجاد امنیت باید از چند لایهی امنیتی برای رسیدن به اطلاعات استفاده کرد، یکی از این استراتژی ها استفاده از کنترل دسترسیها در شبکه است.
تفکیک وظایف (Separation of Duties)
برای کاربران باید وظایف مشخص معین شود و هر کسی وظایف مربوط به خود را انجام دهد، با این کار از تقلب در کارها جلوگیری خواهد شد، مثلاً میتوانیم برای یک کار که قرار است انجام شود دو مدیر تعیین کنیم تا هر دو مجوز آن کار را صادر کنند و با یک نفر آن کار انجام نشود.
چرخش کار (Job Rotation)
در این بخش باید آموزشهای لازم داده شود تا از انجام تقلب جلوگیری شود، در چرخش کار باید یک نسخه از اطلاعات شبکه داشته باشیم.
مناطق امنیتی مشترک شبکه (Common Network Security Zones)
DMZ یک زیرشبکه منطقی یا فیزیکی است که اطلاعات شبکه داخلی را به بیرون از سازمان یعنی فضای اینترنت ارسال میکند، هدف از یک DMZ، اضافه کردن یک لایه امنیتی بیشتر به شبکه محلی یک سازمان است؛ یک مهاجم خارجی به جای دیگر قسمتهای شبکه، تنها به تجهیزاتی که در DMZ هستند دسترسی دارد و با این کار خطرات ناشی از دسترسی غیر مجاز به شبکه اصلی کاهش پیدا خواهد کرد، DMZ فقط و فقط برای جلوگیری از دسترسی افراد به شبکه داخلی (Intranet) و یا همان محلی است و اگر مهاجمی از داخل شبکه بخواهد جاسوسی کند، نمیتواند کاری انجام دهد، بهترین راه استفاده از این نوع شبکهها استفاده از یک دستگاه Firewall برای جدا کردن سه شبکه Internet، DMZ و Intranet است که در شکل زیر آن را مشاهده میکنید.
بررسی شبکه Interanet
Intranet به شبکهی داخلی اشاره میکند که به عنوان یک شبکه خصوصی شناخته میشود و در این شبکه میتوان هر نوع پروتکلی را اجرا و استفاده کرد، در این نوع شبکهها به مانند شبکه اینترنت میتوانید سرورهای ایمیل، وب، FTP و دیگر پروتکلها را پیادهسازی کرد، این نوع شبکههای با استفاده از فایروالها محافظت میشود و کسی نمیتوانید بدون اجازه به آن دست پیدا کند.
شبکه Extranet
Extranet بخشی از یک شبکه خصوصی است که مدیران شبکهی یک سازمان برای متصل شدن کاربران خارج از سازمان به شبکه از روشهای امنی استفاده میکنند تا کاربران بر روی سیستم خارجی خود مانند سیستم داخل منزل یا جایی دیگر شبکه داخلی آن سازمان را داشته باشند، یکی از روشهای پیادهسازی این نوع شبکهها فعالسازی پروتکل VPN است که این کار را با امنیت کامل و سریع انجام میدهد.
شبکه عمومی و خصوصی (Public and Private)
شبکهی Public یک شبکهی عمومی است که همه افراد میتوانند به ان دسترسی داشته باشند مانند شبکهی اینترنت که در سرتاسر جهان گسترده شده و امروزه اکثر افراد در این شبکه در حال فعالیت هستند، شبکههای Private همان شبکه خصوصی یک سازمان خواهد بود.
Virtual LAN یا VLAN به شبکهای گفته میشود که در لایه دو کاربرد دارد و برای ایجاد امنیت در سوئیچ به کار میرود، VLAN ها برای جدا کردن پورتهای سویچ به کار میروند، مثلاً میخواهید به سرور مالی شرکت فقط و فقط یک سیستم خاص متصل شود، برای این کار آنها را در یک VLAN قرار میدهید، در مورد شبکه VLAN در کتاب CCNA R&S توضیحات لازم را دادم.