bg-tutorials

FortiGate पर ACME SSL प्रमाणपत्र कैसे स्थापित करें

यह मार्गदर्शिका दिखाती है कि बाहरी खाता बाइंडिंग (EAB) के साथ ACME प्रोटोकॉल का उपयोग करके FortiGate फ़ायरवॉल पर SSL प्रमाणपत्र कैसे स्थापित और स्वचालित करें, जो सुरक्षित स्वचालन के लिए उपयोग की जाने वाली मानक विधि वाणिज्यिक प्रमाणपत्र अधिकारी हैं।

फ्रोटिगेट एसीएमई एसएसएल

आप तैनात करने के दो तरीके सीखेंगे:

  1. EAB क्रेडेंशियल्स के साथ नेटिव FortiGate ACME एकीकरण
  2. ACME.sh के साथ बाहरी निर्गम, इसके बाद फोर्टीगेट में आयात

दोनों विधियाँ वाणिज्यिक ACME समापन बिंदुओं के साथ संगत हैं जो KID + HMAC प्रमाणीकरण के माध्यम से प्रमाणपत्र जारी करती हैं।


शुरू करने से पहले

आपको चाहिये होगा:

  • FortiGate 7.6.0 या नया (पुराने संस्करण EAB का समर्थन नहीं करते हैं)
  • FortiGate CLI तक रूट या व्यवस्थापक पहुंच
  • आपके प्रमाणपत्र प्रदाता से ACME निर्देशिका URL
  • EAB क्रेडेंशियल्स (कुंजी ID + HMAC कुंजी)
  • वैध A/AAAA DNS रिकॉर्ड वाला एक डोमेन नाम जो आपके FortiGate के सार्वजनिक IP की ओर इशारा करता है
  • पोर्ट 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 को बाहरी खाता बाइंडिंग के साथ ACME प्रोटोकॉल का उपयोग करके स्वचालित रूप से अनुरोध करने और इसे अपने वाणिज्यिक CA से नवीनीकृत करने के लिए कहता है।

प्रमुख भागों की व्याख्या:

  • set enrollment acme: FortiGate को बताता है कि यह प्रमाणपत्र ACME के माध्यम से प्रबंधित किया जाएगा, मैन्युअल रूप से आयात नहीं किया जाएगा।
  • set acme-ca-url: आपके प्रमाणपत्र प्राधिकारी का ACME निर्देशिका समापन बिंदु।
  • set acme-eab-key-id set acme-eab-key-hmac: आपके ईएबी क्रेडेंशियल्स (केआईडी और एचएमएसी) जो सीए के साथ आपके खाते को अधिकृत करते हैं।
  • set acme-email: नवीनीकरण सूचनाओं और सीए संपर्क के लिए उपयोग किया जाता है।
  • 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 । ये मान केवल उदाहरण के लिए उपयोग किए जाने वाले प्लेसहोल्डर हैं।


चरण 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: प्रमाण पत्र लागू करें

इसे SSL VPN, HTTPS प्रबंधन या प्रॉक्सी सेवाओं को असाइन करने के लिए GUI या CLI का उपयोग करें:

config vpn ssl settings
    set servercert "acme-vpn-cert"
end

यहां बताया गया है कि इसे जीयूआई के माध्यम से कैसे करें:

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 में आयात

यदि आपके CA का ACME समापन बिंदु FortiGate के साथ सीधे काम नहीं करता है, तो आप ACME.sh के साथ बाहरी रूप से प्रमाणपत्र जारी कर सकते हैं और इसे आयात कर सकते हैं। यह कैसे करना है:

चरण 1: ACME.sh स्थापित करें

इन आदेशों को किसी भी Linux, macOS या BSD सिस्टम पर चलाएँ जिसमें इंटरनेट एक्सेस है। आप इसे FortiGate पर ही नहीं चला रहे हैं (FortiGate कस्टम शेल स्क्रिप्ट का समर्थन नहीं करता है)।

curl https://get.acme.sh | sh
source ~/.bashrc

यह क्लाइंट को acme.sh आपकी होम डायरेक्टरी में इंस्टॉल करता है और इसे आपके शेल में लोड करता है। प्लेसहोल्डर को अपने वास्तविक CA और विवरण से बदलें।

चरण 2: अपना ACME खाता EAB के साथ पंजीकृत करें

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 – इंटरमीडिएट सीए प्रमाणपत्र

