Proteja o servidor ssh

Proteja o servidor ssh

Eu tenho uma máquina debian rodando vários serviços, como apache com http e https, jabber e um servidor openssh para administração. O servidor ssh não está rodando na porta 22. Está em algo como a porta 62111. Eu protejo o openssh com fail2ban. Portanto, sempre que um invasor tenta se conectar ao ssh na porta 62111, ele tem duas tentativas antes de ser banido por dois dias pelo fail2ban na porta 62111.

Eu gostaria de iniciar um servidor SSH (falso) na porta 22 e sempre que alguém tentar se conectar a essa porta ele será banidotodosporta pelo iptables para sempre ou pelo menos até eu abandonar a regra do iptables. Qualquer conexão SSH legal não tentará fazer ssh na porta 22, porque todo administrador conhece a porta SSH correta.

A ideia é que um invasor tente atacar primeiro a porta 22. Portanto, ele nem teve a chance de tentar fazer o SSH na porta 62111. Não me importo com esses crackers para ver meu site. Portanto, não há problema em bloqueá-los em qualquer porta (incluindo 80 e 443).

Alguma sugestão sobre como fazer isso?

Responder1

Vou tentar sugerir outra solução para os paranóicos :)

http://www.portknocking.org/view/

Funciona exigindo tentativas de conexão a uma série de portas fechadas predefinidas. Quando a sequência correta de "tocadas" nas portas (tentativas de conexão) é recebida, o firewall abre determinadas portas para permitir uma conexão.

E, claro, apenas autenticação de chave SSH.

Responder2

Não é uma boa ideia (IMHO).

Uma conexão com a porta 22 não significa automaticamente que alguém está tentando invadir seu servidor.

Para proteger seu servidor de hackers/crackers siga algumas regras simples (ex).

  • Use ferramentas como fail2ban sábio
  • mantenha seus serviços (ssh, http,...) sempre atualizados
  • use senhas fortes (e altere-as circularmente)
  • use chaves ssh para sshd e desative a autenticação por senha

Responder3

Se você quiser executar o sshd em outra porta e ainda usar o mesmo fail2ban etc - encontrei um manual muito bom e semelhante aqui:http://www.kudos.be/multiple_sshd

Vou postar novamente e mudar as coisas para você aqui:

O objetivo é executar o mesmo daemon em duas portas diferentes e desabilitar qualquer tipo de autenticação em uma instância.

  1. Configuração de cópia:

    cd /etc/ssh/sshd_config /etc/ssh/sshd_config-fake

  2. altere a configuração de acordo com isto:

    alterar Port, SyslogFacility, *Authenticationstrings (desativar para falso),PidFile

  3. crie o link simbólico: ln -s /usr/sbin/sshd /usr/sbin/sshd-fake

  4. crie o script de inicialização: cp /etc/init.d/sshd /etc/init.d/sshd-fakee modifique o conteúdo do arquivo sshd-fake de acordo.

  5. altere /etc/sysconfig/sshd-fake:OPTIONS="-f /etc/ssh/sshd_config-fake"

  6. adicionar serviçochkconfig --add sshd-fake

  7. criar configuração pam:cp /etc/pam.d/sshd /etc/pam.d/sshd-fake

  8. edite /etc/pam.d/sshd-fake e proíba tudo, ou use um método diferente, como permitir usuários listados no arquivo:http://linux.die.net/man/8/pam_listfile

  9. reinicie os serviços:service sshd restart;service sshd-fake restart;chkconfig sshd-fake on

  10. configure o fail2ban adequadamente

Responder4

Pode não ser o mais elegante, mas deve ser rápido e funcional:

iptables -I INPUT --m recent --name blocked --rcheck -j DROP
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --name blocked --set

Explicação:

Insira uma regra de firewall (no topo) na cadeia de entrada, que verifica se o endereço de origem do pacote está atualmente na lista de "bloqueados" e, se estiver, DROP-o.

Insira outra regra de firewall (acima daquela que acabamos de inserir) na cadeia de entrada que adiciona o endereço de origem de qualquer tentativa de conexão à porta 22 à lista de "bloqueados".

Não vejo necessidade de executar um servidor (falso) ou qualquer ouvinte na porta 22.

Editar: olhando minha resposta, quero acrescentar que você provavelmente deveria expirar sua lista de bloqueados de alguma outra forma que não

"para sempre ou pelo menos até eu abandonar a regra do iptables"

porque você receberá muitos acessos de endereços IP dinâmicos que serão posteriormente (em questão de horas ou até minutos) reatribuídos a usuários legítimos.

Ver:http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.html#ss3.16

informação relacionada