jperez_practica sobre seguridad linux

30
Javier Pérez González C.F.G.S. Administración de Sistemas Informáticos] PRÁCTICA SOBRE SEGURIDAD EN LINUX

Upload: javier-perez

Post on 03-Aug-2015

171 views

Category:

Documents


0 download

TRANSCRIPT

C.F.G.S. Administracin de Sistemas Informticos]PRCTICA SOBRE SEGURIDAD EN LINUX

Javier Prez Gonzlez

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

NDICEPRCTICAS Pg. 22 .................................................................................................................... 4 Probar el comando chage y ver como se modifica el fichero shadow. .................................... 4 Modificar los parmetros de contrasea de login.defs y ver cmo afecta a la creacin de nuevos usuarios. ................................................................................................................... 6 Prcticas pg. 33 ....................................................................................................................... 7 Modificar el fichero securetty para impedir el acceso de root a los ttys. Probarlo intentando entrar en consola como root. ................................................................................................ 7 Modificar el fichero de configuracin de ssh para impedir el acceso de root por ssh. ............ 8 Crea un grupo wheel si no existe y modifica el fichero PAM para el servicio su de forma que los usuarios pertenecientes a ese grupo puedan hacer su. .................................................... 9 Modificar el fichero PAM adecuado para hacer que los usuarios listados en un fichero solo puedan acceder a travs de xdm (no deben poder acceder en la consola ni mediante ssh).. 11 PRCTICAS Pg. 34. ................................................................................................................. 12 Probar el comando usermod para hacer que la cuenta de un usuario expire en 30 das desde hoy. .................................................................................................................................... 12 PRCTICAS Pg. 36. ................................................................................................................. 13 Crear una cuenta de invitado con acceso restringido. .......................................................... 13 a) Crear una cuenta normal y en l /etc/passwd cambiar el shell estndar por uno restringido: ..................................................................................................................... 13 b) Borrar en el home del usuario todos los ficheros (incluidos los .bashrc, .bash profile, etc.) 14 c) Crear un fichero .bash_profile vaco con permiso de lectura para propietario, grupo y otros y cuyo propietario sea root..................................................................................... 14 d) Modificar el propietario del home del usuario a root, y dar permisos de lectura y ejecucin a grupo y otros (as el usuario slo puede entrar en la cuenta, pero no hacer nada ms) ....................................................................................................................... 14 e) Crear un directorio bin (propietario root, permiso rx a grupo y otros) dentro del home del usuario, y en ese directorio ponemos enlaces simblicos a los comandos que usar el usuario (p.e. ls, cp, cat, vi). ................................................................................. 15 f) En el .bash profile crear la variable PATH para que acceda a ese directorio bin. ....... 15

g) Crea dentro del home un directorio de trabajo work, propiedad del usuario con permisos rwx para el mismo ............................................................................................ 16 h) En el .bash profile haz que el usuario al entrar se redirija a ese directorio work (cd /home/invitado/work)) ................................................................................................... 16

2

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez GonzlezPrcticas pg. 44 ..................................................................................................................... 17 Instalar el paquete sudo y ver las pginas de manual de sudo y sudoers.............................. 17 Crear un fichero de configuracin con las siguientes caractersticas .................................... 18 Probar a ejecutar los comandos con esos usuarios y examinar los logs generados ............... 19 Prcticas pg. 56 ..................................................................................................................... 21 En el servidor, instalar el paqete tcpd .................................................................................. 21 Examinar las pginas de manual de tcpd y hosts_access ...................................................... 21 Configurar los ficheros hosts.allow y hosts.deny para:......................................................... 21 a) Denegar el acceso a todo el mundo a todos los servicios (en hosts.deny). ................ 21

