Come tenere traccia delle avventure di un amministratore alle prime armi


8

Ho questo utente che ha privilegi sudo limitati, eppure riesce a sbagliare di tanto in tanto. Vorrei tenere d'occhio le sue avventure, in modo da poter annullare qualsiasi danno con meno scavi. Idealmente, vorrei un servizio con le seguenti funzionalità ben integrate e presentabili

  • Tiene traccia dell'input e dell'output della shell come ttyrec(o scripto sudose è impostata la registrazione) e può riprodurre la sessione come ttyplay (o scriptreplayoppure sudoreplay) La compatibilità con i programmi ncurses sarebbe piacevole, ma non necessaria, ttyrecapparentemente.
  • Tiene traccia dell'accesso, della creazione e della modifica dei file. Idealmente, potrebbe anche eseguire il backup di un file ogni volta che viene modificato o eliminato.

Finora ho trovato diversi strumenti che avrei dovuto impostare per ottenere la maggior parte delle funzionalità richieste, ma non ho trovato un prodotto OSS che li integrasse perfettamente (l'edizione della comunità Lynis non è molto chiara sulla funzionalità) .

  • Potrei mettere ttyrec $(mktemp), script $(mktemp)o sudo -u $USER -i(con sudo logging impostato) nel suo .bashrcper registrare la shell IO.
  • Impostare il controllo per monitorare l'accesso ai file in alcuni dirs, come /usr, /etc, /var.
  • Crea un'istantanea LVM quando accede, ma è un po 'eccessivo e potrebbe degradare le prestazioni del sistema.

EDIT: ttyrec sembra essere una migliore alternativa a script, soddisferebbe tutti i miei requisiti di registrazione IO. Ora ho bisogno di trovare un buon modo per registrare la manipolazione dei file.

Sarò grato per eventuali suggerimenti o raccomandazioni delle migliori pratiche.


3
Suggerimento: in alcuni paesi questo potrebbe non essere legale senza il permesso dell'utente.
Ciro,

2
@Cyrus grazie per il promemoria, lo saprebbe. Si tratta più di trovare un modo meno invadente e più automatico che di chiedergli di ricordare di eseguire sempre tutto in una scriptsessione. Non si tratta di spiarlo, ma di dargli la certezza che i suoi errori possono essere rintracciati.
Ondřej Grover,

3
Penso che questo utente non dovrebbe avere i privilegi di sudo.
dr_

1
@ dr01 idealmente sì, farei l'amministrazione per lui. Ma ciò non è sempre possibile. Non fa sempre casino, devo solo installare una rete di sicurezza.
Ondřej Grover,

2
Conserva anche la configurazione in VCS .
muru,

Risposte:


2

Forse potresti incoraggiare il tuo amministratore a utilizzare buone pratiche di registrazione. Gnu Screen lo fa abbastanza bene. Aggiunge molte più funzionalità di quelle che stai cercando e ha anche la possibilità di attivare / disattivare la registrazione, in modo da poterlo disattivare da solo, se lo desidera. Manca la funzionalità di riproduzione, ma potrebbe far parte di una soluzione, in quanto tiene traccia della maggior parte dell'input e dell'output quando la registrazione è attiva.

Nel tuo caso d'uso, vorresti aggiungere deflog onal file screenrc per avere un nuovo Windows predefinito con l'accesso.

Questo ha lo svantaggio di essere commutabile dall'utente.

È possibile eseguire il monitoraggio dei file utilizzando Monit , che controlla i checksum dei file per le modifiche e può anche controllare le condizioni di vari servizi. Combina questo con qualcosa come un rsync su un cronjob (dal momento che dovresti avere qualcosa del genere comunque) e hai un'idea abbastanza solida di esattamente cosa sta succedendo sul server, soprattutto se accendi timestamp molto stretti sullo schermo e ti fidi del tuo utente non giocherellare con le impostazioni di registrazione.

Combinando questi strumenti, dovresti avere un sistema abbastanza robusto e leggero che ti consenta di tenere d'occhio il tuo utente, garantendo al contempo un livello base di salvaguardia.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.