Como proteger um servidor SSH

Proteger conexões SSH ajuda a proteger seu sistema Linux e seus dados. Os administradores de sistema e usuários domésticos também precisam proteger os computadores conectados à Internet. Aqui estão 10 maneiras fáceis de ajudá-lo a proteger seu servidor SSH .

Alguns princípios básicos sobre segurança SSH

SSH significa Secure Shell. O protocolo SSH ou ferramenta de software permite que administradores de sistema e usuários façam conexões seguras com computadores remotos usando esse protocolo.

O protocolo SSH é um protocolo criptografado projetado para fornecer uma conexão segura em uma rede insegura como a Internet. O SSH no Linux é baseado na versão portátil do projeto OpenSSH. Ele é implementado em um modelo cliente-servidor clássico com um servidor SSH aceitando conexões de clientes SSH. O cliente é usado para conectar-se ao servidor e expor a sessão a usuários remotos. O servidor aceita a conexão e inicia a sessão.

Em sua configuração padrão, o servidor SSH irá “escutar” conexões de entrada no Transmission Control Protocol (TCP), porta 22. Por ser uma porta padronizada e popular, é alvo de ameaças de atores e bots maliciosos.

Atores maliciosos lançam bots que verificam intervalos de endereços IP em busca de portas abertas. Em seguida, ele investiga essas portas em busca de vulnerabilidades exploráveis. Pensar que estou seguro, que existem muitos alvos maiores e melhores do que eu para os bandidos atingirem, é completamente errado. Esses bots não escolhem seus alvos com base em nenhum critério, eles estão apenas procurando uma forma de penetrar no sistema.

Você será uma vítima se não proteger seu sistema.

Fricção de segurança

Um ponto de atrito de segurança é qualquer situação em que a tarefa principal é impedida ou atrasada devido a requisitos de segurança.

O atrito de segurança causa desconforto (em qualquer nível) para usuários e outras pessoas quando você implementa medidas de segurança. Pessoas novas em sistemas de computador podem se preocupar se precisarão realmente digitar uma senha toda vez que fizerem login no mainframe. Para eles, isso também é uma forma de atrito de segurança.

A introdução de medidas de segurança muitas vezes incluirá alguma forma de atrito para algumas pessoas. Os proprietários de empresas devem pagar por essas medidas. Os usuários de computador podem ter que mudar hábitos ou lembrar diferentes informações de autenticação, adicionando etapas para se conectarem com sucesso. Os administradores de sistema terão trabalho adicional a fazer para implementar e manter as novas medidas de segurança.

Apertar e bloquear um sistema operacional Linux ou semelhante ao Unix pode ser rápido. As medidas de segurança aqui são um conjunto de etapas fáceis de seguir que irão melhorar a segurança do computador sem a necessidade de aplicativos de terceiros e intervenção profunda de firewall .

Use o protocolo SSH versão 2

Em 2006, o protocolo SSH foi atualizado da versão 1 para a versão 2. Esta é uma atualização significativa. Há muitas mudanças e melhorias, especialmente em criptografia e segurança, e a versão 2 não é compatível com versões anteriores da versão 1. Para evitar conexões de clientes da versão 1, você pode especificar computadores para aceitarem apenas conexões da versão 2.

Para fazer isso, edite o arquivo /etc/ssh/sshd_config usando o seguinte comando:

sudo gedit /etc/ssh/sshd_config

Como proteger um servidor SSH

Adicione a seguinte linha:

Protocol 2

Como proteger um servidor SSH

E salve o arquivo e reinicie o processo do daemon SSH usando o seguinte comando:

sudo systemctl restart sshd

Como proteger um servidor SSH

Teste a nova configuração em ação mudando para outra máquina e tentando fazer o SSH na máquina de teste. Usaremos a opção -1 (protocolo 1) para forçar o comando ssh a usar a versão 1 do protocolo.

ssh -1 dave@howtogeek.local

Como proteger um servidor SSH

Solicitação de conexão recusada. Certifique-se de que você ainda consegue se conectar ao protocolo 2. Usaremos -2 (protocolo 2) para testar.

ssh -2 dave@howtogeek.local

Como proteger um servidor SSH

