Linux सर्वर परिनियोजन और SSH में दक्षता · पाठ

सुरक्षित डेटाबेस कनेक्शन

SSL/TLS का उपयोग करके अपने डेटाबेस से सुरक्षित कनेक्शन कॉन्फ़िगर करें और बेहतर सुरक्षा के लिए IP पतों के आधार पर पहुँच सीमित करें।

पाठ 3, कुल 4 में से12 चरण

सुरक्षित डेटाबेस कनेक्शन, CoddyKit पर Linux सर्वर परिनियोजन और SSH में दक्षता का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Linux सर्वर परिनियोजन और SSH में दक्षता सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Linux सर्वर परिनियोजन और SSH में दक्षता पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

सुरक्षित Database Connections क्यों?

जब आपके applications किसी database से connect करते हैं, तो अक्सर संवेदनशील data network पर जाता है। उचित security के बिना इस data को बीच में पकड़ा या बदला जा सकता है।

  • गोपनीयता: अनधिकृत रूप से data देखने से रोकती है।
  • अखंडता: सुनिश्चित करती है कि data भेजे जाने के दौरान बदला न जाए।
  • प्रमाणीकरण: client और server दोनों की पहचान सत्यापित करता है।

यह पाठ दो महत्वपूर्ण methods पर केंद्रित है: SSL/TLS encryption और IP-आधारित access restrictions।

Databases के लिए SSL/TLS को समझना

SSL/TLS (Secure Sockets Layer/Transport Layer Security) वेब server और client के बीच (या हमारे मामले में database server और client के बीच) encrypted link स्थापित करने की standard technology है।

  • यह आदान-प्रदान किए गए सभी data को encrypt करता है और उसे चोरी-छिपे देखने से बचाता है।
  • यह server (और वैकल्पिक रूप से client) की पहचान सत्यापित करने के लिए digital certificates का उपयोग करता है।
  • Transfer के दौरान passwords, financial details और personal information जैसे data की सुरक्षा के लिए यह अत्यंत महत्वपूर्ण है।

SSL/TLS Certificates बनाना

SSL/TLS का उपयोग करने के लिए आपके database server को digital certificate और private key की आवश्यकता होती है। ये server की पहचान प्रमाणित करते हैं।

  • Self-signed certificates: testing या internal networks के लिए बनाना सबसे आसान है, लेकिन default रूप से trusted नहीं होते।
  • CA-signed certificates: Certificate Authority (CA) द्वारा जारी किए जाते हैं और globally trusted होते हैं, इसलिए production के लिए आदर्श हैं।

इस पाठ के लिए, हम मानते हैं कि आपके पास server certificate (server.crt) और private key (server.key) तैयार हैं।

PostgreSQL: SSL सक्षम करना

PostgreSQL में SSL सक्षम करने के लिए आपको postgresql.conf file edit करनी होगी। इससे server को secure connections के लिए listen करने और आपके certificates का स्थान पता चलता है।

मुख्य parameters:

  • ssl = on: SSL को चालू करता है।
  • ssl_cert_file: आपके server certificate का path।
  • ssl_key_file: आपके server की private key का path।

बदलाव करने के बाद PostgreSQL को restart कीजिए।

# Snippet from postgresql.conf

ssl = on
ssl_cert_file = '/etc/ssl/certs/postgresql/server.crt'
ssl_key_file = '/etc/ssl/private/postgresql/server.key'
ssl_crl_file = '' # Optional: Certificate Revocation List

# Remember to restart PostgreSQL after changes!

MySQL: SSL/TLS सक्षम करना

MySQL के लिए, आप my.cnf फ़ाइल में SSL/TLS कॉन्फ़िगर करेंगे (Windows पर my.ini में), आमतौर पर [mysqld] अनुभाग के भीतर।

आप सर्वर प्रमाणपत्र, निजी कुंजी और वैकल्पिक रूप से Certificate Authority (CA) प्रमाणपत्र के पथ निर्दिष्ट करते हैं, यदि क्लाइंट प्रमाणपत्रों का सत्यापन करने के लिए इसका उपयोग कर रहे हों।

संशोधन करने के बाद, परिवर्तनों को लागू करने के लिए MySQL सेवा को पुनः प्रारंभ करें।

