13.07.2015 Views

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

50CAPÍTULO 4. EL SISTEMA DE FICHEROSpor ejemplo para destruir completamente los discos duros o bloquear toda la máquina. Tambiénes importante especificar ‘nosuid’, de forma que se ignore el bit de setuid en cualquier ficherocontenido en el sistema que el usuario monta: así evitamos que con un simple shell setuidado enun disco flexible el usuario consiga privilegios de administrador en nuestro sistema. Incluso puedeser conveniente especificar ‘noexec’, de forma que no se pueda ejecutar nada de lo que está en eldispositivo montado – esto parece lógico, ya que en principio se va a tratar de una unidad utilizadasimplemente para transferir datos entre la máquina y un sistema externo a la red, como el ordenadorde casa de un alumno –. Todas estas opciones (‘noexec’, ‘nosuid’ y ‘nodev’) en Linux seasumen simplemente al indicar ‘user’, pero en otros sistemas Unix quizás no, por lo que nuncaestá de más ponerlas explícitamente (o al menos consultar el manual en otros clones de Unix paraasegurarse del efecto de cada opción); de esta forma, si queremos que los usuarios puedan montarpor ejemplo la disquetera, una entrada correcta en /etc/fstab sería la siguiente:luisa:~# grep fd0 /etc/fstab/dev/fd0 /floppy ext2 user,noauto,nodev,nosuid,noexecluisa:~#Otro aspecto relacionado con el montaje de sistemas de ficheros que puede afectar a nuestra seguridades el uso de sistemas de ficheros diferentes del raíz bajo ciertos directorios; una elecciónincorrecta a la hora de elegir dónde montar sistemas puede causar ciertos problemas, sobre todonegaciones de servicio. Generalmente, es recomendable montar dispositivos diferentes bajo todosy cada uno de los directorios sobre los que los usuarios tienen permiso de escritura; esto incluyeel padre de sus $HOME, /tmp/ o /var/tmp/ (que puede ser un simple enlace a /tmp/). Con estoconseguimos que si un usuario llena un disco, esto no afecte al resto del sistema: un disco llenoimplica muchos problemas para la máquina, desde correo electrónico que no se recibe, logs que nose registran, o simplemente una negación de servicio contra el resto de usuarios, que no podrán almacenarnada. Aunque algunos Unices reservan una parte de cada disco o partición para escriturasólo del root o de procesos que corran bajo el UID 0 – típicamente un 10% de su capacidad total–, no podemos confiar ciegamente en este mecanismo para mantener segura nuestra máquina; así,una configuración más o menos adecuada sería la siguiente 2 :rosita:~# mount/dev/hda1 on / type ext2 (rw)/dev/hda2 on /tmp type ext2 (rw)/dev/hdb1 on /home type ext2 (rw)none on /proc type proc (rw)rosita:~#Como podemos comprobar, si un usuario lanza un ftp en background desde su $HOME durante lanoche – típico proceso que llena gran cantidad de disco –, en todo caso podrá afectar al resto deusuarios, pero nunca al sistema en global (correo, logs, root. . . ); este tipo de problemas no suelenser ataques, sino más bien descuidos de los usuarios que no tienen en cuenta el espacio disponibleantes de descargar ficheros de forma no interactiva. Si queremos que ni siquiera pueda afectar alresto de usuarios, podemos establecer un sistema de quotas de disco en nuestra máquina.4.3 Permisos de un archivoLos permisos de cada fichero son la protección más básica de estos objetos del sistema operativo;definen quién puede acceder a cada uno de ellos, y de qué forma puede hacerlo. Cuando hacemos unlistado largo de ciertos archivos podemos ver sus permisos junto al tipo de fichero correspondiente,en la primera columna de cada línea:anita:~# ls -l /sbin/rc02 Recordemos que en ciertos Unices existe /var/tmp/, directorio donde los usuarios también pueden escribir; quizásnos interese, en lugar de dedicar una partición a este directorio, enlazarlo simbólicamente a /tmp/.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!