# CIS-benchmarkit ja BSI-moduulit verkkopalvelimille

> CIS-benchmark verkkopalvelimelle ja BSI-moduulit vertailussa: mitkä standardit sopivat Linuxille, Nginxille, Apachelle ja PHP:lle ja miten ne toteutetaan.

Lähde: https://phpsos.de/fi/blog/cis-benchmarks-bsi-bausteine/  
Tilanne: 25.10.2026  
Palveluntarjoaja: PHP SOS, PHP-hätäapu ja palvelimen tietoturva. Pikaapu WhatsAppilla: https://wa.me/491736494914?text=Hei%20PHP%20SOS%2C%20tarvitsemme%20apua%20PHP-palvelimemme%20kanssa.%20Yritys%3A%20%E2%80%A6%20Verkkosivusto%3A%20%E2%80%A6

**Lyhyesti:** CIS-benchmark verkkopalvelimelle antaa konkreettiset, versiokohtaiset asetukset käyttöjärjestelmälle ja verkkopalvelimelle, esimerkiksi Ubuntulle, Debianille, RHEL:lle, Nginxille tai Apachelle. BSI:n (Saksan liittovaltion tietoturvavirasto) IT-Grundschutz-moduulit kuvaavat lisäksi, mitä vaatimuksia verkkopalvelimille, verkkosovelluksille, päivitysten hallinnalle ja lokitukselle asetetaan. Yhdessä ne muodostavat tarkistettavan koventamisvaatimuksen; PHP-kohtaiset asetukset lisäätte itse.

## Miksi ”hyvin asetettu” ei ole mittapuu

Tapahtuman jälkeen johto, vakuutusyhtiö tai tarkastaja esittää ennemmin tai myöhemmin saman kysymyksen: minkä standardin mukaan palvelin oli asetettu? Rehellinen vastaus on monessa yrityksessä: sen ylläpitäjän parhaan tietämyksen mukaan, joka sen aikoinaan pystytti. Se ei välttämättä ole huono, mutta se ei ole jäljitettävä eikä toistettava.

PHP2Shell on tehnyt tämän näkyväksi. Joka halusi tietää, mitkä palvelimet ovat kohteena, mikä PHP-käyttötapa on käytössä ja milloin viimeksi päivitettiin, joutui monin paikoin ensin etsimään. Koventamisstandardi ei korvaa päivitystä, mutta luo juuri tämän järjestyksen: määritellyt asetukset, inventaarion ja säännölliset tarkistukset.

Kaksi työtä on osoittautunut tähän hyviksi: Center for Internet Securityn CIS-benchmarkit ja BSI:n IT-Grundschutz.

## Mitä CIS-benchmark verkkopalvelimelle sisältää

CIS-benchmarkit ovat konsensukseen perustuvia asetussuosituksia, joita asiantuntijat monista organisaatioista laativat yhdessä. CIS:n mukaan niitä on yli 25 tuoteperheelle. PHP-verkkopalvelimille merkittävimpiä ovat nämä: Ubuntu Linux, Debian Linux ja Red Hat Enterprise Linux käyttöjärjestelmälle sekä Apache HTTP Server 2.4 ja NGINX verkkopalvelimelle.

Jokainen benchmark on luettelo yksittäisistä suosituksista perusteluineen, tarkistusohjeineen ja korjauksineen. Monissa benchmarkeissa erotetaan perusprofiili, joka voidaan toteuttaa ilman suuria sivuvaikutuksia, ja tiukempi profiili korkeampaan suojatarpeeseen. Automaattista tarkistusta varten CIS tarjoaa työkaluja, benchmarkien yhteydessä nimellä CIS-CAT.

Etu on tarkkuus: ”SSH:n suojaamisen” sijasta siinä kerrotaan, minkä asetuksen tulee olla millä arvolla ja miten sen tarkistatte. Haittapuoli on laajuus. Täydellinen benchmark Linux-järjestelmälle sisältää hyvin paljon kohtia, eikä jokainen sovi jokaiseen toimintaan.

Kiinnittäkää huomiota myös versioon. Benchmarkit koskevat aina tiettyjä julkaisuja: CIS:n yleiskatsaus luettelee esimerkiksi erilliset julkaisut Ubuntun LTS-versioille 26.04 asti, Debianille 9–13 ja RHEL:lle 8, 9 ja 10. Joka soveltaa vanhemman version benchmarkia uuteen järjestelmään, tarkistaa osittain asetuksia, joita siinä ei enää ole, ja jättää uudet huomaamatta. Jos palvelimella toimii yhä käyttöjärjestelmä ilman valmistajan tukea, se on jo itsessään tärkein havainto.

