Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Seguridad en Apache y PHP




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Consideraciones
    Quién tiene acceso físico?
    Quién tiene acceso shell?
    Apache escribe en los filesystem?
    Limitar los post/get, cookies, sesiones?

    Monografias.com

    Recomendaciones básicas
    Deshabilitar los servicios no usados, actualizar el servidor, usar los archivos de configuración recomendados
    Habilitar logwatch y logcheck y actualizar los reportes
    Habilitar una herramienta de verificación de integridad de archivos
    configurar iptables – Ports 22, 80, 443 tomcat?

    Monografias.com

    Asegurando Apache

    Monografias.com

    Configurando Apache
    Deshabilitar servicios no indispensables
    Verificar los bugtracks y actualizar
    Proteger los directorios /var/www/
    Crear un directorio personalizado /var/www/error
    Habilitar los .htaccess y proteger los archivos de users y password del http

    Monografias.com

    mod_dosevasive
    Fácil de configurar
    Puede ayudar a evadir ataques de DoS bloqueando direcciones ip o URLs temporalmente.

    LoadModule dosevasive20_module modules/mod_dosevasive20.so

    < IfModule mod_dosevasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 2
    DOSPageInterval 1
    DOSSiteCount 50
    DOSSiteInterval 1
    DOSBlockingPeriod 10
    DOSEmailNotify admin@domain.com
    DOSLogDir "/tmp/mod_dosevasive“ (make writable by apache only)
    < /IfModule>

    Monografias.com

    Características mod_security
    Los filtros se aplican antes de ejecutar los scripts
    Soporta SSL
    Entienden el protocolo http
    Hace logging completo incluyendo post data
    Las reglas son personalizadas usando expresiones regulares y pueden ser aplicadas a niveles de virtual hosts

    Monografias.com

    Ejemplo mod_security
    < IfModule mod_security.c>
    SecFilterEngine On
    # Prevent OS specific keywords #index.php?include=filename
    SecFilter /etc/passwd

    # Prevent path traversal (..) attacks
    SecFilter "../"

    # Very crude filters to prevent SQL injection attacks
    SecFilter "delete[[:space:]]+from"
    SecFilter "insert[[:space:]]+into"
    SecFilter "select.+from"
    < /IfModule>

    Monografias.com

    Revisar el Servidor
    Nmap (nmap –I –sV servidor)
    Nessus http://www.nessus.org
    CIS Linux Benchmark Scan
    http://www.cisecurity.org/bench_linux.html

    Monografias.com

    Seguridad en PHP

    Monografias.com

    Tipos de Ataques a PHP
    Ejecución de comandos y/o escribir en los filesystem
    Sql injection
    Session Hijacking
    Cross Site Scripting (xss)

    Monografias.com

    Directory Transversal Attack
    Este fallo es muy común y simple. Consiste en realizar un descenso de directorios usando la referencia ../ al directorio padre.
    Un ejemplo de esto seria el siguiente:
    < html>
    < head>PHP para mostrar ficheros de texto< /head>
    < body>
    < ?
    if ($fp=fopen($filename,"r"))
    {
    while(!feof($fp))
    {
    $contenido=fgets($fp,500); print("< p>" . $contenido);
    }
    }
    else
    {
    print("Error al abrir el fichero");
    }
    ?>
    < /body> < /html>

    Monografias.com

    Contenido del programa show_text_file.php

    Este programa de ejemplo esta escrito en PHP y simplemente lee el archivo especificado y lo muestra, tal y como vemos en el siguiente escenario:
    Ejemplo:
    victima.com/cgi-bin/show_text_file.php?filename=introduccion.txt
    Salida:
    PHP para mostrar ficheros de texto
    Esto es un ejemplo
    esta es la línea 1
    esta es la línea 2
    esta es la línea 3

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter