Como usar a batida portuária para proteger o serviço SSH no Linux

Como usar a batida portuária para proteger o serviço SSH no Linux

Porto batendo é uma técnica bacana para controlar o acesso a uma porta, permitindo apenas os usuários legítimos acesso ao serviço em execução em um servidor. Funciona de tal maneira que, quando a sequência certa de tentativas de conexão é feita, o firewall abre de bom grado a porta que foi fechada.

A lógica por trás da batida do porto é proteger seu sistema Linux de scanners de porta automatizados que procuram portas abertas. Neste guia, examinamos como você pode instalar a porta da porta e como pode configurá -lo para proteger o serviço SSH. Para fins de demonstração, usaremos Ubuntu 18.04.

Etapa 1: Instale e configure Knockd

Para começar, faça login no seu sistema Linux e instale o Knockd Daemon como mostrado.

$ sudo apt install knockd 

Uma vez instalado, abra o Knockd.conf Configuração com seu editor de texto preferido. Aqui, estamos usando o editor de texto da linha de comando Vim.

$ sudo vim /etc /knockd.conf 

O arquivo de configuração padrão aparece o seguinte.

arquivo de configuração knockd

Debaixo de [OpenSsh] Seção, precisamos alterar a sequência de bate padrão - 7000,8000,9000 - para outra coisa. Isso ocorre porque esses valores já são conhecidos e podem comprometer a segurança do seu sistema.

Para fins de teste, definimos os valores para 10005, 10006, 10007. Esta é a sequência que será usada para abrir a porta SSH de um sistema de clientes.

Na terceira linha - começando com comando, mudar -A para -EU logo após o /sbin/iptables comando e antes ENTRADA.

E por último, sob o [Closessh] Seção, novamente, altere a sequência padrão para sua escolha preferida. Esta é a sequência que será usada para fechar a conexão SSH assim que o usuário for feito e registrar o servidor.

Aqui está nossa configuração completa.

Configurações de configuração knockd

Depois de terminar, salve as mudanças e saia.

Outra configuração que precisamos modificar é o /etc/default/knockd. Mais uma vez, abra -o usando seu editor de texto.

$ sudo vim/etc/default/knockd 
Configurações padrão de configuração knockd

Localize a linha Start_knockd = 0. Descompor -o e definir o valor para 1.

Em seguida, vá para a linha Knockd_opts = ”-i eth1” Descompor -o e substitua o padrão Eth1 valor com a interface de rede ativa do seu sistema. Para verificar sua interface de rede, basta executar o comando ip addr ou o ifconfig.

Para o nosso sistema, ENP0S3 é a placa de rede ativa.

Interface de rede ativa

A configuração completa é como mostrado.

valores de configurações de knockd

Salve as mudanças e saia.

Em seguida, inicie e habilite Knockd Daemon como mostrado.

$ sudo systemctl start knockd $ sudo systemctl atabille knockd 

Para verificar o status de Knockd Daemon, execute o comando:

$ sudo systemctl status knockd 
Verifique o status Knockd

Etapa 2: Feche a porta SSH 22 no firewall

Desde o objetivo do Knockd Serviço é para conceder ou negar acesso ao serviço SSH, vamos fechar a porta SSH no firewall. Mas primeiro, vamos verificar o status do firewall da UFW.

$ sudo ufw status numerado 
Verifique o status da UFW

Da saída, podemos ver claramente que Ssh porta 22 está aberto em ambos IPv4 e IPv6 protocolos numerados 5 e 9 respectivamente.

Precisamos excluir essas duas regras como mostrado, começando com o maior valor - que é 9.

$ sudo ufw excluir 9 $ sudo ufw excluir 5 
Exclua as regras da UFW

Agora, se você tentar fazer login remotamente no servidor, você receberá um erro de tempo limite de conexão, como mostrado.

Tempo limite da conexão SSH

Etapa 3: Configure um cliente de knock para se conectar ao servidor SSH

Na etapa final, configuraremos um cliente e tentaremos fazer login enviando primeiro a sequência de batidas que configuramos no servidor.

Mas primeiro, instale Knockd Daemon como você fez no servidor.

$ sudo apt install knockd 

Depois que a instalação estiver concluída, envie a sequência de batida usando a sintaxe mostrada

$ knock -v server_ip knock_sequence 

No nosso caso, isso se traduz em:

$ knock -v 192.168.2.105 10005 10006 10007 

Você deve obter produção semelhante ao que temos, dependendo da sua sequência. Isso mostra que as tentativas de batida foram bem -sucedidas.

Sequência de batida

Neste ponto, você deve estar em posição de fazer login com sucesso no servidor usando SSH.

Conecte -se ao servidor usando knockd

Depois de terminar de fazer seu trabalho no servidor remoto, feche a porta SSH enviando a sequência de batida de fechamento.

$ knock -v 192.168.2.105 10007 10006 10005 

Qualquer tentativa de fazer login no servidor falhará como demonstrado.

Fechar portas ssh
Pensamentos finais

Isso encerra este guia sobre como alavancar a porta da porta para proteger o serviço SSH em seu servidor. Uma abordagem melhor e mais fácil seria configurar a autenticação ssh de senha usando pares de chaves ssh. Isso garante que apenas o usuário com a chave privada possa se autenticar com o servidor em que a chave pública é armazenada.