[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Marcos R Garcia wrote:
No hay mucha información al respecto, pero una buena fuente son los omentarios del php.ini.Hola, buen dia Sandino! Veo que comentaste en una de tus respuestas sobre seguridad en el Servidor Apache, pues bien, me permito preguntarte donde puedo leer o conseguir una relación de opciones para hacer segura "una pagina" Web hecha en PHP (realmente son varios programas).
En particular deseo: a) denegar el acceso a los fuentes de PHP para que no vean el códigoSi tienes acceso a un subdirectorio que esté fuera del DocumentRoot y al mismo tiempo se encuentre en tu include_path te conviene mover todo lo que puedas a ese directorio; de otra manera tendrás que limitar el acceso con archivos .htaccess.(esta en un subdirectorio)
La información confidencial no debe vivir en los subdirectorios públicos de tu sitio aunque la podrías tener encriptada y trepar la llave a memoria compartida para que tu aplicación la pueda desencriptar; con la desventaja de que cada vez que reinicie el Apache tendrás que volver a trepar la llave a memoria compartida.b) evitar que naveguen en otros subdirectorios de mi sitio donde guardodocumentos con informacion confidencial.
¿Tienes acceso sólamente al directorio donde tienes tu DocumentRoot o tienes acceso a más directorios que se encuentren al mismo nivel que tu DocumentRoot? Dependiendo de las políticas de tu proveedor si tienes acceso a directorios fuera de tu DocumentRoot puedes agregar a tu .htaccess una línea php_value include_path con la ruta relativa hacia ese directorio ../otro_directorio y ahí meter tus librerías. Algo parecido puedes hacer con tus documentos confidenciales, moverlos a un directorio fuera de tu DocumentRoot y abrirlos con $archivo=fopen("../confidencial/archivo", "r");El sitio es un area asignada por un proveedor de internet, al cual tengo acceso via FTP.
Desde luego que si tu proveedor sólamente te da acceso al directorio donde se encuentra tu DocumentRoot pues la única alternativa que te queda es la de los archivos .htaccess.
Para que no vean el cófigo fuente de tus librerías cámbiales la extensión de .inc a .inc.php. Desde luego que tendrás que actualizar todas las sentencias include y require donde cargues esas librerías. Tus librerías no deberían mandar ningún output y deberían verificar que si $_SERVER["SCRIPT_NAME"] es igual a su propio nombre mejor terminar la ejecución con exit 0; porque es alguien que está tratando de leer su contenido o de forzarlas por medio de variables GET, POST y COOKIE a ejecutarse con un comportamiento arbitrario.Hasta ahora he conseguido algunos tips viendo otros sitios: colocar un index.html en cada subdirectorio, usar robot.txt y hacer uso del archivo .htaccess
Puedes pedirle a tu proveedor que instale mod_security y configurar las reglas desde tu .htaccess Y desde luego, debes auditar todas tus aplicaciones de web línea por línea, validando todos los parámetros que recibes de fuera para prevenir ataques de SQL injection, code injection y cross site scripting. Si puedes apaga el reporte de errores, de esa manera los atacantes que buscan provocar errores en tu aplicación para obtener más pistas del funcionamiento interno de tu aplicación se quedarían sin nada....La pregunta especifica es, son estos los unicos elementos con que cuentopara hacer mi sitio seguro?
existe algun otro ? donde localizo ejemplosde .htaccess especificos
La sintaxis es exactamente la misma que la de tu httpd.conf. en google podrás encontrar ejemplos. http://www.google.com.mx/search?q=.htaccess
(en apache.org no se me hace claro o didactico, ya que esta dispersa la informacion)? Gracias de antemano
-- Sandino Araico Sánchez -- ... there's no spoon ...