अपने VPS को DDoS हमलों से कैसे बचाएं: व्यावहारिक गाइड
फ़ायरवॉल, रेट लिमिटिंग और अन्य सिद्ध तरीकों का उपयोग करके अपने VPS को DDoS हमलों से बचाने पर व्यापक गाइड।

DDoS हमले (Distributed Denial of Service) आपके सर्वर को मिनटों में ऑफ़लाइन कर सकते हैं, जिससे राजस्व हानि, ग्राहक असंतोष और प्रतिष्ठा को नुकसान होता है। 2026 में, ऐसे हमले अधिक परिष्कृत और सुलभ हो गए हैं। सौभाग्य से, आधुनिक सुरक्षा विधियां भी विकसित हुई हैं। यह गाइड आपको दिखाएगी कि सबसे सामान्य प्रकार के DDoS हमलों से अपने Hiddence VPS की रक्षा कैसे करें।
DDoS हमला क्या है?
DDoS हमला तब होता है जब कई कंप्यूटर (botnet) एक साथ आपके सर्वर पर अनुरोध भेजते हैं, इसके संसाधनों को अभिभूत करते हुए इसे वैध उपयोगकर्ताओं के लिए अनुपलब्ध बना देते हैं।
DDoS हमलों के मुख्य प्रकार
- Volumetric Attacks (L3/L4): UDP flood, ICMP, SYN flood — नेटवर्क बैंडविड्थ को अभिभूत करते हैं
- Application Layer Attacks (L7): HTTP flood, Slowloris — एप्लिकेशन लेयर को लक्षित करते हैं
- Protocol Attacks: नेटवर्क प्रोटोकॉल में कमजोरियों का शोषण करते हैं
अंतर्निहित Hiddence सुरक्षा
सभी Hiddence VPS में बुनियादी Layer 3-4 DDoS सुरक्षा (नेटवर्क स्तर) शामिल है। यह स्वचालित रूप से अधिकांश volumetric हमलों को फ़िल्टर करता है। हालांकि, Layer 7 (एप्लिकेशन) हमलों के लिए अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होती है।
चरण 1: फ़ायरवॉल सेटअप
रक्षा की पहली पंक्ति उचित फ़ायरवॉल कॉन्फ़िगरेशन है। UFW (Uncomplicated Firewall) Ubuntu/Debian के लिए एक सरल और प्रभावी उपकरण है।
# UFW इंस्टॉल करें
sudo apt update && sudo apt install ufw -y
# SSH की अनुमति दें (महत्वपूर्ण! UFW सक्षम करने से पहले यह करें)
sudo ufw allow 22/tcp
# HTTP और HTTPS की अनुमति दें
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# UFW सक्षम करें
sudo ufw enable
# स्थिति जांचें
sudo ufw status verbose
# उन्नत सुरक्षा नियम:
# SSH कनेक्शन सीमित करें (brute force सुरक्षा)
sudo ufw limit 22/tcp
# ICMP ping floods को ब्लॉक करें
sudo nano /etc/ufw/before.rules
# *filter के बाद जोड़ें:
-A ufw-before-input -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
# SYN flood के खिलाफ सुरक्षा
sudo nano /etc/sysctl.conf
# जोड़ें:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# परिवर्तन लागू करें
sudo sysctl -pचरण 2: Fail2Ban इंस्टॉल करें
Fail2Ban स्वचालित रूप से संदिग्ध गतिविधि दिखाने वाले IP पतों को ब्लॉक करता है (कई विफल लॉगिन प्रयास, पोर्ट स्कैनिंग)।
# इंस्टॉल करें
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# SSH और HTTP सुरक्षा के लिए कॉन्फ़िगरेशन
# स्थानीय कॉन्फ़िगरेशन बनाएं
sudo nano /etc/fail2ban/jail.local
# जोड़ें:
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
banaction = ufw
[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/log/nginx/error.log
[nginx-limit-req]
enabled = true
filter = nginx-limit-req
port = http,https
logpath = /var/log/nginx/error.log
# Fail2Ban पुनरारंभ करें
sudo systemctl restart fail2ban
# स्थिति जांचें
sudo fail2ban-client statusचरण 3: Nginx सुरक्षा
यदि आप Nginx का उपयोग कर रहे हैं, तो HTTP flood हमलों से बचाने के लिए रेट लिमिटिंग कॉन्फ़िगर करें।
sudo nano /etc/nginx/nginx.conf
# http ब्लॉक में जोड़ें:
http {
# अनुरोध सीमा: प्रति IP प्रति सेकंड 10 अनुरोध
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
# कनेक्शन सीमा
limit_conn_zone $binary_remote_addr zone=addr:10m;
# Slowloris सुरक्षा
client_body_timeout 10s;
client_header_timeout 10s;
keepalive_timeout 5s 5s;
send_timeout 10s;
# बाकी कॉन्फ़िगरेशन...
}
# सर्वर ब्लॉक में जोड़ें:
server {
location / {
# अनुरोध सीमा लागू करें
limit_req zone=one burst=20 nodelay;
# कनेक्शन सीमा: प्रति IP अधिकतम 10
limit_conn addr 10;
# आपकी कॉन्फ़िगरेशन...
}
}
# कॉन्फ़िगरेशन परीक्षण करें और पुनः लोड करें
sudo nginx -t
sudo systemctl reload nginxचरण 4: CDN का उपयोग करें
अधिकतम सुरक्षा के लिए, Cloudflare जैसी CDN सेवा का उपयोग करें। CDN एक प्रॉक्सी के रूप में कार्य करता है, आपके सर्वर के वास्तविक IP को छुपाता है और अधिकांश DDoS हमलों को अवशोषित करता है। लाभ: वास्तविक IP छुपाएं, स्वचालित दुर्भावनापूर्ण ट्रैफ़िक फ़िल्टरिंग, लोड वितरण, मुफ्त SSL/TLS, L7 सुरक्षा के लिए WAF।
- cloudflare.com पर पंजीकरण करें (मुफ्त योजना उपलब्ध)
- अपना डोमेन जोड़ें और अपने रजिस्ट्रार पर NS रिकॉर्ड बदलें
- DNS रिकॉर्ड के लिए 'Proxy' मोड (नारंगी बादल) सक्षम करें
- SSL/TLS अनुभाग में SSL मोड को 'Full (strict)' पर सेट करें
- सुरक्षा सेटिंग्स में 'DDoS Protection' और 'Bot Fight Mode' सक्षम करें
चरण 5: निगरानी
नियमित निगरानी हमलों का जल्दी पता लगाने में मदद करती है।
# सक्रिय कनेक्शन की निगरानी करें
watch -n 1 'ss -s'
# कनेक्शन गिनती के अनुसार शीर्ष IP देखें
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# लॉग वास्तविक समय में देखें
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f
# Fail2Ban में ब्लॉक किए गए IP जांचें
sudo fail2ban-client status sshdआपातकालीन उपाय
यदि हमला पहले से ही चल रहा है, तो निम्नलिखित उपाय करें:
- स्रोत की पहचान करें: हमलावर IP की पहचान करने के लिए 'netstat' या लॉग का उपयोग करें
- अस्थायी ब्लॉक: sudo ufw insert 1 deny from ATTACKING_IP
- संपूर्ण सबनेट ब्लॉक करें: sudo ufw deny from 123.45.0.0/16
- रेट सीमा सीमित करें: अस्थायी रूप से Nginx सीमा को 1-5 req/s तक कम करें
- सहायता से संपर्क करें: उन्नत सुरक्षा सक्रिय करने के लिए Hiddence सहायता से संपर्क करें
- Cloudflare में 'Under Attack Mode' सक्षम करें (यदि उपयोग कर रहे हैं)
सर्वोत्तम अभ्यास
- यदि CDN का उपयोग कर रहे हैं तो कभी भी अपने सर्वर का वास्तविक IP प्रकाशित न करें
- नियमित रूप से सिस्टम अपडेट करें: sudo apt update && sudo apt upgrade
- सर्वर एक्सेस के लिए पासवर्ड के बजाय SSH कुंजियों का उपयोग करें
- डिफ़ॉल्ट SSH पोर्ट (22) को गैर-मानक में बदलें
- त्वरित रिकवरी के लिए स्वचालित बैकअप सेट करें
- महत्वपूर्ण सेवाओं के लिए अलग IP का उपयोग करें
- लॉगिंग सक्षम करें और संदिग्ध गतिविधि के लिए नियमित रूप से लॉग जांचें
- यदि आपकी सेवा वैश्विक नहीं है तो भौगोलिक ब्लॉकिंग का उपयोग करने पर विचार करें