## Sopivat BSI-moduulit PHP-verkkopalvelimelle

BSI:n IT-Grundschutz toimii moduuleilla, jotka kuvaavat järjestelmiin ja toimintatapoihin kohdistuvia vaatimuksia. Ajankohtainen on IT-Grundschutz-Kompendium, painos 2023. BSI muuttaa IT-Grundschutzia parhaillaan prosessilähtöiseksi, koneluettavaksi säännöstöksi; nykyinen Kompendium on BSI:n mukaan sovellettavissa usean vuoden siirtymäajan.

PHP-verkkopalvelimelle nämä moduulit ovat tärkeimpiä:

| Moduuli | Sisältö | Yhteys PHP-verkkopalvelimeen |
|---|---|---|
| APP.3.2 Webserver | verkkopalvelimen käyttö ja asetukset | Nginx, Apache, LiteSpeed |
| APP.3.1 Webanwendungen und Webservices | sovellukseen kohdistuvat vaatimukset | CMS, verkkokauppa, oma PHP-ohjelmisto |
| SYS.1.3 Server unter Linux und Unix | käyttöjärjestelmän koventaminen | jokaisen Linux-verkkopalvelimen perusta |
| OPS.1.1.3 Patch- und Änderungsmanagement | päivitysten säännelty asennus | PHP-päivitykset, uudelleenkäynnistykset, todiste |
| OPS.1.1.5 Protokollierung | tapahtumien tallennus ja analysointi | käyttö- ja virhelokit |
| CON.3 Datensicherungskonzept | varmuuskopiot ja palautus | koodin ja tietokannan varmuuskopiointi |
| CON.10 Entwicklung von Webanwendungen | turvallinen kehitys | omat PHP-projektit |

Grundschutz on vähemmän konkreettinen kuin CIS-benchmark, mutta kattaa sen sijaan toimintatavat, jotka eivät ole missään asetustiedostossa: kuka päivittää, kuka tarkistaa, ketä informoidaan.

## CIS vai BSI: mikä sopii yritykseenne?

Valinta riippuu vähemmän tekniikasta kuin toimintaympäristöstä. Nyrkkisääntö:

- **Tekninen perusta yksittäisille palvelimille:** CIS-benchmark käyttöjärjestelmälle ja verkkopalvelimelle, täydennettynä omalla PHP-vaatimuksella.
- **Julkinen hallinto, tilaajat Grundschutz-viittauksella, säännellyt alat:** IT-Grundschutz kehyksenä, CIS-benchmarkit konkreettiseen toteutukseen.
- **ISO 27001- tai TISAX-yritykset:** Molemmat työt sopivat oman ohjeistuksen tekniseksi tueksi, katso [ISO 27001 ja TISAX: mitä verkkopalvelimia koskee](https://phpsos.de/fi/blog/iso-27001-tisax-webserver/).
- **NIS2:n piiriin kuuluvat yritykset:** Dokumentoitu koventamisstandardi auttaa osoittamaan asianmukaiset toimenpiteet. Mitä direktiivi vaatii, kokoaa yhteen [NIS2 ja verkkopalvelinten tietoturva](https://phpsos.de/fi/compliance/nis2/); yksittäistapauksessa ratkaisee oikeudellinen neuvonantajanne.

PHP:n osalta palvelinvaatimuksia kannattaa täydentää: lukitut arvot php.ini-tiedostossa, erilliset FPM-poolit, ei suoritusta upload-kansioissa. Hyvän pohjan antaa opas [php.ini turvallisesti asetettuna](https://phpsos.de/fi/ratgeber/php-ini-sicher-konfigurieren/).

## Kuudessa vaiheessa omaan koventamisvaatimukseen

Standardista on hyötyä vain, jos se pääsee käyttöön. Seuraava toimintatapa on osoittautunut hyväksi:

1. **Laatikaa inventaario:** Mitkä palvelimet, käyttöjärjestelmät, verkkopalvelimet ja PHP-versiot toimivat missä?
2. **Valitkaa benchmark ja moduulit** version ja suojatarpeen mukaan.
3. **Tarkistakaa nykytila**, mahdollisuuksien mukaan automaattisesti, ja keratkaa poikkeamat.
4. **Arvioikaa poikkeamat:** toteutetaan, hyväksytään tietoisesti tai kompensoidaan muilla toimenpiteillä, kussakin tapauksessa perustellen.
5. **Kirjatkaa vaatimus pysyvästi**, mieluiten asetusten automaationa, jotta uudet palvelimet ovat koventuneita alusta asti.
6. **Tarkistakaa uudelleen säännöllisesti ja suurempien päivitysten jälkeen**, sillä uudet paketit tuovat joskus mukanaan uusia oletusarvoja.

Vaihe 6 yhdistää koventamisen päivitysprosessiin. Miten päivitykset asennetaan suunnitellusti hätiköinnin sijaan, kuvaa [Päivitysten hallinta prosessina palokunnan sijaan](https://phpsos.de/fi/blog/patch-management-prozess/).

> **Tärkeää:**
> Testatkaa tiukat profiilit ensin staging-järjestelmässä. Jotkin suositukset, esimerkiksi tiedostojärjestelmistä tai verkkopalveluista, voivat katkaista sovelluksia tai etäkäyttöjä.

## Miten PHP SOS auttaa konkreettisesti?

- Kartoitamme verkkopalvelimenne ja yhdistämme jokaiseen sopivan CIS-benchmarkin ja olennaiset Grundschutz-moduulit.
- Tarkistamme nykytilan ja toimitamme priorisoidun luettelon poikkeamista työmäärineen ja hyötyineen.
- Täydennämme vaatimuksen PHP-perustasolla php.ini-tiedostolle, FPM-pooleille ja tiedosto-oikeuksille.
- Dokumentoimme tietoiset poikkeukset niin, että tarkastajat ja vakuutusyhtiöt voivat seurata niitä.

Toteutuksen hoidamme osana [PHP-verkkopalvelinten koventamista](https://phpsos.de/fi/leistungen/server-haertung/).


## Usein kysytyt kysymykset

**Pitääkö minun toteuttaa jokainen CIS-benchmarkin suositus?**  
Ei. Benchmarkit ovat mittapuu, eivät laki. Jotkin suositukset eivät sovi toimintaanne tai häiritsisivät toimintoja. Tärkeää on päättää poikkeamista tietoisesti, perustella ne ja dokumentoida ne.

**Ovatko CIS-benchmarkit ja IT-Grundschutz kilpailijoita?**  
Pikemminkin toisiaan täydentäviä. CIS-benchmarkit antavat konkreettiset asetukset tuotetta ja versiota kohden. IT-Grundschutz kuvaa järjestelmiin ja prosesseihin kohdistuvat vaatimukset, esimerkiksi päivitysten hallinnan ja lokituksen, ja liittää ne johtamisjärjestelmään.

**Onko olemassa nimenomaan PHP:lle tarkoitettua koventamisstandardia?**  
PHP-asetukset ovat yleisissä palvelinstandardeissa yleensä mukana vain sivuhuomautuksina. Käytännössä palvelinvaatimuksia täydennetään omalla PHP-perustasolla, esimerkiksi php.ini-tiedostolle, FPM-pooleille ja tiedosto-oikeuksille, ja sovelluksen osalta nojataan verkkosovelluksia koskeviin moduuleihin.

**Olisiko CIS-benchmark estänyt PHP2Shellin?**  
Ei. PHP2Shell on PHP-tulkin aukkoja, joita vastaan auttaa vain päivitys. Koventettu palvelin voi kuitenkin rajata tunkeutumisen seurauksia, ja säännelty päivitysten hallinta huolehtii siitä, että päivitykset asennetaan nopeammin ja todennettavasti.

**Onko IT-Grundschutz liian iso pienille yrityksille?**  
Täydellisenä johtamisjärjestelmänä usein on. Yksittäisiä moduuleja voi kuitenkin hyvin käyttää tarkistuslistana verkkopalvelimille ja verkkosovelluksille ottamatta heti koko toimintatapaa käyttöön.

## Lähteet

- [CIS Benchmarks](https://www.cisecurity.org/cis-benchmarks)
- [BSI: IT-Grundschutz](https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/it-grundschutz_node.html)
- [BSI: etusivu](https://www.bsi.bund.de/)
