VPS-ல் SSH பாதுகாப்பை எப்படி வலுவாக்குவது
VPS-ல் SSH-ஐ வலுவாக்க: key-only login, root மற்றும் கடவுச்சொல் உள்நுழைவை முடக்கி, Fail2ban மற்றும் VPN மூலம் கூடுதல் பாதுகாப்பு படிப்படியாக விளக்கப்பட்டுள்ளது.
SSH பாதுகாப்பை வலுவாக்க வேண்டிய முதல் காரணம்
உங்கள் சர்வரை நீங்கள் கட்டுப்படுத்துவது SSH மூலமே. எனவே ஒவ்வொரு தாக்குநரும் முதலில் முயற்சிக்கும் பூட்டு இதுவே. ஒரு VPS ஆன்லைனில் வந்ததும், போர்ட் 22-ல் பயனர்பெயர்கள் மற்றும் கடவுச்சொற்களை ஊகிக்க ஸ்கேனர்கள் தொடங்குகின்றன. சில நிமிடங்களிலேயே உங்கள் லாக்குகளில் இதை நீங்கள் காணலாம். SSH-ஐ வலுவாக்குவது என்பது அவர்கள் ஊகிக்கக்கூடியவற்றை நீக்குவதாகும்: கடவுச்சொல் உள்நுழைவை முற்றிலுமாக முடக்குங்கள், root உள்நுழைவை முடக்குங்கள், மேலும் கிரிப்டோகிராஃபிக் கீகளை மட்டும் அனுமதிக்கவும். அப்படி செய்தவுடன், தொடர்ச்சியான ஊகங்கள் வெற்றிபெற முடியாது, ஏனெனில் கண்டுபிடிக்க கடவுச்சொல் ஏதும் இருக்காது.
SSH ஏற்கனவே சரியாக இயங்குகிறது என்று இது கருதுகிறது. நீங்கள் உள்நுழைய முடிந்தால், அதை வலுவாக்கலாம். படிகளை வரிசையாகச் செய்யுங்கள். புதிய செஷன் வெற்றிகரமாக இயங்கும் வரை தற்போதைய செஷனைத் திறந்தே வைத்திருங்கள். இதனால் ஒரு தவறு உங்களை ஒருபோதும் வெளியே பூட்டாது.
படி 1: முதலில் விசை அங்கீகாரம் செயல்படுகிறதா என்பதை உறுதிப்படுத்துக
விசை அங்கீகாரம் கடவுச்சொல்லை ஒரு விசை ஜோடியால் மாற்றுகிறது: உங்கள் கணினியில் இருக்கும் தனிப்பட்ட விசை மற்றும் சேவையகத்தில் வைக்கும் பொது விசை. தனிப்பட்ட விசை உங்கள் கணினியை விட்டு வெளியேறாமலேயே அதை நீங்கள் வைத்திருப்பதை சேவையகம் நிரூபிக்கிறது. கடவுச்சொற்களை முடப்பதற்கு முன், விசைகள் செயல்படுகின்றனவா என்பதை உறுதிப்படுத்திக்கொள்ளுங்கள். இல்லையென்றால் நீங்கள் பூட்டப்பட்டுவிடுவீர்கள்.
உங்களிடம் விசை இல்லையென்றால், உங்கள் கணினியில் ஒரு விசையை உருவாக்குங்கள்:
ssh-keygen -t ed25519பொது விசையை சேவையகத்திற்கு நகலெடுத்து வையுங்கள்:
ssh-copy-id user@your-serverபிறகு புதிய SSH அமர்வைத் திறக்கவும். கடவுச்சொல் கேட்காமல் உள்ளே அனுமதித்தால், உங்கள் விசை செயல்படுகிறது. கடவுச்சொற்களை முடப்பது பாதுகாப்பானது. விசைகள் உங்களுக்குப் புதியதென்றாலோ, அல்லது நீங்கள் ஒன்றுக்கு மேற்பட்ட கணினிகளைப் பயன்படுத்தினாலோ, SSH விசை நிர்வாக அடிப்படைகள் முழு மாதிரியை விளக்குகிறது: ஒவ்வொரு சாதனத்திற்கும் ஒரு விசை, sshd கோரும் அனுமதிகள், மற்றும் மடிக்கணினி தொலைந்தால் ஒரு விசையை எப்படி ரத்து செய்வது.
படி 2: drop-in கோப்பு மூலம் sshd-ஐ பலப்படுத்தவும்
/etc/ssh/sshd_config கோப்பை நேரடியாகத் திருத்த வேண்டாம். Ubuntu 24.04 ஆனது /etc/ssh/sshd_config.d/ இலிருந்து drop-in கோப்புகளைப் படிக்கிறது. அங்கு ஒரு சிறிய கோப்பு வைப்பது சுத்தமானது. இது தொகுப்பு மேம்படுத்தல்களில் மாறாமல் இருக்கும். ஏதேனும் தவறு நிகழ்ந்தால் இதனை எளிதாக நீக்கலாம். கோப்பின் பெயர் முக்கியம்: sshd ஒவ்வொரு அமைப்பிற்கும் அது படிக்கும் முதல் மதிப்பைத் தக்க வைத்துக் கொள்கிறது. Ubuntu cloud படிமங்கள் இந்த அடைவில் 50-cloud-init.conf உடன் PasswordAuthentication yes கொண்டு வரப்படுகின்றன. உங்கள் கோப்பிற்கு 00- என்று பெயரிடுங்கள். அப்போது அது முந்தைய கோப்பிற்கு முன்பாக வரிசைப்படுத்தப்பட்டு வெற்றி பெறும். ஒரு 99- கோப்பு மௌனமாகத் தோல்வியடையும். ஒன்றை உருவாக்கவும்:
sudo nano /etc/ssh/sshd_config.d/00-hardening.confஇதனை உள்ளே சேர்க்கவும்:
# Key-only login: no passwords to guess.
PasswordAuthentication no
KbdInteractiveAuthentication no
# No direct root login. Log in as your user, then use sudo.
PermitRootLogin noஒவ்வொரு வரியும் ஒரு வாயிலை மூடுகிறது. PasswordAuthentication no மிக முக்கியமானது: கடவுச்சொற்கள் முடக்கப்பட்டிருப்பதால், brute-force தாக்குதலுக்கு எதிராகச் செயல்பட எதுவும் இல்லை. KbdInteractiveAuthentication no இரண்டாவது கடவுச்சொல்-பாணி பாதையை மூடுகிறது. PermitRootLogin no என்பதன் பொருள், தாக்குபவர் உங்கள் பயனர்பெயரை அறிந்து உங்கள் key-ஐ வைத்திருக்க வேண்டும். ஒவ்வொரு கணினியிலும் இருக்கும் root கணக்கை மட்டும் இலக்காகக் கொள்வது போதாது.
படி 3: கட்டமைப்பைச் சோதித்து, பின் மீளேற்றவும்
இடம்பெயர்ந்த தட்டச்சு சேவையைச் சேதப்படுத்தாது என்பதற்காக, கட்டமைப்பைப் பயன்படுத்துவதற்கு முன் அதில் உள்ள பிழைகளைச் சரிபார்க்கவும்:
sudo sshd -tஇது எதையும் அச்சிடவில்லை என்றால், கட்டமைப்பு செல்லுபடியானது. SSH-ஐ மீளேற்றவும்:
sudo systemctl reload sshபின் sshd உண்மையில் பயன்படுத்தும் அமைப்புகளைச் சரிபார்க்கவும்; இது வேறொரு கோப்பால் மீறப்பட்ட drop-in ஒன்றை நீங்கள் கண்டறிய உதவும்:
sudo sshd -T | grep -Ei 'passwordauthentication|permitrootlogin'இரண்டும் no எனக் காட்ட வேண்டும். இப்போது, உங்கள் தற்போதைய அமர்வை மூடாமல், வேறொரு terminal-இலிருந்து புதிய அமர்வொன்றைத் திறக்கவும். உங்கள் key-ஐக் கொண்டு அது உள்நுழையச் செய்தால், வேலை முடிந்தது. ஏதேனும் பிழை இருந்தால், அதைத் திருத்த உங்கள் முதல் அமர்வு இன்னும் திறந்திருக்கும். இந்த ஒன்றுடன் ஒன்று ஒன்றாக இருப்பதுதான் பாதுகாப்பு வலைப்பின்னல், ஆகையால் இதை ஒருபோதும் தவறவிடாதீர்கள்.
படி 4: விருப்பத்தேர்வான இயல்புக்கு மாறான போர்ட்
SSH-ஐ போர்ட் 22-இல் இருந்து 2222 போன்ற ஒரு போர்ட்டிற்கு மாற்றுவது எந்தப் பயனுள்ள பாதுகாப்பையும் தருவதில்லை. ஏனெனில் ஒரு உறுதியான தாக்குநர் அனைத்து போர்ட்களையும் ஸ்கேன் செய்கிறார். இது செய்வது லாக் ஒலியைக் குறைப்பதுதான். ஏனெனில் பெரும்பாலான தானியங்கி ஸ்கேனர்கள் போர்ட் 22-ஐ மட்டுமே முயற்சிக்கின்றன. இது வேண்டும் என்றால், உங்கள் drop-in கோப்பில் Port 2222-ஐ சேர்க்கவும். முதலில் ஃபயர்வாலில் புதிய போர்ட்டை அனுமதிக்கவும். பிறகு sudo systemctl daemon-reload && sudo systemctl restart ssh.socket-ஐ இயக்கி ssh -p 2222 மூலம் இணைக்கவும். Ubuntu 24.04-இல், கேட்கும் போர்ட்டை ssh.socket வைத்திருக்கிறது. எனவே வெறும் reload ssh sshd-ஐ போர்ட் 22-இலேயே விட்டுவிடும். சாக்கெட்டை மறுதொடக்கம் செய்வதுதான் புதிய போர்ட்டை ஏற்கிறது. இதை பாதுகாப்பு என்று அல்லாமல் ஒரு நேர்த்தியாகப் பார்க்கவும்.
படி 5: மேலதிக பாதுகாப்புகளை அடுக்குக
வலுவூட்டப்பட்ட SSH keys அடித்தளம். அவற்றின் மேல் இன்னும் இரண்டு அடுக்குகள் உள்ளன.
Fail2ban உங்கள் logs-ஐ கவனிக்கிறது. தொடர்ந்து தோல்வியடையும் addresses-ஐ இது தடுக்கிறது. இது scanner noise-ஐ குறைக்கிறது. மேலும், அவற்றை ஆரம்பத்திலேயே வெளியேற்றுகிறது. இது key-only auth உடன் இயல்பாக இணைகிறது: SSH தாக்குதல்களைத் தடுக்க Ubuntu-ல் Fail2ban ஐப் பார்க்கவும்.
இன்னும் வலிமையானது, SSH-ஐ பொது இணையத்திலிருந்து முற்றிலும் விலக்கி வைப்பது. நீங்கள் SSH-ஐ WireGuard VPN க்குப் பின்னால் வைத்தால், port 22-ஐ tunnel-க்கு மட்டும் firewall செய்தால், VPN-ல் இல்லாதவர்களால் அதை அடையவே முடியாது. அப்போது brute-force ஊகித்தல் கடினமாவதற்கு பதிலாக சாத்தியமற்றதாகிவிடும். இவை அனைத்தும் கீழே ஒரு default-deny firewall உள்ளதென அனுமானிக்கின்றன. அது VPS-ல் UFW அமைக்கப்பட்டுள்ளது.
SSH என்பது ஒரு பெரிய சரிபார்ப்பு பட்டியலின் ஒரு வரி: புதிய VPS-ல் முதல் 10 நிமிடங்கள் இந்தப் படிகளை வரிசைப்படுத்துகிறது. மேலும், Ubuntu-ல் தானியங்கி பாதுகாப்பு புதுப்பிப்புகள் பின்னர் சேவையகத்தை patch செய்தபடி வைக்கின்றன.
FAQ
Ubuntu 24.04-ல் SSH-க்கான கடவுச்சொல் உள்நுழைவை நான் எப்படி முடக்குவது?
/etc/ssh/sshd_config.d/00-hardening.conf-ல் ஒரு drop-in கோப்பை உருவாக்கவும் (00 முன்னொட்டு அதை 50-cloud-init.conf-க்கு முன்பாக வரிசைப்படுத்துகிறது; இல்லையெனில் அதன் PasswordAuthentication yes மதிப்பு நிலைபெறும், ஏனெனில் sshd தான் முதலில் படிக்கும் மதிப்பையே ஏற்றுக்கொள்கிறது). அதில் PasswordAuthentication no மற்றும் KbdInteractiveAuthentication no ஆகியவற்றைச் சேர்க்கவும். சரிபார்க்க sudo sshd -t-ஐ இயக்கவும், பின்னர் sudo systemctl reload ssh-ஐ இயக்கவும். இதை நம்புவதற்கு முன்பு, புதிய அமர்வில் key உள்நுழைவு சரியாக வேலை செய்கிறதா என்பதை உறுதி செய்யவும். sshd_config-க்கு பதிலாக drop-in கோப்பைத் திருத்துவது தொகுப்பு மேம்படுத்தல்களில் தப்பிப்பிழைக்கும், மேலும் எளிதில் மீளமைக்கவும் முடியும்.
SSH வழியாக root உள்நுழைவை முடக்க வேண்டுமா?
ஆம். PermitRootLogin no என அமைக்கவும், இதனால் யாராலும் நேரடியாக root-ஆக உள்நுழைய முடியாது. உங்கள் சாதாரண பயனராக உள்நுழையவும், நிர்வாகப் பணிகளுக்கு sudo-ஐப் பயன்படுத்தவும். ஒவ்வொரு Linux சேவையகத்திலும் root இருப்பதால், அதை அணுகக்கூடியதாக விட்டால் தாக்குபவருக்கு ஒரு தெரிந்த பயனர்பெயர் கிடைக்கிறது. அதை முடக்கினால், உங்கள் கணக்குப் பெயரையும் உங்கள் key-ஐயும் அவர்கள் அறிந்திருக்க வேண்டும்.
SSH போர்ட்டை மாற்றினால் எனது சேவையகம் பாதுகாப்பாகுமா?
குறிப்பிடத்தக்க அளவுக்கு இல்லை. போர்ட் 22-ஐ விட்டு மாறுவது, 22-ஐ மட்டுமே ஆராயும் சோம்பேறி ஸ்கேனர்களிடமிருந்து உங்களை மறைக்கிறது. இது பதிவு இரைச்சலைக் குறைக்கிறது. ஆனால் உண்மையான தாக்குபவர் ஒவ்வொரு போர்ட்டையும் ஆராய்ந்து அதைக் கண்டுபிடித்துவிடுவார். உள்நுழைவு முறிவுகளை உண்மையில் தடுப்பது key-மட்டும் அங்கீகாரமே ஆகும். நீங்கள் போர்ட்டை மாற்றினால், முதலில் புதிய போர்ட்டை ஃபயர்வாலில் திறக்கவும், பின்னர் sudo systemctl daemon-reload && sudo systemctl restart ssh.socket-ஐ இயக்கவும்; Ubuntu 24.04-ல் socket-தான் listener-ஐக் கட்டுப்படுத்துகிறது, மேலும் சாதாரண reload sshd-ஐ போர்ட் 22-லேயே விட்டுவிடும்.
SSH key-களைப் பயன்படுத்தினால் எனக்கு Fail2ban தேவையா?
விருப்பப்பட்டது, ஆனால் இன்னும் பயனுள்ளது. key-மட்டும் அங்கீகாரத்துடன், கடவுச்சொல் யூகிப்பது வெற்றிபெற முடியாது, எனவே தாக்குபவர்களை வெளியே தடுப்பது Fail2ban அல்ல. இது ஒரே முகவரியிலிருந்து வரும் தொடர் தோல்விகளை வேகம் கட்டுப்படுத்துகிறது, இது உங்கள் பதிவுகளிலிருந்து ஸ்கேனர் இரைச்சலை நீக்குகிறது மற்றும் தொடர் தாக்குபவர்களை ஆரம்பத்திலேயே வெளியேற்றுகிறது; மெதுவான, பரவலான தாக்குதல் எப்படியும் அதன் தடை வரம்புக்குக் கீழேயே இருக்கும். இதை key அங்கீகாரத்துடன் இயக்கவும், மேலும் கருத்தில் கொள்ள SSH-ஐ ஒரு VPN-க்குப் பின்னால் வைக்கவும்.
SSH-லிருந்து நான் வெளியே பூட்டப்பட்டால் எப்படி மீட்பேன்?
உங்கள் வழங்குநரின் web console-ஐப் பயன்படுத்தவும், இது SSH வழியாகச் செல்லாத ஒரு serial அல்லது VNC இணைப்பு வழியாக சேவையகத்தை அடைகிறது. அங்கிருந்து நீங்கள் உள்நுழையலாம், sshd drop-in கோப்பைச் சரிசெய்யலாம், மேலும் சேவையை reload செய்யலாம். இதற்காகத்தான் நீங்கள் உங்கள் முதல் அமர்வை மூடுவதற்கு முன்பு இரண்டாவது terminal-ல் புதிய SSH அமைப்பைச் சோதிக்க வேண்டும், மேலும் கடவுச்சொற்களை முடிப்பதற்கு முன்பே key அங்கீகாரம் சரியாக வேலை செய்ய வேண்டும்.