[CentOS-es] Seguridad en CentOS+Apache+PHP+MySQL+Joomla

David González Romero dgr en dic.ohc.cu
Jue Feb 11 20:49:51 UTC 2010


Bien lista!!

Tengo un amigo con una configuración como la del subject: 
CentOS+Apache+PHP+MySQL+Joomla.

En los últimos tiempos descubrió algunos probelmas de seguridad los 
cuales dieron pie a que un atacante introdujera codigo dentro del 
sistema de archivo que se ejecutaba tanto con permisos de apache y 
nobody. Este código principalmente fue introducir un software de webchat 
y en segundo plano un script de perl que levantaba una 
aplicación/demonio para hacer scan de puertos a diferentes direcciones 
de IRC.

En fin la razón es la siguiente en el reporte de Logwacht aparecia algo 
como esto:

Commands Run:
     User apache:
        /tmp/.psy/y2kupdate >/dev/null 2>&1: 1440 Time(s)

Al buscar que era esto encontré, junto con mi amigo, algunas cosas 
interesantes:
1- Apareción en una carpeta interna de un virtual host con Joomla una 
carpeta no pertenenciente al Joomla 
(../administrator/components/com_installer/mambot/components) que 
contenia ciertos y determinados script ejecutables y algunos binarios
2- el contenido:
[root en server components]# ll
total 360
-rwxr-xr-x 1 apache apache    141 Feb  5  2006 config
-rwxr-xr-x 1 apache apache    929 Feb  5  2006 config.h
-rw-r--r-- 1 apache apache    118 Jan 31 02:34 cron.d
-rwxr-xr-x 1 apache apache    341 Feb  5  2006 fuck
drwxr-xr-x 2 apache apache   4096 Feb  5  2006 help
-rw-r--r-- 1 apache apache  52960 Jan 31 02:36 ht.pl
drwxr-xr-x 2 apache apache   4096 Feb  5  2006 lang
drwxr-xr-x 2 apache apache   4096 Feb  1 09:44 log
drwxr-xr-x 2 apache apache   4096 Feb  5  2006 motd
-rwxr-xr-x 1 apache apache  14306 Feb  5  2006 proc
-rwxr-xr-x 1 apache apache 202544 Feb  5  2006 psybnc
-rwxr-xr-x 1 apache apache     77 Feb  5  2006 psybnc.conf
-rw------- 1 apache apache      5 Feb  1 09:44 psybnc.pid
-rwxr-xr-x 1 apache apache     66 Feb  5  2006 run
drwxr-xr-x 3 apache apache   4096 Jul  3  2007 scripts
-rw-r--r-- 1 apache apache     76 Jan 31 02:34 ssstt
-rw-r--r-- 1 apache apache     82 Jan 31 02:34 ssstt.dir
-rwxr-xr-x 1 apache apache  21516 Feb  5  2006 xh
-rwxr--r-- 1 apache apache    383 Jan 31 02:34 y2kupdate

3- Una busqueda en los procesos ejecutandose salio esto:
/usr/sbin/httpd -DSSL

Bueno para no hacer larga la historia usando dos o tres herramientas y 
el netstat pudimos dar con el proceso y matarlo.

Pero seguia saliendo en el repote de Logwacht lo del y2kupdate y 
buscando encontramos que en /var/spool/cron habia un fichero llamado 
apache que contenia:
* * * * * /tmp/.psy/y2kupdate >/dev/null 2>&1

Al final mi pregunta va en dos sentidos:

A- Hay alguna forma para saber quien escribió, y donde en el sistema de 
archivos, especificamente en este directorio del /var/spool/cron.

Pienso que como Linux usa un sistema Journalist imagino que exista una 
traza de los cambios en el Sistema de Ficheros en un momento determinado.

B- Hay forma de endurecer las politicas de acceso a los directorios de 
los virtualhost de apache y del tmp, y que no ejecuten codigo 
arbitrariamente?

Saludos,
David

-- 
_________________________________________________
Lic. David González Romero
Network/System Administrator
DIC- OHC Dirección de Informática y Comunicaciones
Oficina del Historiador de la Ciudad
Ave Puerto. Edif. Lonja del Comercio 5H
Telf:(537)8608808, 8608853 ext 109
Linux counter: 242534
__________________________________________________




Más información sobre la lista de distribución CentOS-es