PostgreSQL एसएसएल कनेक्शन का समर्थन करता है जो उपयोगकर्ताओं को अपने डेटाबेस से सुरक्षित रूप से कनेक्ट करने की अनुमति देता है। इस लेख में हम देखेंगे कि PostgreSQL डेटाबेस में SSL को कैसे सक्षम किया जाए।
PostgreSQL में SSL कैसे सक्षम करें
यहाँ PostgreSQL में SSL कनेक्शन को सक्षम करने के चरण दिए गए हैं। PostgreSQL सर्वर पर, हमें SSL कॉन्फ़िगरेशन के लिए डेटा निर्देशिका में 3 प्रमाणपत्रों की आवश्यकता होती है। वे हैं:
- root.crt (विश्वसनीय रूट प्रमाणपत्र)
- server.crt (सर्वर प्रमाणपत्र)
- सर्वर.कुंजी (निजी कुंजी)
टर्मिनल खोलें और रूट के रूप में चलाने के लिए निम्न कमांड चलाएँ
$ sudo -
$ cd /var/lib/pgsql/data
Opensl का उपयोग करके निजी कुंजी उत्पन्न करें। आपको पासफ़्रेज़ के लिए संकेत दिया जाएगा।
$ openssl genrsa -des3 -out server.key 1024
पासफ़्रेज़ निकालें
$ openssl rsa -in server.key -out server.key
बोनस पढ़ें :अनुसरण करने के लिए शीर्ष डेटाबेस ब्लॉग
निजी कुंजी फ़ाइल की फ़ाइल अनुमति और स्वामित्व अपडेट करें।
$ chmod 400 server.key
$ chown postgres.postgres server.key
इसी तरह सर्वर सर्टिफिकेट बनाएं
$ openssl req -new -key server.key -days 3650 -out server.crt -x509
उपरोक्त कथन में, -x509 स्व-हस्ताक्षरित प्रमाणपत्र को इंगित करता है। आपको ईमेल, देश आदि जैसे विवरणों के लिए कहा जाएगा। इसे दर्ज करें और प्रमाणपत्र निर्माण पूरा करें।
चूंकि हम स्व-हस्ताक्षरित प्रमाणपत्र का उपयोग कर रहे हैं, इसलिए हम अपनी सर्वर कुंजी का उपयोग रूट प्रमाणपत्र के रूप में करेंगे।
$ cp server.crt root.crt
निम्न पंक्तियों को जोड़ने के लिए pg_hba.conf अपडेट करें
# IPv4 remote connections for authenticated users hostssl all www-data 0.0.0.0/0 md5 clientcert=1 hostssl all postgres 0.0.0.0/0 md5 clientcert=1को होस्ट करता है
निम्नलिखित पंक्ति जोड़ने के लिए postgresql.conf संपादित करें
ssl = on
PostgreSQL सर्वर को पुनरारंभ करें
$ /etc/init.d/postgresql restart
बोनस पढ़ें :PostgreSQL में अधिकतम कनेक्शन कैसे बढ़ाएं
PostgreSQL क्लाइंट में SSL सक्षम करें
PostgreSQL क्लाइंट में SSL को सक्षम करने के लिए हमें 3 फाइलों की भी आवश्यकता है। हम उन्हें ~/.postgresql/ . पर स्टोर करेंगे निर्देशिका
- root.crt (विश्वसनीय रूट प्रमाणपत्र)
- postgresql.crt (ग्राहक प्रमाणपत्र)
- postgresql.key (निजी कुंजी)
postgresql.key बनाएं क्लाइंट मशीन पर और पासफ़्रेज़ हटा दें।
$openssl genrsa -des3 -out /tmp/postgresql.key 1024
$openssl rsa -in /tmp/postgresql.key -out /tmp/postgresql.key
बोनस पढ़ें :PostgreSQL प्रदर्शन ट्यूनिंग युक्तियाँ
इसके बाद, हम postgresql.crt बनाते हैं, और इसे विश्वसनीय रूट (सर्वर से निजी कुंजी फ़ाइल) का उपयोग करके साइन करते हैं। कृपया ध्यान दें , जब आपको प्रमाणपत्र सामान्य नाम (CN) के लिए कहा जाए, तो इसे डेटाबेस नाम पर सेट करें।
$openssl req -new -key /tmp/postgresql.key -out /tmp/postgresql.csr
$openssl x509 -req -in server.req -out /tmp/postgresql.csr -CA root.crt -CAkey server.key -out /tmp/postgresql.crt -CAcreateserial
सर्वर की /tmp निर्देशिका में बनाई गई तीन फाइलों को क्लाइंट मशीन पर कॉपी करें। root.crt को सर्वर /tmp निर्देशिका से क्लाइंट के ~/.postgresql/ में कॉपी करें निर्देशिका।
उम्मीद है, यह लेख आपको PostgreSQL में SSL सक्षम करने में मदद करेगा।