# آموزش جامع هاردنینگ امنیتی روترهای Edge سیسکو با Cisco IOS XE

راهنمای امنیت روتر Edge سیسکو در IOS XE؛ تنظیم AAA، SSH، SNMPv3، ACL اینترنت، CoPP و امنیت BGP و OSPF همراه با اعتبارسنجی و بازگشت امن.

## ۱. مرز اینترنت، مرز مسیریابی و امنیت است

روتر متصل به اینترنت باید هم‌زمان با Forwarding، تلاش برای مدیریت غیرمجاز، جعل همسایه و اشباع CPU را مهار کند. وجود Default Route نشانه امنیت نیست. VTY عمومی، سیاست ورودی BGP بدون محدودیت یا ACL اشتباه WAN می‌تواند کل سازمان را دچار قطعی کند.

این راهنما دسترسی مدیریتی، بسته‌های Routing و Control و ترافیک عبوری را جدا بررسی می‌کند. دسترسی مدیر غیرمجاز، دست‌کاری Route، جعل مبدأ، حمله به همسایگی و منع سرویس بررسی می‌شوند. اجازه عبور نشست برنامه‌ها همچنان وظیفه سیاست فایروال است. ACL روتر سطح حمله را کم می‌کند اما به‌طور خودکار Stateful Inspection ایجاد نمی‌کند و جای فایروال سازمانی را نمی‌گیرد.

سناریوی مرجع: ISR 4331 با IOS XE Dublin 17.12.6 در حالت Autonomous، جدول IPv4 عمومی و سه پورت Routed GigabitEthernet. این Template با مستندات بررسی شده و ادعای تست سخت‌افزاری یا توصیه نصب هر Build از 17.12 نیست. پیش از تغییر، PID دقیق، License، نسخه نگهداری، Cisco Software Checker و چرخه پشتیبانی را بررسی کنید.

ISR 4000، ASR 1000 و Catalyst 8000 بسیاری از مفاهیم CLI را مشترک دارند ولی نام پورت، Crypto، سخت‌افزار Forwarding، Punt Policer، VRF و قابلیت‌ها متفاوت‌اند. شمارنده‌های ESP/QFP در ASR و پلتفرم Catalyst 8000 جدا از CPU پردازش IOSd بررسی شوند. Policing موجود پلتفرم را بی‌بررسی جایگزین نکنید. IOS کلاسیک، IOS XR و IOS XE SD-WAN تحت Controller مدل عملیاتی متفاوت دارند؛ این تنظیم Autonomous را بدون تطبیق به Template کنترلر منتقل نکنید.

| معیار | سوئیچ Catalyst | روتر Edge سازمان |
| --- | --- | --- |
| سطح حمله اصلی | پورت کاربر، Trunk و VLAN | بسته WAN، همسایه Routing و زیرساخت عمومی |
| مواجهه WAN | معمولاً پشت فایروال مرزی | همسایگی مستقیم ISP و ترافیک ناخواسته اینترنت |
| لایه مدیریت | AAA، SSH و VLAN/VRF مدیریت | همان کنترل‌ها به‌علاوه فیلتر زیرساخت WAN |
| لایه کنترل | STP، ARP، Routing و سیاست CPU پلتفرم | BGP/OSPF، Exception و CoPP مبتنی بر اندازه‌گیری |
| لایه داده | تفکیک، سیاست پورت و SVI | ACL عبوری، اعتبار مبدأ و تحویل به فایروال |
| امنیت Routing | کنترل همسایگی داخلی و Redistribution | قرارداد Import/Export با ISP و محدودیت منابع |
| امنیت لایه دو | DHCP Snooping، DAI و محافظ STP | فقط در Bridge/ماژول سوئیچ مرتبط؛ معادل WAN Routed نیست |
| ریسک رایج | DHCP جعلی، Loop و سوءاستفاده VLAN | Route Leak، مدیریت عمومی، Flood پردازنده و قطعی ناشی از Policy |

[برای شبکه Campus پایین‌دست، راهنمای هاردنینگ سوئیچ Cisco Catalyst لایه ۲ و ۳ را ببینید.](/articles/cisco-catalyst-layer-2-layer-3-switch-hardening)

## ۲. توپولوژی، آدرس‌ها و مرز اعتماد

![معماری Edge: ISP، ISR 4331، فایروال، DMZ، Core و شبکه مدیریت مجزا](/assets/img/articles/content/cisco-edge-router-security-hardening-ios-xe/cisco-edge-router-security-architecture.png)

```cisco
INTERNET -> ISP AS64500 192.0.2.1/30
                    |
             Gi0/0/0 192.0.2.2/30
              ISR4331 AS64510
          Gi0/0/1 198.51.100.1/30
                    |
     Firewall 198.51.100.2/30 (OSPF area 0)
          |                        |
     Core -> Users / Servers   DMZ 10.20.0.0/24
          10.10.0.0/16

ISR Gi0/0/2 10.99.0.1/24 -> isolated management switch
  Jump host .10 | TACACS+ .20/.21 | NMS .30
  Syslog .40 | NTP .50 | backup repository .60
Independent console server -> ISR console (out-of-band recovery)
```

تمام آدرس‌ها و ASها نمونه‌اند: 192.0.2.0/24 و 198.51.100.0/24 محدوده مستندات، AS64500/64510 خصوصی و شبکه‌های داخلی، DMZ و مدیریت RFC1918 هستند. محدوده مستندات در اینترنت Route نمی‌شود؛ در استقرار آدرس اختصاص‌یافته ISP و AS توافق‌شده را جایگزین کنید. در این نمونه ایزوله عمداً این آدرس‌ها مجازند و به‌اشتباه به‌عنوان Bogon مسدود نشده‌اند.

Edge فقط Default Route را از یک ISP مستقیم می‌پذیرد و Prefixی اعلان نمی‌کند. فایروال PAT اینترنت را روی 198.51.100.2 انجام می‌دهد و 10.10.0.0/16 و 10.20.0.0/24 را با OSPF احراز‌شده به Edge می‌دهد. ISP باید 198.51.100.0/30 نمونه را به 192.0.2.2 Route کند. Edge فقط هنگام وجود Default آن را به OSPF تزریق می‌کند. شبکه مدیریت 10.99.0.0/24 نه Redistribute و نه NAT یا Advertise می‌شود. هیچ لینک مستقیم LAN فایروال را دور نمی‌زند.

اینترنت نامطمئن است؛ IP همسایه ISP فقط برای نشست BGP توافق‌شده اعتماد دارد. لینک Outside فایروال مرز زیرساخت است، نه شبکه کاربر قابل اعتماد. سرویس‌های DMZ از سرور داخلی جدا می‌مانند. سوئیچ مدیریت فیزیکی جدا و بدون Uplink کاربران است، اما برای خوانایی CLI جدول عمومی روتر استفاده شده است. این جداسازی رمزنگاری نیست؛ فیلتر مدیریت و Console مستقل لازم‌اند. پورت مدیریت اختصاصی در Mgmt-intf VRF به Route و Syntax سرویس‌های AAA، SNMP، NTP و Logging متناسب با VRF نیاز دارد.

## ۳. ممیزی پایه و پیش‌نیاز تغییر

```cisco
show version
show inventory
show running-config
show startup-config
show ip interface brief
show interfaces
show ip route
show ip protocols
show access-lists
show users
show logging
show processes cpu sorted
show memory statistics
```

| فرمان | هدف و مشاهده مورد انتظار |
| --- | --- |
| show version | Image، Build، Uptime و Boot Mode دقیق؛ تطبیق با PSIRT و سیاست پشتیبانی. |
| show inventory | ثبت PID، سریال، ماژول و پورت‌ها. |
| show running-config | AAA، محل ACL، NAT، VPN، سرویس و Routing؛ خروجی محرمانه است. |
| show startup-config | مقایسه Startup و Running و شناسایی تغییر ذخیره‌نشده. |
| show ip interface brief | نام واقعی، IP و up/up؛ شماره پورت نقش WAN را ثابت نمی‌کند. |
| show interfaces | سرعت، MTU، خطا، Drop و بار؛ تفکیک خطای فیزیکی و Policy. |
| show ip route | ثبت Default، مسیر برگشت، Routeهای OSPF و Route غیرمنتظره مدیریت. |
| show ip protocols | Process مسیریابی، Passive، Redistribution و Filter. |
| show access-lists | ترتیب ACE و Hit پیش از تغییر ACL مورد استفاده. |
| show users | نشست Console/VTY و مبدأ واقعی Jump Host پس از NAT. |
| show logging | خطاهای Login، لینک و Routing و تنظیم Collector. |
| show processes cpu sorted | Baseline کوتاه و بلند CPU و Process پرترافیک IOSd. |
| show memory statistics | Pool آزاد/مصرف‌شده؛ کاهش مداوم مهم‌تر از یک Sample است. |

چک‌لیست: Build و پشتیبانی سخت‌افزار بررسی؛ BGP/OSPF/BFD و قرارداد Routing ثبت؛ ACL و ترتیب NAT مشخص؛ وابستگی IPsec/IKE/GRE فهرست؛ MTU و نقش WAN تأیید؛ مسیر رفت‌وبرگشت Jump Host و AAA تست؛ Baseline مانیتورینگ، Syslog، NetFlow و NTP ذخیره؛ Backup خارجی رمزنگاری‌شده تأیید؛ Console و روش بازگشت تست؛ پنجره تغییر و مسئول تأیید مشخص.

```cisco
show ip interface GigabitEthernet0/0/0
show ip bgp summary
show ip ospf neighbor
show ip nat statistics
show ip nat translations
show crypto session
show policy-map control-plane
show platform hardware qfp active datapath utilization
```

فرمان آخر Diagnostic مخصوص QFP است و فرمان عمومی IOS نیست؛ Command Reference پلتفرم را ببینید. پیش از ACL، Selectorهای VPN و NAT Exemption را بررسی کنید؛ سناریوی کامل عمداً VPN یا NAT روی Edge ندارد. برای تطبیق مثال، Policy کنترل‌پلین موجود را پاک نکنید.

## ۴. هویت، حساب بازیابی محلی و Secret ذخیره‌شده

### هویت روتر و Hash رمز

هدف: قابل انتساب کردن رخداد و نگهداری یک مدیر اضطراری در Vault.

ریسک امنیتی: حساب ممتاز مشترک و شکستن آفلاین رمز Backup.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
hostname EDGE-ISR4331
ip domain name example.net
username breakglass privilege 15 algorithm-type scrypt secret <LOCAL_ADMIN_SECRET>
enable algorithm-type scrypt secret <ENABLE_SECRET>
```

توضیح: Type 9 از scrypt و Type 8 از PBKDF2-SHA-256 استفاده می‌کند؛ این‌ها Hash یک‌طرفه‌اند. Type 5 مبتنی بر MD5 قدیمی و Type 7 مبهم‌سازی برگشت‌پذیر است. algorithm-type متن رمز را به Hash تبدیل می‌کند؛ secret 9 منتظر Hash آماده است. Privilege 15 مدیریت کامل است؛ برای اپراتور روزمره Policy مرکزی فرمان به‌کار ببرید.

اعتبارسنجی: با show running-config | include ^hostname|^ip domain|^username|^enable secret نوع Hash و با show privilege نشست تازه را بررسی کنید؛ Hash را منتشر نکنید.

نتیجه مورد انتظار: Hostname یکتا، Secret نوع ۹ و حساب بازیابی ممتاز قابل استفاده.

عیب‌یابی: در رد Syntax Hash، قابلیت Image را بررسی و Type 8 پشتیبانی‌شده انتخاب کنید، نه Type 7. تغییر Domain/Key می‌تواند Fingerprint SSH را تغییر دهد.

بازگشت: از Console نام، Domain و Hash سالم قبلی را برگردانید. هنگام تعویض یک حساب، حساب تست‌شده دیگری بماند؛ آخرین حساب بازیابی حذف نشود.

Secret مشترک پروتکل متفاوت است: TACACS+، RADIUS و Authentication مسیریابی به کلید قابل استفاده نیاز دارند؛ Hash ورود Type 8/9 جایگزین آن نیست. Type 6 AES در صورت پشتیبانی Secret قابل بازیابی را در Storage محافظت می‌کند و نیازمند روش بازیابی Master Key است؛ همه پروتکل‌ها را روی شبکه رمز نمی‌کند. key 0 نمونه ورودی Provisioning است و تنظیم نهایی باید محافظت شود. service password-encryption به‌تنهایی محرمانگی معنادار ندارد.

## ۵. مهاجرت AAA با حفظ دسترسی بازیابی

![مسیر SSH محدود با تفکیک AAA، SNMPv3، Syslog و NTP](/assets/img/articles/content/cisco-edge-router-security-hardening-ios-xe/cisco-edge-router-management-plane-security.png)

### مرحله ۱: AAA محلی و بازیابی Console

هدف: تست ورود محلی پیش از وابستگی خارجی.

ریسک امنیتی: Method List تست‌نشده می‌تواند همه مدیران را قفل کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
aaa new-model
aaa authentication login default local
aaa authorization exec default local
aaa authentication login LOCAL local
aaa authorization exec LOCAL local
line console 0
 login authentication LOCAL
 exec-timeout 10 0
 logging synchronous
exit
line vty 0 4
 login authentication LOCAL
 authorization exec LOCAL
exit
line vty 5 15
 login authentication LOCAL
 authorization exec LOCAL
exit
```

