CybersLion

डाटाबेस सर्वर सुरक्षा 2025 — उन्नत हमलावर विश्लेषण और काउंटरमेज़र्स (हिंदी)

 

डाटाबेस सर्वर सुरक्षा और हमलावरों की रणनीति — उन्नत विश्लेषण, रोकथाम और प्रायोगिक अभ्यास (2025)


Meta Description: सीखें कि हमलावर किस तरह डेटाबेस सर्वरों को निशाना बनाते हैं और उन्हें कैसे हार्डन करें — SQLi से लेकर प्रिविलेज एस्केलेशन, एन्क्रिप्शन, मॉनिटरिंग और प्रैक्टिकल लैब स्टेप्स। केवल एथिकल/अधिकृत परिक्षण के लिए।
Primary Keywords: डाटाबेस सुरक्षा, डाटाबेस हार्डनिंग, SQL Injection रोकथाम, DB सर्वर सुरक्षा, प्रिविलेज एस्केलेशन रोकें, RDS सुरक्षा, DB मॉनिटरिंग


परिचय — क्यों डाटाबेस सर्वर की सुरक्षा महत्वपूर्ण है

डेटा अब किसी भी संगठन की सबसे कीमती संपत्ति है। डाटाबेस सर्वर—जिसमें उपयोगकर्ता रिकॉर्ड, वित्तीय लेन-देन और संवेदनशील कॉन्फ़िगरेशन स्टोर होते हैं—हमलावरों के लिए प्राथमिक लक्ष्य होते हैं।
इस ब्लॉग का लक्ष्य है: हमलावरों की सामान्य रणनीतियाँ समझना (जागरूकता के लिए), और फिर विस्तृत, उन्नत और व्यावहारिक रक्षा उपाय देना — जिन्हें आप अपने लैब/अधिकृत वातावरण में लागू और परीक्षण कर सकते हैं।

कृपया ध्यान दें: यह सामग्री केवल रक्षा, प्रशिक्षण और एथिकल पेन-टेस्टिंग के लिए है। किसी तृतीय-पक्ष सिस्टम पर अनुमति के बिना परीक्षण अवैध है।


1. खतरों का परिदृश्य — हमलावर कौन-सा रास्ता अपनाते हैं?

सामान्य हमले (High-level)

  • SQL Injection (SQLi) — एप्लिकेशन के माध्यम से Database में अनाधिकृत क्वेरी चलाना।

  • क्रेडेंशल स्टफिंग / ब्रूट फ़ोर्स — रिसाव/कमज़ोर पासवर्ड के जरिए लॉगिन।

  • कॉनफिग्यूरेशन त्रुटियाँ — Default accounts, खुला पोर्ट, या गलत फ़ाइल परमिशन।

  • प्रिविलेज एस्केलेशन — DB user से higher-privileged user बनना (OS कमांड रन करना)।

  • डेटा एक्सफ़िल्ट्रेशन — बड़े पैमाने पर डेटा निकालना और बाहर भेजना (OOB चैनल्स)।

  • रैन्समवेयर / लॉजिक मैनिपुलेशन — बैकअप-कोपियाँ भी इन लक्ष्यों में शामिल।

इस सेक्शन का मकसद यह है कि आप जानें हमलावर किस चीज़ के पीछे जाते हैं — ताकि आप उसी दिशा में अपनी सुरक्षा बनाएँ।


2. बेसिक से उन्नत तक — कन्फ़िगरेशन हार्डनिंग चेकलिस्ट

MySQL / MariaDB (उन्नत हार्डनिंग)

  • root दूरस्थ लॉगिन डिसेबल करें:

    UPDATE mysql.user SET host='localhost' WHERE user='root'; FLUSH PRIVILEGES;
  • anonymous accounts और test databases हटाएँ।

  • validate_password प्लगइन से पासवर्ड पॉलिसी लागू करें।

  • require_secure_transport=ON और SSL/TLS सर्टिफ़िकेट लागू करें (ssl_cert, ssl_key)।

  • local_infile यदि अवांछित हो तो बंद करें:

    SET GLOBAL local_infile = 0;

PostgreSQL (हिफ़ाज़ती सेटिंग्स)

  • pg_hba.conf में trust auth हटाएँ; use md5/scram-sha-256.

  • log_connections = on, log_statement = 'ddl' आदि enable करें।

  • superuser सीमित रखें; application को सिर्फ़ आवश्यक रोल दें।

