Listas de control de acceso en Linux
Hace tiempo que tenía pensado escribir algo al respecto y hoy ha sido el día que me sentía con ganas. Hay veces que me resulta incómodo manejar un sistema linux con multiples usuarios en lo que a permisos de fichero se refiere. En resumidas cuentas, el método UGO (User Group Other) está bien si tenemos un sistema monousuario, pero cuando tienes varios usuarios se hace insostenible, además de degradar la seguridad. Explicaré un poco, sin extenderme, como las ACL pueden solucionarnos el día a día, o al menos hacernosla más cómoda.
Comenzaremos preparando el sistema de ficheros, que en mi caso es ext3 (Todo sistema de ficheros que soporte ACL servirá). Necesitaremos meter en el fichero /etc/fstab la opción acl y luego remontar la partición:
# mount -o remount /dev/hdx
Continuaremos con las ACL sobre el directorio /var/www, por ejemplo. Los ficheros que contiene ya han sido creados con anterioridad, por lo que tendremos que aplicar la ACL recursivamente, dándole al usuario www-data permisos de lectura y ejecución sobre los ficheros/directorios recursivamente.
# setfacl -R -m u:www-data:r-x /var/www
Esto es como utilizar chmod, por lo que estamos en las mismas. Lo bonito, lo que más me gusta, son las Default ACL, que podemos decir que es una especie de heredar permisos del directorio padre. Imprescindibles. La idea será que todo elemento nuevo creado dentro de /var/www herede determinados permisos. Las ACL por defecto solamente se pueden aplicar a directorios, y si intentáis aplicársela a un fichero os mandará a tomar por el saco sutilmente.
# setfacl -d -m u:www-data:r-x /var/www
Lo que acabamos de hacer está bien si comenzamos a crear el arbol de directorios, pero imaginemos que tenemos el directorio /var/www/web1/upload. Ese directorio no se verá afectado por la ACL por defecto, por lo que haremos una cosilla, buscaremos todos los directorios y le aplicaremos la ACL:
# find /var/www -type d -exec setfacl -d -m u:www-data:r-x {} ;
Ahora vamos a comprobar que las ACL se han aplicado bien, algo muy importante. El comando es getfacl y su uso es bien sencillo para lo que vamos a hacer:
# getfacl /var/www
getfacl: Removing leading “/” from absolute path names
# file: var/www
# owner: root
# group: root
user::rwx
user:www-data:r-x
group::r-x
mask::r-x
other::r-x
default:user::rwx
default:user:www-data:r-x
default:group::r-x
default:mask::r-x
default:other::r-x
Vaya! other tiene permiso de lectura y ejecución en ese directorio. No me gusta eso…
# setfacl -R -m other::— /var/www
# find /var/www -type d -exec setfacl -d -m other::— {} ;
Ahora queda utilizar getfacl como hicimos antes para comprobar que los permisos son correctos.
Al igual que hemos utilizado other:: podríamos utilizar user:: o group::, que son elementos especiales.
Antes he puesto un ejemplo en el que aplicaba determinados permisos a un usuario sobre un fichero/directorio. Para hacer lo mismo pero con un grupo, se utilizará:
# setfacl -m g:NombreGrupo:permisos /var/www
Hasta ahora hemos aplicado nuevos permisos, pero por si existe la duda, modificarlos es idéntico, utilizando el flag -m y modificando el penúltimo elemento. Supongamos que queremos que el usuario www-data tenga permisos de escritura en determinado directorio:
# setfacl -R -m u:www-data:rwx /var/www/web1/upload
Ese directorio y todos los existentes podrán ser modificados por ese usuario, pero… ¿Y los ficheros nuevos? No, podrán ser creados, pero no modificados posteriormente, pues no hemos establecido una ACL por defecto para ese usuario con permisos de escritura para los ficheros/directorios nuevos que se vayan a crear en ese directorio, o si existe, puede que sea incorrecta, por lo que lo estableceremos como necesitemos:
# find /var/www/web1/upload -type d -exec setfacl -d -m u:www-data:rwx {} ;
También puede ocurrir algo muy común, que nos equivoquemos e introdujamos un usuario/grupo incorrecto en la ACL, ensuciando esta. Pana ACL usaremos el flag -x.
# setfacl -x u:www-data /directorio/secreto
# setfacl -d -x u:www-data /directorio/secreto
Existen otras opciones interesantes de setfacl como eliminar solamente las ACL por defecto con el flag -k o eliminar todas las ACL normales y por defecto con el flag -b.
Me queda decir que al igual que podéis establecer los permisos con letras, lo podéis hacer en octal, de 0 a 7:
# setfacl -m u:www-data:5 /elemento2
Tenéis algunos ejemplos interesantes que no he ilustrado como copiar las ACL de un elemento a otro en el manual, man setfacl.
Escrito por Gura
30.Oct.07
GNU/Linux, Sistemas
Leer más
Comentarios (8)
Borrado seguro en Mac OS X
Cuando me vine a Madrid tuve que coger lo más importante de mi ordenador de sobremesa y meterlo a mis discos USB y mi portátil. Por las prisas decidí crear unos volúmenes RAR y copiarlos por SSH al portátil la noche antes. En el portátil utilizo FileVault de Mac OS X para el cifrado de mi directorio personal. Por otro lado los datos no sensibles están en otra partición y lo sensible están en imágenes DMG cifradas con AES-128. Pues un despiste hizo que descomprimiese los volúmenes RAR en un directorio normal. Luego los copie a la unidad cifrada y busqué una utilidad de borrado seguro para Mac OS X. Buscando un poco por la documentación oficial di con algo mejor, la utilidad de discos de Mac OS X, con lo que tendría una aplicación menos instalada (Odio tener miles de aplicaciones instaladas. Si te sirve lo que el sistema integra ¿Para qué instalar otra?).
Para utilizar el borrado de Mac OS X puedes utilizar el Vaciar papelera de forma segura o eliminar los datos como de costumbre y luego utilizar la Utilidad de discos para borrar el espacio libre con ceros. Basta con ir a dicha utilidad, seleccionar la partición que deseamos limpiar, ir a la pestaña Borrar y pulsar en Borrar espacio libre. Tenemos varias opciones, de 1, 7 y 35 pasos. Al Pulsar en Borrar espacio libre evidentemente reescribirá el espacio libre con ceros, sin perder datos, claro.
Si por el contrario quieres borrar la partición entera (léase formatear) con la pertinente pérdida de datos, pinchando en Opciones de seguridad escogemos el número de pasos, aceptamos y luego pinchamos en Borrar.
Quizá en otro post me anime a hablar algo acerca de FileVault, como funciona y demás, ya que no es la primera vez que leo que Es malo, desactívalo y no vale para nada. Vamos, lo de siempre.
Escrito por Gura
22.Oct.07
Mac OS, Sistemas, Software
Leer más
Comentarios (0)
De visita a Asturias
Desde el día 8 de Julio que me vine a Madrid a trabajar no he subido a Asturias. Así que coincidiendo con el cumpleaños de un amigo, las fiestas de mi pueblo y de que es puente, me cojo el Lunes día 15 y Martes día 16 de vacaciones.
Hace un mes y algo me saqué un billete de ida y vuelta con EasyJet que me salió (sin facturar nada), con todos los impuestos, por 36 euros. Vamos, más barato que el ALSA. El vuelo lo cogeré el Viernes a media tarde tengo que mirar la hora exacta en el papel) y luego irán a buscarme a Ranón. El fin de semana no estaré pa nadie ya que tengo que visitar familiares, amistades, etc… cumpleaños incluído. El Domingo aún no se que haré, aunque seguro que me surge algo. El Lunes por la tarde me acercaré por la Academia Lugones a saludar a algún excompañero y a la gente de la academia, ya que por la mañana tengo que arreglar unos asuntos. Finalmente el Martes me vuelvo a Madrid en un vuelo que sale al mediodía.
Creo que se me va a hacer muy corto, aunque tendré que subir de aquí a fin de año un par de veces más para terminar de resolver unos asuntos. Espero terminar pronto con ello, y para nochebuena aún tener algún día libre para poder subir, ya que en teoría la nochevieja la pasaré aquí. Saber que no quedo solo es algo que consuela xD.
Y en estos cinco días aprovecharé para aprender a cocinar algo más complejo ahora que domino el arte del fuego. También aprovecharé para preparar una caja con ropa de cama y unos altavoces que mandaré por SEUR.
Nos vemos!
Escrito por Gura
10.Oct.07
lost+found
Leer más
Comentarios (12)
Abierto el registro para el Microsoft Security Day
No quiero extenderme mucho, solamente invitaros a que visitéis este post, y si os parece interesante y factible, que os registréis en el Microsoft Security Day. Yo ya me he registrado y Churros también, aunque él como no cambien algo las cosas tendrá que asistir al IT Meeting de la empresa, esta vez celebrado en Bélgica, por lo que no podrá asistir.
Para ir haciendo boca, esta es una demo de un Security Day:
Escrito por Gura
09.Oct.07
Microsoft
Leer más
Comentarios (1)
El Metro: Historias para no dormir
Desde que llegué a Madrid las escaleras del metro de Plaza de España estuvieron en una larga y lenta ventana de mantenimiento. Hoy estaba funcionando a la perfección. Daba un poco de pena ver a gente con pedazo de maletas bajando ese pedazo de tramo a pié, pero bueno, ya funcionan.
Por otro lado, el Domingo unos cuantos fuimos a patinar sobre hielo al Palacio del Hielo, en el metro Canillas. Me monté en el metro en Batán y en Plaza de España se montan cinco tíos de entre 30 y 35 años, y al instante aparecen tres tías de entre 35 y 40 años gritando, amenazando y la de mi madre. Yo es que soy un poco pasota, no me gusta meter en los temas de los demás, pero pude ver como la gente de todo el vagón miraba con expectación mientras las 3 tias seguían gritándoles. Al final uno se debió cansar de oir lo que decían o algo y podía ver (que no oir) como las mandaba a la mierda.
Bueno, hago trasbordo en Alonso Martínez y me montó en la línea 4. A la altura de Goya un tío que parecía de lo más normal y andaba por el andén empieza a tirarle de los pantalones a un tío que iba con una maleta enorme mientras entraba en el vagón. Mientras le tiraba de los pantalones intentaba meterle las manos en los bolsos supongo que intentando robarle la cartera.
He visto dormir a gente en la calle, gente gritando sin sentido, una menor prostituyéndose, pero jaleos como estos son cosas que no me dejan indiferente.
Escrito por Gura
09.Oct.07
lost+found
Leer más
Comentarios (0)
Unas fotos
Ya que Churros me ha prestado su cámara digital he aprovechado para hacer unas fotos:
Desde la ventana de mi habitación…