b) Permitir (en hosts.allow) acceso desde los sistemas de la red local a los siguientes servicios y comprobar que funcionan: ............................................................................. 22 En hosts.allow indicar que todas las conexiones de FTP sean denegadas, y que se enve un mail a un usuario mostrando un mensaje de intento de conexin ....................................... 23 Probar los comandos tcpdchk y tcpdmatch.......................................................................... 23 Prcticas pg. 79 ..................................................................................................................... 24 Examina los ficheros de configuracin de PAM en el sistema real ........................................ 24 Modifica el archivo /etc/security/time.conf para que el acceso por ssh al servidor est prohibido para todos los usuarios excepto root los fines de semana y fuera de horas de trabajo ................................................................................................................................ 24 Prcticas pg. 89 ..................................................................................................................... 25 Instalar el paquete ACL ....................................................................................................... 25 Ver pginas de manual de setfac y getfacl ....................................................................... 25 Remontar la particin /home con soporte ACL ................................................................ 25 Crear varios ficheros y probar diferentes permisos por medio de las ACLs ....................... 26 Definir permisos por defecto para un directorio y ver como se propagan los permisos a los ficheros creados en ese directorio ................................................................................... 27 Prcticas pg. 100 ................................................................................................................... 28 Ejecuta un bash en chroot ................................................................................................... 28 Instala Apache2 chroot usando makejail ............................................................................. 30 a) b) Copia el fichero /usr/share/doc/makejail/examples/apache.py a /etc/makejail ....... 30 Modifica el fichero para adaptarlo a apache2, indicndole los paquetes apropiados 30

3

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

PRCTICAS Pg. 22Probar el comando chage y ver como se modifica el fichero shadow.Probamos el comando chage para ver sus opciones:

El comando chage l jperez sirve para ver la informacin de envejecimiento de la cuenta:

Modificamos para que la contrasea caduque el 01/11/2012, con el comando chage E 11/01/2012 jperez:

4

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez GonzlezY el archivo /etc/shadow queda as:

Ahora vamos a cambiar los das de aviso antes de que expire la contrasea:

Vemos como cambia el penltimo bloque de nmeros de 7 a 30 das.

5

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Modificar los parmetros de contrasea de login.defs y ver cmo afecta a la creacin de nuevos usuarios.Esta es la configuracin por defecto de /etc/login.defs:

Ahora vamos a modificarlo para ver cmo afecta al crear un usuario nuevo:

Vemos el fichero /etc/shadow y como vemos el usuario que se cree ahora nuevo tiene los parmetros modificados del fichero /etc/login.defs:

6

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Prcticas pg. 33Modificar el fichero securetty para impedir el acceso de root a los ttys. Probarlo intentando entrar en consola como root.Modificamos el fichero /etc/securetty y comentamos la lnea de tty1 por ejemplo, ahora guardamos.

Ahora pulsamos Control+Alt+F1 para irnos a la primera terminal e intentamos loguearnos como root:

Como podemos observar no nos deja.

7

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Modificar el fichero de configuracin de ssh para impedir el acceso de root por ssh.NOTA: Previamente he tenido que instalar SSH porque no encontraba el fichero siguiente que debemos modificar, lo instalamos con el comando apt-get install ssh. Para ello modificamos el fichero /etc/ssh/sshd_config:

Y en PermitRootLogin modificamos y ponemos no, guardamos y probamos:

Como podemos ver no nos permito el acceso por ssh a root.

8

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Crea un grupo wheel si no existe y modifica el fichero PAM para el servicio su de forma que los usuarios pertenecientes a ese grupo puedan hacer su.Creamos un nuevo grupo llamado Wheel, y modificamos el fichero para aadir el usuario seguridad1 al grupo creado:

Ahora modificamos el fichero /etc/pam.d/su para aadir que el grupo Wheel si puedan hacer su, descomentamos la lnea y la deamos asi: auth required pam_wheel.so group=wheel:

Ahora vamos a probar poniendo su desde mi usuario y como vemos nos deniega el permiso:

9

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez GonzlezAhora procedemos a hacer lo mismo desde el usuario seguridad1 el que hemos metido en el grupo wheel, y como vemos lo hace a la perfeccin:

10

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Modificar el fichero PAM adecuado para hacer que los usuarios listados en un fichero solo puedan acceder a travs de xdm (no deben poder acceder en la consola ni mediante ssh).Para ello empezamos creando y modificando un archivo en el cual van a estar los usuarios solo puedan acceder a travs de xdm:

Vamos a loguearnos

11

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

PRCTICAS Pg. 34.Probar el comando usermod para hacer que la cuenta de un usuario expire en 30 das desde hoy.Comprobamos el comando usermod:

