SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
PRACTICAS
   SEGURIDAD
SERVIDORES LINUX
SEGURIDAD TRIMESTRE-1           2º A.S.I.R

         Débora García García
SEGURIDAD                                                          TRIMESTRE-1                                                   Débora García García


ÍNDICE


Probar el comando chage y ver cómo se modifica el fichero shadow. .............................................. 3
Modificar los parámetros de contraseña de login.defs y ver cómo afechcta a la creación de nuevos
usuarios. .......................................................................................................................................... 4
3.- Modificar el fichero securetty para impedir el acceso de root a los ttys (pruébalo intentando
entrar en la consola como root). ...................................................................................................... 5
4.- Modificar el fichero de configuración de ssh para impedir el acceso de root por ssh. .................. 6
5.- Crea un grupo wheel si no existe y modifica el fichero PAM para el servicio su, de forma que
sólo los usuarios pertenecientes a ese grupo puedan hacer su........................................................... 6
6.- Modificar el fichero PAM adecuado para hacer que los usuarios listados en un fichero sólo
puedan acceder a través de xdm (no deben poder acceder en la consola ni mediante ssh)................. 7
7.- Probar el comando usermod para hacer que la cuenta de un usuario expire en 30 das desde hoy. 8
8.- 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))............................................................................................................... 10
9.- Instalar el paquete sudo y ver las páginas de manual de sudo y sudoers .................................... 11
10.- 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 ............................................................ 11
11.- Probar a ejecutar los comandos con esos usuarios y examinar los logs generados ................... 12
12.- En el servidor, instalar el paquete tcpd, si no está ya instalado. ............................................... 12
13.- Examinar las páginas de manual de tcpd y hosts Access. ........................................................ 12
14.- 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 ............................................................................ 14
15.- Examina los ficheros de configuración de PAM en el sistema real. ......................................... 14
16.- 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. .................... 14
17.- Instalar el paquete acl , ver las páginas de manual de setfac y getfacl ..................................... 15
18.- Remontar la partición /home con soporte ACL ....................................................................... 15
19.- Crear varios cheros y probar diferentes permisos por medio de las ACLs ............................... 15
20.- Definir permisos por defecto para un directorio y ver como se propagan los permisos a los
ficheros creados en ese directorio .................................................................................................. 16
21.- 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 ............................................ 17
22.- 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ía


Probar el comando chage y ver cómo se modifica el fichero shadow.
Chage debora -l




Archivo: /etc/shadow




Se han modificado el número de días con: chage –M 5 debora




                                         3
SEGURIDAD                               TRIMESTRE-1             Débora García García




Modificar los parámetros de contraseña de login.defs y ver cómo afecta a la
creación de nuevos usuarios.

Vemos como está por defecto.




Modificación: /etc/logins.defs

Estos son los parámetros por defecto.




                                            4
SEGURIDAD                           TRIMESTRE-1                   Débora García García



Esta es la modificación.




Comprobamos con: chage –l usuario




Modificar el fichero securetty para impedir el acceso de root a los ttys
(pruébalo intentando entrar en la consola como root).

Editar archivo: /etc/securetty
Añadimos la siguiente línea




Comprobamos: sudo login root




                                        5
SEGURIDAD                                TRIMESTRE-1             Débora García García


Modificar el fichero de configuración de ssh para impedir el acceso de root
por ssh.

Modificar el archivo: /etc/ssh/sshd_config
Fijar el parámetro PermitRootLogin no




Añadir al archivo: /etc/securetty




Comprobamos:




Crea un grupo wheel si no existe y modifica el fichero PAM para el servicio
su, de forma que sólo los usuarios pertenecientes a ese grupo puedan
hacer su.

Crear el grupo Wheel: addgroup Wheel
Crear un usuario para Wheel: adduser usu
Añadir el usuario al grupo: usermod –G Wheel usu

Abrir el archivo /etc/pam.d/su y descomentar la línea:


                                             6
SEGURIDAD                              TRIMESTRE-1                         Débora García García




