OffshoreVps
सुरक्षा27 सित॰ 20266 मिनट में पढ़ेंलेखक: OffshoreVps टीम

वेब सर्वर को मज़बूत करें: UFW, fail2ban और Nginx सेटिंग

वेबसाइट चलाने वाले VPS के लिए डिफ़ॉल्ट-डिनाई फ़ायरवॉल, fail2ban जेल, सुरक्षित Nginx हेडर, रेट लिमिटिंग और स्वचालित अपडेट।

नया वेब सर्वर ऑनलाइन आने के कुछ ही मिनटों में स्कैन हो जाता है। उस ट्रैफ़िक का ज़्यादातर हिस्सा स्वचालित होता है और अगर आपने बुनियादी काम कर लिए हैं तो हानिरहित है। यह गाइड 15 मिनट की सुरक्षा से एक कदम आगे जाती है और फ़ायरवॉल, fail2ban से ब्रूट-फ़ोर्स सुरक्षा और ज़्यादा सुरक्षित Nginx सेटअप को कवर करती है।

VPS पर टर्मिनल विंडो, जिसमें UFW, fail2ban और Nginx से वेब सर्वर को मज़बूत करने के कमांड दिख रहे हैं, शुरुआत “sudo ufw default deny incoming” से
इस गाइड में आप अपने सर्वर पर जिस तरह के कमांड चलाएँगे।

चरण 1: UFW के साथ डिफ़ॉल्ट-डिनाई फ़ायरवॉल

सिर्फ़ वही अनुमति दें जिसकी ज़रूरत है, बाक़ी ब्लॉक करें। पहले SSH जोड़ें ताकि आप ख़ुद को बाहर लॉक न कर लें।

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

अगर आप नॉन-स्टैंडर्ड SSH पोर्ट इस्तेमाल करते हैं, तो OpenSSH की जगह उसी पोर्ट की अनुमति दें।

चरण 2: बार-बार की विफलताओं के लिए fail2ban

fail2ban लॉग देखता है और उन IP पतों को बैन करता है जो लॉगिन में बार-बार विफल होते हैं।

sudo apt install -y fail2ban
sudo tee /etc/fail2ban/jail.local > /dev/null <<'CONF'
[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true

[nginx-http-auth]
enabled = true

[nginx-botsearch]
enabled = true
CONF
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

SSH कुंजियाँ इस्तेमाल करें और पासवर्ड लॉगिन भी बंद करें। SSH कुंजियाँ समझाई गईं देखें।

चरण 3: Nginx का वर्शन छिपाएँ और सुरक्षित हेडर जोड़ें

/etc/nginx/nginx.conf में, http ब्लॉक के अंदर:

server_tokens off;

आपकी साइट के server ब्लॉक में:

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

HSTS हेडर तभी जोड़ें जब आपके डोमेन और आपके इस्तेमाल किए सभी सबडोमेन पर HTTPS काम करने लगे।

इस गाइड के चरण क्रम से: 1. UFW के साथ डिफ़ॉल्ट-डिनाई फ़ायरवॉल; 2. बार-बार की विफलताओं के लिए fail2ban; 3. Nginx का वर्शन छिपाएँ और सुरक्षित हेडर जोड़ें; 4. दुरुपयोग वाली रिक्वेस्ट सीमित करें; 5. इसे अपडेटेड रखें; 6. किस पर नज़र रखें
इस गाइड के चरण, क्रम से।

चरण 4: अपमानजनक अनुरोधों को सीमित करें

रेट लिमिटिंग लॉगिन पेजों पर ब्रूट-फ़ोर्स कोशिशों को धीमा करती है:

# in the http block
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;

# in your server block
location = /wp-login.php {
    limit_req zone=login burst=5 nodelay;
    # ...your usual PHP handling
}

sudo nginx -t && sudo systemctl reload nginx से टेस्ट करें और लागू करें।

चरण 5: इसे अपडेटेड रखें

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

स्वचालित सुरक्षा अपडेट आपके कुछ किए बिना ज्ञात कमज़ोरियों को बंद कर देते हैं।

क्या देखते रहें

  • बैन को sudo fail2ban-client status sshd से जाँचें।
  • /var/log/nginx/error.log की कभी-कभार समीक्षा करें।
  • अगर आप प्रॉक्सी या CDN के पीछे हैं, तो पक्का करें कि fail2ban असली क्लाइंट IP पढ़े, वरना आप अपना ही प्रॉक्सी बैन कर सकते हैं।
आगे पढ़ें

ब्लॉग से और

सुरक्षा

LUKS से VPS एन्क्रिप्ट करें: सेटअप और सीमाएँ

किराए के सर्वर पर LUKS डिस्क एन्क्रिप्शन सेट करें: एन्क्रिप्टेड डेटा वॉल्यूम, रूट डिस्क के लिए रिमोट अनलॉक कैसे काम करता है, और एक ईमानदार थ्रेट मॉडल।

19 अक्तू॰ 2026 · 9 मिनट में पढ़ें
सुरक्षा

ऑरिजिन सर्वर का IP छिपाएँ: प्रॉक्सी, CDN और लीक

CDN आपका सर्वर तभी छिपाता है जब कोई और चीज़ उसे उजागर न करे। जानें ऑरिजिन IP DNS इतिहास, ईमेल और सर्टिफ़िकेट से कैसे लीक होते हैं, और ऑरिजिन को कैसे लॉक करें।

19 अक्तू॰ 2026 · 8 मिनट में पढ़ें
सुरक्षा

Nginx के साथ VPS के लिए Layer 7 DDoS सुरक्षा

होस्ट-स्तर की DDoS सुरक्षा कच्चे ट्रैफ़िक की बाढ़ रोकती है, चालाक रिक्वेस्ट नहीं। एप्लिकेशन-लेयर हमलों से बचने के लिए Nginx और fail2ban से रेट लिमिट, कैशिंग और बॉट नियम जोड़ें।

13 अक्तू॰ 2026 · 8 मिनट में पढ़ें