Microsoft SQL Server (सुरक्षा टिप्स)

  • xp_cmdshell को disable रखें:

    EXEC sp_configure 'xp_cmdshell', 0; RECONFIGURE;
  • SQL Server Browser service को सिर्फ़ आवश्यक होस्ट पर ही रखें।

  • Windows authentication और मजबूत SA password।


3. Authentication, Authorization & Least Privilege

  • Single purpose DB users: रिपोर्टिंग यूज़र सिर्फ़ SELECT दें; एप्लिकेशन यूज़र को केवल आवश्यक operations दें।

  • Role-based access control (RBAC): मौजूदा रोल्स रिव्यू और रीफ़ाइन करें।

  • MFA / 2FA जहाँ संभव हो (DB admin consoles, cloud consoles)।

  • Credential management: पासवर्ड हार्डनिंग + secret rotation (e.g., HashiCorp Vault, AWS Secrets Manager) — की-रोटेशन ऑटोमेशन करें।


4. Encrytion — Data-at-Rest और Data-in-Transit

Data-in-Transit

  • TLS/SSL सक्षम करें। MySQL/Postgres में client-cert verification पर विचार करें।

  • Enforce TLS only: MySQL में require_secure_transport=ON

Data-at-Rest

  • TDE (Transparent Data Encryption) — MSSQL/Oracle में।

  • Disk-level encryption (LUKS/BitLocker) और DB-level encryption for sensitive columns (application-level encryption).

  • Keys अलग-ठंडे का प्रबंधन करें — KMS या Hardware Security Modules (HSM) का प्रयोग।


5. SQL Injection — जागरूकता और रोकथाम (डिफेंस-फर्स्ट)

SQLi एक एप्लिकेशन-लेवल मुद्दा है पर इसका प्रभाव DB पर पड़ता है। रोकथाम एप्लिकेशन-कोड में होनी चाहिए।

  • Prepared statements (parameterized queries) हर जगह उपयोग करें।

  • Server-side input validation + whitelisting; never rely only on client-side checks.

  • ORM का बुद्धिमत्ता से उपयोग — पर raw queries से सावधान रहें।

  • WAF (Web Application Firewall): ModSecurity rules/managed WAF (Cloudflare, AWS WAF) — ये SQLi payloads का पहला फिल्टर हो सकते हैं।

  • Escape और sanitize केवल जब parameterization संभव न हो — पर यह primary defense नहीं है।


6. Monitoring, Auditing & SIEM

लॉगिंग नीतियाँ

  • DB connection logs, slow queries, failed authentications और DDL operations लॉग करें।

  • Audit logs (MySQL audit_log plugin, PostgreSQL pgaudit) को SIEM में शिफ्ट करें।