Modificar el fichero PAM adecuado para hacer que los usuarios listados en
un fichero sólo puedan acceder a través de xdm (no deben poder acceder
en 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/login
Añadimos: auth required pam listfile.so ítem=user sense=deny file=/etc/bloqueados
onerr=succeed




Al logearnos, no nos lo permite.




                                           7
SEGURIDAD                             TRIMESTRE-1                      Débora García García


Probar el comando usermod para hacer que la cuenta de un usuario expire
en 30 das desde hoy.

Hay que ejecutar el comando en el terminal para que la cuenta de “usu” expire en el
tiempo 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 por
uno restringido.

Crear cuenta de usuario: adduser normal
Modificar: /etc/password




El usuario normal está restringido




(b) Borrar en el home del usuario todos los cheros (incluidos los .bashrc, .bash
prole, etc.)

Ver ficheros: ls –a /home/normal



                                          8
SEGURIDAD                                  TRIMESTRE-1                      Débora García García



Borrar 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_profile




Permisos: chmod 444 /home/normal/.bash_profile




(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).

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) 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).

Crear directorio: mkdir /home/normal/bin

Permisos: chmod 755 /home/normal/bin




Enlaces simbólicos: ln –s
Borrar 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 bin

Crear variable: PATH=$PATH:/home/normal/bin/




(g) Crea dentro del home un directorio de trabajo work, propiedad del usuario
con permisos rwx para el mismo.

Crear directorio: mkdir work
Permisos: chmod 755 work
Propiedad: chown normal work




(h) En el .bash_profile haz que el usuario al entrar se redirija a ese directorio
work (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ía


Sudo login normal




Instalar el paquete sudo y ver las páginas de manual de sudo y sudoers

Instalar apt-get install sudo

Para ver el manual de los comando utilizamos la orden man sudo y man sudoers


Crear un fichero de configuración con las siguientes características
(a) los usuarios del grupo wheel deben poder apagar y reiniciar la maquina
usando su contraseña

ALL, !SERVERS=NOPASSWD: SHUTDOWN

(b) un par de usuarios concretos deben poder configurar la red

CLIENTS=ip_cliente/mascara_red

(c) debéis utilizar alias para comandos y usuarios

Users_Alias AYUDANTES=pepe,juan

Cmnd_Alias SHUTDOWN=/sbin/shutdown –h now ,/sbin/halt
Cmnd_Alias USERS=/usr/sbin/adduser,/, /usr/sbin/deluser

(d) los logs de sudo deben ir a un chero de log concreto

Defaults logfile=/var/log/sudolog




                                           11
SEGURIDAD                               TRIMESTRE-1                          Débora García García


Probar a ejecutar los comandos con esos usuarios y examinar los logs
generados

En el servidor, instalar el paquete tcpd, si no está ya instalado.

Apt-get install tcpd


Examinar 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 el
tiene sobre los clientes (intentar conectarse por ssh, o autenticarse como
usuario LDAP).

Descomentar ALL: PARANOID




Si 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 los
siguientes 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ía




Comprobación:




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
SEGURIDAD                               TRIMESTRE-1                          Débora García García




En el fichero /etc/banners debe de haber un fichero in.ftpd el cual incluirá un mensaje que
podrá visualizar el cliente.

d) probar los comandos tcpdchk y tcpdmatch

tcpdchk: chequea la configuración de hosts.allow y hosts.deny
Tdpdmatch: 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 al
servidor esté prohibido para todos los usuarios excepto root los fines de
semana y fuera de horas de trabajo.

Editar: /etc/security/time.conf, añadir ssh;*;root;wk1500-2000 (servicio, usuario, fin de
semana, de las 15h a las 20h).




                                            14
SEGURIDAD                                    TRIMESTRE-1                   Débora García García




Instalar el paquete acl , ver las páginas de manual de setfac y getfacl

Apt-get install acl
Man setfac
Man getfacl


Remontar la partición /home con soporte ACL

Mount –o remount,acl /


