Jinsi ya kulinda SSH kwenye Linux VPS
VPS ya umma hupokea majaribio ya kuingia ya kiotomatiki ndani ya dakika chache tangu inapowashwa. Hatua hizi hufanya SSH kuwa ngumu zaidi kushambuliwa. Zimeandikwa kwa Ubuntu au Debian. Ikiwa bado hujaunda seva, unaweza kodisha VPS ya Linux na kuanza kutoka kwenye picha safi. Weka kipindi chako cha sasa cha SSH wazi hadi uwe umejaribu mipangilio mipya kutoka dirisha la pili.
1. Tengeneza mtumiaji wa kawaida mwenye sudo
adduser deploy
usermod -aG sudo deploy2. Tumia funguo za SSH badala ya nenosiri
Kwenye kompyuta yako:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPIngia mara moja kwa kutumia ufunguo ili kuthibitisha kuwa unafanya kazi kabla ya kuzima nenosiri.
3. Zima kuingia kwa nenosiri na kwa root
Tengeneza /etc/ssh/sshd_config.d/99-hardening.conf:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3Kagua sintaksia kisha uanzishe upya huduma. Huduma inaitwa ssh kwenye Ubuntu na Debian, na sshd kwenye mifumo ya RHEL:
sudo sshd -t && sudo systemctl reload sshFungua terminal ya pili na uingie tena. Ndipo ufunge kipindi cha zamani.
4. Washa firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseFungua bandari unazohitaji tu, kama 80 na 443 kwa seva ya wavuti. Unaweza pia kuzuia SSH iruhusiwe kutoka anwani yako ya IP pekee kwa kutumia kanuni ya firewall kwenye paneli ya wingu.
5. Zuia majaribio yanayorudiwa kwa Fail2ban
sudo apt install -y fail2banTengeneza /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1hsudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. Sakinisha masasisho ya usalama kiotomatiki
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades7. Hatua za ziada za hiari
- Kubadilisha bandari ya SSH hupunguza kelele kwenye kumbukumbu, lakini si hatua ya usalama peke yake.
- Linda ufunguo binafsi kwa nenosiri la kupita (passphrase) na weka nakala salama mahali pa usalama.
- Kagua waliongia kwa kutumia
lastnasudo journalctl -u ssh --since today. - Chukua snapshot mara seva inapokamilika kusanidiwa, ili uweze kurejesha hali safi ya msingi.
Ukifungiwa nje, tumia kiweko cha kivinjari kwenye paneli yako ya wingu kuingia na kurekebisha mipangilio. Mwongozo wa ulinzi dhidi ya DDoS unaeleza safu inayofuata ya ulinzi.
Maswali yanayoulizwa mara kwa mara
Je, ni salama kuzima kuingia kwa root?
Ndiyo, ikiwa kwanza umetengeneza mtumiaji wa sudo na kuthibitisha kuwa ufunguo wake unafanya kazi. Bado unaweza kutekeleza amri za usimamizi kwa sudo.
Je, ninahitaji Fail2ban nikitumia funguo pekee?
Si lazima. Kwa kuwa kuingia kwa nenosiri kumezimwa, mashambulizi ya kubahatisha nenosiri hayawezi kufanikiwa, lakini Fail2ban hupunguza kelele kwenye kumbukumbu na mzigo kwenye seva.
Nikipoteza ufunguo wangu wa SSH nifanye nini?
Tumia kiweko kwenye paneli yako ya wingu kuingia, ongeza ufunguo mpya wa umma kwenye ~/.ssh/authorized_keys, kisha ondoa ule wa zamani.