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@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
On Thu, 2010-02-11 at 15:49 -0500, David González Romero wrote:
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?
hacer q esos directorios vayan a particiones dedicadas y montarlas con la opcion noexec
PERO ten cuidado, algunos demonios de CentOS necesitan q el /tmp permita colocar scripts con capacidad de ejecucion para poder arrancar, eso quizas requiera q modifiques sus scripts de inicio.
o podrias hacer lo q RedHat recomienda, NO DESACTIVES SELINUX y mas bien aprende a configurarlo (dificil lo se, pero al final vale la pena por la seguridad brindada)
-- Black Hand Lost Angen in the Heaven
Modsecurity es una extensión para Apache que te brinda varias acciones/opciones relacionadas con la seguridad del servidor web.
CARLOS BORTOLINI ACURUMO Ingeniero en Informática bortolini@gmail.com
Teléfono: +591 347 4546 Móvil: +591 766 69617
Santa Cruz - Bolivia
2010/2/11 David González Romero dgr@dic.ohc.cu
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@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 __________________________________________________
CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
El día 11 de febrero de 2010 14:49, David González Romero dgr@dic.ohc.cu escribió:
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.
"Quien", va a ser difícil, existen diversas herramientas de auditoría te auxilia para seguir la huella y posiblemente determinar la IP y algunos datos más, pero el "quien" va a ser extremadamente difícil.
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?
Como ya alguién sugirió, selinux te ayuda a evitar este tipo de cosas, puedes estudiar sobre selinux en la documentación de CentOS o Red Hat.
Una de las tareas más importantes como administrador de un servidor público, es mantenerse al día con las versiones más recientes de las aplicaciones web instaladas. Seguramente el atacante explotó algún agujero de seguridad en Joomla o en alguno de sus plugins.
Saludos, David