Asegurando un servidor con PHP

Publicado en Docus el Mayo 6, 2008 por conidas

php

1. Introducción.

Hay muchas personas y administradores que dejan la instalación PHP por default, es decir, no tocan nada de php.ini, cosa que compromete de una manera grave la seguridad, tanto del servidor en sí, como de los usuarios y obviamente, la información que se trate.

Y viendolo desde el lado del prestigio del servidor puede acarrear problemas, tanto con otros servidores como con la misma blacklist*. Pues programar una herramienta que verifique puertos abiertos, cheque la versión del httpd server y sus extenciones, hasta la compilación de un exploit no es dificil pues hay funciones que practicamente nos dan una shell aunque no se tenga acceso por ssh o telnet.

Como debes saber, lo que aquí explicaré aplica para la mayoría (si no es que todas) las plataformas en las que PHP esta, hasta la fecha, portado. Y sólo como referencia les menciono las condiciones del equipo en las que se trabajó:

Sistema Operativo: OpenBSD 3.2
Versión de Apache: 1.3.29
Versión de PHP: 4.0.5

Mi servidor vecino más pronto en el que apliqué también estas opciones de configuración cuenta con estas caracterizticas:

Sistema Operativo: Microsoft Windows ME
Versión de Apache: 1.3.14
Versión de PHP: 4.0.5

Sin duda grandes diferencias, pero lo cierto es que los importante aquí no es la estructura y componenete en sí del servidor, si no de php y la manera en la que este configurado.

En algunas plataformas se corren mas riesgos que en otras, por ejemplo, en Windows, es mas peligroso ejecutar un ‘del’ que un ‘rm’ en unix.

2. Scripts mal intensionados.

Una mala configuración de PHP puede, como ya comente, significar una grave falla de seguridad en nuestro sistema, ya que cualquier persona con acceso y permiso para escribir o subir aplicaciones dentro del servidor puede jugar de muchas maneras con la información y comprometer al sistema.

Veamos un caso típico de una función peligrosa.

comandos.php
<?php

system(“ls -l”);

?>

Como podras imaginar, la función system(); ejecutar una orden en el sistema, o sea, un comando. En el ejemplo se listaría el directorío en el que se esta ejecutando el programa. Por que no probamos listar otro directorio, /homa, por ejemplo.

comandos.php

<?php

system(“ls /home”);

?>

Eso nos daría, literalmente, los nombres de todos los usuarios existentes en el sistema (que tengan su directorio en /home, claro). Y ya tendras la idea de lo que pasaría si se lanza un ‘del’ en un sistema Windows.

Existe otra forma de conseguir acceso al interprete de comandos

Puede estar desactivada/bloqueada la función system();, pero aún quedan las comillas invertidas.

comandos.php

<?php

$comando=`ls /home`;

echo $comando;

?>

Eso, si system(); llegará a fallar, también lanza la orden al shell.

Lo anterior expone la integridad del servidor, ahora veamos como se puede comprometer un sistema de manera ‘etica’, es decir, ejecutando acciones hacia otras maquinas en internet que se puedan mal interpretar, y claro, puedan ser mal intensionadas.

puertos.php

<?php
$puerto=25;
$sock=fsockopen(“www.otro-servidor.com”, $puerto, $errno, $errstr, 5);

if ($sock) {
echo “El puerto esta abierto”;
} else {
echo “El puerto esta cerrado”;
}
?>

Un escaner de puertos, esa función tomaría el script anterior. Y como se lee se ejecuta hacia otro servidor. Pero esto es un ejemplo nada mas, con un poco de dedicación se pueden hacer más cosas.

Existe otra falla de seguridad común en aplicaciónes PHP, esto quizá no sea una tarea propia de nosotros como administradores, pero proveeriamos a nuestros usuarios de seguridad extra para sus aplicaciones, y les vendría muy bien si se tratara de usuarios/programadores iniciados ó no con mucha experiencia.

