چرا سختسازی پایه دستگاه اول میآید
ویژگیهای امنیتی پیشرفته مانند ACL ها، که پیشتر در این مجموعه بحث شد، و VPN ها بیمعنا هستند اگر خود دستگاههای شبکه زیربنایی توسط یک طرف غیرمجاز قابلدسترسی و بازپیکربندی باشند. Device Hardening (سختسازی دستگاه) به اعمال امنیتی پایهای اشاره میکند که پیش از در نظر گرفتن هر محافظت پیشرفتهتری روی هر روتر و سوئیچ اعمال میشود.
ایمنسازی دسترسی اداری
بهطور پیشفرض، چند رمز عبور سطوح دسترسی مختلف را روی یک دستگاه سیسکو محافظت میکنند، و هرکدام باید عمداً پیکربندی شوند — یک رمز عبور پیکربندینشده اغلب یعنی هیچ محافظتی بهجای یک پیشفرض امن.
Router(config)# enable secret MyStr0ngP@ss
-- دسترسی حالت privileged EXEC را محافظت میکند،
-- بهعنوان یک هش رمزگذاریشده بهجای متن-ساده
-- ذخیره میشود، برخلاف "enable password" قدیمیتر
Router(config)# line console 0
Router(config-line)# password ConsoleP@ss
Router(config-line)# login
-- دسترسی کنسول فیزیکی را محافظت میکند
Router(config)# line vty 0 15
Router(config-line)# password VtyP@ss
Router(config-line)# login
Router(config-line)# transport input ssh
-- دسترسی از راه دور را محافظت میکند، محدود فقط به SSHenable secret همیشه باید بهجای دستور قدیمیتر enable password استفاده شود، چون دستور قدیمیتر رمز عبور را در یک فرمت ضعیفاً معکوسپذیر ذخیره میکند، در حالی که enable secret یک مقدار بهدرستی هششده را ذخیره میکند که حتی اگر فایل پیکربندی افشا شود عملاً معکوسپذیر نیست.
رمزگذاری رمزهای عبور ذخیرهشده محلی
چند رمز عبور پیکربندیشده با نحو قدیمیتر بهطور پیشفرض بهصورت متن-ساده مستقیماً درون پیکربندی در حال اجرا ذخیره میشوند، قابلمشاهده برای هرکسی که بتواند فایل پیکربندی را مشاهده کند.
Router(config)# service password-encryption
-- بهطور گذشتهنگر همه رمزهای عبور متن-ساده
-- فعلاً پیکربندیشده را با استفاده از یک رمزگذاری
-- ضعیف و معکوسپذیر رمزگذاری میکند (یک هش
-- رمزنگاری واقعی نیست)
-- این یک محافظت پایه حداقلی است، نه
-- جایگزینی برای "enable secret"، که از
-- هشینگ واقعاً قوی استفاده میکندمهم است درک شود service password-encryption فقط یک مبهمسازی ضعیف فراهم میکند، که بهراحتی با ابزارهای بهطور گسترده در دسترس معکوس میشود — از نگاهکردن-از-روی-شانه معمولی به یک فایل پیکربندی جلوگیری میکند اما هرگز نباید بهعنوان امنیت واقعی در برابر یک مهاجم مصمم به آن تکیه شود.
پیکربندی SSH بهجای Telnet
Telnet همه ترافیک، شامل رمزهای عبور، را بهصورت متن-ساده منتقل میکند، که آن را برای هرکسی با دسترسی به مسیر شبکه بهطور بدیهی قابلرهگیری میکند — SSH این ترافیک را رمزگذاری میکند و همیشه باید بهجای آن در هر محیط تولیدی استفاده شود.
Router(config)# hostname R1
R1(config)# ip domain-name example.com
R1(config)# crypto key generate rsa
-- جفت کلید مورد نیاز SSH را تولید میکند؛
-- روتر برای اندازه مدول کلید درخواست میکند
-- (2048 بیت یا بالاتر عمل استاندارد است)
R1(config)# username admin secret AdminP@ss
R1(config)# line vty 0 15
R1(config-line)# login local
R1(config-line)# transport input sshتولید جفت کلید RSA نیازمند این است که هم یک hostname و هم یک نام دامنه ابتدا پیکربندی شوند، چون کلید با نام دامنه کاملاًواجد دستگاه مرتبط است — تلاش برای تولید کلیدها پیش از تنظیم هر دو با یک خطا شکست میخورد.
امنیت پورت: محدودکردن اینکه کدام دستگاهها میتوانند متصل شوند
فراتر از ایمنسازی دسترسی اداری، Port Security (امنیت پورت) محدود میکند کدام دستگاهها میتوانند فیزیکاً به یک پورت سوئیچ متصل شوند، بر اساس آدرس MAC دستگاه متصلشونده، که پیشتر در این مجموعه بحث شد.
Switch(config)# interface gigabitethernet 1/0/5
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 2
Switch(config-if)# switchport port-security mac-address sticky
Switch(config-if)# switchport port-security violation shutdownکلیدواژه sticky به سوئیچ میگوید بهطور پویا اولین آدرسهای MAC دیدهشده روی پورت را یاد بگیرد و بهطور خودکار آنها را به پیکربندی در حال اجرا بهعنوان آدرسهای مجاز اضافه کند، بهجای نیاز به تایپ دستی هر آدرس MAC مورد انتظار توسط یک مدیر.
حالتهای نقض امنیت پورت
وقتی یک آدرس MAC غیرمجاز تلاش میکند متصل شود، پاسخ سوئیچ به حالت نقض پیکربندیشده بستگی دارد.
Shutdown (پیشفرض): پورت در حالت err-disabled
قرار میگیرد، و کاملاً همه ترافیک را متوقف
میکند تا بهصورت دستی دوباره فعال شود —
امنترین اما بالقوه مخلترین گزینه
Restrict: ترافیک نقضکننده دور ریخته میشود،
اما پورت برای ترافیک مشروع up میماند،
و یک پیام لاگ و افزایش شمارنده رخ میدهد
Protect: ترافیک نقضکننده بیسروصدا دور
ریخته میشود، بدون هیچ پیام لاگ تولیدشدهShutdown پیشفرض و رایجترین حالت مورد استفاده در تولید است، چون یک پورت که بهطور غیرمنتظره به حالت err-disabled میرود بلافاصله یک مدیر را برای بررسی هشدار میدهد، در حالی که حالتهای دیگر میتوانستند اجازه دهند یک نقض امنیتی برای مدت طولانی موردتوجهقرارنگرفته باقی بماند.
بازیابی یک پورت از حالت Err-Disabled
Switch# show interfaces gigabitethernet 1/0/5 status
-- تأیید میکند پورت "err-disabled" نشان میدهد
Switch(config)# interface gigabitethernet 1/0/5
Switch(config-if)# shutdown
Switch(config-if)# no shutdown
-- چرخش دستی پورت حالت err-disabled را
-- پاک میکند
-- جایگزین، بازیابی خودکار میتواند پیکربندی
-- شود تا این حالت را پس از یک زمانسنج
-- تعریفشده بدون مداخله دستی پاک کند:
Switch(config)# errdisable recovery cause psecure-violation
Switch(config)# errdisable recovery interval 300تأیید وضعیت امنیت پورت
Switch# show port-security interface gigabitethernet 1/0/5
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Shutdown
Maximum MAC Addresses : 2
Total MAC Addresses : 1
Sticky MAC Addresses : 1
Security Violation Count : 0این خروجی دقیقاً تأیید میکند پورت چه چیزی را اعمال میکند و وضعیت فعلیاش — یک بررسی اول ضروری هروقت یک دستگاه بهطور غیرمنتظره نتواند به یک پورت خاص متصل شود، چون یک نقض امنیت پورت که یک حالت err-disabled ایجاد میکند یک علت رایج و بهراحتی نادیدهگرفتهشده ازدسترفتن اتصال ناگهانی و غیرقابلتوضیح است.
چرا سختسازی پایه زیربنای هر امنیت شبکه است
هر موضوع امنیتی پیچیدهتر در شبکهسازی — VPN ها، فایروالها، جلوگیری از نفوذ — فرض میکند خود دستگاههای شبکه زیربنایی از قبل در برابر دسترسی اداری غیرمجاز و اتصالات فیزیکی غیرمجاز محافظت شدهاند. ردکردن این اصول بهنفع ویژگیهای پیشرفتهتر یک اشتباه رایج و جدی است؛ یک دستگاه با امنیت محیطی قوی اما یک رمز عبور enable پیشفرض یا ضعیف اساساً ناامن باقی میماند.