Linux VPS හි SSH ආරක්ෂා කරන ආකාරය
පොදු VPS එකක් මාර්ගගත වූ මිනිත්තු කිහිපයක් ඇතුළත ස්වයංක්රීය login උත්සාහයන් ලැබේ. මෙම පියවර SSH වෙත පහර දීම වඩාත් දුෂ්කර කරයි. ඒවා Ubuntu හෝ Debian සඳහා ලියා ඇත; ඔබ තවමත් සේවාදායකයක් නිර්මාණය කර නොමැති නම්, Linux VPS එකක් කුලියට ගෙන පිරිසිදු image එකෙන් ආරම්භ කළ හැක. නව සැකසුම් දෙවන කවුළුවකින් පරීක්ෂා කරන තෙක් ඔබේ වත්මන් SSH session එක විවෘතව තබා ගන්න.
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මුරපද අක්රිය කිරීමට පෙර යතුර සමඟ එක් වරක් login වී එය ක්රියා කරන බව තහවුරු කරන්න.
3. මුරපද සහ root login අක්රිය කරන්න
/etc/ssh/sshd_config.d/99-hardening.conf සාදන්න:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3Syntax පරීක්ෂා කර සේවාව නැවත load කරන්න. Ubuntu සහ Debian හි සේවාවේ නම ssh වන අතර RHEL පදනම් වූ පද්ධතිවල එය sshd ලෙස හඳුන්වයි:
sudo sshd -t && sudo systemctl reload sshදෙවන terminal එකක් විවෘත කර නැවත login වන්න. ඉන් පසුව පමණක් පැරණි session එක වසන්න.
4. Firewall සක්රිය කරන්න
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseඔබට අවශ්ය ports පමණක් විවෘත කරන්න, උදාහරණයක් ලෙස web server එකක් සඳහා 80 සහ 443. Cloud console හි firewall rule එකක් මගින් 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 port වෙනස් කිරීම log noise අඩු කරයි, නමුත් එය තනිවම ආරක්ෂාව සඳහා පියවරක් නොවේ.
- පෞද්ගලික යතුර passphrase එකකින් ආරක්ෂා කර එහි backup එකක් ආරක්ෂිත ස්ථානයක තබා ගන්න.
lastසහsudo journalctl -u ssh --since todayසමඟ logins සමාලෝචනය කරන්න.- සේවාදායකය සකසා අවසන් වූ පසු snapshot එකක් ගන්න, එවිට පිරිසිදු baseline එකක් නැවත ප්රතිෂ්ඨාපනය කළ හැක.
ඔබට ප්රවේශය අහිමි වුවහොත්, සැකසුම් නිවැරදි කිරීමට cloud panel හි browser console එක භාවිතා කර login වන්න. ඊළඟ ස්ථරය ගැන DDoS ආරක්ෂණ මාර්ගෝපදේශය ආවරණය කරයි.
නිතර අසන ප්රශ්න
root login අක්රිය කිරීම ආරක්ෂිත ද?
ඔව්, පළමුව sudo පරිශීලකයෙක් සාදා එහි යතුර ක්රියා කරන බව පරීක්ෂා කළහොත්. sudo සමඟ තවමත් පරිපාලන විධාන ක්රියාත්මක කළ හැක.
යතුරු පමණක් භාවිතා කරන්නේ නම් Fail2ban අවශ්ය ද?
එය විකල්පයකි. මුරපද login අක්රිය කළ විට, brute force සාර්ථක විය නොහැක, නමුත් Fail2ban log noise සහ load අඩු කරයි.
SSH යතුර නැති වුවහොත් කුමක් කළ යුතු ද?
Cloud panel හි console එක භාවිතා කර login වන්න, ~/.ssh/authorized_keys වෙත නව public key එකක් එකතු කර පැරණි එක ඉවත් කරන්න.