புதிய VPS பாதுகாப்பு: முதல் 10 நிமிடங்கள்
புதிய VPS இணைந்ததும் ஸ்கேனர்கள் தாக்கும். இந்த ரன்புக் SSH keys அமைத்து root login முடக்கி firewall இயக்க 10 நிமிடங்களில் செய்யும் முழு வழிமுறை.
உங்கள் சேவையகத்தின் பாதுகாப்பு தீர்மானிக்கப்படுவது முதல் 10 நிமிடங்களில்தான்
புதிதாக வாங்கிய VPS பாதுகாப்பானது அல்ல. பொது IP கிடைத்ததுமே ஸ்கேனர்கள் உள்நுழைய முயற்சிக்கின்றன. இயல்புநிலை இமேஜ் அவற்றுக்கு ஒரு பெரிய இலக்கை வழங்குகிறது: root பெரும்பாலும் அணுகக்கூடியதாக இருக்கும், கடவுச்சொற்கள் அனுமதிக்கப்படும், ஃபயர்வால் இருக்காது, மேலும் எதுவும் காலண்டர் அடிப்படையில் பேட்ச் செய்யப்பட்டிருக்காது. இவை அனைத்தையும் மூட வெறும் பத்து நிமிடங்களும் சில கட்டளைகளும் போதும். நான் ஒவ்வொரு புதிய சேவையகத்திலும் எதையாவது நிறுவுவதற்கு முன்பு இயக்கும் ரன்புக் இதுதான்.
இதன் படிகள் ஒன்றையொன்று சார்ந்திருப்பதால் வரிசையாகச் செய்யவும். ஒவ்வொரு படியின் வழிகாட்டியும் இணைக்கப்பட்டுள்ளது; இந்தப் பக்கம் அவற்றை ஒன்றிணைக்கும் விரைவான பாதை.
நிமிடம் 1: அனைத்தையும் புதுப்பிக்கவும்
உங்கள் வழங்குநர் தந்த நற்சான்றிதழ்களுடன் root ஆக உள்நுழையவும். முதலில் செய்ய வேண்டியது சிஸ்டத்தை முழுமையாகப் புதுப்பிப்பது:
apt update && apt upgrade -yபேட்ச் செய்யப்படாத சேவையகம் எளிதில் தாக்கப்படக்கூடிய இலக்கு, எனவே இது முதலில் வருகிறது. இது முடிந்ததும், தானியங்கி பாதுகாப்பு புதுப்பிப்புகளை அமைக்கவும். இதனால் நீங்கள் நினைவில் வைக்காமலேயே சிஸ்டம் பேட்ச் செய்யப்பட்ட நிலையில் இருக்கும்.
நிமிடம் 2: sudo உடைய ஒரு சாதாரண பயனரை உருவாக்கவும்
root ஆகவே தொடர்ந்து வேலை செய்ய வேண்டாம். உங்களுக்காக ஒரு பயனரை உருவாக்கி sudo அணுகலை வழங்கவும்:
adduser matt
usermod -aG sudo mattஇனிமேல் இந்தப் பயராக உள்நுழைந்து நிர்வாகப் பணிகளுக்கு sudo ஐப் பயன்படுத்தவும். root ஆகவே இயங்குவது என்பது ஒவ்வொரு தவறும் ஒவ்வொரு ஊடுருவலும் வரம்பற்ற அதிகாரத்துடன் நிகழ்வதைக் குறிக்கிறது. அனுமதிகள் இல்லாத பயனராக இயங்குதல் என்பது இதைத் தடுக்கவே உருவாக்கப்பட்டது.
நிமிடம் 4: SSH விசைகளை அமைக்கவும்
கடவுச்சொற்களை யூகிக்க முடியும்; விசைகளை இல்லை. உங்கள் மடிக்கணினியில், விசை இன்னும் இல்லையென்றால், ஒன்றை உருவாக்கவும்:
ssh-keygen -t ed25519பின்னர் பொதுப் பகுதியை சேவையகத்திற்கு நகலெடுக்கவும்:
ssh-copy-id matt@YOUR_SERVERssh-copy-id க்கு புதிய பயருக்கான கடவுச்சொல் உள்நுழைவு இயங்குநிலையில் இருக்க வேண்டும்; அது ஏற்கனவே மூடப்பட்டிருந்தால், root இன் ~/.ssh/authorized_keys ஐ /home/matt/.ssh/authorized_keys க்குள் நகலெடுக்கவும் (matt க்கு சொந்தமானதாக), அல்லது உங்கள் பொது விசையை அந்தக் கோப்பில் கைமுறையாக ஒட்டவும்.
இந்தப் படிக்குப் பின்னால் உள்ள மாதிரி, அதாவது ஒரு சாதனத்திற்கு ஒரு விசை, விசை உள்நுழைவைச் செயலிழக்கச் செய்யும் அனுமதிகள், மற்றும் இழந்த விசையை ரத்துசெய்தல் ஆகியவை SSH விசை நிர்வாக அடிப்படைகள் பக்கத்தில் விளக்கப்பட்டுள்ளன.
விசையைப் பயன்படுத்தி matt ஆக வெளியேறி மீண்டும் உள்நுழைந்து, அடுத்த படியைத் தொடுவதற்கு முன்பு அது சரியாக வேலை செய்கிறதா என்பதை உறுதிப்படுத்திக் கொள்ளவும். விசையுடன் உள்நுழைவதை உறுதிப்படுத்திக் கொள்ளாமல் SSH ஐப் பூட்டுவது தான் நிறைய பேர் தாங்களாகவே வெளியே பூட்டிக்கொள்ளும் வழி.
நிமிடம் 6: root உள்நுழைவு மற்றும் கடவுச்சொற்களை மூடவும்
உங்கள் விசை இப்போது வேலை செய்கிறது. ஸ்கேனர்கள் சார்ந்திருக்கும் இரண்டு வாசல்களையும் இப்போது மூடவும். பேக்கேஜ் மேம்படுத்தல்கள் அதை மேலெழுதாதபடி ஒரு drop-in கோப்பைப் பயன்படுத்தவும். அதற்கு 00- என்று பெயரிடவும். இதனால் அது 50-cloud-init.conf க்கு முன்பு வரிசைப்படுத்தப்படும்; Ubuntu கிளவுட் இமேஜ்கள் 50-cloud-init.conf ஐ PasswordAuthentication yes உடன் வழங்குகின்றன; sshd தான் படிக்கும் முதல் மதிப்பைத் தக்கவைத்துக்கொள்ளும், எனவே பிற்பகுதியில் வரிசைப்படுத்தப்படும் கோப்பு மௌனமாக இழக்கப்படும்:
sudo nano /etc/ssh/sshd_config.d/00-hardening.confPasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin noபின்னர் SSH ஐ மீண்டும் ஏற்றவும்:
sudo systemctl restart sshபின்னர் sshd உண்மையில் பயன்படுத்தும் அமைப்புகளைச் சரிபார்க்கவும், இதனால் தோற்றுப்போன ஒரு drop-in உங்களை ஏமாற்ற முடியாது:
sudo sshd -T | grep -Ei 'passwordauthentication|permitrootlogin'கடவுச்சொற்கள் மூடப்பட்டு root உள்நுழைவு நீக்கப்பட்டதும், உங்கள் சேவையகத்திற்கு எதிரான தொடர்ச்சியான brute-force போக்குவரத்து வெற்றி பெற முடியாது. விருப்பப்பட்ட போர்ட் மாற்றம் உட்பட முழுமையான வழிமுறை VPS இல் SSH வன்பொருத்தம் பக்கத்தில் உள்ளது.
நிமிடம் 8: ஃபயர்வாலை இயக்கவும்
உள்வரும் அனைத்தையும் இயல்புநிலையாக நிராகரிக்கவும், பிறகு நீங்கள் தேவைப்படுவதை மட்டும் அனுமதிக்கவும். ஃபயர்வாலை இயக்குவதற்கு முன்பு SSH ஐ அனுமதிக்கவும், இல்லையென்றால் உங்கள் சொந்த இணைப்பு துண்டிக்கப்படும்:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableநீங்கள் உண்மையில் இயக்கும் எந்தச் சேவைக்கும் allow விதிகளைச் சேர்க்கவும், உதாரணமாக ஒரு வலைத்தளத்திற்கு 80/tcp மற்றும் 443/tcp. IPv4 மற்றும் IPv6 இரண்டும் கவர் செய்யப்பட்டுள்ளதா என்பதைச் சரிபார்க்கவும், ஏனெனில் IPv4 ஐ மட்டும் வடிகட்டும் ஃபயர்வால் IPv6 பக்கத்தை முழுவதுமாகத் திறந்தே விடும். முழுமையான வழிகாட்டி VPS இல் ஃபயர்வால்கள் 101.
நிமிடம் 10: Fail2ban மூலம் ஸ்கேனர்களை மெதுவாக்கவும்
இறுதியாக, உங்கள் போர்ட்களைத் தொடர்ந்து தாக்கும் முகவரிகளை வெளியேற்ற Fail2ban ஐச் சேர்க்கவும்:
sudo apt install -y fail2banUbuntu 24.04 இல் இயல்புநிலை நிறுவல் முதல் பூட்டிலிருந்தே SSH ஐப் பாதுகாக்கிறது. விசைகள் ஏற்கனவே கட்டாயமாக்கப்பட்டிருப்பதால், இது உங்கள் முதன்மை பாதுகாப்பு அல்ல; மாறாக இது பதிவு இரைச்சலைக் குறைத்து மீண்டும் மீண்டும் தாக்குபவர்களைத் தடுக்கும் ஒரு கூடுதல் பாதுகாப்பு.
உங்கள் சரிபார்ப்பு பட்டியல்
இதுதான் அந்த ரன்புக். ஒவ்வொரு கட்டுப்பாட்டையும் குறித்து, ஒவ்வொரு படிக்கும் சரியான கட்டளையுடன் சேவையகத்துடன் வைத்திருக்கக்கூடிய தனிப்பயனாக்கப்பட்ட சரிபார்ப்பு பட்டியலை உருவாக்க கீழே உள்ள ஜெனரேட்டரைப் பயன்படுத்தவும்:
ஒவ்வொரு புதிய சேவையகத்திற்கும் இதை ஒருமுறை படித்துச் செய்தால் முழு செயல்முறையும் பழக்கமாகிவிடும். இப்போது செலவிடும் பத்து நிமிடங்கள், சேவையகம் தாக்கப்பட்ட பிறகு வரும் மிக மோசமான மதிய நேரத்தை உங்களுக்கு மிச்சப்படுத்தும்.
அத்தியாவசியங்கள் இடம்பெற்றதும், Ubuntu இல் தானியங்கி பாதுகாப்பு புதுப்பிப்புகள் நீங்கள் மீண்டும் உள்நுழையாமலேயே சேவையகத்தை நடப்பு நிலையில் வைத்திருக்கும்.
FAQ
ஒரு புதிய VPS இல் நான் முதலில் என்ன செய்ய வேண்டும்?
apt update && apt upgrade -y உடன் சிஸ்டத்தைப் புதுப்பிக்கவும், பிறகு sudo உடைய ஒரு சாதாரண பயனரை உருவாக்கி root ஆக வேலை செய்வதை நிறுத்தவும். அதன்பிறகு, SSH விசைகளை அமைக்கவும், root உள்நுழைவு மற்றும் கடவுச்சொல் அங்கீகாரத்தை முடக்கவும், இயல்புநிலை-நிராகரிப்பு ஃபயர்வாலை இயக்கவும், மற்றும் Fail2ban ஐ நிறுவவும். இந்த வரிசையில் செய்வது என்பது ஒவ்வொரு படியும் உங்களை வெளியே பூட்டிக்கொள்ளாமல் பாதுகாப்பாக எடுக்கலாம் என்பதைக் குறிக்கிறது.
SSH வன்பொருத்தம் செய்யும்போது வெளியே பூட்டிக்கொள்வதை எப்படி தவிர்ப்பது?
கடவுச்சொற்கள் அல்லது root ஐ முடக்குவதற்கு முன்பு உங்கள் SSH விசை உள்நுழைவை அமைத்து சோதிக்கவும். விசையுடன் வெளியேறி மீண்டும் உள்நுழைந்து அது சரியாக வேலை செய்கிறதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், பிறகுதான் PasswordAuthentication மற்றும் PermitRootLogin ஐ மூடவும். ஃபயர்வாலை இயக்கும்போது, ufw enable ஐ இயக்குவதற்கு முன்பு போர்ட் 22 ஐ அனுமதிக்கவும். நீங்கள் வெளியே பூட்டப்பட்டால், உங்கள் வழங்குநரின் வலை கன்சோல் SSH இல்லாமலே உங்களை மீண்டும் உள்ளே அழைத்துச் செல்லும்.
சிறிய சேவையகத்தில் இவை அனைத்தும் எனக்கு உண்மையில் தேவைதானா?
ஆம், ஏனெனில் உங்கள் சேவையகம் எவ்வளவு சிறியது என்பதை ஸ்கேனர்கள் கவலைப்படுவதில்லை. அவை ஒவ்வொரு பொது IP ஐயும் ஒரே மாதிரியாக முயற்சிக்கின்றன. முழு ரன்புக்கும் சுமார் பத்து நிமிடங்கள் ஆகும், மேலும் இது எளிய வழிகளை அகற்றுகிறது: root உள்நுழைவு இல்லை, கடவுச்சொல் யூகிப்பு இல்லை, நீங்கள் தேர்ந்தெடுக்காத எதுவும் வெளிப்படையாக இல்லை, மற்றும் அறியப்பட்ட பிழைகள் தானாகவே பேட்ச் செய்யப்படுகின்றன.
மிக முக்கியமான படி எது?
root உள்நுழைவு முடக்கப்பட்ட விசை-மட்டும் SSH. ஒரு புதிய VPS மீதான பெரும்பாலான தாக்குதல்கள் root க்கு எதிரான தானியங்கி கடவுச்சொல் யூகிப்புகளே. இரண்டையும் மூடினால் அந்த முழு தாக்குதல் வகையும் சாத்தியமற்றதாகிறது. ஃபயர்வால் மற்றும் Fail2ban பிறகு வெளிப்படுவதை வரம்பிட்டு மீதமுள்ளவற்றை மெதுவாக்குகின்றன.
சேவையகம் உண்மையில் பூட்டப்பட்டுள்ளதா என்பதை எப்படி உறுதிப்படுத்துவது?
நம்புவதற்கு முன்பு மூன்றைக் கைமுறையாகச் சரிபார்க்கவும். sudo ss -tlnp ஐ இயக்கி, நீங்கள் திறக்க விரும்பிய போர்ட்கள் மட்டுமே பொது முகவரியில் கேட்கின்றன என்பதை உறுதிப்படுத்திக் கொள்ளவும், நீங்கள் மறந்த எந்த 0.0.0.0 அல்லது [::] சேவையும் இல்லை என்பதையும் உறுதிப்படுத்திக் கொள்ளவும். sudo ufw status verbose ஐ இயக்கி, இயல்புநிலை உள்வரும் கொள்கை deny என்பதையும் சாதாரண மற்றும் (v6) விதிகள் இரண்டும் இருப்பதையும் உறுதிப்படுத்திக் கொள்ளவும். மேலும், முதல் SSH அமர்வை மூடுவதற்கு முன்பு எப்போதும் ஒரு இரண்டாவது SSH அமர்வைத் திறக்கவும், இதனால் SSH அமைப்பில் ஒரு தவறு உங்களை சேவையகத்திலிருந்து வெளியே பூட்ட முடியாது. மூன்றும் சரியாக இருந்தால், அடிப்படைகள் இடம்பெற்றுவிட்டன.