توضیح: LOCAL برای Login و Exec صریح متصل می‌شود؛ Default محلی می‌ماند. Console از LOCAL استفاده و Authorization کنسول فعال نمی‌شود. Authentication هویت، Exec Authorization اجازه Shell و Command Authorization مجوز فرمان است.

اعتبارسنجی: نشست محلی دوم باز کنید؛ show privilege و show users؛ ورود مجدد Console را تحت نظارت تست کنید.

نتیجه مورد انتظار: Console و VTY سطح دسترسی محلی موردنظر می‌دهند.

عیب‌یابی: ممکن است Login موفق و Exec رد شود؛ اتصال Method List و Privilege کاربر را بررسی کنید.

بازگشت: از Console لیست قبلی را متصل کنید؛ حذف کلی aaa new-model رفتار Line را تغییر می‌دهد و بازگشت باید هدفمند باشد.

### مرحله ۲: احراز هویت و Accounting با TACACS+

هدف: هویت فردی، Privilege مرکزی و ثبت فرمان.

ریسک امنیتی: حساب محلی صرف، حذف دسترسی کارکنان و ممیزی را دشوار می‌کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
tacacs server TAC1
 address ipv4 10.99.0.20
 key 0 <TACACS_SHARED_SECRET_1>
 timeout 5
exit
tacacs server TAC2
 address ipv4 10.99.0.21
 key 0 <TACACS_SHARED_SECRET_2>
 timeout 5
exit
aaa group server tacacs+ EDGE-TACACS
 server name TAC1
 server name TAC2
exit
ip tacacs source-interface GigabitEthernet0/0/2
aaa authentication login CENTRAL group EDGE-TACACS local
aaa authorization exec CENTRAL group EDGE-TACACS local
aaa accounting exec CENTRAL start-stop group EDGE-TACACS
aaa accounting commands 15 CENTRAL start-stop group EDGE-TACACS
line vty 0 4
 login authentication CENTRAL
 authorization exec CENTRAL
 accounting exec CENTRAL
 accounting commands 15 CENTRAL
exit
line vty 5 15
 login authentication CENTRAL
 authorization exec CENTRAL
 accounting exec CENTRAL
 accounting commands 15 CENTRAL
exit
```

توضیح: دو سرور از TCP/49 و مبدأ Gi0/0/2 استفاده می‌کنند. Fallback به Local در خطا یا عدم دسترسی است، نه Reject عمدی. سرور باید 10.99.0.1 را بشناسد و برای مدیر مجاز Shell با Privilege 15 بدهد. start-stop نشست و فرمان سطح ۱۵ را ثبت می‌کند ولی خود فرمان را منع نمی‌کند. TACACS+ کلاسیک معادل TLS جدید نیست؛ شبکه را جدا یا Tunnel کنید.

اعتبارسنجی: show aaa servers، show tacacs، show users، SSH تازه و Audit سرور؛ سپس قطعی کنترل‌شده هر دو سرور و حساب breakglass را تست کنید.

نتیجه مورد انتظار: هویت مرکزی کار می‌کند، Audit می‌رسد، قطعی اجازه بازیابی محلی می‌دهد و Reject سرور همچنان رد می‌شود.

عیب‌یابی: Timeout معمولاً Route، مبدأ، TCP/49 یا ثبت NAS؛ Reject فوری معمولاً کلید یا Policy است. قبل از Debug محدود، رخداد سرور را ببینید؛ با undebug all خاتمه و خروجی محرمانه بماند.

بازگشت: روی تمام VTY، Login و Exec را به LOCAL برگردانید و Accounting مرکزی Line را بردارید؛ تعریف سرورها برای بررسی باقی بماند.

ترتیب مهم است: Console و نشست فعلی باز بماند؛ تعریف سرور و Route مبدأ آماده شود؛ CENTRAL ابتدا به Range تأییدشده متصل؛ نشست‌های تازه برای پوشش هر دو Range باز؛ Accounting بررسی؛ سپس Command Authorization فعال شود. موفقیت test aaa authentication به‌تنهایی Exec یا Command Authorization را ثابت نمی‌کند. کاربر ردشده را هم تست کنید.

### مرحله اختیاری ۳: مجوز فرمان

هدف: محدود کردن مدیر روزمره به فرمان مصوب.

ریسک امنیتی: حساب معتبر همچنان می‌تواند فرمان مخرب اجرا کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
aaa authorization commands 15 CENTRAL group EDGE-TACACS local
line vty 0 4
 authorization commands 15 CENTRAL
exit
line vty 5 15
 authorization commands 15 CENTRAL
exit
```

توضیح: نمونه مجوز فرمان سطح ۱۵ را به هر دو Range اضافه می‌کند. Policy باید فرمان مشاهده و بازگشت را مجاز کند. طراحی نقش برای همه سطوح نیست؛ سطح ۰/۱ و مجوز فرمان Config را فقط پس از تست اضافه کنید. Fallback محلی سطح تعریف‌شده حساب را می‌دهد.

اعتبارسنجی: یک show مجاز و فرمان بی‌خطر عمداً ممنوع با حساب تست اجرا و Log مجوز TACACS+ را ببینید.

نتیجه مورد انتظار: تصمیم سرور اعمال و بازیابی Console قابل استفاده است.

عیب‌یابی: اگر Login کار می‌کند ولی فرمان نه، Rule مجوز و آرگومان ارسالی را بررسی کنید.

بازگشت: از Console، no authorization commands 15 CENTRAL روی هر دو Range و بازگشت Policy قبلی.

### جایگزین: ورود دستگاه با RADIUS

هدف: پشتیبانی سازمان دارای سرویس هویت RADIUS.

ریسک امنیتی: ناسازگاری NAS، مسیر UDP یا Attribute سطح دسترسی می‌تواند ورود را رد کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
radius server RAD1
 address ipv4 10.99.0.22 auth-port 1812 acct-port 1813
 key 0 <RADIUS_SHARED_SECRET>
exit
aaa group server radius EDGE-RADIUS
 server name RAD1
exit
ip radius source-interface GigabitEthernet0/0/2
aaa authentication login RAD group EDGE-RADIUS local
aaa authorization exec RAD group EDGE-RADIUS local
aaa accounting exec RAD start-stop group EDGE-RADIUS
```

توضیح: این گزینه جدا UDP/1812 و 1813 دارد؛ بعد از تست، RAD جای CENTRAL در Login و Exec VTY متصل شود. Attribute مناسب Cisco Shell Privilege لازم است. RADIUS معادل مجوز و ثبت تک‌فرمان TACACS+ نیست. RADIUS سنتی کل بسته را رمز نمی‌کند؛ RadSec را روی این نسخه مفروض ندانید.

اعتبارسنجی: show aaa servers، نشست تازه متصل به RAD و Log Accept/Reject/Accounting سرور.

نتیجه مورد انتظار: فقط کاربر مجاز Privilege درست می‌گیرد و Fallback قطعی کار می‌کند.

عیب‌یابی: ACL UDP، کلید، مبدأ NAS و VSA را بررسی؛ موفقیت بدون Privilege خطای رمز نیست.

بازگشت: لیست LOCAL یا CENTRAL تست‌شده را برگردانید و اتصال Accounting RAD را بردارید.

| فناوری | مزیت | محدودیت / کاربرد |
| --- | --- | --- |
| AAA محلی | بازیابی مستقل و استقرار ساده | چرخه حساب جدا و نبود Audit مرکزی؛ دسترسی اضطراری |
| TACACS+ | تفکیک Authentication، Authorization و ثبت فرمان | وابستگی سرور و Policy؛ محافظت Transport کلاسیک؛ مدیریت تجهیزات |
| RADIUS | یکپارچگی گسترده هویت و Accounting نشست | مدل مجوز متفاوت و UDP سنتی؛ سرویس ورود و دسترسی |

## ۶. محدودیت SSH و کاهش سرویس

### SSHv2 و سیاست مبدأ VTY

هدف: اجازه مدیریت فقط از Jump Host.

ریسک امنیتی: Telnet نشست را افشا و SSH عمومی حمله حدس و Exploit جذب می‌کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
! Generate only on initial provisioning; global configuration mode
crypto key generate rsa general-keys modulus 3072
ip ssh version 2
ip ssh time-out 60
ip ssh authentication-retries 3
ip ssh server algorithm encryption aes256-ctr aes128-ctr
ip access-list standard MGMT-SSH
 permit host 10.99.0.10
 deny any log
exit
line vty 0 4
 transport input ssh
 exec-timeout 10 0
 access-class MGMT-SSH in
exit
line vty 5 15
 transport input ssh
 exec-timeout 10 0
 access-class MGMT-SSH in
exit
```

توضیح: ACL استاندارد مبدأ 10.99.0.10 را تطبیق می‌دهد نه مقصد پورت. transport input ssh، Telnet را روی Lineهای پوشش‌داده‌شده می‌بندد. ACL WAN جدا SSH به آدرس روتر را رد می‌کند. RSA 3072 اندازه نمونه است؛ کلید معتبر موجود را در تغییر عادی دوباره نسازید.

اعتبارسنجی: show ip ssh، show ssh و شمارنده MGMT-SSH؛ از .10 ورود به 10.99.0.1، از .11 رد، از مبدأ خارجی تست 192.0.2.2 و شمارنده Deny؛ TCP/23 باید بسته باشد.

نتیجه مورد انتظار: SSHv2، موفقیت مبدأ مجاز، شکست غیرمجاز و نبود Telnet.

عیب‌یابی: مبدأ NATشده، Range جامانده، رد Shell AAA یا Cipher ناسازگار؛ Timeout TCP را با Log کلاینت از رد Login جدا کنید.

بازگشت: از Console access-class قبلی یا مبدأ صحیح را برگردانید. SSH-only بماند؛ الگوریتم قبلی مصوب را در خطای Cipher برگردانید. برای رفع قطعی کل اینترنت را مجاز نکنید.

سیاست الگوریتم: show ip ssh و ip ssh server algorithm ? را روی Image دقیق ببینید. AES-CTR/GCM و MAC/Key Exchange مبتنی بر SHA-2 پشتیبانی‌شده را طبق Policy انتخاب و Automation را قبل از محدودسازی تست کنید. طول RSA الگوریتم‌ها را ثابت نمی‌کند و لیست Catalyst را بی‌بررسی به ISR منتقل نکنید. ورود Public Key به طراحی ip ssh pubkey-chain و هماهنگی AAA نیاز دارد. retries/time-out برای Authentication است نه بی‌کاری نشست. Template، AES256-CTR/AES128-CTR را صریح انتخاب و Defaultهای MAC/KEX را تا بررسی نگه می‌دارد. از 17.10 برخی Defaultها تغییر کرده‌اند؛ Negotiation SHA-2 Encrypt-then-MAC در کلاینت بررسی شود و برای رفع Login الگوریتم Legacy باز نشود.

### بستن سرویس غیرضروری و Discovery نامطمئن

هدف: کاهش Daemon در معرض و افشای اطلاعات.

ریسک امنیتی: WebUI بلااستفاده، سرویس Legacy و Discovery سطح حمله اضافه می‌کنند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
no ip http server
no ip http secure-server
no ip source-route
interface GigabitEthernet0/0/0
 no cdp enable
 no lldp transmit
 no lldp receive
exit
```

توضیح: HTTP/HTTPS فقط چون WebUI و RESTCONF استفاده نمی‌شود بسته‌اند. CDP/LLDP روی WAN بسته می‌شود نه خودکار همه لینک‌ها. Source Routing عمومی خاموش است. فقط پورت واقعاً بلااستفاده Shutdown شود. PAD، BOOTP و Small Server ممکن است غایب یا Default خاموش باشند؛ وضعیت واقعی را ممیزی کنید.

اعتبارسنجی: show ip http server status، show cdp interface، show lldp interface، show ip interface brief و تست Automation.

نتیجه مورد انتظار: نبود Web Listener یا Discovery روی WAN و عملکرد Automation موردنیاز.

عیب‌یابی: RESTCONF وابسته HTTPS، DHCP Relay وابسته service dhcp و حذف Discovery عمومی ممکن است توپولوژی را پنهان کند؛ NETCONF/SSH و Guest Shell وابستگی جدا دارند.

بازگشت: فقط سرویس ثبت‌شده یا Discovery روی پورت معتمد لازم باز شود؛ قبل از Web Management محدودیت دسترسی برگردد.

## ۷. SNMPv3 و مرز مدیریت

### SNMPv3 authPriv فقط خواندنی

هدف: ارائه Metric به Zabbix بدون Community عمومی یا Write.

ریسک امنیتی: Community نسخه ۱/۲ محرمانگی بسته ندارد و امکان افشا یا تغییر تنظیم می‌دهد.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
ip access-list standard MGMT-SNMP
 permit host 10.99.0.30
 deny any
exit
snmp-server view EDGE-READ mib-2 included
snmp-server view EDGE-READ 1.3.6.1.4.1.9 included
snmp-server group NMS v3 priv read EDGE-READ access MGMT-SNMP
snmp-server user zabbix NMS v3 auth sha <SNMP_AUTH_SECRET> priv aes 128 <SNMP_PRIV_SECRET>
```