Hablo de \ (caracter de escape) en variables pasadas por GET, POST y Cookies,que puede ser agregado a “, ‘ y \ automaticamente.

Veamos un ejemplo de “Inyección SQL” que nosotros mismo como administradores podemos evitar.

<?php

$sentencia_sql=”SELECT * FROM nombres WHERE id=$id”;
$cnx= mysql_connect (“localhost”, “pam25″, “ilovemygeek”);
mysql_db_query(“nominas”, $sentencia_sql);
mysql_close ($cnx);

?>

Supongamos que el codigo mostrado anteriormente es el ‘target’ de un formulario que permite a los visitantes ver los datos o el perfil de los trabajadores de la empresa.

Ahora, supongamos que un vistante ‘malvado’ en lugar de ingresar un ID, manda algo como: xx; DELETE FROM nominas. La variavle $sentencia_sql tomaría un aspecto así:

$sentencia_sql=”SELECT * FROM nombres WHERE id=xx; DELETE FROM nominas”;

¡Vaya!, borro todos los datos de “nonimas”.

3. Asegurando PHP.

Para asegurar PHP en nuestro sistema, como era de esperarse, debemos tener muy bien configurado el archivo php.ini.

Abrirmos con cualquier editor de textos el archivo php.ini y:

Empezemos deshabilitando funciones que no querramos que sean ejecutadas en nuestro servidor, como system(), shell_exec(), fsockopen(), etc…

disable_functions=system,fsockopen,shell_exec ; This directive allows you to disable certain
; functions for security reasons. It receives
; a comma separated list of function names.

La función mail() puede implicar problema si se trata de un servidor publico, pues es muy fácil enviar ‘fake mails’ (claro, con todos los datos de nuestro servidor).

Ahora, PHP permite conexiones mediante FTP. Eso también podemos evitarlo, pues no queremos que si el usuarios usa indebidamente recursos de otros servidores, nos vayan a culpar, entonces también beriamos incluir en esa lista la función ftp_connect().

NOTA: Las funciones FTP sólo estarán disponibles si se compiló PHP con –enable-ftp ó
–with-ftp (en PHP3).

Buscamos la directiva magic_quotes_gpc, que quizá este en Off, pues la activamos con On. Esto hace la adición automática del caracter de escape “\” en variables tomadas de GET, POST y Cookies.

magic_quotes_gpc = On ; magic quotes for incoming GET/POST/Cookie data

Para evitar que en lugar de enviar cadenas mal intencionadas, sean almacenadas en bases de datos o archivos de texto. Debemos activar magic_quotes_runtime.

magic_quotes_runtime = Off ; magic quotes for runtime-generated data.

Se podría decir que hasta ahí tenemos mas o menos asegurado PHP. ¿Fácil, no?.

Bueno esto fue un docus corto de como asegurar php en sismples pasos en diferentes plataformas, si tienes mas tips o formas me las puedes hacer llegar mediante mensaje en este mismo apartado y vamos colocando ende vayan llegando mas sugerencias.

Nuevos contenidos en la Red Temática CriptoRed (abril de 2008)

Publicado en General el Mayo 6, 2008 por conidas

1. NUEVOS DOCUMENTOS PARA DESCARGA LIBRE DESDE CRIPTORED Y CÁTEDRA UPM APPLUS+

* Implementación de una herramienta SIM (Security Information Management) en la red de la Universidad Técnica Particular de Loja (María Paula Espinoza Vélez, artículo pdf, 10 páginas, Ecuador)
http://www.criptored.upm.es/guiateoria/gt_m538a.htm

* Proceso de implementación de una Infraestructura de Clave Pública PKI (María Paula Espinoza Vélez, artículo pdf, 11 páginas, Ecuador)
http://www.criptored.upm.es/guiateoria/gt_m538b.htm

