Como proteger seu site?



Em busca de métodos e ferramentas modernos que nos permitem, pelo menos com algum grau de certeza, afirmar que o site está protegido contra futuros ataques de hackers (que todo mundo os terá, afinal ninguém tem dúvidas? E se não havia nenhum , isso é apenas uma questão de tempo), foram encontradas recomendações que consideraremos neste artigo.

Esta é uma lista pequena, mas importante, de ações específicas que todos devem executar com seu próprio recurso da Web, se a reputação da empresa, a segurança dos recursos da Web e os dados do cliente não forem palavras vazias para você.

Existem várias maneiras básicas de proteger seu site:

  • fornecer proteção contra ataques DDoS;
  • conectar um certificado SSL;
  • use hospedagem confiável ;
  • use plugins / bibliotecas / estruturas / CMS seguros (a seguir denominados "módulos de terceiros");
  • SQL- XSS-;
  • - ;
  • - ;
  • , ;
  • , -, .

Naturalmente, cada item tem seu próprio "mas" e um número de subitens nos quais deve ser dada atenção. Eles também podem ser divididos em subgrupos com base nas seguintes considerações: algumas ações requerem uma conexão única, configuração e verificações de integridade raras (configurando um certificado SSL de hospedagem), enquanto outras envolvem verificações, atualizações constantes e exigem muita atenção (tudo o resto).

Hospedagem confiável e SSL


Portanto, para começar, nosso arsenal possui um servidor confiável ou hospedagem compartilhada, cuja administração permanecerá fora do escopo deste artigo. Quanto à conexão de um certificado SSL, essa é uma medida obrigatória e até os comentários são redundantes aqui.

Proteção DDoS


Se o seu provedor de hospedagem fornece serviços de proteção contra ataques DDoS ou você usa os serviços de serviços anti-DDoS, essa questão pode ser considerada encerrada, mas por que não fortalecer a proteção e organizá-la você mesmo, que é sem dúvida uma tarefa demorada e implica simultânea usando as seguintes técnicas: se o Apache for usado como servidor da Web, será necessário colocar um proxy de armazenamento em cache na frente dele - Nginx ou Lighttpd, mas é melhor usar o Nginx no frontend, mas com vários complementos (limite o tamanho dos buffers e conexões no Nginx, configure tempos limite e etc.; use o módulo testcookie-nginx; use a filtragem de URL e forneça o código não padrão 444, que permite fechar a conexão e não devolver nada); em alguns casos, use bloqueio geográfico;Automatize o processo de análise dos logs do site, prestando atenção especial à quantidade de tráfego, tempo de resposta do servidor, número de erros e número de solicitações por segundo.

Segurança de terceiros


No que diz respeito à recomendação sobre o uso de módulos de terceiros seguros em seus aplicativos, este tópico é provavelmente um dos mais importantes, porque a maioria dos ataques maliciosos ocorre por meio de módulos de terceiros. A essência deste parágrafo é usar estruturas e bibliotecas com recursos de segurança internos que ajudarão os desenvolvedores a minimizar a aparência de vulnerabilidades no processo de implementação. Gostaria de destacar recomendações mais detalhadas sobre este item: use módulos de terceiros de fontes confiáveis, suportadas pela comunidade e desenvolvidas ativamente; Mantenha atualizada a lista de todos os módulos de terceiros; Use apenas a funcionalidade necessária no seu aplicativo.

Injeções de SQL e ataques XSS


A recomendação sobre a proteção contra injeções de SQL e ataques XSS requer a explicação mais detalhada, porque o objetivo dos invasores aqui são dados específicos do banco de dados (injeção SQL) e dados do usuário (ataque XSS). Também vale a pena entender que os problemas relacionados à injeção de SQL abrangem uma seção extensa sobre o fornecimento de acesso seguro a todos os data warehouses, incluindo bancos de dados relacionais e NoSQL, e incluem problemas de segurança de consulta (evite entradas ilegítimas como parte do SQL- comandos e a melhor solução é usar consultas parametrizadas que podem ser aplicadas às construções SQL / OQL e procedimentos armazenados), configuração (é necessário garantir que as ferramentas de segurança DBMS existentes e a plataforma na qual está instalado estejam configuradas corretamente),autenticação (deve ser realizada em um canal seguro) e conexões (devido à existência de várias maneiras de interagir com o banco de dados (por meio de um serviço ou API), é necessário garantir a segurança das conexões usando criptografia e autenticação).