توضیح: ACL مبدأ NMS مستقل SSH است. View شامل mib-2 و Metric اختصاصی Cisco و Group بدون Write است. auth sha اینجا HMAC SHA-1 است نه SHA-256؛ AES128 برای سازگاری انتخاب شده. پشتیبانی SHA-2 به Image و NMS وابسته؛ اگر Policy SHA-1 را رد می‌کند Syntax SHA-2 مشترک را بررسی کنید و این نمونه را سازگار SHA-2 ننامید.

اعتبارسنجی: show snmp user، show snmp group و MGMT-SNMP؛ GET با authPriv از .30 و تست رد از .31؛ تطبیق OID زمان و پورت با CLI.

نتیجه مورد انتظار: NMS مجاز Metric می‌خواند؛ مبدأ، Secret یا Security Level اشتباه رد می‌شود.

عیب‌یابی: کاربر SNMPv3 لزوماً مثل خط رمز در Running دیده نمی‌شود. تغییر Engine ID می‌تواند Credential محلی‌شده را نامعتبر کند؛ هویت Engine حفظ و پس از تغییر عمدی کاربر بازسازی شود.

بازگشت: User/Group/View و ACL قبلی v3 را برگردانید؛ برای حذف نمونه no snmp-server user zabbix NMS v3؛ v2c عمومی راه‌حل قطعی نیست.

در مهاجرت، Communityهای قبلی پس از موفقیت Poll نسخه ۳ حذف شوند. View را به OIDهای Template واقعی Zabbix محدودتر کنید؛ شاخه گسترده Cisco اطلاعات عملیاتی می‌دهد. Host روی 10.99.0.1، نسخه ۳، نام zabbix، authPriv، SHA1 و AES128 مطابق نمونه و Secret Macro مجزا امن تنظیم شود. هنگام Poll از Proxy، IP پروکسی باید مجاز باشد نه صرفاً سرور Zabbix.

| کنترل | محدودیت واقعی |
| --- | --- |
| ACL مدیریت | مبدأ مجاز سرویس؛ محل اتصال تعیین‌کننده اجراست |
| access-class در VTY | نشست Terminal؛ SNMP، NTP و HTTPS را پوشش نمی‌دهد |
| MPP | پورت ورودی پروتکل مدیریت پشتیبانی‌شده؛ Policy هویت نیست |
| مدیریت OOB | مسیر بازیابی فیزیکی/مسیریابی مستقل؛ هنوز AAA و ACL لازم است |

### MPP اختیاری روی پلتفرم پشتیبان

هدف: دریافت پروتکل مدیریت فقط از ورودی مدیریت.

ریسک امنیتی: ACL مبدأ تنها ممکن است مبدأ جعلی مدیریت را روی پورت نادرست بپذیرد.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
! Optional only; do not paste when unsupported
control-plane host
 management-interface GigabitEthernet0/0/2 allow ssh snmp
exit
```

توضیح: راهنمای وابسته پلتفرم است و در Template اصلی ISR نیست. پشتیبانی control-plane host و management-interface روی SKU دقیق بررسی شود؛ راهنمای خانواده فرمان همه ISR/ASR/C8000 را تضمین نمی‌کند. در نبود قابلیت از iACL پورت، ACL مبدأ VTY/SNMP و تفکیک شبکه استفاده شود.

اعتبارسنجی: در صورت پشتیبانی show management-interface؛ تست SSH/SNMP از مدیریت و ورودی غیرمجاز.

نتیجه مورد انتظار: فقط ورودی ثبت‌شده پروتکل تحت پوشش را می‌پذیرد.

عیب‌یابی: Jump یا VPN ممکن است از پورت دیگر وارد شود؛ اعمال پیش از شناخت مسیر قطعی می‌دهد.

بازگشت: از Console با no متناظر ورودی جدید را بردارید و لیست اصلی MPP را برگردانید؛ دوباره تست کنید.

## ۸. CoPP و بسته‌های Punt

![ترافیک عبوری در Data Plane؛ ترافیک مقصد روتر و Exception پیش از CPU طبقه‌بندی می‌شود](/assets/img/articles/content/cisco-edge-router-security-hardening-ios-xe/cisco-edge-router-control-plane-protection.png)

CEF/QFP معمولاً ترافیک عبوری را بدون پردازش هر بسته توسط IOSd منتقل می‌کند. بسته مقصد آدرس روتر، Hello مسیریابی و بعضی Exceptionها به CPU Punt می‌شوند. انقضای TTL، همسایگی حل‌نشده، IP Option و Tunnel می‌توانند مسیر را تغییر دهند. Flood عبوری ممکن است سخت‌افزار یا پهنای‌باند را اشباع کند درحالی‌که CoPP ثابت است. CoPP سیاست پذیرش CPU است نه افزایش ظرفیت WAN.

### کلاس‌های CoPP اندازه‌گیری‌شده و Default مرحله‌ای

هدف: محافظت کلاس مشخص Routing/Management از ترافیک بیش‌ازحد CPU.

ریسک امنیتی: Flood بسته Punt می‌تواند Timer مسیریابی و دسترسی مدیریت را محروم کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
ip access-list extended CP-BGP
 permit tcp host 192.0.2.1 host 192.0.2.2 eq bgp
 permit tcp host 192.0.2.1 eq bgp host 192.0.2.2
exit
ip access-list extended CP-OSPF
 permit ospf host 198.51.100.2 host 198.51.100.1
 permit ospf host 198.51.100.2 host 224.0.0.5
 permit ospf host 198.51.100.2 host 224.0.0.6
exit
ip access-list extended CP-MGMT
 permit tcp host 10.99.0.10 host 10.99.0.1 eq 22
 permit udp host 10.99.0.30 host 10.99.0.1 eq snmp
 permit tcp host 10.99.0.20 eq tacacs host 10.99.0.1
 permit tcp host 10.99.0.21 eq tacacs host 10.99.0.1
 permit udp host 10.99.0.50 eq ntp host 10.99.0.1
exit
ip access-list extended CP-ICMP
 permit icmp any any unreachable
 permit icmp any any time-exceeded
 permit icmp any any echo-reply
 permit icmp host 192.0.2.1 host 192.0.2.2 echo
 permit icmp host 10.99.0.10 host 10.99.0.1 echo
exit
ip access-list extended CP-UNTRUSTED
 permit tcp any any eq 22
 permit tcp any any eq 23
 permit udp any any eq snmp
exit
class-map match-all CP-BGP
 match access-group name CP-BGP
exit
class-map match-all CP-OSPF
 match access-group name CP-OSPF
exit
class-map match-all CP-MGMT
 match access-group name CP-MGMT
exit
class-map match-all CP-ICMP
 match access-group name CP-ICMP
exit
class-map match-all CP-UNTRUSTED
 match access-group name CP-UNTRUSTED
exit
policy-map EDGE-COPP
 class CP-BGP
  police 2000000 62500 conform-action transmit exceed-action drop
 class CP-OSPF
  police 256000 8000 conform-action transmit exceed-action drop
 class CP-MGMT
  police 1000000 31250 conform-action transmit exceed-action drop
 class CP-ICMP
  police 128000 4000 conform-action transmit exceed-action drop
 class CP-UNTRUSTED
  police 8000 conform-action drop exceed-action drop
exit
control-plane
 service-policy input EDGE-COPP
exit
```

توضیح: Permit در ACL مخصوص MQC طبقه‌بندی است؛ Deny آن Drop اینترفیس نیست. ترتیب مهم است: BGP، OSPF و مدیریت معتمد پیش از سرویس غیرمجاز بررسی می‌شوند. هر دو جهت TCP برای شروع BGP هر طرف؛ OSPF شامل Unicast و 224.0.0.5/.6 است. class-default در مرحله نخست عمداً Policer ندارد تا ARP، DHCP، IPsec، BFD یا IPv6 بی‌صدا قطع نشود؛ پیش از Default محدود، آن‌ها را طبقه‌بندی کنید.

اعتبارسنجی: show policy-map control-plane، CPU، BGP، OSPF و SSH/Poll تازه زیر Burst کنترل‌شده؛ Delta شمارنده Offered و Conform/Exceed در بازه معلوم خوانده شود.

نتیجه مورد انتظار: ترافیک مجاز هنگام همگرایی Conform؛ تلاش SSH/SNMP غیرمجاز شمارنده CP-UNTRUSTED را زیاد می‌کند. ترافیک Unknown دیده می‌شود ولی فعلاً عبور می‌کند.

عیب‌یابی: Drop کلاس معتمد همراه Reset همسایه نشانه Rate/Burst کم یا Classification اشتباه است. صفر می‌تواند Drop سخت‌افزار یا مسیر Punt متفاوت باشد؛ نبود حمله را ثابت نمی‌کند. شمارنده پلتفرم و Policy قبلی را بررسی کنید.

بازگشت: از Console فقط Policy جدید را با no service-policy input EDGE-COPP جدا و Policy قبلی را فوراً برگردانید. شمارنده قبل از حذف ثبت؛ تا بازگشت Policy درست حفاظت CPU ضعیف‌تر است.

محاسبه Rate، نه اندازه‌گیری Production: فرض کنید Replay آزمایشگاهی Peak برابر BGP یک مگابیت، OSPF ۱۲۸ کیلوبیت، مدیریت ۵۰۰ کیلوبیت و ICMP ضروری ۶۴ کیلوبیت باشد. نمونه دو برابر Peak و ۲۵۰ میلی‌ثانیه Token می‌دهد: Burst Byte = CIR × 0.25 / 8؛ حاصل 62500، 8000، 31250 و 4000 بایت. این ورودی فرضی است نه ادعای Throughput ISR. با اندازه‌گیری Normal، Failure و Reconvergence و Granularity سخت‌افزار جایگزین کنید. Full Table، Peer زیاد یا SCP حجیم بودجه متفاوت دارد. CP-UNTRUSTED در Conform و Exceed هر دو Drop دارد؛ مقدار ۸ کیلوبیت اجازه سرویس نیست.

ابتدا Candidate جدا بسازید و ACL Match را با مسیر بسته واقعی مقایسه کنید. در Staging کنترل‌شده در صورت نیاز Exceed را موقتاً Transmit کنید تا تقاضا اندازه‌گیری شود؛ این حالت حفاظت Excess ندارد. Drop فقط با Console و تست بازیابی متصل شود. Policer پلتفرم ممکن است پیش از MQC عمل کند؛ CPU در show processes cpu sorted برای IOSd است و سلامت Linux/QFP را به‌تنهایی ثابت نمی‌کند.

## ۹. کنترل همسایه، Prefix و منابع BGP

![مرز eBGP خارجی فقط Default و همسایگی داخلی OSPF احراز‌شده](/assets/img/articles/content/cisco-edge-router-security-hardening-ios-xe/cisco-edge-router-bgp-ospf-security.png)

### eBGP فقط Default با یک ISP

هدف: پذیرش فقط Default قراردادی و عدم اعلان از Edge بدون Origin.

ریسک امنیتی: Route ناخواسته می‌تواند مسیر را منحرف، حافظه را اشباع یا Prefix داخلی را Leak کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
ip prefix-list ISP-DEFAULT seq 10 permit 0.0.0.0/0
ip prefix-list OUT-NONE seq 10 deny 0.0.0.0/0 le 32
ip as-path access-list 10 permit ^64500(_64500)*$
route-map ISP-IN permit 10
 match ip address prefix-list ISP-DEFAULT
 match as-path 10
exit
router bgp 64510
 bgp router-id 10.99.0.1
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 192.0.2.1 remote-as 64500
 neighbor 192.0.2.1 description ISP-DEFAULT-ONLY
 neighbor 192.0.2.1 password 0 <BGP_SHARED_SECRET>
 neighbor 192.0.2.1 ttl-security hops 1
 address-family ipv4 unicast
  neighbor 192.0.2.1 activate
  neighbor 192.0.2.1 route-map ISP-IN in
  neighbor 192.0.2.1 prefix-list OUT-NONE out
  neighbor 192.0.2.1 maximum-prefix 1 90
 exit-address-family