* Seguridad para la red inalámbrica de un campus universitario (María Paula Espinoza Vélez, artículo pdf, 12 páginas, Ecuador)
http://www.criptored.upm.es/guiateoria/gt_m538c.htm

* Introducción a la criptografía cuántica: alternativas y retos actuales (Fernando Acero Martín, presentación pdf, 31 diapositivas, España)
http://www.lpsi.eui.upm.es/GANLESI/2007_2008/gconferencia_fa.htm

* Hackers y Crackers vs Certificaciones (Roberto Gómez Cárdenas, presentación pdf, 49 diapositivas, México)
http://www.criptored.upm.es/guiateoria/gt_m626k.htm

* Amenazas y defensas de seguridad en las redes de próxima generación (Walter Baluja García, artículo pdf, 10 páginas, Cuba)
http://www.criptored.upm.es/guiateoria/gt_m189f.htm

* Un modelo simplificado para la atención de incidentes de seguridad informática: PTIARA (Jeimy Cano Martínez, artículo pdf, 7 páginas, Colombia)
http://www.criptored.upm.es/guiateoria/gt_m142d1.htm

2. NUEVOS DOCUMENTOS RECOMENDADOS PARA SU DESCARGA LIBRE DESDE OTROS SERVIDORES

* Informe de la Red de Sensores de INTECO del Mes de Marzo de 2008 (España)
http://alerta-antivirus.es/documentos/rescata/Informe_mensual_200803.pdf

* Cuarta edición del Libro Electrónico Criptografía y Seguridad en Computadores de Manuel Lucena López (España)
http://wwwdi.ujaen.es/~mlucena/wiki/pmwiki.php?n=Main.LCripto

* 10 Presentaciones del VI Foro de Seguridad de RedIRIS para Libre Descarga (España)
http://www.rediris.es/cert/doc/reuniones/fs2008/archivo.es.html

* Documentos de la primera Sesión Abierta de la Agencia Española de Protección de Datos (España)
https://www.agpd.es/index.php?idSeccion=673

3. CONGRESOS Y SEMINARIOS POR ORDEN CRONOLOGICO DE CELEBRACION

* Mayo 8 al 9 de 2008: II Congreso Internacional de Seguridad de la Información CISI 2008 (Cartagena de Indias – Colombia)
http://www.tecnoeventos.com.co/info.php?id=15

* Mayo 13 al 16 de 2008: Workshop in Information Security Theory and Practices WISTP 2008 (Sevilla – España)
http://wistp2008.xlim.fr/

* Mayo 26 al 30 de 2008: Tercer Evento de Seguridad en Redes de América Latina y el Caribe LACNIC (Salvador/Bahía – Brasil)
http://lacnic.net/sp/eventos/lacnicxi/seguridad_en_redes.html

* Junio 12 al 13 de 2008: 6th International Workshop on Security In Information Systems WOSIS 2008 (Barcelona – España)
http://www.iceis.org/workshops/wosis/wosis2008-cfp.html

* Junio 18 al 20 de 2008: VIII Jornada Nacional de Seguridad Informática ACIS 2008 (Bogotá – Colombia)
http://www.acis.org.co/index.php?id=1066

* Junio 19 al 21 de 2008: III Conferencia Ibérica de Sistemas y Tecnologías de la Información CISTI 2008 (Ourense – España)
http://cisti2008.uvigo.es/

* Junio 23 al 25 de 2008: The 5th International Conference on Autonomic and Trusted Computing (Oslo – Noruega)
http://www.ux.uis.no/atc08/

* Junio 25 al 27 de 2008: Sexto Congreso Collaborative Electronic Communications and eCommerce Technology and Research CollECTeR Iberoamérica 2008 (Madrid – España)
http://www.collecter.euitt.upm.es/

* Julio 9 al 11 de 2008: XIV Jornadas de Enseñanza Universitaria de la Informática (Granada – España)
http://jenui2008.ugr.es/

