Com protegir els enllaços durs i simbòlics a CentOS/RHEL 7


A Linux, els enllaços durs i suaus es refereixen a fitxers, que són molt importants, si no es protegeixen molt bé, qualsevol vulnerabilitat en ells pot ser explotada per usuaris del sistema maliciós o atacants.

Una vulnerabilitat comuna és la carrera d'enllaços simbòlics. És una vulnerabilitat de seguretat del programari, que es produeix quan un programa crea fitxers de manera insegura (especialment fitxers temporals) i un usuari del sistema maliciós pot crear un enllaç simbòlic (soft) a aquest fitxer.

Això pràcticament passa; un programa comprova si un fitxer temporal existeix o no, en cas que no ho faci, crea el fitxer. Però en aquest curt període de temps entre comprovar el fitxer i crear-lo, un atacant possiblement pot crear un enllaç simbòlic a un fitxer i no té permís per accedir-hi.

Així, quan el programa s'executa amb privilegis vàlids, crea el fitxer amb el mateix nom que el creat per l'atacant, literalment crea el fitxer objectiu (enllaçat) al qual l'atacant tenia la intenció d'accedir. Això, per tant, podria oferir a l'atacant una manera de robar informació sensible del compte root o executar un programa maliciós al sistema.

Per tant, en aquest article, us mostrarem com protegir enllaços durs i simbòlics d'usuaris o pirates informàtics maliciosos a les distribucions CentOS/RHEL 7.

A CentOS/RHEL 7 existeix una funció de seguretat vital que només permet que els programes creïn o segueixin enllaços només si es compleixen algunes condicions tal com es descriu a continuació.

Perquè un usuari del sistema pugui crear un enllaç, s'ha de complir una de les condicions següents.

  • l'usuari només pot enllaçar amb els fitxers que té.
  • Primer l'usuari ha de tenir accés de lectura i escriptura a un fitxer al qual vol enllaçar.

Els processos només poden seguir enllaços que es troben fora dels directoris que es poden escriure en el món (altres usuaris poden escriure-hi) que tenen bits enganxosos, o un dels següents ha de ser cert.

  • el procés que segueix l'enllaç simbòlic és el propietari de l'enllaç simbòlic.
  • el propietari del directori també és el propietari de l'enllaç simbòlic.

Activa o desactiva la protecció en enllaços durs i simbòlics

És important destacar que, de manera predeterminada, aquesta característica s'habilita mitjançant els paràmetres del nucli al fitxer /usr/lib/sysctl.d/50-default.conf (el valor d'1 significa activat).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Tanmateix, per un motiu o un altre, si voleu desactivar aquesta funció de seguretat; creeu un fitxer anomenat /etc/sysctl.d/51-no-protect-links.conf amb aquestes opcions del nucli a continuació (el valor de 0 significa desactivar).

Tingueu en compte que 51 al nom del fitxer (51-no-protect-links.conf), s'ha de llegir després del fitxer predeterminat per anul·lar la configuració predeterminada.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Desa i tanca el fitxer. A continuació, utilitzeu l'ordre següent per efectuar els canvis anteriors (aquesta comanda realment carrega la configuració de tots i cadascun dels fitxers de configuració del sistema).

# sysctl --system
OR
# sysctl -p  #on older systems

També us agradaria llegir aquests articles següents.

  1. Com protegir amb contrasenya un fitxer Vim a Linux
  2. 5 ordres chattr per fer que els fitxers importants siguin IMMUTABLES (incanviables) a Linux

Això és tot! Podeu publicar les vostres consultes o compartir qualsevol reflexió relacionada amb aquest tema mitjançant el formulari de comentaris a continuació.