Instalare și utilizare Lynis pentru audituri de securitate pe Linux

Configurare noua (How To)

Situatie

Lynis este un instrument specializat de auditare a securității conceput pentru a analiza sistemele bazate pe Linux și Unix. Acesta examinează sistematic configurațiile sistemului, serviciile și controalele de securitate, identificând în același timp potențiale vulnerabilități și configurații greșite. Instrumentul oferă recomandări detaliate pentru consolidarea sistemului, verificarea conformității cu cadrele de securitate și generează rapoarte cuprinzătoare care ajută la prioritizarea îmbunătățirilor de securitate și urmărirea progresului în timp.

Cerințe Preliminare – Înainte de a Instala Lynis pentru Audituri de Securitate Linux

Lynis este disponibil pe toate opțiunile de sistem de operare—Ubuntu, Debian și altele—iar instrucțiunile de instalare/utilizare sunt aceleași pentru fiecare platformă, deci acest tutorial este agnostic în ceea ce privește sistemul de operare. Pentru a urma aceste instrucțiuni, veți avea nevoie de:
  • Un VPS care rulează oricare dintre opțiunile noastre disponibile de sistem de operare
  • Un cont de utilizator non-root (comenzile care necesită privilegii escalate vor folosi sudo)

Verificați cum să vă conectați la serverul dvs. folosind SSH și cum să îmbunătățiți siguranța SSH.

Solutie

Pasi de urmat

Cum să Instalați Lynis pe Linux pentru a efectua audituri de securitate

Puteți instala Lynis folosind două metode: fie prin repository-urile oficiale ale distribuției dvs. folosind manageri de pachete standard (apt/dnf), fie prin clonarea repository-ului oficial GitHub pentru a obține cea mai recentă versiune cu cele mai noi verificări și funcții de securitate.

Opțiunea 1: Instalarea Pachetului Oficial din Distribuție

Pentru a instala Lynis și a-l folosi pentru a efectua audituri de securitate pentru distribuția dvs., puteți folosi pur și simplu managerul de pachete al distribuției.

Pentru a descărca și instala Lynis în Ubuntu și Debian:

sudo apt install lynis

Pentru a descărca și instala Lynis pe Rocky Linux/AlmaLinux/CentOS/RHEL:

sudo dnf install epel-release -y

sudo dnf install lynis

Pentru a verifica instalarea, verificați versiunea Lynis:

sudo lynis --version

```

Output:
```
3.0.9

Acum puteți folosi versiunea stabilă Lynis disponibilă în prezent pentru distribuția dvs. Cu toate acestea, dacă doriți să rulați cea mai recentă versiune, puteți opta pentru a doua opțiune și instala Lynis folosind Git prin repository-ul oficial Github.

Opțiunea 2: Instalarea Lynis prin GitHub pentru cea mai recentă versiune

Notă: Dacă ați instalat deja Lynis prin managerul de pachete cu prima opțiune de mai sus, asigurați-vă că îl dezinstalați înainte de a continua pentru a evita conflictele de pachete.

Dacă doriți să utilizați cea mai recentă versiune Lynis direct din sursă, procesul este la fel de simplu ca și clonarea repository-ului GitHub pe VPS-ul dvs. Dacă rulați un VPS nou-nouț, este posibil să nu aveți Git instalat încă

sudo apt install git # Ubuntu/Debian

sudo dnf install git   # Rocky Linux/AlmaLinux/CentOS/RHEL

Să clonăm repository-ul Lynis:

git clone https://github.com/CISOfy/lynis

Este recomandat să rulați scriptul ca utilizator root, așa că vom folosi chown pentru a schimba proprietatea scriptului. Dacă rulați comanda cu sudo sau su fără a schimba mai întâi proprietatea, veți primi o avertizare de securitate, pe care o puteți ignora apăsând Enter sau anula cu Ctrl+C. Și, dacă încercați să rulați comanda folosind utilizatorii normali, veți primi o avertizare că rezultatele vor fi incomplete din cauza necesității unor privilegii mai mari pentru anumite procesări.

sudo chown -R 0:0 lynis

cd lynis

Verificați instalarea verificând versiunea Lynis:

sudo ./lynis --version
```

Probabil veți observa că versiunea Lynis pe care ați instalat-o prin Github este mai nouă decât cea disponibilă în managerul de pachete al distribuției dvs.:
`
3.1.4

Comenzi pentru a vedea documentația și instrucțiunile pentru Lynis

Pentru a vedea toate comenzile Lynis disponibile și documentația lor, utilizați:

# Pentru instalări prin managerul de pachete

sudo lynis show commands

# Pentru instalări GitHub (din directorul lynis)

sudo ./lynis show commands

Pentru ajutor detaliat despre orice comandă specifică, utilizați

sudo lynis show help [comandă]

Puteți vizualiza, de asemenea, categorii de comenzi astfel:

# Afișați toate opțiunile pentru auditare
sudo lynis show options

# Afișați toate testele disponibile
sudo lynis show tests

