Como omitir mensagens de log do PAM para usuários específicos (pam_succeed_if quiet)

0

Estou usando um agente de monitoramento ( telegraf ) para monitorar o fail2ban. Infelizmente, ele requer que os direitos do SuperUser executem fail2ban-client , o que causa 24 mensagens de log do sistema a cada 10 segundos ... Faça as contas, meu log do sistema está totalmente confuso.

Gostaria de suprimir essas mensagens no log do meu sistema, se possível, causado apenas pelo telegraf:

sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
sudo: pam_unix(sudo:session): session closed for user root

Eu tentei usar uma "regra" personalizada em /etc/pam.d/sudo para suprimir essas mensagens, sem sucesso:

# cat /etc/pam.d/sudo
#%PAM-1.0

session    required   pam_env.so readenv=1 user_readenv=0
session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
session [default=ignore] pam_succeed_if.so quiet uid = 0 user = root ruser = telegraf
@include common-session-noninteractive

Apenas a linha que começa com session foi adicionada nesse arquivo. A solução foi adaptada de Como parar as mensagens do sudo PAM no auth.log para um usuário específico?

No entanto, as mensagens de log ainda aparecem em /var/log/auth.log , bem como journalctl -xe

Já experimentei quiet_success e quiet flags (encontrados em man pam_succeed_if ). Também usando success=1 faz telegraf falhar em executar fail2ban-client , eu acho que precisa de um tty interativo?

Isso é registrado usando o sinalizador debug :

Sep 20 11:34:51 host sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Sep 20 11:34:51 host sudo: pam_succeed_if(sudo:session): 'uid' resolves to '0'
Sep 20 11:34:51 host sudo: pam_succeed_if(sudo:session): 'user' resolves to 'root'
Sep 20 11:34:51 host sudo: pam_succeed_if(sudo:session): 'ruser' resolves to 'telegraf'
Sep 20 11:34:51 host sudo: pam_unix(sudo:session): session closed for user root

Tanto quanto eu posso dizer, a "regra" corresponde a uid, usuário e usuário corretamente, mas não suprime mensagens de log. Estou perdendo uma reinicialização ou o que está acontecendo?

    
por NoMad 20.09.2018 / 14:44

1 resposta

0

Consegui fazê-lo funcionar com a seguinte configuração ( /etc/pam.d/sudo )

#%PAM-1.0

session [success=done default=ignore] pam_succeed_if.so quiet uid = 0 user = root ruser = telegraf
session    required   pam_env.so readenv=1 user_readenv=0
session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive

Para ser honesto, não sei qual foi o problema, mas imaginei que talvez a ordem seja importante. Por favor, use esta informação por sua conta e risco, não tenho idéia do que estou fazendo ... Mas meu syslog parece muito mais limpo agora:)

(Alguém explicando a situação ainda seria muito apreciado)

    
por 26.09.2018 / 15:53