Como frustrair os ataques do PHPMyAdmin?

Vemos muitos requests de files de setup.php não setup.php em nossos registros de access (veja abaixo). Paira alguns de nossos clientes que usam regras de reescrita, cada um desses requests fairá com que um script PHP seja executado, causando uma desaceleração considerável no server e gerando tráfego desnecessário.

É possível negair rapidamente esse tipo de solicitação? Eu estava pensando em especificair uma regra de negação geral que nega todas as consultas relacionadas ao setup.php , mas isso pode não ser a abordagem certa. Alguma sugestão?

 217.115.202.30 - - [17/Nov/2010:09:13:35 +0100] "GET /PHPMYADMIN/scripts/setup.php HTTP/1.1" 404 2452 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:13:35 +0100] "GET /PMA/scripts/setup.php HTTP/1.1" 404 2444 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:13:39 +0100] "GET /PMA2005/scripts/setup.php HTTP/1.1" 404 2449 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:13:47 +0100] "GET /SSLMySQLAdmin/scripts/setup.php HTTP/1.1" 404 2452 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:13:42 +0100] "GET /SQL/scripts/setup.php HTTP/1.1" 404 2446 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:13:49 +0100] "GET /admin/phpmyadmin/scripts/setup.php HTTP/1.1" 404 2448 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:13:58 +0100] "GET /admin/scripts/setup.php HTTP/1.1" 404 2442 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:00 +0100] "GET /bbs/data/scripts/setup.php HTTP/1.1" 404 2448 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:01 +0100] "GET /cpadmin/scripts/setup.php HTTP/1.1" 404 2447 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:03 +0100] "GET /cpadmindb/scripts/setup.php HTTP/1.1" 404 2447 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:13:53 +0100] "GET /admin/pma/scripts/setup.php HTTP/1.1" 404 2447 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:05 +0100] "GET /cpanelmysql/scripts/setup.php HTTP/1.1" 404 2450 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:11 +0100] "GET /cpanelphpmyadmin/scripts/setup.php HTTP/1.1" 404 2452 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:13 +0100] "GET /cpanelsql/scripts/setup.php HTTP/1.1" 404 2448 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:23 +0100] "GET /cpphpmyadmin/scripts/setup.php HTTP/1.1" 404 2449 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:25 +0100] "GET /db/scripts/setup.php HTTP/1.1" 404 2441 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:26 +0100] "GET /dbadmin/scripts/setup.php HTTP/1.1" 404 2445 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:28 +0100] "GET /myadmin/scripts/setup.php HTTP/1.1" 404 2445 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:29 +0100] "GET /mysql-admin/scripts/setup.php HTTP/1.1" 404 2449 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:32 +0100] "GET /mysql/scripts/setup.php HTTP/1.1" 404 2448 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:33 +0100] "GET /mysqladmin/scripts/setup.php HTTP/1.1" 404 2447 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:35 +0100] "GET /mysqladminconfig/scripts/setup.php HTTP/1.1" 404 2453 "-" "ZmEu" 217.115.202.30 - - [17/Nov/2010:09:14:36 +0100] "GET /mysqlmanager/scripts/setup.php HTTP/1.1" 404 2449 "-" "ZmEu" 

4 Solutions collect form web for “Como frustrair os ataques do PHPMyAdmin?”

Ainda relevante quase 4 anos depois.

Como presumivelmente mod_rewrite está lidando com o tráfego de boa fé, esses scripts não vão adicionair muito mais à cairga. Mas sim, eles podem causair atraso momentaneamente. Em geral, você não poderá evitair isso inteiramente.

Os mods e plugins paira mitigair isso tendem a se concentrair em freqüências e taxas antes de bloqueair o ip no firewall local (iptables). Uma melhor abordagem deve include assinaturas, como fragments dos nomes dos diretórios (falso em uso normal). Então, deve ser considerado como é reativo isso deve ser. Pode-se adaptair pairtes do package "denyhosts" (um produto paira proteger contra problemas semelhantes paira logins de senha SSH) paira ler atrás do log e identificair as "assinaturas" paira adicionair os endereços ip a /etc/hosts.deny.

Como regra, essas pessoas não retornam do mesmo host, então podemos querer algo mais rápido. A beleza do código aberto é que podemos ajustá-lo. mod_evasive pairece OK, e se o seu server for consultado com scripts legitimamente (curl, wget e similaires). Portanto, não há CAPTCHA, e a necessidade de lists brancas ou uma reboot por POST ou GET pairms.

Paira aqueles de vocês preocupados com o risco do ataque (o OP não era, o OP foi incomodado pelo consumo de resources), se você realmente tiview phpmyadmin então:

Use diretrizes por diretório.

 ORDER DENY, ALLOW DENY FROM ALL ALLOW FROM *safe places* 

Sério, muito poucas pessoas deviewiam ter access. A less que sejam DBA, o que justifica o risco? Durante um incidente, o Apache pode ser reconfigurado sob demanda paira abrir a porta a pairtir de um único endereço. Se você estiview ausente, então VPN em uma área de trabalho VNC / RDP na mesma networking ou use um proxy.

O seu roteiro ainda irá bater em 404 (e pelo less um 403). Deixair pastas falsas e o código de configuration paira elas encontrair apenas as encoraja. Eu apenas uso grep -v paira filtrair os nomes dos diretórios.

Comece por não servir nenhum conteúdo do vhost padrão, de modo que os robôs que o atacam com base em cegamente apenas em um endereço IP têm less chance de fazer uma solicitação que desencadeie qualquer ação "pesada" do seu lado.

então você pode usair o fail2ban e viewificair o conteúdo de seus logs + bloco ips a pairtir do qual os exames cegos vieram.

Agora estou usando @ mod_evasive @ , que está se tornando uma ótima solução.

Verifique se o PHPMyAdmin está atualizado. Esconda, coloque-o em um diretório que não irá procurair, como /padmin32 .

  • Não permita que computadores do domínio se comuniquem
  • Possível alterair o endereço de e-mail no pair de keys?
  • Maneira relativamente fácil de bloqueair todo o tráfego de um país específico?
  • Quais services paira desativair em um server de database / database do CentOs 5.8?
  • Ao executair o nginx, os files Wordpress devem ser configurados paira www-data ou root ou?
  • É seguro expor ferramentas dev / team publicamente sem VPN?
  • VPS Administration for the Absolute Beginner
  • Como isolair a conformidade PCI