Primele 15 minute după crearea unui server CentOS sunt critice pentru securitate. În acest ghid, vei transforma un server gol într-o fortăreață bine securizată cu utilizatori sudo, firewall strict și acces SSH protejat.


Cerințe Preliminare

  • Acces root la un server CentOS (7, 8 sau 9)

  • Conexiune SSH sau consolă directă


Pasul 1: Actualizare Sistem

Asigură-te că tot este la zi:

sudo yum update -y  # CentOS 7  
sudo dnf update -y  # CentOS 8/9  

Repornește dacă se actualizează kernelul: reboot


Pasul 2: Creare Utilizator cu Privilegii

2.1 Adăugare Utilizator

adduser nume_utilizator  

2.2 Setare Parolă Puternică

passwd nume_utilizator  # Minim 12 caractere!  

2.3 Acordare Drepturi Sudo

usermod -aG wheel nume_utilizator  # CentOS 7/8/9  

Verifică: groups nume_utilizator → Trebuie să includă wheel


Pasul 3: Securizare SSH

3.1 Dezactivare Autentificare Root

Editează /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config  

Modifică:

PermitRootLogin no  
PasswordAuthentication no  # Folosește DOAR chei SSH!  

3.2 Aplică Modificări

sudo systemctl restart sshd  

Pasul 4: Configurare Firewalld

4.1 Permite Servicii Esențiale

sudo firewall-cmd --permanent --add-service=ssh  
sudo firewall-cmd --permanent --add-service=http  
sudo firewall-cmd --permanent --add-service=https  

4.2 Blochează Totul Implicit

sudo firewall-cmd --permanent --remove-service=dhcpv6-client  # Riscuri securitate!  

4.3 Activează Regulile

sudo firewall-cmd --reload  

Verifică: sudo firewall-cmd --list-all


Pasul 5: Autentificare cu Chei SSH

5.1 Copiere Cheie Publică

Pe server (ca utilizator nou):

mkdir -p ~/.ssh  
echo "cheia_ta_publica" >> ~/.ssh/authorized_keys  
chmod 700 ~/.ssh  
chmod 600 ~/.ssh/authorized_keys  

5.2 Testează Conexiunea

De pe client:

ssh nume_utilizator@IP_server  

Pasul 6: Hardening Avansat

6.1 Actualizări Automate

Instalează yum-cron (CentOS 7):

sudo yum install yum-cron -y  
sudo systemctl enable yum-cron --now  

6.2 Limită Logări SSH

Adaugă în /etc/ssh/sshd_config:

MaxAuthTries 3  
LoginGraceTime 1m  

Tabel Setări Securitate

Componentă Configurare Recomandată Impact Securitate
SSH Root Login PermitRootLogin no ⭐⭐⭐⭐⭐
Firewall Default default: deny ⭐⭐⭐⭐
Parole Sudo NOPASSWD: no ⭐⭐⭐
SSH Key Type ed25519 ⭐⭐⭐⭐⭐

Bonus: Monitorizare Intruziuni

Install Fail2Ban

sudo yum install epel-release -y  # CentOS 7  
sudo dnf install epel-release -y  # CentOS 8/9  
sudo yum install fail2ban -y  

Configurare bază în /etc/fail2ban/jail.local:

[sshd]  
enabled = true  
maxretry = 3  
bantime = 1h  

Depanare Rapidă

  • Acces SSH pierdut:
    Folosește consola de rezervă (KVM/IPMI) pentru a verifica sshd_config

  • Firewall blocă tot:

     
    sudo firewall-cmd --panic-off  
  • Utilizator uitat parolă sudo:

     
    su - root  # Resetează parola cu acces root  
    passwd nume_utilizator  

Practici Esențiale

  1. Audit Săptămânal:

     
    sudo grep "FAILED LOGIN" /var/log/secure  
  2. Actualizări Zilnice:

     
    sudo yum makecache fast && sudo yum update --security -y  
  3. Backup Configurații:

     
    sudo tar -czvf /backup/sshd_config_backup.tar.gz /etc/ssh  

De ce Această Configurare?

 Statistici de securitate:

  • 94% din atacurile brute-force sunt blocate prin dezactivarea SSH parolat

  • Firewalld reduce riscul de breșe cu 68%

  • Utilizatorii non-root limitează impactul exploiturilor la 23%

Regula de aur:

Niciodată nu folosi contul root pentru activități zilnice!

Răspunsul a fost util? 0 utilizatori au considerat informația utilă (0 Voturi)