Pues para que un usuario expire en 30 dias debemos poner esto:

12

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

PRCTICAS Pg. 36.Crear una cuenta de invitado con acceso restringido.a) Crear una cuenta normal y en l /etc/passwd cambiar el shell estndar por uno restringido: Aadimos un nuevo usuario llamado seguridad2:

Editamos /etc/passwd y le modificamos el Shell bash por rbash que es una restrictiva:

Como vemos no podemos cambiar de directorio:

13

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlezb) Borrar en el home del usuario todos los ficheros (incluidos los .bashrc, .bash profile, etc.) Para ello nos desplazamos a la carpeta de /home/seguridad2/ y borramos todo:

c) Crear un fichero .bash_profile vaco con permiso de lectura para propietario, grupo y otros y cuyo propietario sea root. Para ello creamos un archivo vacio touch .bash_profile, luego le damos permisos chmod 444 .bash_profile (de lectura para todos), y como el propietario es root.

d) Modificar el propietario del home del usuario a root, y dar permisos de lectura y ejecucin a grupo y otros (as el usuario slo puede entrar en la cuenta, pero no hacer nada ms) Debemos de modificar los permisos del home de seguridad2, para ello escribimos lo siguiente chmod 755 seguridad2 y luego verificamos los permisos obtenidos:

14

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzleze) Crear un directorio bin (propietario root, permiso rx a grupo y otros) dentro del home del usuario, y en ese directorio ponemos enlaces simblicos a los comandos que usar el usuario (p.e. ls, cp, cat, vi). Creamos el directorio, le cambiamos el propietario y le modificamos los permisos:

Ahora vamos a crear los enlaces simblicos:

f) En el .bash profile crear la variable PATH para que acceda a ese directorio bin. Para ello vamos a editar el fichero oculto .bash_profile y aadimos el siguiente parmetro PATH=SPATH:/home/seguridad2/bin:

15

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlezg) Crea dentro del home un directorio de trabajo work, propiedad del usuario con permisos rwx para el mismo Para esto debemos crear la carpeta work dentro de /home/seguridad2 y luego ponerlo de propietario:

h) En el .bash profile haz que el usuario al entrar se redirija a ese directorio work (cd /home/invitado/work)) Tenemos que editar de nuevo el fichero oculto .bash_profile y aadir la siguiente lnea cd/home/seguridad2/work:

16

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Prcticas pg. 44Instalar el paquete sudo y ver las pginas de manual de sudo y sudoersPara ello instalamos el paquete apt-get install sudo, como ya lo tenamos instalado (ya vena con ubuntu), slo se actualizar:

Para ver las pginas de manual de sudo y sudoers solo debemos poner en la consola: man sudo o man sudoers.

17

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Crear un fichero de configuracin con las siguientes caractersticasPara empezar vamos a crear 2 nuevos usuarios seguridad3 y seguridad4 y los metemos en el grupo wheel (hay ya estaran seguridad1, seguridad3 y seguridad4) y ahora pasamos a configurar el archivo /etc/sudoers: a) Los usuarios del grupo wheel deben poder apagar y reiniciar la mquina usando su contrasea. Los usuarios que pertenecen al grupo wheel pueden apagar y reiniciar la mquina (el archivo de modificacin est al final):

b) Un par de usuarios concretos deben poder configurar la red. Los usuarios seguridad3 y seguridad4 pueden modificar la red (el archivo de modificacin est al final):

Vemos como en usuario seguridad1 no puede modificar la red:

c) Debis utilizar alias para comandos y usuarios. Definimos alias para usuarios y para los comandos, que despus utilizaremos para darle los permisos:

18

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlezd) Los logs de sudo deben ir a un fichero de log concreto. El fichero que he puesto para log se encuentra en la siguiente direccin:

Probar a ejecutar los comandos con esos usuarios y examinar los logs generadosAqu vemos los permisos concedidos cada vez que hemos hecho un comando con sudo: ROOT JPEREZ SEGURIDAD1

19

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez GonzlezEn fin el fichero /etc/sudoers debe quedar as configurado:

20

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Prcticas pg. 56En el servidor, instalar el paqete tcpdInstalamos el paquete tcpd, en mi caso ya lo tena instalado:

Examinar las pginas de manual de tcpd y hosts_accessPara ello basta con poner el comando 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). Para ello modificamos el archivo /etc/hosts.deny y aadimos la siguiente lnea: y probamos a ver si nos podemos conectar por ssh:

21

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlezb) Permitir (en hosts.allow) acceso desde los sistemas de la red local a los siguientes servicios y comprobar que funcionan: Para ello modificamos el fichero /etc/host.allow y aadimos las siguientes lneas:

Y probamos a conectarnos por ssh a la mquina:

22

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

En hosts.allow indicar que todas las conexiones de FTP sean denegadas, y que se enve un mail a un usuario mostrando un mensaje de intento de conexinPara ello debemos aadir las lneas siguientes en el fichero /etc/hosts.allow:

Ahora vamos a probar a conectarnos por ftp a la mquina:

Probar los comandos tcpdchk y tcpdmatchTcpdchk: Comprobador de la configuracin de hosts.deny y hosts.allow Tcpdmatch: Se encarga de predecir cmo se comportaran las reglas ante una peticin determinada.

23

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Prcticas pg. 79Examina los ficheros de configuracin de PAM en el sistema realPara ello debemos hacer un ls /etc/pam.d/:

Modifica el archivo /etc/security/time.conf para que el acceso por ssh al servidor est prohibido para todos los usuarios excepto root los fines de semana y fuera de horas de trabajoPara ello debemos modificar el archivo /etc/security/time.conf y aadir la siguiente lnea: sshd;*;root;wk1500-2359

24

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Prcticas pg. 89Instalar el paquete ACLPara ello debemos poner en la consola apt-get install acl:

Ver pginas de manual de setfac y getfacl Para ello ponemos en la consola man setfac y man getfacl

Remontar la particin /home con soporte ACL Para ello debemos aadir acl a los atributos de nuestra particin en /etc/fstab:

Ahora reiniciamos la mquina y vemos si se ha montado bien con el comando mount:

25

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez GonzlezCrear varios ficheros y probar diferentes permisos por medio de las ACLs Para empezar vamos a crear 2 archivos para compararlos, y vamos a ver qu permisos tienen cada uno (por ahora son los mismos ya que no los hemos modificado):

Ahora vamos a modificarle los permisos con setfacl aadiendo al fichero segu1 el usuario jperez, y al segu2 el grupo jperez:

26

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez GonzlezDefinir permisos por defecto para un directorio y ver como se propagan los permisos a los ficheros creados en ese directorio Para ello creamos una nueva carpeta SEGU y vemos que permisos tiene por defecto:

Ahora vamos a asignarles los siguientes permisos (tambin para que los permisos se hereden a los archivos o carpetas del interior, luego lo probaremos):

Ahora vamos a entrar a la carpeta SEGU y crear un archivo y ver que permisos tiene, como vemos hereda los permisos de la carpeta madre:

27

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Prcticas pg. 100Ejecuta un bash en chroota) Crea un directorio /var/chroot/Shell Creamos el directorio:

b) Crea dentro de este directorio los directorios necesarios para ejecutar bash Creamos el directorio bin dentro del anterior y copiamos el directorio /bin/bash a nuestra carpeta nueva bin, con la opcin p para que se queden los permisos originales:

c) Comprueba con ldd las libreras necesarias para ejecutar bash y cpialas al directorio adecuado Para comprobar las libreras debemos poner en la consola de comandos ldd /var/chroot/shell/bin/bash:

d) Ejecuta bash con:

28

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzleze) Mira en /proc que el directorio raz del shell lanzado

f) Aade el comando ls a la jaula

g) Ejecuta el shell como un usuario no privilegiado con chrootuid

29

domingo, 14 de octubre de 2012

[C.F.G.S. ADMINISTRACIN DE SISTEMAS INFORMTICOS] Javier Prez Gonzlez

Instala Apache2 chroot usando makejailInstalamos los paquetes de apache2 y makejail:

a) Copia el fichero /usr/share/doc/makejail/examples/apache.py /etc/makejail Para ello copiamos el fichero apache.py en la direccin siguiente:

a

b) Modifica el fichero para adaptarlo a apache2, indicndole los paquetes apropiados

30

domingo, 14 de octubre de 2012