Visas sistēmas darbojas Tavs IP: 216.73.217.36 info@cloudhosting.lv +371 66 66 29 69 Klientu zona

← Visi jautājumi

Kā nostiprināt jaunu Ubuntu 24.04 VPS pirmajās 10 minūtēs

Jauns VPS ir sasniedzams no visa interneta jau sāknēšanas brīdī, un automātiskie skeneri jaunu IP adresi parasti atrod dažu minūšu, nevis dienu laikā. Šī pamācība apraksta pirmās desmit darba minūtes uz tīra Ubuntu 24.04 servera: sudo lietotājs, SSH tikai ar atslēgām, ugunsmūris, fail2ban, automātiskie drošības atjauninājumi un beigās pārbaude, kas īsti klausās uz portiem. Tā domāta ikvienam, kas pats uzstāda serveri un grib saprātīgu, atkārtojamu bāzi, pirms instalē ko citu.

1. solis: atjaunini sistēmu

Pieslēdzies kā root un atjaunini pakotņu sarakstu un instalētās pakotnes. Tas ir svarīgi, jo veidnes attēls var būt vairākas nedēļas vecs, un visvieglākie uzbrukumi izmanto ievainojamības, kurām labojumi jau sen ir publicēti.

apt update && apt -y upgrade
apt -y autoremove

Pārstartē serveri tikai tad, ja eksistē fails /var/run/reboot-required, citādi turpini.

2. solis: izveido sudo lietotāju

Ikdienas darbs kā root nozīmē, ka katra pārrakstīšanās izpildās ar neierobežotām tiesībām, tāpēc izveido parastu lietotāju un piešķir tam sudo tiesības.

adduser deploy
usermod -aG sudo deploy

Aizstāj deploy ar jebkuru citu vārdu. Pirms turpini, pārbaudi, ka sudo strādā:

su - deploy
sudo whoami

Pēdējai komandai jāizdrukā root. Ja tā nenotiek, salabo to tagad, kamēr root sesija vēl ir atvērta.

3. solis: SSH atslēgas un paroles pieteikšanās atslēgšana

Paroles autentifikāciju var lauzt ar brutālu spēku visu diennakti, bet modernu SSH atslēgu praktiski nevar, tāpēc šī viena izmaiņa novērš visbiežāko uzbrukumu jebkuram VPS. Uz sava datora izveido atslēgu, ja tev tādas vēl nav, un nokopē to uz serveri:

ssh-keygen -t ed25519
ssh-copy-id deploy@203.0.113.10

Pārbaudi, ka ssh deploy@203.0.113.10 ielaiž tevi bez paroles. Tikai pēc tam atslēdz paroles autentifikāciju uz servera. Ubuntu 24.04 galvenā konfigurācija iekļauj drop-in failus no /etc/ssh/sshd_config.d/ alfabētiskā secībā, un sshd katrai opcijai patur pirmo nolasīto vērtību, tāpēc uzvar fails, kas kārtojas agrāk. Mākoņa attēli satur failu, piemēram, 50-cloud-init.conf, kas iestata PasswordAuthentication yes, tāpēc tavam failam jākārtojas pirms tā: nosauc to 00-hardening.conf.

printf 'PasswordAuthentication no\nKbdInteractiveAuthentication no\nPermitRootLogin prohibit-password\n' | sudo tee /etc/ssh/sshd_config.d/00-hardening.conf
sudo sshd -t && sudo systemctl restart ssh
sudo sshd -T | grep -i passwordauthentication

Pēdējā komanda izdrukā spēkā esošo konfigurāciju, tāpēc pārliecinies, ka tā rāda passwordauthentication no; ja tur joprojām ir yes, uzvar kāds cits drop-in fails, un tev jāpārbauda /etc/ssh/sshd_config.d/. Turi pašreizējo sesiju atvērtu un otrā terminālī pārliecinies, ka pieteikšanās ar atslēgu joprojām strādā; salauzta SSH konfigurācija bez rezerves sesijas ir klasiskais veids, kā izslēgt sevi no servera.

