Ukratko: CIS Benchmark za web-poslužitelje daje konkretne postavke za operacijski sustav i web-poslužitelj, točne do verzije, primjerice za Ubuntu, Debian, RHEL, Nginx ili Apache. Moduli BSI-jeva IT-Grundschutza (BSI je njemački Savezni ured za informacijsku sigurnost) uz to opisuju koji zahtjevi vrijede za web-poslužitelje, web-aplikacije, upravljanje zakrpama i bilježenje. Zajedno daju provjerljivu osnovu za ojačavanje; PHP-specifične postavke dodajete sami.
Zašto „dobro postavljeno“ nije mjerilo
Nakon incidenta uprava, osiguravatelji ili revizori prije ili poslije postave isto pitanje: prema kojem je standardu poslužitelj bio postavljen? Iskren odgovor u mnogim tvrtkama glasi: prema najboljem znanju administratora koji ga je tada postavio. To nije nužno loše, ali nije ni provjerljivo ni ponovljivo.
PHP2Shell je to učinio vidljivim. Tko je želio znati koji su poslužitelji pogođeni, koji PHP način rada radi i kada je zadnji put zakrpan, na mnogim je mjestima to prvo morao tražiti. Standard ojačavanja ne zamjenjuje update, ali stvara upravo taj red: utvrđene postavke, inventar i redovite provjere.
Dva su se dokumenta za to dokazala: CIS Benchmarks organizacije Center for Internet Security i IT-Grundschutz BSI-ja.
Što sadrži CIS Benchmark za web-poslužitelje
CIS Benchmarks su konfiguracijske preporuke utemeljene na konsenzusu, koje zajednički izrađuju stručnjaci iz mnogih organizacija. Prema CIS-u postoje za više od 25 obitelji proizvoda. Za PHP web-poslužitelje najrelevantniji su: Ubuntu Linux, Debian Linux i Red Hat Enterprise Linux za operacijski sustav te Apache HTTP Server 2.4 i NGINX za web-poslužitelj.
Svaki je Benchmark popis pojedinačnih preporuka s obrazloženjem, uputom za provjeru i ispravkom. Mnogi Benchmarks razlikuju osnovni profil, koji se može provesti bez većih nuspojava, i stroži profil za veću potrebu za zaštitom. Za automatsku provjeru CIS nudi alate, u okruženju Benchmarksa pod nazivom CIS-CAT.
Prednost je preciznost: umjesto „osigurati SSH“ tamo piše koja postavka treba imati koju vrijednost i kako to provjeriti. Nedostatak je opseg. Cjelovit Benchmark za Linux sustav sadrži vrlo mnogo točaka i ne odgovara svaka svakom poslovanju.
Pazite i na verziju. Benchmarks vrijede za određena izdanja: CIS pregled navodi primjerice zasebna izdanja za Ubuntu LTS verzije do 26.04, za Debian 9 do 13 te za RHEL 8, 9 i 10. Tko Benchmark za stariju verziju primijeni na novi sustav, djelomično provjerava postavke kojih tamo više nema, a novima ne obraća pažnju. Ako na poslužitelju još radi operacijski sustav bez podrške proizvođača, to je samo po sebi najvažniji nalaz.
Odgovarajući BSI moduli za PHP web-poslužitelje
IT-Grundschutz BSI-ja radi s modulima koji opisuju zahtjeve prema sustavima i postupcima. Aktualan je IT-Grundschutz-Kompendium u izdanju 2023. BSI trenutačno preoblikuje IT-Grundschutz u procesno orijentiran skup pravila čitljiv strojevima; dosadašnji Kompendium prema BSI-ju ostaje primjenjiv u višegodišnjem prijelaznom razdoblju.
Za PHP web-poslužitelj najvažniji su ovi moduli:
| Modul | Sadržaj | Veza s PHP web-poslužiteljem |
|---|---|---|
| APP.3.2 Webserver | rad i konfiguracija web-poslužitelja | Nginx, Apache, LiteSpeed |
| APP.3.1 Webanwendungen und Webservices | zahtjevi prema aplikaciji | CMS, shop, vlastiti PHP softver |
| SYS.1.3 Server unter Linux und Unix | ojačavanje operacijskog sustava | temelj svakog Linux web-poslužitelja |
| OPS.1.1.3 Patch- und Änderungsmanagement | uređeno primjenjivanje updatea | PHP updatei, ponovna pokretanja, dokaz |
| OPS.1.1.5 Protokollierung | bilježenje i analiza događaja | pristupni zapisnici i zapisnici pogrešaka |
| CON.3 Datensicherungskonzept | sigurnosne kopije i oporavak | sigurnosna kopija koda i baze podataka |
| CON.10 Entwicklung von Webanwendungen | siguran razvoj | vlastiti PHP projekti |
Grundschutz je manje konkretan od CIS Benchmarka, ali zato obuhvaća postupke kojih nema ni u jednoj konfiguracijskoj datoteci: tko zakrpava, tko provjerava, tko se obavještava.
CIS ili BSI: što odgovara Vašoj tvrtki?
Izbor manje ovisi o tehnici, a više o okruženju. Okvirno pravilo:
- Tehnička osnova za pojedinačne poslužitelje: CIS Benchmark za operacijski sustav i web-poslužitelj, dopunjen vlastitim PHP zahtjevima.
- Javna uprava, naručitelji s upućivanjem na Grundschutz, regulirana područja: IT-Grundschutz kao okvir, CIS Benchmarks za konkretnu provedbu.
- Tvrtke s ISO 27001 ili TISAX: oba dokumenta prikladna su kao tehnička potpora vlastitim smjernicama, vidi ISO 27001 i TISAX: što se tiče web-poslužitelja.
- Tvrtke koje potpadaju pod NIS2: dokumentiran standard ojačavanja pomaže pri dokazivanju primjerenih mjera. Što direktiva traži, sažima članak NIS2 i sigurnost web-poslužitelja; u pojedinačnom slučaju odlučuje Vaš pravni savjetnik.
Za sam PHP trebali biste dopuniti zahtjeve za poslužitelj: zaključane vrijednosti u php.ini, odvojeni FPM poolovi, bez izvršavanja u mapama za upload. Dobru osnovu nudi vodič Sigurno konfigurirati php.ini.
U šest koraka do vlastite osnove za ojačavanje
Standard koristi samo ako stigne u rad. Ovaj se postupak dokazao:
- Izraditi inventar: koji poslužitelji, operacijski sustavi, web-poslužitelji i PHP verzije rade gdje?
- Odabrati Benchmark i module, prema verziji i potrebi za zaštitom.
- Provjeriti postojeće stanje, po mogućnosti automatizirano, i prikupiti odstupanja.
- Ocijeniti odstupanja: provesti, svjesno prihvatiti ili nadoknaditi drugim mjerama, svaki put s obrazloženjem.
- Utvrditi osnovu, idealno kao automatizaciju konfiguracije, kako bi novi poslužitelji od početka bili ojačani.
- Redovito i nakon većih updatea ponovno provjeriti, jer novi paketi ponekad donose nove zadane vrijednosti.
Šesti korak povezuje ojačavanje s procesom zakrpa. Kako updatee primjenjivati planski, a ne užurbano, opisuje Upravljanje zakrpama kao proces umjesto gašenja požara.
Stroge profile najprije testirajte na staging sustavu. Neke preporuke, primjerice o datotečnim sustavima ili mrežnim uslugama, mogu prekinuti aplikacije ili udaljeni pristup.
Kako PHP SOS konkretno pomaže?
- Bilježimo Vaše web-poslužitelje i svakom pridjeljujemo odgovarajući CIS Benchmark i relevantne module Grundschutza.
- Provjeravamo postojeće stanje i isporučujemo prioritetan popis odstupanja s opsegom rada i koristi.
- Zahtjeve dopunjujemo PHP osnovom za php.ini, FPM poolove i prava datoteka.
- Svjesne iznimke dokumentiramo tako da ih revizori i osiguravatelji mogu pratiti.
Provedbu preuzimamo u okviru ojačavanja poslužitelja za PHP web-poslužitelje.
Česta pitanja
Moram li provesti svaku preporuku CIS Benchmarka?
Ne. Benchmarks su mjerilo, a ne zakon. Neke preporuke ne odgovaraju Vašem poslovanju ili bi smetale funkcijama. Važno je odstupanja svjesno odlučiti, obrazložiti i dokumentirati.
Jesu li CIS Benchmarks i IT-Grundschutz konkurenti?
Prije dopune. CIS Benchmarks daju konkretne postavke po proizvodu i verziji. IT-Grundschutz opisuje zahtjeve prema sustavima i procesima, primjerice upravljanje zakrpama i bilježenje, te ih svrstava u sustav upravljanja.
Postoji li standard ojačavanja posebno za PHP?
PHP postavke u uobičajenim poslužiteljskim standardima uglavnom su samo usputno obuhvaćene. U praksi se zahtjevi za poslužitelj nadopunjuju vlastitom PHP osnovom, primjerice za php.ini, FPM poolove i prava datoteka, a za aplikaciju se oslanja na module o web-aplikacijama.
Bi li CIS Benchmark spriječio PHP2Shell?
Ne. PHP2Shell su ranjivosti u PHP interpreteru protiv kojih pomaže samo update. Ojačan poslužitelj ipak može ograničiti posljedice provale, a uređeno upravljanje zakrpama osigurava da se updatei primjenjuju brže i dokazivo.
Je li IT-Grundschutz prevelik za male tvrtke?
Kao cjelovit sustav upravljanja često jest. No pojedinačni se moduli dobro mogu koristiti kao kontrolni popis za web-poslužitelje i web-aplikacije, a da se ne preuzme cijeli postupak.