exit
```

توضیح: لیست ورودی چون le/ge ندارد فقط 0.0.0.0/0 می‌پذیرد. AS-PATH فقط مسیر مستقیم ISP با Self Prepend اختیاری را مجاز می‌کند؛ Origin دیگر رد می‌شود. OUT-NONE همه را رد و Process هیچ network یا redistribution ندارد. maximum-prefix 1 با یک Route سازگار و 90 درصد هشدار است. فیلتر Default جای حفاظت نرخ Update/Session را نمی‌گیرد.

اعتبارسنجی: Summary، Neighbors، Default BGP، advertised-routes و Default در RIB بررسی شود.

نتیجه مورد انتظار: Established، یک Prefix پذیرفته‌شده، Default با Next Hop 192.0.2.1 و اعلان صفر.

عیب‌یابی: Idle/Active مربوط به TCP، AS، Key یا TTL؛ Established با صفر Prefix معمولاً Import یا اعلان ISP. Shutdown ناشی از Limit قبل از Clear بررسی شود. برای Policy از Route Refresh پشتیبانی‌شده استفاده؛ soft-reconfiguration inbound حافظه‌بر را صرفاً برای راحتی فعال نکنید.

بازگشت: لیست/Route Map قبلی را برگردانید و Key/GTSM را با ISP هماهنگ کنید. مسیر Fallback تأییدشده داشته باشید؛ فیلترها را کلی حذف و Static Default دائمی بی‌مستند نصب نکنید.

neighbor password در نمونه Authentication TCP MD5 است؛ نه اعتبار Origin و نه رمز Payload. تعویض Secret و Mechanism همسایه هماهنگ شود. GTSM منتظر TTL بالا از همسایه نزدیک است و با ebgp-multihop هم‌زمان استفاده نمی‌شود؛ Peer داخل Tunnel یا Multi-hop بودجه Hop بازبینی‌شده لازم دارد. ACL WAN فقط Peer دقیق را با هر دو فرم پورت TCP/179 مجاز و CoPP جدا محدود می‌کند.

برای Prefix عمومی متعلق به مشتری، OUT-NONE با Allowlist دقیق Allocation جایگزین و فقط Prefix بازبینی‌شده با Route صحیح RIB Origin شود. کل IGP را به BGP Redistribute نکنید. در Full Route، Policy Bogon/Unallocated به‌روز، رد Prefix خود و More Specific نامناسب، Limit متناسب Table و رشد موجه و مانیتور Churn لازم است. Limit یک Default را برای Full Table استفاده نکنید. استثنا خصوصی/مستندات فقط آزمایش است.

RPKI در صورت License و پشتیبانی Prefix و Origin ASN را با ROA معتبر Cache محافظت‌شده RTR تطبیق می‌دهد؛ کل AS Path یا تمام Route Leak را اثبات نمی‌کند. Valid، Invalid و NotFound جدا پایش و رفتار Failure پیش از رد Invalid بررسی شود. Edge فقط Default معمولاً این کار را به ISP می‌سپارد. پلتفرم، Transport Cache و Syntax Route Map دقیق قبل از افزودن بررسی؛ بلوک RPKI تأییدنشده در Baseline نیست.

## ۱۰. حفاظت همسایگی OSPF و بررسی حملات Route

### OSPF احراز‌شده Point-to-point به فایروال

هدف: یادگیری Route داخلی لازم از لینک زیرساخت کنترل‌شده.

ریسک امنیتی: همسایه OSPF نامطمئن می‌تواند LSA تزریق و Reachability را تغییر دهد.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
key chain OSPF-KEYS
 key 1
  key-string <OSPF_SHARED_SECRET>
  cryptographic-algorithm hmac-sha-256
 exit
exit
router ospf 10
 router-id 10.99.0.1
 passive-interface default
 no passive-interface GigabitEthernet0/0/1
 default-information originate
exit
interface GigabitEthernet0/0/1
 ip ospf 10 area 0
 ip ospf network point-to-point
 ip ospf authentication key-chain OSPF-KEYS
exit
```

توضیح: HMAC-SHA-256 Key Chain روی تنها پورت فعال است. Area، Network Type، Key ID، Algorithm و Secret در فایروال یکسان باشد. Passive پیش‌فرض همسایگی دیگر را می‌بندد اما مانع اعلان Prefix ثبت‌شده نیست. فقط Gi0/0/1 عضو است. default-information originate فقط با Default در RIB اعلان می‌کند؛ always عمداً نیست. Redistribution BGP به OSPF وجود ندارد.

اعتبارسنجی: show ip ospf interface، neighbor، database و route ospf؛ show key chain ممکن است Secret بدهد و فقط خصوصی بررسی شود.

نتیجه مورد انتظار: فقط همسایه فایروال FULL، Routeهای داخلی مشخص موجود و Default شرطی در فایروال.

عیب‌یابی: نبود همسایه: Protocol89/Multicast، اعتبار کلید یا Passive؛ EXSTART/EXCHANGE: MTU، Router ID تکراری یا Network Type. mtu-ignore را بی‌بررسی فعال نکنید؛ طراحی MTU اصلاح شود.

بازگشت: Authentication/Key Chain قبلی دو طرف هم‌زمان برگردد؛ بازگشت یک‌طرفه قطعی می‌دهد. Passive/عضویت پورت قبلی بازیابی شود.

OSPF دیتابیس Link State مشترک است، نه Import Prefix تک‌همسایه مانند BGP. distribute-list ورودی ممکن است نصب RIB محلی را متوقف کند ولی Flood LSA را نه. فیلتر بین Area در ABR و Policy Route خارجی در Redistribution دامنه متفاوت دارند. برای شریک نامطمئن با چند Prefix، مرز Routing مناسب انتخاب کنید؛ Prefix List عادی OSPF همه LSA را پاک‌سازی نمی‌کند.

تزریق و Leak قابل تشخیص عملیاتی است: Peer، Origin، تعداد Prefix و Next Hop مورد انتظار ثبت؛ Default غیرمنتظره، همسایگی جدید یا Export هشدار دهد. قبل از تأیید، advertised-routes BGP و Database OSPF با Change Record مقایسه شود. همسایه احراز‌شده هنوز Route بد می‌دهد و Route صحیح هنوز ممکن است از Policy فایروال اشتباه عبور کند. در رخداد، اعلان مخرب با Filter محدود مهار، Log حفظ و قبل از Reset با همسایه هماهنگ شود.

| پروتکل | مکانیزم | محدودیت عملیاتی |
| --- | --- | --- |
| BGP | Peer دقیق، MD5، GTSM، Policy Prefix/Path، Limit و RPKI اختیاری | Authentication اعتبار Origin نیست؛ Filter تابع قرارداد؛ GTSM نیازمند هماهنگی توپولوژی |
| OSPFv2 | Key Chain HMAC، Passive پیش‌فرض، لینک اختصاصی و Redistribution کنترل‌شده | LSDB مشترک؛ فیلتر RIB لزوماً Flood را متوقف نمی‌کند؛ توافق Key/MTU/Area |

## ۱۱. امنیت WAN و ACL زیرساخت

![ACL زیرساخت WAN و اعتبار مسیر مبدأ پیش از Forwarding به فایروال](/assets/img/articles/content/cisco-edge-router-security-hardening-ios-xe/cisco-edge-router-wan-acl-antispoofing.png)

### پورت WAN، Transit فایروال و مدیریت

هدف: مشخص کردن نقش پورت و بستن قابلیت کمکی غیرلازم IPv4 روی لینک مستقیم.

ریسک امنیتی: Redirect، Directed Broadcast و Proxy ARP امکان دست‌کاری یا Reachability ناخواسته می‌دهند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
interface GigabitEthernet0/0/0
 description ISP-WAN
 ip address 192.0.2.2 255.255.255.252
 no ip redirects
 no ip proxy-arp
 no ip directed-broadcast
 no shutdown
exit
interface GigabitEthernet0/0/1
 description FIREWALL-OUTSIDE-OSPF
 ip address 198.51.100.1 255.255.255.252
 no ip redirects
 no ip proxy-arp
 no ip directed-broadcast
 no shutdown
exit
interface GigabitEthernet0/0/2
 description ISOLATED-MANAGEMENT
 ip address 10.99.0.1 255.255.255.0
 no ip redirects
 no ip proxy-arp
 no ip directed-broadcast
 no shutdown
exit
```

توضیح: no ip redirects ارسال Redirect را متوقف می‌کند نه همه ICMP را. Directed Broadcast خاموش مانع Forward Broadcast و Proxy ARP خاموش مانع پاسخ به‌جای میزبان دیگر است؛ وابستگی ISP/فایروال بررسی شود. Unreachable برای PMTUD بماند. MTU اجبار نشده و تابع طراحی Carrier است.

اعتبارسنجی: show ip interface و show interfaces هر پورت؛ Ping ISP از 192.0.2.2؛ بررسی ARP فایروال و مدیریت.

نتیجه مورد انتظار: سه پورت Routed up/up، Connected صحیح، Redirect/Proxy ARP خاموش و خطای مناسب Fragmentation.

عیب‌یابی: قطعی پس از Proxy ARP خاموش اغلب Mask یا Gateway اشتباه را آشکار می‌کند؛ طراحی اصلاح شود نه فعال‌سازی سراسری.

بازگشت: اگر وابستگی تأیید شد تنظیم ثبت‌شده پورت برگردد؛ آدرس‌دهی بدون Console و هماهنگی Peer از راه دور تغییر نکند.

ACL استاندارد مبدأ IPv4 و ACL Extended پروتکل، آدرس و پورت را تطبیق می‌دهد. Infrastructure ACL نقش طراحی است: دسترسی لازم به آدرس زیرساخت را مجاز و سایر دسترسی مستقیم را رد می‌کند. Transit ACL ترافیک عبوری و Management ACL سرویس یا Line را محدود می‌کند. این نام‌ها موتور جادویی جدا نیستند؛ جهت، پورت، Address Family و ترتیب پردازش تعیین‌کننده‌اند.

### Policy ورودی WAN در سناریوی NAT متعلق به فایروال

هدف: رد مبدأ جعلی واضح و دسترسی ناخواسته روتر با حفظ Transit فایروال.

ریسک امنیتی: جعل مبدأ حمله را پنهان؛ Permit گسترده سرویس روتر را افشا و Deny گسترده BGP و PMTUD را قطع می‌کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
ip access-list extended WAN-IN
 10 deny ip 10.0.0.0 0.255.255.255 any
 20 deny ip 172.16.0.0 0.15.255.255 any
 30 deny ip 192.168.0.0 0.0.255.255 any
 40 deny ip 127.0.0.0 0.255.255.255 any
 50 deny ip 169.254.0.0 0.0.255.255 any
 60 deny ip 0.0.0.0 0.255.255.255 any
 70 deny ip 224.0.0.0 15.255.255.255 any
 80 deny ip 240.0.0.0 15.255.255.255 any
 90 deny ip host 192.0.2.2 any
 100 deny ip 198.51.100.0 0.0.0.3 any
 110 permit tcp host 192.0.2.1 host 192.0.2.2 eq bgp
 120 permit tcp host 192.0.2.1 eq bgp host 192.0.2.2
 130 permit icmp any host 192.0.2.2 unreachable
 140 permit icmp any host 192.0.2.2 time-exceeded
 150 permit icmp any host 192.0.2.2 echo-reply
 160 permit icmp host 192.0.2.1 host 192.0.2.2 echo
 170 deny ip any host 192.0.2.2 log
 180 deny ip any host 198.51.100.1
 190 deny ip any 10.0.0.0 0.255.255.255
 200 deny ip any 172.16.0.0 0.15.255.255
 210 deny ip any 192.168.0.0 0.0.255.255
 220 permit ip any host 198.51.100.2
 230 deny ip any any
exit
interface GigabitEthernet0/0/0
 ip access-group WAN-IN in
exit
```

توضیح: ابتدا مبدأهای ممنوع، سپس BGP دقیق و ICMP لازم به WAN، بعد Deny آدرس روتر. مقصدهای محلی/خصوصی پیش از Permit عبوری به PAT فایروال رد می‌شوند. Permit نهایی 198.51.100.2 همه IP را به فایروال می‌دهد و کنترل نشست و سرویس عمومی بر عهده فایروال است. established معادل Stateful معرفی نشده است.

اعتبارسنجی: show ip interface و WAN-IN؛ تست BGP، دانلود HTTPS بزرگ، DNS و برگشت Session فایروال؛ تست خارجی SSH و Spoof در آزمایش ایزوله.

نتیجه مورد انتظار: نشست ISP باقی، SSH روتر رد، PMTUD فعال و برگشت معتبر به فایروال می‌رسد.

عیب‌یابی: Delta اولین ACE مطابق بررسی شود. نبود بسته در فایروال: ACL Edge و Route ISP؛ وجود بسته بدون Session: فایروال/NAT جدا. Logging ACL ممکن است تجمیع/نمونه‌گیری و CPUبر باشد و Packet Capture کامل نیست.

بازگشت: از Console ACL WAN قبلی متصل؛ no ip access-group WAN-IN in فقط اقدام اضطراری کوتاه تحت نظارت. حفاظت قبل از پایان پنجره برگردد.

این لیست مبدأ Baseline است نه Feed کامل Bogon به‌روز. در شبکه عمومی واقعی، محدوده Special Use/Unallocated و Prefix خود سازمان که نباید از بیرون بیاید پس از بررسی سرویس ISP اضافه شود. محدوده مستندات این آزمایش رد نشود. VPN نیازمند Permit محدود Peer برای IKE UDP/500، NAT-T 4500، ESP یا Tunnel پیش از Deny مقصد روتر است؛ چون این سناریو VPN ندارد غایب است. Fragment غیرابتدایی پورت ندارد؛ Policy Fragment جدا و بدون Deny کور بررسی شود.

PMTUD به ICMP Destination Unreachable/Fragmentation Needed برای رسیدن به Sender وابسته است؛ Time Exceeded برای Diagnostic. Deny همه ICMP ممکن است Handshake موفق ولی Payload بزرگ متوقف دهد. Probe روتر، Error تولیدشده Forwarding و Error عبوری مسیر متفاوت دارند؛ با MTU و Overhead Tunnel تست شوند. ACL، ICMP عبوری به فایروال را در Permit IP می‌دهد؛ CoPP فقط در مسیر CPU عمل می‌کند.

### محافظت مدیریت در برابر Transit پایین‌دست

هدف: جلوگیری از دسترسی Transit فایروال به مدیریت و جعل مبدأ مدیریت در آن مسیر.

