Impedir el acceso o eliminar automáticamente el archivo readme.html, license.txt, wp-config-sample.php

12

Solo una pregunta rápida que podría ayudar un poco a la seguridad. Noté que el archivo readme.html tiene el número de versión listado. Vuelve a aparecer después de cada actualización y también lo hacen licence.txt y wp-config-sample.php.

¿Existe una manera fácil de hacer que WordPress elimine automáticamente estos archivos después de una actualización?

Ya bloqueé el número de versión para que no se muestre en las metaetiquetas, las fuentes RSS, el átomo, etc.

Sé que este tipo de seguridad no es exactamente tan muy útil, pero solo pensé que podría ser un pequeño comienzo. Escuché que la gente puede simplemente verificar la versión de jQuery que se incluye en WP-includes y hacer una referencia cruzada de qué versión de WP la envió.

    
pregunta Sahas Katta 15.12.2010 - 10:53

3 respuestas

19

No es necesario eliminar estos archivos. Es mucho más fácil simplemente bloquear el acceso a ellos. Si está utilizando URL bonitas, ya tiene un archivo .htaccess. El uso de .htaccess para bloquear los archivos es seguro y solo tiene que agregar una directiva una vez.

El bloqueo de archivos se realiza agregando una directiva a .htaccess como esta:

    <files filename.file-extension>
         order allow,deny
         deny from all
    </files>

Entonces, para bloquear el archivo readme.html, debes hacer esto:

    <files readme.html>
         order allow,deny
         deny from all
    </files>

Haga lo mismo con el archivo de licencia o cualquier otro archivo al que desee impedir que alguien acceda. Simplemente abra .htaccess en el Bloc de notas o en cualquier otro editor de texto básico, agregue las directivas y guarde, asegurándose de que el editor de texto mantenga el nombre del archivo exactamente, sin ningún .txt al final.

    
respondido por el Elpie 15.05.2011 - 14:22
5

Aquí está mi opinión:

RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
  • 404 (no existente) en lugar de 403 (prohibido) para evitar cualquier pista sobre la existencia.
  • también en subcarpetas (es decir, temas y complementos, que podrían ofrecer oportunidades de ataque)
  • mayúsculas y minúsculas, extensión flexible, también detecta README.html o license.html (siéntase libre de agregar sospechosos típicos como listas de cambios | preguntas frecuentes | contribuyendo)

Personalmente, también bloquearía:

RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F]

nb:

  • '?:' simplemente declara que el corchete no coincide (sin importancia).
  • requiere que RewriteEngine sea on (lo más probable es que sea. sería raro, usar wordpress sin ... (permalinks feos, etc ...)).
  • inserte antes de la sección # BEGIN WordPress en tu .htaccess
respondido por el Frank Nocke 06.09.2015 - 08:44
3
add_action('core_upgrade_preamble','my_function_to_delete_files');

Editar: también puedes probar estos

add_action('upgrader_pre_install','my_function_to_delete_files');
add_action('upgrader_post_install','my_function_to_delete_files');
    
respondido por el Atif Mohammed Ameenuddin 15.12.2010 - 11:37

Lea otras preguntas en las etiquetas