المقدمة
يوضح هذا المستند لماذا قد تواجه تشفير الحمولة وحدود جلسات العمل المشفرة للنفق/طبقة النقل (TLS) وما يجب القيام به في مثل هذه الحالة. نظرا لقيود تصدير التشفير القوية التي تفرضها حكومة الولايات المتحدة، لا يسمح ترخيص SecurityTyk9 بتشفير الحمولة إلا بمعدل يصل إلى 90 ميجابت في الثانية (ميجابت في الثانية) ويحد من عدد الأنفاق المشفرة/جلسات عمل TLS على الجهاز. يتم فرض 85 ميجابت في الثانية على أجهزة Cisco.
معلومات أساسية
يتم فرض تقييد تقييد تقييد تقييد تقييد تقييد التشفير على موجهات سلسلة موجه الخدمة المتكاملة (ISR) من Cisco باستخدام تنفيذ مدير قيود تصدير التشفير (CERM). مع تنفيذ CERM، وقبل تشغيل نفق أمان بروتوكول الإنترنت (IPsec)/TLS، يطلب من CERM حجز النفق. فيما بعد، يرسل IPsec عدد وحدات البايت التي سيتم تشفيرها/فك تشفيرها كمعلمات واستعلامات CERM إذا كان يمكنه متابعة التشفير/فك التشفير. يتحقق CERM من النطاق الترددي المتبقي ويجيب بنعم/لا لمعالجة/إسقاط الحزمة. لم يتم حجز النطاق الترددي بواسطة IPsec على الإطلاق. استنادا إلى النطاق الترددي المتبقي، لكل حزمة، يتم إتخاذ قرار ديناميكي من قبل CERM حول ما إذا كان سيتم معالجة الحزمة أو إسقاطها.
عند وجوب إنهاء النفق من قبل IPsec، يجب تحرير الأنفاق المحجوزة السابقة بحيث يمكن ل CERM إضافتها إلى التجمع الحر. بدون ترخيص HSEC-K9، يتم تعيين حد النفق هذا على 225 نفقا. وهذا موضح في مخرجات show platform cerm-information:
router# show platform cerm-information
Crypto Export Restrictions Manager(CERM) Information:
CERM functionality: ENABLED
----------------------------------------------------------------
Resource Maximum Limit Available
----------------------------------------------------------------
Tx Bandwidth(in kbps) 85000 85000
Rx Bandwidth(in kbps) 85000 85000
Number of tunnels 225 221
Number of TLS sessions 1000 1000
ملاحظة: في موجهات سلسلة ISR 4400/ISR 4300 التي تشغل برنامج Cisco IOS-XE®، يتم تطبيق قيود CERM أيضا، بخلاف موجهات سلسلة خدمات التجميع (ASR)1000. ويمكن عرضها بمخرجات show platform software cerm information.
كيف تحسب الحدود؟
لفهم كيفية حساب حدود النفق، يجب أن تفهم ما هي هوية الوكيل. إذا كنت تفهم هوية الوكيل بالفعل، يمكنك المتابعة إلى القسم التالي. معرف الوكيل هو المصطلح المستخدم في سياق IPsec الذي يعين حركة المرور المحمية بواسطة اقتران أمان IPsec (SA). هناك مراسلة مباشرة بين إدخال تصريح في قائمة الوصول المشفرة وهوية وكيل (معرف وكيل للاختصار). على سبيل المثال، عندما يكون لديك قائمة وصول تشفير معرفة مثل هذا:
permit ip 10.0.0.0 0.0.0.255 10.0.1.0 0.0.0.255
permit ip 10.0.0.0 0.0.0.255 10.10.10.0 0.0.0.255
يترجم هذا إلى تماما إثنان معرف وكيل. عندما يكون نفق IPsec نشطا، يكون لديك على الأقل زوج واحد من SAs تم التفاوض بشأنه مع نقطة النهاية. إذا كنت تستخدم تحويلات متعددة، فقد يزيد ذلك حتى ثلاثة أزواج من IPsec SAs (زوج واحد ل ESP، وواحد ل AH، وواحد ل PCP). يمكنك رؤية مثال على ذلك من إخراج الموجه الخاص بك. فيما يلي إخراج show crypto ipSec sa:
protected vrf: (none)
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/6/0) |
remote ident (addr/mask/prot/port): (192.168.78.0/255.255.255.0/6/0) | =>
the proxy id: permit tcp any 192.168.78.0 0.0.255
current_peer 10.254.98.78 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 153557, #pkts encrypt: 153557, #pkts digest: 153557
#pkts decaps: 135959, #pkts decrypt: 135959, #pkts verify: 135959
#pkts compressed: 55197, #pkts decompressed: 50575
#pkts not compressed: 94681, #pkts compr. failed: 3691
#pkts not decompressed: 85384, #pkts decompress failed: 0
#send errors 5, #recv errors 62
local crypto endpt.: 10.254.98.2, remote crypto endpt.: 10.254.98.78
path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet0/0.1398
current outbound spi: 0xEE09AEA3(3993611939) <====== see below
for explanation.
PFS (Y/N): Y, DH group: group2
فيما يلي أزواج IPsec SA (الواردة-الصادرة):
inbound esp sas:
spi: 0x12C37AFB(314800891)
transform: esp-aes ,
in use settings ={Tunnel, }
conn id: 2803, flow_id: Onboard VPN:803, sibling_flags 80000046, crypto
map: beograd
sa timing: remaining key lifetime (k/sec): (4561094/935)
IV size: 16 bytes
replay detection support: N
Status: ACTIVE
inbound ah sas:
inbound pcp sas:
spi: 0x8F6F(36719)
transform: comp-lzs ,
in use settings ={Tunnel, }
conn id: 2803, flow_id: Onboard VPN:803, sibling_flags 80000046, crypto
map: beograd
sa timing: remaining key lifetime (k/sec): (4561094/935)
replay detection support: N
Status: ACTIVE
outbound esp sas:
spi: 0xEE09AEA3(3993611939)
transform: esp-aes ,
in use settings ={Tunnel, }
conn id: 2804, flow_id: Onboard VPN:804, sibling_flags 80000046, crypto
map: beograd
sa timing: remaining key lifetime (k/sec): (4547825/935)
IV size: 16 bytes
replay detection support: N
Status: ACTIVE
outbound ah sas:
outbound pcp sas:
spi: 0x9A12(39442)
transform: comp-lzs ,
in use settings ={Tunnel, }
conn id: 2804, flow_id: Onboard VPN:804, sibling_flags 80000046, crypto
map: beograd
sa timing: remaining key lifetime (k/sec): (4547825/935)
replay detection support: N
Status: ACTIVE
في هذه الحالة، هناك بالضبط زوجان من SAs. يتم إنشاء هذين الزوجين بمجرد وصول حركة المرور إلى قائمة وصول التشفير التي تطابق معرف الوكيل. يمكن إستخدام معرف الوكيل نفسه لنظراء مختلفين.
ملاحظة: عند فحص إخراج show cry ipSec، تلاحظ أن هناك فهرس معلمات أمان صادرة (SPI) حالي بقيمة 0x0 للإدخالات غير النشطة وواجهة برمجة تطبيقات موجودة عندما يكون النفق قيد التشغيل.
في سياق CERM، يقوم الموجه بحساب عدد أزواج معرف/نظير الوكيل النشطة. هذا يعني أنه إذا كان لديك، على سبيل المثال، عشرة نظراء يتوفر لديك 30 إدخالا من إدخالات الترخيص في كل من قوائم الوصول الخاصة بالتشفير، وإذا كانت هناك حركة مرور تطابق جميع قوائم الوصول هذه، فسينتهي بك الأمر مع 300 زوج معرف وكيل/نظير وهو ما يزيد عن حد 225 الذي فرضه CERM. إحدى الطرق السريعة لعد عدد الأنفاق التي يراها CERM هي إستخدام الأمر show crypto ip sa count والبحث عن العدد الإجمالي ل IPsec SA كما هو موضح هنا:
router#show crypto ipsec sa count
IPsec SA total: 6, active: 6, rekeying: 0, unused: 0, invalid: 0
وبعد ذلك، يتم حساب عدد الأنفاق بسهولة كإجمالي عدد عمليات sa الخاصة ب IPsec مقسوما على إثنين.
المشكلة
الأعراض
رأيت هذا رسالة في ال syslog عندما ال crypto خفض حد يكون تجاوزت:
%CERM-4-RX_BW_LIMIT : Maximum Rx Bandwidth limit of [dec] Kbps reached for Crypto
functionality with temporary license for securityk9 technology package.
%CERM-4-TLS_SESSION_LIMIT : Maximum TLS session limit of [dec] reached for Crypto
functionality with temporary license for securityk9 technology package.
%CERM-4-TUNNEL_LIMIT : Maximum tunnel limit of [dec] reached for Crypto functionality
with temporary license for securityk9 technology package.
%CERM-4-TX_BW_LIMIT : Maximum Tx Bandwidth limit of [dec] Kbps reached for Crypto
functionality with temporary license for securityk9 technology package.
سبب جذري
ليس من غير الشائع أن تكون الموجهات متصلة عبر واجهات Gigabit، وكما هو موضح مسبقا، يبدأ الموجه في إسقاط حركة المرور عندما تصل إلى 85 ميجابت في الثانية واردة أو صادرة. حتى في الحالات التي لا تكون فيها واجهات جيجابت قيد الاستخدام أو يكون متوسط إستخدام النطاق الترددي أقل بكثير من هذا الحد، يمكن أن تكون حركة مرور البيانات العابرة قابلة للسطو. حتى إذا كان الاندفاع لبضع مللي ثانية، فإنه يكفي لتشغيل حد النطاق الترددي للتشفير المقيد. وفي هذه الحالات، يتم إسقاط حركة المرور التي تتجاوز سرعة 85 ميجابت في الثانية وحسابها في إخراج معلومات قاعدة بيانات show platform:
router#show platform cerm-information | include pkt
Failed encrypt pkts: 42159817
Failed decrypt pkts: 0
Failed encrypt pkt bytes: 62733807696
Failed decrypt pkt bytes: 0
Passed encrypt pkts: 506123671
Passed decrypt pkts: 2452439
Passed encrypt pkt bytes: 744753142576
Passed decrypt pkt bytes: 1402795108
على سبيل المثال، إذا قمت بتوصيل Cisco 2911 بواجهة النفق الظاهرية (VTI) من Cisco 2951 عبر IPsec وتقديم متوسط حركة مرور بسرعة 69 ميجابت في الثانية باستخدام مولد الحزمة، حيث يتم تسليم حركة المرور في دفعات من 6000 حزمة بسرعة إخراج تبلغ 500 ميجابت في الثانية، فأنت ترى هذا في syslog لديك:
router#
Apr 2 11:52:30.028: %CERM-4-TX_BW_LIMIT: Maximum Tx Bandwidth limit of 85000 Kbps
reached for Crypto functionality with securityk9 technology package license.
router#show platform cerm-information | include pkt
Failed encrypt pkt bytes: 62930990016
Failed decrypt pkt bytes: 0
Passed encrypt pkt bytes: 747197374528
Passed decrypt pkt bytes: 1402795108
router#show platform cerm-information | include pkt
Failed encrypt pkt bytes: 62931497424
Failed decrypt pkt bytes: 0
Passed encrypt pkt bytes: 747203749120
Passed decrypt pkt bytes: 1402795108
router#
كما يمكنك رؤية ذلك، يقوم الموجه بشكل مستمر بإسقاط حركة المرور المتقطعة. لاحظ أن رسائل ٪CERM-4-TX_BW_LIMIT syslog محدودة بمعدل رسالة واحدة في الدقيقة.
Router#
Apr 2 11:53:30.396: %CERM-4-TX_BW_LIMIT: Maximum Tx Bandwidth limit of 85000 Kbps
reached for Crypto functionality with securityk9 technology package license.
BIOS#
Apr 2 11:54:30.768: %CERM-4-TX_BW_LIMIT: Maximum Tx Bandwidth limit of 85000 Kbps
reached for Crypto functionality with securityk9 technology package license.
استكشاف الأخطاء وإصلاحها
للمشاكل التي تم الوصول إلى حد عرض النطاق CERM
أكمل الخطوات التالية:
- انسخ حركة مرور البيانات على المحول المتصل.
- أستخدم Wireshark لتحليل التتبع المأخوذ عن طريق الانتقال إلى دقة الفترة الزمنية التي تتراوح بين 2 و 10 مللي ثانية.
ومن المتوقع أن يكون المرور بهارات صغيرة تزيد عن 85 ميجابت في الثانية.
للمشاكل التي تم الوصول فيها إلى الحد الأقصى ل CERM Tunnel
قم بجمع هذا الإخراج بشكل دوري للمساعدة في تحديد أحد هذه الشروط الثلاثة:
- تجاوز عدد الأنفاق حد CERM.
- هناك تسرب في عدد الأنفاق (يتجاوز عدد أنفاق التشفير كما هو موضح بواسطة إحصائيات التشفير العدد الفعلي للأنفاق).
- يوجد تسرب في عدد CERM (يتجاوز عدد أرقام نفق CERM كما تم الإبلاغ عنها بواسطة إحصائيات CERM العدد الفعلي للأنفاق).
هنا الأمر أن يستعمل:
show crypto eli detail
show crypto isa sa count
show crypto ipsec sa count
show platform cerm-information
الحل
أفضل حل للمستخدمين الذين لديهم ترخيص SecurityTYK9 دائم الذين يواجهون هذه المشكلة هو شراء ترخيص HSEC-K9. للحصول على معلومات حول هذه التراخيص، ارجع إلى ترخيص Cisco ISR G2 SEC و HSEC.
الحل
أحد الحلول الممكنة للأشخاص الذين لا يحتاجون إطلاقا إلى زيادة النطاق الترددي هي تطبيق ميزة تغيير حركة المرور على الأجهزة المجاورة على كلا الجانبين من أجل تخفيف أي انفجارات مرور. ربما يجب ضبط عمق قائمة الانتظار استنادا إلى كثافة حركة المرور لكي يكون هذا فعالا.
ولسوء الحظ لا يمكن تطبيق هذا الحل البديل في جميع سيناريوهات النشر، وغالبا ما لا يعمل بشكل جيد مع البروستورات الدقيقة، وهي دفعات في حركة المرور تحدث في فترات زمنية قصيرة جدا.