ریسک امنیتی: سوئیچ فیزیکی جدا به‌تنهایی مانع Routing جدول عمومی به Subnet مدیریت نیست.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
ip access-list extended LAN-INFRA
 deny ip 10.99.0.0 0.0.0.255 any
 deny ip host 192.0.2.2 any
 deny ip host 198.51.100.1 any
 deny ip any 10.99.0.0 0.0.0.255
 permit ospf host 198.51.100.2 host 198.51.100.1
 permit ospf host 198.51.100.2 host 224.0.0.5
 permit ospf host 198.51.100.2 host 224.0.0.6
 permit icmp host 198.51.100.2 host 198.51.100.1
 deny ip any host 198.51.100.1
 deny ip any host 192.0.2.2
 permit ip any any
exit
interface GigabitEthernet0/0/1
 ip access-group LAN-INFRA in
exit
```

توضیح: این iACL مبدأ و مقصد مدیریت روی Gi0/0/1 را رد، OSPF را فقط از فایروال مجاز و مدیریت مستقیم آدرس دیگر روتر از این لینک را منع می‌کند. Forwarding عادی فایروال مجاز می‌ماند؛ فایروال باید مبدأ جعلی User/DMZ و Zone Policy خود را اجرا کند. این IP ACL ادعای فیلتر ARP ندارد.

اعتبارسنجی: LAN-INFRA و همسایه OSPF؛ تست دسترسی میزبان داخلی به 10.99.0.1 و شمارنده Deny؛ تست مجدد اینترنت.

نتیجه مورد انتظار: OSPF و Transit فعال و دسترسی پایین‌دست به مدیریت رد.

عیب‌یابی: Automation معتبر از فایروال رد می‌شود؛ به مسیر مدیریت مصوب منتقل یا استثنای محدود بازبینی‌شده طراحی شود.

بازگشت: ACL قبلی Gi0/0/1 از Console بازگردد؛ دسترسی عمومی مدیریت راه‌حل دائمی نباشد.

## ۱۲. uRPF و مسیریابی نامتقارن

| حالت | آزمون مبدأ | کاربرد | حالت شکست |
| --- | --- | --- | --- |
| Strict: reachable-via rx | بهترین مسیر برگشت CEF باید ورودی باشد؛ رفتار ECMP تابع پلتفرم | دسترسی تک‌مسیر متقارن یا Downstream کنترل‌شده | بسته معتبر نامتقارن ممکن است رد شود |
| Loose: reachable-via any | Route قابل استفاده مبدأ از هر پورت وجود دارد | Multihoming/نامتقارن با Table معنادار مبدأ | مبدأ جعلی دارای Route همچنان عبور می‌کند |
| گزینه allow-default | Default هم آزمون را تأمین می‌کند | طراحی فقط Default بازبینی‌شده | Loose و Default تقریباً همه مبدأ Routeپذیر را مجاز می‌کند |

### اعتبار مبدأ اختیاری پس از تست مسیر

هدف: رد مبدأ ناسازگار با طراحی Route.

ریسک امنیتی: مبدأ جعلی انتساب ساده حمله را بی‌اعتبار می‌کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
! Optional; excluded from the complete baseline until symmetry is proven
interface GigabitEthernet0/0/0
 ip verify unicast source reachable-via rx allow-default
exit
! Alternative for a suitable table: ip verify unicast source reachable-via any
! Do not apply strict and loose modes simultaneously.
```

توضیح: uRPF Lookup معکوس CEF است نه Stateful یا احراز هویت میزبان. نمونه Strict جدا Default را مجاز می‌کند چون WAN فقط Default دارد. رفتار Discard Route و ECMP در Image بررسی شود. Loose بدون allow-default روی این روتر مبدأ اینترنت فاقد Specific را رد می‌کند؛ Loose با Default حفاظت اضافه کمی دارد و ACL مبدأ مهم می‌ماند.

اعتبارسنجی: show ip cef <TEST_SOURCE>، show ip interface؛ تست هر دو Uplink در Lab چندمسیره و شمارنده RPF پشتیبانی‌شده.

نتیجه مورد انتظار: مبدأ متقارن معتبر عبور و مسیر برگشت از پورت دیگر رد می‌شود.

عیب‌یابی: PBR، ISP دوم، Tunnel یا Reconvergence می‌تواند فرض Strict را نقض کند؛ مسیر CEF معکوس بررسی شود نه فقط Ping.

بازگشت: تنظیم دقیق با no متناظر از Console حذف یا حالت تست‌شده قبلی برگردد؛ ACL Anti-spoof باقی بماند.

## ۱۳. مواجهه NAT و ترتیب پردازش بسته

Static NAT نگاشت ثابت، Dynamic از Pool و PAT اشتراک آدرس با شناسه Transport است. Port Forwarding ورودی عمدی سرویس عمومی می‌سازد؛ هیچ‌یک به‌تنهایی سیاست امنیت نیست. نگاشت Static ناخواسته ممکن است سرویس را برخلاف تصور پنهان‌شدن با NAT افشا کند. هر Mapping، مالک، مبدأ مجاز و تاریخ ثبت و اجازه نشست با فایروال/Policy عبوری تعیین شود.

### طرح PAT روی Edge، جدا از توپولوژی اصلی

هدف: توضیح PAT روتر برای Transit خصوصی جایگزین.

ریسک امنیتی: کپی PAT روتر در سناریوی PAT فایروال فرض NAT و ACL را متناقض می‌کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
! Alternative design only, incomplete without its companion policy redesign
ip access-list standard NAT-SOURCES
 permit 10.10.0.0 0.0.255.255
exit
interface GigabitEthernet0/0/1
 ip address 10.255.0.1 255.255.255.252
 ip nat inside
exit
interface GigabitEthernet0/0/0
 ip nat outside
exit
ip nat inside source list NAT-SOURCES interface GigabitEthernet0/0/0 overload
```

توضیح: بلوک اختیاری Downstream را به 10.255.0.1/30 تغییر و فقط 10.10.0.0/16 را از WAN ترجمه می‌کند. NAT-SOURCES انتخاب ترجمه است نه مجوز عبور. نیازمند ACL WAN جدید، فایروال/ZBF، تغییر OSPF/آدرس و Route است؛ با Config کامل ترکیب نشود. در NAT معمول IPv4، ACL ورودی Outside معمولاً مقصد عمومی پیش از ترجمه را می‌بیند؛ ترتیب واقعی Image تأیید شود.

اعتبارسنجی: Translations، Statistics، Route و Capture پیش/پس NAT با Session فایروال و ACL مقایسه شود.

نتیجه مورد انتظار: فقط مبدأ موردنظر PAT؛ Port Forward عمومی ایجاد نشده است.

عیب‌یابی: نبود Translation: Selection، Inside/Outside یا Route؛ Translation بدون Reply: مسیر ISP، ACL، Session Policy یا Route؛ همه Translationهای روتر شلوغ پاک نشود.

بازگشت: Rule اضافه و نقش NAT پورت در پنجره حذف، آدرس/Route/ACL قبلی بازیابی؛ نشست ممکن است Reset شود و طرح NAT فایروال اولیه حفظ گردد.

## ۱۴. IPv6 به طراحی امنیت مستقل نیاز دارد

### ACL اختیاری WAN و مدیریت Dual-stack

هدف: جلوگیری از دورزدن مرز IPv4 توسط IPv6 بررسی‌نشده.

ریسک امنیتی: ACL، اعتبار مبدأ و Match CoPP در IPv4 خودکار از IPv6 محافظت نمی‌کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
! Optional illustration; do not enable before IPv6 CoPP/routing/firewall review
ipv6 access-list V6-MGMT
 permit ipv6 host 2001:db8:99::10 any
 deny ipv6 any any
exit
ipv6 access-list V6-WAN-IN
 permit icmp any any nd-ns
 permit icmp any any nd-na
 permit icmp any any destination-unreachable
 permit icmp any any packet-too-big
 permit icmp any any time-exceeded
 permit icmp any any parameter-problem
 permit tcp host 2001:db8:0::1 host 2001:db8:0::2 eq bgp
 permit tcp host 2001:db8:0::1 eq bgp host 2001:db8:0::2
 deny ipv6 any host 2001:db8:0::2
 deny ipv6 any host 2001:db8:100::1
 deny ipv6 any 2001:db8:99::/64
 permit ipv6 any host 2001:db8:100::2
 deny ipv6 any any
exit
interface GigabitEthernet0/0/0
 ipv6 traffic-filter V6-WAN-IN in
exit
line vty 0 4
 ipv6 access-class V6-MGMT in
exit
line vty 5 15
 ipv6 access-class V6-MGMT in
exit
```

توضیح: آدرس مستندات 2001:db8::/32؛ WAN ::1 برای ISP و ::2 روتر، Transit فایروال 2001:db8:100::/64 و مدیریت 2001:db8:99::/64. ND و Error ضروری ICMPv6 پیش از Deny مجاز است. Hop Limit 255 و مبدأ On-link در صورت پشتیبانی ND را بهبود می‌دهد؛ RA/SLAAC با WAN Static فرق دارد. traffic-filter پورت و access-class VTY را کنترل می‌کند. این طرح اختیاری است نه پیکربندی کامل Peer/Firewall IPv6.

اعتبارسنجی: show ipv6 interface، neighbors، route، access-list؛ SSH مجاز/رد IPv6 و تست PMTUD Payload بزرگ.

نتیجه مورد انتظار: ND، Packet Too Big و ترافیک قراردادی فعال؛ SSH اینترنت از IPv4 دور نمی‌زند.

عیب‌یابی: نبود Packet Too Big باعث Black Hole و نبود ND باعث شکست Static صحیح می‌شود. IPv6 در Default بدون Policer ریسک CPU است؛ قبل از Dual-stack، MQC/حفاظت پلتفرم IPv6 تست و اضافه شود.

بازگشت: Filter، access-class و Route قبلی IPv6 بازیابی؛ اگر تازه اضافه شده Activation پورت و Peer/AF هماهنگ پس از بررسی وابستگی مدیریت حذف شود.

پیش از IPv6 همه Listener عمومی و Link Local، Tunnel، RA، Default و Rule فایروال ممیزی شود. ICMPv6 کلی حذف نشود؛ ND و Packet Too Big بنیادی‌اند. BGP IPv6 به AF، Import/Export و Limit مستقل؛ OSPFv3 به Authentication Trailer/IPsec پشتیبانی‌شده متفاوت از OSPFv2 نیاز دارد. uRPF IPv6 Syntax مستقل و ریسک نامتقارن همان است. اگر استفاده نمی‌شود نبود Activation پورت/Tunnel تأیید؛ نبود ipv6 unicast-routing لزوماً نبود Link Local نیست.

## ۱۵. کنترل متناسب با مسیر بسته

| مکانیزم | دامنه / مزیت | محدودیت / کاربرد |
| --- | --- | --- |
| ACL پورت | Match بدون State در ورودی/خروجی پورت | ترتیب و دید NAT مهم؛ محدودیت مرز/Transit |
| iACL | Permit/Deny صریح مقصد زیرساخت | بار CPU یا State را نمی‌سنجد؛ حفاظت آدرس روتر |
| CoPP | Policing ترافیک طبقه‌بندی‌شده CPU | ظرفیت لینک را حفاظت نمی‌کند؛ بودجه بد پروتکل را قطع می‌کند |
| MPP | انتخاب ورودی پروتکل مدیریت پشتیبانی‌شده | وابسته پلتفرم؛ هویت را احراز نمی‌کند؛ مکمل AAA |
| ZBF | Inspection نشست/Zone و Zone Pair صریح | نیازمند بررسی قابلیت، License، منابع و Self Zone؛ نقش فایروال روتر در طراحی مناسب |
| uRPF | اعتبار تقریبی مسیر مبدأ در CEF | محدودیت نامتقارن/Default؛ Anti-spoof نه هویت یا State |

مهاجرت ZBF می‌تواند ترافیک بین Zone و Self Zone را تغییر دهد. قبل از عضویت پورت در Zone، Policy همه جهت‌های لازم ساخته و VPN و مدیریت روی پلتفرم دقیق تست شود. این مقاله فایروال اختصاصی را مرز Stateful نگه می‌دارد و ZBF متعارض اضافه نمی‌کند.

## ۱۶. Log، زمان، Metric و دید Flow

### Syslog مرکزی، NTP و ممیزی تغییر

هدف: هم‌بستگی دسترسی، تغییر و Routing با زمان قابل اعتماد.

ریسک امنیتی: دستگاه نفوذشده Log محلی را حذف و زمان غلط تحلیل رخداد را مختل می‌کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
service timestamps debug datetime msec show-timezone
service timestamps log datetime msec show-timezone
clock timezone UTC 0 0
logging buffered 65536 informational
no logging console
logging source-interface GigabitEthernet0/0/2
logging host 10.99.0.40 transport udp port 514
logging trap informational
login on-failure log
login on-success log
ip access-list standard NTP-PEERS
 permit host 10.99.0.50
exit
ip access-list standard NTP-NOCLIENTS
 deny any
exit
ntp source GigabitEthernet0/0/2
ntp server 10.99.0.50 prefer
ntp access-group peer NTP-PEERS
ntp access-group serve-only NTP-NOCLIENTS
archive
 log config
  logging enable
  logging size 200
  notify syslog contenttype plaintext
  hidekeys
 exit