Quanto ao script entre sites (ataque XSS), nesse caso, as consequências da gravidade moderada podem ser causadas por XSS ou XSS refletido com base no modelo de objeto de documento (DOM), e o script entre sites com execução de código no navegador do usuário pode levar a sérias conseqüências. roubar credenciais, interceptar sessões ou instalar software malicioso. A principal medida de proteção nesse caso é a triagem (adição de certas combinações de caracteres antes de caracteres ou linhas para impedir sua interpretação incorreta), codificação de dados (conversão de certos caracteres em combinações de caracteres que não representam uma ameaça ao intérprete) no lado do servidor e uso de um conjunto de cabeçalhos HTTP em particular, Set-Cookie com parâmetros HttpOnly e Secure,bem como X-XSS-Protection com o valor 1.

Uma medida de segurança comum usada para impedir a injeção de SQL e scripts entre sites é verificar todas as entradas quanto à sintaxe e semântica. A norma sintática deve ser entendida como a correspondência completa dos dados de entrada com a forma de apresentação esperada, e a norma semântica indica que os dados de entrada não vão além dos limites de uma funcionalidade específica.

Registro e monitoramento


A recomendação sobre o registro de todos os eventos e o monitoramento de eventos de segurança já foi mencionada ao considerar métodos de proteção contra ataques DDoS, mas, neste caso, consideramos o lado mais amplo do problema relacionado à detecção de ataques e contra-ação, bem como à investigação de incidentes de segurança já ocorridos. Portanto, além das ferramentas de log padrão fornecidas pelo servidor da web, você precisa garantir que o horário do evento e o ID do usuário sejam registrados, bem como as atividades potencialmente perigosas específicas do seu site. Em caso de detecção de atividade maliciosa, seu aplicativo deve bloquear a sessão do usuário ou o endereço IP, em geral, tomar medidas e informar o administrador sobre isso. Aqui estamos falando sobre ferramentas como WAF ou IDS / IPS.

Backups


Quanto ao backup regular do site e de todos os dados, aqui você precisa pensar sobre o local e o tipo de armazenamento desses dados. Uma maneira eficaz é criptografar o armazenamento de dados e backups críticos, além de armazenar arquivos de backup não no sistema de arquivos, mas em um local diferente, cuja segurança não há dúvida e que estará sempre à mão para implantação rápida.

12345 ou qwerty?


A recomendação para o uso de senhas fortes e complexas não se refere apenas a senhas, mas em geral sobre autenticação e gerenciamento de sessões do usuário. Existem três níveis de autenticação, e o uso de senhas refere-se apenas ao primeiro - o nível mais simples (o segundo é a autenticação multifatorial; o terceiro é a autenticação baseada na criptografia). No entanto, mesmo aqui, existem vários requisitos para as próprias senhas, o mecanismo de recuperação de senhas e para o armazenamento seguro de senhas. O gerenciamento de sessões permite monitorar o estado da autenticação do usuário para trabalhar com um site sem nova autenticação. Também são necessárias sessões para criar e concluir.

Proteção do painel do administrador


A recomendação final é proteger o painel de administração do site, porque é um dos pontos fracos no sistema geral devido à ampla funcionalidade associada à adição / edição de postagens e páginas, trabalho com arquivos e muito mais. Portanto, uma condição importante é garantir o controle de acesso adequado, bem como a ocultação máxima do local do painel administrativo dos invasores, conseguida simplesmente transferindo o endereço para um fora do padrão e maximizando a proteção para esse ponto de entrada, protegendo-o da força bruta, filtragem por endereço IP, etc. Ao criar um sistema de controle de acesso, os seguintes princípios devem ser respeitados: enviar todas as solicitações através de um sistema de controle de acesso; Negar acesso por padrão (ou seja, rejeitar a solicitação, se não tiver sido especificamente autorizada); privilégios mínimos para todos os usuários,programas ou processos; recusa em usar o modelo de controle de acesso, codificado no código; registro de todos os eventos relacionados ao controle de acesso.

Conclusão


Este artigo de revisão analisa algumas técnicas para melhorar a segurança do site. Cada recomendação individual merece uma revisão separada, mas mesmo com uma revisão tão breve, uma coisa permanece clara - a abordagem para garantir a segurança deve ser abrangente e sistêmica e não deve ser tolerada. É necessário abordar cuidadosamente o controle de acesso, manter atualizados os módulos de terceiros, filtrar os dados de entrada e muito mais. Tem algo a acrescentar? Certifique-se de compartilhar os comentários.



Como anúncio


O VDSina oferece servidores confiáveis ​​com pagamento diário ou único, cada servidor está conectado a um canal da Internet de 500 Megabits e é protegido gratuitamente contra ataques DDoS!


All Articles