Desde la ventana del curro… Calle Preciados. La Plaza de Callao al fondo.

Y ya de paso que he encontrado La foto del Miércoles pasado, aquí la dejo:

De izquierda a derecha: Daniel Kachakil, Chema Alonso, Ricardo Varela, Andrés Tarasco, yo, Juan Cánovas y José Parada
Escrito por Gura
08.Oct.07
lost+found
Leer más
Comentarios (0)
Los monjes de “Da SBS Code”
Entre nosotros tenemos a los monjes del final del vídeo promocional de SBS 2003 R2. La foto reveladora:
Escrito por Gura
08.Oct.07
Microsoft, lost+found
Leer más
Comentarios (0)
the WOK
Ayer de noche se nos ocurrió salir a dar una vuelta por Madrid y a eso de las 11 ir a cenar algo. Estábamos al lado de la parada de metro Sevilla delante del Starbucks y el VIPS, y al pasar al lado vimos el restaurante oriental the WOK. Puedo decir que la comida es cojonuda… me pedí algo que no recuerdo cómo se llamaba, que eran tallarines con verduras y tal, y me traen un pedazo de bol enorme con ello. Vaya como me puse. Junto con la comida me bebí una cerveza japonesa, muy normalita… me esperaba otra cosa. Era una Kirin Ichiban ahora que recuerdo.
En resumen, restaurante recomendado tanto por la atención, como por la comida. Es algo diferente que merece la pena probar.
Disclamer: Grupo VIPS no me paga por hacer publicidad de este restaurante xD
Escrito por Gura
06.Oct.07
lost+found
Leer más
Comentarios (3)
Una jornada productiva
Hoy que ya estoy en plenas facultades me dispongo a escribir el artículo.
Hace poco menos de un mes me apunté a otra de las conferencias que celebraba Microsoft, Informática64 y otras compañías del sector IT. A Chema se le ocurrió hacer una cena la noche antes con los ponentes, ya que muchos ponentes no son de Madrid, y el echo de hacer una cena y poder reunirlos a todos es algo que no se verá en mucho tiempo.
La cena fue en Casa Mingo, un restaurante asturiano cerca de Príncipe Pío. Eramos cosa de 20-22 personas. Allí tuve el placer de conocer a mi tocayo Ricardo Varela (a.k.a. Chico maravillas) y a José Parada (a.k.a. Padre Parada), así como Dani Kachakil, RomanSoft, Mandingo, Andrés Tarasco, Brero, Miguel, Aramosf, Knovas y alguien más que como siempre, se me olvida. Una vez cenamos fuimos a tomar algo a una cervecería Gambrinus cercana al restaurante, luego a una discoteca llamada 35 milimetros también relativamente cerca y finalmente fuimos a casa de uno de los asistentes donde entre más copas me enseñaban un código de intercepción SSL (Disponiendo de la clave privada, claro). Muy WhiteHat a la vez de instructivo.
Al final me vine a eso de las 5 para casa y me levanté a las 6 y media, con dos cojones. Hacía mucho que no me sentía así… creo que desde la última Euskal Encounter a la que asistí.
A las 8 de la mañana quedé con Churros para asistir a la charla, cogimos la línea C-4 y seguimos el itinerario de la otra vez. La gente fue llegando y al rato se abrieron las puertas. Una vez nos dieron los folletos de S21Sec entramos y cogimos un sitio curioso.
La jornada comenzó con Dani Kachakil y Pedro Laguna, con un tema algo masticado quizá, ya que en la anterior charla que hubo en Getafe el tema principal era la inyección SQL, inyección SQL a ciegas, basada en temporizadores, herramientas de automatización. Contenido interesante pero en mi caso ya visto, aunque no viene recordar.
Acto seguido salió Alberto Moro (a.k.a. Mandingo) junto con Román Medina (a.k.a. RomanSoft). El tema de la charla fue Como realizar un test de intrusión a una aplicación web, muy interesante, tocando muchos puntos clave. A Mandingo se le notaba más nervioso a la vez de necesitar más tiempo y estar menos apurado para dar con soltura la charla.
Había llegado el momento cumbre (¿La gente va solo por el cattering no?). Teníamos hambre y sed, y algunos en especial necesitábamos hidratarnos, por lo que se abrió el cattering con lo de siempre: Mini-napolitanas de crema con chocolate, palmeritas, pastas de té, café, zumo de naranja, etc. En este evento se notaba la mayor asistencia de gente, tanto en las charlas, que no quedaba un puñetero sitio libre, como en el cattering que estábamos a tope en la sala. Entre conversación y conversación un zumito, lo que hizo que el tiempo asignado para el tentempié se pasase volando.
Vuelta al sitio. Ahora aparecía en escena Andrés Tarasco de SIA. Personalmente fue la que más me gustó después de la charla del José Parada y de Chema. Me gusto mucho como llevó la charla, la explicación… muy buen locutor a la vez de técnico y conciso. A ver si le volvemos a ver pronto por aquí.
Y para cerrar la jornada José Parada nos dio unas nociones básicas de qué era LDAP, un directorio, un servicio de directorio, etc. Acto seguido Chema comenzó a explicarnos algo que yo desconocía por completo, Blind LDAP Injection a la vez que utilizaba el Reto hacking 4 y algunos servicios de directorio públicos a modo de ejemplo. Os recomiendo leer algo más a fondo acerca de ello, ya que está muy, muy interesante. Esta fue con diferencia la más interesante pues era algo totalmente nuevo para mi.
Bueno, ha sido una jornada productiva, además de estar invitados Churros y yo a visitar Microsoft Ibérica, algo que puede llegar a ser muy interesante.
Al margen de las charlas, Chema ha publicado en su blog unos artículos acerca de la interceptación de los usuarios y contraseñas de LDAP y como mitigarlo, así como otro artículo de LDAP SQL Injection y alguna foto del evento. Los vídeos y diapositivas de las charlas no se dónde lo colgarán. Se que los asistentes recibiremos un certificado de asistencia así como un link a las ppt y que ponentes como Mandingo y RomanSoft pondrán las diapositivas en su web.
Un saludo.
Escrito por Gura
05.Oct.07
Microsoft, Sistemas
Leer más
Comentarios (7)
Era hora…
… de escribir algo.
Estos días andaba yo liado con el fin de semana por el medio, etc… hasta que hoy me decidí a cambiar los DNS y que blog.elgura.com apunte al servidor dedicado que tengo contratado con OVH.
El blog ha pasado de correr en un Intel Celeron a 900 MHz con 1 GB de RAM a tener un doble core a 1.8 GHz con 1 GB de RAM, instrucción de virtualización y bit de no ejecución. Ahora corre sobre dos discos de 250 GB en RAID 1 mediante software. La conectividad ya no es la de un ADSL de 3072/320 kbps, sino que dispongo de 100 mbps no garantizados o 10 mbps garantizados.
Pero si he contratado este servicio no es simplemente por el hecho de disponer de un dedicado, sino porque en OVH todo son extras. Alguno de los que me leáis conocéis lo que los VPS ofrecen. Backup, reinicio remoto, arranque de rescate… OVH similar. Me explico:
- Si la cagas con el kernel o una configuración critica puedes arrancar en modo rescate con un kernel que obtendrás por red. Tienes kernels de todo tipo. Puedes incluso utilizar esos kernel para estar al día siempre. Ellos se ocupan de compilarlo sin módulos y preparados para la máquina en cuestión. Una vez arrancas en modo a prueba de fallos puedes hacer mediante web un test de memoria, consistencia de RAID, memoria, etc
- Reinicio en caliente. Simplemente supón que creas mal una regla de IPTables y el servidor queda inaccesible. Lo reinicias y punto. ¿Qué cuando arranca la condfiguración errónea se carga? Lo vuelves a reiniciar en modo de rescate, montas la unidad y editas el fichero de configuración
- Para sistemas de 32 bits y en un futuro para 64 bits ofrecen vKVM, que es acceso de consola mediante web, y no me refiero a una shell, sino a esar como delante de la máquina. Imaginate un kernel pánic al arrancar… podrías verlo. Por desgracia no lo he probado aunque aún es un producto opcional y en fase beta
- Puedes enchufar discos flash y discos USB al servidor. ¿Qué tontería verdad? Imagináos un flash de 1 GB con la base de datos de tripwire dentro, desmontado y sin módulos USB. A un atacante se le ocurriría cargar módulos del kernel para intentar encontrar el USB, montarlo y luego modificar la base de datos de firmas? Hay que ser rebuscado
- Te ofrecen monitorización de la máquina, asistencia en caso de caída, gráficas MRTG, etc. Aunque en realidad no uso nada más que las gráficas ya que tener su clave pública en mi authorized_keys no me gusta nada. ¿Se con certeza las medidas de seguridad que toman? NO
Y bueno, que principalmente es barato para lo que es. No es un Intel Xeon dual core, pero es potente y económico.
Escrito por Gura
01.Oct.07
Hardware, Servidor
Leer más
Comentarios (6)