Esta postagem é a última parte de nossa série Cloud Computing Foundations. Desenvolva ainda mais suas habilidades fazendo nosso Cloud Computing fazendo nosso curso de certificação.
Um dos aspectos mais importantes do ciclo de vida do desenvolvimento é entender como proteger o ambiente de hospedagem que executa nossos aplicativos Web. Nossos servidores permitem conexões de entrada de sistemas externos em portas específicas sempre que implantamos um aplicativo Web. As portas do servidor identificam o tráfego de rede de entrada e saída.
Para entender as vulnerabilidades do servidor, precisamos pensar sobre onde as comunicações ocorrem.
No exemplo acima:
- Um cliente (à esquerda), normalmente um navegador da Web, envia uma solicitação HTTP para o servidor.
- O servidor recebe a solicitação HTTP e a processa.
- O nome de domínio é consultado em um ou mais servidores de nomes de domínio, geralmente gerenciados pelo registrador de nomes de domínio.
- O servidor recupera ou gera o conteúdo solicitado e envia uma resposta HTTP de volta ao cliente.
- O cliente recebe a resposta e renderiza o conteúdo.
Durante esse processo, em certos casos, as conexões com nossos servidores podem vir de computadores mal-intencionados que procuram explorar pontos fracos nas configurações de nossos servidores. Há vários motivos pelos quais um servidor pode ser explorado.
Vamos dar uma olhada em alguns ataques comuns ao servidor.
Ataques distribuídos de negação de serviço (DDoS)
Em um ataque de negação de serviço distribuído (DDoS), um invasor tenta sobrecarregar um servidor-alvo com uma enxurrada de solicitações HTTP. Isso também é chamado de ataque de inundação HTTP. Lembre-se, toda vez que fazemos uma solicitação HTTP, nossos servidores têm a tarefa de responder à solicitação. Se os nossos servidores não tiverem a capacidade de recursos para atender ao número de solicitações simultâneas recebidas, o servidor da Web será paralisado ou sofrerá uma pane. Em seguida, cada solicitação HTTP subsequente falhará, tornando o servidor da Web inacessível.
Os ataques DDoS geralmente são realizados por meio de botnets. As botnets são uma rede de dispositivos infectados com software mal-intencionado, também conhecido como malware, que é projetado especificamente para produzir uma enxurrada de solicitações HTTP para uma máquina-alvo.
A ilustração acima fornece uma visão geral de como funcionam os ataques de inundação HTTP. No lado direito, temos o cliente fazendo uma solicitação ao servidor, mas como há vários bots também fazendo solicitações ao servidor, drenando assim os recursos do servidor, o cliente não consegue se conectar ao servidor.
Travessia de diretório
A travessia de diretório é outra exploração comum que geralmente visa servidores mal configurados. Todos os arquivos da Web são fornecidos diretamente do diretório raiz da Web. Os usuários que se conectam aos nossos servidores por meio de solicitações HTTP da Web só devem poder acessar arquivos específicos do diretório raiz da Web, sem poder navegar ou executar arquivos de pastas superiores na estrutura de diretórios. Se isso acontecesse, um invasor poderia obter acesso a arquivos críticos do sistema e de configuração e causar estragos no servidor.
A imagem acima demonstra como esse ataque funciona. O invasor envia uma solicitação HTTP mal-intencionada usando um URL modificado, que inclui o caminho do diretório para um arquivo de sistema ou de configuração. O servidor processa a solicitação e, como resultado da má configuração do servidor ou do design do aplicativo, pode recuperar o arquivo do sistema e exibir seu conteúdo ou código-fonte.
Ataque de força bruta
Um ataque de força bruta, também chamado de ataque de dicionário ou controle de conta, é outro ataque muito comum em que um agente mal-intencionado tenta obter acesso a um ponto de acesso restrito em seu servidor. Normalmente, esse ponto de acesso restrito é a conta raiz do servidor ou outra conta com privilégios de raiz. Os invasores usam malware para enviar automaticamente várias tentativas de login com combinações de senha e nome de usuário geradas automaticamente com base em palavras do dicionário.
A ilustração acima demonstra como esse ataque funciona. À esquerda, o invasor envia repetidas tentativas de login geradas a partir de uma lista de palavras usando malware. Se as combinações corretas forem encontradas, o invasor obterá acesso ao servidor. Os ataques de força bruta podem ser altamente eficazes, mesmo que um servidor use apenas autenticação por chave SSH.
Mantendo seu servidor seguro
Aqui estão algumas práticas recomendadas a serem consideradas ao configurar e proteger seus servidores:
- Mantenha seu sistema operacional e software atualizados com os patches e atualizações de segurança mais recentes.
- Desative ou bloqueie todos os serviços ou portas desnecessários para minimizar a superfície de ataque.
- Limite o acesso ao seu servidor, permitindo que apenas usuários autorizados se conectem e interajam com ele.
- Proteja o tráfego de rede usando protocolos de criptografia, como SSL ou TLS.
- Tenha um plano robusto de backup e recuperação de desastres para minimizar a perda de dados e o tempo de inatividade.
- Implemente senhas fortes e autenticação multifatorial para se proteger contra acesso não autorizado.
- Use firewalls para controlar o tráfego de entrada e saída da rede.
- Monitore os registros do servidor e o tráfego de rede em busca de atividades suspeitas.
- Use sistemas de detecção e prevenção de intrusões para identificar e evitar ataques.
- Implemente medidas de segurança, como permissões de sistema de arquivos e controles de acesso, para proteger contra o acesso não autorizado a dados confidenciais.
Desenvolva as habilidades para ter sucesso na computação em nuvem fazendo nosso curso de certificação Introduction to Cloud Computing .
Comentários