O fato do servidor SSH estar solicitando uma senha é um sinal positivo de que a conexão foi feita e você está interagindo com o servidor. Os clientes SSH modernos usarão o protocolo 2 por padrão; não precisamos especificar o protocolo 2, desde que o cliente esteja atualizado.

ssh dave@howtogeek.local

Como proteger um servidor SSH

A conexão foi aceita.

Evite o portão 22

A porta 22 é a porta padrão para conexões SSH. Se uma porta diferente for usada, ela adiciona um pouco de Segurança Através da Obscuridade (STO) ao seu sistema. A segurança através da ambiguidade nunca deve ser considerada uma medida de segurança real. Na verdade, alguns bots de ataque mais inteligentes investigam todas as portas abertas e decidem que serviço estão executando, em vez de confiar em uma simples lista de pesquisa de portas e presumir que elas fornecem um serviço normalmente. Mas usar uma porta fora do padrão pode ajudar a reduzir o tráfego ruim na porta 22.

Para configurar uma porta não padrão, edite o arquivo de configuração SSH conforme acima.

Como proteger um servidor SSH

Exclua o # no início da linha da Porta e substitua 22 pelo número de sua escolha. Salve o arquivo de configuração e reinicie o daemon SSH.

Em outro computador usaremos o comando ssh para conectar-se ao servidor. O comando ssh padrão usa a porta 22:

ssh dave@howtogeek.local

Como proteger um servidor SSH

Ligação recusada. Tente novamente e especifique a porta 470 usando a opção –p (porta):

ssh -p 479 dave@howtogeek.local

Como proteger um servidor SSH

Conexão confirmada.

Conecte o filtro usando TCP Wrappers

TCP Wrappers são uma lista de controle de acesso fácil de entender. Ele permite negar e permitir conexões com base nas características da solicitação de conexão, como endereço IP ou nome do host. TCP Wrappers devem ser usados ​​com, e não no lugar de, um firewall configurado corretamente.

TCP Wrappers vem pré-instalado em máquinas Ubuntu 18.04 LTS . Deve ser instalado no Manjaro 18.10 e Fedora 30.

Para instalar no Fedora, use o seguinte comando:

sudo yum install tcp_wrappers

Como proteger um servidor SSH

Para instalar no Manjaro, use este comando:

sudo pacman -Syu tcp-wrappers

Como proteger um servidor SSH

Existem dois arquivos incluídos, um arquivo contém a lista de permissões e outro arquivo contém a lista de negações. Edite a lista de negações usando o seguinte comando:

sudo gedit /etc/hosts.deny

Como proteger um servidor SSH

O comando acima abrirá o editor gedit com o arquivo se recusando a carregar nele.

Como proteger um servidor SSH

Você precisa adicionar a linha:

ALL : ALL

E salve o arquivo. Esta linha bloqueará todo o acesso não autorizado. Agora precisamos conceder permissões às conexões que você deseja aceitar. Para fazer isso, você precisa editar o arquivo de permissões:

sudo gedit /etc/hosts.allow

Como proteger um servidor SSH

O comando acima abrirá o editor gedit com o arquivo para download nele.

Como proteger um servidor SSH

Adicionamos o nome do daemon SSH, SSHD e o endereço IP do computador que permite que a conexão seja feita. Salve o arquivo e veja se as restrições e permissões estão em vigor.

Primeiro, você tentará se conectar a partir de um computador que não esteja no arquivo hosts.allow:

Como proteger um servidor SSH

Ligação recusada. Tentaremos conectar-nos a partir de uma máquina com endereço IP 192.168.4.23:

Como proteger um servidor SSH

Conexão aceita.

O exemplo aqui permite apenas a conexão de uma máquina. Os wrappers TCP são bastante flexíveis, suportam nomes de host, curingas e máscaras de sub-rede para aceitar conexões de intervalos de endereços IP.

Rejeitar solicitações de conexão sem senha

Embora não seja bom, os administradores de sistema Linux podem criar contas de usuário sem senhas. Isso significa que nenhuma senha é necessária para conexões remotas desta conta. Essas conexões serão aceitas, mas não autenticadas.

A configuração padrão para SSH aceita solicitações de conexão sem senha. Podemos alterá-lo facilmente e garantir que todas essas conexões sejam autenticadas.

Você precisa editar o arquivo de configuração SSH.

Como proteger um servidor SSH

