Ensimmäiset askeleet uudella VPS-palvelimella ovat: kirjaudu sisään, päivitä järjestelmä, luo sudo-käyttäjä SSH-avaimella, aseta isäntänimi ja aikavyöhyke, lisää swap pienissä paketeissa ja ota palomuuri käyttöön. Siihen menee noin 15 minuuttia, ja se kattaa suurimman osan siitä, mitä hyökkääjät yrittävät ensimmäisenä.
Alla olevat komennot ovat Ubuntu 24.04:lle ja Debian 12:lle. Korvaa kulmasulkeissa olevat arvot ja esimerkkiosoite 203.0.113.10 omillasi.
1. Kirjaudu sisään ensimmäistä kertaa
Kun luot palvelimen, valitset joko SSH-avaimen tai sähköpostitse lähetettävän root-salasanan. Avaimella:
ssh [email protected] # example address
Ensimmäisellä yhteydellä sinua pyydetään vahvistamaan isäntäavaimen sormenjälki. Kirjoita yes. Jos käytit salasanaa, sitä kysytään; vaihda se heti komennolla passwd.
Jos sinulla ei vielä ole avainta, lue ensin SSH-avainten luominen ja käyttö. Se vie kaksi minuuttia ja kannattaa.
2. Päivitä kaikki
Uudet imaget ovat tuoreita, mutta paketit päivittyvät nopeasti. Päivitä ennen kuin asennat mitään:
apt update
apt full-upgrade -y
apt autoremove -y
Jos ydin päivittyi, käynnistä uudelleen:
[ -f /var/run/reboot-required ] && reboot
Odota puoli minuuttia ja kirjaudu uudelleen.
3. Ota automaattiset tietoturvapäivitykset käyttöön
Ubuntussa on mukana unattended-upgrades; Debianiin se voi olla tarpeen asentaa:
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades # answer "Yes"
Tämä asentaa tietoturvakorjaukset päivittäin. Oletuksena se ei käynnistä palvelinta uudelleen. Jos haluat sallia uudelleenkäynnistykset hiljaisena aikana, muokkaa tiedostoa /etc/apt/apt.conf.d/50unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
4. Luo tavallinen käyttäjä sudo-oikeuksilla
adduser deploy # pick any name
usermod -aG sudo deploy
Kopioi rootin valtuutetut avaimet uudelle käyttäjälle, jotta voit kirjautua samalla avaimella:
mkdir -p /home/deploy/.ssh
cp /root/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys
Avaa toinen pääte ja testaa ennen kuin jatkat:
ssh [email protected]
sudo whoami # should print: root
Pidä root-istunto auki, kunnes uusi kirjautuminen toimii.
5. Aseta isäntänimi ja aikavyöhyke
sudo hostnamectl set-hostname web-1
sudo timedatectl set-timezone Europe/Berlin
timedatectl # check: "System clock synchronized: yes"
Lisää isäntänimi tiedostoon /etc/hosts, jos sudo varoittaa, ettei se pysty selvittämään nimeä:
127.0.1.1 web-1
Monet ylläpitäjät pitävät palvelimet UTC-ajassa, jotta lokeja on helpompi verrata. Kumpikin käy; pysy vain johdonmukaisena.
6. Lisää swap pieniin palvelimiin
Paketit, joissa on 1 tai 2 GB muistia, hyötyvät swap-tiedostosta. Tarkista ensin:
swapon --show
free -h
Jos mitään ei näy, luo 1 GB:n tai 2 GB:n tiedosto:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Kerro ytimelle, että se käyttää ensisijaisesti muistia ja swapia vain kuormituksen alla:
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swap.conf
sudo sysctl --system
7. Ota palomuuri käyttöön
Käytössäsi on kaksi kerrosta, ja voit käyttää molempia.
Palvelimella: UFW
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose
Avaa muita portteja vain, kun jokin palvelu tarvitsee niitä, esimerkiksi sudo ufw allow 80,443/tcp web-palvelimelle.
Palvelimen edessä: pilvipalomuuri
Wolkran palomuuri suodattaa liikenteen ennen kuin se saavuttaa palvelimen, ja sen voi ottaa käyttöön monella palvelimella kerralla tunnisteen avulla. Se on ilmainen. Yleinen kokoonpano sallii SSH:n vain toimiston tai kodin osoitteesta ja HTTP:n/HTTPS:n mistä tahansa. Katso palomuurien dokumentaatio.
8. Kovenna SSH
Kun avainkirjautuminen toimii sudo-käyttäjälläsi, poista salasanat ja root-kirjautuminen käytöstä. Luo erillinen asetustiedosto:
sudo tee /etc/ssh/sshd_config.d/10-hardening.conf >/dev/null <<'EOF'
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
EOF
sudo sshd -t && sudo systemctl reload ssh
sshd -t tarkistaa ensin syntaksin, joten kirjoitusvirhe ei lukitse sinua ulos. Kaikki koventamisen vaiheet löytyvät oppaasta Ubuntu-palvelimen suojaaminen.
9. Asenna muutama hyödyllinen työkalu
sudo apt install -y curl wget git htop ncdu unzip ca-certificates
htopnäyttää prosessit ja muistin reaaliajassa.ncdu /löytää sen, mikä täyttää levyn.journalctl -p warning -bnäyttää varoitukset edellisen käynnistyksen jälkeen.
10. Aseta käänteinen DNS, jos lähetät sähköpostia tai tarvitset siistin nimen
Jos palvelin lähettää sähköpostia tai sen osoitteen pitää selvitä takaisin isäntänimeksi, aseta sen IP-osoitteen PTR-tietue konsolissa. Varmista, että DNS-tietue (A tai AAAA) osoittaa samaan osoitteeseen. Katso IP-osoitteet.
11. Suunnittele varmuuskopiot nyt
Tuore palvelin on paras hetki päättää varmuuskopioista. Wolkrassa voit ottaa käyttöön päivittäiset automaattiset varmuuskopiot (20 % palvelimen hinnasta, 7 palautuspistettä) ja ottaa tilannevedoksia ennen riskialttiita muutoksia. Tärkeälle datalle lisää myös kopio palvelimen ulkopuolelle. Varmuuskopiointistrategian opas selittää 3-2-1-säännön käytännössä.
12. Tiedä, miten pääset takaisin sisään
Asiat menevät joskus pieleen: liian tiukka palomuurisääntö tai kirjoitusvirhe SSH-asetuksissa. Ennen kuin niin käy, pane merkille, missä pelastustyökalut ovat:
- selainkonsoli (VNC) palvelinnäkymässä, joka toimii ilman verkkoyhteyttä;
- pelastustila, joka käynnistää pienen järjestelmän, jotta voit liittää levyn ja korjata tiedostoja;
- uudelleenrakennus, joka asentaa imagen uudelleen, jos palvelinta ei voi enää korjata.
Tarkistuslista
- Kirjauduttu SSH-avaimella
- Päivitetty ja käynnistetty uudelleen
- Automaattiset tietoturvapäivitykset päällä
- Sudo-käyttäjä luotu ja testattu
- Isäntänimi ja aikavyöhyke asetettu
- Swap pienissä paketeissa
- UFW ja/tai pilvipalomuuri käytössä
- Root-kirjautuminen ja salasanat poistettu käytöstä
- Käänteinen DNS asetettu tarvittaessa
- Varmuuskopiot käytössä
Seuraavaksi julkaise jotakin: kokeile Docker Composea, WordPressiä tai Caddy-käänteisvälityspalvelinta.
Usein kysytyt kysymykset
Mitä uudella VPS-palvelimella pitäisi tehdä ensin?
Kirjaudu sisään, asenna kaikki päivitykset, luo tavallinen käyttäjä sudo-oikeuksilla ja SSH-avaimella ja ota sitten palomuuri käyttöön. Kaikki muu voi tulla myöhemmin.
Kannattaako root-tiliä käyttää?
Käytä rootia vain ensimmäiseen kirjautumiseen. Päivittäinen työ on turvallisempaa tavallisena käyttäjänä sudon kanssa, koska virheet vaativat erillisen sudo-komennon ja lokeista näkee, kuka teki mitäkin.
Tarvitseeko VPS swapia?
Pienet palvelimet, joissa on 1 tai 2 GB muistia, hyötyvät maltillisesta swap-tiedostosta, joka estää ydintä lopettamasta prosesseja lyhyiden muistipiikkien aikana.
Mistä löydän palvelimeni IP-osoitteen?
Se näkyy konsolissa palvelimen yleisnäkymässä. Palvelimella itsellään voit ajaa komennon ip -brief address.
Entä jos lukitsen itseni ulos?
Käytä Wolkran konsolin selainkonsolia tai käynnistä palvelin pelastustilaan korjataksesi SSH- tai palomuuriasetukset.