* Septiembre 2 al 5 de 2008: X Reunión Española de Criptología y Seguridad de la Información RECSI 2008 (Salamanca – España)
http://www.usal.es/~xrecsi/

* Septiembre 10 al 12 de 2008: EATIS 2008 Euro American Conference on Telematics and Information Systems (Aracajú – Brasil)
http://eatis.org/eatis2008/

* Septiembre 15 al 19 de 2008: 2nd International Castle Meeting on Coding Theory and Applications (Medina del Campo – Valladolid – España)
http://wmatem.eis.uva.es/2icmcta/

* Septiembre 22 al 24 de 2008: XXIII Simposio Nacional de la Unión Científica Internacional de Radio (Madrid – España)
http://gass.ucm.es/URSI2008/

* Octubre 6 al 8 de 2008: 13th European Symposium on Research in Computer Security ESORICS 2008 (Málaga – España)
http://www.isac.uma.es/esorics08/

* Octubre 6 al 10 de 2008: XV Congreso CCBol 2008 (Sucre – Bolivia)
http://www.usfx.edu.bo/WebCCbol2008/

* Octubre 18 al 19 de 2008: NSS 2008 IFIP International Workshop on Network and System Security (Shanghai- China)
http://nss.cqu.edu.au/

* Octubre 22 al 25 de 2008: Second Workshop on Mathematical Cryptology en UNICAN (Santander – España)
http://grupos.unican.es/amac/wmc-2008/index.html

CONGRESOS ANUNCIADOS EN LA IACR:
International Association for Cryptologic Research IACR Calendar of Events in Cryptology:
http://www.iacr.org/events/

4. CURSOS DE POSTGRADO, ESPECIALIDAD Y FORMACIÓN

Puedes encontrar los enlaces en:
http://www.criptored.upm.es/paginas/eventos.htm#Cursos

5. NOTICIAS SELECCIONADAS DEL MES DE ABRIL DE 2008
Para ampliar las noticias:
http://www.criptored.upm.es/paginas/historico2008.htm#abr08

* Primera Sesión Anual Abierta de la Agencia Española de Protección de
Datos (España)
https://www.agpd.es/index.php?idSeccion=673

* EIG Security Summit 2008 Bogotá: Cibercrimen y Ciberterrorismo (Colombia)
http://www.esteganos.com/programa.html

* Beca Doctoral en el Campo Sistemas de Detección de Intrusos (Noruega)
Contacto Prof. Slobodan Petronic: slobodanp@hig.no

* Trabajos Recibidos y Charlas Programadas en la VIII Jornada de ACIS (Colombia)
http://www.acis.org.co/index.php?id=1066

* CFP para NSS 2008 IFIP International Workshop on Network and System Security (China)
http://nss.cqu.edu.au/

* Recibidos 83 Trabajos para la X Reunión Española RECSI 2008 y Ponentes Invitados (España)
http://www.usal.es/~xrecsi/conferenciantes.htm

* Jornadas sobre Criptología para la Defensa y la Seguridad en el CSIC (España)
http://www.fundacioncirculo.es/docagenda/criptologia.pdf

* 56 Trabajos Aceptados de Autores de 21 Países en el Congreso Collecter 2008 (España)
http://www.collecter.euitt.upm.es/joomla/index.php?option=com_content&view=article&id=58:papers-accepted&catid=36:novedades&Itemid=84

* Call For Participation Second Workshop on Mathematical Cryptology en UNICAN (España)
http://grupos.unican.es/amac/wmc-2008/index.html

* XV Congreso CCBol 2008 en Sucre Dedicado Exclusivamente a la Seguridad (Bolivia)
http://www.usfx.edu.bo/WebCCbol2008/

* Ampliado al 11 de Mayo Plazo del CFP a XXIII Simposio URSI 2008 en la UCM (España)
http://gass.ucm.es/URSI2008/simposium/fechas.html