Role para baixo no arquivo até ver a linha que diz #PermitEmptyPasswords no . Exclua # no início da linha e salve o arquivo. Reinicie o daemon SSH.

Use chaves SSH em vez de senhas

As chaves SSH fornecem uma maneira segura de fazer login em um servidor SSH. As senhas podem ser quebradas, adivinhadas ou forçadas . As chaves SSH não são vulneráveis ​​a esses tipos de ataques.

Ao gerar uma chave SSH, você cria um par de chaves. Uma é a chave pública e a outra é a chave privada. A chave pública é instalada nos servidores aos quais você deseja se conectar. A chave privada é mantida de forma segura no seu computador.

As chaves SSH permitem que conexões sejam feitas sem senha, o que é mais seguro do que conexões que usam autenticação por senha.

Ao fazer uma solicitação de conexão, o computador remoto usa uma cópia da chave pública para criar uma mensagem criptografada enviada de volta ao computador. Como é criptografado com a chave pública, o computador pode descriptografá-lo com a chave privada.

O computador então extrai algumas informações da mensagem, criptografa-a e envia-a de volta ao servidor. Se o servidor puder descriptografá-lo com uma cópia da chave pública. Se as informações da mensagem corresponderem às que o servidor lhe enviou, a conexão será confirmada.

Aqui, a conexão é feita ao servidor em 192.168.4.11 pelo usuário com a chave SSH. Observe que eles não são solicitados a inserir uma senha.

ssh dave@192.168.4.11

Como proteger um servidor SSH

Desative completamente a autenticação por senha

Você pode desabilitar completamente a autenticação por senha se usar chaves SSH. Precisamos editar o arquivo de configuração SSH.

Como proteger um servidor SSH

Role o arquivo para baixo até ver a linha que começa com #PasswordAuthentication yes . Exclua # no início da linha, altere sim para não e salve o arquivo. Reinicie o daemon SSH.

Desativar encaminhamento X11

O encaminhamento X11 permite que usuários remotos executem aplicativos gráficos de seu servidor em uma sessão SSH, mas é facilmente explorado por malfeitores. É melhor desligá-lo editando o arquivo de configuração SSH.

Como proteger um servidor SSH

Role o arquivo para baixo até ver a linha #X11Forwarding no , exclua o # no início da linha e salve o arquivo. Reinicie o daemon SSH.

Definir valor de tempo limite de inatividade

Se uma conexão SSH for estabelecida com um computador e não houver atividade nele por um período de tempo, isso poderá representar um risco à segurança.

Portanto, você deve definir um limite de tempo limite. A conexão SSH será desconectada se não houver atividade dentro do limite de tempo. Mais uma vez, precisamos editar o arquivo de configuração SSH.

Como proteger um servidor SSH

Role o arquivo para baixo até ver a linha que começa com #ClientAliveInterval 0 . Remova o # do início da linha e altere o número 0 para o valor desejado. Normalmente as pessoas definem para 300 segundos, o que equivale a 5 minutos. Salve o arquivo e reinicie o daemon SSH.

Defina um limite para o número de entradas de senha

Definir um limite para o número de confirmações pode ajudar a evitar adivinhação de senhas e ataques de força bruta. Após o número especificado de solicitações de autenticação, o usuário será desconectado do servidor SSH. Por padrão, não há limite para o número de tentativas de senha, mas você pode editar isso no arquivo de configuração SSH.

Como proteger um servidor SSH

Role o arquivo para baixo até ver a linha que começa com #MaxAuthTries 0 . Remover o # no início da linha altera o número para o valor desejado. Você pode configurá-lo para 3. Salve o arquivo ao fazer alterações e reinicie o daemon SSH.

Você pode testar isso tentando se conectar e digitando a senha errada.

Como proteger um servidor SSH

Observe que o número MaxAuthTries é maior que o número de tentativas permitidas ao usuário. Após duas tentativas fracassadas, você será desconectado, o que significa que MaxAuthTries está definido como 3.

Desabilitar login root

É aconselhável não fazer login como root, apenas usar como usuário normal no Linux e usar sudo para executar ações que requerem permissões de root. Você também não deve permitir que o root faça login no servidor SSH. Somente usuários normais têm permissão para se conectar. Se precisarem realizar uma tarefa de nível administrativo, também poderão usar o sudo. Se você precisar permitir que o usuário root faça login, poderá forçá-lo a usar uma chave SSH.