# Vizualizați comenzile de debug disponibile
sudo lynis show debug

Aceasta va afișa toate comenzile disponibile și descrierile lor, ajutându-vă să înțelegeți capacitățile complete ale Lynis ca instrument de auditare a securității.

Utilizarea Lynis pe Linux pentru a efectua audituri de securitate

Acum că aveți Lynis instalat, utilizarea acestuia pentru a efectua audituri de securitate pentru sistemul dvs. Linux este destul de simplă.

Să aruncăm o privire la o listă de opțiuni pentru ceea ce puteți face cu Lynis:

sudo lynis show commands

Sau dacă utilizați versiunea obținută de pe GitHub, asigurați-vă că sunteți în interiorul directorului lynis și rulați:

sudo ./lynis show commands

Comanda lynis show vă oferă o mulțime de opțiuni pe care le puteți rula pentru a efectua sarcini specifice. Suntem în principal interesați de comanda lynis audit pentru a efectua audituri de securitate pe serverul nostru Linux, pe care o vom explora în secțiunea următoare.

Utilizarea comenzii Lynis audit system

Dacă ați folosit managerul de pachete al distribuției dvs., atunci utilizarea Lynis pentru a efectua audituri de securitate poate fi făcută rulând următoarea comandă:

sudo lynis audit system

Alternativ, dacă ați clonat repository-ul Git Lynis, puteți executa pur și simplu scriptul integrat astfel (din nou, asigurați-vă că sunteți în interiorul directorului lynis):

sudo ./lynis audit system
```

**Notă:** Auditul și scanarea Lynis vor dura ceva timp.

##Înțelegerea Rezultatelor Lynis

Când Lynis completează auditul său de securitate, va afișa avertismente, sugestii și câteva detalii la prima vedere ale scanării de securitate, cum ar fi un "index de consolidare" pe care îl puteți folosi pentru a evalua eforturile dvs.:

Lynis vă oferă diferite tipuri de informații:

**AVERTISMENTE (WARNINGS):** Probleme critice care necesită atenție immediatată, cum ar fi pachete vulnerabile, reguli de firewall inactive și probleme de sincronizare a timpului.

**SUGESTII (SUGGESTIONS):** Îmbunătățiri recomandate care ar îmbunătăți securitatea, dar nu sunt critice, cum ar fi instalarea pachetelor de securitate (fail2ban, pam_cracklib), consolidarea configurației SSH și implementarea monitorizării integrității fișierelor.


**Informaționale:** Constatări generale și verificări de stare pentru diferite componente ale sistemului, cum ar fi pachete instalate, servicii în execuție și stări de configurare.


Fiecare sugestie și avertisment vine cu:

- Un ID unic (de exemplu, [PKGS-7392])

- O scurtă descriere a problemei

- Un link către documentație detaliată


Pentru o instalare nouă Ubuntu 24.04, auditul general concluzionează următoarele:

```
Lynis security scan details:

Hardening index : 61 [############ ]
Tests performed : 255
Plugins enabled : 1

Components:
- Firewall [V]
- Malware scanner [X]

Scan mode:
Normal [V] Forensics [ ] Integration [ ] Pentest [ ]

Lynis modules:
- Compliance status [?]
- Security audit [V]
- Vulnerability scan [V]

Files:
– Test and debug information : /var/log/lynis.log
– Report data : /var/log/lynis-report.dat
```

Un index de consolidare de 61 este respectabil, dar cu o marjă largă de îmbunătățire. Din fericire, Lynis afișează, de asemenea, orice avertismente și sugestii pe care le puteți folosi pentru a vă informa despre îmbunătățirile care ar putea face serverul dvs. mai consolidat împotriva potențialelor atacuri.


**Notă:** Unele intrări nu pot fi remediate pe un VPS, cum ar fi plasarea /var pe o partiție separată. Cu toate acestea, amintiți-vă că acestea sunt doar sugestii.

Puteți examina, de asemenea, jurnalul complet al scanării la `/var/log/lynis.log` și un raport de date la `/var/log/lynis-report.dat`.

Lynis analizează aproape totul legat de securitate:

- Cât de puternică este armura sistemului dvs. (consolidarea sistemului)

- Ce servicii rulează și cum sunt configurate

- Cât de bine este protejată rețeaua dvs.

- Dacă utilizatorii și parolele dvs. sunt configurate în siguranță

- Dacă fișierele și folderele dvs. au permisiunile corecte

De exemplu, iată secțiunea SSH pentru un server Ubuntu 24.04 nou:

```
[+] SSH Support
------------------------------------

- Checking running SSH daemon [ FOUND ]

- Searching SSH configuration [ FOUND ]

- OpenSSH option: AllowTcpForwarding [ SUGGESTION ]

- OpenSSH option: ClientAliveCountMax [ SUGGESTION ]

- OpenSSH option: ClientAliveInterval [ OK ]

- OpenSSH option: FingerprintHash [ OK ]

- OpenSSH option: GatewayPorts [ OK ]

- OpenSSH option: IgnoreRhosts [ OK ]

- OpenSSH option: LoginGraceTime [ OK ]

- OpenSSH option: LogLevel [ SUGGESTION ]

- OpenSSH option: MaxAuthTries [ SUGGESTION ]

- OpenSSH option: MaxSessions [ SUGGESTION ]

- OpenSSH option: PermitRootLogin [ SUGGESTION ]

- OpenSSH option: PermitUserEnvironment [ OK ]

- OpenSSH option: PermitTunnel [ OK ]

- OpenSSH option: Port [ SUGGESTION ]

- OpenSSH option: PrintLastLog [ OK ]

- OpenSSH option: StrictModes [ OK ]

- OpenSSH option: TCPKeepAlive [ SUGGESTION ]

- OpenSSH option: UseDNS [ OK ]

- OpenSSH option: X11Forwarding [ SUGGESTION ]

- OpenSSH option: AllowAgentForwarding [ SUGGESTION ]

- OpenSSH option: AllowUsers [ NOT FOUND ]

- OpenSSH option: AllowGroups [ NOT FOUND ]
```

Cu informațiile complete ale rezultatelor scanării la îndemână, să parcurgem câteva exemple despre cum să implementăm sugestiile Lynis și să consolidăm securitatea sistemului nostru.

##Cum să Implementați Sugestiile Lynis

După ce obțineți rezultatele scanării, este timpul să implementați sugestiile Lynis. Dacă remediați avertismentele Lynis și implementați sugestiile, veți face serverul dvs. Linux mai sigur. Fiecare avertisment și sugestie vine cu un link către documentație care vă va ajuta să înțelegeți problema și exemple de remedieri, așa că asigurați-vă că profitați de aceste resurse.

Deoarece toți folosim ssh pentru a ne conecta la serverele noastre VPS, să parcurgem câteva remedieri de bază care vor ajuta la reducerea numărului de avertismente pe care le primim.

**Notă:** Configurația dvs. implicită sshd ar putea arăta ușor diferit în funcție de sistemul dvs. de operare și de orice ajustări pe care le-ați fi făcut deja.


Să luăm următoarele sugestii OpenSSH din auditul nostru ca exemplu:

```
OpenSSH option: PermitRootLogin [ SUGGESTION ]

OpenSSH option: MaxAuthTries [ SUGGESTION ]

OpenSSH option: MaxSessions [ SUGGESTION ]

OpenSSH option: LogLevel [ SUGGESTION ]

OpenSSH option: AllowTcpForwarding [ SUGGESTION ]

OpenSSH option: X11Forwarding [ SUGGESTION ]

OpenSSH option: AllowAgentForwarding [ SUGGESTION ]

OpenSSH option: PermitRootLogin [SUGGESTION]

Contul root are acces nelimitat la sistem, făcându-l o țintă pentru atacatori. În mod implicit, multe sisteme permit root să se conecteze prin SSH, ceea ce este riscant. De aceea ar trebui să:

  • Creați un cont de utilizator obișnuit cu privilegii sudo pentru administrare
  • Dezactivați autentificarea root editând /etc/ssh/sshd_config:

PermitRootLogin no

OpenSSH option: MaxAuthTries & MaxSessions [SUGGESTION]

Aceste setări ajută la prevenirea atacurilor brute force și abuzului de resurse. MaxAuthTries limitează de câte ori cineva poate încerca să se autentifice înainte de a fi deconectat, în timp ce MaxSessions controlează câte conexiuni simultane poate avea un utilizator. Editați următoarele secțiuni în /etc/ssh/sshd_config:

MaxAuthTries 4 # Implicit este 6, ceea ce permite prea multe încercări
MaxSessions 2 # Implicit este 10, ceea ce de obicei este inutil

OpenSSH option: LogLevel [SUGGESTION]

Creșterea nivelului de jurnal vă ajută să detectați potențiale probleme de securitate oferind informații mai detaliate despre conexiunile SSH și încercările de autentificare. Modificați /etc/ssh/sshd_config și setați nivelul de jurnal la VERBOSE:

LogLevel VERBOSE

Nivelul implicit este INFO, care omite unele detalii utile de securitate.

OpenSSH option: AllowTcpForwarding, X11Forwarding, AllowAgentForwarding [SUGGESTION]

Aceste funcții permit diferite tipuri de forwarding prin conexiuni SSH. Cu excepția cazului în care sunt necesare în mod specific, ar trebui dezactivate, deoarece pot fi folosite pentru a ocoli firewall-urile sau pentru a expune servicii neintenționat. Modificați următoarele în /etc/ssh/sshd_config:

AllowTcpForwarding no
X11Forwarding no
AllowAgentForwarding no

După efectuarea oricăror modificări, mai întâi testați configurația pentru erori de sintaxă:

sudo sshd -t

Apoi, reporniți SSH pentru a aplica modificările:

sudo systemctl restart ssh

Tip solutie

Permanent

Voteaza

(15 din 30 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?