सार्वजनिक IP एड्रेस वाले नए VPS पर कुछ ही मिनटों में स्वचालित लॉगिन प्रयास शुरू हो जाते हैं। इनमें से कुछ भी व्यक्तिगत नहीं है; बॉट बस हर एड्रेस को स्कैन करते हैं। कुछ बुनियादी कदम लगभग सब कुछ रोक देते हैं। यह चेकलिस्ट मानती है कि आपके पास नया Ubuntu 24.04 या Debian 12/13 सर्वर है और इसमें लगभग पंद्रह मिनट लगते हैं।
1. सबसे पहले सब कुछ अपडेट करें
apt update && apt full-upgrade -y
reboot
रीबूट के बाद दोबारा लॉग इन करें। हमेशा पूरी तरह पैच किए गए सिस्टम से शुरू करें।
2. non-root यूज़र बनाएँ
हर समय root के रूप में काम करने से हर टाइपो खतरनाक हो जाता है। sudo अधिकारों वाला सामान्य यूज़र बनाएँ:
adduser deploy
usermod -aG sudo deploy
3. SSH कुंजियाँ सेट करें
अपने कंप्यूटर पर, अगर कुंजी जोड़ी नहीं है तो बनाएँ और सार्वजनिक आधा हिस्सा सर्वर पर कॉपी करें:
ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP
दूसरा टर्मिनल खोलें और आगे बढ़ने से पहले पुष्टि करें कि आप कुंजी के साथ deploy के रूप में लॉग इन कर सकते हैं। ऐसा होने तक अपना मूल सेशन बंद न करें।
4. पासवर्ड और root लॉगिन बंद करें
SSH डेमन कॉन्फ़िगरेशन संपादित करें:
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
फ़ाइल में ये पंक्तियाँ डालें:
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
सिंटैक्स जाँचें और रीलोड करें:
sudo sshd -t && sudo systemctl reload ssh
5. फ़ायरवॉल सक्षम करें
UFW सबसे सरल विकल्प है। पहले SSH की अनुमति दें, फिर फ़ायरवॉल चालू करें:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp # only if you run a web server
sudo ufw enable
sudo ufw status verbose
केवल उन सेवाओं के पोर्ट खोलें जो आप सचमुच चलाते हैं। बाकी सब डिफ़ॉल्ट रूप से बंद रहता है।
6. fail2ban जोड़ें
Fail2ban लॉग देखता है और उन एड्रेस को अस्थायी रूप से बैन करता है जो बार-बार लॉगिन में विफल होते हैं।
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
SSH के लिए डिफ़ॉल्ट समझदारी भरे हैं। क्योंकि आपने पहले ही पासवर्ड बंद कर दिए हैं, यह ज़्यादातर लॉग का शोर और बेकार CPU खर्च घटाता है।
7. स्वचालित सुरक्षा अपडेट चालू करें
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
यह सुरक्षा पैच अपने-आप इंस्टॉल करता है। कर्नेल अपडेट के लिए कभी-कभी रीबूट करें, या टूल को शांत समय पर करने दें।
8. जाँचें कि क्या सुन रहा है
sudo ss -tulpn
0.0.0.0 पर सुन रही कोई भी ऐसी चीज़ जिसकी आपको उम्मीद नहीं थी, जाँच के लायक है। केवल स्थानीय उपयोग वाली सेवाओं (डेटाबेस, कैश, एडमिन पैनल) को 127.0.0.1 पर सुनना चाहिए।
9. बुनियादी निगरानी और बैकअप
- लॉग देखें समय-समय पर
journalctl -u ssh --since todayके साथ। - संसाधन जाँचें
htopऔरdf -hके साथ ताकि भरी हुई डिस्क या बेकाबू प्रोसेस आपको चौंकाए नहीं। - बैकअप लें। बड़े बदलावों से पहले सर्वर का स्नैपशॉट लें और जो कुछ दोबारा नहीं बनाया जा सकता उसकी ऑफ़-सर्वर कॉपी रखें।
आगे क्या करें
अब आपके पास ऐसा सर्वर है जिसमें डिफ़ॉल्ट की तुलना में घुसना कहीं कठिन है। यहाँ से, सॉफ़्टवेयर अपडेटेड रखें, हर सेवा को उसके अपने अनधिकृत यूज़र के रूप में चलाएँ, और केवल वही उजागर करें जो ज़रूरी हो। अगर आप सर्वर तक निजी टनल चाहते हैं, तो हमारी WireGuard सेट अप करना गाइड अच्छा अगला कदम है।
अक्सर पूछे जाने वाले प्रश्न
नए VPS पर सबसे पहले क्या करना चाहिए?
पैकेज अपडेट करें, नॉन-रूट यूज़र बनाएँ, SSH कीज़ पर जाएँ, पासवर्ड लॉगिन बंद करें और फ़ायरवॉल चालू करें।
क्या मुझे SSH पोर्ट बदलना चाहिए?
इससे लॉग का शोर घटता है, पर यह असली सुरक्षा नहीं है। कीज़ और फ़ायरवॉल कहीं ज़्यादा मायने रखते हैं।