exit
```

توضیح: Syslog از مبدأ مدیریت با UDP/514 در شبکه جدا است؛ تحویل یا محرمانگی UDP تضمین ندارد. در صورت نیاز Transport امن پشتیبانی‌شده یا IPsec. Informational سطح ۰ تا ۶ را می‌فرستد. archive log config تغییر CLI را ثبت و hidekeys افشای Secret را کم می‌کند، نه تضمین کامل. ACLهای peer/serve-only از Time Server عمومی شدن Edge جلوگیری می‌کنند.

اعتبارسنجی: show logging، show archive log config all، show ntp associations/status؛ تغییر Description بی‌خطر و تأیید مبدأ، زمان و کاربر در Collector.

نتیجه مورد انتظار: Log از 10.99.0.1، NTP هماهنگ با .50 و تغییر قابل انتساب.

عیب‌یابی: نبود Syslog: مبدأ/Route، Listener UDP و Severity؛ NTP ناسازگار: Reach، Offset، Stratum و ACL سرور نه فقط UDP. در NTP احراز‌شده الگوریتم و کلید مشترک پشتیبانی‌شده بررسی؛ MD5 قدیمی تضمین Crypto جدید نیست.

بازگشت: پس از حفظ شواهد مقصد و ACL قبلی Log/NTP بازیابی؛ در Volume زیاد فقط Notification جدید Archive خاموش و Audit خارجی حفظ شود.

NTP در Baseline مبدأ محدود ولی بدون Authentication است؛ فقط اگر مدل تهدید مدیریت اجازه می‌دهد پذیرفته شود. در غیر این صورت طراحی زمان احراز‌شده پشتیبانی‌شده با سرور هماهنگ شود. پشتیبانی NTS کلاینت Desktop به IOS XE تعمیم داده نشود. برای تعویض زمان‌دار Key، ساعت دو Peer قبل از Lifetime OSPF بررسی شود.

### Export اختیاری Flexible NetFlow

هدف: مشاهده الگوی ارتباط و تغییر ناگهانی WAN.

ریسک امنیتی: شمارنده ACL همه ارتباط یا Scan را توضیح نمی‌دهد.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
flow record EDGE-RECORD
 match ipv4 source address
 match ipv4 destination address
 match ipv4 protocol
 match transport source-port
 match transport destination-port
 match interface input
 collect counter bytes long
 collect counter packets long
exit
flow exporter EDGE-EXPORT
 destination 10.99.0.30
 source GigabitEthernet0/0/2
 transport udp 2055
 export-protocol netflow-v9
exit
flow monitor EDGE-FLOW
 record EDGE-RECORD
 exporter EDGE-EXPORT
 cache timeout active 60
exit
interface GigabitEthernet0/0/0
 ip flow monitor EDGE-FLOW input
exit
```

توضیح: Record کلید Flow IPv4 و شمارنده می‌گیرد؛ Exporter نسخه ۹ به Collector مدیریت؛ Monitor فقط WAN Input. NetFlow Telemetry است نه Enforcement. قابلیت سخت‌افزار، Cache، Sampling و مسیر Export در ISR/ASR/C8000 واقعی بررسی؛ TCP Flag در صورت پشتیبانی تحلیل را بهتر می‌کند.

اعتبارسنجی: Cache مانیتور و Statistics Exporter؛ تطبیق Record Decodeشده با Transfer کنترل‌شده.

نتیجه مورد انتظار: Record از .1 با Input Interface و Byte معنادار می‌رسد.

عیب‌یابی: Cache خالی: جهت غلط، Field غیرپشتیبانی یا نبود Traffic؛ شکست Export افزاینده: Route/Listener؛ مصرف منابع قبل از دو جهت بررسی شود.

بازگشت: ابتدا Monitor از WAN جدا؛ سپس Monitor/Exporter/Record بلااستفاده حذف.

Zabbix با SNMPv3 پردازنده، حافظه، Utilization/Error/Discard و Availability را Poll می‌کند. OID و Template MIB صحیح PID لازم؛ OID CoPP/QFP حدس زده نشود. شمارنده غیرموجود با Automation CLI/API مصوب و Least Privilege جمع شود. Grafana از Data Source سازگار Zabbix یا Metric جمع‌شده SNMP Exporter در Prometheus استفاده می‌کند. Syslog با Receiver/Agent مناسب به Loki و NetFlow پس از Decode/Collector و Storage قابل نمایش است. Grafana خودش Collector SNMP یا NetFlow نیست.

| سیگنال | هشدار قابل اقدام |
| --- | --- |
| BGP / OSPF | Peer/State غیرمنتظره، نبود Default، انحراف تعداد Prefix/Export؛ تطبیق با Maintenance |
| CPU / حافظه | انحراف پایدار، کاهش حافظه یا فشار QFP؛ شواهد Process/Punt |
| ACL / CoPP | رشد Deny، Drop کلاس معتمد یا Default ناشناخته؛ Delta شمارنده |
| اینترفیس | Link Down، افزایش CRC/Error/Discard یا اشباع؛ تفکیک فیزیکی/Policy |
| AAA / تغییر | Login ناموفق مکرر، موفق غیرمنتظره، قطعی AAA یا تغییر نامصوب |
| Telemetry / زمان | قطع Poll/Heartbeat، شکست Export یا NTP؛ تشخیص نقطه کور |

## ۱۷. حفاظت Backup و بازگشت Production

### Archive تأییدشده و Backup خارجی رمزنگاری‌شده

هدف: نگهداری Running/Startup مستقل و نسخه خارجی قابل بازیابی.

ریسک امنیتی: نسخه فقط محلی با روتر از دست می‌رود؛ فایل خوانا Key و توپولوژی را افشا می‌کند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
! EXEC, before any hardening change
dir bootflash:
copy running-config bootflash:pre-hardening-running.cfg
copy startup-config bootflash:pre-hardening-startup.cfg
copy bootflash:pre-hardening-running.cfg scp://backupuser@10.99.0.60/edge/pre-hardening-running.cfg
! Global configuration, after validating space and repository access
archive
 path bootflash:edge-archive
 maximum 10
 write-memory
exit
! EXEC: create an archive now
archive config
show archive
```

توضیح: Copy در EXEC بدون بازنویسی Startup فایل قبل تغییر را نگه می‌دارد. Filesystem و فضای bootflash بررسی. Archive محلی محدود؛ SCP خارجی به Repository با هویت SSH تأییدشده. Encryption، ACL، Retention تغییرناپذیر و تست Restore لازم. برای Push کلاینت، ip scp server enable لازم نیست و Server اضافی می‌گشاید.

اعتبارسنجی: dir bootflash و show archive؛ Checksum پشتیبانی‌شده و Hash/Byte انتقال خارجی؛ Restore خصوصی روی Lab با Image مشابه.

نتیجه مورد انتظار: دو Baseline مجزا و Backup خارجی قابل بازیابی با منشأ و Policy دسترسی ثبت‌شده.

عیب‌یابی: شکست SCP ممکن است Route/Source یا Host Key/Algorithm باشد؛ رمز در URL/Log نباشد. وجود Archive بدون امکان Parse تأیید Rollback نیست.

بازگشت: در فشار Storage مسیر/Retention قبلی بازگردد؛ قبل حذف محلی Baseline و Backup خارجی حفظ شود.

### Configuration Replace با Timer بازگشت تست‌شده

هدف: بازیابی کل تنظیم موردنظر به‌جای Merge ناقص معکوس.

ریسک امنیتی: copy فایل قدیمی به Running، Merge است؛ اتصال ACL و AAA جدید ممکن است بماند.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
! EXEC in a controlled replacement transaction
configure replace bootflash:pre-hardening-running.cfg time 5
! Verify new SSH, AAA, routing, WAN traffic and telemetry before confirmation
configure confirm
! Save only after the change is accepted
copy running-config startup-config
```

توضیح: برای configure replace فایل کامل ذخیره‌شده لازم. time 5 نیازمند configure confirm طی پنج دقیقه است وگرنه به وضعیت قبل Replace برمی‌گردد. Timer فقط Transaction Replace را حفاظت می‌کند نه همه Editهای قبلی. Workflow Config Revert برای تغییر تعاملی تابع رفتار دقیق Image است. Replace نسخه IOS XE را Downgrade، Key ازدست‌رفته را بازسازی و State/Session را تضمین نمی‌کند.

اعتبارسنجی: در Lab با Console، Candidate بی‌خطر Replace، انقضای Timer و برگشت بررسی؛ تکرار و پس از تأیید configure confirm؛ Archive و Diff کامل بررسی.

نتیجه مورد انتظار: بازگشت زمان‌دار و Confirm روی این Image پیش از Production کار کنند.

عیب‌یابی: فرمان رد/ناقص، فایل غایب، Storage یا Semantics غیرپشتیبانی Rollback را مختل می‌کند؛ force برای عبور از ابهام نباشد. Reboot Fallback نیازمند Startup و Boot تأییدشده و موجب قطعی است.

بازگشت: در شکست Candidate Timer تست‌شده یا فایل سالم از Console؛ تنظیم واقعی و Route قبل Save بررسی.

ترتیب Production: پنجره با نیروی پاسخ‌گو، Console و Backup خارجی تأیید؛ Identity/AAA، سپس سرویس/مدیریت، Policy Routing، ACL WAN و CoPP اندازه‌گیری‌شده. پس از هر مرحله نشست و Traffic تازه تست. فرمان معکوس دقیق یا فایل Replace تست‌شده آماده. فقط وضعیت پذیرفته‌شده Save و طی چرخه Traffic همسایه، CPU، Delta Drop و Telemetry پایش. Candidate شکست‌خورده در Startup ذخیره نشود. no service password-recovery عمداً نیست؛ در بعضی پلتفرم بازیابی مستلزم پاک‌سازی Config و روش امنیت فیزیکی تست‌شده است.

## ۱۸. پیکربندی کامل استقرار مرجع

این Config بلوک Baseline سناریوی یک ISP و PAT فایروال را پیوند می‌دهد. Gi0/0/1 Transit رو به LAN فایروال است نه LAN کاربر بدون حفاظت. فایروال OSPF همسان، دو Prefix داخلی، مصرف Default شرطی و Rule PAT/Session؛ ISP Route بلوک Outside، Key/GTSM و اعلان Default لازم دارد. همه Placeholderها آفلاین جایگزین؛ Parser Image نگهداری دقیق قبل Lab تأیید شود. ساخت RSA فقط Provision اولیه؛ عدد نمونه تضمین Performance نیست.

### Template مرجع و قرارداد پذیرش

هدف: ارائه Config منسجم بدون NAT Edge، Activation IPv6 یا Default متناقض.

ریسک امنیتی: Paste مکانیکی می‌تواند پورت، Key و Peer زنده را تغییر دهد.

پیکربندی: حالت Global مگر آنکه Submode یا فرمان EXEC مشخص باشد. مقادیر داخل <> جایگزین هستند و نباید عیناً اجرا شوند.