# Snippet from my.cnf

[mysqld]
ssl_ca = /etc/mysql/certs/ca.pem
ssl_cert = /etc/mysql/certs/server-cert.pem
ssl_key = /etc/mysql/certs/server-key.pem

# Restart MySQL after changes!

SSL/TLS के साथ क्लाइंट कनेक्शन

सर्वर कॉन्फ़िगर हो जाने के बाद, कनेक्ट करते समय क्लाइंट को SSL/TLS का उपयोग करने के लिए बताया जाना चाहिए। इसमें अक्सर कनेक्शन स्ट्रिंग या कमांड में SSL विकल्प निर्दिष्ट करना शामिल होता है।

यहाँ PostgreSQL के psql क्लाइंट का उपयोग करते हुए एक उदाहरण दिया गया है, जिसमें SSL मोड को स्पष्ट रूप से आवश्यक किया गया है:

  • sslmode=require: SSL कनेक्शन को अनिवार्य करता है।
  • sslrootcert: सर्वर सत्यापन के लिए CA प्रमाणपत्र का पथ।
psql "host=your_db_host user=your_user dbname=your_db \
  sslmode=require sslrootcert=/path/to/ca.crt"

IP ADDRESS द्वारा पहुँच सीमित करना

एन्क्रिप्शन के अलावा, क्लाइंट के IP ADDRESS के आधार पर पहुँच सीमित करना एक मूलभूत सुरक्षा अभ्यास है। इससे सुनिश्चित होता है कि केवल विश्वसनीय मशीनें ही आपके DATABASE से कनेक्ट करने का प्रयास कर सकें।

आप इसे कॉन्फ़िगर कर सकते हैं:

  • DATABASE सर्वर स्तर पर (जैसे, PostgreSQL की pg_hba.conf या MySQL के GRANT कथनों द्वारा)।
  • फ़ायरवॉल का उपयोग करके (जैसे UFW या firewalld), ताकि अनधिकृत IP से DATABASE पोर्ट तक आने वाला ट्रैफ़िक रोका जा सके।

दोनों विधियों को मिलाने से सुरक्षा की बहुस्तरीय व्यवस्था मिलती है।

PostgreSQL: pg_hba.conf के साथ IP प्रतिबंध

PostgreSQL होस्ट-आधारित प्रमाणीकरण के लिए pg_hba.conf फ़ाइल का उपयोग करता है। प्रत्येक पंक्ति कनेक्शन TYPE, DATABASE, USER और अनुमत IP ADDRESS निर्दिष्ट करती है।

सामान्य फ़ील्ड:

  • TYPE: host (TCP/IP), local (Unix सॉकेट)।
  • DATABASE: all, या विशिष्ट DATABASE नाम।
  • USER: all, या विशिष्ट USER।
  • ADDRESS: IP श्रेणी (जैसे, 192.168.1.0/24) या एकल IP।
  • METHOD: scram-sha-256, md5, peer आदि।

संपादन के बाद PostgreSQL को पुनः प्रारंभ करना न भूलें।

# Snippet from pg_hba.conf

# Allow connections from localhost for all users/databases
host    all             all             127.0.0.1/32            scram-sha-256

# Allow 'app_user' from specific IP range to 'app_db'
host    app_db          app_user        192.168.1.0/24          scram-sha-256

# Deny all other connections (implicit if no other rules match)

MySQL: GRANT के साथ IP प्रतिबंध

MySQL में, GRANT कथन द्वारा USER बनाते या उसमें बदलाव करते समय उस होस्ट को निर्दिष्ट करके USER की पहुँच सीमित की जाती है, जहाँ से वह कनेक्ट कर सकता है।

'user'@'host' सिंटैक्स महत्वपूर्ण है:

  • 'localhost': केवल स्वयं सर्वर से।
  • '192.168.1.100': केवल किसी विशिष्ट IP ADDRESS से।
  • '%': किसी भी होस्ट से (अत्यंत सावधानी से उपयोग करें!)।
  • '192.168.1.%': 192.168.1.x श्रेणी के किसी भी IP से।

हमेशा संभव सबसे अधिक प्रतिबंधात्मक होस्ट का उपयोग करें।

