/var/log/auth.log
contém um pouco do que você deseja. Por exemplo, escalar para a raiz usando sudo -s
gerou esta entrada:
Dec 18 19:31:23 kazwolfe sudo: kazwolfe : TTY=pts/1 ; PWD=/home/kazwolfe ; USER=root ; COMMAND=/bin/bash
Dec 18 19:31:23 kazwolfe sudo: pam_unix(sudo:session): session opened for user root by kazwolfe(uid=0)
De lá, posso ver o comando who
para obter o endereço IP de pts/1
:
kazwolfe pts/1 2017-12-18 19:30 (2001:db8::4665)
Essa seção entre parênteses é meu endereço IPv6 e pode ser usada como uma entrada de log. Você também pode ver quando carreguei minha sessão.
auth.log
também conterá outras entradas para o sudo:
Dec 18 19:33:30 kazwolfe sudo: kazwolfe : TTY=pts/1 ; PWD=/home/kazwolfe ; USER=root ; COMMAND=/bin/cat data
Dec 18 19:33:30 kazwolfe sudo: pam_unix(sudo:session): session opened for user root by kazwolfe(uid=0)
Dec 18 19:33:30 kazwolfe sudo: pam_unix(sudo:session): session closed for user root
Dec 18 19:33:40 kazwolfe sudo: kazwolfe : TTY=pts/1 ; PWD=/home/kazwolfe ; USER=root ; COMMAND=/usr/bin/tail /var/log/auth.log
Dec 18 19:33:40 kazwolfe sudo: pam_unix(sudo:session): session opened for user root by kazwolfe(uid=0)
Contanto que você force seus administradores a passarem por sudo
, você terá essas entradas de registro geradas em cada escalação. No entanto, é importante observar que um usuário root pode obscurecer ou modificar esses logs para ocultar as coisas.
Se preferir não ligar aos arquivos de log, você pode definir sudo
para sempre envia um e-mail (veja man sudoers
), embora esteja ciente de que isso pode gerar um lote de e-mails inúteis.
Se você fizer isso, seu e-mail conterá quase as mesmas informações que as listadas acima. Os endereços IP ainda precisarão ser consultados separadamente, mas você sempre poderá usar o comando last
para obter os últimos logins também.
Os administradores precisarão ser muito rápidos para interceptar as coisas, então será difícil ocultar danos (embora possam excluir e-mails da sua caixa de entrada, caso estejam no mesmo servidor). Dito isso, esses logs ainda não fornecem informações sobre o que eles fizeram dentro de uma sessão sudo
(especialmente se eles escalaram para um prompt de comando). Soluções para isso são muito mais complicadas.