bg-tutorials

كيفية تثبيت شهادة ACME SSL على FortiGate

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

فروتيجيت ACME SSL

ستتعلم طريقتين للنشر

  1. تكامل FortiGate ACME الأصلي مع بيانات اعتماد EAB
  2. الإصدار الخارجي باستخدام 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

صورة مفصلة لتنين أثناء طيرانه

كاتب محتوى متمرس متخصص في شهادات SSL. تحويل موضوعات الأمن السيبراني المعقدة إلى محتوى واضح وجذاب. المساهمة في تحسين الأمن الرقمي من خلال السرد المؤثر.