Cum să vă faceți serverul invizibil cu Knockd

Como tornar seu servidor invisível com Knockd

⌛ Reading Time: 4 minutes

Quando você tem um servidor que é acessível publicamente, os hackers podem facilmente escanear seu endereço IP e verificar se há portas abertas (particularmente a porta 22 que é usada para SSH) em seu servidor. Uma maneira de esconder seu servidor de hackers é knockd. Knockd é um servidor port-knock. Ele escuta todo o tráfego em uma Ethernet ou outras interfaces disponíveis, esperando por sequências especiais de acessos de porta. Clientes como telnet ou Putty iniciam acessos de porta enviando um TCP ou pacote para uma porta no servidor.

Neste artigo, veremos como podemos usar o knockd para ocultar serviços em execução em um servidor Linux.

Instale Knockd em um servidor Linux

Knockd está disponível na maioria dos repositórios da distro. Em um servidor baseado em Debian / Ubuntu / Ubuntu, você pode usar o apt-get comando para instalar o knockd.

Para usuários Fedora, CentOS ou REHL, você pode usar o yum comando:

Instalar e configurar Iptables

Se você não tem Iptables instalado em seu servidor, instale-o agora.

O pacote iptables-persistent assume o carregamento automático de iptables salvos.

Em seguida, você precisa permitir conexões já estabelecidas, bem como sessões atuais através do iptables. Use o seguinte comando para realizar esta tarefa:

Em seguida, você precisa bloquear todas as conexões de entrada para a porta 22 SSH.

Agora vamos salvar as regras de firewall por meio dos seguintes comandos:

Você pode ir em frente e verificar se realmente bloqueou a porta 22 conectando-se ao servidor por meio do computador.

Configurar Knockd

Agora é hora de definir as configurações padrão do knockd. Ele está localizado em “/etc/knockd.conf.” Para fazer isso, mude para o arquivo de configuração knockd usando o seguinte comando:

Para fins de ilustração, estou usando o editor leafpad. Em seu servidor, você pode usar nano ou Vi.

A captura de tela mostra o arquivo de configuração do knockd.

  • Opções: Você pode encontrar opções de configuração para Knockd neste campo. Como você pode ver na imagem acima, ele usa syslog para registro.
  • OpenSSH: Este campo é composto por flags de seqüência, tempo limite de seqüência, comando e tcp.
  • Seqüência: Mostra a sequência de portas que pode ser usada como padrão pelo cliente para iniciar uma ação.
  • Tempo limite de sequência: Mostra o tempo total alocado aos clientes para concluir a sequência de batida de porta necessária.
  • Comando: Este é o comando que será executado assim que a sequência de batida pelo cliente corresponder ao padrão no campo de sequência.
  • TCP_FLAGS: Esta é a bandeira que deve ser colocada nas batidas do cliente. Se o sinalizador estiver incorreto, mas o padrão de detonação estiver correto, a ação não será acionada.

Nota: O comando iptables na seção OpenSSH no arquivo de configuração Knockd usa o -A opção de anexar esta regra ao final da cadeia INPUT. Isso faz com que todas as conexões restantes caiam.

Para evitá-lo, substitua-o pelo seguinte:

Este comando garante que uma nova regra será adicionada ao topo da cadeia INPUT para aceitar conexões ssh.

Ativar e iniciar o serviço Knockd

Use o seguinte procedimento para habilitar o serviço knockd em “/ etc / default / knock.”

Altere o valor de 0 a 1 conforme mostrado na imagem.

knockdconf

knockdconf-1

Em seguida, salve e feche o arquivo “/ etc / default / knockd.”

Em seguida, você pode iniciar o serviço knockd usando um dos seguintes comandos:

ou

É hora de testar o seu servidor Linux

Agora é hora de testar seu servidor SSH Linux. Para abrir a porta 22 em um endereço IP especificado, use o seguinte em seu computador. (Você precisará instalar knockd no seu computador também)

Você precisa substituir “my-server-ip” pelo endereço IP do seu servidor.

Agora você pode se conectar à porta 22 SSH usando o seguinte comando:

Depois de concluir o que deseja fazer por meio da porta 22, você pode fechá-la usando o seguinte comando:

Conclusão

Com o knockd, você tem a certeza de que seu servidor SSH está protegido e protegido de invasores com scanners sofisticados. Além disso, você é totalmente responsável pelo seu servidor SSH.