O módulo PAM causa uma enxurrada de sessões SSH

2

Enquanto seguia /var/log/auth.log , notei que há várias entradas inseridas (instantaneamente) por minuto para o usuário "foo". Eu pessoalmente tive apenas uma conexão aberta como usuário "root_bar" enquanto segue o auth.log (amostra de log abaixo). Como você pode ver, não há informações de IP para essas conexões SSH de entrada. Qual é a melhor maneira de rastrear o endereço IP para conexões SSH de entrada?

Aug 10 14:30:04 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:04 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:06 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:06 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:08 ps2000 CRON[16879]: (pam_unix) session closed for user root_bar
Aug 10 14:30:14 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:14 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:16 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:16 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:27 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:27 ps2000 suexec: (pam_unix) session closed for user root_bar
Aug 10 14:30:39 ps2000 suexec: (pam_unix) session opened for user root_bar by (uid=999)
Aug 10 14:30:39 ps2000 suexec: (pam_unix) session closed for user root_bar

Isenção de responsabilidade: nome_do_servidor e todas as informações do usuário foram alteradas por razões de segurança.

Correção : A pergunta " Rastreando conexões SSH de entrada " foi respondida adequadamente pelos pôsteres abaixo. A mensagem suexec (pam_unix) session não indica necessariamente qualquer atividade de sshd como esclarecida por @aseq, e eu postei isso como uma questão de sshd devido à minha ignorância. Desde a pergunta original, e suas respostas são úteis, estou aceitando a resposta mais útil. Acho que rastrear suexec: (pam_unix) session é o candidato para uma pergunta separada.

Atualização final : descobri que as mensagens acima tinham a ver com o sshd. Depois de fazer alguns ajustes em /etc/pam.d/common-auth comecei a ver linhas como

Aug 10 16:45:23 candy_bass sshd[427]: (pam_unix) session opened for user summer_flag by (uid=0)
Aug 10 16:45:23 candy_bass sshd[427]: PAM pam_parse: expecting return value; [...sucess=1 default=ignore]
Aug 10 16:45:23 candy_bass sshd[427]: PAM pam_parse: expecting return value; [...sucess=1 default=ignore]
Aug 10 16:45:23 candy_bass sshd[427]: Accepted publickey for summer_flag from xxx.zzz.yyy.abc port 35964 ssh2
Aug 10 16:45:23 candy_bass sshd[427]: (pam_unix) session opened for user summer_flag by (uid=0)
Aug 10 16:45:23 candy_bass pam_limits[427]: setrlimit limit #11 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
Aug 10 16:45:23 candy_bass pam_limits[427]: setrlimit limit #12 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
Aug 10 16:45:23 candy_bass sshd[427]: (pam_unix) session closed for user summer_flag

Então, isso é relacionado ao sshd, no entanto, como isso é tão específico para um fornecedor de autenticação de token (cujo nome não estou divulgando para privacidade), acho que isso pode ser melhor solucionado pelo fornecedor.

    
por amateur barista 11.08.2012 / 00:01

4 respostas

3

Como são essas entradas de registro?

O servidor ssh deve registrar os endereços IP por padrão em /var/log/auth.log e outros arquivos de log, como:

Aug 1 12:21:30 example.host sshd[1174]: Failed password for invalid user example from 192.0.2.1 port 9460 ssh2
Aug 1 12:21:32 example.host sshd[1176]: Invalid user root from 192.0.2.10

Se as entradas de log que você está perguntando não tiverem a string "sshd", eu duvido que elas realmente vieram do servidor ssh e você precisa procurar em outro lugar. Olhe comeu a string que vem depois do nome do host, ele informa qual programa estava gravando o log.

Você também pode verificar / etc / ssh / sshd_config e ver se o nível de log está correto, o padrão no squeeze é:

# Logging
SyslogFacility AUTH
LogLevel INFO

Talvez a verbosidade crescente possa revelar mais informações. A entrada de log que você adicionou à sua pergunta deve ser precedida por entradas de log coladas acima.

    
por 11.08.2012 / 00:11
1

Você verá as conexões abertas e fechadas para o SSH sempre que uma conexão for feita, independentemente de alguém ter efetuado login com êxito ou não.

Para exibir mais informações sobre tentativas de login bem-sucedidas e com falha via ssh, consulte /var/log/secure e / ou /var/log/messages .

*** Observe que o local pode variar dependendo da distribuição do Linux e / ou do provedor de hospedagem. *

    
por 11.08.2012 / 00:14
0

Se você tiver acesso ao usuário root no servidor, você pode aproveitar o iptables para implementar uma instrução 'LOG' para todas as conexões NOVAS na porta tcp 22. Isso adicionaria informações ao arquivo / var / log / messages indicando o que conexões estão vindo de entrada para o seu servidor.

Se você estiver executando o IPv6, o firewall para lá seria iptables6 eu acredito.

    
por 11.08.2012 / 00:11
0

Resolvi a enxurrada de abrir e fechar sessões sobre auth.log problema comentando as configurações ChallengeResponseAuthentication e UsePAM em /etc/ssh/sshd_config de

ChallengeResponseAuthentication yes
UsePAM yes

para

#ChallengeResponseAuthentication yes
#UsePAM yes

Em outras palavras, eu desabilitei temporariamente o módulo PAM enquanto descobri com o fornecedor as configurações corretas.

    
por 11.08.2012 / 04:31