برای دستیابی به امنیت شبکه کارا و مؤثر باید روش دفاع در عمق به صورت یکپارچه پیادهسازی شود. اولین لایه از روش دفاع در عمق، رعایت اصول و مبانی پایه امنیت شبکه میباشد. شد مبانی پایه امنیت شبکه، یک خط مشی امنیتی است که ستون اصلی امنیت محسوب شده و سایر تمهیدات امنیتی بر روی آن سوار میشوند. ازاینرو تهیه مبانی پایه امنیت شبکه از اهمیت بالایی برخوردار بوده و بسیار چالش برانگیز است. بخش اعظم این مبانی مربوط به امنیت زیرساخت شبکه
است. در این سلسله از گزارشها سعی شده است تا به گوشهای از نیازمندیهای پایه امنیت زیرساخت شبکه اشاره شود و چگونگی پیاده سازی آنها توسط تجهیزات سیسکو
ارائه گردد.
مروری بر امن سازی زیرساخت شبکه
نیازمندیهای پایه امنیت شبکه شامل موارد مهم و اساسی امنیتی میباشند که در ایجاد و توسعه یک ساختار امنیتی قوی مورد استفاده قرار میگیرند. تمرکز اصلی بر روی امن سازی زیرساخت خود شبکه می باشد، همچنانکه امن سازی سرویسهای شبکه و موارد زیر نیز به عنوان محدوده های مهم در بحث امنیت شبکه باید مورد توجه قرار گیرند:
دسترسی به تجهیزات زیرساخت
زیرساخت مسیریابی
انعطافپذیری و استحکام نرمافزاری تجهیزات
دسترسی از راه دور به شبکه
اجرای سیاستهای شبکه
زیرساخت سویچینگ
به جز موارد پایه امنیتی که در بالا بدان اشاره شد، معمولاً ویژگیها و تکنولوژیهای امنیتی اضافه بر آنها مورد توجه قرار نمیگیرند. برای مثال، اگر یک حساب کاربری با گذرواژه و رمز عبور پیشفرض بر روی یک دستگاه زیرساخت فعال باشد، نیازی به برنامهریزی و انجام یک حمله پیچیده برای نفوذ به دستگاه نمیباشد، بلکه حمله کننده میتواند به راحتی با اطلاعات پیشفرض که تغییر پیدا نکردهاند به دستگاه وارد شده و برنامههای مخرب خود را پیش ببرد. یک راهکار قابل قبول و مطمئن، استفاده از چارچوب امنیتی سیسکو (CSF) است. این چارچوب روشهای مختلف تشخیص و اعتبارسنجی نیازمندیهای امنیتی یک سیستم را فراهم میکند. معمولاً از CSFدر ایجاد مباحث پایه امنیت برای حصول اطمینان از به کارگیری نیازهای امنیتی مربوط به بخشهای مختلف شبکه استفاده میشود. تمام تنظیمات نمونه که در این سلسله از گزارشها ذکر شدهاند، بر اساس پلتفرم IOS سیسکو و ویژگیهای آن آورده شده است. البته رئوس کلی مطالب در هر بخش قابل تعمیم به دیگر پلتفرمها نیز هستند.
ارزیابی مقدماتی طراحی شبکه
نیازمندی های پایه خدمات شبکه شامل برخی تکنیکهای مرتبط با فیلترکردن ترافیکهای مبتنی بر آدرس IP است. برای انجام این کار از ACL استفاده میشود تا بتوان سیاستهای امنیتی برای دستگاههای مدیریت دسترسی، قابلیت کنترل توزیع مسیر و uRPF را اجرا کرد. تکنیک های پیشرفته تر امنیتی که میتوانند به عنوان لایه های افزوده امنیتی اضافه گردند )مانند فایروال( نیز با مکانیزم مشابه فیلترکردن ترافیک بر اساس آدرس IPعمل میکنند.
یک طرح توزیع آدرس IPکه منطقی، خلاصه، یا تفکیک شده و مجزا باشد (همانطور که در RFC1918 توضیح داده شده است)، میتواند پیادهسازی تکنیک فیلترکردن ترافیک مبتنی بر آدرس IPرا سادهتر و در مرحله آماده سازی به منظور توسعه مبانی پایه امنیت، توصیه میشود که یک ارزیابی مقدماتی از راه اندازی شبکه با هدف تسهیل در پیادهسازی آن انجام گیرد.
نکته کلیدی در این ارزیابی، بررسی کامل طرح تخصیص آدرس IPبا تکیه بر دو مورد زیر است:
آیا طرح تخصیص آدرس IPبه خوبی انجام شده است و آیا خلاصه سازی یا تفکیک این آدرسها به سادگی قابل انجام است؟
آیا RFC1918در مورد تخصیص آدرس IPبه طور مناسب پیاده شده است؟
ممکن است ارزیابی طرح تخصیص آدرس IPمنجر به تغییر محدودههایی از ایـن طـرح قبـل از پیـاده سـازی مبانی امنیت شود. توجه به این موضوع اگرچه تغییراتی در شبکه بهوجود می آورد ولی بـه طـور کلـی موجـب کنترل پذیری و قابلیت اجرای بهتر سیاستهای امنیتی میشود.
مروری بر چارچوب امنیتی سیسکو
چارچوب امنیتی سیسکو یک فرایند عملیاتی امنیتی است که با هدف اطمینان از عملکرد شبکه و سـرویسهـا، در دسترس بودن و تداوم کسب و کار سیستم استفاده میشود. تهدیدات امنیتی همیشـه در حـال رشـد مـی باشند، CSF نیز به منظور تشخیص تهدیدات جـاری و همچنـین دنبـال کـردن تهدیـدات جدیـد و در حـال گسترش، با استفاده از راهحلهای جامع و عملی استفاده میشود.
CSF بر اساس دو هدف بنا شده است، با این فرض که تا زمانی که بر روی چیزی نظارت نباشـد و نتـوان آن را دید یا اندازه گرفت، نمیتوان آن را کنترل کرد:
تحصیل نظارت کامل
تشخیص، پایش و همبستهسازی رخدادهای سیستم
حصول اطمینان از کنترل کامل
در زیرساختهای بزرگ و پیچیده شبکه، ابتدا سیستمها و سـرویسهـا را ایزولـه کـرده و پـس از انجـام آن سیاستهای امنیتی را به منظور رسیدن به نظارت و کنترل کامل اجرا میکننـد. تکنولـوژیهـا و قابلیـتهـای گوناگونی در طول شبکه برای نظارت کامل بر فعالیتهای شبکه، اجرای سیاستهای امنیتی و تعیین ترافیـک همانگونه که در شکل مشاهده میشود، CSFبر روی شش مرحله کلیدی تمرکز میکند
شناسایی
پایش
همبسته سازی
استحکام بخشیدن
جداسازی
اجرا
به کارگیری CSF برای پشتیبانی شبکه نتایجی همچون شناخت تکنولوژیها و بهترین روش بـرای بـرآوردن هریـک از این شش راه حل عملیاتی را در بر خواهد داشت. با این حال CSF یک فرایند در حال توسـعه، پویـا و سـاختار در حال بهبود محسوب میگردد که با تغییرات سیاستهـای امنیتـی و نیازمنـدیهـای تجـاری سـازمان بـه روزرسانی می شود.
در شکل چرخهی ارزیابی برای CSFنشان داده شده است:
چرخه با ارزیابی اولیه آغاز میشود که هدف آن مشخص کردن ظرفیت و وضعیت فعلی امنیت مـیباشـد. در ادامه در فاز تحلیل، نقاط ضعف و قوت معماری کنونی آشکار میگردد. مباحث پایه امنیت به عنوان یک مدل مرجع در طول ارزیابی اولیه و فاز تحلیل مورد استفاده قـرار مـیگیـرد. این مدل حداقل نیازمندیهای لازم برای کنترل و مدیریت پشتیبانی را فراهم میکنـد. نقـاط ضـعف و قـوت شبکههای واقعی با مقایسه با این مدل مرجع میتواند مشخص شود. پس از ارزیابی اولیه و اجرای فاز تحلیل، چرخه با برنامه بازسازی با هدف تامین نیازمندیهای آینده به وسـیله بهروزرسانی معماری کل شبکه ادامه پیدا میکند.
در ادامه، مرحله تعیین توالی طرحها برای ایجاد نقشه پیاده سازی برای مؤلفه های گوناگون برای معماری مورد نظر فراهم میگردد. سپس فازهای مختلف اجرا میشوند و نتایج بهدست آمده مجدداً مورد ارزیابی قرار میگیرند. مستند امنیت پایه شبکه، بر مبنای چارچوب CSF توسعه یافته و ارائه شده است. بر این اساس در هـر بخـش مشخصات امنیتی پیشنهادی و نیز بهترین راهکار اجرایی برای پیادهسازی آن ارائه میگردد.
همگان بر این باورند که امن سازی تجهیزات زیرساخت شبکه شامل مسیریابها، سوییچهـا، سـرورها و دیگـر تجهیزات زیرساخت یکی از مؤلفه های کلیدی برای تامین امنیت شبکه محسوب میشود. یکی از مهمتـرین بخشهای تامین چنین امنیتی، امنیت مدیریت دسترسی به این تجهیزات میباشد. اگر دسترسی بـه تجهیـزات
زیرساخت از کنترل خارج شود به و خطر بیافتد، دراین صورت مدیریت کل شبکه می تواند در خطر افتـد. در نتیجه برقراری کنترلهای مناسب برای جلوگیری از دسترسیهای غیر مجاز بـه تجهیـزات زیرسـاخت شـبکه بسیار حساس میباشد.
برای دسترسی به تجهیزات زیرساخت شبکه مـیتـوان از روشهـای مختلفـی از جملـه اسـتفاده از کنسـول و ارتباطات غیر سنکرون و همچنین دسترسی از راه از دور طریق http ،rlogin ،telnetو ssh استفاده کرد. برای برخی مکانیزمهای دسترسی به که طور پیشفرض فعال هستند، حداقل امنیت در نظر گرفته شده است. برای مثال در پلتفرمهای مبتنی بر نرمافزار IOS سیسکو، دسترسی از طریق کنسول و مودم به طور پیشفرض فعال است به. همین دلیل هر تجهیز موجود در زیرساخت باید به طور دقیـق ا راه نـدازی و پیکربنـدی شـود و فقط مکانیزمهای دسترسی پشتیبانیشده روی آنها فعال به و طور کامل امنسازی شده باشد.
گامهای کلیدی به منظور تامین امنیت دسترسیهای تعاملی و مدیریتی به یک تجهیز زیرساخت به صورت زیر قابل بیان است:
محدود کردن دسترسی به تجهیز: محدود کردن دسترسی به پورت ها، منحصر کردن افـراد مجـاز و محدود ساختن روشهای دسترسی مجاز
ارائه اخطارهای مناسب
اعتبارسنجی دسترسی: اطمینان از اینکه دسترسی به افراد، گروه و ها سرویسهای احراز اصـالت شـده اعطا شود.
فعالیت های مجاز : محدود کردن فعالیتهای مجاز قابل انجام توسط کاربران، گروه و ها سرویسهـای مشخص
اطمینان از حفظ محرمانگی داده : ها حفاظت از داده های حساس به که صورت محلی ذخیره شـدهانـد (عدم توانایی مشاهده و کپی آن ). ها این داده های حساس در حـین تبـادل از طریـق کانـال ارتبـاطی ممکن است در معرض حملاتی همچون session hijacking ،sniffingو MITM1 قرار گیرند.
ثبت وقایع و حسابها برای همه دسترسی : ها ثبت این که چه کسی، چه موقـع بـه تجهیـز دسترسـی داشته و چه فعالیتی انجام داده است.
توجه: به منظور بررسی دسترسی و ها تعیین هرگونه دسترسی غیرمجاز، بایستی وقایع ثبت شده به طور مرتب بازبینی شوند
محدودکردن امکان مدیریت تجهیزات موجود در زیرساخت
اولین قدم برای امن سازی دسترسی به تجهیزات موجود در زیرساخت، محدود کردن امکان دسترسی بـه آن هاست. موارد قابل توجه در این زمینه در ادامه بیان شده اند:
محدودکردن دسترسی تنها به ترمینال و پورت های مدیریتی مجاز
محدودکردن دسترسی تنها به و ها سرویس پروتکلهای دارای مجوز
محدودکردن دسترسی تنها به سرویس و ها پروتکلهای مجاز
محدودکردن تعداد دفعات دسترسی به سرویسهای مجاز توسط کاربران مجاز
اعطای مجوز دسترسی تنها به کاربران احراز اصالت شده
اعطای کمترین سطح دسترسی کاربران مجاز
اجبار مدیریت نشست
محدودکردن آسیب به ها پذیری حملات دیکشنری و DOS
ایده کلی برای مدیریت دسترسی آن است که امکان دسترسی به تجهیزات به صورت پیش فرض نباید فراهم شود، مگر برای آن دسته از کاربران و ها سرویس که نیاز آنها کاملاً ضروری است.
توجه: اکثر تجهیزات موجود در زیرساخت، از طریق چندین ترمینـال و پـورت مـدیریتی، و چنـدین سـرویس پروتکل گوناگون )که برخی از ها آن بصورت پیش فرض فعال هستند( قابلیت دسترسی دارند. بنـابراین همـه مکانیزمهای مدیریت دسترسی ممکن باید بررسی و امنسازی شوند.
پایانه خطوط دسترسی تجهیزات سیسکو
تجهیزات سیسکو معمولاً از طریق خطوط و پورتهای زیر قابل دسترسی هستند:
خطوط :TTYیها پورت غیر سنکرون شامل:
AUX
کنسول
خطوط :VTYخطوط TTYمجازی برای دسترسی از راه دور استفاده میشوند مانند :
Telnet
SSH
rlogin
توجه: دسترسی گرافیکی از طریق وب و دسترسی SNMP در بخشهای بعدی توضیح داده خواهد شد.
پورت AUX
این پورت برای اتصال به یک مودم خارجی استفاده میشود. دسترسی از طریق پورت AUXبـه طـور عـادی برای دسترسی dial–inوdial–outبه دستگاه مورد استفاده قرار می گیرد. در صورتی که این پورت نیاز نباشـد، باید غیرفعال گردد تا احتمال دسترسیهای غیرمجاز کاهش یابد.
پورت کنسول
دسترسی از طریق پورت کنسول به طور مستقیم برای کاربران محلی قابل دسترسـی اسـت و دسترسـی از راه از دور طریق استفاده از ترمینال و سرور کنسول قابل انجـام اسـت. اگـر دسترسـی از طریـق پـورت کنسـول درخواست شده باشد، خط ارتباطی باید به منظور محافظت در برابر دسترسیهای غیر مجاز ایمن شود.
خط VTY
دسترسی از طریق خط VTYمعمولترین روش برای مدیریت از راه دور یـک تجهیـز اسـت. اگـر دسترسـی VTYنیاز باشد، خطوط باید به طور مناسب برای جلوگیری از دسترسی غیر مجاز امن شوند.
توجه: هر مسیریاب به طور معمول شامل ) ۵خط از ۰تا ( ۴است. البته ممکن است تعـداد بیشـتری را نیـز پشتیبانی نماید. نکته قابل توجه این است که تمامی این خطوط باید به طور دقیق امنسازی شده باشند.
غیر فعالکردن و ها پورت ترمینالهای دسترسی غیرضروری تجهیزات
برخی از پورت و ها ترمینال های تجهیزات زیرساخت شبکه به صورت پیش فرض فعال در نظر گرفته شدهاند. این مسئله یک تهدید امنیتی محسوب میشود. بدین منظور پیشنهاد میگردد تمامی ترمینـالهـا، پـورت و هـا اینترفیسهایی که مورد نیاز نیستند، غیرفعال شوند. در تجهیزات Cisco ترمینال و پورتهای مدیریتی به طور معمول شامل خطوط TTYو VTY هستند. این ها پورت همانطور که در زیر نشان داده شده است، با استفاده از دستور no exec غیر فعال میشود .
! Disable access to VTY
line vty 1
login
no exec
!
! Disable access to Console
line con 0
no exec
محدود ساختن دسترسی تجهیزات، تنها به و ها سرویس پروتکلهای مجاز
در برخی از تجهیزات زیرساخت شبکه، سرویس و ها پروتکلهایی برای دسترسی به مدیریت تجهیز به صورت پیشفرض فعال است. در این حالت شبکه با ریسکهای امنیتی مختلفی مواجه میباشد. بدین منظـور توصـیه میشود و ها سرویس پروتکلهایی که مورد نیاز نیستند، غیرفعال گردند.
سرویس پروتکلهای دسترسی در تجهیزات Ciscoعبارتند از:
Telnet , SSH
HTTP , HTTPS
SNMP
دسترسی تعاملی از طریق خطوط TTYو VTYدر تجهیزات Ciscoباید تنها برای سرویس و ها پروتکلهـای مورد نیاز و دارای مجوز فراهم شده باشد. این محدودیت باید بر روی هر دو نوع ارتباطات درونـی و بیرونـی لحاظ گردد. این بر کار روی خطوط TTYو VTYبا استفاده از دستور transport اجرا میگردد.
در بین پروتکلهای دسترسی، توصیه میشود از پروتکلهای دسترسی رمزشده مانند SSHاستفاده شود.
محدود کردن دسترسی به سرویسها تنها توسط افراد مجاز
تنها افراد مجاز باید توانایی دسترسی به تجهیزات و سـرویسهـایی کـه اسـتفاده از آنهـا برایشـان مجـاز در نظرگرفته شده است را داشته باشند. در این صورت میتوان اطمینان داشت که درخواستهای دسترسی تنهـا به سرویسهای دارای مجوز صورت میگیرد و توسط منـابع بـا آدرس IPمعتبـر امکـان دسترسـی خواهنـد داشت. در این صورت ریسک دسترسی غیرمجاز و حملات مرتبط با آن بسیار کاهش مییابد. نمونـههـایی از این حملات میتواند شامل حملاتDOS ،brute forceو dictionary باشد.
در تجهیزات سیسکو، از ACL های نوع استاندارد میتوان برای محدود کردن دسترسی به تجهیزات مـدیریتی استفاده کرد و در این حالت دسترسی تنها برای افـراد مجـاز امکـان پـذیر اسـت. همچنـین ACLهـای نـوع extended برای محدود کردن دسترسی به سرویسهای مجاز میتواند استفاده شود. بدیهی است که هرچه محدودیت بیشتری توسط ACLها ایجاد شود، در این حالت محدودیتهـای بیشـتری برای دسترسی به صورت غیرمجاز خواهد بود با. این وجود هرچه محدودیتهـای تعیـین شـده توسـط ACL بیشتر باشد، باعث ایجاد سربار در شبکه میشود و میتواند دسترسی به شبکه را تحتالشعاع قـرار دهـد. بـه عنوان نمونه اگر یک محدودیت خاص برای یک سیستم تعریف شده باشد، مـثلاً بـرای یکـی از سیسـتمهـای NOC و ، ارتباط شبکه برای آن محدوده خاص قطع شده باشد، نای امر میتواند قابلیت دسترسی مـدیر شـبکه به آن سیستم به منظور عیبیابی را کاهش دهد. به همین دلیل باید یک تعادل بین تعریـف محـدودیت و هـا دسترسیپذیری به شبکه در نظر گرفته شود. یکی از مواردی که باید تعریف شود اعمال محدودیت دسترسـی تنها به آدرس IPهای داخلی است.
ACLهای نوع استاندارد
ACLهای نوع استاندارد میتوانند براساس آدرس IPمبدأ (ویا یک رنج از آدرس IPهای مبدأ) محـدودیت ایجاد کنند.
access-list 10 permit <NOCsubnet> <inverse-mask>
access-list 10 deny any any
extended های نوعACL
این ACLها توانایی ایجاد محدودیت بر اساس آدرسهای IPمبدأ وپروتکل مورد نظر را دارا میباشند:
access-list <xACL#> permit tcp <NOCsubnet1> <inverse-mask> any eq <TCP port>
access-list <xACL#> permit tcp <NOCsubnet2> <inverse-mask> any eq <TCP port>
access-list <xACL#> deny ip any any log-input
البته رعایت ترتیب تنظیمات موجود در ACL الزامی است. چون تنظیمات نوشته شده در ACL خط به خط و به همان ترتیب اجرا میشوند. در مثال زیر، چگونگی اعمال یک ACLبر روی خطوط VTY بیان شده است:
line vty 0 4
access-class <ACL#> in
توجه: می توان از ACLبرای خطوط VTY استفاده کرد که در این صورت میتوانـد از دسترسـی بـه خطـوط VTY در حین حمله DOS جلوگیری کند.
احراز اصالت با استفاده از AAA
دسترسی به تمام پورتهای تجهیزات موجود در زیرساخت بایـد احـراز اصـالت شـوند. ایـن کـار منجـر بـه محدودیت دسترسی تنها برای کاربران مجاز خواهد شد. توصیه مـیشـود کـه یـک سـرور AAA بـه منظـور احرازاصالت کلیه کاربران به صورت مجزا درنظر گرفته شود. این عمل بر روی تمام پورتها و ترمینـالهـای تجهیزات قابل اعمال است.
در سیستمعامل نرمافزاری سیسکو، دسترسی با سطح مدیر شبکه به تجهیزات به عنوان نشست EXECعنـوان میشود و از طریق خطوط VTYیا TTYانجام میشود. احراز اصالت این نشستها ۴بر مبنای AAAو با اعمال تنظیمات مشخص بر روی خطوط TTYو VTYانجام میشود. در زیر نمونهای از اعمال تنظیمات احراز اصالت AAAبرای نشستEXECبـر روی خطـوط کنسـول و VTY نشان داده شده است:
aaa authentication login adminAuthen-list group adminAAAgroup local-case
!
line con 0
login authentication adminAuthen-list
!
line vty 0 4
login authentication adminAuthen-list
اجرای بررسی مجوزهای ورود به دستگاه با استفاده ازAAA
در ابتدای کار بایستی کمترین سطح دسترسی برای کاربران احراز اصالت شده با توجه به نیازمندیهای آنهـا در نظر گرفته شود. در تجهیزات سیسکو قابلیت کنترل دسترسی کاربران احراز اصالت شده به محیط CLI بـا استفاده از دستور aaa authorization exec قابل انجام است. با استفاده از AAAمیتوان برای گروههـای مختلـف
از کاربران، سطح دسترسیهای گوناگونی تعریف کرد. در زیر نمونهای از تنظیمات مربوط به تعیین سطح دسترسی بر اسـاس AAAبـر روی خـط VTY نشـان داده شده است. سطح دسترسی متناسب با کاربر در صورتی به آن داده میشود که قبل از آن احراز اصـالت شـده باشد.
aaa authorization exec adminAuthor-list group adminAAAgroup if-authenticated
line vty 0 4
authorization exec adminAuthor-list
نکته: برای اینکه بتوان سطح دسترسی نشست EXECرا به کاربر مورد نظر داد، باید در تنظیمات مربـوط بـه سرور ، AAAویژگی Service–Typeدر حالت EXECقرار داده شده باشد.
اجرای بررسی مجوزها بر اساس سطح دسترسی
نکته مهم در تنظیمات AAA این است که کاربری که قرار است سطح دسترسی مدیر به آن داده شـود، بایـد به خوبی احراز اصالت شده باشد. دسترسی بر اساس سطوح مشخص بدین معنی است که هر سطح دسترسـی توانایی انجام چه تنظیماتی بر روی تجهیزات زیر ساخت را دارد. سطح دسترسـی Privilege ایـن امکـان را بـه
کاربر میدهد که بتواند بر روی تجهیز سیسکو تنظیمات مورد نظرش را انجام دهد. کسب سطح دسترسی EXEC بر روی تجهیزات سیسکو با استفاده از دستور enable قابل حصول است، یا مـی تواند به صورت اتوماتیک به عنوان نتیجه بررسی مجوز توسط RADIUS یا + TACACSداده شود.
برای اینکه دسترسی enableبا استفاده از عملیات احراز اصالت توسط سرور AAAو با توجه بـه enable secret تعریف شده از قبل داده شود، باید لیست پیشفرض AAAبرای احراز اصالت دسترسی enable تعیین شود .
aaa authentication enable default group adminAAAgroup enable
توصیه میشود که بهجای استفاده از enable passwordاز enable secretاستفاده شود. به ایـن خـاطر کـه enable secretاز رمزنگاری type 5که غیرقابل رمزگشایی است، استفاده میکند.
اجرای مدیریت نشستها
نشستهای دسترسی به تجهیزات با توجه به نکات زیر باید مدیریت شوند:
نشستهای معطل (آماده به کار)
نشستهای معلق
نشستهای معطل
نشستهای معطل نباید اجازه استفاده از ترمینال یا پورتهای مدیریتی برای زمان نامحدود و طولانی را داشته باشند. این کار به افزایش دسترسیپذیری ترمینالها و پورتها و کاهش دزدیده شدن نشستها کمک میکند. در سیستم عامل نرمافزاری سیسکو میتوان یک وقفه خالی از طریق دستور session-timeoutبر روی خطوط VTYیا TTYتعریف کرد. به طور پیش فرض یک نشست VTYیک وقفه ۱۰دقیقهای دارد:
[seconds] Router(config-line)# session-timeout <minutes>
اعمال دستور session-timeoutبر روی VTYاندکی با اعمال آن بر روی پورت کنسول، AUXو TTYتفاوت دارد. هنگامی که روی VTYوقفه اتفاق میافتد، کاربر به محیط EXECباز میگردد . این درحالی است که وقتی وقفهای در خطوط فیزیکی اتفاق میافتد، کاربر از سیستم خارج میشود و به خط حالت معطل در میآید.میتوان از ترکیبی از دستوراتexec-timeoutو session-timeoutو قرار دادن مقادیر تقریباً یکسان برای آنها استفاده نمود و درنتیجه رفتار خطوط مجازی و فیزیکی هنگامی که session-timeoutاتفاق میافتد مشابه هم خواهد بود.
در IOSسیسکو به طور پیش فرض یک نشست VTYدارای وقفه ۱۰دقیقهای است:
Router(config-line)# session-timeout <minutes>
نشستهای معلق
اگر با استفاده از یک سیستم از راه دور با یک تجهیز ارتباط برقرار شده باشد و در این حال سیستم دچار اشکال شود و ارتباط قطع گردد، نشستی که از آن استفاده میشد ممکن است همچنان باز باقی بماند و در برابر حملات آسیبپذیر باشد. بنابراین تشخیص نشستهای معلق و بستن آنها امری ضروری است. این کار به افزایش دسترسی پذیری ترمینالها و پورتها و کاهش دزدیده شدن نشستها کمک میکند. در IOSسیسکو میتوان نشستهای معطل روی خطوط VTYرا از طریق دستور service tcp-keepalives-in تشخیص داد و مسدود نمود. با استفاده از این دستور پیغامهایی برای connectionهای فعلی ارسال میشود و اگر پاسخی بازگردانده نشود، نشست بسته میشود:
Router(config)# service tcp-keepalives-in
محدودکردن آسیبپذیری تجهیزات در برابر حملاتDictionaryو DoS
آسیبپذیری تجهیزات موجود در شبکه هنگام دسترسی به آنها نسبت به حملات DoSو Dictionaryمی تواند با اعمال نکات زیر کاهش یابد:
اجبار به استفاده از رمزهای عبور قوی
محدودکردن تعداد تلاشها برای ورود به تجهیزات
محدودکردن تلاش مجدد برای وارد شدن به دستگاه بعد از تلاشهای ناموفق با اعمال یک تاخیر زمانی
رزرو یک ترمینال یا و پورت
اجبار به استفاده از رمزهای عبور قوی
در مورد حمله Dictionary استفاده از رمز عبور قوی میتواند در کاهش موفقیت این حمله بسیار مؤثر باشد، در صورتی که رمز عبور انتخاب شده به صورت ساده و یکی از کلمات دیکشنری نباشد. اگر از یک سرور AAAبرای احراز اصالت استفاده شده باشد، این سرور میتواند بر اساس سیاستهای امنیتی تعریف شده، dکاربران را مجبور به استفاده از رمزهای عبور قوی کند. اگر یک سرور AAAبرای اجبار به استفاده از رمزهای قوی موجود نباشد، باید با استفاده از ویژگیهای تجهیزات موجود و اعمال آنها تأثیر حملات مذکور را کاهش داد. اگر هیچ ویژگی و قابلیتی برای کاهش اثر حمله دیکشنری وجود نداشته باشد، اجبار به استفاده از رمزهای عبور با طول حداقل به عنوان یک ویژگی پایه قابل اعمال است. البته این ویژگی باعث جلوگیری مستقیم از حمله دیکشنری نمیشود بلکه میتواند از حدس زدن رمزهای عبور ساده که به طور معمول استفاده میشوند، مانند ciscoیا ، labجلوگیری کند.
ویژگی کمترین طول پسورد در IOS سیسکو
IOSسیسکو توانایی اجبار به استفاده از رمزهای عبور با حداقل طول برای کاربران را دارد. این سیاست قابل اعمال به رمزهای عبور زیر میباشد:
user password
enable password
enable secret
line password
این ویژگی از طریق دستور زیر یم تواند به کار گرفته شود:
Router(config)# security passwords min-length length
وقتی این دستور اجرا شود، هر پسوردی با طول کمتر از مقداری که در این دستور در نظرگرفته شده، مردود میباشد.
توجه: این ویژگی نمیتواند هیچ محافظتی در برابر حمله دیکشنری انجام دهد.
محدود کردن تعداد دفعات ورود
برای مقابله با حمله دیکشنری میتوان یک تأخیر بین هر دو درخواست ورود تعریف کرد. این کار باعث کاهش سرعت حمله، افزایش زمان مورد نیاز برای موفقیت حمله و افزایش بازه زمانی برای تشخیص رفتارهای غیرعادی میشود. در IOSسیسکو برای اعمال تاخیر بین درخواستهای ورود پی در پی میتوان از دستور login delayاستفاده
کرد. به طور پیشفرض یک ثانیه تأخیر برای این منظور در نظر گرفته شده است:
Router(config)# login delay <seconds>
محدود کردن تعداد دفعات ورود ناموفق در یک بازه زمانی مشخص
برای مقابله با حمله دیکشنری میتوان تعداد دفعات درخواستهای ورود ناموفق به تجهیز را در یک بازه زمانی معین، محدود کرد. این کار باعث کاهش سرعت حمله، افزایش زمان مورد نیاز برای موفقیت حمله و افزایش بازه زمانی برای تشخیص رفتارهای غیرعادی میشود. اگر از سرور AAA برای احراز اصالت درخواستهای ورود به سیستم استفاده شده باشد، این سرور به طور معمول دارای این ویژگی است که اگر تعداد مشخصی درخواست ورود ناموفق انجام شده باشد، سیستم برای
یک بازه زمانی مشخص قفل میشود و در این بازه امکان ورود به سیستم وجود نخواهد داشت. اگر از سرورAAAاستفاده نشده باشد، باید از ویژگیهای سیستم عامل نرمافزاری سیسکو بهره برد.
در IOSسیسکو برای تعریف حداکثر تعداد دفعات تلاش برای ورود به دستگاه در یک بازه زمانی مشخص، به طوری که بعد از آن دستگاه برای یک زمان معین اجازه وارد شدن را ندهد، از دستور زیر میتوان استفاده کرد:
Router(config)# login block-for seconds attempts tries within seconds
همچنین در سیستم عامل نرم افزاری سیسکو میتوان یک ACLاستثناء برای سیستمها و شبکههای مورد اعتماد و مجاز، با استفاده از دستور زیر تعیین کرد:
Router (config)# login quiet-mode access-class
در مثال زیر روتر به گونهای پیکربندی شده است که اگر در بازه زمانی ۱۰۰ثانیه تعداد دفعات تلاش برای وارد شدن به تجهیز از ۱۵مرتبه تجاوز کند، دستگاه برای یک بازه زمانی ۱۰۰ثانیهای اجازه هیچگونه وارد شدن به دستگاه مگر برای سیستمهایی که در ACL 10تعریف شدهاند را نمیدهد:
Router(config)# access-list 10 permit host 172.26.150.206
Router(config)# login block-for 100 attempts 15 within 100
Router(config)# login quiet-mode access-class 10
رزرو یک ترمینال یا و پورت
هدف یک حمله DoS به تجهیزات موجود در زیر ساخت میتواند ترمینال یا و پورتها باشد. این نوع از حمله به این حقیقت اشاره دارد که تعداد محدودی از ترمینال یا وها پورتها در دسترس هستند و اگر تمام پورت ها مورد استفاده قرار گیرند، حتی اگر ارتباطی احراز اصالت نشده باشد، امکان ایجاد هیچ ارتباط جدیدی وجود ندارد. تجهیزات سیسکو )مبتنی بر سیستم عامل (IOSدارای تعداد محدودی خطوط VTYهستند که به طور معمول این تعداد ۵خط میباشد. زمانی که تمام این خطوط VTYمورد استفاده قرار میگیرند، هیچ ارتباط از راه دوری نمیتواند برقرار گردد. با توجه به این موضوع شرایط برای انجام یک حمله DOS میتواند فراهم شود. اگر حملهکننده بتواند تمامی خطوطVTYرا از راه دور اشغال کند، دیگر کاربران مجاز نمیتوانند به سیستم دسترسی داشته باشند. حمله کننده نیازی به وارد شدن به تجهیز برای عملی کردن حمله خود ندارد و پس از وارد شدن به صفحه ، loginنشست را رها میکند. استفاده از AAAنمیتواند از وقوع این حمله جلوگیری کند چون حملهکننده اصلاً نیازی به تلاش برای وارد شدن به تجهیز ندارد و تنها کاری که برای انجام حمله باید انجام دهد این است که یک ارتباط با پورت مورد نظر برقرار نماید، بنابراین این پورت برای دیگر کاربران قابل استفاده نخواهد بود.
یکی از روشهای مقابله با این نوع حمله، اعمال محدودیت دسترسی قوی برای یک ترمینال یا پورت مشخص میباشد، به طور مثال برای یک پورت میتوان اینگونه تعریف کرد که فقط از یکی از سیستمهای NoCقابل دسترسی باشد. در IOSسیسکو این موضوع با استفاده از اعمال ACLهای محدودکننده قوی بر روی آخرین VTYصورت میگیرد. آخرین VTYکه معمولاً VTY4میباشد، میتواند تنها به برقراری ارتباط از سوی یک سیستم معین و مشخص محدود شود و بقیه VTYها بتوانند به درخواستهای ارتباط از سوی هر آدرسی پاسخ دهند:
access-list 10 permit <NOCsubnet> <inverse-mask>
access-list 20 permit host <NOC-Host>
line vty 0 3
access-class 10 in
line vty 4
access-class 20 in
بنرهای مجاز اطلاع رسانی
توصیه میشود که بر روی تمام sessionهای ارتباطی، یک بنر به منظور اطلاعرسانی سیاستهای امنیتی که کاربر ملزم به رعایت آنها میباشد، ایجاد شود. این اطلاعات شامل مواردی همچون تعیین کاربران مجاز و دسترسی آنها و یا اخطار به کاربران غیر مجاز و عواقب دسترسی غیرمجاز آنها میتواند باشد. اگر از دیدگاه امنیتی به قضیه نگاه شود، دراین صورت در بنرها نباید هیچگونه اطلاعات خاصی درباره تجهیز از جمله نام، مدل، نرم افزار، محل قرارگیری، اپراتور یا و صاحب آن ذکر شود، به این دلیل که این نوع اطلاعات ممکن است برای حمله کننده مفید واقع شود در IOSسیسکو تنظیمات معینی برای نمایش این هشدارها در دسترس است. این موارد شاملbanner motd. میباشندbanner exec وbanner incoming ، banner login ، زمانی که یک کاربر به یک تجهیز سیسکو مبتنی برIOSمتصل میشود، یک پیغام ، MOTD5 اگر تنظیم شده باشد، ظاهر میشود. پس از آن بنر مربوط به ( loginدر صورت تنظیم بودن) نشان داده خواهد. پس از ورود موفق کاربر به تجهیز، اگر این ورود با استفاده از telnetصورت گرفته باشد، بنر ورودی و اگر به روشهای دیگری به تجهیز متصل شده باشد بنر EXECنشان داده خواهد شد. توصیه میشود که یکی از دو بنر MOTDو یا Loginدر تجهیز فعال شود. در این صورت بر روی تمام sessionها هنگام برقراری ارتباط با تجهیز و قبل از نمایش login promtاطلاعات مربوط به بنر نشان داده خواهد شد.
سرویسهای AAA
مروری بر :AAAدر واقع AAAیک چارچوب معماری برای پیکربندی سه اصل امنیتی مجزا از هم در کنار یکدیگر به روش ماژولار میباشد. این اصول در زیر آورده شدهاند:
Authenticationاحراز اصالت کاربر قبل از اینکه بتواند به شبکه و یا سرویسهای آن دسترسی داشته باشد.
Authorizationتعیین سطح دسترسی برای کاربری که احراز اصالت شده است.
Accountingتوانایی پیگیری دسترسیهای کاربر که میتواند شامل مشخصات، زمان شروع و پایان اتصال، دستورات اجرا شده، تعداد بستهها و یا بایتهای ارسالی و دریافتی توسط وی باشد.
AAAروش توصیه شده برای کنترل دسترسی است. IOSسیسکو برای تسهیل کنترل دسترسی ویژگیهایی از جمله احراز اصالت محلی نام کاربری ۶و احراز اصالت رمز عبور خطوط ۷در اختیار میگذارد. در هر صورت این ویژگیها قابل مقایسه با سطح کنترل دسترسی که AAAدر اختیار میگذارد نیست و استفاده از آنها توصیه نمیشود. اگر یک سرور مجزا برای تنظیمات AAAدر دسترس نباشد، باید آن را بر روی دیتابیس محلی خود دستگاه پیکربندی کرد. سه متد مربوط به AAAبا اعمال آنها بر روی اینترفیسها فعال میشود. AAAاز پروتکلهایی از جمله + RADIUS, TACACSیا وKerbrosبرای تامین امنیت استفاده میکند.
متمرکزسازی AAA
روش پیشنهادی برای پیادهسازی ، AAAمتمرکزسازی آن بر روی یک سرور به همراه یک رمزعبور برای حالت جایگزین میباشد. از این رمز عبور مواقعی استفاده میشود که عملیات احراز اصالت توسط سرور AAA امکانپذیر نباشد. مهمترین مزایای متمرکزسازی سرور AAAشامل موارد زیر است:
مدیریت : نام کاربری و رمز ورود به طور جداگانه در یک محل مرکزی ذخیره میشوند که میتوانند به صورت مستقل توسط تجهیزات مختلف استفاده شوند.
مقیاسپذیری: مقیاس سرورهای AAAمیتوانند به طور مستقل بر حسب اندازه دیتابیس مربوط به کاربران و تعداد تراکنشهای انجام شده در ثانیه تغییر یابد.
امنیت : رمزهای عبور میتوانند در یک روتر به صورت رمزشده و با در یک دیتابیس ذخیره شوند. ولی حتی اگر آنها رمزشده هم باشند، باز هم قابل رمزگشایی هستند.
توانایی حسابرسی : از تمامی دسترسیها و sessionهای مجازبه طور مستقل گزارشگیری میشود.
پیشنهاد میشود بهجای استفاده از مکانیزمهای موجود در سیستمعامل نرمافزاری سیسکو برای احراز اصالت، ازAAAاستفاده شود. در این صورت میتوان بهجای استفاده از یک نام کاربری و رمزعبور برای همه کاربران، برای هر کدام از آنها رمزعبور جداگانه در نظر گرفت.
گروههای سرور AAA
در IOS سیسکو یک گروه سرور AAAدر واقع یک لیست از سرورهای AAAهمنوع است، مثلاً RADIUS یا + TACACSکه برای اجرای AAAمورد نیاز است. استفاده از گروه سرور AAAبهجای استفاده از سرورهای AAAبرای هر هدف مشخص، قابلیت انعطافپذیری بیشتری را فراهم میکند. برای مثال میتوان از سرورهای AAAمختلف برای سرویسهای گوناگون AAAبه منظور جداسازی دسترسی کاربران به تجهیزات استفاده کرد. مثلاً احرازاصالت برای دسترسی به تجهیزات زیرساخت از طریق سرور + TACACSو احراز اصالت کاربران عادی از طریق سرورRADIUSانجام شود:
aaa group server tacacs+ adminAAAgroup
server TAC+server1
server TAC+server2
!
aaa group server radius enduserAAAgroup
server RADserver1
server RADserver2
لیست روشهای AAA
AAA از طریق اعمال لیستهای تعیین شده بر روی اینترفیسهای مشخص اجرا میشود. این لیستها شـامل روشهای احراز اصالت و تعیین سطح دسترسی مشخصی میباشند که باید بر روی اینترفیسها اعمـال شـوند. این لیستها میتوانند بر اساس یک یا چندین پروتکل امنیتی برای عملیات احراز اصـالت و یـا تعیـین سـطح دسترسی عمل کنند.IOSسیسکو به این ترتیب عمل میکند که ابتدا اولین خط لیست مربوط بـه AAAرا بررسـی مـیکنـد، اگـر ارتباط با بررسی این خط ایجاد نشود، خط دوم از لیست بررسی میشود. این کار ادامه پیدا میکند تا اینکه بـا بررسی یکی از خطوط لیست ارتباط برقرار شود و یا اینکه لیست تمام شود، که در این صورت هـیج ارتبـاطی
شکل نمیگیرد.
یک نمونه از این لیستها که با نام adminAuthen-list مشخص شده است، در زیر نشـان داده شـده اسـت. اولین متد از این لیست سعی در انجام احراز اصالت از طریـق سـرور + TACACSدراد کـه در گـروه سـرور adminAAAgroupاست. اگر احراز اصالت از طریق این متد انجام نشود، احراز اصالت به صورت محلی انجام
میگیرد.
aaa authentication login adminAuthen-list group adminAAAgroup local-case
aaa group server tacacs+ adminAAAgroup
server TAC+server1
server TAC+server2
این لیستها برای اجرا شدن باید بر روی یک اینترفیس اعمال شوند. تنها استثنا در این حالت، لیست پیش فرضAAAبا نام defaultمیباشد. این لیستها به صورت خودکار بر روی تمام اینترفیسها فعال میشوند، البته اگر لیستی قبلاً اعمال نشده باشد. همچنین با اعمال یک لیست روی اینترفیس، این لیست بر روی لیست پیشفرض بازنویسی میشود.
aaa authentication login default group enduserAAAgroup local-case
aaa group server radius enduserAAAgroup
server RADserver1
برقراری امنیت ارتباط سرور AAA
ارتباط بین احراز اصالت کننده ( ۸یا همان ) NAS9و سرور AAAبه طور معمول از طریق RADIUSیا + TACACSانجام میگیرد. امنیت این ارتباط به طور خلاصه در زیر آورده شده است:
تراکنشها و تعاملات RADIUSو + TACACSاز طریق یک کلید ثابت و مشترک احراز اصالت میشوند. این کلید بر اساس نام تجهیز یا آدرس IPآن میباشد و هرگز بر روی بستر شبکه ارسال نمیشود.
RADIUSطبق استاندارد تنها قسمت رمزعبور کاربر را رمزنگاری می .کند بقیه قسمتهای بسته به صورت فاش ارسال میشود که در این صورت در برابر شنود آسیبپذیر میباشد.
+ TACACSکل محتوای بسته را رمز میکند. در این روش اگر چه محرمانگی اطلاعات حفظ می شود ولی الگوریتم رمزنگاری استفاده شده در آن خیلی قوی نمیباشد.
راهنمای کلی برای امن کردن ارتباط AAAبه صورت زیر است:
استفاده از کلیدهای قوی به منظور انجام عملیات احراز اصالت برای سرور AAAو NAS
تغییر کلید استفاده شده برای احراز اصالت سرور AAAو NASبه طور منظم
محدود کردن ارتباطات AAAبا تعدادی از یها سرور مجاز AAAو یها پورت ارتباطی AAAبا استفاده از ACLهای نوع extended
از آنجایی که RADIUSیا + TACACSاز رمزنگاری و عملیات احراز اصالت قوی پشتیبانی نمی کنند، توصیه میشود که از OOB10یا IPSecبرای حفاظت از تراکنشها و تعاملات سرور AAAدر برابر حملات استفاده شود.
سرویسهای حسابداری مبتنی بر AAA
موضوع مهمی که باید در نظر گرفته شود، ثبت دسترسیهایی است که به یک تجهیز صورت میگیرد. یکی از روشهای ثبت گزارش دسترسی به تجهیزات استفاده از سرویسهای AAAمیباشد. با استفاده از این مکانیزم میتوان سرویسهایی که کاربران به آنها دسترسی دارند و یا میزان ترافیک مصرفی آنها را پیگیری کرد. با فعالشدن سرویسهای حسابداری مبتنی بر ، AAAتجهیزات زیرساخت فعالیتهای صورت گرفته توسط کاربران را به سرورAAAارسال میکنند. IOSسیسکو از ۵روش مختلف برای عملیات حسابداری پشتیبانی میکند:
: Network Accountingحسابداری شبکه اطلاعاتی در مورد نشستهای SLIP ، PPPو ARAPدر اختیار میگذارد که شامل شمارش تعداد بستهها و همچنین تعداد بایتها میباشد
: Connection Accountingاین قسمت اطلاعاتی در مورد تمام connectionهای برقرار شده از سرور به packet assembly- ، TN3270 ، local-area transport(LAT) ، Telnet سمت بیرون مثل ( disassembly)PADدر اختیار میگذارد.
: EXEC Accountingدر این قسمت اطلاعاتی در مورد نشستهای کاربران که در حالت EXECبه سرور متصل شدهاند، شامل نام کاربری، تاریخ، زمان شروع و پایان، آدرس IPو شماره تلفن در صورتی که کاربر به صورت dial-upمتصل شده باشد، در دسترس خواهد بود.
: Command Accountingاطلاعاتی که در این حالت میتوان بدست آورد شامل دستورات محیط EXEC میباشد که برای یک سطح دسترسی خاص بر روی سرور اجرا میشود. هر دستور به همراه تاریخ و زمان اجرای آن و کاربری که آن را اجرا کرده است، گزارشگیری میشود.
: System Accountingدر این قسمت اطلاعاتی در مورد تمام رخدادهای سطح سیستم (رای مثال زمانی که سیستم rebootمیشود) در دسترس خواهد بود.
مباحث پایه امنیت شبکه بر روی امنسازی زیرساخت شبکه و سرویسهای مهم تمرکز میکند. در نتیجه، حسابداری مبتنی بر AAAبا توجه به مباحث پایه امنیتی شبکه شامل موارد زیر است:
EXEC Accounting
Command Accounting
System Accounting
پروتکل SSH
SSHپروتکلی برای دسترسی امن از راه دور به تجهیز و انتقال فایل است. ایـن پروتکـل دارای مکـانیزم رمزنگاری و احراز اصالت قوی میباشد. به همین دلیل استفاده از آن بهجای بهـره بـردن از Telnetو یـا rlogin توصیه میشود.
معمولاً دو نسـخه از SSHوجـود دارد: SSHv1و . SSHv2در SSHv2ضـعفهـای امنیتـی نسـخه اول برطرف شده است. البته نسخه دوم از این پروتکل روی بعضی از تجهیزات پشتیبانی نمـیشـود ولـی IOS سیسکو از هر دو نسخه پشتیبانی میکند. مکانیزم احراز اصالت در SSHاز بسیاری پروتکلها مثل + RADIUS ، TACACSو احراز اصـالت RSA
پشتیبانی میکند. همچنین SSHاز الگوریتمهای رمزنگـاری ماننـد RC4-128 ، IDEA ، ۳DES ، DESو دیگر الگوریتمها پشتیبانی می .کند
برای فعال کردن SSHبر روی تجهیزات سیسکو باید مراحل زیر طی شوند:
گام اول: تعیین hostnameو پیکربندی دامنه DNSبرای روتر
گام :دوم تولید یک جفت کلید RSA
گام سوم به : طور اختیاری میتوان یک time-outو محدودیتی برای تعداد تلاشهای ورود بـه تجهیز قرار داد به. طور پیش فرض time–outبرابر ۱۲۰ثانیه و تعداد تلاشهـا بـرای احـراز اصالت پیدرپی، ۳مرتبه در نظر گرفته شده است.
گام چهارم: محدود کردن دسترسی VTYها فقط از طریق . SSHاکیداً توصیه مـیشـود ایـن مرحله بر روی تجهیز انجام شود.
گام پنجم: محدود کردن دسترسی از طریق SSHفقط برای کاربران یا شبکه های مجاز در مثال زیر نحوه پیکربندی SSHبر روی یک تجهیز سیسکو نشان داده شده است:
!Step 1: Configure a hostname and domain name
Router(config)# hostname router
Router (config)# ip domain-name nyc.cisco.com
—!Step 2: Generate an RSA key pair, automatically enabling SSH.
Router (config)# cry key generate rsa
—!Step 3: Configure time-out and number of authentication retries.
Router (config)# ip ssh time-out 60
Router (config)# ip ssh authentication-retries 2
—!Step 4: Configure VTYs to only accept SSH .
Router (config)# line vty 0 4
Router (config-line)# transport input ssh
—!Step 5: Allow SSH connections only originated from the management network.
Router (config)# access-list 111 remark ACL for SSH
Router (config)# access-list 111 permit tcp 172.26.0.0 0.0.255.255 any eq 22
Router (config)# access-list 111 deny ip any any log-input
Router (config)# line vty 0 4
Router (config-line)# access-class 111 in
دسترسی گرافیکی به تجهیز مبتنی بر وب
امروزه تقریباً تمام محصولات شبکه را میتوان از طریق محیط گرافیکی مبتنـی بـر وب پیکربنـدی کـرد. ایـن روش بهخاطر سهولت استفاده از آن بسیار پر استفاده میباشد. در این روش تنها بـه یـک مرورگـر وب نیـاز داریم. به هر حال ممکن است بعضی از این محیطهای گرافیکی مبتنی بر وب از پروتکـلهـای نـا امنـی مثـل HTTP استفاده کنند. پروتکل HTTPاطلاعات را به صورت فاش در شبکه ارسال میکنـد. ازایـنرو HTTPدر برابـر شنود و دیگر حملهها آسیبپذیر است. توصیه میشود که دسترسی از طریق این پروتکل غیرفعـال و بـهجـای آن از HTTPSاستفاده شود. HTTPSازSSLو TLSبرای رمزنگاری اطلاعات و احراز اصالت اسـتفاده مـیکند.
پروتکل HTTP
در IOSسیسکو به طور پیش فرض httpغیرفعال است. HTTPاز طریق دستور زیر میتواند غیر فعال شود:
Router(config)# no ip http server
برای حالتهایی که استفاده از پروتکل HTTPSمقدور نمیباشد و حتماً باید از پروتکـل HTTPاسـتفاده کـرد،
در IOSسیسکو برای فعال کردن احراز اصالت از طریق پروتکل HTTPبایستی از دستور زیر استفاده کرد. در مثال زیر نحوه انجام تنظیمات احراز اصالت بر اساس HTTPکه از پروتکـل + TACTACSاسـتفاده مـیکنـد، نشان داده شده است.
username adminuser privilege 15 password <mypassword>
aaa new-model
aaa authentication login default group adminAAAgroup local-case
aaa authorization exec default group adminAAAgroup local
aaa accounting exec default start-stop group adminAAAgroup
!
ip http server
ip http authentication aaa
!
!HTTP access requires telnet service being accepted at the VTY
line vty 0 4
transport input telnet
پروتکل HTTPS
در IOSسیسکو برای فعالکردن سرویس HTTPSاز دستور زیر باید استفاده کرد:
Router(config)# ip http secure-server
پروتکل SNMP
SNMP مشهرترین پروتکل برای مدیریت شبکه است و تقریباً تمامی دستگاههای شبکه از آن پشتیبانی مـیکنند. سه نسخه از SNMP وجود دارد :
نسخه ، ۱قدیمیترین نسخه آن است که هنوز هم البته به طور اندک در حال استفاده میباشد .
نسخه ، c2که بیشترین استفاده از این نسخه میباشد.
نسخه ، ۳این نسخه استاندارد IETFمیباشد که دارای امنیت بالایی است .
SNMPنسخه ۱و c2از نظر امنیتی ضعیف میباشند. در این دو نسخه فقط دسترسیهای احراز اصالت شده به دیتابیسMIBاز community stringاستفاده میکنند. علاوه بر این تمام اطلاعات به صورت فاش ارسال میشوند. ضمن اینکه هیچ کدام از این دو نسخه از رمزنگاری پشتیبانی نمیکنند. در SNMP v3این مشکلات امنیتی با استفاده از مکانیزمهایی از جمله احراز اصالت، بررسی صحت پیام، کنترل دسترسی و رمزنگاری رفع شده است. در این نسخه با استفاده از الگوریتم رمزنگاری DES تمامی اطلاعات رمز میشوند. با توجه به ویژگیهای SNMPv3توصیه میشود که از این نسخه استفاده شود. راهنمای کلی برای امنسازی SNMPدر زیر آمده است. در صورت نیاز نداشتن به این پروتکل، باید آن را غیرفعال کرد:
فقط از ویژگیهای مورد نیاز SNMPاستفاده کنید.
باید این ویژگیها فقط اجازه خوانده شدن داشته باشند.
بایستی از درخواستهایی که میخواهند کل جدول مسیریابی و جدول ARPرا با اسـتفاده از SNMP دانلود کنند، جلوگیری شود.
بایستی به community stringها همانند رمز عبور مدیر شبکه نگاه کرد.
بایستی community stringهای پیشفرض پاک شوند.
بایستی از community stringهای قوی استفاده کرد.
بایستی تعداد سیستمهایی که از آنها بتوان به تجهیز دسترسی SNMPداشت، محـدود شـوند. ایـن کار با استفاده از ACLهای extendedو محدود کردن پورتهایی انجام میشود که پروتکـل SNMP از آنها استفاده میکند ).
بایستی اعمالی که در مورد SNMPتوسـط سیسـتمهـای مجـاز مـیتـوان انجـام داد، بـا اسـتفاده ازcommunity stringهای متفاوت محدود شود.
اگر فقط از نسخه ۳استفاده میشود، باید از فعال بودن این نسخه و غیرفعال بـودن دیگـر نسـخه هـا اطمینان حاصل شود.
بایستی تنها trapهای مهم فعال شوند.
بایستی هنگامی که عملیات احراز اصالت community nameبا موفقیت انجـام نمـیشـود، یـک trap ارسال شود.
بایستی نظارت منظم بر SNMP trapها صورت پذیرد.
اگر نیاز به استفاده از نسخههای ۲و ۱وجود داشته باشد، توصیه میشود که حتماً با استفاده از IPSecتعاملات SNMPدر برابر حملات امن شوند.
محافظت از اطلاعات محلی ذخیره شده
تجهیزات سیسکو بعضی از اطلاعات حساس مانند رمزهای عبور و یا کلیدهای رمزنگاری را به صورت محلـی ذخیره میکنند. تمامی رمزهای عبور باید توسط یک سرور مرکزی AAAکنترل و نگهداری شوند. مزیت ایـن روش میتواند به مدیریت امن رمزهای عبور، توانایی اجبار به استفاده از رمزهای عبور قوی، قفل شدن حساب کاربری بعد از تعداد مشخصی ورود ناموفق، اجبار کـاربران بـه تغییـر رمزهـای عبـور بـه صـورت دورهای و بسیاری مزایای دیگر منجر شود. علاوه بر این در این حالت رمزهای عبور در مکان امـن ذخیـره مـیشـوند و امکان تهیه نسخه پشتیبان از آنها نیز وجود دارد.
با این وجود حتی اگر یک سرور AAAمرکزی ایجاد شود تعدادی از پسوردهای محلی برای حالتهای خاصی ذخیره میگردند، مثلاً در حالتی که سرورهای AAAدر دسترس نباشد. البته در صورتی که یک سرورمرکزی AAAنیز وجود داشته باشد، به دلیل اینکه ممکـن اسـت مـواقعی ایـن سرور در دسترس نباشد، باز هم باید تعدادی رمزعبور که به صورت محلی ذخیره شدهاند، وجود داشته باشد. IOSسیسکو برای ذخیره امن اطلاعات، ویژگیهای زیر را در اختیار میگذارد
Global passeord encryption
Local user password encryption
Ecable secret
رمزنگاری اطلاعات حساس شامل رمزهای عبور به دلیل حفظ محرمانگی آنها هنگـام مشـاهده و یـا هنگـام ارسال اطلاعات میباشد.
:Global password encryptionدر فایل تنظیمات سیسکو به طـور پـیشفـرض رمزهـای عبـور بـه صورت فاش ذخیره شدهاند. برای حفاظت از آنها میتوان با استفاده از دستور زیر اطلاعات حسـاس را رمز کرد:
Router(config)# service password-encryption
با این حال الگوریتم استفاده شده در این دستور امن نمیباشد و اطلاعـات رمـز شـده توسـط آن بـه سادگی قابل رمزگشایی هستند. در نتیجه این دستور فقط برای حالتی مناسب است که فـرد در حـال مشاهده تنظیمات تجهیز بوده و همکار فرد نیز در همین حال آنها را مشاهده میکند ولـی قـادر بـه تشخیص رمزهای عبور نمیتواند باشد. البته تمام اطلاعات حساس موجود در فایل تنظیمات با استفاده از این دستور رمز نمیشوند و بایـد از کل این فایل که حاوی اطلاعات حساسی است به طور مؤثر محافظت شود. البته IOSسیسکو از رمزنگاری قویتری نیز برای محافظت از رمزهای عبور کـه بـه صـورت محلـی ذخیره شدهاند، پشتیبانی میکند. این کـار بـا اسـتفاده از enable secret بـه جـای اسـتفاده از enable password میتواند انجام میشود.
:Local User Password Encryptionنامهای کاربری و رمزهای عبور باید در امنترین فضای تجهیـز ذخیره شوند. از این حسابهای کاربری فقط باید در حالتی استفاده شود که احـراز اصـالت از طریـق سرور AAAامکان پذیر نمیباشد. در IOSسیسکو، رمزهای عبور مربوط به نامهای کاربری که به صورت محلی ذخیره شـدهانـد، مـیتوانند با استفاده از الگوریتم رمز قوی MD5با استفاده از دستور زیر رمزنگاری شوند
Router(config)# username <name> secret <strongpassword>
نکته قابل توجه این است که رمزنگاری MD5برگشتپذیر نمیباشد و نمیتواند همراه پروتکلهـایی که نیاز به استفاده از رمزهای عبور به صورت فاش دارند، مثل ، CHAPاستفاده گردد.
• :Enable Secretدر IOSسیسکو مـیتـوان بـا اسـتفاده از دسـتور enableبـه محـیط EXEC دسترسی داشت. توصیه میشود به منظور ایجاد رمز عبور برای این محیط، بهجای اسـتفادهاز الگوریتم رمـزenable secret . استفاده شودenable secret از دستورenable password دستور MD5استفاده می .کند
Router(config)# enable secret <strongpassword>
اگر enable passwordنیز ایجاد شده باشد، باید با استفاده از دستور زیر آن را غیرفعال کرد.
Router(config)# no enable password
البته با انجام این مراحل، همچنان آسیبپذیری نسبت به حلمه dictionaryباقی میماند.
ثبت گزارش دسترسی به تجهیزات زیرساخت
بایستی دسترسی به تجهیزات زیرساخت و تغییراتی که در فایل تنظیمات انجـام مـیشـود، طبـق مـوارد زیـر گزارشگیری شود:
چه کسی به وسیله دسترسی داشته است.
چه موقع یک کاربر وارد شده است.
کاربر چه فعالیتی انجام داده است.
چه موقع کاربر خارج شده است.
تلاش های ناموفق برای وارد شدن به تجهیز
درخواستهای ناموفق احراز اصالت
درخواستهای ناموفق کسب مجوز دسترسی
ثبت گزارشهای مربوط به محیط EXEC بر اساس AAA
در این قسمت اطلاعاتی در مورد تمام کاربران محیط EXECمربوط به تجهیزات زیرساخت شبکه شامل نام کاربری، تاریخ، زمان شروع و پایان، آدرس IPتجهیز و آدرس IPمبدأ مربوط به کاربر در دسترس میباشد. برای فعال کردن AAA EXEC Accountingبایستی از دستورهای زیر استفاده کرد. در این مثال یک پیکربندی نمونه از اعمال این سرویس بر روی خطوط VTYنشان داده شده است.
aaa accounting exec account-exec-list start-stop group adminAAAgroup
line vty 0 4
accounting exec account-exec-list
ثبت گزارشهای احراز اصالتهای ناموفق
برای اینکه بتوان گزارشهای مربوط به احراز اصالتهای ناموفق برای ورود به تجهیز یا عدم برقراری ارتباط PPPبرای کاربرانی که به طور موفق احراز اصالت شدهاند را ثبت کرد، از دستور زیر باید استفاده کرد:
Router (config)# aaa accounting send stop-record authentication failure
ثبت گزارشهای مربوط به دستورهای وارد شده
این ویژگی تنها زمانی قابل اجرا میباشد که از + TACACSاستفاده شده باشد و اطلاعاتی در مورد دستوراتی که در محیط EXECیک تجهیز زیرساخت، تحت یک سطح دسترسی خاص وارد شدهاند، در اختیار قرار میدهد. جزئیات این اطلاعات شامل تاریخ، زمان و کاربری است که دستور مربوطه را اجرا کرده است. برای استفاده از این سرویس از دستورات زیر باید استفاده کرد.
aaa accounting exec
aaa accounting commands 15 account-exec-list start-stop group tacacs-group
line vty 0 4
accounting commands 15 account-exec-list
هنگامی که از این سرویس استفاده میشود، تمامی دستورهایی که در حالت enableوارد میشوند، از آنها گزارش گرفته میشود. در نتیجه هرگونه تغییر در اطلاعات حساس تجهیز مانند enable secretنباید در محیط CLIاعمال شوند مگر اینکه این سرویس به طور موقت غیرفعال شده باشد. راه حل پیشنهادی این است که تغییرات مورد نظر به صورت آفلاین انجام شوند و پس از آن این فایل به طور امن به تجهیز انتقال داده شود.
ثبت گزارشهای سیستم
برای فعال کردن این سرویس در یک تجهیز سیسکو از دستورات زیر استفاده میشود:
aaa accounting system
Router (config)# aaa accounting system default start-stop group tacacs-group
ثبت گزارشهای دسترسی به دستگاه
IOSسیسکو توانایی ارسال یک syslog trapبرای ورودهای موفق یا ناموفق به دسـتگاه را دارد. بـا اسـتفاده از دستورات زیر میتوان از این ویژگی استفاده کرد:
Router(config)# login on-success log
Router(config)# login on-failure log
اطلاع رسانی و ثبت گزارشهای تغییر تنظیمات
در IOSسیسکو هر تغییری که در پیکربندی تجهیز صورت بگیرد به صورت مناسب به کاربر اطلاع رسانی و ثبت میشوند. این گزارشهای شامل موارد زیر است:
دستوری که اجرا شده است.
محیط و سطح دسترسی که دستور در آن اجرا شده است.
کاربری که دستور را اجرا کرده است.
زمان اجرای دستور
برای فعال کردن ثبت گزارشها از دستورات زیر استفاده میشود:
Enter archive mode
Router(config)# archive
!
!Enter the archive configuration change logger configuration mode
Router(config-archive)# log config
!
Enable configuration change logging
Router(config-archive-log-config)# logging enable
!
!Set the maximum number of configuration change log entries as 200
Router(config-archive-log-config)# logging size 200
!
!Prevent passwords from being displayed in the configuration log
Router(config-archive-log-config)# hidekeys
!
!Enable configuration change messages to be sent to a syslog server
Router(config-archive-log-config)# notify syslog
نمایش گزارشهای ثبتشده در مورد تغییر پیکربندیها
گزارشهای ثبت شده در تجهیز را میتوان با استفاده از دستور زیر مشاهده کرد:
Router# show archive log config all
برای مقایسه خط به خط یک فایل پیکربندی با پیکربندی فعلی تجهیز میتوان از دستور زیر استفاده کرد:
Router# show archive config incremental-diffs nvram:startup-config
همچنین برای مقایسه دو فایل پیکربندی و تعیین تفاوتهای آنها میتوان از دستور زیر استفاده کرد:
Router# show archive config differences nvram:startup-config
پروتکلهای انتقال فایل
برای انتقال فایل در طول شبکه میتوان از پروتکلهای زیر استفاده کرد:
File Transfer Protocol (FTP)
Trivial File Transfer Protocol (TFTP)
Srcure Copy (SCP)
FTPو TFTPدارای کمترین امنیت میباشند و اطلاعات را به صورت فاش در طول شبکه ارسال میکنند. در حالی کهSCPاز SSHبرای احراز اصالت و رمزنگاری استفاده میکند. پروتکـل TFTPدارای مکـانیزم احـراز اصالت نمیباشد در صورتی که FTPبا استفاده از درخواست نام کاربری و رمزعبور، کاربران را احراز اصـالت میکند. توصیه میشود که از پروتکل SCPبرای انتقال فایل استفاده شود. البته برای استفاده از این پروتکل بایـد قـبلاً SSHبه طور صحیح بر روی تجهیز پیکربندی شده باشد. با استفاده از دستور زیر میتوان پروتکل SCPرا بـر روی یک تجهیز سیسکو فعال کرد:
Router(config)# ip scp server enable
همچنین برای حصول اطمینان از دسترسی تنها کاربران احراز اصالت شده و مجاز به SCPباید تنظیمـات لازم درAAAانجام شود.
!AAA authentication and authorization must be configured properly for SCP to work.
aaa new-model
aaa authorization exec default group tacacs-group local
aaa authorization exec default group tacacs-group local
username <admin-user> privilege 15 password <password>
!SSH must be configured and functioning properly.
ip ssh time-out 120
ip ssh authentication-retries 3
تاییدیه نرم افزار
برای بررسی IOS فعلی یک تجهیز سیسکو و اطمینان از معتبر بودن آن، باید از دستورات زیـر اسـتفاده کـرد. این کار در واقع با مقایسه مقدار MD5 سیستم عامل فعلی با مقدار اصلی که باید داشته باشد، انجام میگیرد. برای بررسی خودکار معتبر بودن IOS سیسکو از دستورات زیر باید استفاده کرد:
Router(config)# file verify auto
و برای انجام این کار به صورت دستی از دستور زیر استفاده میشود.
Router# verify location://image