Seja você um blogueiro ou o proprietário de uma grande empresa, é essencial garantir que sua imagem aos olhos dos clientes seja a melhor possível. Tomar precauções e proteger seu site contra comprometimentos é uma obrigação. Existem várias maneiras de proteção. Uma delas é o uso do protocolo SSH.
O que é o SSH?
SSH significa Secure Shell. É um padrão para protocolos de comunicação cliente e servidor usados em redes de computadores TCP/IP. Com o protocolo Secure Shell, você pode fazer login em computadores remotos e executar comandos. É o modelo cliente-servidor para conexão remota. A conexão SSH é criptografada, ao contrário do protocolo SSH predecessor – TELNET.
Interceptar dados não criptografados é simples e requer conhecimento básico sobre a camada de conexão. O uso de protocolos de shell remoto não seguros é arriscado, daí a popularidade da configuração da camada de autenticação do usuário.
Existem dois grupos principais de usuários do Secure Shell. Os administradores de rede o usam para gerenciar servidores SSH remotos. Os clientes de hospedagem usam uma conexão SSH para administrar seus servidores com métodos de autenticação personalizados. Você pode configurar uma máquina remota, reparar um roteador com mau funcionamento ou acessar bancos de dados remotos. O protocolo fornece a capacidade de usar e-mail e permite a transferência segura de arquivos.
O protocolo Secure Socket Shell é fundamental no trabalho diário com equipamentos remotos e aumenta significativamente a segurança da camada de conexão. Com o protocolo de rede criptografado, você pode combater um ataque ao seu site de fora, como uma tentativa de interceptar uma senha ou se passar por um servidor DNS.
Você pode acessar seu VPS ou servidor dedicado via cliente SSH. Você pode modificar arquivos do sistema no servidor e instalar novas ferramentas. Com hospedagem compartilhada, você pode visualizar, mover, copiar e editar arquivos no servidor, compactar e descompactar arquivos diretamente no servidor e criar ou restaurar backups.
Para entender a diferença entre um VPS e um servidor dedicado, leia este artigo. Você vai aprender quando vale a pena investir em uma solução dedicada e quando uma solução virtual é suficiente.
O Mecanismo do Protocolo SSH
Você já sabe o que é o protocolo de transferência de arquivos SSH. Com um aplicativo cliente de shell seguro, você pode trabalhar no shell de um sistema remoto como se fosse um sistema local. A tecnologia Secure Shell foi a solução para a insegurança do protocolo Telnet. Ela funciona em uma arquitetura cliente-servidor, onde o servidor escuta na porta padrão 22. Seu potencial de segurança é altamente respeitável e permite que dois computadores se comuniquem sem o risco de apreensão de dados.
O algoritmo de troca de chaves de criptografia é a base para entender como funciona toda a conexão SSH. O SSH permite a autenticação do cliente por meio de chaves simétricas durante a conexão com diferentes sistemas operacionais remotos. Além disso, os programas do protocolo SSH fornecem:
- escolha de um método de autenticação por senha;
- túneis de conexão TCP no SSH;
- tunneling de sessões X-Window;
- transferência segura de arquivos via SCP;
- suporte para métodos externos de autenticação (incluindo Kerberos, certificados digitais e cartões inteligentes).
Como resultado, a tecnologia Secure Shell protege seus usuários contra os seguintes ataques:
- captura de sessão e falsificação,
- falsificação de servidor DNS,
- Roteamento de Origem IP (Impersonação de um Sistema Confiável,
- falsificação de IP (Impersonação de um Servidor Remoto Alvo),
- sequestro de senha.
O protocolo SSH tem duas variantes: a mais antiga SSHv1 e a nova SSHv2 desenvolvida pelo Internet Engineering Task Force (IETF). Elas diferem nos métodos de criptografia, mas o princípio de funcionamento básico baseado em criptografia de chave pública do cliente e do servidor é o mesmo.
Vou me concentrar no protocolo SSHv2, destacando as diferenças entre ele e seu irmão mais antigo, o SSHv1. O SSHv1 está perdendo rapidamente popularidade em favor de seu sucessor porque é possível realizar um ataque eficaz de sequestro de sessão contra ele, o que não é possível com o padrão de criptografia avançado do SSHv2.
Autorização do Cliente SSH e do Servidor SSH
Cada sistema de computador que usa o protocolo SSH cliente mais recente possui um formato de arquivo de chave pública RSA ou DSA único. O SSHv1 possui apenas uma chave RSA para o servidor. Essas chaves SSH têm pelo menos 1024 bits de comprimento. No SSHv1, o servidor gera um par de chaves público-privado trocado periodicamente com pelo menos 768 bits de comprimento. O servidor da máquina remota gera duas chaves SSH: uma é a chave de host e a outra é a chave do servidor.
Durante as conexões SSH, os clientes SSH recebem suas chaves públicas: uma chave permanente de 1024 bits atribuída ao servidor e uma chave de 768 bits que muda periodicamente. O cliente compara a chave permanente com a sua chave mestra e determina se está conectado ao servidor SSH correto.
Em seguida, o cliente criptografa um número usando as chaves públicas recebidas do servidor e envia o número criptografado de volta. Por sua vez, o servidor descriptografa o valor recebido usando suas chaves privadas. O valor de saída se torna a chave para os algoritmos simétricos usados para criptografar a sessão de comunicação adequada. Os algoritmos mais populares para criptografar as sessões são Blowfish e Triple DES.
Por outro lado, no caso do SSHv2, a chave do servidor não é gerada. Em vez disso, o algoritmo Diffie-Hellman gera a chave de sessão autonomamente. O SSHv2 criptografa dados com inúmeros algoritmos: AES (128, 192, 256 bits), Blowfish, Triple DES, CAST128 e Arcfour. Além disso, a integridade da sessão é assegurada por um dos algoritmos de hash – SHA-1 ou MD5.
Após a autorização bem-sucedida, o usuário pode acessar o servidor remoto e começar a transferir dados. Os métodos de autenticação do usuário são principalmente protocolos de criptografia baseados na troca de dados com chaves públicas e na autorização rhosts.
Autorização Rhosts
Isso pressupõe que o servidor SSH tenha uma entrada nos arquivos /etc/hosts.equiv ou /etc/shosts.equiv ou nos arquivos .shosts ou .rhosts contendo os nomes do computador cliente e os nomes de usuário. Se os arquivos listados contiverem as mesmas informações, o acesso seguro é concedido automaticamente (sem solicitar uma senha).
Autorização de chave pública
A chave pública do usuário fica armazenada no Servidor Secure Shell com RSA. No início da conexão, o cliente declara quais chaves públicas deseja usar. Em resposta, o servidor envia um número aleatório criptografado com a chave pública escolhida pelo cliente. Este último deve descriptografá-lo usando sua chave secreta correspondente a uma determinada chave pública.
Se esta etapa for bem-sucedida, o cliente criptografa o número com sua chave privada, e o servidor deve descriptografá-lo com a chave pública correspondente. Se o servidor receber o número que enviou anteriormente ao cliente (criptografado com sua chave pública), a autorização do cliente é bem-sucedida.
No SSHv2, a criptografia e descriptografia com autenticação de chave pública diferem. Primeiro, ele usa tanto chaves RSA quanto DSA. Quando o servidor envia um número aleatório criptografado para o cliente, ele assina a chave de sessão acordada usando o algoritmo de Diffie-Hellman com uma chave privada. A conexão é verificada pelo servidor SSH usando a chave pública do usuário.
Além disso, sistemas baseados em SSHv2 podem usar métodos de autenticação externos com base em Kerberos, X.509 e SmartCards.
Passar pelas etapas de autorização do usuário permite começar a trabalhar em um computador remoto. O primeiro modo é a execução não interativa de comandos SSH emitidos do nível do cliente. O segundo modo, mais avançado, é fornecer ao usuário um shell remoto. Isso é um mecanismo para acesso remoto a um computador distante.
A segurança é a base para conduzir um negócio. Criptografar seus dados é importante, mas você também precisa proteger o seu site. Aprenda como tornar o WordPress seguro!
Como usar a Secure Shell?
Você pode usar vários programas para conectar clientes SSH aos servidores. Os mais populares são o PuTTY e o OpenSSH. Além desses, você também pode usar outros programas em diversos sistemas operacionais. Alguns exemplos incluem SSHdos (para DOS), NiftyTelnet SSH (para macOS), MindTerm (para Java), MSSH, WinSCP, TTSSH e SecureCRT (para Windows).
Configuração PuTTY
Para habilitar a conexão, vá para a aba “Sessão”. No campo “Nome de Host Assinado”, insira o nome de domínio configurado ou o endereço IP do servidor. Em “Tipo de Conexão”, selecione a opção SSH, o comando Open e insira o nome de usuário e a senha. A partir de agora, você pode usar o servidor via protocolo SSH.
Para gerenciar o servidor, execute comandos de shell no console:
- find – procurar um ficheiro por nome;
- ls – listar diretório ou arquivo;
- mkdir – criar um novo diretório;
- mv – mover diretório ou arquivo;
- cp – copiar diretório ou arquivo;
- rm – remover diretório ou arquivo.
Vale a pena verificar a opção “Desligar o registro” e “Perguntar ao usuário sempre”, e na aba “Terminal”, selecione:
- Modo de quebra automática ativado inicialmente;
- Usar cor de fundo para apagar a tela;
- Eco local – Automático;
- Edição de linha local – Automático.
Na aba “Teclado”, você deve deixar as opções padrão. Se desejar usar acentos em outro idioma, marque as duas últimas opções em “Ativar recursos de teclado extras”. A aba “Aparência” permite selecionar a fonte apropriada. Você pode fazer alterações pressionando a opção “Alterar”, o que permitirá modificar a interface gráfica: escolher o tipo, estilo e tamanho da fonte.
Na aba “Tradução”, recomendo selecionar “Usar fonte nos modos ANSI e OEM”. Em seguida, na aba “Conexão”, selecione a opção “xterm” e insira o nome de usuário na campo “nome de usuário de login automático”. No cliente PuTTY, é possível alterar o protocolo de SSHv1 para SSHv2. Se desejar escolher o protocolo SSHv2, consulte a opção SSH e selecione a versão desejada.
Conclusão
A maneira mais comum de se conectar a um servidor é por meio do FTP (Protocolo de Transferência de Arquivos) e sua alternativa segura: o FTPS. No entanto, com o FTP/FTPS, você só pode copiar arquivos para o servidor e baixá-los para o seu dispositivo, enquanto uma sessão SSH oferece mais possibilidades do que apenas segurança na camada de transporte: você pode trabalhar no servidor e executar vários comandos.
Usando a tecnologia Secure Shell, o arquivo não precisa ser editado localmente – você pode operar no servidor, o que é uma solução mais conveniente. A tarefa do protocolo SSH também é proteger a conexão por meio de uma conexão de proxy criptografada.
A maior segurança e o enorme potencial tornam o Secure Shell a melhor solução para gerenciar hospedagem dedicada ou VPS. E, como a segurança é uma das questões críticas, não preciso explicar isso para você. Portanto, além de escolher a autenticação SSH, você também deve escolher o provedor de hospedagem certo.
Um dos provedores de hospedagem mais seguros é o UltaHost. A segurança é a prioridade absoluta da UltaHost. Várias camadas de proteção contra todas as ameaças, desde malware até DDoS, e hardware de última geração com NVMe SSDs fazem da UltaHost um líder em hospedagem segura. Na UltaHost, você pode escolher a autenticação do servidor por meio dos protocolos Secure Shell e FTPS.
A UltaHost protege sua presença online, protegendo a reputação do seu site e visitantes contra ameaças cibernéticas, e verifica seu site em busca de malware e outras vulnerabilidades.
Mas a UltaHost não é apenas uma plataforma de hospedagem segura. Você terá suporte 24/7 da nossa equipe de suporte. Nossa infraestrutura potente concentra-se em autoescalabilidade e desempenho. Deixe-nos mostrar a diferença! Confira nossos planos!