10 pași pentru a securiza serverul Linux pentru mediul de producție

nov. 28, 2021
admin
Megha Pandey
Megha Pandey

Follow

Oct 5, 2017 – 6 min citește

Securizarea serverului Linux este esențială pentru a ne proteja datele de hackeri. Dar securizarea unui server nu trebuie să fie complicată .ar trebui să adoptăm o metodă care să ne protejeze serverul de cele mai frecvente atacuri împreună cu o administrare eficientă .

Cu toate acestea, nu luați lucrurile de la sine. Chiar și cele mai întărite servere pot fi deturnate prin exploatarea oricărei componente vulnerabile care rulează pe acel server.

Instalați ceea ce aveți nevoie

Prima regulă este să vă păstrați serverul simplu și eficient. Instalați doar acele pachete de care aveți cu adevărat nevoie. Dacă există pachete nedorite; epurați. Cu cât mai puține pachete, cu atât mai puține șanse de a avea cod nepotrivit.

Activați SELinux

Security-Enhanced Linux (SELinux) este un mecanism de securitate de control al accesului furnizat în kernel.

SELinux oferă 3 moduri de operare de bază :

  • Enforcing: Acesta este modul implicit care activează și aplică politica de securitate SELinux pe mașină.
  • Permisiv: În acest mod, SELinux nu va aplica politica de securitate pe sistem, ci doar avertizează și înregistrează acțiunile.
  • Dezactivat: SELinux este dezactivat.

Se poate gestiona din fișierul ‘/etc/selinux/config’, unde îl puteți activa sau dezactiva.

Secure Console Access

Trebuie să protejați accesul la consola serverelor Linux prin dezactivarea pornirii de pe dispozitive externe, cum ar fi DVD-uri / CD-uri / pen USB, după configurarea BIOS. De asemenea ,setați parola BIOS și a încărcătorului de boot grub pentru a proteja aceste setări.

Restricționați utilizarea parolelor vechi

Puteți restricționa utilizatorii să utilizeze aceleași parole vechi. Fișierul de parole vechi se află la /etc/security/opasswd. Acest lucru se poate face prin utilizarea modulului PAM.

Deschideți fișierul ‘/etc/pam.d/system-auth’ sub RHEL / CentOS / Fedora.

# vi /etc/pam.d/system-auth

Deschideți fișierul ‘/etc/pam.d/common-password’ sub Ubuntu/Debian/Linux.

# vi /etc/pam.d/common-password

Adaugați următoarea linie la secțiunea ‘auth’.

auth sufficient pam_unix.so likeauth nullok

Adaugați linia de mai jos la secțiunea ‘password’ pentru a nu permite unui utilizator să reutilizeze ultimele 3 parole.

password sufficient pam_unix.so nullok use_authtok md5 shadow remember=3

Ultimele 3 parole sunt reținute de server. Dacă încercați să utilizați oricare dintre ultimele 3 parole vechi, veți primi o eroare de genul.

Verifică porturile de ascultare

Utilizați comanda ‘netstat’ pentru a vedea porturile deschise și serviciile corespunzătoare .

netstat -tunlp 

Dezactivați serviciile nedorite din sistem folosind comanda ‘chkconfig’ și închideți porturile care nu sunt necesare.

chkconfig serviceName off

Dezactivați autentificarea Root

Nu este recomandabil să intrați prin ssh în serverul dvs. ca superutilizator (root). Ar trebui să dezactivăm ssh ca utilizator root pe server, dar înainte de a face acest lucru, să creăm un utilizator cu puteri sudo, astfel încât să puteți intra prin ssh în server și să efectuați sarcini administrative. Odată ce sunteți conectat la server, puteți oricând să schimbați utilizatorul în root, dacă este necesar.

Crearea unui nou utilizator :

useradd user1

Crearea parolei pentru utilizatorul adăugat :

passwd user1

Aprovizionați utilizatorul nou adăugat cu permisiuni sudo :

echo 'user1 ALL=(ALL) ALL' >> /etc/sudoers

SSH la server cu noul utilizator și asigurați-vă că autentificarea funcționează.

