Aplicați o listă de verificare pentru consolidarea securității înainte ca un nou server AlmaLinux să găzduiască un site web, o aplicație, o bază de date sau un serviciu intern. O bază de referință repetabilă reduce riscurile obișnuite, menținând în același timp disponibilitatea serviciilor necesare. Consolidarea securității nu înlocuiește monitorizarea continuă, aplicarea patch-urilor, copiile de rezervă sau răspunsul la incidente.
Cuprins
Separați măsurile de control esențiale de setările specifice mediului
Aplicați controalele esențiale pe fiecare server de producție: limitați accesul la conturi, securizați SSH, activați un firewall, mențineți SELinux activ, instalați actualizări, colectați jurnale și verificați permisiunile fișierelor. Controalele specifice mediului depind de serviciile pe care le va rula serverul.
De exemplu, un server web poate avea nevoie de acces HTTP și HTTPS, în timp ce un server de baze de date poate fi necesar să accepte conexiuni doar de la un server de aplicații. Deschideți doar porturile necesare conform proiectului de serviciu aprobat. Nu copiați un set de reguli de firewall de la un alt server fără a verifica scopul acestuia.
Finalizați verificarea inițială a accesului la cont
- Creați un cont de administrator cu nume propriu pentru fiecare persoană care are nevoie de acces. Utilizați conturi individuale în loc să partajați o singură autentificare de administrator.
- Acordați privilegii administrative numai conturilor care au nevoie de ele. Utilizați elevarea controlată pentru comenzile administrative.
- Verificați utilizatorii, grupurile, directoarele de bază și shell-urile de autentificare existente. Eliminați sau dezactivați conturile care nu sunt necesare.
- Utilizați parole puternice și unice acolo unde este permisă utilizarea parolelor. Nu stocați parolele în scripturi sau note partajate.
- Asigurați-vă că accesul rămâne disponibil prin contul de administrator cu nume specificat înainte de a modifica sau dezactiva orice acces implicit.
Păstrați o cale de recuperare separată pentru server. Înainte de a modifica setările de autentificare, verificați dacă accesul la consolă sau accesul out-of-band este disponibil, dacă mediul îl oferă.
Securizați SSH înainte de a restricționa accesul la distanță
SSH este principalul serviciu de administrare la distanță pe multe servere Linux. Limitați-l la administratorii și metodele de autentificare de care are nevoie serverul.
- Utilizați cheile SSH pentru accesul administratorilor, acolo unde este posibil.
- Limitați accesul SSH la utilizatorii sau grupurile aprobate.
- Dezactivați autentificarea directă ca root după ce a fost testată o altă cale de acces administrativ.
- Dezactivați autentificarea prin parolă numai după ce accesul bazat pe chei funcționează într-o sesiune nouă.
- Verificați configurația SSH pentru opțiuni neutilizate și mențineți serviciul pe un port și o cale de rețea care corespund mediului.
Efectuați câte o modificare SSH pe rând. Mențineți sesiunea curentă deschisă și testați o sesiune separată după fiecare modificare a autentificării. Acest lucru ajută la prevenirea întreruperii activității de administrare de către o modificare de rutină a configurației.
Configurați firewall-ul pentru serviciile necesare
Activați firewall-ul gazdei și utilizați o abordare de tip "refuz implicit" pentru conexiunile de intrare, acolo unde mediul o permite. Permiteți SSH numai din rețelele de administrare aprobate, atunci când este posibil.
- Enumerați serviciile care trebuie să fie accesibile din exteriorul serverului.
- Asociați fiecare serviciu cu portul și rețeaua sursă necesare.
- Permiteți doar acele conexiuni prin firewall.
- Eliminați regulile temporare și serviciile neutilizate.
- Testați fiecare serviciu necesar din rețeaua sa prevăzută.
Nu blocați un port doar pentru că nu vi-l cunoașteți. Identificați mai întâi procesul care îl utilizează și confirmați dacă serviciul este necesar. Regulile firewall-ului trebuie să corespundă rolului serverului și proiectului rețelei sale.
Mențineți SELinux activat și verificați modul său de funcționare
SELinux oferă controale obligatorii de acces, pe lângă verificările obișnuite ale drepturilor de proprietate și permisiunilor din Linux. Pentru o configurație de bază de producție, mențineți SELinux activat și utilizați modul de aplicare (enforcing), cu excepția cazului în care aplicația are un motiv documentat și testat pentru a utiliza o altă setare.
Verificați modul curent și analizați mesajele de refuz atunci când un serviciu nu poate accesa un fișier, un port sau o resursă. Nu dezactivați SELinux ca primă reacție la o problemă a aplicației. Corectați contextul fișierului, configurația serviciului sau cerințele politicii după identificarea cauzei. Testați modificările într-un mediu sigur, astfel încât serviciile normale să nu fie perturbate.
Instalați actualizările și reduceți amprenta serviciilor
Aplicați actualizările de securitate și de sistem disponibile pentru AlmaLinux înainte de implementare. Reporniți sistemul atunci când o actualizare o impune, apoi confirmați că serviciile așteptate au pornit normal.
Verificați pachetele instalate și serviciile activate. Eliminați software-ul care nu este necesar și dezactivați serviciile care nu fac parte din rolul serverului. Un număr mai mic de servicii active reduce numărul de componente care necesită controlul accesului, aplicarea patch-urilor și monitorizarea.
Configurați înregistrarea evenimentelor și verificați-le
Asigurați-vă că jurnalele de sistem sunt colectate și păstrate pentru o perioadă care respectă cerințele operaționale și legale ale mediului. Includeți evenimentele de autentificare, ridicarea privilegiilor, eșecurile serviciilor, activitatea firewall-ului și evenimentele SELinux, acolo unde sunt disponibile.
Protejați jurnalele împotriva modificărilor neautorizate și asigurați-vă că spațiul de stocare al jurnalelor nu poate umple în mod silențios discul de sistem. Dacă jurnalele sunt trimise către un sistem separat, verificați dacă sistemul destinatar este disponibil și dacă evenimentele pot fi căutate. Jurnalizarea este utilă doar atunci când cineva analizează alertele și evenimentele importante.
Verificați proprietatea și permisiunile fișierelor
Verificați fișierele sensibile, directoarele aplicațiilor, locațiile de încărcare, copiile de rezervă și fișierele de configurare a serviciilor. Atribuiți dreptul de proprietate contului de serviciu sau rolului de administrator care are nevoie de acesta. Eliminați accesul la scriere care nu este necesar, în special pentru fișierele executate de un serviciu.
- Nu setați directoarele aplicațiilor sau de configurare ca fiind accesibile la scriere pentru toți utilizatorii.
- Asigurați-vă că cheile private, datele de autentificare și copiile de rezervă sunt accesibile numai conturilor aprobate.
- Separați căile de încărcare sau de date care permit scrierea de codul executabil al aplicației, acolo unde arhitectura aplicației permite acest lucru.
- Verificați permisiunile după implementări și modificări ale pachetelor.
Verificați starea inițială înainte de implementare
- Testați accesul administratorului prin metoda SSH aprobată.
- Confirmați că numele de utilizator și parola de root corespund politicii aprobate.
- Enumerați regulile firewall-ului și testați numai serviciile de intrare necesare.
- Confirmați că SELinux este activat și aplicat, dacă aceasta este linia de bază aprobată.
- Verificați starea actualizărilor și confirmați că serviciile necesare sunt în funcțiune.
- Generați un eveniment de autentificare sau de serviciu de test și verificați dacă acesta apare în jurnalele așteptate.
- Verificați proprietatea și permisiunile pentru configurație, credențiale, date și căile de backup.
- Înregistrați setările finale, porturile deschise, lista de servicii și orice excepții aprobate.
Repetați aceste verificări după modificări majore, nu doar în timpul configurării inițiale. Un server securizat are în continuare nevoie de monitorizare continuă, actualizări la timp, revizuirea jurnalelor, revizuirea accesului și proceduri de recuperare testate.