Sì, ci sono molti motivi per cui vorresti avere una traccia di controllo completa di tutto ciò che viene fatto su un determinato server (o qualsiasi cosa tu faccia su qualsiasi server), e l'auditing è solo una piccola parte di esso.
Spesso le informazioni che in seguito si rivelano critiche vengono sempre e solo scaricate sulla console (non su qualsiasi file di registro) e avere una cronologia da esaminare può essere molto utile.
Inoltre è utile in un contesto CYA ("Chi ha cancellato il file passwd ieri?") e nella risoluzione dei problemi ricorrenti.
Puoi registrare le sessioni del tuo terminale utilizzando lo script , che puoi esaminare successivamente. Ho scritto uno script bash che ho chiamato scriptssh
che uso sulla mia casella locale quando voglio tenere un registro di una sessione ssh. Digito solo scriptssh
anziché ssh
per effettuare la connessione:
#!/bin/bash
# TODO: can choke on commands containing quotes.
BASE_DIR=$HOME/ssh-archive/
DT='date +%Y-%m-%d'
TM='date +%H.%M.%S'
# new directory for each day (makes filesystem much faster)
DIR=$BASE_DIR/$DT
[[ -d $DIR ]] || mkdir -p $DIR
# Sanitized for your protection
ARGLIST=$(sed 's/[^A-Za-z0-9.-]/_/g' <<< "$*")
# build filename based on date and passed-in arguments
FNAME=$DIR/$TM--$ARGLIST
# make sure filename is unique
if [[ -f $FNAME ]]; then
$I=0
while [[ -f $FNAME.$I ]] ; do (( $I += 1 )); done
FNAME=$FNAME.$I
fi
exec script -a -c "/usr/bin/ssh $*" $FNAME