आप उन्हें टेक्स्ट एडिटर से खोल सकते हैं या ओपनएसएसएल के माध्यम से विवरण सत्यापित कर सकते हैं:

openssl x509 -in fullchain.cer -noout -dates -issuer -subject

चरण 5: FortiGate में आयात करें

आप GUI के माध्यम से cerrtificate आयात कर सकते हैं:

यहां जाएं: सिस्टम > प्रमाणपत्र > स्थानीय प्रमाणपत्र आयात करें > और
प्रमाणपत्र और निजी कुंजी अपलोड करें।

या आप सीएलआई का उपयोग कर सकते हैं:

config vpn certificate local
    edit "acme-vpn-cert"
        set private-key "-----BEGIN PRIVATE KEY-----..."
        set certificate "-----BEGIN CERTIFICATE-----..."
    next
end

चरण 6: असाइन करें और नवीनीकृत करें

एक बार प्रमाणपत्र नवीनीकृत हो जाने के बाद, इसे अपने एसएसएल वीपीएन या फोर्टीगेट वेब इंटरफ़ेस पर फिर से असाइन करना सुनिश्चित करें (यदि यह ऑटो-लागू नहीं होता है)। यदि आप किसी भिन्न सर्वर पर बाहरी ACME क्लाइंट का उपयोग कर रहे हैं, तो SCP या API कॉल का उपयोग करके नई प्रमाणपत्र फ़ाइलों को स्वचालित रूप से FortiGate पर कॉपी करने के लिए एक शेड्यूल किए गए कार्य (जैसे क्रॉन जॉब) सेट करें।

उदाहरण:

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 + बाहरी खाता बाइंडिंग (EAB) का समर्थन करता है। Sectigo और DigiCert जैसे प्रमुख CA पहले से ही ACME निर्देशिका URL और EAB क्रेडेंशियल प्रदान करते हैं।

क्या मुझे सत्यापन के लिए HTTP और HTTPS दोनों पोर्ट खोलने की आवश्यकता है?

ACME के HTTP-01 सत्यापन के लिए केवल पोर्ट 80 (HTTP) आवश्यक है। सामान्य ट्रैफ़िक के लिए HTTPS (443) खुला रखें, लेकिन सत्यापन अनुरोधों को HTTP से HTTPS पर रीडायरेक्ट न करें.

यदि मेरा प्रमाणपत्र स्वचालित रूप से नवीनीकृत करने में विफल रहता है तो क्या होगा?

आप किसी भी समय मैन्युअल नवीनीकरण को ट्रिगर कर सकते हैं:

execute vpn certificate local renew "acme-vpn-cert"

यदि यह अभी भी विफल रहता है, तो अपने EAB क्रेडेंशियल्स, डोमेन DNS और फ़ायरवॉल अभी भी आपके CA के ACME समापन बिंदु के लिए आउटबाउंड पहुँच की अनुमति देता है पुन: जाँच करें।

क्या मैं कई FortiGates पर एक ही EAB क्रेडेंशियल्स का उपयोग कर सकता हूं?

यह आपके सीए पर निर्भर करता है। कुछ कई उपकरणों के लिए एक खाते का पुन: उपयोग करने की अनुमति देते हैं, अन्य प्रति ऑर्डर या डोमेन अद्वितीय क्रेडेंशियल जारी करते हैं। दर सीमा या खाता संघर्षों से बचने के लिए हमेशा अपने CA की नीति का पालन करें।


अंतिम शब्द

अब आप जानते हैं कि FortiGate पर ACME SSL प्रमाणपत्र कैसे स्थापित किया जाए, या तो इसके मूल EAB एकीकरण के माध्यम से या ACME.sh के माध्यम से बाहरी जारी करने के माध्यम से।

दोनों विधियां उद्यम सुरक्षा मानकों को पूरा करती हैं और वाणिज्यिक प्रमाणपत्र अधिकारियों के साथ पूरी तरह से स्वचालित नवीनीकरण का समर्थन करती हैं।

आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!

तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10

उड़ान में एक ड्रैगन की एक विस्तृत छवि
द्वारा लिखित

एसएसएल प्रमाणपत्रों में विशेषज्ञता वाला अनुभवी सामग्री लेखक। जटिल साइबर सुरक्षा विषयों को स्पष्ट, आकर्षक सामग्री में बदलना। प्रभावशाली आख्यानों के माध्यम से डिजिटल सुरक्षा को बेहतर बनाने में योगदान करें।