Pe scurt: Un benchmark CIS pentru servere web oferă setări concrete, precise pe versiune, pentru sistemul de operare și serverul web, de exemplu pentru Ubuntu, Debian, RHEL, Nginx sau Apache. Modulele IT-Grundschutz ale BSI (Oficiul Federal German pentru Securitatea Informațiilor) descriu în plus ce cerințe se aplică serverelor web, aplicațiilor web, gestionării patch-urilor și logării. Împreună rezultă o cerință de întărire verificabilă; setările specifice PHP le completați dumneavoastră.
De ce „bine configurat” nu este un reper
După un incident, conducerea, asigurătorul sau auditorul pun mai devreme sau mai târziu aceeași întrebare: după ce standard a fost configurat serverul? Răspunsul sincer este în multe companii: după cea mai bună știință a administratorului care l-a instalat atunci. Nu este neapărat rău, dar nu este nici de urmărit, nici repetabil.
PHP2Shell a făcut acest lucru vizibil. Cine voia să știe ce servere sunt afectate, ce mod de operare PHP rulează și când s-a aplicat ultima oară un patch a trebuit, în multe locuri, să caute mai întâi. Un standard de întărire nu înlocuiește o actualizare, dar creează exact această ordine: setări stabilite, un inventar și verificări regulate.
Două lucrări s-au dovedit utile pentru aceasta: benchmark-urile CIS ale Center for Internet Security și IT-Grundschutz al BSI.
Ce conține un benchmark CIS pentru servere web
Benchmark-urile CIS sunt recomandări de configurare bazate pe consens, elaborate în comun de specialiști din multe organizații. Potrivit CIS, ele există pentru mai mult de 25 de familii de produse. Pentru serverele web PHP sunt relevante în special acestea: Ubuntu Linux, Debian Linux și Red Hat Enterprise Linux pentru sistemul de operare, precum și Apache HTTP Server 2.4 și NGINX pentru serverul web.
Fiecare benchmark este o listă de recomandări individuale, cu motivare, instrucțiune de verificare și corecție. Multe benchmark-uri disting un profil de bază, care se poate implementa fără efecte secundare mari, și un profil mai strict pentru nevoi de protecție mai ridicate. Pentru verificarea automată, CIS oferă instrumente, în jurul benchmark-urilor sub numele CIS-CAT.
Avantajul este precizia: în loc de „securizați SSH”, acolo scrie ce setare trebuie să aibă ce valoare și cum o verificați. Dezavantajul este volumul. Un benchmark complet pentru un sistem Linux conține foarte multe puncte și nu fiecare se potrivește fiecărei activități.
Fiți atenți și la versiune. Benchmark-urile se aplică fiecare pentru anumite release-uri: prezentarea CIS indică, de exemplu, ediții separate pentru versiunile Ubuntu LTS până la 26.04, pentru Debian 9 până la 13 și pentru RHEL 8, 9 și 10. Cine aplică un benchmark pentru o versiune mai veche pe un sistem nou verifică parțial setări care nu mai există acolo și le scapă din vedere pe cele noi. Dacă pe un server rulează încă un sistem de operare fără suport din partea producătorului, acesta este deja cea mai importantă constatare.
Modulele BSI potrivite pentru serverele web PHP
IT-Grundschutz al BSI lucrează cu module care descriu cerințe pentru sisteme și procese. Actual este IT-Grundschutz-Kompendium în ediția 2023. BSI transformă în prezent IT-Grundschutz într-un set de reguli orientat pe procese și lizibil automat; compendiul de până acum rămâne, potrivit BSI, aplicabil într-o perioadă de tranziție de mai mulți ani.
Pentru un server web PHP, aceste module sunt cele mai importante:
| Modul | Conținut | Legătura cu serverul web PHP |
|---|---|---|
| APP.3.2 Webserver | Operarea și configurarea serverului web | Nginx, Apache, LiteSpeed |
| APP.3.1 Webanwendungen und Webservices | Cerințe pentru aplicație | CMS, magazin, software PHP propriu |
| SYS.1.3 Server unter Linux und Unix | Întărirea sistemului de operare | Baza oricărui server web Linux |
| OPS.1.1.3 Patch- und Änderungsmanagement | Aplicarea reglementată a actualizărilor | Actualizări PHP, reporniri, dovadă |
| OPS.1.1.5 Protokollierung | Înregistrarea și evaluarea evenimentelor | Jurnale de acces și de erori |
| CON.3 Datensicherungskonzept | Backup-uri și restaurare | Salvarea codului și a bazei de date |
| CON.10 Entwicklung von Webanwendungen | Dezvoltare sigură | Proiecte PHP proprii |
Grundschutz este mai puțin concret decât un benchmark CIS, dar acoperă în schimb procese care nu se află în niciun fișier de configurare: cine aplică patch-uri, cine verifică, cine este informat.
CIS sau BSI: ce se potrivește companiei dumneavoastră?
Alegerea depinde mai puțin de tehnică și mai mult de context. O regulă generală:
- Bază tehnică pentru servere individuale: benchmark CIS pentru sistemul de operare și serverul web, completat cu o cerință proprie pentru PHP.
- Administrație publică, clienți cu referință la Grundschutz, domenii reglementate: IT-Grundschutz ca cadru, benchmark-uri CIS pentru implementarea concretă.
- Companii cu ISO 27001 sau TISAX: Ambele lucrări se potrivesc ca fundament tehnic pentru propriile politici, vedeți ISO 27001 și TISAX: ce privește serverele web.
- Companii care intră sub incidența NIS2: Un standard de întărire documentat ajută la dovedirea măsurilor adecvate. Ce cere directiva rezumă NIS2 și securitatea serverului web; în cazuri individuale decide consilierea dumneavoastră juridică.
Pentru PHP însuși ar trebui să completați cerințele pentru server: valori blocate în php.ini, pool-uri FPM separate, fără execuție în directoarele de upload. O bază bună oferă ghidul Configurarea sigură a php.ini.
În șase pași spre propria cerință de întărire
Un standard este util doar dacă ajunge în exploatare. Următorul mod de lucru s-a dovedit eficient:
- Creați un inventar: Ce servere, sisteme de operare, servere web și versiuni PHP rulează unde?
- Alegeți benchmark-ul și modulele, potrivite pentru versiune și nevoia de protecție.
- Verificați starea actuală, pe cât posibil automatizat, și adunați abaterile.
- Evaluați abaterile: implementați, acceptați în mod conștient sau compensați prin alte măsuri, de fiecare dată cu motivare.
- Fixați cerința, ideal ca automatizare a configurării, astfel încât serverele noi să fie întărite de la început.
- Verificați din nou regulat și după actualizări mai mari, deoarece pachetele noi aduc uneori valori implicite noi.
Pasul 6 leagă întărirea de procesul de patch-uri. Cum aplicați actualizările planificat, nu în grabă, descrie Gestionarea patch-urilor ca proces, nu ca intervenție de urgență.
Testați profilurile stricte mai întâi pe un sistem de staging. Unele recomandări, de exemplu cele privind sistemele de fișiere sau serviciile de rețea, pot întrerupe aplicații sau accesul de la distanță.
Cum ajută PHP SOS concret?
- Inventariem serverele dumneavoastră web și atribuim fiecăruia benchmark-ul CIS potrivit și modulele Grundschutz relevante.
- Verificăm starea actuală și livrăm o listă prioritizată a abaterilor, cu efort și beneficiu.
- Completăm cerința cu o bază PHP pentru php.ini, pool-uri FPM și drepturi de fișiere.
- Documentăm excepțiile deliberate astfel încât auditorii și asigurătorii să le poată urmări.
Implementarea o preluăm în cadrul întăririi serverului pentru servere web PHP.
Întrebări frecvente
Trebuie să implementez fiecare recomandare a unui benchmark CIS?
Nu. Benchmark-urile sunt un reper, nu o lege. Unele recomandări nu se potrivesc cu activitatea dumneavoastră sau ar deranja funcții. Important este ca abaterile să fie decise în mod conștient, motivate și documentate.
Sunt benchmark-urile CIS și IT-Grundschutz concurente?
Mai degrabă se completează. Benchmark-urile CIS oferă setări concrete pentru fiecare produs și versiune. IT-Grundschutz descrie cerințe pentru sisteme și procese, de exemplu gestionarea patch-urilor și logarea, și le încadrează într-un sistem de management.
Există un standard de întărire special pentru PHP?
Setările PHP sunt cuprinse în standardele uzuale pentru servere, de regulă, doar marginal. În practică, cerințele pentru server se completează cu o bază proprie pentru PHP, de exemplu pentru php.ini, pool-uri FPM și drepturi de fișiere, iar pentru aplicație ne orientăm după modulele privind aplicațiile web.
Ar fi împiedicat un benchmark CIS PHP2Shell?
Nu. PHP2Shell sunt vulnerabilități în interpretorul PHP, împotriva cărora ajută doar actualizarea. Un server întărit poate însă limita consecințele unei intruziuni și, printr-o gestionare reglementată a patch-urilor, poate face ca actualizările să fie aplicate mai repede și demonstrabil.
Este IT-Grundschutz prea mare pentru companiile mici?
Ca sistem de management complet, adesea da. Modulele individuale pot fi însă folosite foarte bine drept listă de verificare pentru servere web și aplicații web, fără a prelua imediat întregul mod de lucru.