المقدمة
يصف هذا المستند عملية تسجيل شهادة أمان طبقة النقل (TLS) باستخدام بروتوكول بيئة إدارة الشهادات المؤتمتة (ACME) على ASA لجدار الحماية الآمن.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- جهاز الأمان القابل للتكيف لجدار الحماية الآمن (ASA) من Cisco
- البنية الأساسية للمفتاح العام (PKI)
المكونات المستخدمة
- Cisco ASAv، الإصدار 9.23.1.
- Cisco ASDM، الإصدار 7.23(1).
- خادم جهة منح الشهادة (CA) الذي يدعم بروتوكول ACME.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
المتطلبات والحدود
المتطلبات والحدود الحالية لتسجيل ACME على ASA لجدار الحماية الآمن هي:
- مدعوم على ASA الإصدار 9.23.1 و ASDM 7.23.1 وما بعده
- غير مدعوم في سياق متعدد
-
لا تدعم ACME إنشاء شهادات حرف البدل. يجب أن يحدد كل طلب شهادة اسم مجال محدد.
-
تقتصر كل نقطة ثقة مسجلة عبر ACME على واجهة واحدة، مما يعني أنه لا يمكن مشاركة الشهادات المسجلة باستخدام ACME عبر واجهات متعددة.
-
يتم إنشاء أزواج المفاتيح تلقائيا ولا يمكن مشاركتها للشهادات المسجلة من خلال ACME. تستخدم كل شهادة زوج مفاتيح فريد مما يعزز الأمان ولكنه يحد من إعادة إستخدام المفتاح.
اعتبارات الخفض
عند الخفض إلى إصدار لا يدعم تسجيل ACME في ASA لجدار الحماية الآمن (9.22 وما بعده):
- يتم فقد جميع تكوينات TrustPoint ذات الصلة ب ACME الجديدة على 9.23.x أو الأحدث
- يبقى الوصول إلى أي شهادات مسجلة من خلال ACME، لكن يتم إلغاء اقتران المفتاح الخاص بعد أول حفظ وإعادة تشغيل بعد الخفض
إذا كان الخفض ضروريا، قم بتنفيذ إجراء الحل البديل التالي الموصى به:
- قبل الخفض، تأكد من تصدير شهادات ACME بتنسيق PKCS12.
- قبل الخفض، تأكد من إزالة تكوين TrustPoint ل ACME.
- بعد الخفض، قم باستيراد شهادة PKCS12. لا تزال نقطة الثقة الناتجة صالحة حتى تنتهي صلاحية الشهادة الصادرة عبر ACME.
معلومات أساسية
تم تصميم بروتوكول ACME لتبسيط إدارة شهادات TLS لمسؤولي الشبكة. من خلال إستخدام برنامج ACME، يمكن للمسؤولين أتمتة العمليات المتعلقة بالحصول على شهادات TLS وتجديدها. يكون هذا التشغيل التلقائي مفيدا بشكل خاص عند إستخدام المراجع المصدقة (CA) مثل Let's Encrypt، التي توفر شهادات مجانية مؤتمتة ومفتوحة باستخدام بروتوكول ACME.
تدعم ACME إصدار شهادات التحقق من صحة المجال (DV). هذه الشهادات هي نوع من الشهادات الرقمية التي تؤكد تحكم حامل الشهادة على مجالات محددة. تتم عملية التحقق من صحة شهادات DV عادة من خلال آلية اعتراض قائمة على HTTP. في هذه الآلية، يضع مقدم الطلب ملفا محددا على ملقم الويب الخاص به، والذي تتحقق منه المرجع المصدق (CA) من خلال الوصول إلى الملف من خلال خادم HTTP للمجال. يثبت إتمام هذا التحدي بنجاح للمرجع المصدق أن مقدم الطلب له سيطرة على المجال، مما يسمح بإصدار شهادة DV.
تكون عملية إتمام التسجيل هي التالية:
- بدء طلب الشهادة: يطلب العميل شهادة من خادم ACME ويحدد المجال (المجالات) المطلوب الشهادة من أجله.
- تلقي تحدي HTTP-01: يوفر خادم ACME تحديا HTTP-01 مع رمز مميز فريد للعميل لاستخدامه في إثبات التحكم في المجال.
- تحضير إستجابة التحدي:
- يقوم العميل بإنشاء تفويض مفتاح عن طريق دمج الرمز المميز من خادم ACME مع مفتاح الحساب الخاص به.
- يقوم العميل بإعداد خادم ويب لخدمة تفويض المفتاح هذا في مسار محدد ل URL.
- خادم ACME يستعيد التحدي: يقوم خادم ACME بإجراء طلب HTTP GET إلى عنوان URL المحدد لاسترداد تفويض المفتاح.
- يقوم خادم ACME بالتحقق من الملكية: يقوم الخادم بالتحقق مما إذا كان تخويل المفتاح الذي تم إسترداده يطابق القيمة المتوقعة لتأكيد تحكم العميل على المجال.
- شهادة الإصدار: بعد التحقق بنجاح، يصدر خادم ACME شهادة SSL/TLS للعميل.
تدفق مصادقة HTTP-01 لتسجيل ACME.
الفوائد الأكثر صلة باستخدام بروتوكول ACME لتسجيل شهادات TLS هي:
- يسهل ACME الحصول على شهادات مجال TLS وصيانتها لواجهات ASA TLS لجدار الحماية الآمن. تعمل هذه الأتمتة على تقليل المهام اليدوية إلى حد كبير، كما تساعد على الحفاظ على تحديث الشهادات دون الحاجة إلى رقابة مستمرة.
- مع نقاط الثقة التي تم تمكين ACME بها، يتم تجديد الشهادات تلقائيا كلما اقتربت من الانتهاء. وتقلل هذه الإمكانية من الحاجة إلى التدخل الإداري، مما يضمن الأمن بلا انقطاع ويمنع انتهاء صلاحية الشهادة بشكل غير متوقع.
التكوين
تكوين المتطلبات الأساسية
قبل بدء عملية تسجيل ACME، تأكد من استيفاء الشروط التالية:
- اسم المجال القابل للحل: يجب أن يكون اسم المجال الذي تطلب شهادة له قابلا للحل بواسطة خادم ACME. وهذا يضمن إمكانية قيام الخادم بالتحقق من ملكية المجال.
- الوصول الآمن إلى خادم ACME عبر جدار الحماية: يجب أن يحتوي جدار الحماية الآمن على إمكانية الوصول إلى خادم ACME من خلال إحدى الواجهات الخاصة به. لا يلزم أن يتم هذا الوصول عبر الواجهة التي يتم طلب الشهادة من أجلها.
- توفر منفذ TCP رقم 80: السماح بمنفذ TCP 80 من خادم ACME CA إلى الواجهة التي تطابق اسم المجال. هذا مطلوب أثناء عملية تبادل ACME لإكمال تحدي HTTP-01.
ملاحظة: أثناء الفترة التي يكون فيها المنفذ 80 مفتوحا، يمكن الوصول إلى بيانات تحدي ACME فقط.
تسجيل ACME مع ASDM
1. إضافة شهادة هوية جديدة.
- انتقل إلى التكوين > Remote Access VPN (الوصول عن بعد) > إدارة الشهادات > شهادات الهوية.
- انقر على زر إضافة وحدد إضافة شهادة هوية جديدة.
شهادة هوية ASDM لتسجيل ACME.
2. حدد FQDN لشهادة التعريف.
- انقر فوق زر خيارات متقدمة.
- تحت علامة التبويب معلمات الشهادة، حدد FQDN التي يجب أن تحتوي عليها الشهادة.
تسجيل ACME ASDM FQDN.
3. حدد ACME كبروتوكول تسجيل.
- تحت علامة التبويب وضع التسجيل، حدد خيار طلب من CA.
- حدد واجهة المصدر وحدد ACME كبروتوكول التسجيل.
بروتوكول قائمة التحكم في الوصول إلى ASDM لتسجيل ACM ل ACME. إقتطافا
4. حدد دعنا نشفر للشهادة لكي يتم توقيعها من قبل Let'Encrypt CA العام. وإلا، حدد عنوان URL الخاص ب CA الداخلي الذي يدعم بروتوكول تسجيل ACME. وبالإضافة إلى ذلك، حدد واجهة المصادقة.
ملاحظة: عندما يتم تحديد خانة الاختيار دعنا نشفر، يتم ملء محدد موقع معلومات الخادم تلقائيا.
أسلوب مصادقة ASDM لتسجيل ACME.
5. تثبيت شهادة المرجع المصدق.
إذا تم التحقق من خيار تثبيت شهادة المرجع المصدق، يجب عليك تحميل شهادة المرجع المصدق المباشر التي تصدر شهادتك.
ملاحظة: إذا كانت شهادة المرجع المصدق موجودة بالفعل على جدار الحماية الآمن، إما من تثبيت سابق أو داخل TrustPool، فلا حاجة للتحقق من هذا الخيار. أترك خانة الاختيار تثبيت شهادة المرجع المصدق غير محددة.
ملاحظة: عندما تقوم بتحديد خيار دعنا نشفر، أترك خانة الاختيار تثبيت شهادة CA غير محددة، حيث أن شهادات CA الجذر الخاصة ب Let'Let Encrypt مضمنة بالفعل في Secure Firewall TrustPool.
تثبيت ASDM CA لتسجيل ACME.
6. (إختياري) قم بتمكين التسجيل التلقائي لشهادة الهوية.
حدد خانة الاختيار التسجيل التلقائي وحدد النسبة المئوية لفترة البقاء للتسجيل التلقائي.
تضمن هذه الميزة تجديد الشهادة تلقائيا قبل انتهاء صلاحيتها. تحدد النسبة المئوية الفترة التي تسبق انتهاء صلاحية الشهادة التي تبدأ فيها عملية التجديد. على سبيل المثال، إذا تم تعيينها على 80٪، تبدأ عملية التجديد عندما تصل الشهادة إلى 80٪ من فترة صلاحيتها.
التسجيل التلقائي ل ACME ASDM.
7. انقر فوق OK وحفظ التكوين.
تسجيل ACME باستخدام واجهة سطر الأوامر (CLI) ل Secure Firewall ASA
1. إنشاء نقطة ثقة جديدة.
قم بإنشاء TrustPoint وحدد ACME كبروتوكول تسجيل.
asav(config)# crypto ca trustpoint private_acme
asav(config-ca-trustpoint)# enrollment protocol ?
crypto-ca-trustpoint mode commands/options:
acme Automatic Certificate Management Environment
cmp Certificate Management Protocol Version 2
est Enrollment over Secure Transport
scep Simple Certificate Enrollment Protocol
2. حدد أسلوب HTTP-01 للمصادقة للتحقق من التحكم بالمجال.
asav(config-ca-trustpoint)# enrollment protocol acme authentication ?
crypto-ca-trustpoint mode commands/options:
http01 Use the HTTP-01 method, which opens port 80 on the specified
interface
3. حدد دعنا نشفر ك ACME CA. إذا كنت تستخدم مرجع مصدق آخر يدعم بروتوكول ACME، فقم بتوفير عنوان URL المناسب.
asav(config-ca-trustpoint)# enrollment protocol acme url ?
crypto-ca-trustpoint mode commands/options:
LINE < 477 char URL
LetsEncrypt Use the Let's Encrypt CA
ملاحظة: عندما يتم تكوين الكلمة الأساسية LetsEncrypt، يتم تعميم عنوان URL الخاص بخادم التشفير تلقائيا.
4. قم بتحديد زوج مفاتيح RSA واسم المجال المؤهل بالكامل (FQDN) واسم الموضوع للشهادة.
crypto ca trustpoint private_acme
enrollment interface outside
enrollment protocol acme authentication http01 outside
enrollment protocol acme url https://ca-acme.example.com:4001/acme/acme/directory
fqdn fj-asav.cisco.com
subject-name CN=fj-asav.example.com
keypair rsa modulus 4096
auto-enroll 80 regenerate
crl configure
5. مصادقة نقطة الثقة.
ملاحظة: إذا كان المرجع المصدق موجودا بالفعل على جدار الحماية الآمن أو عند إستخدام "تشفير دعنا"، يمكن تجاوز هذه الخطوة.
asav(config)# crypto ca authenticate private_acme
Enter the base 64 encoded CA certificate.
End with the word "quit" on a line by itself
-----BEGIN CERTIFICATE-----
MIIBwzCCAWqgAwIBAgIQedxaTD0J1G6tLgAGti6tizAKBggqhkjOPQQDAjAsMRAw
DgYDVQQKEwdjYS1hY21lMRgwFgYDVQQDEw9jYS1hY21lIFJvb3QgQ0EwHhcNMjQx
[truncated]
ADBEAiB7S4YZfn0K82K2yz5F5CzMe2t98LCpLRzoPJXMo7um1AIgH+K8EZMLstLN
AJQoplycJENo5D7kUmVrwUBBjREqv9I=
-----END CERTIFICATE-----
quit
INFO: Certificate has the following attributes:
Fingerprint: 40000000 40000000 40000000 40000000
Do you accept this certificate? [yes/no]: yes
Trustpoint CA certificate accepted.
6. تسجيل الشهادة.
asav(config)# crypto ca enroll private_acme
% Start certificate enrollment ..
% The subject name in the certificate will be: CN=fj-asav.cisco.com
% The fully-qualified domain name in the certificate will be: fj-asav.example.com
% Include the device serial number in the subject name? [yes/no]: no
Request certificate from CA? [yes/no]: yes
التحقق من الصحة
عرض الشهادة المثبتة في ASA
تأكيد تسجيل الشهادة والتحقق من تاريخ التجديد.
asav# show crypto ca certificates private_acme
CA Certificate
Status: Available
Certificate Serial Number: 79d0000000000000000000008b
Certificate Usage: General Purpose
Public Key Type: ECDSA (256 bits)
Signature Algorithm: ecdsa-with-SHA256
Issuer Name:
CN=ca-acme Root CA
O=ca-acme
Subject Name:
CN=ca-acme Intermediate CA
O=ca-acme
Validity Date:
start date: 23:20:19 UTC Nov 26 2024
end date: 23:20:19 UTC Nov 24 2034
Storage: config
Associated Trustpoints: private_acme
Public Key Hashes:
SHA1 PublicKey hash: 8c82000000000000000000000000000000000077
SHA1 PublicKeyInfo hash: 974c0000000000000000000000000000000009e1
Certificate
Status: Available
Certificate Serial Number: 666000000000000000000000000000be
Certificate Usage: General Purpose
Public Key Type: RSA (4096 bits)
Signature Algorithm: ecdsa-with-SHA256
Issuer Name:
CN=ca-acme Intermediate CA
O=ca-acme
Subject Name:
CN=fj-asav.example.com
Validity Date:
start date: 20:51:00 UTC Feb 14 2025
end date: 20:52:00 UTC Feb 15 2025
renew date: 16:03:48 UTC Feb 15 2025
Storage: immediate
Associated Trustpoints: private_acme
Public Key Hashes:
SHA1 PublicKey hash: e6e00000000000000000000000000000000089a
SHA1 PublicKeyInfo hash: 5e30000000000000000000000000000000009f
أحداث Syslog
هناك syslog جديدة في جدار الحماية الآمن لالتقاط الأحداث المتعلقة بتسجيل الشهادة باستخدام بروتوكول ACME:
- 717067: يوفر معلومات عن متى يبدأ تسجيل شهادة ACME
%ASA-5-717067: Starting ACME certificate enrollment for the trustpoint <private_acme> with CA <ca-acme.example.com>. Mode <manual>
- 717068: يوفر معلومات عن وقت نجاح تسجيل شهادة ACME
%ASA-5-717068: ACME Certificate enrollment succeeded for trustpoint <private_acme> with CA <ca-acme.example.com>. Received a new certificate with Subject Name <CN=fj-asav.example.com> Issuer Name <CN=ca-acme Intermediate CA,O=ca-acme> Serial Number <truncated>
- 717069: يوفر معلومات حول وقت فشل تسجيل ACME
%ASA-3-717069: ACME Certificate enrollment failed for trustpoint <private_acme>
- 717070: توفير معلومات ذات صلة بزوج المفاتيح لتسجيل الشهادة أو تجديد الشهادة
%ASA-5-717070: Keypair <Auto.private_acme> in the trustpoint <private_acme> is regenerated for <manual> ACME certificate enrollment
استكشاف الأخطاء وإصلاحها
إذا فشل تسجيل شهادة ACME، فقم بالتفكير في الخطوات التالية لتعريف المشكلة وحلها:
- تحقق من الاتصال بالخادم: تأكد من أن جدار الحماية الآمن لديه اتصال شبكة بخادم ACME. تحقق من عدم وجود مشاكل في الشبكة أو قواعد جدار الحماية التي تمنع الاتصال.
- تأكد من أن اسم مجال جدار الحماية الآمن قابل للحل: تأكد من أن اسم المجال الذي تم تكوينه على جدار الحماية الآمن قابل للحل بواسطة خادم ACME. يعد هذا التحقق من الصحة أمرا بالغ الأهمية للخادم للتحقق من صحة الطلب.
- تأكيد ملكية المجال: تحقق من أن كافة أسماء المجالات المحددة في TrustPoint مملوكة لجدار الحماية الآمن. وهذا يضمن أن خادم ACME يمكنه التحقق من صحة ملكية المجال.
أوامر استكشاف الأخطاء وإصلاحها
للحصول على معلومات إضافية، قم بتجميع مخرجات أوامر تصحيح الأخطاء التالية:
- debug crypto ca acme <1-255>
- debug crypto ca <1-14>
أخطاء تسجيل ACME الشائعة:
رمز الخطأ
|
سبب
|
سبب محتمل أو علاج
|
7
|
تعذر الاتصال بالخادم
|
يمكن الوصول إلى الخادم ولكن خدمة ACME لا تعمل.
|
28
|
تعذر الاتصال بالخادم
|
الخادم غير قابل للوصول.
تحقق من الوصول الأساسي للشبكة إلى خادم ACME.
|
60
|
يتعذر التحقق من شهادة الخادم
|
تأكد من وجود المرجع المصدق (CA) الجذر أو المصدر في نقطة ثقة أو في تجمع الثقة.
|
124
|
مهلة معالجة ACME
|
تأكد من أن جميع شبكات FQDN المطلوبة تحل إلى الواجهة التي تم تكوينها لمصادقة HTTP-01.
تأكد من صحة عنوان URL ل ACME الذي تم تكوينه.
|
معلومات ذات صلة
للحصول على مساعدة إضافية، يرجى الاتصال ب TAC. يلزم عقد دعم صالح: جهات اتصال دعم Cisco في جميع أنحاء العالم.
يمكنك أيضا زيارة مجتمع Cisco VPN هنا.