Ricerca nel sito web

Come proteggere i collegamenti fisici e simbolici in CentOS/RHEL 7


In Linux, i collegamenti hard e soft si riferiscono a file, che sono molto importanti, se non protetti molto bene, eventuali vulnerabilità in essi contenute possono essere sfruttate da utenti malintenzionati o aggressori.

Una vulnerabilità comune è la corsa ai link simbolici. Si tratta di una vulnerabilità di sicurezza nel software, che si verifica quando un programma crea file in modo non sicuro (in particolare file temporanei) e un utente malintenzionato del sistema può creare un collegamento simbolico (soft) a tale file.

Leggi anche: Come creare collegamenti fisici e simbolici in Linux

Questo praticamente accade; un programma controlla se esiste o meno un file temporaneo, in caso contrario crea il file. Ma nel breve periodo di tempo che intercorre tra il controllo del file e la sua creazione, un utente malintenzionato può creare un collegamento simbolico a un file e non gli è consentito l'accesso.

Pertanto, quando il programma viene eseguito con privilegi validi, crea il file con lo stesso nome di quello creato dall'aggressore, crea letteralmente il file di destinazione (collegato) a cui l'aggressore intendeva accedere. Ciò, quindi, potrebbe fornire all'aggressore un percorso per rubare informazioni sensibili dall'account root o eseguire un programma dannoso sul sistema.

Pertanto, in questo articolo, ti mostreremo come proteggere collegamenti fisici e simbolici da utenti malintenzionati o hacker nelle distribuzioni CentOS/RHEL 7.

Su CentOS/RHEL 7 esiste una funzionalità di sicurezza vitale che consente di creare o seguire collegamenti da parte di programmi solo se alcune condizioni sono soddisfatte come descritto di seguito.

Per collegamenti fisici

Affinché un utente del sistema possa creare un collegamento, deve essere soddisfatta una delle seguenti condizioni.

  • l'utente può collegarsi solo ai file di sua proprietà.
  • l'utente deve prima avere accesso in lettura e scrittura al file a cui desidera collegarsi.

Per collegamenti simbolici

I processi possono solo seguire collegamenti esterni alle directory scrivibili da tutti (gli altri utenti possono scrivere) che hanno bit permanenti, oppure una delle seguenti condizioni deve essere vera.

  • il processo che segue il collegamento simbolico è il proprietario del collegamento simbolico.
  • il proprietario della directory è anche il proprietario del collegamento simbolico.

Abilita o disabilita la protezione sui collegamenti fisici e simbolici

È importante sottolineare che, per impostazione predefinita, questa funzionalità è abilitata utilizzando i parametri del kernel nel file /usr/lib/sysctl.d/50-default.conf (il valore di 1 significa abilita ).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Tuttavia, per un motivo o per l'altro, se desideri disattivare questa funzionalità di sicurezza; crea un file chiamato /etc/sysctl.d/51-no-protect-links.conf con queste opzioni del kernel di seguito (il valore di 0 significa disabilita).

Tieni presente che 51 nel nome del file (51-no-protect-links.conf), deve essere letto dopo il file predefinito per sovrascrivere le impostazioni predefinite.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Salva e chiudi il file. Quindi utilizzare il comando seguente per effettuare le modifiche di cui sopra (questo comando carica effettivamente le impostazioni da ogni singolo file di configurazione del sistema).

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

Potrebbe interessarti anche leggere questi articoli seguenti.

  1. Come proteggere con password un file Vim in Linux
  2. 5 comandi "chattr" per rendere i file importanti IMMUTABLE (immutabili) in Linux

È tutto! Puoi pubblicare le tue domande o condividere eventuali pensieri relativi a questo argomento tramite il modulo di feedback sottostante.