Exibe uma mensagem quando a conta raiz é acessada por IP

0

Eu criei um script de execução automática que me enviará um email quando a conta raiz for acessada. Eu, no entanto, gostaria de aumentar ainda mais os detalhes dessa mensagem.

Eu tenho vários usuários que têm acesso ao meu servidor e gostariam de monitorar a conta principal, caso algo aconteça, eu possa ir até a pessoa e perguntar o que ela digitou.

Basicamente, o e-mail diria: "A conta ROOT foi acessada por [usuário] no endereço IP [endereço ip] em [h]: [min] [am / pm]"

Ou, se isso não for possível, posso me contentar com uma conta de usuário ou um endereço IP. Eu não sou exigente.

    
por Harley Frank 19.12.2017 / 04:23

1 resposta

2

/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.

    
por Kaz Wolfe 19.12.2017 / 04:37