Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14709|Resposta: 2

[Web] nginx é protegido por DDOS segundo http_user_agent

[Copiar link]
Publicado em 20/12/2016 10:37:01 | | |

Proxy reverso frontend squid para nginx
nginx é protegido por DDOS segundo http_user_agent
Primeiro, revise os registros de acesso para identificar as características das visitas suspeitas encontradas http_user_agent e, em seguida, filtre-as
"Mozilla/4.0 (compatível; MSIE 5.01; Windows NT 5.0; MyIE 3.01) Controle de Cache: sem armazenamento, deve ser revalidado"
if ($http_user_agent ~ must-revalidate) {
retorno 503;
}
#这样就返回503错误
localização = / {
inclua proxy .conf;
if ( $http_user_agent ~* "MSIE 5.01" ) {
proxy_pass http://www.qq.com;
#access_log /usr/local/nginx/logs/k.log main;
      }
proxy_pass http://windows.abc.com;
}
#判断一下user-agente, se for MSIE 5.01, é só jogar para outro lugar, como apontar para www.qq.com para ver se resiste, haha
proxy_hide_header Controle de Cache;
Por fim, volte ao Controle de Cache e visite a página
Agora o link está armazenado no cache do squid, e o servidor de aplicação não trava
#########################################################
Descrição detalhada dos parâmetros do módulo de localização em nginx
A Nginx's Location pode ter as seguintes correspondências:
1. = Corresponder estritamente a esta consulta. Se encontrar, pare de procurar.
2. ^~ Corresponda ao prefixo do caminho, se encontrado, pare de buscar.
3. ~ é uma correspondência regular sensível a maiúsculas minúsculas   
4. ~* é uma correspondência insensível a maiúsculas minúsculas
5. !~ e !~* são incompatibilidades sensíveis a maiúsculas minúsculas e insensíveis a maiúsculas e minúsculas, respectivamente

Correspondência de arquivos e diretórios
* -f e !-f são usados para determinar se um arquivo existe
* -d e !-d são usados para determinar se existe um diretório
* -e e !-e são usados para determinar se existe um arquivo ou diretório
* -x e !-x são usados para determinar se um arquivo é executável ou não

Algumas das variáveis globais disponíveis
$args
$content_comprimento
$content_tipo
$document_raiz
$document_uri
$host
$http_agente_usuário
$http_cookie
$limit_taxa
$request_arquivo_corpo_
$request_método
$remote_addr
$remote_port
$remote_usuário
$request_nome do arquivo
$request_uri
$query_string
$scheme
$server_protocolo
$server_addr
$server_nome
$server_port
$uri

A flag após a reescrita pode ser:
Última
Intervalo
redirecionar
permanente

proxy_pass http://localhost:80;
proxy_set_header Apresentador $host;
Você pode mudar automaticamente as informações do nome de domínio após o encaminhamento




Anterior:Solução em C# para não conseguir acessar objetos liberados
Próximo:O PowerShell transforma múltiplos espaços em um único espaço para remover espaços excedentes
 Senhorio| Publicado em 20/12/2016 10:37:25 |

O servidor é afetado por cc (o atacante usa o servidor proxy para gerar requisições legítimas ao host vítima, implementar DDOS e disfarçar o que é chamado de cc (ChallengeCollapsar). ) ataque, Nginx pode simplesmente lidar com isso.

Como o useragent de um atacante CC geralmente é fixo, usamos nginx para julgar useragatet para lidar com ataques CC.
Na configuração do servidor nginx

(1) useragent é igual a uma determinada característica (insensível a maiúsculas minúsculas)
if ($http_user_agent ~* OliveHC3){
   retorno 403;
}
(2) useragent contém um determinado recurso (não distingue maiúsculas e minúsculas)
if ($http_user_agent ~* (*OliveHC3*)){
   retorno 403;
}
(3) useragent é um recurso vazio
if ($http_user_agent ~ ^$){
        retorno 403;
}


Dessa forma, o ataque retornou ao 403.
 Senhorio| Publicado em 20/12/2016 11:03:41 |

1. $remote_addr e $http_x_forwarded_for são usados para registrar o endereço IP do cliente;
2.$remote_user: Usado para registrar o nome de usuário do cliente;
3.$time_local: Usado para registrar o horário e fuso horário de acesso;
4.$request: URL e protocolo HTTP usados para registrar requisições;
5.$status: Usado para registrar o status da solicitação; Sucesso é 200,
6.$body_bytes_s ent: Registra o tamanho do conteúdo principal do corpo do arquivo enviado ao cliente;
7.$http_referer: usado para registrar visitas a partir do link daquela página;
8.$http_user_agent: Registre as informações relevantes do navegador cliente;
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com