Come si traccia la pulizia della cronologia di bash?

7

Mi piacerebbe prendere gli eventi quando la cronologia di bash è stata pulita o alcune righe sono state cancellate. Esistono best practice o strumenti di auditing con questa funzionalità?

    
posta inx 24.07.2017 - 17:02
fonte

2 risposte

9

Monitorare la cronologia di Bash è facile con uno script di shell, ma il solo controllo di modifiche inaspettate potrebbe non essere una misura di sicurezza efficace, ma piuttosto ingombrare i log con falsi positivi.

Un modo ovvio per monitorare gli eventi del file system associati al tuo file .bash_history è utilizzando inotify API . Ad esempio, questo si innesca su eventi di modifica del file:

$ inotifywait -m -e modify ~/.bash_history

È quindi possibile confrontare il contenuto ogni volta per determinare le modifiche o semplicemente confrontare il numero di righe per rilevare se le voci sono state eliminate con un overhead più piccolo. (Basta controllare la dimensione del file non funzionerà se la cronologia ha raggiunto la sua lunghezza massima e le vecchie voci sono state eliminate.)

Ma nota che è semplice per un utente malintenzionato aggirare il problema. Devi aspettarti che ogni intruso ragionevolmente qualificato immediatamente disabiliti la cronologia , piuttosto che rimuovere voci sospette in seguito. Inoltre, ci sono molti modi economici per bypassare completamente Bash senza provocare voci di registro (passare alla shell Bourne, eseguire da dentro, ecc.).

In generale, prenderei in considerazione il monitoraggio della cronologia di Bash per possibili manomissioni troppo inaffidabili e soggette a errori per essere una misura di sicurezza utile. Invece, prima assicurarmi di coprire i log in cui è più facile identificare gli incidenti rilevanti per la sicurezza ( /var/log/auth.log , ecc.).

    
risposta data 24.07.2017 - 17:42
fonte
3

Suppongo che tu voglia rilevare quando le persone hanno inserito qualche tipo di informazione privata nella loro shell e ora stanno cercando di rimuoverla dalla cronologia di bash.

Dal punto di vista di un utente malintenzionato, sarebbe facile creare semplicemente copie del file .bash_history e controllare la rimozione delle voci.

Se si sta facendo questo per evitare perdite accidentali di dati, suggerisco di risolvere questo per politica e di segnalare agli utenti tali errori e invalidare le informazioni. Quindi se una password è stata inserita accidentalmente la password dovrebbe essere cambiata.

Se vuoi davvero andare avanti con questo, ci sono strumenti non correlati alla sicurezza per monitorare le modifiche ai file.

Modifica: Penso che per rilevare gli attaccanti che cancellano le loro tracce questo è un metodo piuttosto debole in quanto è piuttosto semplice disabilitare o evitare la cronologia di bash.

    
risposta data 24.07.2017 - 17:19
fonte

Leggi altre domande sui tag