नए VPS पर पहले कदम ये हैं: लॉग इन करें, सिस्टम अपडेट करें, SSH की के साथ एक sudo यूज़र बनाएं, hostname और टाइम ज़ोन सेट करें, छोटे प्लान पर swap जोड़ें, और फ़ायरवॉल चालू करें। इसमें लगभग 15 मिनट लगते हैं और इससे वे ज़्यादातर चीज़ें कवर हो जाती हैं जिन्हें हमलावर सबसे पहले आज़माते हैं।
नीचे की कमांड Ubuntu 24.04 और Debian 12 के लिए हैं। एंगल ब्रैकेट वाली वैल्यू और उदाहरण एड्रेस 203.0.113.10 को अपनी वैल्यू से बदलें।
1. पहली बार लॉग इन करें
सर्वर बनाते समय आप या तो SSH की चुनते हैं या ईमेल से भेजा गया root पासवर्ड। की के साथ:
ssh [email protected] # example address
पहला कनेक्शन आपसे होस्ट की फ़िंगरप्रिंट कन्फ़र्म करने को कहता है। yes टाइप करें। अगर आपने पासवर्ड इस्तेमाल किया है, तो वह पूछा जाएगा; उसे तुरंत passwd से बदल दें।
अगर आपके पास अभी की नहीं है, तो पहले SSH की कैसे बनाएं और इस्तेमाल करें पढ़ें। इसमें दो मिनट लगते हैं और यह पूरी तरह फ़ायदेमंद है।
2. सब कुछ अपडेट करें
नई इमेज हाल की होती हैं, लेकिन पैकेज तेज़ी से बदलते हैं। कुछ भी इंस्टॉल करने से पहले अपडेट करें:
apt update
apt full-upgrade -y
apt autoremove -y
अगर kernel अपडेट हुआ है, तो रीबूट करें:
[ -f /var/run/reboot-required ] && reboot
आधा मिनट रुकें और फिर से लॉग इन करें।
3. ऑटोमैटिक सिक्योरिटी अपडेट चालू करें
Ubuntu में unattended-upgrades पहले से आता है; Debian पर शायद इसे इंस्टॉल करना पड़े:
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades # answer "Yes"
यह रोज़ सिक्योरिटी फ़िक्स इंस्टॉल करता है। डिफ़ॉल्ट रूप से यह रीबूट नहीं करता। किसी शांत समय पर रीबूट की अनुमति देने के लिए /etc/apt/apt.conf.d/50unattended-upgrades एडिट करें:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
4. sudo वाला एक सामान्य यूज़र बनाएं
adduser deploy # pick any name
usermod -aG sudo deploy
root की authorised keys नए यूज़र को कॉपी करें ताकि आप उसी की से लॉग इन कर सकें:
mkdir -p /home/deploy/.ssh
cp /root/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys
आगे बढ़ने से पहले एक दूसरा टर्मिनल खोलें और टेस्ट करें:
ssh [email protected]
sudo whoami # should print: root
जब तक नया लॉगिन काम न करे, root सेशन खुला रखें।
5. hostname और टाइम ज़ोन सेट करें
sudo hostnamectl set-hostname web-1
sudo timedatectl set-timezone Europe/Berlin
timedatectl # check: "System clock synchronized: yes"
अगर sudo चेतावनी दे कि वह hostname रिज़ॉल्व नहीं कर पा रहा, तो उसे /etc/hosts में जोड़ें:
127.0.1.1 web-1
कई एडमिन लॉग की तुलना आसान बनाने के लिए सर्वरों को UTC पर रखते हैं। दोनों ठीक हैं; बस एक जैसा रखें।
6. छोटे सर्वरों पर swap जोड़ें
1 या 2 GB मेमोरी वाले प्लान को swap फ़ाइल से फ़ायदा होता है। पहले जाँचें:
swapon --show
free -h
अगर कुछ लिस्ट नहीं होता, तो 1 GB या 2 GB की फ़ाइल बनाएं:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
kernel को बताएं कि मेमोरी को प्राथमिकता दे और swap केवल दबाव में इस्तेमाल करे:
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swap.conf
sudo sysctl --system
7. फ़ायरवॉल चालू करें
आपके पास दो लेयर हैं, और आप दोनों इस्तेमाल कर सकते हैं।
सर्वर पर: UFW
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose
दूसरे पोर्ट केवल तब खोलें जब किसी सर्विस को उनकी ज़रूरत हो, उदाहरण के लिए वेब सर्वर के लिए sudo ufw allow 80,443/tcp।
सर्वर के आगे: क्लाउड फ़ायरवॉल
Wolkra फ़ायरवॉल ट्रैफ़िक को सर्वर तक पहुँचने से पहले फ़िल्टर करता है और लेबल के ज़रिए एक साथ कई सर्वरों पर लगाया जा सकता है। यह मुफ़्त है। एक आम सेटअप SSH केवल आपके ऑफ़िस या घर के एड्रेस से और HTTP/HTTPS कहीं से भी अनुमति देता है। देखें फ़ायरवॉल डॉक्स।
8. SSH को हार्डन करें
जब आपके sudo यूज़र के लिए की से लॉगिन काम करने लगे, तो पासवर्ड और root लॉगिन बंद कर दें। एक ड्रॉप-इन फ़ाइल बनाएं:
sudo tee /etc/ssh/sshd_config.d/10-hardening.conf >/dev/null <<'EOF'
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
EOF
sudo sshd -t && sudo systemctl reload ssh
sshd -t पहले सिंटैक्स जाँचता है, ताकि कोई टाइपो आपको लॉक आउट न करे। हार्डनिंग के सभी कदम Ubuntu सर्वर को सुरक्षित कैसे करें में हैं।
9. कुछ काम के टूल्स इंस्टॉल करें
sudo apt install -y curl wget git htop ncdu unzip ca-certificates
htopप्रोसेस और मेमोरी लाइव दिखाता है।ncdu /बताता है कि डिस्क किस चीज़ से भर रही है।journalctl -p warning -bपिछले बूट से अब तक की चेतावनियाँ दिखाता है।
10. अगर ईमेल भेजते हैं या साफ़ नाम चाहिए तो रिवर्स DNS सेट करें
अगर सर्वर मेल भेजता है या उसे वापस किसी hostname पर रिज़ॉल्व होना चाहिए, तो कंसोल में उसके IP के लिए PTR रिकॉर्ड सेट करें। पक्का करें कि फ़ॉरवर्ड DNS रिकॉर्ड (A या AAAA) उसी एड्रेस की ओर पॉइंट करता है। देखें IP एड्रेस।
11. बैकअप की योजना अभी बनाएं
नया सर्वर बैकअप तय करने का सबसे अच्छा समय है। Wolkra पर आप रोज़ाना ऑटोमैटिक बैकअप चालू कर सकते हैं (सर्वर की कीमत का 20%, 7 रिस्टोर पॉइंट) और जोखिम भरे बदलावों से पहले स्नैपशॉट ले सकते हैं। ज़रूरी डेटा के लिए सर्वर के बाहर भी एक कॉपी रखें। बैकअप स्ट्रैटेजी गाइड 3-2-1 नियम को व्यवहार में समझाती है।
12. वापस अंदर आने का रास्ता जानें
चीज़ें बिगड़ती हैं: कोई फ़ायरवॉल नियम ज़रूरत से ज़्यादा सख्त, SSH कॉन्फ़िग में कोई टाइपो। ऐसा होने से पहले नोट कर लें कि रेस्क्यू टूल्स कहाँ हैं:
- सर्वर व्यू में ब्राउज़र (VNC) कंसोल, जो बिना नेटवर्क एक्सेस के भी काम करता है;
- रेस्क्यू मोड, जो एक छोटा सिस्टम बूट करता है ताकि आप डिस्क माउंट करके फ़ाइलें ठीक कर सकें;
- रीबिल्ड, जो सर्वर ठीक न हो पाने पर इमेज दोबारा इंस्टॉल करता है।
चेकलिस्ट
- SSH की से लॉग इन किया
- अपडेट और रीबूट किया
- ऑटोमैटिक सिक्योरिटी अपडेट चालू
- sudo यूज़र बनाया और टेस्ट किया
- hostname और टाइम ज़ोन सेट
- छोटे प्लान पर swap
- UFW और/या क्लाउड फ़ायरवॉल चालू
- root लॉगिन और पासवर्ड बंद
- ज़रूरत हो तो रिवर्स DNS सेट
- बैकअप चालू
अब कुछ डिप्लॉय करें: आज़माएं Docker Compose, WordPress या Caddy रिवर्स प्रॉक्सी।
अक्सर पूछे जाने वाले सवाल
नए VPS पर सबसे पहले क्या करना चाहिए?
लॉग इन करें, सभी अपडेट इंस्टॉल करें, sudo अधिकार और SSH की वाला एक सामान्य यूज़र बनाएं, फिर फ़ायरवॉल चालू करें। बाकी सब बाद में हो सकता है।
क्या मुझे root अकाउंट इस्तेमाल करना चाहिए?
root का इस्तेमाल केवल पहले लॉगिन के लिए करें। रोज़ का काम sudo वाले सामान्य यूज़र से ज़्यादा सुरक्षित है, क्योंकि गलती के लिए स्पष्ट रूप से sudo लिखना पड़ता है और लॉग दिखाते हैं कि किसने क्या किया।
क्या VPS को swap की ज़रूरत है?
1 या 2 GB मेमोरी वाले छोटे सर्वरों को एक छोटी swap फ़ाइल से फ़ायदा होता है, जो मेमोरी के छोटे उछाल के दौरान kernel को प्रोसेस खत्म करने से रोकती है।
अपने सर्वर का IP एड्रेस कैसे पता करें?
यह कंसोल में सर्वर के ओवरव्यू में दिखता है। सर्वर पर ही ip -brief address चलाएं।
अगर मैं खुद को लॉक आउट कर दूं तो?
SSH या फ़ायरवॉल सेटिंग ठीक करने के लिए Wolkra कंसोल में ब्राउज़र कंसोल इस्तेमाल करें, या सर्वर को रेस्क्यू मोड में बूट करें।