Help - Search - Members - Calendar
Full Version: Montar /tmp con noexec
The Planet Forums > General > Foro en Español / Spanish Forum
jaume
Os recomiendo a todos que vayais actualizando el Ensim y vuestros otros paneles de control con los parches a medida que salen (al cabo de unos dias del release por si hay alguna cagada). También actualizad el resto de software.

En esta semana ya he tenido que al menos atender a dos servers de otros users de aqui con software sin actualizar que habian sido hackeados.
Curiosamente en los dos, metiendo un keylogger en el directorio /tmp y pillándole los passwd. Después reemplazando montón de binarios del /sbin.

Os recominendo paseis el chkrootkit y monteis el /tmp con noexec para que no puedan ejecutar nada ahi dentro (en Ensim funciona, en Cpanel me han dicho que no).
Nailuj
Hola!

¿como se monta el /tmp con noexec?
las lineas del archivo /etc/fstab ¿no son para montar particiones? ¿como se hace para montar un directorio?

¡Saludos!
jaume
Aquí teneis un ejemplo de hackeo usando la técnica de ejecutar código en el /tmp . Los casos que he visto son similares a este (misma técnica pero usando diferentes exploits ejecutados desde el /tmp)

http://forum.rackshack.net/showthread.php?...&threadid=21204

Aqui hay el how-to para montar el /tmp con noexec:
http://forums.rackshack.net/showthread.php...&threadid=27771

Si alguien no ve claro el paso a paso lo podemos resumir aqui con comentarios en español.

He oido que montar el /tmp con noexec puede dar algún problema con cpanel, pero ya no tengo ningun Cpanel para probarlo. Si acaso alguien que iuse Cpanel que lo investigue/pruebe a ver si ve algún efecto.
Zero-Cero
QUOTE
Originally posted by jaume

Aqui hay el how-to para montar el /tmp con noexec:
http://forums.rackshack.net/showthread.php...&threadid=27771

Si alguien no ve claro el paso a paso lo podemos resumir aqui con comentarios en español.



Hola jaume, si nos pudieras dar una manito con los pasos en español. Gracias
jaume
QUOTE
Originally posted by Zero-Cero
Hola jaume, si nos pudieras dar una manito con los pasos en español. Gracias


Esto funciona con Ensim y tb en servers planos sin control panel. Tendría uqe funcionar el todos los linux pero no lo he testeado (dicen que con Cpanel puede haber algún problema pero ni idea de cual).

-----------------------

Como ROOT haceis estos pasos:

cd /dev

dd if=/dev/zero of=tmpMnt bs=1024 count=100000

/sbin/mke2fs /dev/tmpMnt
(Contestad y a la pregunta que os hace)

cp -R /tmp/ /tmp_backup

mount -o loop,rw,nosuid,noexec /dev/tmpMnt /tmp

chmod 0777 /tmp

