Turvallisen Linux-palvelimen luominen vaatii useita turvatoimintoja epäoikeudenmukaista pääsyä, datan loukkaantumisia ja turvallisuusriskkejä vastaan. Tämä opas kattaa perus-turvatoimet, joita järjestelmänhallinnoinnissa tulisi toteuttaa vahvan turvallisuuspostuksen luomiseksi.

Kuinka turvata Linux-palvelimesi

  1. Vaihe 1: Pidä järjestelmä ajan tasalla

    Päivitä operaatiojärjestelmää, ohjelmistopaketteja ja turvallisuuspatchejä säännöllisesti tunnetuista heikkousista ja turvallisuusriskkeista.

    Käytä pakettienhallintaa päivitysten asentamiseen:

    sudo apt update && sudo apt upgrade  # Debian/Ubuntu
    sudo yum update  # CentOS/RHEL

    Aseta automaattiset päivitykset mahdollisimman varmaksi, jotta korjaukset tehdään ajoitettuun aikaan.

  2. Vaihe 2: Ota käyttöön ja määrittele palomuuri

    Määrittele palomuuri (esim. iptables, firewalld) hallitaksesi sisään- ja uloslähtevää verkkoliikennettä.

    Salli vain tarvittavat portit ja palvelut sekä estä käyttämättömät tai turvallisuuteen vaarannolliset protokollat. Esimerkki ufw:n avulla:

    sudo ufw enable
    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
  3. Vaihe 3: Suojaa SSH-pääsy

    Poista SSH-root-kirjautuminen ja luo erillinen käyttäjätunnus sudo-oikeuksilla hallintatehtäviin.

    Muokkaa /etc/ssh/sshd_config:

    PermitRootLogin no
    PasswordAuthentication no
    Port 2222  # Muuta oletusportista 22

    Käytä SSH:n avainperustaisen todennusta salasanan sijaan lisätarkempaa turvallisuutta varten. Käynnistä SSH-palvelu uudelleen muutosten jälkeen:

    sudo systemctl restart sshd
  4. Vaihe 4: Toteuta vahvat salasanoitukset

    Toteuta vahvan salasanoitukset käyttäjätunnuksille, mukaan lukien minimipituus, monimutkaisu ja vanhenemisaikarajoitukset.

    Määrittele salasanavaatimukset tiedostossa /etc/security/pwquality.conf tai käytä PAM-moduuleja. Harkitse salasanojen luomiseen ja hallintaan turvallisesti salasananhallintajärjestelmää.

  5. Vaihe 5: Seurata järjestelmälogeja

    Seuraa järjestelmälogeja syyllisiä toimintoja, epäonnistuneita kirjautumisyrityksiä ja epäoikeudenmukaista pääsyä varten.

    Kyseiset lokitiedostot seurattavaksi:

    • /var/log/auth.log - Kirjautumisyritykset
    • /var/log/syslog - Järjestelmäviestit
    • /var/log/secure - Turvallisuusliitteiset viestit (RHEL/CentOS)

    Aseta lokin kiertämistä ja säilytyskäytännöt tehokkaan lokihallinnon varmistamiseksi ja levyn täyttymisen estämiseksi.

  6. Vaihe 6: Toteuta tiedostojärjestelmän turvallisuus

    Käytä tiedostojärjestelmän salausta (esim. dm-crypt, LUKS) arkaluonteisen datan suojelua varten.

    Aseta sopivat tiedoston ja kansion käyttöoikeudet kriittisten järjestelmätiedostojen pääsyn rajoittamiseksi:

    chmod 600 /path/to/sensitive/file
    chown root:root /path/to/critical/directory
  7. Vaihe 7: Ota käyttöön kaksivaiheinen todennus (2FA)

    Toteuta kaksivaiheinen todennus etäkäytöstä ja kriittisistä palveluista lisätarkempaa turvallisuutta varten.

    Käytä työkaluja kuten Google Authenticator tai Duo 2FA-todennukseen. Asenna ja määrittele PAM-moduuli Google Authenticatorille:

    sudo apt install libpam-google-authenticator
    google-authenticator
  8. Vaihe 8: Varmuuskopioi tiedot säännöllisesti

    Tee säännöllisiä varmuuskopioita kriittisiä tietoja ja järjestelmäkonfiguraatioita välttämään datan menetyksen turvallisuusriskin tai laitteen epäonnistumisen tapauksessa.

    Tallenna varmuuskopiot turvallisesti ulkona tai eri sijainnissa kriisien tapahtuessa varten. Käytä työkaluja kuten rsync, tar tai erityisiä varmuuskopiointiratkaisuja.

  9. Vaihe 9: Poista käytöstä käyttämättömät palvelut

    Poista käytöstä tai poista tarpeettomat palvelut ja taustaprosessit vähentääksesi hyökkäysaluetta ja riskiä hyödyntämisestä.

    Listaa ja hallinnoi palveluja:

    systemctl list-unit-files --type=service
    sudo systemctl disable service-name
    sudo systemctl stop service-name
  10. Vaihe 10: Toteuta sisäänpääsyn ja hyökkäyksen estämisen järjestelmät (IDS/IPS)

    Asenna IDS/IPS-ratkaisuja verkkoliikennän valvonnakseen ja epäilyttävien toimintojen tai sisäänpääsynyritysten havaitsemiseen.

    Määrittele hälytykset ja ilmoitukset mahdollisista turvallisuuskohteista reaktiivisen vastauksen antamiseksi. Suosittuja työkaluja ovat Snort, Suricata ja OSSEC.

  11. Vaihe 11: Toteuta säännölliset turvallisuusarviointit ja heikkousskannaukset

    Toteuta säännöllisiä turvallisuusarvioinnit ja heikkousskannaukset työkalujen kuten Nessuksen, OpenVAS:n tai Lynisin avulla tunnistamaan ja korjaamaan turvallisuuskiekkauudet.

    Esimerkki Lynisin käytöstä:

    sudo lynis audit system

    Korjaa tunnistetut heikkouset nopeasti turvallisen ympäristön luomiseksi.

  12. Vaihe 12: Kouluta käyttäjiä ja järjestelmänhallijoita

    Tarjoa turvallisuuskeskusteluun perustuvaa koulutusta käyttäjille ja järjestelmänhallijoille, jotta he ymmärtäisivät yleisiä turvallisuusriskkejä, parhaita käytännöitä ja arkaluonteisen tiedon käsittelyä.

    Kehotetaan käyttäjiä raportoimaan turvallisuuskriiseistä ja epäilyttävistä toiminnista nopeasti. Määrittele selkeät turvallisuuspoliisit ja incidenttivastausproseduurat.

Turvallisuuden ylläpitäminen

Turvallisuus on jatkuva prosessi, ei kerronnesuorite. Ole varovainen, pidä tietoisena uusista uhkaista ja arvioi säännöllisesti ja päivitä turvatoimintasi mukauttamalla niitä kehittyviin turvallisuusriskkeihin.