عوض کردن پسورد روتر و سوئیچ سیسکو در ظاهر یک خط دستور است، اما در عمل همان جایی است که بیشتر شبکهها ضعیفاند: رمز enable با enable password ، رمزهای type 7 که با یک ابزار آنلاین در چند ثانیه باز میشوند، Telnet باز روی خطوط VTY ، و یوزری که سالهاست همان رمز پیشفرض را دارد. اگر رمز فعلی را دارید، این راهنما نشان میدهد چطور رمزها را درست عوض کنید؛ اگر رمز را ندارید، اول سراغ ریست پسورد روتر سیسکو یا ریست پسورد سوئیچ سیسکو بروید.
همه دستورها روی IOS و IOS XE (روتر ISR ، Catalyst 8000 ، سوئیچهای کاتالیست) یکسان کار میکنند و توصیهها بر پایه راهنمای رسمی Harden Cisco IOS Devices است.
تعویض پسورد سیسکو در یک نگاه
| رمز enable | enable algorithm-type scrypt secret ؛ نه enable password |
| یوزر محلی | username … algorithm-type scrypt secret ؛ نه password |
| نوع رمز توصیهشده | type 9 (scrypt) و بعد type 8 (PBKDF2-SHA256) |
| رمزهای ضعیف | type 0 (متن ساده) ، type 7 (قابل بازگشایی) ، type 4 (منسوخ) |
| دسترسی راه دور | فقط SSH نسخه ۲ روی VTY ، با exec-timeout |
| AAA | با احتیاط فعال شود؛ همیشه یک یوزر محلی و مسیر fallback داشته باشید |
فهرست مطالب
سطحهای دسترسی در IOS
وقتی به روتر یا سوئیچ وصل میشوید، اول با یوزر و پسورد لاگین میکنید و معمولاً در User EXEC mode (prompt با >) قرار میگیرید که فقط اجازه دیدن محدود دارد. با دستور enable و وارد کردن رمز enable به Privileged EXEC mode (prompt با #) میروید و از آنجا با configure terminal وارد حالت کانفیگ میشوید.
User Access Verification Username: netadmin Password: BR-EDGE-01> enable Password: BR-EDGE-01# configure terminal BR-EDGE-01(config)#
IOS شانزده سطح دسترسی (Privilege Level) از ۰ تا ۱۵ دارد:
| سطح | معنی | کاربرد |
|---|---|---|
| 0 | فقط چند دستور پایه مثل logout و enable | بهندرت استفاده میشود |
| 1 | User EXEC ؛ پیشفرض بعد از لاگین | دیدن محدود |
| 2 تا 14 | سطحهای سفارشی | تعریف نقشهایی مثل اپراتور NOC با privilege exec level |
| 15 | Privileged EXEC ؛ دسترسی کامل | مدیر شبکه |
برای اینکه یوزر مستقیماً بعد از لاگین در سطح ۱۵ باشد، سطح را روی خود یوزر تعریف کنید؛ مثالها را در ادامه میبینید.
انواع رمز در سیسکو و چرا type 7 امن نیست
عددی که در کانفیگ جلوی رمز میبینید، نوع ذخیره آن را نشان میدهد. این جدول مهمترین بخش این مطلب است:
| Type | روش | امنیت | دستور ایجاد |
|---|---|---|---|
| 0 | متن ساده | هیچ | password … بدون رمزنگاری |
| 7 | رمز Vigenère سیسکو | بسیار ضعیف؛ در چند ثانیه برگشتپذیر | service password-encryption |
| 5 | هش MD5 | قابلقبول ولی قدیمی | enable secret در نسخههای قدیمی |
| 4 | SHA-256 با پیادهسازی معیوب | منسوخ؛ استفاده نکنید | — |
| 8 | PBKDF2 با SHA-256 | خوب | algorithm-type sha256 secret |
| 9 | scrypt | بهترین گزینه موجود | algorithm-type scrypt secret |
سیسکو در راهنمای Hardening صریح میگوید الگوریتم service password-encryption «یک رمز ساده Vigenère است و برای محافظت از کانفیگ در برابر تحلیل جدی طراحی نشده»؛ یعنی رمزهای type 7 را باید مثل متن ساده حساب کنید. این دستور فقط جلوی کسی را میگیرد که از پشت سر شما صفحه را میبیند. توصیه رسمی سیسکو: هر جا ممکن است از type 9 (scrypt) استفاده کنید.
تعویض رمز enable و یوزرها
BR-EDGE-01# configure terminal ! 1) enable secret (type 9) ; removes the old weak "enable password" if any BR-EDGE-01(config)# enable algorithm-type scrypt secret N3w-Str0ng-Enable BR-EDGE-01(config)# no enable password ! ! 2) change an existing user, or create a new admin user BR-EDGE-01(config)# username netadmin privilege 15 algorithm-type scrypt secret N3w-Str0ng-User ! ! 3) remove old / default users BR-EDGE-01(config)# no username cisco BR-EDGE-01(config)# no username test ! ! 4) basic password policy BR-EDGE-01(config)# security passwords min-length 10 BR-EDGE-01(config)# service password-encryption BR-EDGE-01(config)# end BR-EDGE-01# copy running-config startup-config
چند نکته درباره این دستورها:
- اگر هم
enable secretو همenable passwordتعریف شده باشد، IOS فقط secret را قبول میکند؛ اما بهتر است password قدیمی را کامل حذف کنید تا در کانفیگ نماند. service password-encryptionفقط رمزهایی که هنوز متن سادهاند (مثل رمز خطوط console) را به type 7 تبدیل میکند؛ روی secretها اثری ندارد. آن را جایگزین secret ندانید.- روی نسخههای خیلی قدیمی IOS که
algorithm-typeرا نمیشناسند، همانenable secretوusername … secretمعمولی (type 5) را استفاده کنید و برنامه آپگرید داشته باشید. - قبل از بستن جلسه فعلی، در یک پنجره جدید با یوزر و رمز جدید لاگین کنید تا مطمئن شوید خودتان را قفل نکردهاید.
امن کردن Console و VTY
عوض کردن رمز بدون بستن مسیرهای ورود، نصف کار است. خطوط VTY باید فقط SSH بپذیرند و نشست بیکار بعد از چند دقیقه بسته شود:
BR-EDGE-01(config)# ip domain name shabake.local BR-EDGE-01(config)# crypto key generate rsa modulus 2048 BR-EDGE-01(config)# ip ssh version 2 ! BR-EDGE-01(config)# line console 0 BR-EDGE-01(config-line)# login local BR-EDGE-01(config-line)# exec-timeout 10 0 ! BR-EDGE-01(config)# line vty 0 15 BR-EDGE-01(config-line)# login local BR-EDGE-01(config-line)# transport input ssh BR-EDGE-01(config-line)# exec-timeout 10 0 BR-EDGE-01(config-line)# access-class MGMT-ONLY in ! BR-EDGE-01(config)# ip access-list standard MGMT-ONLY BR-EDGE-01(config-std-nacl)# permit 10.10.99.0 0.0.0.255 ! BR-EDGE-01(config)# login block-for 120 attempts 5 within 60
دستور login block-for بعد از ۵ تلاش ناموفق در ۶۰ ثانیه، ورود جدید را ۱۲۰ ثانیه متوقف میکند و جلوی حدس رمز خودکار را میگیرد. تغییر پورت پیشفرض را هم در مطلب تعویض پورت تلنت روتر سیسکو و مجموعه کامل تنظیمات امنیتی را در ایمنسازی روتر سیسکو ببینید.
AAA ؛ با احتیاط فعال کنید
در شبکه سازمانی، بهجای یوزر محلی روی دهها دستگاه، احراز هویت متمرکز با سرور TACACS+ یا RADIUS (مثل Cisco ISE) انجام میشود. دستور aaa new-model مدل AAA را فعال میکند؛ برخلاف تصور رایج، این دستور چیزی را ریست نمیکند و اگر بدون تعریف روش احراز هویت زده شود، ممکن است دسترسی شما را ببندد. ترتیب درست:
BR-EDGE-01(config)# username netadmin privilege 15 algorithm-type scrypt secret N3w-Str0ng-User BR-EDGE-01(config)# tacacs server ISE-1 BR-EDGE-01(config-server-tacacs)# address ipv4 10.10.99.50 BR-EDGE-01(config-server-tacacs)# key Sh4red-K3y BR-EDGE-01(config)# aaa new-model BR-EDGE-01(config)# aaa authentication login default group tacacs+ local BR-EDGE-01(config)# aaa authorization exec default group tacacs+ local if-authenticated BR-EDGE-01(config)# aaa accounting exec default start-stop group tacacs+
کلمه local در انتهای هر خط، همان مسیر fallback است: اگر سرور TACACS+ در دسترس نباشد، یوزر محلی کار میکند. قبل از بستن نشست، از یک پنجره جدید ورود را تست کنید.
چکلیست
| مورد | دستور بررسی | وضعیت مطلوب |
|---|---|---|
| enable password قدیمی | show running-config | include enable |
فقط enable secret 9 وجود دارد |
| یوزرهای محلی | show running-config | include username |
همه با secret 9 ؛ یوزر پیشفرض یا اضافه نیست |
| Telnet | show running-config | section line vty |
فقط transport input ssh |
| SSH نسخه ۲ | show ip ssh |
SSH Enabled – version 2.0 |
| نشستهای باز | show users |
نشست ناشناس وجود ندارد |
پرسشهای متداول
enable password با enable secret چه فرقی دارد؟
enable password با الگوریتم ضعیف یا متن ساده ذخیره میشود؛ enable secret هش یکطرفه است. همیشه secret و ترجیحاً با algorithm-type scrypt.
service password-encryption کافی است؟
نه. خروجی آن type 7 است که به گفته خود سیسکو باید مثل متن ساده با آن رفتار کرد.
رمز را فراموش کردهام؛ چه کنم؟
از روش بازیابی پسورد با دسترسی کنسول استفاده کنید؛ لینک آموزش روتر و سوئیچ در ابتدای مطلب است.
aaa new-model را زدم و دسترسی قطع شد.
اگر هنوز نشست کنسول باز دارید، یک روش احراز هویت با fallback محلی تعریف کنید. اگر کاملاً قفل شدهاید، باید از روش بازیابی پسورد استفاده کنید.
منابع رسمی
- Cisco Guide to Harden Cisco IOS Devices
- Troubleshoot Password Recovery in Cisco IOS and IOS XE Routers
پشتیبانی با AKA NET
برای ممیزی امنیتی کانفیگ روترها و سوئیچها، راهاندازی احراز هویت متمرکز با ISE و Hardening دستگاههای سیسکو با آکانت (AKA NET) تماس بگیرید.
تلفن: 09121308444 | ایمیل: aka@aka.ir | aka.ir