4. solis: ugunsmūra pamati ar ufw

Ugunsmūris garantē, ka vēlāk instalētie servisi, piemēram, datubāze, kas pēc noklusējuma klausās uz visām saskarnēm, netiek klusi atvērti internetam. ufw uz Ubuntu 24.04 jau ir instalēts, tāpēc atliek atļaut SSH un to ieslēgt:

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Atļauj SSH pirms ugunsmūra ieslēgšanas, citādi nākamā nomestā pakete būs tavs paša savienojums. Ja uz servera būs mājaslapa, atver arī web portus:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

5. solis: fail2ban un automātiskie drošības atjauninājumi

fail2ban lasa autentifikācijas žurnālus un uz laiku bloķē IP adreses, kas atkārtoti kļūdās, un tas krietni samazina brute-force troksni un padara nozagtu paroļu izmēģināšanu praktiski bezjēdzīgu.

sudo apt -y install fail2ban
printf '[sshd]\nenabled = true\nbackend = systemd\n' | sudo tee /etc/fail2ban/jail.d/sshd.local
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Rinda backend = systemd liek fail2ban lasīt systemd žurnālu tieši, tāpēc tas strādā arī minimālās instalācijās bez klasiskajiem log failiem. Tālāk unattended-upgrades instalē drošības labojumus automātiski, un tas ir svarīgi, jo lielākā daļa reālo ielaušanos izmanto ievainojamības, kas bija izlabotas ilgi pirms uzbrukuma.

sudo apt -y install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Dialogā izvēlies Yes. Noklusējuma konfigurācija piemēro tikai drošības atjauninājumus, tāpēc tā nepārsteigs tevi ar lielām versiju maiņām.

6. solis: laika josla, hostname un portu pārbaude

Iestati laika joslu, lai žurnālu laika zīmogi sakrīt ar tavu monitoringu un tavu paša atmiņu par notikumiem:

sudo timedatectl set-timezone Europe/Riga
timedatectl

Iedod mašīnai īstu hostname, jo pēc pusgada "ubuntu-2404" brīdinājumā tev neko nepateiks:

sudo hostnamectl set-hostname web1.example.com

Beigās izvadi visus klausošos soketus un apzināti izlem, vai katram no tiem jābūt publiskam:

sudo ss -tulpn

Skaties kolonnā Local Address: ieraksti uz 127.0.0.1 vai ::1 ir sasniedzami tikai no paša servera, bet 0.0.0.0 vai [::] nozīmē, ka ports ir atvērts visai pasaulei, ja vien ufw to nebloķē. Uz tīras instalācijas tur jābūt tikai sshd un systemd-resolved; viss pārējais prasa paskaidrojumu.

Kas tev ir pēc desmit minūtēm

  • Atjaunināta sistēma, kas turpina atjaunināties pati
  • sudo lietotājs un SSH tikai ar atslēgām, paroles pieteikšanās atslēgta
  • Ugunsmūris, kas pēc noklusējuma bloķē visu, izņemot tevis izvēlētos portus
  • fail2ban, kas automātiski bloķē brute-force avotus
  • Pareizs laiks, jēgpilns hostname un zināms atvērto portu saraksts

Nekas no tā neaizstāj rezerves kopijas un monitoringu, bet tas aizver caurumus, kurus automātiskie skeneri izmanto servera dzīves pirmajās stundās. Ja vēl tikai izvēlies, kur šo serveri darbināt, mūsu VPS plāni darbojas uz mūsu pašu aparatūras un tīkla AS58269 Tier 3+ datu centrā Rīgā, un viss augstāk aprakstītais uz tiem strādā tieši tāpat.

Gribi, lai to darām mēs?
VPS. NVMe virtuālie serveri, gatavi minūtes laikā.
Uzzināt vairāk

Gatavs sākt?

Palaid dažās minūtēs vai aprunājies ar inženieri par piemērotāko risinājumu.