Linux VPS-ൽ SSH എങ്ങനെ സുരക്ഷിതമാക്കാം
പൊതുവായ VPS ഓൺലൈനിൽ വന്ന് മിനിറ്റുകൾക്കുള്ളിൽ തന്നെ സ്വയംചാലിത ലോഗിൻ ശ്രമങ്ങൾ ലഭിക്കാൻ തുടങ്ങും. ഈ ഘട്ടങ്ങൾ SSH-നെ ആക്രമിക്കുന്നത് വളരെ ബുദ്ധിമുട്ടുള്ളതാക്കുന്നു. ഇവ Ubuntu അല്ലെങ്കിൽ Debian-നായി എഴുതിയതാണ്; നിങ്ങൾ ഇതുവരെ സെർവർ സൃഷ്ടിച്ചിട്ടില്ലെങ്കിൽ, ഒരു Linux VPS വാടകയ്ക്ക് എടുത്ത് ശുദ്ധമായ ഇമേജിൽ നിന്ന് തുടങ്ങാം. പുതിയ SSH ക്രമീകരണങ്ങൾ രണ്ടാമത്തെ വിൻഡോയിൽ നിന്ന് പരീക്ഷിച്ചു ഉറപ്പാക്കുന്നതുവരെ നിലവിലെ SSH സെഷൻ തുറന്നു വെക്കുക.
1. sudo അധികാരമുള്ള സാധാരണ ഉപയോക്താവിനെ സൃഷ്ടിക്കുക
adduser deploy
usermod -aG sudo deploy2. പാസ്വേഡിന് പകരം SSH കീകൾ ഉപയോഗിക്കുക
നിങ്ങളുടെ സ്വന്തം കമ്പ്യൂട്ടറിൽ:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPപാസ്വേഡ് ഓഫാക്കുന്നതിന് മുമ്പ്, കീ ഉപയോഗിച്ച് ഒരിക്കൽ ലോഗിൻ ചെയ്ത് അത് പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.
3. പാസ്വേഡ്, root ലോഗിൻ ഓഫാക്കുക
/etc/ssh/sshd_config.d/99-hardening.conf എന്ന ഫയൽ സൃഷ്ടിക്കുക:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3സിന്റാക്സ് പരിശോധിച്ച് സേവനം റീലോഡ് ചെയ്യുക. Ubuntu, Debian എന്നിവയിൽ സേവനത്തിന്റെ പേര് ssh ആണ്; RHEL അടിസ്ഥാനമായ സിസ്റ്റങ്ങളിൽ ഇത് sshd ആണ്:
sudo sshd -t && sudo systemctl reload sshരണ്ടാമത്തെ ടെർമിനൽ തുറന്ന് വീണ്ടും ലോഗിൻ ചെയ്യുക. അതിനു ശേഷം മാത്രം പഴയ സെഷൻ അടയ്ക്കുക.
4. ഫയർവാൾ പ്രവർത്തനക്ഷമമാക്കുക
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseആവശ്യമുള്ള പോർട്ടുകൾ മാത്രം തുറക്കുക; ഉദാഹരണത്തിന് വെബ് സെർവറിന് 80, 443. ക്ലൗഡ് കൺസോളിലെ ഫയർവാൾ നിയമം ഉപയോഗിച്ച് SSH-നെ നിങ്ങളുടെ സ്വന്തം IP വിലാസത്തിൽ മാത്രം പരിമിതപ്പെടുത്താനും കഴിയും.
5. ആവർത്തിച്ചുള്ള പരാജയങ്ങൾ Fail2ban ഉപയോഗിച്ച് തടയുക
sudo apt install -y fail2ban/etc/fail2ban/jail.local എന്ന ഫയൽ സൃഷ്ടിക്കുക:
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1hsudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. സുരക്ഷാ അപ്ഡേറ്റുകൾ സ്വയംചാലിതമായി ഇൻസ്റ്റാൾ ചെയ്യുക
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades7. ഐച്ഛിക കൂട്ടിച്ചേർക്കലുകൾ
- SSH പോർട്ട് മാറ്റുന്നത് ലോഗ് ബഹളം കുറയ്ക്കുന്നു, പക്ഷേ അത് മാത്രം ഒരു സുരക്ഷാ നടപടിയല്ല.
- സ്വകാര്യ കീ ഒരു പാസ്ഫ്രേസ് ഉപയോഗിച്ച് സംരക്ഷിക്കുകയും സുരക്ഷിത സ്ഥലത്ത് ഒരു ബാക്കപ്പ് സൂക്ഷിക്കുകയും ചെയ്യുക.
lastകമാൻഡുംsudo journalctl -u ssh --since todayകമാൻഡും ഉപയോഗിച്ച് ലോഗിനുകൾ പരിശോധിക്കുക.- സെർവർ ക്രമീകരിച്ച ശേഷം ഒരു സ്നാപ്ഷോട്ട് എടുക്കുക; അങ്ങനെ വൃത്തിയുള്ള അടിസ്ഥാന അവസ്ഥ തിരികെ കൊണ്ടുവരാം.
പുറത്തായിപ്പോയാൽ, ക്ലൗഡ് പാനലിലെ ബ്രൗസർ കൺസോൾ ഉപയോഗിച്ച് ലോഗിൻ ചെയ്ത് ക്രമീകരണം ശരിയാക്കുക. അടുത്ത സുരക്ഷാ പാളിയെക്കുറിച്ച് ഞങ്ങളുടെ DDoS സംരക്ഷണ ഗൈഡ് വിശദീകരിക്കുന്നു.
പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ
root ലോഗിൻ ഓഫാക്കുന്നത് സുരക്ഷിതമാണോ?
അതെ, ആദ്യം ഒരു sudo ഉപയോക്താവിനെ സൃഷ്ടിച്ച് അതിന്റെ കീ പ്രവർത്തിക്കുന്നുണ്ടെന്ന് പരീക്ഷിച്ചാൽ. sudo ഉപയോഗിച്ച് അഡ്മിനിസ്ട്രേറ്റീവ് കമാൻഡുകൾ ഇപ്പോഴും പ്രവർത്തിപ്പിക്കാം.
കീകൾ മാത്രം ഉപയോഗിക്കുന്നെങ്കിലും Fail2ban വേണോ?
അത് ഐച്ഛികമാണ്. പാസ്വേഡ് ലോഗിൻ ഓഫാക്കിയാൽ ബ്രൂട്ട് ഫോഴ്സ് വിജയിക്കില്ല, പക്ഷേ Fail2ban ലോഗ് ബഹളവും ലോഡും കുറയ്ക്കുന്നു.
SSH കീ നഷ്ടപ്പെട്ടാൽ എന്ത് ചെയ്യണം?
ക്ലൗഡ് പാനലിലെ കൺസോൾ ഉപയോഗിച്ച് ലോഗിൻ ചെയ്ത്, പുതിയ പബ്ലിക് കീ ~/.ssh/authorized_keys-ൽ ചേർക്കുക; പഴയത് നീക്കം ചെയ്യുക.