Primeiro olhamos como o conteúdo chega ao usuário, depois como o aplicativo controla o pedido.
Plesk Começando com o layout de hospedagem.
Um site comunitário, loja e painel de suporte, arquivos de aplicativos, bases de dados e serviços que executam esses dois. Plesk Ligando o nome de domínio ao site, gerenciamento de certificação, servidor web e configurações de operação do aplicativo são abordadas na mesma camada de gerenciamento.Quando um usuário abre a página, visuais abertos e arquivos de estilo podem ser apresentados do servidor web. Transações pessoais como sessão, equilíbrio ou solicitação de suporte são avaliadas na prática, registros necessários são retirados do banco de dados. O suporte passa pelo controle de acesso.
Plesk A versão PHP e os conjuntos de trabalho que o aplicativo usa podem ser gerenciados. conexões de banco de dados, permissões de arquivos e backups também devem ser organizados de acordo com as necessidades do serviço. As mesmas partes de serviço para alcançar o registro.
Quão rápido seu site abre em diferentes países?
O conteúdo comum é realizado na aplicação de transações de sessão quando apresentado de diferentes regiões.Nós entregamos tráfego para usuários em diferentes países, encontrando o local apropriado para ser solicitado. O primeiro tempo de resposta deve ser medido de diferentes regiões.
O painel de sessão passa pela aplicação autorizada das transações de saldo e pagamento, por exemplo, o mesmo produto visual pode ser apresentado a partir do cache em vários países, se o usuário é creditado, a transação é processada no registro principal da ordem e o novo saldo é mostrado apenas em sua própria sessão, com distribuição de tráfego regional, os limites de acesso dos dados privados do usuário são mantidos juntos.
Pedidos da Web chegam ao servidor
Como ler a regra da segurança?
PleskModSecurity, usado para o firewall de aplicativos web, controla solicitações HTTP com regras estruturadas. Os cabeçalhos de pedidos são lidos no início, o controle do corpo é feito depois que o conteúdo é separado.Por exemplo, ao aceitar um texto aberto de página de pesquisa, o endereço de upload do arquivo está esperando por um tipo específico de pedido POST sozinho. Se for supervisionado, quais tipos de conteúdo também devem ser determinados, uma impressão em massa ou detalhes de erro do banco de dados que vaza na tela de falhas do aplicativo, o aplicativo deve manter suas respostas de erro simples, escrever detalhes de diagnóstico especialmente.
| Família de regras. | Amostra denetada. | Controle total na aplicação. |
|---|---|---|
| Complemento e XSS | Rótulos Béticos, atributos de eventos e esquemas de conexão executáveis | Com texto HTML, atributo ou contexto URL. |
| Injeção SQL | sintaxe para mudar a estrutura da consulta de valor de formulário | Selecione as opções da lista fixa, que determina a estrutura da consulta como coluna de classificação. |
| Migração de estradas e acesso a arquivos | Pedidos tentando sair do diretório de aplicativos ou conseguir uma configuração especial. | Verifique o registro e abra o arquivo da loja permitida. |
| Injecção de comando. | Separadores especiais e scripts inesperados para comandos do sistema | Combine dados do usuário com o comando shell, valide o processamento e os parâmetros separadamente. |
| Forma e tamanho | Forma quebrada ou JSON, método inesperado e corpo grande excessivo | Identifique o tipo, campos e tamanho aceitos em cada ponto final. |
Avaliar o pedido em contexto ao invés de bloquear por uma única palavra
Em uma mensagem de suporte, a palavra "script" ou "selecionar" é usual. Por exemplo, um usuário pode enviar texto de erro técnico. Com o firewall, o aplicativo pode chegar a um entendimento diferente no aplicativo que vale a pena passar pela auditoria se houver comentários diferentes uns dos outros.OWASP Core Rule Set (CRS) converte correspondências em pontos nas instalações usadas para classificar anomalias. É necessário testar o pedido dinâmico de uma forma que realmente passa por auditoria.
Que regra muda se um pedido válido é bloqueado?
As novas regras devem primeiro ser testadas com fluxos de trabalho reais no modo de detecção ou em um ambiente de teste. O produto salva, a mensagem de suporte, o upload visual e o aviso de pagamento assinado são testados individualmente. Em tal exceção, o pedido deve ser submetido a sua própria autorização e controle de conteúdo.Quando o bloqueio é ativado, a transação válida deve ser re-testada para a solicitação corrupta e cenário de alto tráfego. A razão para a decisão sobre os registros deve ser vista, senha, dados de pagamento e interruptores de conexão devem ser mascarados. Deve também completar a notificação, mensagem de suporte e upload do arquivo corretamente.
Plesk ModSecurity Guide · Anomalia CRS da OWASP avaliada. · OWASP CRS descompassos e exceções às regras
Coloque a verificação gerenciada no lugar certo.
A WAF avalia os padrões de ataque conhecidos com o modo, corpo e outros sinais que eles querem. Se você colocar a verificação do navegador no endereço de entrega ou aviso de pagamento do plugin, ele não pode responder à automação.Vamos supor que uma noite de sexta-feira tem centenas de pedidos em um minuto de um IP. Os pedidos vão abrir visuais para todos, a maioria deles são recebidos do cache, e se o número incorreto de entradas não é aumentado, os usuários podem imediatamente esfriar o IP do jogo. Leia a correspondência dos pedidos, então aplique verificação ou bloqueio por certo tempo.
Pedido, sessão e controle de autorização no pedido.
O formulário do navegador do usuário é encontrado na entrada de um plugin de jogo e um upload de arquivo. No controlador central, a solicitação passa por camadas de controle antes de iniciar o processo correspondente. Quando o limite for preenchido, será parado com uma resposta que informa o pedido de espera.
A página aberta para todos, o painel de sessão e aviso de pagamento passam por diferentes controles.Regra definida para refletir as entradas e dados do POST na página
O controlador central verifica as áreas de forma, incluindo matrizes aninhadas, eliminando o corpo nas extremidades correspondentes do JSON, apagando os valores, normalizando antes que a varredura garanta que a mesma entrada codificada em diferentes formatos seja avaliada com as mesmas regras, limites de comprimento do corpo e da área também são controlados, limite de velocidade determina quantas vezes uma fonte pode ser solicitada, inspeção de conteúdo Se você olhar para os dados em um pedido.| Amostra vista no post input | Objetivo da auditoria |
|---|---|
| Bética ou tag iframe, atributo evento HTML, javascript: link | Então evite a execução de código no navegador da entrada refletida em uma página. |
| PHP abrindo tag, shell exec call ou substituição de comando shell | Bloqueando conteúdo no campo de texto para execução de código ou script no servidor. |
| Um invólucro de fluxo, como tentar sair da matriz superior ou php:// | Corte a entrada que funciona para sair do caminho esperado ou abra um fluxo alternativo. |
| UNION structure SELECT, SQL call produzindo atraso ou escrevendo molde para arquivo | Marque a entrada com o objetivo de mudar o resultado da videira, tempo de trabalho ou efeito. |
Verificando um pedido POST não é suficiente sozinho. O conteúdo deve ser verificado com uma lista de atributos e rótulos abertos. Assim, um valor armazenado na entrada não se transforma em um script de conteúdo rodando em outra tela que é então exibido.
| Casa | As regras a serem definidas | Comportamento esperado |
|---|---|---|
| Solicitar entrada. | Método, tamanho, espaço e limites de tipo | Pedido não válido é rejeitado antes do processo. |
| Autoridade de transação | Entrar, registrar e controlar CSRF se necessário | O usuário só está autorizado a se registrar. |
| Banco de dados | Consulta de parâmetros e acesso mínimo necessário. | A entrada do usuário não pode mudar a estrutura da consulta. |
| Saída | Ligando códigos apropriados e texto rico | O conteúdo não funciona como um código indesejado quando é mostrado. |
| Tráfego intenso | Limite de velocidade baseado em ponto final, verificação e bloqueio periódico | O uso suspeito é limitado, o modo normal de operação é mantido. |
Não determinamos o limite de segurança nas caixas de formulário.
Se o servidor parecer uma sessão solo, o usuário pode adicionar arquivos ao pedido de outro usuário fazendo 471 na solicitação. Identidade, permissão de transação e tipo de arquivo são três controles separados.O propósito de gravar o texto escrito pelo usuário não é apagar qualquer personagem especial. 5 < 10 O mesmo valor é codificado em HTML, enquanto entra na consulta do banco de dados como parâmetro.
O que acontece se o cookie de sessão for usado de outro IP?
Quando a conta da web é verificada, o símbolo de registro do servidor controla o endereço IP gravado no login e a última validade. Se alguém copiar o token e enviá-lo de um IP diferente, a sessão não corresponderá ao registro e a solicitação não será autorizada por essa conta. A mesma regra pode exigir re-entrar se o usuário mudar IP de dados móveis para Wi-Fi.httpOnly é usado no cookie de sessão PHP. Quando HTTPS é usado, o Secure também está habilitado. O JavaScript no navegador httpOnline limita seu cookie diretamente para ler. Cookie seguro permite que ele seja enviado via HTTPS. O pareamento IP limita a reutilização de um token capturado de um endereço diferente. Configurações de cookies, codificação de saída MVC e login no servidor Então funciona junto.
Carregamento de arquivos e armazenamento seguro.
Como você entende que uma foto é realmente uma imagem?
O cabeçalho MIME enviado pelo navegador pode ser alterado. Coloque o limite de tamanho na linha de instalação, verifique a extensão permitida, digite o conteúdo do arquivo e abra o visual com uma biblioteca de imagens. Limite o número de pixels. Quando um pequeno arquivo comprimido é aberto, ele pode consumir muita memória. Recode a imagem enviada e guarde o servidor produzido pelo nome. Carregando No diretório, PHP não deve ser operado, deve haver um controle de propriedade no download de arquivos especiais.Nome do arquivo gerado por extensão dupla e sistema
Nome de um arquivo Imagem. Por exemplo, o arquivo armazenado é um arquivo que pode ser usado para a identificação do sistema. 8d7c42f1.png As partes que o usuário adiciona ao nome do arquivo não determinam o nome do arquivo no servidor.Mudar o nome, o conteúdo significa bloquear controles para rodar na área de verificação e carregamento, não só encurtar o nome do arquivo, mas um conteúdo executável mostrado como imagem não traz segurança.
O componente de instalação aborda CGI, shell script, JavaScript e PHAR como conteúdo executável ao lado de extensões com comentários, como PHP e PHTML. A proteção do script nos processadores de arquivos gerais pode lidar com esses tipos como texto simples e adicionar .txt em nome do arquivo. A área de upload visual rejeita o arquivo que não está de acordo com sua lista MIME. Assim, o arquivo geral será tratado como um arquivo genérico. Não significa que os processadores podem armazenar um arquivo de texto, o mesmo arquivo será considerado visualmente.
Como lidar com scripts armazenados em SVG?
SVG descreve o desenho com uma estrutura baseada em texto, que pode ser adicionada a um atributo bíblico, desencadeante de incidentes ou conexão perigosa na estrutura, o arquivo pode carregar conteúdo que irá mudar o comportamento da página dentro de aparecer como um pequeno logotipo na tela, portanto, o sistema também examina o conteúdo do SVG. A instalação não conveniente é bloqueada sem ser processada.A tarefa da área de instalação também é importante, com o campo visual comum do usuário, não é necessário ter a mesma política de arquivos, que está incluída na presença do projeto da pessoa autorizada. Auditado.
Quem pode acessar o arquivo quando a instalação estiver concluída?
Pode ser aberto ao público para todos, se a imagem que solicita suporte pode conter o endereço de e-mail do usuário. Ambas não devem ser as mesmas regras de armazenamento e oferta mesmo que existam imagens. Mantenha o anexo de suporte fora da raiz web, verifique se o usuário ainda tem acesso à demanda correspondente na solicitação de download. Pode apresentar o público como um visual recodificado e não operacional.No caso de um erro durante a produção de predisposição, é necessário não abrir para todos em parte. Salve no espaço temporário e mova a saída do nome final. Defina o limite de tamanho tanto no servidor web quanto no lado PHP. Por exemplo, se a aplicação colocar 4 MB de limite, então o servidor na frente dele aceita corpos muito maiores, mesmo o arquivo que será rejeitado será rejeitado, até mesmo a largura de banda da fita e o temporário Dê uma mensagem clara ao usuário no pedido que excede o limite que você pode tentar novamente.
Modelos MVC e mudanças de SFTP
Como dividir modelo e código de aplicação com MVC?
Quando uma página de loja é aberta, o controlador atenderá ao pedido e determinará quais registros podem ser acessados, a camada de dados traz produtos e preços, a aparência produz a página com nome do produto, preço e informações de estoque dadas a ele, graças a esta distinção, o fluxo de pagamento ou banco de dados para alterar o cartão de produto ou layout da lista de um tema Não precisa mudar a consulta.O tema editável e os arquivos do painel pertencem à camada de apresentação. O controlador de modelo pode ser operado por rótulos PHP, cabeçalhos de comentários de script e bloqueia diretamente o SQL morre anexado à aparência. Mesmo com o nome do arquivo .php, o conteúdo está sujeito a estas regras. O motor de modelo compila o modelo verificado para seu próprio formato de trabalho. Os dados dinâmicos estão autorizados para o lado da apresentação da infraestrutura A diretriz de saída bruta é restrita, os caminhos dos ativos também são relativos e limitados com diretórios permitidos.
Um tema pode mostrar o título da solicitação de suporte. O cabeçalho decide qual usuário será mostrado e quais registros do banco de dados serão retirados. Se o arquivo temático estiver diretamente autorizado a ler arquivos do servidor ou abrir uma conexão de rede, então o efeito de uma mudança de design se estende aos dados da loja.
O que MVC faz quando a entrada do usuário é refletida na página?
O valor que um usuário escreve para a caixa de pesquisa pode ver novamente na página do resultado. Existe um risco de XSS que queima se ele é mostrado na mesma resposta. Uma mensagem de suporte é gravada, e então quando ele é mostrado em outra tela, o risco XSS nasce. Em ambos os casos, como o navegador irá comentar os dados, determina a aparência de MVC onde a saída é gerada.O compilador de modelos funciona para valores padrão saída HTML, códigos caracteres especiais e pregos. Por exemplo, o <script> em uma entrada aparece como texto para o usuário quando escrito no campo de texto HTML. O valor bruto do modelo também é bloqueado no controle de fonte. Em áreas onde as necessidades HTML ricas são claramente usadas blocos de infraestrutura uç. Se um valor for usado como URL, O gráfico de link permitido também deve ser aplicado à codificação segura JSON se for transferido para JavaScript como dados.
Como ativar o modelo organizado com SFTP?
A resolução da estrada previne a transição de diretórios para fora da área de trabalho e os links restantes do alvo fora. também é comparado.A cópia de trabalho verifica o conteúdo antes de ser levado para o modelo ativo. Chamada de shell, leitura de arquivos ou listagem de índices, acesso a variáveis de mídia, operações cURL e socket são exemplos controlados nesta camada. Mudança bloqueada não será escrita no modelo habilitado. Uma abertura válida de sessão com SFTP permite transferência de arquivos. Se o site for ativado por esse arquivo, a verificação do modelo Decide.
Que autorizações de trabalho devem ser dadas a um plugin?
A tarefa que um plugin trabalhando no lado do servidor é limitada.| Área de autorização | Métodos de uso a serem revistos |
|---|---|
| Execução de comando | Chamada direta, substituição de comando ou processo de operação separado. |
| Execução de código | Gerar código de texto, carregar código de arquivo, chamada indireta ou dinâmica. |
| Acesso à rede | Leia os dados via solicitação HTTP, soquete direto, cliente de transferência de arquivos ou rede com CURL. |
| Sistema de arquivos | Leitura e escrita de arquivos, listagem de índices, criação de links ou permissão de mudança. |
| Ambiente de aplicação | Lendo variáveis de ambiente, mudando configurações operacionais ou acessando status comum de aplicação. |
Acesso ao servidor e informações de conexão
Onde usar a senha do banco de dados?
O aplicativo precisa de uma senha válida para se conectar ao banco de dados.O valor aberto da senha não deve ser incluído nessas telas ou respostas de erro.
PleskFalhar2Ban e acessar proteções em
No Linux PleskA regra definida para cada serviço determina quais registros contarão, quantas tentativas preencherão o limite dentro do tempo e por quanto tempo será bloqueado. Plesk serviços como painel, SSH e correio podem ser vistos com diferentes registros e regras.PleskOs limites de proteção de entrada incorporados falham nas entradas do painel e API. O acesso administrativo também pode ser aberto a certos endereços IP ou redes. Contas que não precisam de conexões remotas no banco de dados podem ser limitadas ao acesso local.
ModSecurity avalia um conteúdo de solicitação HTTP.
Plesk Falha 2Ban e proteção de entrada · Limitações de acesso do gerente · Regras de acesso ao banco de dados
Densidade, backup e retorno.
Plesk, Docker e página realmente rápida
Plesk Em uma instalação usada em Docker, processador e limites de memória, arquivos de aplicação somente leitura e IDs de serviço separados limitam o efeito de um trabalho. Mantenha o painel privado do usuário fora do cache comum, monitore as cinco respostas mais lentas e pedidos de PHP esperando na cauda.O que medir antes de abrir um recipiente?
ZonelyNós monitoramos o tempo da CPU, o uso da RAM, o acesso ao disco e à rede e os dados escritos no campo de troca, ele alivia processadores e discos que não fazem a mesma consulta em nenhum lugar desnecessário, mantendo o cache limitado o consumo de RAM, para completar um pedido com menos memória, estamos constantemente procurando pela área de troca. Mostra o tempo de resposta e a taxa de erro em intensidade, juntamente com o consumo de recursos, que uma mudança não funciona.Quando os usuários dizem “site congeled” a primeira distinção é onde a resposta é esperada. Página de resultados aberta para todos é rápida, começar a partir de consultas SQL que funcionam ao mesmo tempo comparando o painel do usuário que se conectou. Se imagem estática é mais lento então rede, disco ou capacidade do servidor também deve ser revisado. Todos os funcionários no pool PHP estão esperando para responder lentamente de um serviço externo, uso da CPU é baixo Aumentar o número de empregados pode aumentar, enviando mais consultas simultâneas para o banco de dados.
Por exemplo, você pode calcular a tabela de resultados mais uma vez e oferecer um parceiro por pouco tempo em vez de recalcular para cada usuário. Por exemplo, os dados foram revelados.
A que horas a loja vai ficar quando voltar para backup?
O provedor recebeu o dinheiro e vários prêmios para o jogo podem ser entregues, algumas recompensas que correm imediatamente no banco de dados antigo podem distribuir a segunda vez, abrir a loja restaurada em ambiente isolado antes, comparar as subsequentes identidades de pagamento e entrega do backup, depois definir as ordens desaparecidas, então selecionar fila A prova de recuperação para um site comunitário é mais valiosa do que o controle de "apoiado" sozinho.A última prova é simples: envie o tipo errado de arquivo, carregue uma foto pequena válida e abra a tabela de resultados de um usuário normal neste momento.
Guia de upload de arquivos OWASP · Cloudflare Páginas de verificação







“10 De 10 Eu nem sequer tenho o recurso em outro software."