6. OTROS DATOS DE INTERES EN LA RED

* Número actual de miembros en la red: 700
(192 universidades; 262 empresas)
http://www.criptored.upm.es/paginas/particulares.htm

* Estadísticas: 45.937 visitas, con 118.210 páginas solicitadas y 55.52
GigaBytes servidos en abril de 2008.
Las estadísticas del mes (AWStats) se muestran en páginas estáticas
actualizadas cada día a las 00:05 horas.
http://www.criptored.upm.es/estadisticas/awstats.www.criptored.upm.es.html

Mas info en: http://www.criptored.upm.es/paginas/historico2008.htm#abr08

Las páginas de error DNS causan un grave problema de seguridad

Publicado en Seguridad Informatica el Abril 28, 2008 por conidas

Algunos de los proveedores en los EEUU se quieren aprovechar de los errores al intentar ir a una página; en vez de presentar el típico error DNS y acabar en la nada, los ISPs capturan sugerencias de lo que estás intentando buscar, y ponen anuncios para generar dinero. El investigador de seguridad Dan Kaminsky ahora descubre un grave problema de seguridad en el sistema, sobretodo en las páginas de errores DNS de Earthlink suministradas por Barefruit. El problema comienza cuando un error ocurre dentro de un subdominio DNS, como male.google.com en vez de mail.google.com. Earthlink dispone también una página de error DNS a través de barefruit, peo debido a la pobre construcción de las páginas de dicho proveedor, es fácil de crear un vínculo en el que el dominio legal aparece como legítimo. La panacea para el hacker es que cualquier dominio se encuentra a su disposición – Paypal, Google, incluso tu propio banco. Claro que Earthlink obligó que Barefruit cerrara el agujero, pero este tipo de práctica se encuentra muy bien difundida entre varios proveedores, por lo que el riesgo continua. La única protección es que si tu proveedor se dedica a este tipo de mala práctica, cambia tu DNS a otro, como el de OpenDNS que no se dedica a este tipo de problemas.

Spammers asaltan Blogger con bots

Publicado en Seguridad Informatica el Abril 28, 2008 por conidas

Spammers han creado un método automático para crear páginas falsas en el servicio de Google Blogger, según la empresa Websense. Utilizando la red de botnet, las PCs mandan instrucciones para crear una cuenta falsa en Blogger, incluso con un lector de Captcha. La PC manda un mensaje a un servidor para resolver el Captcha, con un 13% de éxito. No se sabe exactamente cómo han logrado resolver el Captcha, la teoría es que personas bajo contrato reciben comisión por cada resuelto, aunque cabe la posibilidad de que hayan descubierto un método automático. Se cree que los spammers quieren utilizar el “buen nombre” de Google para dirigirlos a páginas de spam, y así no ser bloqueados.

Microsoft nos da detalles de los ataques masivos que están sufriendo los servidores con IIS en internet

Publicado en Seguridad Informatica el Abril 28, 2008 por conidas

Desde el 17 de abril, cientos de miles de servidores webs con el IIS y el SQL han sido atacados, en el que podemos incluir en esta interminable lista a las páginas de las Naciones Unidas y del gobierno del Reino Unido… mucho de estos dominios están cargados de aplicaciones malignas que intenta explotar las vulnerabilidades de los PCs de sus visitantes.

Las empresas han comunicado que estos ataques es gracias a varias vulnerabilidades que existe en Windows, que puede ser explotada a través de Internet Information Services (ISS) y SQL Server.

Microsoft ha investigado estos informes y ha determinado que estos ataques no están relacionados con su sistema operativo, sino dicen que los hackers se están aprovechando de las vulnerabilidades de inyección SQL en páginas web que no siguen las mejores prácticas de seguridad para el desarrollo de aplicaciones web…. Si bien estos ataques son dirigidos a los sitios alojados en servidores web IIS, vulnerabilidades de inyección SQL puede existir en los sitios alojados en cualquier plataforma.

