Chef में SSL एक्सचेंजों को मान्य करने के लिए मैं अपने आंतरिक CA प्रमाणपत्र को कैसे शामिल करूं?


15

हम अपनी कंपनी में सर्वर प्रमाणपत्र बनाने के लिए एक आंतरिक प्रमाणपत्र प्राधिकरण का उपयोग करते हैं।

हमें एक पारदर्शी प्रॉक्सी के साथ एसएसएल इंटरसेप्शन (MITM) करना है।

मैं नियमित रूप से सीएफ़ प्रमाण पत्र नहीं जानने के कारण एसएसएल सत्यापन त्रुटियों का सामना करता हूं, और कभी-कभी यह शेफ के आसपास ही टूलिंग होता है (बर्कशेल, चाकू; यहां तक ​​कि शेफ क्लाइंट जब पहली बार सर्वर से बात कर रहा होता है तो शेफ 12 डिफ़ॉल्ट रूप से एसएसएल को सक्षम करता है)।

प्रश्न है: मैं अपने SSL प्रमाणपत्र को मान्य SSL एक्सचेंज प्राप्त करने के लिए शेफ को कैसे जागरूक करूं?

जवाबों:


13

परिणाम प्राप्त करने का एक तरीका है:

  1. शेफ के पास trusted_dirविश्वसनीय सूची में प्रमाणपत्र जोड़ने की अनुमति है। प्रलेखन इसके बारे में विवरण का एक बहुत है। इस निर्देशिका में अपना CA प्रमाणपत्र जोड़ने से समस्या हल हो जाएगी। knifeयह भी अपने स्वयं के प्रलेखन के अनुसार थोड़ा अलग रास्ते में है

  2. शेफ अपनी स्वयं की CA प्रमाणित सूची का उपयोग करें /opt/chef/embedded/ssl/certs/cacert.pem। इस पर भरोसा करने के लिए आप इस सूची के अंत में अपना सीए प्रमाणपत्र जोड़ सकते हैं।

दूसरा विकल्प आपके पास सीए प्रमाणपत्र को जानने के लिए लाइब्रेरी का उपयोग करने वाले अधिकांश टूल को अनुमति देने के SSL_CERT_FILEलिए शेफ cacert.pemको इंगित करने वाले पर्यावरण चर को निर्यात करने की अनुमति देने का एक फायदा है openssl

शेफ सर्वर (या एक नुस्खा में लक्ष्य के रूप में इस्तेमाल किया गया दूसरा सर्वर) पर एक स्व-हस्ताक्षरित प्रमाण पत्र के मामले के लिए, knife ssl_fetchसभी चाकू आदेशों को काम करने की अनुमति देगा।

मामले के लिए cacert.pem में सर्वर प्रमाणपत्र जोड़ने के लिए 2. ऊपर, आप निम्न आदेश का उपयोग कर सकते हैं:

# For a self signed CA certiticate
openssl s_client -showcerts -connect <YOUR_CHEF_SERVER>:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >> /opt/chefdk/embedded/ssl/certs/cacert.pem

# For an internal CA signed certificate:
openssl s_client -showcerts -verify 5 -connect <YOUR_CHEF_SERVER>:443 </dev/null 2>/dev/null | awk '/BEGIN/,/END/{if(/BEGIN/){a++}; certs[a]=(certs[a] "\n" $0)}; END {print certs[a]}' >> /opt/chefdk/embedded/ssl/certs/cacert.pem

export SSL_CERT_FILE=/opt/chefdk/embedded/ssl/certs/cacert.pem

ओपनसेल कमांड शेफ-डीके में शामिल है, इसलिए इसे विंडोज़ के तहत भी किया जा सकता है। के c:\opscode\बजाय पथ बदलें /opt/। अपने आदेश में पर्यावरण चर उपयोग set SSL_CERT_FILE=...( /Pइसे अपने वातावरण में स्थायी रूप से जोड़ने के लिए) के निर्यात के लिए ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.