PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL में SSL कैसे इनेबल करें

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 सक्षम करने में मदद करेगा।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अपने उपयोगकर्ताओं को खुद को फोर्क करने के लिए कह रहा है

  2. कैसे Cosd () PostgreSQL में काम करता है

  3. हॉट स्टैंडबाय डिप्लॉयमेंट में ट्रेड-ऑफ

  4. क्या सर्वर होस्ट लोकलहोस्ट (::1) पर चल रहा है और पोर्ट 5432 पर टीसीपी/आईपी कनेक्शन स्वीकार कर रहा है?

  5. Postgresql में JSON का विश्लेषण कैसे करें