```cisco
! ISR4331 autonomous IOS XE 17.12.6 - REVIEWED TEMPLATE, NOT HARDWARE TESTED
! Replace all angle-bracket secrets; size CoPP from measurements.
! Initial provisioning, global configuration mode
hostname EDGE-ISR4331
ip domain name example.net
username breakglass privilege 15 algorithm-type scrypt secret <LOCAL_ADMIN_SECRET>
enable algorithm-type scrypt secret <ENABLE_SECRET>
!
interface GigabitEthernet0/0/0
 description ISP-WAN
 ip address 192.0.2.2 255.255.255.252
 no ip redirects
 no ip proxy-arp
 no ip directed-broadcast
 no shutdown
exit
interface GigabitEthernet0/0/1
 description FIREWALL-OUTSIDE-OSPF
 ip address 198.51.100.1 255.255.255.252
 no ip redirects
 no ip proxy-arp
 no ip directed-broadcast
 no shutdown
exit
interface GigabitEthernet0/0/2
 description ISOLATED-MANAGEMENT
 ip address 10.99.0.1 255.255.255.0
 no ip redirects
 no ip proxy-arp
 no ip directed-broadcast
 no shutdown
exit
!
aaa new-model
aaa authentication login default local
aaa authorization exec default local
aaa authentication login LOCAL local
aaa authorization exec LOCAL local
line console 0
 login authentication LOCAL
 exec-timeout 10 0
 logging synchronous
exit
line vty 0 4
 login authentication LOCAL
 authorization exec LOCAL
exit
line vty 5 15
 login authentication LOCAL
 authorization exec LOCAL
exit
!
tacacs server TAC1
 address ipv4 10.99.0.20
 key 0 <TACACS_SHARED_SECRET_1>
 timeout 5
exit
tacacs server TAC2
 address ipv4 10.99.0.21
 key 0 <TACACS_SHARED_SECRET_2>
 timeout 5
exit
aaa group server tacacs+ EDGE-TACACS
 server name TAC1
 server name TAC2
exit
ip tacacs source-interface GigabitEthernet0/0/2
aaa authentication login CENTRAL group EDGE-TACACS local
aaa authorization exec CENTRAL group EDGE-TACACS local
aaa accounting exec CENTRAL start-stop group EDGE-TACACS
aaa accounting commands 15 CENTRAL start-stop group EDGE-TACACS
line vty 0 4
 login authentication CENTRAL
 authorization exec CENTRAL
 accounting exec CENTRAL
 accounting commands 15 CENTRAL
exit
line vty 5 15
 login authentication CENTRAL
 authorization exec CENTRAL
 accounting exec CENTRAL
 accounting commands 15 CENTRAL
exit
!
! Generate only on initial provisioning; global configuration mode
crypto key generate rsa general-keys modulus 3072
ip ssh version 2
ip ssh time-out 60
ip ssh authentication-retries 3
ip ssh server algorithm encryption aes256-ctr aes128-ctr
ip access-list standard MGMT-SSH
 permit host 10.99.0.10
 deny any log
exit
line vty 0 4
 transport input ssh
 exec-timeout 10 0
 access-class MGMT-SSH in
exit
line vty 5 15
 transport input ssh
 exec-timeout 10 0
 access-class MGMT-SSH in
exit
!
no ip http server
no ip http secure-server
no ip source-route
interface GigabitEthernet0/0/0
 no cdp enable
 no lldp transmit
 no lldp receive
exit
!
ip access-list standard MGMT-SNMP
 permit host 10.99.0.30
 deny any
exit
snmp-server view EDGE-READ mib-2 included
snmp-server view EDGE-READ 1.3.6.1.4.1.9 included
snmp-server group NMS v3 priv read EDGE-READ access MGMT-SNMP
snmp-server user zabbix NMS v3 auth sha <SNMP_AUTH_SECRET> priv aes 128 <SNMP_PRIV_SECRET>
!
ip prefix-list ISP-DEFAULT seq 10 permit 0.0.0.0/0
ip prefix-list OUT-NONE seq 10 deny 0.0.0.0/0 le 32
ip as-path access-list 10 permit ^64500(_64500)*$
route-map ISP-IN permit 10
 match ip address prefix-list ISP-DEFAULT
 match as-path 10
exit
router bgp 64510
 bgp router-id 10.99.0.1
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 192.0.2.1 remote-as 64500
 neighbor 192.0.2.1 description ISP-DEFAULT-ONLY
 neighbor 192.0.2.1 password 0 <BGP_SHARED_SECRET>
 neighbor 192.0.2.1 ttl-security hops 1
 address-family ipv4 unicast
  neighbor 192.0.2.1 activate
  neighbor 192.0.2.1 route-map ISP-IN in
  neighbor 192.0.2.1 prefix-list OUT-NONE out
  neighbor 192.0.2.1 maximum-prefix 1 90
 exit-address-family
exit
!
key chain OSPF-KEYS
 key 1
  key-string <OSPF_SHARED_SECRET>
  cryptographic-algorithm hmac-sha-256
 exit
exit
router ospf 10
 router-id 10.99.0.1
 passive-interface default
 no passive-interface GigabitEthernet0/0/1
 default-information originate
exit
interface GigabitEthernet0/0/1
 ip ospf 10 area 0
 ip ospf network point-to-point
 ip ospf authentication key-chain OSPF-KEYS
exit
!
ip access-list extended WAN-IN
 10 deny ip 10.0.0.0 0.255.255.255 any
 20 deny ip 172.16.0.0 0.15.255.255 any
 30 deny ip 192.168.0.0 0.0.255.255 any
 40 deny ip 127.0.0.0 0.255.255.255 any
 50 deny ip 169.254.0.0 0.0.255.255 any
 60 deny ip 0.0.0.0 0.255.255.255 any
 70 deny ip 224.0.0.0 15.255.255.255 any
 80 deny ip 240.0.0.0 15.255.255.255 any
 90 deny ip host 192.0.2.2 any
 100 deny ip 198.51.100.0 0.0.0.3 any
 110 permit tcp host 192.0.2.1 host 192.0.2.2 eq bgp
 120 permit tcp host 192.0.2.1 eq bgp host 192.0.2.2
 130 permit icmp any host 192.0.2.2 unreachable
 140 permit icmp any host 192.0.2.2 time-exceeded
 150 permit icmp any host 192.0.2.2 echo-reply
 160 permit icmp host 192.0.2.1 host 192.0.2.2 echo
 170 deny ip any host 192.0.2.2 log
 180 deny ip any host 198.51.100.1
 190 deny ip any 10.0.0.0 0.255.255.255
 200 deny ip any 172.16.0.0 0.15.255.255
 210 deny ip any 192.168.0.0 0.0.255.255
 220 permit ip any host 198.51.100.2
 230 deny ip any any
exit
interface GigabitEthernet0/0/0
 ip access-group WAN-IN in
exit
!
ip access-list extended LAN-INFRA
 deny ip 10.99.0.0 0.0.0.255 any
 deny ip host 192.0.2.2 any
 deny ip host 198.51.100.1 any
 deny ip any 10.99.0.0 0.0.0.255
 permit ospf host 198.51.100.2 host 198.51.100.1
 permit ospf host 198.51.100.2 host 224.0.0.5
 permit ospf host 198.51.100.2 host 224.0.0.6
 permit icmp host 198.51.100.2 host 198.51.100.1
 deny ip any host 198.51.100.1
 deny ip any host 192.0.2.2
 permit ip any any
exit
interface GigabitEthernet0/0/1
 ip access-group LAN-INFRA in
exit
!
service timestamps debug datetime msec show-timezone
service timestamps log datetime msec show-timezone
clock timezone UTC 0 0
logging buffered 65536 informational
no logging console
logging source-interface GigabitEthernet0/0/2
logging host 10.99.0.40 transport udp port 514
logging trap informational
login on-failure log
login on-success log
ip access-list standard NTP-PEERS
 permit host 10.99.0.50
exit
ip access-list standard NTP-NOCLIENTS
 deny any
exit
ntp source GigabitEthernet0/0/2
ntp server 10.99.0.50 prefer
ntp access-group peer NTP-PEERS
ntp access-group serve-only NTP-NOCLIENTS
archive
 log config
  logging enable
  logging size 200
  notify syslog contenttype plaintext
  hidekeys
 exit
exit
!
ip access-list extended CP-BGP
 permit tcp host 192.0.2.1 host 192.0.2.2 eq bgp
 permit tcp host 192.0.2.1 eq bgp host 192.0.2.2
exit
ip access-list extended CP-OSPF
 permit ospf host 198.51.100.2 host 198.51.100.1
 permit ospf host 198.51.100.2 host 224.0.0.5
 permit ospf host 198.51.100.2 host 224.0.0.6
exit
ip access-list extended CP-MGMT
 permit tcp host 10.99.0.10 host 10.99.0.1 eq 22
 permit udp host 10.99.0.30 host 10.99.0.1 eq snmp
 permit tcp host 10.99.0.20 eq tacacs host 10.99.0.1
 permit tcp host 10.99.0.21 eq tacacs host 10.99.0.1
 permit udp host 10.99.0.50 eq ntp host 10.99.0.1
exit
ip access-list extended CP-ICMP
 permit icmp any any unreachable
 permit icmp any any time-exceeded
 permit icmp any any echo-reply
 permit icmp host 192.0.2.1 host 192.0.2.2 echo
 permit icmp host 10.99.0.10 host 10.99.0.1 echo
exit
ip access-list extended CP-UNTRUSTED
 permit tcp any any eq 22
 permit tcp any any eq 23
 permit udp any any eq snmp
exit
class-map match-all CP-BGP
 match access-group name CP-BGP
exit
class-map match-all CP-OSPF
 match access-group name CP-OSPF
exit
class-map match-all CP-MGMT
 match access-group name CP-MGMT
exit
class-map match-all CP-ICMP
 match access-group name CP-ICMP
exit
class-map match-all CP-UNTRUSTED
 match access-group name CP-UNTRUSTED
exit
policy-map EDGE-COPP
 class CP-BGP
  police 2000000 62500 conform-action transmit exceed-action drop
 class CP-OSPF
  police 256000 8000 conform-action transmit exceed-action drop
 class CP-MGMT
  police 1000000 31250 conform-action transmit exceed-action drop
 class CP-ICMP
  police 128000 4000 conform-action transmit exceed-action drop
 class CP-UNTRUSTED
  police 8000 conform-action drop exceed-action drop
exit
control-plane
 service-policy input EDGE-COPP
exit
!
archive
 path bootflash:edge-archive
 maximum 10
 write-memory
exit
! Do not save until acceptance checks succeed.
```

توضیح: CENTRAL برای Login/Exec/Accounting VTY و LOCAL برای Console. مجوز فرمان، RADIUS، MPP، uRPF، NetFlow، NAT Edge و Dual-stack تغییر جدا اختیاری‌اند. Default CoPP ابتدا باز و حفاظت Unknown نیازمند ممیزی بعدی. NTP مبدأ محدود، SNMP مبتنی بر SHA-1/AES128 و TACACS+ کلاسیک جدا؛ محدودیت صریح برای تطبیق Policy است.

اعتبارسنجی: ماتریس بخش بعد و Diff Running/Startup؛ روتر، ISP و فایروال با هم تأیید شوند.

نتیجه مورد انتظار: فقط Jump مدیریت، AAA و Telemetry فعال، یک Default BGP و همسایه OSPF پایدار، Transit و PMTUD موفق.

عیب‌یابی: در رد بلوک آن مرحله متوقف و مرجع Model/Release بررسی؛ Syntax سوئیچ/XR/SD-WAN جایگزین نشود.

بازگشت: معکوس مرحله‌ای یا Replace تست‌شده از Console؛ Routing، دسترسی و مانیتور خارجی پیش از ادامه تأیید.

## ۱۹. تأیید امنیت و تست منفی

| تست | شواهد و نتیجه |
| --- | --- |
| مدیر مجاز / غیرمجاز | SSH .10 موفق و .11 رد؛ TCP22/23 خارجی رد؛ Users و ACE همخوان |
| خطا / Reject AAA | قطعی دو سرور breakglass؛ Reject بدون Fallback؛ Audit مطابق کاربر/نشست |
| قرارداد BGP | Established؛ Prefix یک؛ Default در RIB؛ اعلان خالی |
| قرارداد OSPF | یک همسایه FULL؛ Route داخلی و حذف Default شرطی هنگام Withdrawal |
| Data Path / PMTUD | DNS/HTTPS و Payload بزرگ فعال؛ سرویس ممنوع رد؛ Error ICMP می‌رسد |
| بودجه CoPP | نبود Drop معتمد غیرموجه در همگرایی؛ رشد Reject؛ CPU/Punt ثبت |
| مانیتور / بازیابی | SNMPv3 فعال، v2c حذف، Syslog وصول، NTP Sync و Restore تمرین‌شده |

```cisco
show ip ssh
show users
show aaa servers
show access-lists WAN-IN
show policy-map control-plane
show processes cpu sorted
show memory statistics
show ip bgp summary
show ip bgp neighbors 192.0.2.1 advertised-routes
show ip ospf neighbor
show ip route
show logging
show snmp user
show ntp associations
show archive
```

به‌جای Screenshot خروجی ساختگی مشاهده واقعی ثبت شود. Spoof، Flood و Withdrawal در Lab کنترل‌شده؛ تست منفی Production محدود و با نرخ مشخص. رشد شمارنده Match Rule را ثابت می‌کند نه امنیت همه مسیر. از دید مدیریت و برنامه تست تکرار و Hash تنظیم نهایی پذیرفته‌شده ثبت شود.

## ۲۰. ده سناریوی خطای عملیاتی

### ۱. SSH پس از اتصال ACL قطع شد

نشانه‌ها: نشست تازه Timeout ولی نشست قدیمی ممکن است باقی بماند.

علل محتمل: مبدأ NATشده، Wildcard، Range VTY یا Deny جلوتر از Permit لازم.

فرمان تشخیصی:

```cisco
show users
show access-lists MGMT-SSH
show ip interface GigabitEthernet0/0/0
show running-config | section line vty
show ip ssh
```

مشاهده مورد انتظار: ACE رد برای مبدأ واقعی زیاد؛ نبود Negotiation یعنی Filter؛ Prompt و Reject یعنی AAA.

اقدام اصلاحی: از Console مبدأ درست یا اتصال قبلی؛ نشست تازه قبل Save.

پیشگیری: ثبت مبدأ در show users و حفظ Console مستقل.

### ۲. ورود AAA شکست می‌خورد

نشانه‌ها: رمز رد یا Login موفق بدون Shell.

علل محتمل: کلید/Policy، نبود Shell Profile، Method List یا اشتباه Reject با Fallback.

فرمان تشخیصی:

```cisco
show aaa servers
show tacacs
show running-config | section aaa
show running-config | section line vty
```

مشاهده مورد انتظار: Reject فوری در Audit؛ Timeout خطا؛ رد Exec رکورد جدا.

اقدام اصلاحی: اصلاح Key NAS و Shell Policy؛ LOCAL از Console هنگام بررسی؛ none برای Bypass کلی اضافه نشود.

پیشگیری: تست جدا Login مجاز، رد و مجوز Exec.

### ۳. TACACS+ در دسترس نیست

نشانه‌ها: Login تا Fallback تأخیر و Accounting متوقف.

علل محتمل: لینک مدیریت، مبدأ/VRF، TCP49 یا Listener/Firewall سرور.

فرمان تشخیصی:

```cisco
show ip route 10.99.0.20
ping 10.99.0.20 source 10.99.0.1
show interfaces GigabitEthernet0/0/2
show aaa servers
show tacacs
```