cp -R /tmp_backup/* /tmp/

rm -rf /tmp_backup

Ahora hay que modificar el /etc/fstab para hacer que el /dev/tmpMnt se monte al reiniciar el server. Es añadir esta linea:

/dev/tmpMnt /tmp ext2 loop,rw,nosuid,noexec 0 0
(OJO: los espacios de esta linea son tabuladores).

Reiniciad los servicios como por ejemplo postgresql , mysql, el clamantivirus, etc... para que se recreen bien los sockets y locks en el dir tmp si es ahi donde los creaban.

Para probarlo cread un shell en el /tmp e intentad ejecurtarlo. Ejemplo:

pegad esto dentro:

#!/bin/sh
echo prueba

lo guardais como en /tmp/test.sh y le haceis un chmod 0755 e intentad ejecutarlo desde dentro del /tmp, y os ha de dar esto:

[root@server tmp]# ./test.sh
bash: ./test.sh: bad interpreter: Permission denied
Zero-Cero
QUOTE
Originally posted by jaume

/dev/tmpMnt /tmp ext2 loop,rw,nosuid,noexec 0 0
(OJO: los espacios de esta linea son tabuladores).


Jaume, podrias aclararme un poquito mejor a que te refieres con eso de "los espacio de esta línea son tabuladores"...¿Cuáles espacios? los que entán entre " 0 0" ... o todos los espcios en blanco.

Disculpa que sea preguntón pero no quiero cometer errores.
Gracias
jaume
QUOTE
Originally posted by Zero-Cero
Jaume, podrias aclararme un poquito mejor a que te refieres con eso de "los espacio de esta línea son tabuladores"...¿Cuáles espacios? los que entán entre " 0 0" ... o todos los espacios en blanco.

Disculpa que sea preguntón pero no quiero cometer errores.
Gracias

Cada espacio de esa linea que metes en el /etc/fstab no es un espacio , sinó una tabulación icon_smile.gif ... En las lineas del fstab todo son tabulaciones, ... nada de espacios icon_smile.gif
zwc
Hola Jaume,

Yo tengo un cpanel y acabo de actualizarlo a la verson 8.4, es necesario que siga estas recomendaciones que das, y como debo hacerlo para cpanel?
cristianmerz
Pero Jaume...los ultimos dos ceros

loop,rw,nosuid,noexec 0 0 <----estos, son tabuladores tambien? Porque me quedan a 2 metros uno del otro icon_biggrin.gif y las demas particiones eso no lo tienen asi.

Saludos
jaume
QUOTE
Originally posted by cristianmerz
Pero Jaume...los ultimos dos ceros  

loop,rw,nosuid,noexec 0 0 <----estos, son tabuladores tambien? Porque me quedan a 2 metros uno del otro icon_biggrin.gif  y las demas particiones eso no lo tienen asi.

Saludos

Si, todo son tabuladores .. da igual si te quedan mas lejos. Eso es para que se monte la particion al inicio. SI quieres haz un reboot despues y ves si se monta.
jaume
QUOTE
Originally posted by zwc
Hola Jaume,

Yo tengo un cpanel y acabo de actualizarlo a la verson 8.4, es necesario que siga estas recomendaciones que das, y como debo hacerlo para cpanel?


No tengo ya ningun Cpanel para probarlo, pero el mismo metodo ha de funcionar. Oí por ahi que podia haber alguna incompatibilidad con cpanel ya que usa el /tmp para no se que, pero no pude sacar nada en claro.
pancholion
Montarlo con noexec da algún problema con php-nuke, phplive support, phpbb o alguna otra cosa en en un ensim 3.1.12-9?

Sino da ningún problema, despues de montarlo sería bueno hacer un reboot duro para que re-genere los tmp y sockets que ahí guarde?

:confused:
jaume
QUOTE
Originally posted by pancholion
Montarlo con noexec da algún problema con php-nuke, phplive support, phpbb o alguna otra cosa en en un ensim 3.1.12-9?

Sino da ningún problema, despues de montarlo sería bueno hacer un reboot duro para que re-genere los tmp y sockets que ahí guarde?

:confused:


A mi no me ha dado problema alguno. Sólo en un server tuve que hacer el volumen más grande porque usaba el tmp para hacer varias cosas.

Si en lugar de 100mb le quieres poner 1gb , en este paso:
dd if=/dev/zero of=tmpMnt bs=1024 count=100000

pon

dd if=/dev/zero of=tmpMnt bs=1024 count=1000000

Si tuvieras problemas con esos script (no deberias) ... los cambios son reversibles.

****************

Aqui posteo como deshacer los cambios por si alguien quiere volver al estado original, ya que alguien me lo preguntó en privado para rehacer el volumen con más espacio:

QUOTE
Deberás desmontar el volumen /dev/tmpMnt , pero al estar en uso no te va a dejar ( prueba: umount /dev/tmpMnt )

Edita fstab y quita la linea de montado que añadiste para ese volumen.

Haz un reboot.

Al rebootear el sistema, no tendrás el directorio /tmp así que lo creas:
mkdir /tmp
chmod 0777 /tmp

Le haces un link dentro a los socks y locks que usaras dentro del dir (hazte un backup del tmp antes de hacer nada de todo esto para ver lo que habia dentro y que socks habia) ... como por ejemplo el de mysql:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

Eliminas el /dev/tmpMnt
MashTer
que tan riesgoso es hacer este proceso?
jaume
QUOTE
Originally posted by MashTer
que tan riesgoso es hacer este proceso?


Si que es seguro si lo haces como se dice, tanto para crear el volumen como para volver al estado original. Sólo aseguraos de dar tamaño suficiente el volumen /tmp para no tener que rehacerlo icon_smile.gif
Sebastian
realmente bueno este post, gracias.
Kaesar
Pero la proteccion de poner /tmp con noexec es realmente facil de saltar por lo que veo.


si yo pongo un programa /tmp/hola y lo intento ejecutar recibo:

# ./hola
-bash: ./hola: Permission denied

Perfecto , pero si yo hago esto:

# /lib/ld-linux.so.2 /tmp/hola
Hola Mundo

#

se ejecuta mi binario en /tmp sin problemas.

osea , que parece que esto da una apariencia de seguridad , pero solo una apariencia.

probarlo vosotros mismos.

¿Que opinais ?
Zero-Cero
QUOTE
Originally posted by Kaesar
Pero la proteccion de poner /tmp con noexec es realmente facil de saltar por lo que veo(...) osea , que parece que esto da una apariencia de seguridad , pero solo una apariencia.
probarlo vosotros mismos.

Efectivamente, qué opinión pueden dar los que saben más que nostros (que yo). Gracias.
Zero
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.