Acum vom dezactiva autentificarea root, ceea ce înseamnă că nimeni nu poate face ssh sau se poate autentifica pe server ca utilizator root. Pentru a face acest lucru, deschideți fișierul de configurare sshd:

nano /etc/ssh/sshd_conf

În continuare, decomentați linia care spune

PermitRootLogin no

Apoi salvați și închideți acest fișier și reporniți serviciul

service sshd restart

Important: Nu vă deconectați încă de pe server. Testați mai întâi dacă puteți intra cu succes prin ssh în server folosind utilizatorul creat anterior. Deschideți o altă instanță a terminalului și intrați prin ssh în server cu utilizatorul pe care l-ați creat anterior. Dacă totul funcționează bine, vă puteți deconecta în siguranță de pe server ca root.

Schimbarea portului

Puteți schimba portul SSH implicit pentru a adăuga un strat de opacitate pentru a vă păstra serverul în siguranță .

Deschideți fișierul /etc/ssh/sshd_config

înlocuiți portul implicit 22 cu un număr diferit de port, să zicem 1110

salvați & ieșiți din fișier

service sshd restart

Acum pentru a vă conecta definiți portul nr.

ssh username@IP -p 1110

Dezactivați Ctrl+Alt+Delete în Inittab

Să apăsați Ctrl+Alt+Delete va duce serverul dumneavoastră la procesul de repornire. Deci, este întotdeauna recomandabil să dezactivați acest lucru, deoarece cineva poate reporni din greșeală sistemul.

Acțiunea Ctrl+Alt+Del este definită în /etc/init/control-alt-delete.conf .Comentați linia de mai jos

Conectare fără parolă

Ne putem conecta cu ușurință la serverul nostru prin SSH fără nicio parolă prin generarea cheilor ssh. Aveți grijă doar să vă puteți conecta la server doar de pe acea mașină pe care ați generat cheile ssh

Generarea cheilor SSH-keys :

ssh-keygen - t rsa

Copiază cheia ta SSH publică , apoi adăugați-o în server

cat ~/.ssh/id_rsa.pub

Pentru a adăuga chei ssh în server

Să presupunem că avem utilizatorul-user1 pentru a oferi acces cu cheia ssh la server

cd /home/user1
ls -ll

Creăm un fișier .ssh și în interiorul acestuia creați un fișier numit authorized_keys și adăugați cheia publică ssh a utilizatorului în același director

mkdir .ssh
cd /home/admin/.ssh
vim authorized_keys

Adaugați cheia publică SSH și apoi schimbați proprietarul fișierului fișier

chown user1 authorized_keys

Dezactivați conectarea ssh

Editați /etc/ssh/sshd_config

Passwordauthentication no
PermitRootLogin no

Acum, numai utilizatorul autorizat se poate conecta la server cu comanda

ssh user-name@serverIP -p(port Number)
ssh user-name@serverIP -p(port Number)

Fail2Ban pentru conectarea SSH

Fail2ban funcționează prin modificarea dinamică a regulilor de firewall pentru a interzice adresele care au încercat fără succes să se conecteze de un anumit număr de ori.

Instalați Fail2ban :

sudo apt-get update
apt-get install fail2ban

Creați un nou fișier jail.local și copiați conținutul fișierului jail.config în acesta și faceți modificările doar în fișierul jail.local

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Editați /etc/fail2ban/jail.local

Realizați modificările dorite:


enabled = true
port = ssh ( provide the port number if the default port is changed )
protocol = tcp
filter = sshd
logpath = /var/log/secure
maxretry = 3 ( max no. of tries after which the host should be banned)
findtime = 600 (This parameter sets the window that fail2ban will pay attention to when looking for repeated failed authentication attempts in seconds)
bantime = 600 (time duration for which the host is banned -in seconds)

Apoi reporniți serviciile fail2ban

service fail2ban restart

IP poate fi blocat permanent prin setarea bantime = -1.

Nota: FAIL2BAN va bloca IP-ul global .

Securitatea obișnuia să fie un inconvenient uneori, dar acum este o necesitate tot timpul – Martina Navratilova

Mulțumesc pentru lectură . Dacă ți s-a părut util acest articol, câteva aplauze ar însemna foarte mult!

Rămâi conectat 🙂

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.