2014-05-07 8 views
5

मैं एसडब्ल्यू का उपयोग कर एडब्ल्यूएस (अमेज़ॅन वेब सर्विसेज) पर चल रहे आरडीएस से कनेक्ट करने की कोशिश कर रहा हूं। मैंने SSL टैब पर फ़ील्ड के बारे में PosgreSQL pgAdmin III दस्तावेज़ों में सीमित जानकारी देखी।पोस्टग्रेएसक्यूएल पीजीएडमिन III एसडब्ल्यू कनेक्शन एडब्लूएस आरडीएस इंस्टेंस

आरडीएस उदाहरण डिफ़ॉल्ट रूप से एसएसएल कनेक्शन स्वीकार करने के लिए सेट हैं।

मैं अमेज़न से सार्वजनिक कुंजी डाउनलोड किया है और यह एक .pem से एक openssl का उपयोग कर .crt फाइल करने के लिए परिवर्तित कर दिया है। पीजीएडमिन III में एसएसएल टैब पर मैंने रूपांतरित कुंजी फ़ाइल "सर्वर रूट प्रमाणपत्र फ़ाइल" फ़ील्ड में पथ दर्ज किया।

मैं बिना किसी मुद्दे के उदाहरण से कनेक्ट कर सकता हूं लेकिन कोई संकेत नहीं है कि डेटा एसएसएल पर स्थानांतरित किया जा रहा है। एडब्ल्यूएस एसएसएल विशेष रूप से का उपयोग करने के लिए अपने आरडीएस उदाहरण सेट नहीं करता है, इसलिए मैं एसएसएल का उपयोग किये बिना कनेक्ट हो सकता हूं और इसे नहीं जानता।

क्या पीजीएडमिन III एसएसएल (लॉक आइकन की तरह) का उपयोग कर कनेक्ट होने पर कोई संकेत दिखाता है? कोई भी अतिरिक्त जानकारी प्रदान कर सकता है जो पीजीएडमिन III में एसएसएल टैब पर फ़ील्ड्स (एसएसएल ड्रॉपडाउन, क्लाइंट सर्ट फाइल, क्लाइंट कुंजी) का वर्णन करता है?

धन्यवाद।

उत्तर

-1

मैंने एडब्ल्यूएस पर पीजीएडमिन के साथ एसएसएल का उपयोग नहीं किया है, लेकिन मेरे पास एक सर्वर पर है, और मैं आपको बता सकता हूं कि आप जानते हैं कि जब आप PGAdmin के माध्यम से किसी सर्वर से कनेक्ट होते हैं, तो मुझे यकीन नहीं है कि वहां अस्पष्टता कैसे है, क्या आप डेटाबेस, टेबल देख सकते हैं?

नीचे उद्धृत पोस्ट एसएसएल के माध्यम से किसी सर्वर से कनेक्ट करने में आपकी सहायता कर सकती है।

क्लाइंट पर, हमें तीन फाइलों की आवश्यकता है। विंडोज़ के लिए, इन फ़ाइलों को% appdata% \ postgresql \ निर्देशिका में होना चाहिए। लिनक्स ~/.postgresql/ निर्देशिका के लिए। root.crt (विश्वसनीय रूट प्रमाणपत्र) postgresql.crt (ग्राहक प्रमाण पत्र) postgresql.key (निजी कुंजी)

सर्वर मशीन पर की जरूरत फ़ाइलें उत्पन्न करें, और उसके बाद ग्राहक को कॉपी उन्हें। हम आवश्यक फ़ाइलों को/tmp/ निर्देशिका में उत्पन्न करेंगे।

क्लाइंट मशीन, के लिए पहले निजी कुंजी postgresql.key बनाएं और पासफ्रेज़ को हटा दें।

openssl genrsa -des3 -out /tmp/postgresql.key 1024 

openssl rsa -in /tmp/postgresql.key -out /tmp/postgresql.key 

फिर प्रमाण पत्र postgresql.crt बनाएं। यह हमारे विश्वसनीय रूट (जो सर्वर मशीन पर निजी कुंजी फ़ाइल का उपयोग कर रहा है) द्वारा हस्ताक्षरित होना चाहिए। साथ ही, प्रमाणपत्र सामान्य नाम (सीएन) को डेटाबेस उपयोगकर्ता नाम पर सेट किया जाना चाहिए जिसे हम कनेक्ट करेंगे।

openssl req -new -key /tmp/postgresql.key -out /tmp/postgresql.csr -subj '/C=CA/ST=British Columbia/L=Comox/O=TheBrain.ca/CN=www-data' 

openssl x509 -req -in /tmp/postgresql.csr -CA root.crt -CAkey server.key -out /tmp/postgresql.crt -CAcreateserial 

कॉपी हम क्लाइंट मशीन के लिए सर्वर/tmp/निर्देशिका से बनाए गए तीन फ़ाइलें।

कॉपी विश्वसनीय रूट प्रमाणपत्र (pgAdmin ~/.postgresql/विंडोज pgAdmin% AppData% \ PostgreSQL \ के लिए या के लिए लिनक्स) क्लाइंट मशीन के लिए सर्वर मशीन से root.crt।केवल 0 तक पहुंच प्रतिबंधित करने के लिए postgresql.key की फ़ाइल अनुमति बदलें (शायद विंडोज़ पर आवश्यक नहीं है क्योंकि प्रतिबंधित पहुंच पहले ही विरासत में है)। सर्वर/tmp/निर्देशिका से फ़ाइलों को निकालें।

से: http://www.howtoforge.com/postgresql-ssl-certificates

-1

पहले, लॉगिन के रूप में अपने PostgreSQL व्यवस्थापक उपयोगकर्ता तब चलाने आरडीएस पर sslinfo स्थापित करने के लिए निम्नलिखित:

create extension sslinfo; 

सत्यापित करने के लिए यदि आप SSL के माध्यम से जुड़े रहे हैं बस चलाने आपके सत्र में निम्नलिखित क्वेरी:

select ssl_is_used(); 

यदि यह सत्य (टी) देता है, तो आप SSL के माध्यम से जुड़े हुए हैं।

संबंधित मुद्दे