ARS-2212 Mirror Smart Mini… una compacta solución de copias de seguridad

Publicado en Seguridad Informatica el Abril 28, 2008 por conidas

El ARS-2212 Mirror Smart es un dispositivo que es capaz de almacenar hasta dos discos duros de 2.5″ y proporcionarnos una compacta y fiable solución para copias de seguridad, además de ser por sus medidas (6mm x 163mm x 163mm) totalmente transportable… estos dispositivos ya disponible en Europa y en los EEUU…

FLISoL 2008

Publicado en Gnu/Linux el Abril 15, 2008 por conidas

Flisol

Todo listo y dispuesto para la edicion 2008 de FLISoL, por esta parte del sur de chile especificamente temuco los encargados del evento son el grupo gulix y aca les paso a detallar el programa completo:

26 de Abril de 2008

Hora:

  • Conferencias : 9:00 a 13:30
  • Installfest y Talleres : 15:30 a 19:30

Lugar:

Universidad de La Frontera
Departamento de Ingeniería de Sistemas

Talleres:

  • Ofimática : Luis Machuca
    • Editor de Textos – OpenOffice Writer
    • Planillas de Cálculo – OpenOffice Calc
  • Instalación de Programas y Comandos Básicos en Linux : Roy Alvear
  • e-Learning con Dockeos : Camilo Astete

Para mayor informacion click aqui

Sistemas informáticos Grid (Grid Computing)

Publicado en Tecnologia el Abril 14, 2008 por conidas

Sistemas informáticos Grid (Grid Computing) En los años 80, los protocolos intranet nos permitieron enlazar dos ordenadores y la red Internet estalló. En los años 90, el protocolo de transferencia de hipertextos nos permitía enlazar dos documentos, y una enorme biblioteca tipo “centro comercial” llamado el World Wide Web (la Red) estalló. Ahora, los llamados protocolos grid nos podrán enlazar casi cualquier cosa: bases de datos, herramientas de simulación y visualización y hasta la potencia grandísima, enorme, de los ordenadores en sí. Y puede ser que pronto nos encontremos en medio de la explosión más grande hasta la fecha. Según Ian Foster de Argonne National Laboratory, “avanzamos hacía un futuro en el que la ubicación de recursos informáticos no importa”. Se ha desarrollado el Globos Toolkit, una implementación “open-source de protocolos grid” que se ha convertido en un tipo estandarizado. Este tipo de protocolos pretenden aportar a las maquinas domésticas y de oficinas la capacidad de alcanzar el ciberespacio, encontrar los recursos que sean, y construirles en vivo en las aplicaciones que les hagan falta. La computación, el código abierto, de nuevo en alza.

Mas informacion sobre Grid

FFDShow MPEG-4 Video Decoder 20080410

Publicado en Aplicaciones el Abril 14, 2008 por conidas

FFDShow MPEG-4 Video Decoder 20080410 es un filtro DirectShow para procesar películas DivX y XviD , insertar subtitulos etc.

Utiliza libacodec para la descompresión de vídeo (puede utilizar xvid.dll), y otras para mejorar la calidad de reproducción en películas codificadas a baja calidad.

Ffdshow MPEG-4 Video Decoder funciona en Windows 95/98/2000/XP y Vista.

a-squared Free 3.5.0.8

Publicado en Aplicaciones el Abril 14, 2008 por conidas

a-squared Free 3.5.0.8.es una completa aplicación para limpiar el PC de todo tipo de Malware. Ademas detecta  Spyware,Troyanos, Puertas traseras, Gusanos, Marcadores, Keyloggers y muchos otras amenazas que hacen peligroso navegar en la red.

La aplicación ofrece cuatro tipos de análisis, rápido, inteligente, a fondo y a medida.
a-squared Free 3.1.0.20 funciona en Windows 98/NT/ME/2000/XP/2003 y Vista.