Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introdução

...

Introdução

Todo servidor ou computador ligado a uma rede é exposto a um certo grau de risco. Qualquer máquina, incluindo um VPSuma instânica, conectado conectada à internet é um alvo potencial para ataques maliciosos.

Ter um firewall bem configurado irá evitar muitos tipos de acesso ilegítimo, você ainda precisa abrir mão de certos serviços para permitir-se a capacidade de login e administrar o servidor. SSH é o serviço mais utilizado para entrar em sistemas remotos, e por isso também é um dos alvos mais frequentes.

Felizmente, existe uma ferramenta disponível que pode mitigar este vetor de ataque, chamado fail2ban . Isso fail2ban , essa ferramenta pode ser configurado configurada para permitir logins legítimos usando SSH, mas   e proibir endereços IP depois de terem falhado para autenticar corretamente após um determinado número de vezes.

Vamos instalar e configurar este software em um VPS Instância Debian 7.

Primeiro Passo - Instale fail2ban

Debian inclui fail2ban em seus repositórios padrão. Podemos fazer download e instalá-lo com o seguinte conjunto de comandoscomando:

sudo apt-get update
sudo apt-get install fail2ban

...

A configuração fail2ban é mantida no no diretório /etc/fail2ban diretório. O arquivo de configuração que especifica as regras que proíbem padrão é chamado chamado jail.conf .

 

Por causa da maneira que Fail2ban atualiza seus arquivos de configuração quando o programa tem uma nova versão, não devemos editar o arquivo de configuração padrão.

...

Aqui, podemos alterar qualquer configuração que não gostam que foram definidos foi definida na configuração padrão.

 

Configuração padrão

 

A sessão que começa começa [DEFAULT] configura padrões que podem ser substituídas em contextos mais específicos mais tarde na configuração. É uma boa ideia ter padrões fortes.

...

    • ignoreip: Este parâmetro recebe uma lista de endereços IP que devem ser excluídos das regras Fail2ban. Os endereços IP ou blocos listados aqui não terá restrições colocadas sobre eles, para escolhê-los com sabedoria e especificamente.

      • Endereços IP e intervalos são separados por espaço em branco.
      • Você deve adicionar o seu endereço residencial ou comercial IP para o final da lista de modo que você não será bloqueado, se você está tendo problemas para acessar.
      • Isso será algo como: "ignoreip = 127.0.0.1/8 YOUR_IP_ADDRESS "
    • bantime: Esta lista a quantidade de tempo que uma proibição vai durar, se o cliente não consegue autenticar corretamente. É dado em segundos.

      • O valor padrão proíbe clientes por 10 minutos.
    • maxretry: Este parâmetro especifica o número de tentativas que são permitidas antes de uma proibição ser instituída.

...

  • banaction: Esta configuração especifica o arquivo de configuração que será usada quando a proibição é necessária.

    • O valor deste parâmetro refere-se a um arquivo no no diretório /etc/fail2ban/action.d diretório, que irá lidar com o processo de proibição real.
    • O valor padrão usa iptables (um firewall) para proibir um IP em todas as portas quando ele falha a autenticação. Vamos olhar para as regras que proíbem IP específicos mais tarde. 
  • action: Este parâmetro especifica um dos atalhos de ação listados acima dela. Ele basicamente chama um banaction um banaction roteiro (como mencionado acima), e em seguida, atribui informação apropriada para variáveis e as passa para o script.

    • A ação padrão é é action_ , que chama o script e passa o nome, porta, protocolo, e da cadeia para o script. Não envia um endereço de e-mail ou linhas de log como algumas das outras ações fazem.

...

Se você deseja configurar e-mail, você terá que editar a action action parâmetro como mencionado acima. Alterar a ação a qualquer "mw ação" ou "mwl ação" para ter a informação de e-mail passado para o script proibição.

Se você configurou a entrega de correio local, você pode verificar o e-mail, escrevendo:

sudo nano /var/mail/mail

Configurar

...

as cadeias de Aplicação Específica

Mais abaixo no arquivo, você deve ver ações marcadas como esta:

[application_name]

Deve ser capaz de decifrar a maioria dos parâmetros.

filter  parâmetro especifica um arquivo dentro do do diretório /etc/fail2ban/filter.d diretório. Isto diz fail2ban como analisar o arquivo de log do programa de attemts falha de autenticação.

logpath logpath variável contém o caminho para o arquivo de log do serviço, que Fail2ban irá analisar as falhas.

Você pode substituir qualquer um dos outros parâmetros padrão aqui. Por exemplo, o maxretry maxretry opção é diferente para SSH do que a opção Dault em uma instalação Debian.

Terceiro Passo - Configurar iptables

...

Abra o arquivo que foi especificado na nossa configuração de prisão sob a banaction banaction parâmetro:

sudo nano /etc/fail2ban/action.d/iptables-multiport.conf

Aqui, podemos ver o que realmente acontece quando uma chamada fail2ban chamadas proibiram proibi um IP. Ele usa o software de firewall (iptables) para implementar regras.

...

O tráfego de controles de software iptables tem base em "funis", ou "correntes". Cada um desses funis aplica regras em todo o tráfego que é dado a ele a fim de decidir se é aceitável ou não.

 

A primeira linha, iptables -N fail2ban-<name> , cria uma nova cadeia com o nome "fail2ban-" com o nome do serviço seguinte. Isto irá manter as regras que proíbem determinados endereços IP.

 

A próxima linhaiptables -A fail2ban-<name> -j RETURN , adiciona uma regra para a cadeia que acabamos de criar, que informa ao iptables para retornar o controle para a cadeia que chamou esta cadeia.

 

A última linha, iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name> , adiciona uma regra para a chain (corrente) INPUT (especificado em nosso arquivo jail.local), que imediatamente passa o controle para a nossa nova cadeia fail2ban.

...

Se você gostaria de ver quais as regras são implementadas e que os endereços IP são actualmente proibidaatualmente proibidos, você pode verificar as regras do iptables atual, digitando:

...

Para testar as novas regras, você pode criar outra instância VPS instâncias e autenticar incorretamente algumas vezes na finalidade de vezes suficientes a partir dessa máquina para acionar a regra proibição. Depois disso, a sua chamada SSH não vai voltar a solicitação da senha.

...

Você pode ver a nova segunda regra a partir do fundo. 

Conclusão

 

Agora você deve ter alguma segurança adicional, tornando o seu servidor um alvo mais difícil de para ataques de força bruta. Enquanto isso é um grande começo, uma solução mais completa seria desabilitar a autenticação de senha completamente e permitindo apenas a autenticação baseada em chave.

...