Registra toda a atividade de raiz com nome de usuário original que su'd / sudoed para root

10

Qual é o método preferido para rastrear quem está agindo como root nos logs quando o login raiz está desabilitado (SSH), mas os usuários podem executar sudo -i ou su - para se tornarem root? Eu gostaria de seguir todos os comandos com o nome de usuário original também. RHEL 6 ou qualquer rsyslog Linux, etc.

    
por Gregg Leventhal 02.09.2014 / 00:21

3 respostas

7

Os métodos mais robustos parecem ser auditados:

link

O Auditd basicamente intercepta todas as chamadas do sistema e as verifica em relação ao seu conjunto de regras. Então, no seu arquivo /etc/audit/audit.rules você teria algo como o seguinte:

# This file contains the auditctl rules that are loaded
# whenever the audit daemon is started via the initscripts.
# The rules are simply the parameters that would be passed
# to auditctl.

# First rule - delete all
-D

# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320

# Feel free to add below this line. See auditctl man page
-a always,exit -F euid=0 -F perm=wxa -k ROOT_ACTION

A última regra é a única regra não padrão.

A principal desvantagem dessa abordagem (e a razão pela qual eu encontrei essa pergunta enquanto procurava alternativas) é que os arquivos de log brutos são bastante ocultos e são úteis somente após a execução do programa de consulta no arquivo de log bruto: ausearch

Um exemplo de consulta para essa regra seria:

ausearch -ts today -k ROOT_ACTION -f audit_me | aureport -i -f

Uma solução de senso comum provavelmente seria criar um cron que consultaria seus logs de auditoria e os enviaria para sua solução de registro.

    
por 19.02.2015 / 21:57
3

Em distros da Red Hat, você normalmente usa o log /var/log/secure para identificar quem está fazendo login ou fazendo uso de sudo em um sistema Fedora / CentOS / RHEL.

Exemplos

sudo example
$ sudo -Es

resultado do registro:

Sep 1 19:32:51 greeneggs sudo: saml : TTY=pts/2 ; PWD=/home/saml ; USER=root ; COMMAND=/bin/bash

su exemplo
$ su -

resultado do registro:

Sep 1 19:34:49 greeneggs su: pam_unix(su-l:session): session opened for user root by saml(uid=1000)

    
por 02.09.2014 / 01:35
3

Se você tiver usuários cooperantes, você pode configurar o rootsh para registrar todos os tipos de usuários root no syslog.

link

rootsh rpms estão disponíveis no EPEL.

A versão do sudo no RHEL6 também é capaz de logar o stdout em um arquivo para cada sessão do sudo. Olhe para a página de manual do sudo_plugins.

Nenhuma dessas abordagens é completamente à prova de balas.

    
por 02.09.2014 / 03:42

Tags