مشاهده مورد انتظار: Connected و ARP لازم؛ Capture سرور SYN از 10.99.0.1؛ ICMP موفق TCP49 را ثابت نمی‌کند.

اقدام اصلاحی: مسیر/Listener و Policy TCP49 اصلاح؛ دسترسی Console/Local Vault در قطعی.

پیشگیری: سرور افزونه تست‌شده و هشدار Error/Accounting Gap.

### ۴. BGP در Idle یا Active

نشانه‌ها: نبود Default و تلاش نشست مکرر.

علل محتمل: WAN/ARP، TCP179، AS، MD5، GTSM یا Limit.

فرمان تشخیصی:

```cisco
show ip bgp summary
show ip bgp neighbors 192.0.2.1
show ip route 192.0.2.1
show arp
show access-lists WAN-IN
show logging
```

مشاهده مورد انتظار: Peer باید Connected؛ Deny یا Key/TTL خطای نشست؛ Established با صفر Route مسئله Import جدا.

اقدام اصلاحی: Permit دقیق و هماهنگی AS/Key/TTL؛ علت Limit قبل Reset فقط این Peer در پنجره.

پیشگیری: قرارداد Peer، Staging دو طرف و هشدار Limit.

### ۵. OSPF به FULL نمی‌رسد

نشانه‌ها: نبود Neighbor یا EXSTART/EXCHANGE مکرر.

علل محتمل: Passive، Protocol89، Area/Key/Algorithm/Type، MTU یا Router ID تکراری.

فرمان تشخیصی:

```cisco
show ip ospf interface GigabitEthernet0/0/1
show ip ospf neighbor
show interfaces GigabitEthernet0/0/1
show policy-map control-plane
show logging
```

مشاهده مورد انتظار: Hello شکست: Key/Area/Filter؛ Exchange: MTU/هویت؛ Peer مستقیم باید FULL باشد.

اقدام اصلاحی: اصلاح دو طرف و Authentication همسان؛ بررسی Drop معتمد CoPP؛ MTU اصلاح نه نادیده‌گرفتن کور.

پیشگیری: ثبت قرارداد Area/Type/MTU/Key و تست Lifetime/Overlap تعویض.

### ۶. CoPP ترافیک معتبر را Drop می‌کند

نشانه‌ها: Flap مسیریابی، SSH کند یا Poll ازدست‌رفته در Burst.

علل محتمل: Match/ترتیب، Rate ترافیک بی‌کار، Burst کم، Transfer حجیم یا Pre-policer.

فرمان تشخیصی:

```cisco
show policy-map control-plane
show processes cpu sorted
show ip bgp summary
show ip ospf neighbor
show platform hardware qfp active datapath utilization
```

مشاهده مورد انتظار: Exceed معتمد هم‌زمان Failure؛ شمارنده پلتفرم CPU IOSd را از بار Forwarding جدا می‌کند.

اقدام اصلاحی: از Console Policy قبلی یا بودجه کلاس دارای شواهد در Staging؛ حذف کلی دائمی نباشد.

پیشگیری: Peak همگرایی و Automation اندازه‌گیری و Headroom بازبینی.

### ۷. اینترنت پس از ACL WAN قطع شد

نشانه‌ها: BGP ممکن است فعال ولی DNS، برگشت وب یا Transfer بزرگ قطع.

علل محتمل: Transit رد، آدرس/Route فایروال غلط، فرض ترتیب NAT یا ICMP بسته.

فرمان تشخیصی:

```cisco
show access-lists WAN-IN
show ip route
show ip interface GigabitEthernet0/0/0
show ip bgp summary
show interfaces GigabitEthernet0/0/1
```

مشاهده مورد انتظار: اولین Deny زیاد؛ Capture Outside برگشت/ICMP ندارد؛ Edge عمداً NAT ندارد.

اقدام اصلاحی: ACL WAN قبلی، Permit Transit صحیح و تست PMTUD/Session/NAT فایروال.

پیشگیری: ماتریس Source/Destination/Service از Flow واقعی قبل اتصال.

### ۸. Strict uRPF مسیر نامتقارن را قطع می‌کند

نشانه‌ها: یک ISP کار و بسته ورودی دیگر ناپدید.

علل محتمل: بهترین مسیر برگشت متفاوت؛ Default/PBR/ECMP اشتباه.

فرمان تشخیصی:

```cisco
show ip cef <SOURCE_IP>
show ip route <SOURCE_IP>
show ip interface GigabitEthernet0/0/0
```

مشاهده مورد انتظار: Route معتبر مبدأ ولی CEF بهترین مسیر پورت دیگر؛ Failure RPF همخوان.

اقدام اصلاحی: Strict حذف یا Loose/ACL بازبینی‌شده؛ Route گمراه‌کننده فقط برای RPF ایجاد نشود.

پیشگیری: تست Failover/همگرایی قبل اعتبار مبدأ.

### ۹. مانیتور SNMPv3 قطع شد

نشانه‌ها: Zabbix Unsupported Item یا خطای Authentication/Time Window.

علل محتمل: مبدأ Proxy، نام/Level، SHA/AES، View یا Engine/User.

فرمان تشخیصی:

```cisco
show snmp user
show snmp group
show access-lists MGMT-SNMP
show policy-map control-plane
```

مشاهده مورد انتظار: Hit وصول را نشان؛ تنظیم authPriv همسان؛ sysUpTime موفق و OID Cisco غایب یعنی View/Template.

اقدام اصلاحی: فقط Poller واقعی مجاز، Secret/Algorithm/View صحیح و پس از تغییر Engine بازسازی User؛ v3 حفظ.

پیشگیری: Macro امن، هویت Engine ثابت و تست OIDهای Template.

### ۱۰. Syslog به Collector نمی‌رسد

نشانه‌ها: Buffer محلی رخداد دارد ولی جست‌وجوی مرکزی خالی.

علل محتمل: Source/VRF، UDP514، Ingest/Filter یا Severity.

فرمان تشخیصی:

```cisco
show logging
show ip route 10.99.0.40
ping 10.99.0.40 source 10.99.0.1
show interfaces GigabitEthernet0/0/2
```

مشاهده مورد انتظار: Host/Level/Source محلی باید همسان؛ Capture شبکه را از Parser/Index جدا؛ UDP ACK ندارد.

اقدام اصلاحی: Listener/Route/Filter اصلاح و رخداد بی‌خطر؛ وصول و زمان قبل پایان تأیید.

پیشگیری: هشدار سکوت Ingest و Buffer محلی با Retention محدود.

## ۲۱. نگهداری عملیاتی پس از تغییر

هاردنینگ فعالیت جاری است: تطبیق PSIRT با نسخه واقعی، پیگیری Support، تطبیق Peer/Export با مالکیت، حذف مدیر و Secret منقضی و تمرین Recovery پس از تغییر Image. Baseline در Peak و Failure برنامه‌ریزی‌شده پایش شود. Rate و لیست مبدأ با تغییر Automation/VPN/مانیتور قدیمی می‌شود؛ از همان تست پذیرش اصلاح شود نه Permit Any اضطراری.

## ۲۲. تنظیم Edge پذیرفته‌شده چه چیزی را ثابت می‌کند

تغییر موفق مسیر مورد انتظار را حفظ، مدیریت را محدود، ICMP و Telemetry لازم را نگه و بازیابی قابل استفاده را ثابت می‌کند. مشاهده‌ها همراه Config ثبت شوند. مهندس بعدی باید علت هر Permit و روش حذف امن تغییر را بداند.

## ۲۳. پرسش‌های متداول

### آیا NAT روتر را فایروال می‌کند؟

خیر؛ ترجمه آدرس و سیاست امنیت نشست وظیفه متفاوت دارند؛ Mapping عمومی و Rule فایروال مستقل بررسی شوند.

### آیا Strict uRPF روی همه WANها مناسب است؟

خیر؛ نامتقارن بودن، رفتار Default، ECMP و مسیر خرابی قبل از اعمال بررسی شود.

### آیا ACL IPv4 از SSH IPv6 حفاظت می‌کند؟

خیر؛ Policy پورت، VTY، کنترل‌پلین و Routing IPv6 مستقل بررسی و تست می‌شود.

### آیا Fallback محلی Reject سرور را دور می‌زند؟

روش Local پس از Group معمولاً پس از Error/عدم دسترسی است نه Reject عمدی؛ هر دو تست شود.

### آیا فرمان‌ها روی ISR اجرا شده‌اند؟

سخت‌افزار یا Emulator IOS XE در دسترس نبود؛ مثال با مستندات Cisco بررسی و تست Parser/عملیاتی Image دقیق شرط پذیرش است.

## ۲۴. منابع رسمی و فایل استقرار

مستندات در ۱۴ اکتبر ۲۰۲۶ بررسی شدند. راهنمای خانواده فرمان 17.x Syntax را توضیح می‌دهد اما همه PID/Image را تضمین نمی‌کند. Release Note ISR 4000 مرجع خانواده، Software Checker و PSIRT مرجع Fix هستند. راهنمای تاریخی زمینه مفید و مرجع پلتفرم/نسخه فعلی حاکم است. خروجی نمونه Vendor نتیجه تست محلی معرفی نشده است.

[اصول عملیات امن سیسکو](https://sec.cloudapps.cisco.com/security/center/resources/principles_secure_operations)

[فهرست Command Reference ISR 4000؛ انتخاب نسخه نصب‌شده](https://www.cisco.com/c/en/us/support/routers/4000-series-integrated-services-routers-isr/products-command-reference-list.html)

[فرمان SSHv2 و روند Key در IOS XE](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/sec-vpn/b-security-vpn/m_sec-secure-shell-v2-0.html)

[قابلیت الگوریتم SSH و Default نسخه](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/sec-vpn/b-security-vpn/m_sec-secure-shell-algorithm-ccc.html)

[ساخت، ترتیب و اتصال ACL IPv4](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/sec-vpn/b-security-vpn/m_sec-create-ip-apply-0.html)

[Syntax ACL IPv6 و ICMPv6](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/sec-vpn/b-security-vpn/m_ip6-acls-xe.html)

[Record و Monitor IPv4 در FNF](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/ntw-servs/b-network-services/m_fnf-ipv4-uni.html)

[محدودیت دسترسی و هم‌زمانی NTP](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/syst-mgmt/b-system-management/m_bsm-time-calendar-set.html)

[راهنمای هاردنینگ IOS XE؛ مدل Plane و چک‌لیست](https://sec.cloudapps.cisco.com/security/center/resources/IOS_XE_hardening)

[هاردنینگ و Secure Operations سیسکو؛ زمینه بین نسخه‌ها نه تضمین پلتفرم](https://www.cisco.com/c/en/us/support/docs/ip/access-lists/13608-21.html)

[Release Note ISR 4000 در 17.12؛ محدودیت پلتفرم و نسخه](https://www.cisco.com/c/en/us/td/docs/routers/access/4400/release/xe-17-12/isr4k-rel-notes-xe-17-12.html)

[راهنمای Security و VPN در IOS XE 17](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/sec-vpn/b-security-vpn.html)

[Authentication و Method List AAA](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/sec-vpn/b-security-vpn/m_sec-cfg-authentifcn-0.html)

[مجوز AAA در IOS XE](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/sec-vpn/b-security-vpn/m_sec-cfg-authorizatn-0.html)

[تنظیم TACACS+ در IOS XE](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/sec-vpn/b-security-vpn/m_sec-cfg-tacacs-0.html)

[تنظیم SNMP و Syntax الگوریتم IOS XE 17](https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-17-x/snmp-xe-17-book.html)

[تنظیم امن SNMP سیسکو](https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/20370-snmpsecurity-20370.html)

[CoPP در IOS XE؛ MQC و محدودیت](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/qos/b-quality-of-service/m_qos-plcshp-ctrl-pln-plc-0.html)

[MPP در IOS XE؛ وابسته قابلیت](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/qos/b-quality-of-service/m_qos-plcshp-mgt-plane-prt.html)

[گزینه همسایه BGP، GTSM و Limit](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/ip-routing/b-ip-routing/m_irg-neighbor-0.html)

[Policy مسیریابی، فیلتر BGP و فصل RPKI](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/ip-routing/b-ip-routing.html)

[Authentication رمزنگاری HMAC در OSPFv2](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/ip-routing/b-ip-routing/m_iro-ospfv2-crypto-authen.html)

[پیش‌نیاز و رفتار Strict uRPF](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/ip-routing/b-ip-routing/m_cfg-unicast-rpf-0.html)

[Semantics بازگشت و Configuration Replace](https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/syst-mgmt/b-system-management/m_cm-config-rollback-0.html)

[هشدار امنیتی PSIRT سیسکو](https://sec.cloudapps.cisco.com/security/center/publicationListing.x)

[Software Checker؛ ارزیابی Image نصب‌شده](https://sec.cloudapps.cisco.com/security/center/softwarechecker.x)

[مقاله انگلیسی Markdown](/downloads/cisco-edge-router-security-hardening-ios-xe/article.en.md)

[مقاله فارسی Markdown](/downloads/cisco-edge-router-security-hardening-ios-xe/article.fa.md)

[Config مرجع با Placeholder](/downloads/cisco-edge-router-security-hardening-ios-xe/edge-router-reference.cfg)