Edite o arquivo de configuração para desabilitar o login root.

Como proteger um servidor SSH

Role o arquivo para baixo até ver a linha que começa com #PermitRootLogin proíbe-password , exclua o # no início da linha.

  • Se você quiser evitar que o root faça login, substitua a senha proibida por não.
  • Se você permitir que o root faça login, mas forçar o uso de uma chave SSH, deixe a senha proibida intacta.

Salve as alterações e reinicie o daemon SSH.

Último passo

Claro, se você não precisa do SSH em execução no seu computador, desligue-o com o seguinte comando:

sudo systemctl stop sshd
sudo systemctl disable sshd

Desejo-lhe sucesso!

Deixar um comentário

Como remover o aviso de solicitação de direitos autorais no canto direito da tela do Windows 10

Como remover o aviso de solicitação de direitos autorais no canto direito da tela do Windows 10

Você vê uma notificação de ativação do Windows 10 no canto direito da tela? Este artigo irá orientá-lo sobre como excluir o aviso de solicitação de direitos autorais no Windows 10.

Instruções do AZ sobre como instalar o Windows 10 build 14393.222

Instruções do AZ sobre como instalar o Windows 10 build 14393.222

Recentemente, a Microsoft lançou a atualização cumulativa mais recente para usuários de PC com Windows 10, chamada Build 14393.222. Esta atualização lançada para o Windows 10 corrige principalmente bugs com base no feedback do usuário e melhora a experiência de desempenho do sistema operacional.

Proteja sua rede de computadores com host Bastion em apenas 3 etapas

Proteja sua rede de computadores com host Bastion em apenas 3 etapas

Você tem computadores em sua rede local que precisam de acesso externo? Usar um host bastião como gatekeeper para sua rede pode ser uma boa solução.

3 maneiras de limpar rapidamente todos os logs de eventos no Windows 10

3 maneiras de limpar rapidamente todos os logs de eventos no Windows 10

Às vezes, pode ser necessário excluir logs de eventos antigos de uma só vez. Neste guia, Quantrimang.com mostrará três maneiras de excluir rapidamente todos os logs de eventos no Visualizador de Eventos do Windows 10.

Como criar uma tecla do Windows se o seu teclado não estiver disponível

Como criar uma tecla do Windows se o seu teclado não estiver disponível

Se você preferir usar um teclado clássico antigo, como o IBM Modelo M, que não inclui uma tecla física do Windows, existe um método fácil de adicionar mais, pegando emprestada uma tecla que você não usa com frequência.

Como criar modo de fundo transparente no Windows 10

Como criar modo de fundo transparente no Windows 10

WindowTop é uma ferramenta que tem a capacidade de escurecer todas as janelas de aplicativos e programas em execução em computadores com Windows 10. Ou você pode usar uma interface de fundo escuro no Windows.

Métodos de IP falso ajudam você a acessar anonimamente

Métodos de IP falso ajudam você a acessar anonimamente

Em muitos artigos anteriores, mencionamos que permanecer anônimo online é extremamente importante. Informações privadas vazam todos os anos, tornando a segurança online cada vez mais necessária. Essa também é a razão pela qual devemos usar endereços IP virtuais. Abaixo, aprenderemos sobre métodos para criar IPs falsos!

Como desativar a barra de idiomas na barra de tarefas do Windows 8

Como desativar a barra de idiomas na barra de tarefas do Windows 8

A barra de idiomas do Windows 8 é uma barra de ferramentas de idiomas em miniatura projetada para ser exibida automaticamente na tela da área de trabalho. No entanto, muitas pessoas desejam ocultar esta barra de idiomas na barra de tarefas.

Dicas para otimizar a velocidade da conexão com a Internet da Linksys

Dicas para otimizar a velocidade da conexão com a Internet da Linksys

Maximizar a velocidade da Internet é essencial para otimizar sua conexão de rede. Você pode ter uma ótima experiência de entretenimento e trabalho usando computadores, TVs com Internet, consoles de jogos, etc.

Como configurar WEP, WPA, WPA2 para roteador Linksys

Como configurar WEP, WPA, WPA2 para roteador Linksys

A conectividade sem fio é uma necessidade hoje e por isso a segurança sem fio é essencial para garantir a segurança da sua rede interna.