existe um módulo PAM para pesquisas DNSBL?

2

Eu tenho enumerado as preocupações de segurança remanescentes em um dos meus servidores de produção de back-end, quando cheguei à conclusão de que algo que poderia ser incrivelmente útil estava faltando no repositório upstream do meu sistema operacional.

Eu tenho procurado por um Módulo PAM , que verifica o endereço IP do Host Remoto em uma Lista de Bloqueios DNS ( DNSBL ).

Meu caso de uso é que ... Enquanto o IDS Software pode responder após detectar um teste, verificação de vulnerabilidade ou ataque de força bruta -

alguns serviços (i.e. Apache2, proFTPd, Sendmail, SpamAssassin) incluem um módulo ou recurso DNSBL , que ajudam a diminuir consideravelmente o número de máquinas que podem participar de um ataque. ele faz isso bloqueando máquinas infectadas ou zumbis conhecidas, proxies públicos e nós de retransmissão de saída TOR (por exemplo).

Outros, que eu saiba, não. Dovecot/Saslauthd não inclui essa funcionalidade. Estes são freqüentemente direcionados em ataques de força bruta na minha rede. esses serviços ainda são cobertos pelo sistema IDS, mas sofrem a grande maioria dos ataques.

Com um módulo PAM que verifica o IP do host remoto, durante a autenticação, contra um serviço DNSBL ... efetivamente ALL poderia ter essa camada extra de resiliência contra um ataque distribuído de força bruta, ou sonda (limitando as possíveis máquinas que podem ser usadas no dito ataque)

Eu estou querendo saber se existe um módulo PAM existente para servir a esse propósito? e se não, por que isso foi negligenciado pelos desenvolvedores?

Seria um módulo incrivelmente simples, que (na minha opinião) poderia servir a um grande propósito.

For now, I have wrote a script which interfaces with PAM (via the "pam_exec.so" module). For some reason, this is not working (simply causes BASH to crash). When I get the chance, I plan to try the "pam_script.so" module instead..

I would be willing to write a PAM Module to do this, but am not sure how hard it is to get a piece of software into the Debian or Ubuntu Repositories.

Obrigado

    
por RapidWebs 28.06.2014 / 23:30

3 respostas

1

Não estou ciente desse módulo. Sua segunda pergunta (por que) vai solicitar respostas que são baseadas principalmente em opiniões, já que não consigo pensar em nenhuma razão definitiva para a existência desse módulo PAM não existir .

Abaixo estão as considerações de design que identifiquei ao avaliar a viabilidade:

  • Velocidade : deve não atrasar logins para devagar e voltar. ssh + PAM já estão em um lugar ruim quando se trata de atrasos de DNS em configurações padrão. Eu diria até que as pesquisas de DNS para cada servidor devem ser feitas em paralelo, para evitar o empilhamento de timeouts um em cima do outro.
  • As novas tentativas são inválidas : usar a biblioteca C para pesquisas de DNS é bom, desde que as tentativas sejam consideradas como estando sob a alçada de /etc/resolv.conf . Se novas tentativas de DNS forem implementadas, o módulo não deve usar a biblioteca C para pesquisas de DNS. O resultado final seria operações de repetição aninhadas.
  • Ignorar intervalos de IP privados : o espaço RFC1918 (e semelhante) deve sempre obter um passe livre, pois é inútil transmitir essas informações para um DNSBL.
  • Considerações de bloqueio : o que acontece quando todo o DNS não está disponível? O módulo sempre falha no login, impedindo um IP privado? Isso deve ser documentado.
  • Gere erros de registro se você for chamado na pilha auth . A pilha auth é usada para autenticação. Este módulo não é usado para autenticar. As decisões que ignoram a pilha auth (chave SSH auth, GSSAPI auth, etc.) irão anular o módulo se o usuário a colocar lá.
por 30.06.2014 / 23:24
1

Eu sou mais um cara redhat, mas há tempos me pergunto sobre um módulo similar. Boa pergunta. Eu não vi um módulo para lidar com isso.

No que diz respeito ao software de publicação, isso pode ajudar.

Eu nunca tive boa sorte com os repositórios principais, mas o rpmforge (agora repoforge) tem algumas maneiras fáceis de se envolver. Veja aqui.

Para o debian / ubuntu, não vi um único grande repositório de terceiros. Todos parecem ser específicos do produto. Minhas coisas nunca pareciam se encaixar, e eu não poderia justificar a execução do meu próprio repositório público.

Eu tendia a deixar tudo o que precisava ser empacotado para derivativos do Debian na origem do github.

    
por 29.06.2014 / 03:36
0

Você pode implementar isso sem muita dificuldade, mas é uma má ideia fazer isso.

Primeiro, vamos lembrar o que é o PAM: é um sistema para o tratamento de logins de usuários . Autenticação, autorização, contabilidade, etc.

Então, onde esta proposta cai é:

  1. Diminuirá o logins legítimo . Normalmente, a lentidão será imperceptível, já que as pesquisas de DNS não demoram muito tempo, mas elas podem levar vários segundos ou simplesmente esgotar completamente o tempo limite. O que você faz quando isso acontece? Você recusa um usuário legítimo?
  2. Mais importante ainda, irá bloquear completamente logins legítimos, mesmo quando tudo estiver funcionando perfeitamente . Muitos usuários têm a infelicidade de estar em endereços IP dinâmicos, e podem estar em um computador cheio de malware que está participando de um botnet, fazendo com que o endereço IP seja listado em um DNSBL ou tenha recebido um endereço IP recentemente. é DNSBL listado mesmo que eles próprios estejam limpos.

Existem muitas maneiras de lidar com ataques de força bruta em vários serviços, sendo o mais comumente usado o fail2ban, mas essa proposta parece ser uma péssima idéia.

    
por 30.06.2014 / 23:37