Sg t1 practicas_linux
Upcoming SlideShare
Loading in...5
×
 

Sg t1 practicas_linux

on

  • 885 views

 

Statistics

Views

Total Views
885
Views on SlideShare
877
Embed Views
8

Actions

Likes
0
Downloads
24
Comments
0

2 Embeds 8

http://debora000.blogspot.com 5
http://debora000.blogspot.com.es 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sg t1 practicas_linux Sg t1 practicas_linux Document Transcript

  • PRACTICAS SEGURIDADSERVIDORES LINUXSEGURIDAD TRIMESTRE-1 2º A.S.I.R Débora García García
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaÍNDICEProbar el comando chage y ver cómo se modifica el fichero shadow. .............................................. 3Modificar los parámetros de contraseña de login.defs y ver cómo afechcta a la creación de nuevosusuarios. .......................................................................................................................................... 43.- Modificar el fichero securetty para impedir el acceso de root a los ttys (pruébalo intentandoentrar en la consola como root). ...................................................................................................... 54.- Modificar el fichero de configuración de ssh para impedir el acceso de root por ssh. .................. 65.- Crea un grupo wheel si no existe y modifica el fichero PAM para el servicio su, de forma quesólo los usuarios pertenecientes a ese grupo puedan hacer su........................................................... 66.- Modificar el fichero PAM adecuado para hacer que los usuarios listados en un fichero sólopuedan acceder a través de xdm (no deben poder acceder en la consola ni mediante ssh)................. 77.- Probar el comando usermod para hacer que la cuenta de un usuario expire en 30 das desde hoy. 88.- Crear una cuenta de invitado con acceso restringido. .................................................................. 8 (a) Crear una cuenta normal y en el /etc/passwd cambiar el shell estándar por uno restringido. .... 8 (b) Borrar en el home del usuario todos los cheros (incluidos los .bashrc, .bash prole, etc.) ......... 8 (c) Crear un fichero .bash_profile vacío, con permiso de lectura para propietario, grupo y otros y cuyo propietario sea root. ............................................................................................................ 9 (d) Modificar el propietario del home del usuario a root, y dar permisos de lectura y ejecución a grupo y otros (así el usuario sólo puede entrar en la cuenta, pero no hacer nada mas). ................. 9 (e) Crear un directorio bin (propietario root, permiso rx a grupo y otros) dentro del home del usuario, y en ese directorio ponemos enlaces simbólicos a los comandos que usara el usuario (p.e. ls, cp, cat, vi). .............................................................................................................................. 9 (f) En él .bash_profile crear la variable PATH para que acceda a ese directorio bin .................... 10 (g) Crea dentro del home un directorio de trabajo work, propiedad del usuario con permisos rwx para el mismo. ........................................................................................................................... 10 (h) En el .bash_profile haz que el usuario al entrar se redirija a ese directorio work (cd /home/invitado/work))............................................................................................................... 109.- Instalar el paquete sudo y ver las páginas de manual de sudo y sudoers .................................... 1110.- Crear un fichero de configuración con las siguientes características ....................................... 11 (a) los usuarios del grupo wheel deben poder apagar y reiniciar la maquina usando su contraseña .................................................................................................................................................. 11 (b) un par de usuarios concretos deben poder configurar la red .................................................. 11 (c) debéis utilizar alias para comandos y usuarios ...................................................................... 11 (d) los logs de sudo deben ir a un chero de log concreto ............................................................ 1111.- Probar a ejecutar los comandos con esos usuarios y examinar los logs generados ................... 1212.- En el servidor, instalar el paquete tcpd, si no está ya instalado. ............................................... 1213.- Examinar las páginas de manual de tcpd y hosts Access. ........................................................ 1214.- Configurar los ficheros hosts.allow y hosts.deny para: ........................................................... 12 a) denegar el acceso a todo el mundo a todos los servicios (en hosts.deny) ver el tiene sobre los clientes (intentar conectarse por ssh, o autenticarse como usuario LDAP). ................................ 12 1
  • SEGURIDAD TRIMESTRE-1 Débora García García b) permitir (en hosts.allow) acceso desde los sistemas de la red local a los siguientes servicios y comprobar que funcionan: ......................................................................................................... 12 SSH (demonio sshd) .................................................................................................................. 12 LDAP (demonio slapd) .............................................................................................................. 12 NFS (demonios portmap, nfsd y mountd) .................................................................................. 12 c) en hosts.allow indicar que todas las conexiones de FTP sean denegadas, y que se envíe un mail a un usuario mostrando un mensaje de intento de conexión. ...................................................... 13 d) probar los comandos tcpdchk y tcpdmatch ............................................................................ 1415.- Examina los ficheros de configuración de PAM en el sistema real. ......................................... 1416.- Modifica el archivo /etc/security/time.conf para que el acceso por ssh al servidor esté prohibidopara todos los usuarios excepto root los fines de semana y fuera de horas de trabajo. .................... 1417.- Instalar el paquete acl , ver las páginas de manual de setfac y getfacl ..................................... 1518.- Remontar la partición /home con soporte ACL ....................................................................... 1519.- Crear varios cheros y probar diferentes permisos por medio de las ACLs ............................... 1520.- Definir permisos por defecto para un directorio y ver como se propagan los permisos a losficheros creados en ese directorio .................................................................................................. 1621.- Ejecuta un bash en chroot....................................................................................................... 17 (a) Crea un directorio /var/chroot/shell ...................................................................................... 17 (b) Crea dentro de este directorio los directorios necesarios para ejecutar bash .......................... 17 por lo menos debes crear /var/chroot/shell/bin y copiar /bin/bash a ese directorio ...................... 17 usa la opción -p de cp para preservar permisos de los cheros que copias .................................... 17 (c) comprueba con ldd las libreras necesarias para ejecutar bash y cópialas al directorio adecuado .................................................................................................................................................. 17 (d) ejecuta bash con: .................................................................................................................. 17 # chroot /var/chroot/shell /bin/bash ............................................................................................ 17 mira en /proc que el directorio raíz del shell lanzado ................................................................. 17 (e) Añade el comando ls a la jaula ............................................................................................. 17 (f) Ejecuta el shell como un usuario no privilegiado con chrootuid ............................................ 1722.- Instala Apache2 chroot usando makejail ................................................................................. 17 (a) Instala los paquetes apache2 y makejail................................................................................ 17 (b) Copia el chero /usr/share/doc/makejail/examples/apache.py a /etc/makejail ......................... 18 (c) Modifica el chero para adaptarlo a apache2, indicándole los paquetes apropiados ................ 18 (d) Sigue las instrucciones en www.debian.org/doc/manuals/securingdebian- ............................ 18 howto/ap-chroot-apache-env.en.html para realizar la instalación y lanzar el apache en chroot .... 18 2
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaProbar el comando chage y ver cómo se modifica el fichero shadow.Chage debora -lArchivo: /etc/shadowSe han modificado el número de días con: chage –M 5 debora 3
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaModificar los parámetros de contraseña de login.defs y ver cómo afecta a lacreación de nuevos usuarios.Vemos como está por defecto.Modificación: /etc/logins.defsEstos son los parámetros por defecto. 4
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaEsta es la modificación.Comprobamos con: chage –l usuarioModificar el fichero securetty para impedir el acceso de root a los ttys(pruébalo intentando entrar en la consola como root).Editar archivo: /etc/securettyAñadimos la siguiente líneaComprobamos: sudo login root 5
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaModificar el fichero de configuración de ssh para impedir el acceso de rootpor ssh.Modificar el archivo: /etc/ssh/sshd_configFijar el parámetro PermitRootLogin noAñadir al archivo: /etc/securettyComprobamos:Crea un grupo wheel si no existe y modifica el fichero PAM para el serviciosu, de forma que sólo los usuarios pertenecientes a ese grupo puedanhacer su.Crear el grupo Wheel: addgroup WheelCrear un usuario para Wheel: adduser usuAñadir el usuario al grupo: usermod –G Wheel usuAbrir el archivo /etc/pam.d/su y descomentar la línea: 6
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaModificar el fichero PAM adecuado para hacer que los usuarios listados enun fichero sólo puedan acceder a través de xdm (no deben poder accederen la consola ni mediante ssh).Crear un fichero que contenga la lista de usuarios bloqueados: nano /etc/bloqueados.Introducimos los nombres en la lista.Para negar el acceso editamos el fichero /etc/pam.d/loginAñadimos: auth required pam listfile.so ítem=user sense=deny file=/etc/bloqueadosonerr=succeedAl logearnos, no nos lo permite. 7
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaProbar el comando usermod para hacer que la cuenta de un usuario expireen 30 das desde hoy.Hay que ejecutar el comando en el terminal para que la cuenta de “usu” expire en eltiempo indicado: usermod –e $(date + %Y)-11-03 usu.Crear una cuenta de invitado con acceso restringido.(a) Crear una cuenta normal y en el /etc/passwd cambiar el shell estándar poruno restringido.Crear cuenta de usuario: adduser normalModificar: /etc/passwordEl usuario normal está restringido(b) Borrar en el home del usuario todos los cheros (incluidos los .bashrc, .bashprole, etc.)Ver ficheros: ls –a /home/normal 8
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaBorrar todos los ficheros: rm –R /home/normal/(c) Crear un fichero .bash_profile vacío, con permiso de lectura para propietario,grupo y otros y cuyo propietario sea root.Crear el fichero: > /home/normal/.bash_profilePermisos: chmod 444 /home/normal/.bash_profile(d) Modificar el propietario del home del usuario a root, y dar permisos delectura y ejecución a grupo y otros (así el usuario sólo puede entrar en la cuenta,pero no hacer nada mas).Chown root /home/normal(en nuestro caso ya está por defecto como vemos en el apartado anterior).Chmod 755 /home/normal/(e) Crear un directorio bin (propietario root, permiso rx a grupo y otros) dentrodel home del usuario, y en ese directorio ponemos enlaces simbólicos a loscomandos que usara el usuario (p.e. ls, cp, cat, vi).Crear directorio: mkdir /home/normal/binPermisos: chmod 755 /home/normal/binEnlaces simbólicos: ln –sBorrar enlaces simbólicos: unlink enlace 9
  • SEGURIDAD TRIMESTRE-1 Débora García García(f) En él .bash_profile crear la variable PATH para que acceda a ese directorio binCrear variable: PATH=$PATH:/home/normal/bin/(g) Crea dentro del home un directorio de trabajo work, propiedad del usuariocon permisos rwx para el mismo.Crear directorio: mkdir workPermisos: chmod 755 workPropiedad: chown normal work(h) En el .bash_profile haz que el usuario al entrar se redirija a ese directoriowork (cd /home/invitado/work))Añadir al archivo: /home/normal/.bash_profile  cd /home/normal/work 10
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaSudo login normalInstalar el paquete sudo y ver las páginas de manual de sudo y sudoersInstalar apt-get install sudoPara ver el manual de los comando utilizamos la orden man sudo y man sudoersCrear un fichero de configuración con las siguientes características(a) los usuarios del grupo wheel deben poder apagar y reiniciar la maquinausando su contraseñaALL, !SERVERS=NOPASSWD: SHUTDOWN(b) un par de usuarios concretos deben poder configurar la redCLIENTS=ip_cliente/mascara_red(c) debéis utilizar alias para comandos y usuariosUsers_Alias AYUDANTES=pepe,juanCmnd_Alias SHUTDOWN=/sbin/shutdown –h now ,/sbin/haltCmnd_Alias USERS=/usr/sbin/adduser,/, /usr/sbin/deluser(d) los logs de sudo deben ir a un chero de log concretoDefaults logfile=/var/log/sudolog 11
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaProbar a ejecutar los comandos con esos usuarios y examinar los logsgeneradosEn el servidor, instalar el paquete tcpd, si no está ya instalado.Apt-get install tcpdExaminar las páginas de manual de tcpd y hosts Access.Man tcpd y man hosts_access.Configurar los ficheros hosts.allow y hosts.deny para:a) denegar el acceso a todo el mundo a todos los servicios (en hosts.deny) ver eltiene sobre los clientes (intentar conectarse por ssh, o autenticarse comousuario LDAP).Descomentar ALL: PARANOIDSi sustituimos paranoid por all denegamos el acceso a todos los servicios.b) permitir (en hosts.allow) acceso desde los sistemas de la red local a lossiguientes servicios y comprobar que funcionan:SSH (demonio sshd)LDAP (demonio slapd)NFS (demonios portmap, nfsd y mountd) 12
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaComprobación:c) en hosts.allow indicar que todas las conexiones de FTP sean denegadas, y quese envíe un mail a un usuario mostrando un mensaje de intento de conexión. 13
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaEn el fichero /etc/banners debe de haber un fichero in.ftpd el cual incluirá un mensaje quepodrá visualizar el cliente.d) probar los comandos tcpdchk y tcpdmatchtcpdchk: chequea la configuración de hosts.allow y hosts.denyTdpdmatch: predice como se comportarían las reglas ante una petición determinada.Examina los ficheros de configuración de PAM en el sistema real.Modifica el archivo /etc/security/time.conf para que el acceso por ssh alservidor esté prohibido para todos los usuarios excepto root los fines desemana y fuera de horas de trabajo.Editar: /etc/security/time.conf, añadir ssh;*;root;wk1500-2000 (servicio, usuario, fin desemana, de las 15h a las 20h). 14
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaInstalar el paquete acl , ver las páginas de manual de setfac y getfaclApt-get install aclMan setfacMan getfaclRemontar la partición /home con soporte ACLMount –o remount,acl /Crear varios ficheros y probar diferentes permisos por medio de las ACLsLectura y escritura al usuario “usu”: setfacl –m user:usu:rw prueba1.txtLectura al grupo “Wheel”: setfacl –m group:Wheel:r prueba2.txt 15
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaSetfacl –m mask::r –x prueba3.txtGetfacl –omit-header prueba3.txtDefinir permisos por defecto para un directorio y ver como se propagan lospermisos a los ficheros creados en ese directorioSe crea el directorio acls y los archivosCambiamos los permisos del directorio chmod 700 aclsSetfacl –d –m g:users:rw aclsCd aclsTouch acl1Getfacl acl1 16
  • SEGURIDAD TRIMESTRE-1 Débora García GarcíaEjecuta un bash en chroot(a) Crea un directorio /var/chroot/Shell(b) Crea dentro de este directorio los directorios necesarios para ejecutar bash  por lo menos debes crear /var/chroot/shell/bin y copiar /bin/bash a ese directorio  usa la opción -p de cp para preservar permisos de los ficheros que copias(c) comprueba con ldd las libreras necesarias para ejecutar bash y cópialas aldirectorio adecuado(d) ejecuta bash con:# chroot /var/chroot/shell /bin/bash  mira en /proc que el directorio raíz del shell lanzado(e) Añade el comando ls a la jaula(f) Ejecuta el shell como un usuario no privilegiado con chrootuidInstala Apache2 chroot usando makejail (a) Instala los paquetes apache2 y makejailApt-get install apache2Apt-get install makejail 17
  • SEGURIDAD TRIMESTRE-1 Débora García García(b) Copia el chero /usr/share/doc/makejail/examples/apache.py a/etc/makejail(c) Modifica el chero para adaptarlo a apache2, indicándole los paquetesapropiados(d) Sigue las instrucciones en www.debian.org/doc/manuals/securingdebian-howto/ap-chroot-apache-env.en.html para realizar la instalación y lanzar elapache en chroot 18