Crear varios ficheros y probar diferentes permisos por medio de las ACLs




Lectura y escritura al usuario “usu”: setfacl –m user:usu:rw prueba1.txt




Lectura al grupo “Wheel”: setfacl –m group:Wheel:r prueba2.txt



                                                 15
SEGURIDAD                                   TRIMESTRE-1        Débora García García




Setfacl –m mask::r –x prueba3.txt
Getfacl –omit-header prueba3.txt




Definir permisos por defecto para un directorio y ver como se propagan los
permisos a los ficheros creados en ese directorio

Se crea el directorio acls y los archivos




Cambiamos los permisos del directorio chmod 700 acls
Setfacl –d –m g:users:rw acls
Cd acls
Touch acl1
Getfacl acl1




                                                16
SEGURIDAD                                    TRIMESTRE-1                               Débora García García




Ejecuta 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 al
directorio 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 chrootuid


Instala Apache2 chroot usando makejail
   (a) Instala los paquetes apache2 y makejail

Apt-get install apache2
Apt-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 paquetes
apropiados
(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 el
apache en chroot




                                        18

Más contenido relacionado

La actualidad más candente

La actualidad más candente (15)

Gasl
GaslGasl
Gasl
 
Shell bash
Shell bashShell bash
Shell bash
 
17 shell bash
17 shell bash17 shell bash
17 shell bash
 
Django book-es-1.0-0.1-r789
Django book-es-1.0-0.1-r789Django book-es-1.0-0.1-r789
Django book-es-1.0-0.1-r789
 
Practica5 bash prog-intro-como
Practica5 bash prog-intro-comoPractica5 bash prog-intro-como
Practica5 bash prog-intro-como
 
Guia De Instalacion Redhat EspañOl
Guia De Instalacion Redhat EspañOlGuia De Instalacion Redhat EspañOl
Guia De Instalacion Redhat EspañOl
 
Delphi al limite
Delphi al limiteDelphi al limite
Delphi al limite
 
El libro de django
El libro de djangoEl libro de django
El libro de django
 
Cluster Spark - Cassandra sobre Raspberry Pi-3
Cluster Spark  - Cassandra sobre Raspberry Pi-3 Cluster Spark  - Cassandra sobre Raspberry Pi-3
Cluster Spark - Cassandra sobre Raspberry Pi-3
 
Dentro nucleo linux
Dentro nucleo linuxDentro nucleo linux
Dentro nucleo linux
 
Pensar en cpp
Pensar en cpp Pensar en cpp
Pensar en cpp
 
Manual compilador ccs_picc
Manual compilador ccs_piccManual compilador ccs_picc
Manual compilador ccs_picc
 
Manual dreamweaver 8 spanish
Manual dreamweaver 8 spanishManual dreamweaver 8 spanish
Manual dreamweaver 8 spanish
 
lo k kiera
lo k kieralo k kiera
lo k kiera
 
Java
JavaJava
Java
 

Similar a Servidores Linux: Guía de seguridad trimestral

Sg t1 practica_copia_seguridadlinux
Sg t1 practica_copia_seguridadlinuxSg t1 practica_copia_seguridadlinux
Sg t1 practica_copia_seguridadlinuxgarciadebora
 
Guía de instalación de Debian GNU/Linux
Guía de instalación de Debian GNU/LinuxGuía de instalación de Debian GNU/Linux
Guía de instalación de Debian GNU/LinuxJohnerasky Bajisto
 
Granja de renderizacion
Granja de renderizacionGranja de renderizacion
Granja de renderizacionjorgejpl1
 
Manual de configuracion de redes
Manual de configuracion de redesManual de configuracion de redes
Manual de configuracion de redesmmri
 
Solaris - Guia del Usuario Avanzado 1994s.pdf
Solaris - Guia del Usuario Avanzado 1994s.pdfSolaris - Guia del Usuario Avanzado 1994s.pdf
Solaris - Guia del Usuario Avanzado 1994s.pdfDavidAscanio3
 
Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1Ecatel SRL
 
Aso t1 practicas_ad
Aso t1 practicas_adAso t1 practicas_ad
Aso t1 practicas_adgarciadebora
 
Fedora 14-software management-guide-es-es
Fedora 14-software management-guide-es-esFedora 14-software management-guide-es-es
Fedora 14-software management-guide-es-esdionisio
 
Cómo montar un servidor doméstico con OpenBSD
Cómo montar un servidor doméstico con OpenBSDCómo montar un servidor doméstico con OpenBSD
Cómo montar un servidor doméstico con OpenBSDJoan Català
 
Bash
BashBash
Bashjr480
 
Aprende Microsoft Windows 7. Eugenio Villar Fernández y Julio Gómez López
Aprende Microsoft Windows 7. Eugenio Villar Fernández y Julio Gómez LópezAprende Microsoft Windows 7. Eugenio Villar Fernández y Julio Gómez López
Aprende Microsoft Windows 7. Eugenio Villar Fernández y Julio Gómez LópezJCAlvarezC1
 
Manual dreamweaver cs5
Manual dreamweaver cs5Manual dreamweaver cs5
Manual dreamweaver cs5Equipo 3
 
Manual dreamweaver cs5_spanish
Manual dreamweaver cs5_spanishManual dreamweaver cs5_spanish
Manual dreamweaver cs5_spanishDiego Salazar
 
Manual dreamweavercs5
Manual dreamweavercs5Manual dreamweavercs5
Manual dreamweavercs5koki caba
 
Epo 400 installguide_es-es
Epo 400 installguide_es-esEpo 400 installguide_es-es
Epo 400 installguide_es-esPablo
 

Similar a Servidores Linux: Guía de seguridad trimestral (20)

Sg t1 practica_copia_seguridadlinux
Sg t1 practica_copia_seguridadlinuxSg t1 practica_copia_seguridadlinux
Sg t1 practica_copia_seguridadlinux
 
Guía de instalación de Debian GNU/Linux
Guía de instalación de Debian GNU/LinuxGuía de instalación de Debian GNU/Linux
Guía de instalación de Debian GNU/Linux
 
Granja de renderizacion
Granja de renderizacionGranja de renderizacion
Granja de renderizacion
 
Manual de configuracion de redes
Manual de configuracion de redesManual de configuracion de redes
Manual de configuracion de redes
 
Solaris - Guia del Usuario Avanzado 1994s.pdf
Solaris - Guia del Usuario Avanzado 1994s.pdfSolaris - Guia del Usuario Avanzado 1994s.pdf
Solaris - Guia del Usuario Avanzado 1994s.pdf
 
Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1
 
Aso t1 practicas_ad
Aso t1 practicas_adAso t1 practicas_ad
Aso t1 practicas_ad
 
Fedora 14-software management-guide-es-es
Fedora 14-software management-guide-es-esFedora 14-software management-guide-es-es
Fedora 14-software management-guide-es-es
 
Proyecto 5
Proyecto 5Proyecto 5
Proyecto 5
 
Comandos cisco
Comandos ciscoComandos cisco
Comandos cisco
 
Cómo montar un servidor doméstico con OpenBSD
Cómo montar un servidor doméstico con OpenBSDCómo montar un servidor doméstico con OpenBSD
Cómo montar un servidor doméstico con OpenBSD
 
Bash
BashBash
Bash
 
(Ebook) macromedia flash 8 tutorial (es)
(Ebook) macromedia flash 8 tutorial (es)(Ebook) macromedia flash 8 tutorial (es)
(Ebook) macromedia flash 8 tutorial (es)
 
Aprende Microsoft Windows 7. Eugenio Villar Fernández y Julio Gómez López
Aprende Microsoft Windows 7. Eugenio Villar Fernández y Julio Gómez LópezAprende Microsoft Windows 7. Eugenio Villar Fernández y Julio Gómez López
Aprende Microsoft Windows 7. Eugenio Villar Fernández y Julio Gómez López
 
Manual dreamweaver cs5
Manual dreamweaver cs5Manual dreamweaver cs5
Manual dreamweaver cs5
 
Manual dreamweaver cs5_spanish
Manual dreamweaver cs5_spanishManual dreamweaver cs5_spanish
Manual dreamweaver cs5_spanish
 
Manual dreamweavercs5
Manual dreamweavercs5Manual dreamweavercs5
Manual dreamweavercs5
 
Dream cs4
Dream cs4Dream cs4
Dream cs4
 
Epo 400 installguide_es-es
Epo 400 installguide_es-esEpo 400 installguide_es-es
Epo 400 installguide_es-es
 
Apache Eng
Apache EngApache Eng
Apache Eng
 

Más de garciadebora

Aso t2 practica_crontab
Aso t2 practica_crontabAso t2 practica_crontab
Aso t2 practica_crontabgarciadebora
 
Red t4 practica_ftp2
Red t4 practica_ftp2Red t4 practica_ftp2
Red t4 practica_ftp2garciadebora
 
Sg t3 practica_vpn-ssh
Sg t3 practica_vpn-sshSg t3 practica_vpn-ssh
Sg t3 practica_vpn-sshgarciadebora
 
Red t4 practica_ftp1
Red t4 practica_ftp1Red t4 practica_ftp1
Red t4 practica_ftp1garciadebora
 
Seg t2 practicas_certificado ssl
Seg t2 practicas_certificado sslSeg t2 practicas_certificado ssl
Seg t2 practicas_certificado sslgarciadebora
 
Red t3 practicas_iss
Red t3 practicas_issRed t3 practicas_iss
Red t3 practicas_issgarciadebora
 
Red t3_practica_autenticacion_apache
Red t3_practica_autenticacion_apacheRed t3_practica_autenticacion_apache
Red t3_practica_autenticacion_apachegarciadebora
 
Sg t2 practicas_tripwire
Sg t2 practicas_tripwireSg t2 practicas_tripwire
Sg t2 practicas_tripwiregarciadebora
 
Sg t2 practicas_snort
Sg t2 practicas_snortSg t2 practicas_snort
Sg t2 practicas_snortgarciadebora
 
Sg t2 practicas_eliminar_malware
Sg t2 practicas_eliminar_malwareSg t2 practicas_eliminar_malware
Sg t2 practicas_eliminar_malwaregarciadebora
 
Sg t1 practica-copia_seguridadwindows2003
Sg t1 practica-copia_seguridadwindows2003Sg t1 practica-copia_seguridadwindows2003
Sg t1 practica-copia_seguridadwindows2003garciadebora
 
Sg t1 practica_e_criptfs
Sg t1 practica_e_criptfsSg t1 practica_e_criptfs
Sg t1 practica_e_criptfsgarciadebora
 
Sg t1 practica_analisis_forense-2
Sg t1 practica_analisis_forense-2Sg t1 practica_analisis_forense-2
Sg t1 practica_analisis_forense-2garciadebora
 
Red t3 practica2_apacheopenldap
Red t3 practica2_apacheopenldapRed t3 practica2_apacheopenldap
Red t3 practica2_apacheopenldapgarciadebora
 
Red t3 practica1_apachecms
Red t3 practica1_apachecmsRed t3 practica1_apachecms
Red t3 practica1_apachecmsgarciadebora
 
Red t1 practicas_dns
Red t1 practicas_dnsRed t1 practicas_dns
Red t1 practicas_dnsgarciadebora
 
Red t1_practica_dns2
Red  t1_practica_dns2Red  t1_practica_dns2
Red t1_practica_dns2garciadebora
 

Más de garciadebora (20)

Aso t2 practica_crontab
Aso t2 practica_crontabAso t2 practica_crontab
Aso t2 practica_crontab
 
Red t4 practica_ftp2
Red t4 practica_ftp2Red t4 practica_ftp2
Red t4 practica_ftp2
 
Sg t3 practica_vpn-ssh
Sg t3 practica_vpn-sshSg t3 practica_vpn-ssh
Sg t3 practica_vpn-ssh
 
Red t4 practica_ftp1
Red t4 practica_ftp1Red t4 practica_ftp1
Red t4 practica_ftp1
 
Seg t2 practicas_certificado ssl
Seg t2 practicas_certificado sslSeg t2 practicas_certificado ssl
Seg t2 practicas_certificado ssl
 
Red t3 practicas_iss
Red t3 practicas_issRed t3 practicas_iss
Red t3 practicas_iss
 
Red t3_practica_autenticacion_apache
Red t3_practica_autenticacion_apacheRed t3_practica_autenticacion_apache
Red t3_practica_autenticacion_apache
 
Pecha kucha
Pecha kuchaPecha kucha
Pecha kucha
 
Sg t2 practicas_tripwire
Sg t2 practicas_tripwireSg t2 practicas_tripwire
Sg t2 practicas_tripwire
 
Sg t2 practicas_snort
Sg t2 practicas_snortSg t2 practicas_snort
Sg t2 practicas_snort
 
Sg t2 practicas_eliminar_malware
Sg t2 practicas_eliminar_malwareSg t2 practicas_eliminar_malware
Sg t2 practicas_eliminar_malware
 
Sg t1 practica-copia_seguridadwindows2003
Sg t1 practica-copia_seguridadwindows2003Sg t1 practica-copia_seguridadwindows2003
Sg t1 practica-copia_seguridadwindows2003
 
Sg t1 practica_e_criptfs
Sg t1 practica_e_criptfsSg t1 practica_e_criptfs
Sg t1 practica_e_criptfs
 
Sg t1 practica_analisis_forense-2
Sg t1 practica_analisis_forense-2Sg t1 practica_analisis_forense-2
Sg t1 practica_analisis_forense-2
 
Red t3 practica2_apacheopenldap
Red t3 practica2_apacheopenldapRed t3 practica2_apacheopenldap
Red t3 practica2_apacheopenldap
 
Red t3 practica1_apachecms
Red t3 practica1_apachecmsRed t3 practica1_apachecms
Red t3 practica1_apachecms
 
Red t2 dhcp
Red t2 dhcpRed t2 dhcp
Red t2 dhcp
 
Red t1 practicas_dns
Red t1 practicas_dnsRed t1 practicas_dns
Red t1 practicas_dns
 
Red t1_practica_dns2
Red  t1_practica_dns2Red  t1_practica_dns2
Red t1_practica_dns2
 
Bd practica1.11
Bd practica1.11Bd practica1.11
Bd practica1.11
 

Servidores Linux: Guía de seguridad trimestral

  • 1. PRACTICAS SEGURIDAD SERVIDORES LINUX SEGURIDAD TRIMESTRE-1 2º A.S.I.R Débora García García
  • 2. SEGURIDAD TRIMESTRE-1 Débora García García ÍNDICE Probar el comando chage y ver cómo se modifica el fichero shadow. .............................................. 3 Modificar los parámetros de contraseña de login.defs y ver cómo afechcta a la creación de nuevos usuarios. .......................................................................................................................................... 4 3.- Modificar el fichero securetty para impedir el acceso de root a los ttys (pruébalo intentando entrar en la consola como root). ...................................................................................................... 5 4.- Modificar el fichero de configuración de ssh para impedir el acceso de root por ssh. .................. 6 5.- Crea un grupo wheel si no existe y modifica el fichero PAM para el servicio su, de forma que sólo los usuarios pertenecientes a ese grupo puedan hacer su........................................................... 6 6.- Modificar el fichero PAM adecuado para hacer que los usuarios listados en un fichero sólo puedan acceder a través de xdm (no deben poder acceder en la consola ni mediante ssh)................. 7 7.- Probar el comando usermod para hacer que la cuenta de un usuario expire en 30 das desde hoy. 8 8.- 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))............................................................................................................... 10 9.- Instalar el paquete sudo y ver las páginas de manual de sudo y sudoers .................................... 11 10.- 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 ............................................................ 11 11.- Probar a ejecutar los comandos con esos usuarios y examinar los logs generados ................... 12 12.- En el servidor, instalar el paquete tcpd, si no está ya instalado. ............................................... 12 13.- Examinar las páginas de manual de tcpd y hosts Access. ........................................................ 12 14.- 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
  • 3. 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 ............................................................................ 14 15.- Examina los ficheros de configuración de PAM en el sistema real. ......................................... 14 16.- 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. .................... 14 17.- Instalar el paquete acl , ver las páginas de manual de setfac y getfacl ..................................... 15 18.- Remontar la partición /home con soporte ACL ....................................................................... 15 19.- Crear varios cheros y probar diferentes permisos por medio de las ACLs ............................... 15 20.- Definir permisos por defecto para un directorio y ver como se propagan los permisos a los ficheros creados en ese directorio .................................................................................................. 16 21.- 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 ............................................ 17 22.- 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
  • 4. SEGURIDAD TRIMESTRE-1 Débora García García Probar el comando chage y ver cómo se modifica el fichero shadow. Chage debora -l Archivo: /etc/shadow Se han modificado el número de días con: chage –M 5 debora 3
  • 5. SEGURIDAD TRIMESTRE-1 Débora García García Modificar los parámetros de contraseña de login.defs y ver cómo afecta a la creación de nuevos usuarios. Vemos como está por defecto. Modificación: /etc/logins.defs Estos son los parámetros por defecto. 4
  • 6. SEGURIDAD TRIMESTRE-1 Débora García García Esta es la modificación. Comprobamos con: chage –l usuario Modificar el fichero securetty para impedir el acceso de root a los ttys (pruébalo intentando entrar en la consola como root). Editar archivo: /etc/securetty Añadimos la siguiente línea Comprobamos: sudo login root 5
  • 7. SEGURIDAD TRIMESTRE-1 Débora García García Modificar el fichero de configuración de ssh para impedir el acceso de root por ssh. Modificar el archivo: /etc/ssh/sshd_config Fijar el parámetro PermitRootLogin no Añadir al archivo: /etc/securetty Comprobamos: Crea un grupo wheel si no existe y modifica el fichero PAM para el servicio su, de forma que sólo los usuarios pertenecientes a ese grupo puedan hacer su. Crear el grupo Wheel: addgroup Wheel Crear un usuario para Wheel: adduser usu Añadir el usuario al grupo: usermod –G Wheel usu Abrir el archivo /etc/pam.d/su y descomentar la línea: 6
  • 8. SEGURIDAD TRIMESTRE-1 Débora García García Modificar el fichero PAM adecuado para hacer que los usuarios listados en un fichero sólo puedan acceder a través de xdm (no deben poder acceder en 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/login Añadimos: auth required pam listfile.so ítem=user sense=deny file=/etc/bloqueados onerr=succeed Al logearnos, no nos lo permite. 7
  • 9. SEGURIDAD TRIMESTRE-1 Débora García García Probar el comando usermod para hacer que la cuenta de un usuario expire en 30 das desde hoy. Hay que ejecutar el comando en el terminal para que la cuenta de “usu” expire en el tiempo 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 por uno restringido. Crear cuenta de usuario: adduser normal Modificar: /etc/password El usuario normal está restringido (b) Borrar en el home del usuario todos los cheros (incluidos los .bashrc, .bash prole, etc.) Ver ficheros: ls –a /home/normal 8
  • 10. SEGURIDAD TRIMESTRE-1 Débora García García Borrar 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_profile Permisos: chmod 444 /home/normal/.bash_profile (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). 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) 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). Crear directorio: mkdir /home/normal/bin Permisos: chmod 755 /home/normal/bin Enlaces simbólicos: ln –s Borrar enlaces simbólicos: unlink enlace 9
  • 11. SEGURIDAD TRIMESTRE-1 Débora García García (f) En él .bash_profile crear la variable PATH para que acceda a ese directorio bin Crear variable: PATH=$PATH:/home/normal/bin/ (g) Crea dentro del home un directorio de trabajo work, propiedad del usuario con permisos rwx para el mismo. Crear directorio: mkdir work Permisos: chmod 755 work Propiedad: chown normal work (h) En el .bash_profile haz que el usuario al entrar se redirija a ese directorio work (cd /home/invitado/work)) Añadir al archivo: /home/normal/.bash_profile  cd /home/normal/work 10
  • 12. SEGURIDAD TRIMESTRE-1 Débora García García Sudo login normal Instalar el paquete sudo y ver las páginas de manual de sudo y sudoers Instalar apt-get install sudo Para ver el manual de los comando utilizamos la orden man sudo y man sudoers Crear un fichero de configuración con las siguientes características (a) los usuarios del grupo wheel deben poder apagar y reiniciar la maquina usando su contraseña ALL, !SERVERS=NOPASSWD: SHUTDOWN (b) un par de usuarios concretos deben poder configurar la red CLIENTS=ip_cliente/mascara_red (c) debéis utilizar alias para comandos y usuarios Users_Alias AYUDANTES=pepe,juan Cmnd_Alias SHUTDOWN=/sbin/shutdown –h now ,/sbin/halt Cmnd_Alias USERS=/usr/sbin/adduser,/, /usr/sbin/deluser (d) los logs de sudo deben ir a un chero de log concreto Defaults logfile=/var/log/sudolog 11
  • 13. SEGURIDAD TRIMESTRE-1 Débora García García Probar a ejecutar los comandos con esos usuarios y examinar los logs generados En el servidor, instalar el paquete tcpd, si no está ya instalado. Apt-get install tcpd Examinar 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 el tiene sobre los clientes (intentar conectarse por ssh, o autenticarse como usuario LDAP). Descomentar ALL: PARANOID Si 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 los siguientes servicios y comprobar que funcionan: SSH (demonio sshd) LDAP (demonio slapd) NFS (demonios portmap, nfsd y mountd) 12
  • 14. SEGURIDAD TRIMESTRE-1 Débora García García Comprobación: 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
  • 15. SEGURIDAD TRIMESTRE-1 Débora García García En el fichero /etc/banners debe de haber un fichero in.ftpd el cual incluirá un mensaje que podrá visualizar el cliente. d) probar los comandos tcpdchk y tcpdmatch tcpdchk: chequea la configuración de hosts.allow y hosts.deny Tdpdmatch: 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 al servidor esté prohibido para todos los usuarios excepto root los fines de semana y fuera de horas de trabajo. Editar: /etc/security/time.conf, añadir ssh;*;root;wk1500-2000 (servicio, usuario, fin de semana, de las 15h a las 20h). 14
  • 16. SEGURIDAD TRIMESTRE-1 Débora García García Instalar el paquete acl , ver las páginas de manual de setfac y getfacl Apt-get install acl Man setfac Man getfacl Remontar la partición /home con soporte ACL Mount –o remount,acl / Crear varios ficheros y probar diferentes permisos por medio de las ACLs Lectura y escritura al usuario “usu”: setfacl –m user:usu:rw prueba1.txt Lectura al grupo “Wheel”: setfacl –m group:Wheel:r prueba2.txt 15
  • 17. SEGURIDAD TRIMESTRE-1 Débora García García Setfacl –m mask::r –x prueba3.txt Getfacl –omit-header prueba3.txt Definir permisos por defecto para un directorio y ver como se propagan los permisos a los ficheros creados en ese directorio Se crea el directorio acls y los archivos Cambiamos los permisos del directorio chmod 700 acls Setfacl –d –m g:users:rw acls Cd acls Touch acl1 Getfacl acl1 16
  • 18. SEGURIDAD TRIMESTRE-1 Débora García García Ejecuta 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 al directorio 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 chrootuid Instala Apache2 chroot usando makejail (a) Instala los paquetes apache2 y makejail Apt-get install apache2 Apt-get install makejail 17
  • 19. 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 paquetes apropiados (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 el apache en chroot 18