8 dicas essenciais para proteger o servidor de aplicativos Web

Na maioria dos casos, os servidores de aplicativos da web precisam estar acessíveis ao público, o que significa que estão expostos a todos os tipos de ameaças.


Muitas dessas ameaças são previsíveis e facilmente evitáveis, enquanto outras são desconhecidas e podem pegá-lo desprevenido. Para minimizar a possibilidade desse último caso, oferecemos uma lista de dicas essenciais para manter os servidores de aplicativos da Web o mais seguro possível.

Antes de começar com a lista de dicas, você precisa entender que um servidor de aplicativos da web não é uma ilha. O servidor é o componente central do farm de aplicativos da web que possibilita a hospedagem e a operação de um aplicativo da web. Portanto, para proteger, você deve levar em consideração todos os componentes que o cercam e proteger todo o ambiente de aplicativos da web.

Um ambiente básico para hospedagem e execução de aplicativos da web inclui o sistema operacional (Linux, Windows), o software do servidor da web (Apache, Nginx), um servidor de banco de dados. Se algum desses componentes for invadido, os invasores poderão obter acesso e executar todas as ações maliciosas que desejam..

Uma primeira dica básica para proteger um ambiente como o descrito acima é ler as diretrizes de segurança e a lista de práticas recomendadas para cada um dos componentes. Dito isto, vamos revisar várias diretrizes de segurança de bom senso que se aplicam a quase todos os ambientes de aplicativos da web.

O firewall desmistificado

Você pode ficar tentado a verificar rapidamente esse item, pensando: “sorte minha, eu já tenho um firewall protegendo minha rede”. Mas é melhor você segurar seus cavalos.

Seu firewall pode estar cuidando das fronteiras da sua rede, mantendo os bandidos de fora e os mocinhos, mas com certeza está deixando uma porta aberta para os invasores invadirem seu servidor de aplicativos da web.

Quão?

Simples: seu firewall de rede deve pelo menos permitir o tráfego de entrada nas portas 80 e 443 (que é HTTP e HTTPS) e não sabe quem ou o que está passando por essas portas.

O que você precisa para proteger seu aplicativo é um firewall de aplicativo da web (WAF) que analisa especificamente o tráfego da web e bloqueia qualquer tentativa de explorar vulnerabilidades, como scripts entre sites ou injeção de código. Um WAF opera como um antivírus e antimalware típico: procura padrões conhecidos no fluxo de dados e o bloqueia quando detecta uma solicitação maliciosa.

Para ser eficaz, o WAF precisa ter seu banco de dados atualizado constantemente com novos padrões de ameaças, para poder bloqueá-los. O problema com a prevenção de ataques baseados em padrões é que seu aplicativo da Web pode ser um dos primeiros alvos de uma nova ameaça da qual o WAF ainda não está ciente.

Por esses motivos, seu aplicativo Web precisa de camadas de proteção adicionais, além do firewall da rede.

Verificar vulnerabilidades específicas da Web

Mais uma vez, não pense que seu servidor de aplicativos da web está livre de vulnerabilidades, apenas porque o seu scanner de segurança de rede diz isso.

Os scanners de rede não podem detectar vulnerabilidades específicas do aplicativo. Para detectar e eliminar essas vulnerabilidades, é necessário submeter os aplicativos a uma série de testes e auditorias, como testes de penetração, verificação de caixa preta e auditoria de código-fonte. Nenhum desses métodos é à prova de balas. Idealmente, você deve executar o maior número possível para eliminar todas as vulnerabilidades.

Por exemplo, scanners de segurança, como Netsparker, garantir que nenhum código explorável chegue ao ambiente de produção. Mas poderia haver vulnerabilidades lógicas que só podem ser detectadas pela auditoria manual de código. A auditoria manual, além de custar muito, é um método humano e, portanto, propenso a erros. Uma boa idéia para fazer esse tipo de auditoria sem desperdiçar muito dinheiro é incorporá-lo ao processo de desenvolvimento, principalmente educando seus desenvolvedores.

Eduque seus desenvolvedores

Os desenvolvedores tendem a pensar que seus aplicativos são executados em mundos ideais, onde os recursos são ilimitados, os usuários não cometem erros e não há pessoas com intenções cruéis. Infelizmente, em algum momento, eles precisam enfrentar problemas do mundo real, especialmente aqueles relacionados à segurança da informação.

Ao desenvolver aplicativos da Web, os codificadores devem conhecer e implementar mecanismos de segurança para garantir que estejam livres de vulnerabilidades. Esses mecanismos de segurança devem fazer parte do guia de melhores práticas que a equipe de desenvolvimento deve cumprir.

A auditoria de qualidade de software é usada para garantir a conformidade com as melhores práticas. As práticas recomendadas e a auditoria são as únicas maneiras de detectar vulnerabilidades lógicas, como (por exemplo) passar parâmetros não criptografados e visíveis dentro de uma URL, que um invasor pode facilmente alterar para fazer o que deseja.

Desativar funcionalidade desnecessária

Supondo que os aplicativos da Web sejam o mais livre de erros possível e o farm da Web esteja protegido, vamos ver o que pode ser feito no próprio servidor para protegê-lo contra ataques.