CREATE USER 'app_user'@'192.168.1.10' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'192.168.1.10';
FLUSH PRIVILEGES;

सुरक्षा की सर्वोत्तम प्रक्रियाएँ

DATABASE कनेक्शनों को सुरक्षित करना एक निरंतर चलने वाला प्रयास है। यहाँ कुछ सर्वोत्तम प्रक्रियाएँ दी गई हैं:

  • न्यूनतम विशेषाधिकार: USER और एप्लिकेशन को केवल आवश्यक अनुमतियाँ दें।
  • मज़बूत पासवर्ड: जटिल पासवर्ड अनिवार्य करें और उन्हें नियमित रूप से बदलें।
  • फ़ायरवॉल नियम: DATABASE पोर्ट (जैसे PostgreSQL के लिए 5432 और MySQL के लिए 3306) तक पहुँच केवल विश्वसनीय IP तक सीमित करने के लिए अपने सर्वर के फ़ायरवॉल (UFW/firewalld) का उपयोग करें।
  • नियमित ऑडिट: DATABASE लॉग और पहुँच कॉन्फ़िगरेशन की समय-समय पर समीक्षा करें।
  • सॉफ़्टवेयर को अद्यतन रखें: DATABASE सर्वर और ऑपरेटिंग सिस्टम पर सुरक्षा पैच तुरंत लागू करें।

अपना ज्ञान जाँचें

DATABASE कनेक्शनों की सुरक्षा बढ़ाने के लिए निम्नलिखित में से कौन-सी विधियाँ मान्य हैं?

पुनरावलोकन: अपने डेटा को सुरक्षित करें

इस पाठ में हमने DATABASE कनेक्शनों को सुरक्षित करने की महत्वपूर्ण तकनीकों का अध्ययन किया:

  • SSL/TLS: यह ट्रांज़िट में डेटा को एन्क्रिप्ट करके उसकी गोपनीयता और अखंडता सुनिश्चित करता है। हमने देखा कि PostgreSQL और MySQL में इसे कैसे सक्षम करें और क्लाइंट सुरक्षित रूप से कैसे कनेक्ट होते हैं।
  • IP प्रतिबंध: यह नेटवर्क ADDRESS के आधार पर यह सीमित करता है कि आपके DATABASE से कौन कनेक्ट कर सकता है; PostgreSQL के लिए pg_hba.conf और MySQL के लिए GRANT कथनों का उपयोग किया जाता है।
  • सर्वोत्तम प्रक्रियाएँ: हमने मज़बूत पासवर्ड और नियमित ऑडिट जैसी सामान्य सुरक्षा युक्तियों पर भी चर्चा की।

इन उपायों को लागू करके आप अनधिकृत पहुँच और डेटा उल्लंघनों के जोखिम को काफ़ी कम कर सकते हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Linux सर्वर परिनियोजन और SSH में दक्षता सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “सुरक्षित डेटाबेस कनेक्शन” पाठ निःशुल्क है?

हाँ — Linux सर्वर परिनियोजन और SSH में दक्षता अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “सुरक्षित डेटाबेस कनेक्शन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Linux सर्वर परिनियोजन और SSH में दक्षता पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“सुरक्षित डेटाबेस कनेक्शन” में मैं क्या सीखूँगा?

SSL/TLS का उपयोग करके अपने डेटाबेस से सुरक्षित कनेक्शन कॉन्फ़िगर करें और बेहतर सुरक्षा के लिए IP पतों के आधार पर पहुँच सीमित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Linux सर्वर परिनियोजन और SSH में दक्षता का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Linux सर्वर परिनियोजन और SSH में दक्षता शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Linux सर्वर परिनियोजन और SSH में दक्षता शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“सुरक्षित डेटाबेस कनेक्शन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Linux सर्वर परिनियोजन और SSH में दक्षता पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Linux सर्वर परिनियोजन और SSH में दक्षता पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. PostgreSQL/MySQL स्थापित करना
  2. डेटाबेस उपयोगकर्ता और पहुँच नियंत्रण
  3. सुरक्षित डेटाबेस कनेक्शन
  4. डेटाबेस बैकअप और पुनर्स्थापना रणनीतियाँ
← Linux सर्वर परिनियोजन और SSH में दक्षता पर वापस जाएँ