يوضح هذا الدليل كيفية تثبيت وأتمتة شهادات SSL على جدران حماية FortiGate باستخدام بروتوكول ACME مع ربط الحساب الخارجي (EAB)، وهي الطريقة القياسية التي تستخدمها سلطات الشهادات التجارية للتشغيل الآمن.

ستتعلم طريقتين للنشر
- تكامل FortiGate ACME الأصلي مع بيانات اعتماد EAB
- الإصدار الخارجي باستخدام ACME.sh، يليه الاستيراد إلى FortiGate
تتوافق كلتا الطريقتين مع نقاط نهاية ACME التجارية التي تصدر الشهادات من خلال مصادقة KID + HMAC.
قبل أن تبدأ
ستحتاج إلى
- FortiGate 7.6.0 أو أحدث (الإصدارات السابقة لا تدعم EAB)
- وصول الجذر أو المسؤول إلى واجهة مستخدم FortiGate CLI
- عنوان URL دليل ACME من مزود الشهادة الخاص بك
- بيانات اعتماد EAB (معرّف المفتاح + مفتاح HMAC)
- اسم نطاق يحتوي على سجلات DNS صالحة A/AA صالحة تشير إلى عنوان IP العام لبوابة FortiGate
- المنفذ 80 يمكن الوصول إليه من الإنترنت للتحقق من صحة HTTP-01
الخطوة 1: تحقق من إصدار البرنامج الثابت لديك
استخدم واجهة سطر الأوامر للتحقق من إصدار FortiOS الخاص بك:
get system status
تأكد من ظهور FortiOS 7.6.0 أو أحدث. إذا لم يكن كذلك، قم بالترقية أولاً. لا تتضمن الإصدارات الأقدم حقول acme-eab-key-id و acme-eab-key-hmac.
الخطوة 2: إنشاء كائن شهادة محلية ل ACME
قم بتشغيل الأمر أدناه:
config vpn certificate local
edit "acme-vpn-cert"
set enrollment acme
set acme-ca-url "https://acme.yourca.com/v2/acme"
set acme-eab-key-id "YOUR_EAB_KID"
set acme-eab-key-hmac "YOUR_EAB_HMAC_KEY"
set acme-email "[email protected]"
set acme-domain "vpn.example.com"
set acme-auth-url "http://vpn.example.com/.well-known/acme-challenge"
set auto-regenerate-days 30
set auto-regenerate enable
next
end
ينشئ هذا الأمر كائن شهادة محلية جديدة باسم acme-vpn-cert ويخبر FortiGate بأن يطلبها ويجددها تلقائياً من المرجع المصدق المرجعي المصدق (CA) التجاري باستخدام بروتوكول ACME مع ربط الحساب الخارجي.
شرح الأجزاء الرئيسية:
set enrollment acme:: يخبر FortiGate أن هذه الشهادة ستتم إدارتها من خلال ACME، وليس استيرادها يدوياً.set acme-ca-url:: نقطة نهاية دليل ACME للمرجع المصدق الخاص بك.-
set acme-eab-key-id/set acme-eab-key-hmac: بيانات اعتماد EAB الخاصة بك (KID وHMAC) التي تخول حسابك لدى المرجع المصدق (CA). set acme-email:: تُستخدم لإشعارات التجديد والاتصال بـ CA.set acme-domain:: سيقوم FortiGate بالتحقق من صحة المجال وتأمينه.set acme-auth-url:: موقع HTTP حيث يضع المرجع المصدق المصدق (CA) ويتحقق من تحدي ACME.-
set auto-regenerateوauto-regenerate-days: تمكين التجديد التلقائي قبل انتهاء الصلاحية.
الخطوة 3: التحقق من مسار التحقق من الصحة
يجب أن تستجيب بوابة FortiGate الخاصة بك إلى http://vpn.example.com/.well-known/acme-challenge/.
إذا كان لديك تمكين إعادة توجيه HTTPS، أضف قاعدة تجاوز بحيث يظل مسار التحدي على HTTP عادي أثناء التحقق من الصحة.
إليك كيفية القيام بذلك للخوادم الافتراضية:
config firewall vip
edit "acme-http"
set extintf "wan1"
set extip <your-public-ip>
set mappedip "192.168.1.99"
set extport 80
set mappedport 80
set protocol tcp
next
end
استبدل <your-public-ip> و 192.168.1.99 بعناوين IP الخارجية والداخلية الفعلية الخاصة بك. هذه القيم هي عناصر نائبة تستخدم كمثال فقط.
الخطوة 4: تشغيل الطلب الأولي
والآن بعد أن أصبحت FortiGate تعرف كيفية الوصول إلى المرجع المصدق (CA) ومكان وضع ملفات التحقق من الصحة، يمكنك بدء عملية تسجيل الشهادة الفعلية:
execute vpn certificate local generate "acme-vpn-cert"
يقوم هذا الأمر بإخبار FortiGate بالاتصال بـ CA وإجراء التحقق من صحة المجال واسترداد الشهادة الموقعة تلقائياً.
الخطوة 5: التحقق من حالة الشهادة
للتحقق من حالة الشهادة قم بتشغيل الأمر التالي:
get vpn certificate local
يجب أن ترى:
Status: valid
Issuer: Your CA Name
إذا ظلت الحالة معلقة أو غير صالحة، أعد التحقق من DNS وإمكانية الوصول إلى المنفذ 80.
الخطوة 6: تطبيق الشهادة
استخدم واجهة المستخدم الرسومية أو CLI لتعيينه إلى SSL VPN أو إدارة HTTPS أو خدمات الوكيل:
config vpn ssl settings
set servercert "acme-vpn-cert"
end
إليك كيفية القيام بذلك عبر واجهة المستخدم الرسومية:
انتقل إلى VPN > إعدادات VPN إعدادات SSL-VPN > شهادة الخادم > حدد acme-vpn-cert.
الخطوة7: استكشاف الأخطاء وإصلاحها وتجديدها
إذا لم يتم إصدار الشهادة على الفور، فإن الأسباب الأكثر شيوعًا هي:
- تعذر على خادم ACME الوصول إلى عنوان URL الخاص بالتحقق من الصحة (المنفذ المفتوح 80).
- مفتاح KID أو مفتاح HMAC الخاص بك لا يتطابق مع ما يتوقعه المرجع المصدق المصدق (CA).
- لقد وصلت إلى حد مؤقت لإعادة التشغيل أو المعدل؛ فقط أعد المحاولة بعد بضع دقائق.
بمجرد أن تصبح الشهادة صالحة، ستتعامل FortiGate مع التجديدات تلقائيًا استنادًا إلى إعداد auto-regenerate-days الخاص بك. يمكنك اختبار التجديد في أي وقت باستخدام:
execute vpn certificate local renew "acme-vpn-cert"
التراجع: الإصدار الخارجي (ACME.sh) والاستيراد إلى FortiGate
إذا كانت نقطة نهاية ACME الخاصة بـ CA لا تعمل مباشرةً مع FortiGate، يمكنك إصدار الشهادة خارجيًا باستخدام ACME.sh واستيرادها. إليك كيفية القيام بذلك:
الخطوة 1: تثبيت ACME.sh
قم بتشغيل هذه الأوامر على أي نظام لينكس أو ماك أو BSD متصل بالإنترنت. لا تقم بتشغيل هذا على FortiGate نفسه (لا تدعم FortiGate البرامج النصية المخصصة).
curl https://get.acme.sh | sh
source ~/.bashrc
يؤدي هذا إلى تثبيت العميل acme.sh في الدليل الرئيسي الخاص بك وتحميله إلى shell الخاص بك. استبدل العنصر النائب بـ CA الفعلي والتفاصيل الخاصة بك.
الخطوة 2: قم بتسجيل حساب ACME الخاص بك لدى بنك الإمارات دبي الإسلامي
acme.sh --register-account \
--server https://acme.yourca.com/v2/acme \
--eab-kid "YOUR_EAB_KID" \
--eab-hmac-key "YOUR_EAB_HMAC_KEY" \
-m [email protected]
الخطوة 3: إصدار الشهادة
acme.sh --issue \
-d vpn.example.com \
--webroot /var/www/html \
--server https://acme.yourca.com/v2/acme \
--eab-kid "YOUR_EAB_KID" \
--eab-hmac-key "YOUR_EAB_HMAC_KEY"
الخطوة 4: حدد موقع ملفات الشهادات
بعد الإصدار الناجح، يتم تخزين ملفات الشهادة في الدليل الرئيسي الخاص بك ضمن ~/.acme.sh/vpn.example.com/
داخل هذا المجلد، ستجد
- fullchain.cer – سلسلة الشهادات الكاملة
- vpn.example.com.key – مفتاحك الخاص
- CA.cer – شهادة CA الوسيطة
يمكنك فتحها باستخدام محرر نصوص أو التحقق من التفاصيل عبر OpenSSL:
openssl x509 -in fullchain.cer -noout -dates -issuer -subject
الخطوة 5: الاستيراد إلى FortiGate
يمكنك استيراد الشهادة عبر واجهة المستخدم الرسومية:
انتقل إلى: النظام > الشهادات > استيراد > الشهادة المحلية و
تحميل الشهادة والمفتاح الخاص.
أو يمكنك استخدام CLI:
config vpn certificate local
edit "acme-vpn-cert"
set private-key "-----BEGIN PRIVATE KEY-----..."
set certificate "-----BEGIN CERTIFICATE-----..."
next
end
الخطوة 6: التعيين والتجديد
بمجرد تجديد الشهادة، تأكد من إعادة تعيينها إلى SSL VPN أو واجهة الويب الخاصة بك أو واجهة الويب الخاصة بـ FortiGate (إذا لم يتم تطبيقها تلقائيًا). إذا كنت تستخدم عميل ACME خارجي على خادم مختلف، قم بإعداد مهمة مجدولة (مثل مهمة كرون) لنسخ ملفات الشهادة الجديدة تلقائياً إلى FortiGate، باستخدام SCP أو استدعاء واجهة برمجة التطبيقات.
مثال على ذلك:
scp ~/.acme.sh/vpn.example.com/fullchain.cer admin@fortigate:/root/
scp ~/.acme.sh/vpn.example.com/vpn.example.com.key admin@fortigate:/root/
ثم أعد تحميل الشهادة:
execute vpn certificate local import "acme-vpn-cert"
الأسئلة الشائعة
إذا كنت تقوم بإعداد ACME مع CA تجاري للمرة الأولى، فهناك بعض الأسئلة التي قد تطرأ على ذهنك. فيما يلي إجابات سريعة للأسئلة التي نراها في أغلب الأحيان:
هل يمكنني استخدام هذا الإعداد مع أي CA تجاري؟
نعم، طالما أن مزودك يدعم ACME + ربط الحساب الخارجي (EAB). توفر المراجع المصدقة الرئيسية مثل Sectigo و DigiCert بالفعل عناوين URL لدليل ACME وبيانات اعتماد EAB.
هل أحتاج إلى فتح كل من منافذ HTTP و HTTPS للتحقق من الصحة؟
مطلوب فقط المنفذ 80 (HTTP) للتحقق من صحة HTTP-01 الخاص بـ ACME. أبقِ HTTPS (443) مفتوحًا لحركة المرور العادية، ولكن لا تقم بإعادة توجيه طلبات التحقق من الصحة من HTTP إلى HTTPS.
ماذا يحدث إذا لم يتم تجديد شهادتي تلقائيًا؟
يمكنك تشغيل التجديد اليدوي في أي وقت باستخدام:
execute vpn certificate local renew "acme-vpn-cert"
إذا استمر الفشل، أعد التحقق من بيانات اعتماد EAB، وDNS المجال، وأن جدار الحماية لا يزال يسمح بالوصول الصادر إلى نقطة نهاية ACME الخاصة ب CA.
هل يمكنني استخدام نفس بيانات اعتماد EAB على عدة بوابات FortiGates؟
يعتمد ذلك على المرجع المصدق (CA) الخاص بك. فبعضها يسمح بإعادة استخدام حساب واحد لعدة أجهزة، والبعض الآخر يصدر بيانات اعتماد فريدة لكل طلب أو مجال. اتبع دوماً سياسة المرجع المصدق (CA) الخاص بك لتجنب حدود الأسعار أو تعارض الحسابات.
الكلمات الأخيرة
أنت تعرف الآن كيفية تثبيت شهادة ACME SSL علىFortiGate، إما من خلال تكامل EAB الأصلي أو الإصدار الخارجي عبر ACME.sh.
تفي كلتا الطريقتين بمعايير الأمان المؤسسي وتدعمان التجديد التلقائي بالكامل مع سلطات الشهادات التجارية.
وفِّر 10% على شهادات SSL عند الطلب اليوم!
إصدار سريع، وتشفير قوي، وثقة في المتصفح بنسبة 99.99%، ودعم مخصص، وضمان استرداد المال خلال 25 يومًا. رمز القسيمة: SAVE10

