Kā nodrošināt SSH Linux VPS serverī
Publiski pieejams VPS minūšu laikā pēc palaišanas saņem automatizētus pieteikšanās mēģinājumus. Šie soļi ievērojami apgrūtina SSH uzbrukumus. Tie rakstīti Ubuntu vai Debian sistēmai; ja serveris vēl nav izveidots, vari iznomāt Linux VPS un sākt ar tīru attēlu. Atstāj esošo SSH sesiju atvērtu, līdz esi pārbaudījis jaunos iestatījumus otrā logā.
1. Izveido parastu lietotāju ar sudo
adduser deploy
usermod -aG sudo deploy2. Izmanto SSH atslēgas, nevis paroles
Savā datorā:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPPirms paroļu izslēgšanas vienreiz pieteikies ar atslēgu, lai pārliecinātos, ka tā darbojas.
3. Izslēdz paroļu un root pieteikšanos
Izveido failu /etc/ssh/sshd_config.d/99-hardening.conf:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3Pārbaudi sintaksi un pārlādē pakalpojumu. Pakalpojums Ubuntu un Debian sistēmās saucas ssh, bet RHEL bāzētās sistēmās — sshd:
sudo sshd -t && sudo systemctl reload sshAtver otru termināli un pieteikies vēlreiz. Tikai tad aizver veco sesiju.
4. Iespējo ugunsmūri
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseAtver tikai nepieciešamos portus, piemēram, 80 un 443 tīmekļa serverim. Vari arī ierobežot SSH piekļuvi tikai savai IP adresei, izveidojot ugunsmūra noteikumu mākoņa konsolē.
5. Bloķē atkārtotas kļūmes ar Fail2ban
sudo apt install -y fail2banIzveido failu /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1hsudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. Instalē drošības atjauninājumus automātiski
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades7. Papildu iespējas
- SSH porta maiņa samazina žurnāla trokšņus, bet pati par sevi nav drošības pasākums.
- Aizsargā privāto atslēgu ar paroles frāzi un glabā dublējumu drošā vietā.
- Pārskati pieteikšanās ar
lastunsudo journalctl -u ssh --since today. - Izveido momentuzņēmumu, kad serveris ir nokonfigurēts, lai varētu atjaunot tīru sākotnējo stāvokli.
Ja esi bloķēts, izmanto pārlūka konsoli savā mākoņa panelī, lai pieteiktos un labotu konfigurāciju. Mūsu DDoS aizsardzības ceļvedis apraksta nākamo aizsardzības slāni.
Biežāk uzdotie jautājumi
Vai ir droši izslēgt root pieteikšanos?
Jā, ja vispirms izveido sudo lietotāju un pārbaudi, ka tā atslēga darbojas. Administratīvās komandas joprojām vari izpildīt ar sudo.
Vai man vajag Fail2ban, ja izmanto tikai atslēgas?
Tas nav obligāti. Ja paroļu pieteikšanās ir izslēgta, brutālais uzlaušanas mēģinājums neizdosies, bet Fail2ban samazina žurnāla troksni un slodzi.
Ko darīt, ja pazaudēju SSH atslēgu?
Izmanto konsoli savā mākoņa panelī, lai pieteiktos, pievieno jaunu publisko atslēgu failam ~/.ssh/authorized_keys un noņem veco.