Uma dica básica do senso comum é reduzir o número de pontos de entrada potencialmente vulneráveis. Se os invasores puderem explorar qualquer um dos componentes do servidor da Web, todo o servidor da Web poderá estar em perigo.

Faça uma lista de todos os portas abertas e executando serviços ou daemons em seu servidor e feche, desative ou desative os desnecessários. O servidor não deve ser usado para nenhuma outra finalidade que não seja a execução de seus aplicativos da Web. Portanto, considere mover todas as funcionalidades adicionais para outros servidores da sua rede.

Use ambientes separados para desenvolvimento, teste e produção

Desenvolvedores e testadores precisam de privilégios nos ambientes em que trabalham e que não deveriam ter no servidor de aplicativos ativo. Mesmo se você confiar neles cegamente, suas senhas podem vazar facilmente e cair em mãos indesejadas.

Além de senhas e privilégios, nos ambientes de desenvolvimento e teste, geralmente existem backdoors, arquivos de log, código fonte ou outras informações de depuração que podem expor dados confidenciais, como nomes de usuário e senhas do banco de dados. O processo de implantação de aplicativos da web deve ser realizado por um administrador, que deve garantir que nenhuma informação confidencial seja exposta após a instalação do aplicativo no servidor ativo.

O mesmo conceito de segregação precisa ser aplicado aos dados do aplicativo. Testadores e desenvolvedores sempre preferem dados reais para trabalhar, mas não é uma boa idéia conceder acesso ao banco de dados de produção ou mesmo a uma cópia dele. Além de preocupações óbvias com a privacidade, o banco de dados pode conter parâmetros de configuração que revelam configurações internas do servidor – como endereços de terminais ou nomes de caminhos, para citar alguns.

Mantenha o software do servidor atualizado

Por mais óbvio que possa parecer, esta é uma das tarefas mais negligenciadas. SUCURI constatou que 59% dos aplicativos de CMS estavam desatualizados, o que é suscetível a riscos.

Novas ameaças aparecem todos os dias, e a única maneira de impedir que elas comprometam seu servidor é sempre instalar as últimas correções de segurança.

Mencionamos anteriormente que os firewalls e os scanners de segurança de rede não são suficientes para impedir ataques a aplicativos da web. Mas eles são necessários para proteger seu servidor contra ameaças comuns de segurança cibernética, como ataques DDoS. Portanto, verifique se você tem esses aplicativos sempre atualizados e se eles estão protegendo efetivamente seu aplicativo de negócios.

Restringir acesso e privilégios

Uma medida básica de segurança é manter o tráfego de acesso remoto – como RDP e SSH – criptografado e encapsulado. Também é uma boa idéia manter uma lista reduzida de endereços IP de onde o acesso remoto é permitido, garantindo que qualquer tentativa de log remoto de qualquer outro IP seja bloqueada..

Os administradores ocasionalmente concedem às contas de serviço todos os privilégios possíveis porque sabem que, ao fazer isso, “tudo funcionará”. Mas essa não é uma boa prática, pois os invasores podem usar vulnerabilidades nos serviços para penetrar no servidor. Se esses serviços forem executados com privilégios de administrador, eles poderão aproveitar o servidor inteiro.

Um bom equilíbrio entre segurança e praticidade exige que cada conta – contas de login e contas de serviço – possua os privilégios necessários para realizar seu trabalho, e nada mais.

Por exemplo, você pode definir contas diferentes para um administrador executar tarefas diferentes: uma para fazer backups, outra para limpar arquivos de log, outras para alterar a configuração dos serviços e assim por diante. O mesmo se aplica às contas do banco de dados: um aplicativo geralmente precisa apenas das permissões para ler e gravar dados, e não para criar ou eliminar tabelas. Portanto, ele deve ser executado com uma conta com privilégios limitados para executar as tarefas necessárias para executar.

Fique de olho nos logs do servidor

Os arquivos de log estão lá por um motivo.

Os administradores devem monitorá-los regularmente para detectar qualquer comportamento suspeito antes que ele cause algum dano. Ao analisar os arquivos de log, você pode descobrir muitas informações para ajudá-lo a proteger melhor o aplicativo. Se um ataque ocorrer, os arquivos de log poderão mostrar quando e como começou, ajudando a melhorar o controle de danos.

Você também deve ter um procedimento automatizado para excluir arquivos de log antigos ou remover informações desatualizadas, para evitar que eles consumam todo o espaço de armazenamento disponível no servidor.

Dica de bônus: mantenha-se informado

Há muitas informações gratuitas e úteis na Internet que você pode usar para o benefício de seu aplicativo da web. Não perca nenhuma nova postagem em blogs de segurança respeitáveis ​​(como este) e fique informado sobre o que está acontecendo no setor de segurança e web.

Tutoriais, cursos, vídeos e livros também são fontes de conhecimento útil. Pratique passar uma ou duas horas por semana apenas para se manter informado das notícias do setor – isso lhe dará a tranqüilidade de saber que você está fazendo a coisa certa para manter seus aplicativos protegidos.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map