"denegar todo" para todos los archivos en un directorio

"denegar todo" para todos los archivos en un directorio

Mi servidor está siendo muy afectado por bots, etc., que buscan varios archivos en /cgi-bin/, me gusta search.cgi, YaBB.pl, gitweb.perl, perl, gitweb.pl, htsearch,y así sucesivamente.

Quiero denegar todo acceso (enviar un encabezado 403 Prohibido) para todos los nombres y extensiones de archivos posibles en /cgi-bin/ . (Este es un servidor compartido, por lo que solo tengo acceso a .htaccess, no a vhostso httpd).

En un .htaccess lo cgi-binhe probado

deny from all

así como

<FilesMatch "\.cgi?$">
        Order Allow,Deny
        Allow from All
</FilesMatch>

solo para .cgiextensiones, sin suerte para ninguna de las dos.

¿Cómo puedo negar el acceso a todo lo que hay en /cgi-bin/?

¿Necesito enumerar todos los nombres y extensiones de archivos en una <FilesMatchdirectiva?

Respuesta1

¿Conoce la IP o el agente de usuario que causa el alto tráfico?

<Directory /cgi-bin>
  order deny,allow
  deny from all
</Directory>

Alt,

RewriteRule   "cgi(.*)"   "go_away"

Respuesta2

Hay muchas maneras de lograr esto:

  1. Usando Directorio (versión Apache 2.2):

    <Directory /var/www/cgi-bin/>
    order deny,allow
    deny from all
    </Directory>
    
  2. Usando la condición de reescritura:

    RewriteCond %{REQUEST_URI} ^/cgi-bin
    RewriteRule .* - [END,R=406]
    

Puede cambiar 406 por cualquier código que desee como 403 para prohibido, puede encontrar aquí la lista de códigos de estado:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

E incluso puedes extender la condición de reescritura para cubrir más bot:

RewriteCond %{HTTP_USER_AGENT} ^-? [OR]
RewriteCond %{REQUEST_URI} ^/cgi [OR,NC]
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST)$ [OR]
RewriteCond %{REQUEST_URI} !^/
RewriteRule .* - [END,R=406]

Esas reglas evitan que el agente de usuario esté vacío, la solicitud comienza con /cgi, limita el método a GET/HEAD/POST, la solicitud no comienza con /

  1. Usando la forma más lógica:

Simplemente mueva o elimine cgi-bin de su carpeta web si no los usa.

información relacionada