SIEM और अलर्टिंग

  • Wazuh, ELK (Elastic), Splunk जैसे SIEM से alerts: अचानक बड़े SELECT, many JOINs, या long-running queries पर ट्रिगर बनायें।

  • Alert keywords: UNION SELECT, SLEEP(, xp_cmdshell, mass SELECT * dumps.


7. नेटवर्क-लेयर सुरक्षा और segmentation

  • DB पोर्ट्स (3306, 5432, 1433 आदि) को public internet से बंद रखें।

  • Application servers और DB servers को अलग-नेटवर्क/ज़रूरत के अनुसार private subnet में रखें।

  • Firewall rules/SGs केवल एप्लिकेशन IPs को अनुमति दें। उदाहरण (iptables):

    iptables -A INPUT -p tcp --dport 3306 -s 10.0.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 3306 -j DROP

8. Privilege Escalation से बचाव — खतरनाक फीचर्स बंद करें

  • MSSQL में xp_cmdshell, extended stored procedures बंद रखें।

  • MySQL में FILE privilege को बंद/कठोर करें ताकि सर्वर से फ़ाइल पढ़ना/लिखना न कर सकें।

  • Stored procedures और UDFs का audit रखें; केवल verified code को ही PROC/Trigger में चलने दें।

  • OS-level से DB-user mappings नियंत्रित करें; DB process को non-privileged user पर चलाएँ।


9. बैकअप सुरक्षा और इंटिग्रिटी

  • Backups को एन्क्रिप्टेड रखें और अलग-स्थल पर स्टोर करें।

  • Ransomware 대비 के लिए backup copies offline रखें।

  • बैकअप integrity checks (checksums) और regular restore drills चलाएँ।

  • Access control: केवल authorized restore operators को ही बैकअप का access दें।


10. पॅचिंग, maintenance और CVE-रेस्पॉन्स

  • DB vendor प्रकाशनों और CVE advisories पर subscribe करें।

  • Patches पहले Staging पर टेस्ट करें फिर production पर roll out करें।

  • Automate patch management जहां संभव हो (Ansible, Chef, Puppet)।

  • Zero-day या severe CVE के लिए immediate mitigation steps और incident playbook तैयार रखें।


11. प्रैक्टिकल लैब — सुरक्षित तरीके से अभ्यास (स्टेप-बाय-स्टेप)

नीचे दिया गया लैब सेटअप केवल अपने मशीन/लैब पर करें — किसी बाहरी सिस्टम पर अनुमति के बिना न चलाएँ।

A. लैब सेटअप (Docker आधारित)

  1. Docker install करें (यदि न हो)।

  2. DVWA + MySQL शुरू करें:

docker run -d --name dvwa -p 8080:80 vulnerables/web-dvwa
  1. स्थानीय ब्राउज़र में http://localhost:8080 खोलें। DVWA के साथ आप एप्लिकेशन-लेवल SQLi और बाद में रोकथाम टेस्ट कर सकते हैं।

B. बेसिक टेस्ट (एथिकल)

  • DVWA के SQLi मॉड्यूल पर Low security में SQLi payload डालकर असफलता/सफलता दोनों देखें (learning exercise)।

  • अब vulnerable कोड में prepared statement लगाएँ और retest करें — payload विफल होना चाहिए।

C. Hardening Practice

  1. MySQL में require_secure_transport=ON और TLS cert setup करें (localhost self-signed certs)।

  2. local_infile = 0 सेट करके फ़ाइल-इन्फ़्लो को डिसेबल करें।

  3. एक read-only user बनाएँ और उसके साथ रिपोर्टिंग queries चलाकर verify करें कि write नहीं हो पा रहा।

D. Auditing & Monitoring

  • Wazuh (या ELK) कंटेनर चलाएँ और DVWA/MySQL logs इकट्ठा करें।

  • एक simple alert rule बनायें: यदि UNION SELECT pattern लॉग में दिखे तो notification भेजा जाए।


12. क्लाउड-आधारित DB सुरक्षा (AWS RDS, Azure SQL, GCP Cloud SQL)

  • RDS/Aurora: Public accessibility OFF रखें; use Private Subnets, Security Groups, and IAM DB authentication. Enable RDS encryption (KMS). Enable RDS Enhanced Monitoring and CloudTrail for audit.

  • Azure SQL: Enable Advanced Threat Protection, Auditing to Log Analytics; use Private Link.

  • GCP Cloud SQL: Use Private IP, CMEK for customer-managed encryption keys, and Cloud Audit Logs.


13. Incident Response & Forensics (DB-specific)

  • Incident playbook में include करें: disconnect app, rotate credentials, enable read-only mode, collect DB logs, snapshot volume (for forensic preservation).

  • Forensic artifacts: query logs, binary logs (MySQL binlog), transaction logs, OS audit logs. Preserve integrity with checksums and chain-of-custody documentation.


14. नीति, अनुपालन और शिक्षा

  • Define DB access policy (approval workflow), password/rotation policy, and least privilege enforcement.

  • Compliance: GDPR, HIPAA, PCI-DSS checklist for DB encryption, logging, and data retention.

  • Continuous developer training on secure DB access patterns and OWASP Top 10.


निष्कर्ष — जागरूकता से विवेकपूर्ण सुरक्षा तक

डाटाबेस सर्वर की सुरक्षा केवल उपकरण या एक सेटिंग्स का मुद्दा नहीं है — यह एक प्रक्रिया है: कॉन्फ़िगरेशन-हार्डनिंग, निरंतर मॉनिटरिंग, प्रिविलेज मैनेजमेंट, एन्क्रिप्शन, और नियमित टेस्टिंग मिलकर ही सफलता सुनिश्चित करते हैं।
हमलावर क्या सोचते हैं यह समझना (awareness) ज़रूरी है — पर हमारी प्राथमिकता हमेशा रक्षा, रोकथाम और त्वरित प्रतिक्रिया होनी चाहिए।