Servicios de Red - Don Bosco · sistema operativo. Debe contar con una clave de acceso personal y...
Transcript of Servicios de Red - Don Bosco · sistema operativo. Debe contar con una clave de acceso personal y...
Servicios de Red
Número de práctica: No.2
Nombre de la práctica: Instalación de Ubuntu
Desktop, creación de usuarios grupos y permisos.
Actualizado por: Douglas Flores en IIIE
Lugar: Laboratorio de Redes 3.21A
Tiempo estimado: 2 h 30 min
I. Descripción de la práctica.
En la siguiente práctica se llevará acabo la creación de la Máquina Virtual (MV), la cual servirá
como Cliente de red, en esta máquina se instalará el Sistema Operativo Ubuntu Desktop en su
versión 18.04.
Objetivos de la práctica. Que el estudiante:
• Realice una
conexión segura
entre cliente y
servidor utilizando
SSH.
• Administre las
cuentas de usuarios
y grupos, en su
creación,
modificación de
atributos y
eliminación.
• Administre los
permisos de ficheros
y directorios.
Materiales y equipo. • Guía de laboratorio.
• Estación de trabajo
con software
VirtualBox.
• Imagen ISO del
Sistema Operativo
Ubuntu Desktop
18.04.
• Máquina Virtual con
Sistema Operativo
Ubuntu Server 18.04.
En dicha MV, a lo largo del ciclo se realizaran las fases de pruebas de los servicios de red, tales
como: DHCP, DNS, WEB, MAIL, entre otros. Dichos servicios serán configurados durante el
ciclo en el servidor, instalado en la práctica No.1 en una MV.
Una vez instalada la MV, se procederá a la
configuración de las interfaces de red pertenecientes
a la red interna, tanto en el cliente como en el
servidor.
Desde el cliente se realizara una conexión remota
hacia el servidor por medio de SSH.
Finalmente utilizando la conexión remota, desde el
cliente se procederá a la creación, modificación y
eliminación de usuarios y grupos, como también la
modificación de permisos de archivos en el servidor.
II. Introducción teórica.
Secure Shell SSH
SSH es un poderoso servicio basado en software para asegurar las conexiones de red por
medio de cifrado/descifrado automático en el origen y destino de las conexiones, con lo que se
logra sesiones transparentes para el usuario y robustamente aseguradas.
SSH se soporta en una arquitectura cliente/servidor, donde el programa conocido como
servidor es el responsable de aceptar o no las conexiones entrantes, por otro lado el cliente es
el responsable de iniciar la sesión hacia uno o más servidores; la arquitectura de SSH soporta
múltiples sesiones de forma simultánea y constituye el estándar actual para establecer
conexiones transparentes.
El protocolo sobre el que se soporta SSH cubre los servicios típicos de autenticación, cifrados
e integridad de las conexiones, lo que genera una robusta garantía de que las partes que se
comunican son genuinas y no hay riesgo de que los mensajes hayan sido modificados durante
el tránsito por la red.
Usuarios y Gupos
Un usuario Unix representa tanto a una persona (usuario real) como a una entidad que gestiona algún servicio o aplicación (usuario lógico
o ficticio). Todo usuario definido en el sistema se corresponde con un identificador único (UID) y con una cuenta, donde se almacenan sus
datos personales en una zona de disco reservada.
Un grupo es una construcción lógica con un nombre y un identificador (GID) únicos, usada para conjuntar varias cuentas en un propósito
común, compartiendo los mismos permisos de acceso en algunos recursos.
Cada cuenta debe estar incluida como mínimo en un grupo de usuarios, conocido como grupo primario o grupo principal.
Características generales de una cuenta
Las características que definen la cuenta de un usuario son:
Tiene un nombre y un identificador de usuario (UID) únicos en el sistema.
Pertenece a un grupo principal.
Puede pertenecer a otros grupos de usuarios.
Puede definirse una información asociada con la persona propietaria de la cuenta.
Tiene asociado un directorio personal para los datos del usuario.
El usuario utiliza en su conexión un determinado intérprete de mandatos, donde podrá ejecutar sus aplicaciones y las utilidades del
sistema operativo.
Debe contar con una clave de acceso personal y difícil de averiguar por parte de un impostor.
Tiene un perfil de entrada propio, donde se definen las características iniciales de su entorno de operación.
Puede tener una fecha de caducidad.
Pueden definirse cuotas de disco para cada sistema de archivos.
Es posible contar con un sistema de auditoria que registre las operaciones realizadas por el usuario.
Ficheros del sistema
Linux proporciona varios métodos para la definir los usuarios que pueden conectarse al sistema. Lo típico es definir localmente en cada
servidor las cuentas de los usuarios y grupos, aunque también pueden usarse métodos externos de autentificación, que permiten que varias
máquinas compartan las mismas definiciones para sus usuarios comunes. La siguiente tabla muestra los ficheros del sistema involucrados
en el proceso de definición de los usuarios locales.
Formato Descripción
/etc/passwd
Usuario : x : UID : GID : Descrip : Direct : Shell :
Fichero principal de descripción de usuarios locales. Sus campos son: 1. Nombre de usuario. 2. No usado (antiguamente, clavé).
3. Identificador de usuario (UID).
4. Identificador del grupo primario. 5. Descripción o nombre completo de la persona que representa dicho usuario. 6. Directorio personal. 7. Intérprete de mandatos.
/etc/shadow
Usuario : clave : F1: N1 : N2 : N3 : N4 : Caduc : …
Fichero oculto que incluye la codificación y las restricciones de las claves de acceso a las cuentas. Sus campos son: 1. Nombre de usuario. 2. Clave codificada.
3. Fecha del último cambio de clave.
4. Días hasta que la clave pueda ser cambiada.
5. Días para pedir otro cambio de clave. 6. Días para avisar del cambio de la clave. 7. Días para deshabilitar la cuenta tras su caducidad.
8. Fecha de caducidad.
9. Reservado (normalmente ignorado). Nota: Las fechas se expresan como el nº de días desde el
1/1/1970.
/etc/group
Grupo : x : GID : Usuarios
Contiene la definición de los grupos de usuarios. Sus
campos son: 1. Nombre del grupo. 2. No usado (antiguamente, clave del grupo).
3. Identificador del grupo (GID).
4. Lista de miembros (separada por comas).
/etc/gshadow
Grupo : Clave : Admins : Usuario
Fichero oculto y opcional que contiene las claves de grupos privados. Sus campos son: 1. Nombre del grupo. 2. Clave codificada (opcional).
3. Lista de usuarios administradores.
4. Lista de usuarios normales.
Permisos de ficheros y directorios
Tabla 1.
Uno de los elementos principales de la seguridad en Linux es el buen uso de los permisos para acceder a ficheros y directorios.
Todo usuario –no sólo el administrador- debe tener claros los conceptos más básicos para evitar que otro usuario lea, modifique
o incluso borre datos de interés.
El usuario administrador –al tener el control completo del sistema- también puede realizar operaciones sobre los ficheros y
directorios de cualquier usuario (técnica que puede ser utilizada para evitar que un usuario pueda acceder a su propio directorio
personal).
Este hecho hace imprescindible que los responsables de la máquina tengan especial cuidado cuando utilicen la cuenta del
usuario root. Los permisos de acceso se dividen principalmente en dos categorías:
• Permisos normales,
• Permisos especiales. Por otro lado, los permisos también se subdividen en tres grupos:
• Permisos para el propietario,
• Permisos para su grupo de usuarios,
• Permisos para el resto de usuarios del sistema,
Las listas de control de acceso (ACL) permiten asignar permisos de forma específica a conjuntos de usuarios y grupos.
Los permisos normales son los siguientes:
Ficheros:
Lectura (r): el usuario puede leer el fichero.
Escritura (w): el usuario puede escribir en el fichero.
Ejecución (x): el usuario puede ejecutar el fichero (siempre que sea un ejecutable o un
guión de intérprete de comandos).
Directorios:
Lectura ®: el usuario puede leer el contenido del directorio.
Escritura (w): el usuario puede crear, modificar y borrar entradas del directorio.
Acceso (x): el usuario puede acceder al directorio y puede usarlo como directorio actual
(ejecutando la orden cd). Este permiso posibilita proteger cierta información de un
directorio padre y, sin embargo, acceder a la información de los directorios hijos.
Tabla 2.
III. Desarrollo de la práctica.
PARTE I – INSTALACIÓN DE UBUNTU DESKTOP
1. Cree una nueva máquina virtual utilizando VirtualBox con los siguientes pasos. En dicha maquina se instalara Ubuntu
Desktop, la cual se utilizara como Cliente.
2. En la ventana de Nombre y sistema operativo escriba lo
siguiente:
Nombre: Ubuntu Cliente_SuCarnet.
Tipo: Linux.
Versión: Ubuntu (64 bit).
3. Se procederá a asignar el tamaño de memoria RAM para la
MV, el valor recomendado para esta es de 2048 MB.
4. En las siguientes tres ventanas, se deberá de seleccionar el tipo
de disco duro (HDD) que se quiera administrar bajo la
máquina virtual. En la primera ventana seleccione Crear un
disco duro virtual ahora. En la segunda ventana deberá de
seleccionar el tipo VDI (VirtualBox Disk Image). En la tercera
ventana se seleccionara la opción Reservado dinámicamente.
5. Se seleccionará como tamaño máximo del disco duro Virtual 30Gb.
6. Proceda a dar clic derecho sobre la MV recién creada y elija la opción
Configuración. En la ventana de configuración dar clic en la opción
Almacenamiento e insertar la imagen del CD a utilizar durante la
instalación del Sistema “Ubuntu Desktop”.
7. Sin salir de la ventana de configuración, diríjase a “Red” y en la opción de “Adaptador 1” asegúrese de:
Habilitar adaptador de red: este activo.
Conectar a: Adaptador puente.
Nombre: eno1
8. Encienda la máquina virtual.
9. En la ventana de bienvenida se escogerá el idioma de instalación de Ubuntu. Seleccione el idioma español o inglés, presione luego “Instalar Ubuntu” para inicializar el proceso de instalación del sistema operativo.
10. El asistente preguntara por el tipo de teclado que se
dispone. Al seleccionar el lenguaje español, Ubuntu
ha considerado también que el teclado es el español
por lo que, inteligentemente, mostrara esta
distribución como la elegida. En nuestro caso se
deberá elegir español latinoamericano. Se comprobar
si se ajusta correctamente escribiendo algunas
palabras en el recuadro de texto de la ventana.
Presione Continuar.
11. En la venta de actualizaciones, seleccione instalación
normal.
12. En la ventana de tipos de instalación, seleccione
Borrar disco e instalar Ubuntu, con esta opción
Ubuntu ocupará todo el disco y escribirá todos los
datos necesarios en una única partición, como también
se creara automáticamente una partición especial para
el área de intercambio (SWAP). Luego presione
Instalar ahora.
13. Aparecerá una ventana, donde nos mostrara la información de
cómo quedara la tabla de particiones del disco duro, se debe
observar una partición para el sistema (#1 como ext4, presione
Continuar.
14. Elija la ubicación geográfica en El Salvador dando un clic en la
ubicación del mapa o escribiendo El Salvador en la barra de
texto. Presione Continuar.
15. Ahora Ubuntu presenta un sencillo formulario en el que se
escribirán algunos datos. Llene los campos según la imagen.
En esta ventana se destaca la creación del usuario de sistema
con nombre “suCarnet” y contraseña 123456, no olvidar
estas credenciales para futuras prácticas. Presione Continuar
para empezar la instalación, espere unos minutos hasta
que finalice el proceso.
16. Finalizada la instalación, aparecerá una ventana confirmando
el proceso finalizado. Presione Reiniciar ahora.
17. Luego del reinicio de la máquina, se solicitara las
credenciales del usuario “suCarnet”, ingrese la
contraseña 123456 para iniciar sesión.
18. Cargue la interfaz gráfica y abra una consola de comandos,
y utilice el comando “apt-get update” (sudo –i).
PARTE II – ADMINISTRACIÓN REMOTA DEL SERVIDOR VÍA SSH
19. Con la MV cliente creada en la parte anterior, se establecerá una conexión segura hacia el servidor utilizando SSH. El objetivo es
demostrar que un administrador de redes puede configurar un servidor desde una computadora que puede estar geográficamente
distante a la ubicación del servidor. Debido a la importancia de los datos que se suelen mover en este tipo de máquinas, es
fundamental contar con algún protocolo de conexión que nos garantice total seguridad a la hora de comunicarnos con el servidor,
esta seguridad nos la proporciona el protocolo SSH (Secure Shell), probablemente el sistema más utilizado actualmente para
comunicarse entre equipos con sistema operativo Linux.
20. Inicie la MV de Ubuntu Server creada en la práctica No.1 y cerciórese de que su computadora esté conectada a un punto de red.
21. Abra una terminal en la MV Ubuntu_Cliente presionando en el teclado ctrl + alt + T (utilice ctrl izquierdo), luego utilice el comando
sudo –i para poder tener derechos de super usuario e instale la herramienta de redes “apt-get install net-tools”; y reinicie el servicio de red con los
comandos ifconfig enp0s3 down e ifconfig enp0s3 up.
22. Verifique el direccionamiento IP obtenido por DHCP tanto en la MV cliente como en la MV servidor con el comando:
ifconfig enp0s3. A modo de ejemplo se muestran a continuación las IPs obtenidas, en su caso apunte sus IPs obtenidas.
MV Ubuntu Cliente con IP 10.0.12.205 MV Ubuntu Server con IP 10.0.12.210
23. Ahora, realice una prueba de conexión de red desde la MV cliente con el comando ping apuntando a la dirección IP del servidor
(recuerde utilizar la IP que usted obtuvo en su servidor) ping –c 5 10.0.12.210
La prueba deberá ser exitosa, se envían 5 paquetes y deberán ser recibidos la misma cantidad. Se demuestra que existe conectividad entre Cliente y Servidor.
24. Se procederá a realizar la conexión segura, vía SSH para la administración remota del servidor. Desde el cliente, utilice la siguiente
sintaxis:
ssh –p #puerto usuario@host
Donde
#Puerto: Puerto de escucha de la maquina remota, por defecto es el puerto 22. El puerto de escucha puede ser cambiado
por seguridad, dicho cambio lo deberá de abordar en las siguientes materias, relacionas en seguridad de redes.
Usuario: Usuario remoto activo en el servidor, en su caso “sucarnet”, recordando reemplazarlo por su código de carnet.
Host: Dirección ip de maquina remota (ip de ejemplo del servidor 10.0.12.210). También este campo puede ser un
dominó o un hostname interno.
Escribir en la terminal del cliente:
ssh –p 22 sucarnet@ipDelServidor
En el proceso de establecimiento de conexión, se generaran automáticamente las llaves de seguridad y nos preguntara si estamos
seguros en la autenticidad del host, el cual responderemos con yes. Luego se solicitara la contraseña del usuario remoto
(“sucarnet”), la cual es 123456. Si la conexión es exitosa, deberá de ver el cambio del promt: sucarnet@UbuntuServer:~$
25. Cámbiese a súper usuario con sudo –i para tener derechos de administración en el servidor por medio de acceso remoto.
PARTE III – USUARIOS Y GRUPOS
Haciendo uso de la conexión remota, desde el cliente realice las configuraciones siguientes al servidor.
Verificación de Archivos.
26. Visualice los archivos passwd y group para verificar que usuarios y que grupos están creados por defecto en Linux: /etc/passwd
(para usuarios) y /etc/shadow (para los grupos).
27. Ingrese al fichero passwd: root@UbuntuServer:~# vim /etc/passwd
En este fichero se encuentran los usuarios del sistema, destacando: el usuario root, los usuarios especiales y el usuario creado
sucarnet. Observe los campos del usuario sucarnet donde se pueden obtener sus parámetros según tabla 1 de la introducción
teórica: UID = 1000, GID = 1000, Directorio personal= /home/sucarnet, Interprete de comandos= /bin/bash.
28. Ahora ingrese al archivo shadow: root@UbuntuServer:~# vim /etc/shadow
En este fichero puede observar las contraseñas encriptadas y los tiempos de administración de la misma. Salga del fichero.
29. Finalmente ingrese al archivo group: root@UbuntuServer:~# vim /etc/group
En este fichero puede observar los grupos del sistema. Visualice los grupos en que pertenece el usuario sucarnet, también notara
que existe un grupo con el nombre del usuario sucarnet, debido a que cuando se crea un usuario también se crea un grupo con el
mismo nombre. Salga del fichero.
Creación de usuarios.
30. Para la creación de usuarios normales, usaremos la siguiente sintaxis:
adduser "usuario" (se solicitara una contraseña e información adicional de la cuenta, como el nombre completo del
usuario, su número telefónico, etc. La información adiciona se puede dejar en blanco)
passwd "usuario" (Podrá ser utilizado si se requiere en cualquier momento cambiar la contraseña).
31. Cree un usuario normal con su primer nombre y contraseña udbspl:
# adduser primer_nombre
32. Cree un segundo usuario con su segundo nombre y contraseña UDBSPL
33. Verifique en el fichero passwd la existencia de los dos nuevos usuarios.
34. Ademas, verifique las carpetas personales de los usuarios en la ubicación home con la siguiente línea de comando:
# ls /home
35. Es importante también usar el comando man con el comando para observar que otras opciones podemos ingresar por ejemplo:
# man adduser y nos desplegara un manual donde podamos aplicar más parámetros adicionales.
Eliminación de usuarios.
36. Elimine el primer usuario creado con la siguiente sintaxis: userdel –r primer_nombre
37. Verifique la eliminación del usuario en el fichero passwd.
38. Utilice el comando man (# man userdel) para ver la funcion de la opción –r
39. Verifique nuevamente las carpetas personales de los usuarios en la ubicación home (# ls /home)
40. Elimine de la misma manera el segundo usuario creado.
Creación de grupos.
41. Para crear un grupo en Linux se utilizara la siguiente sintaxis.
#groupadd nombre_del_grupo
42. Cree dos grupos, uno llamado soporte y otro Admin_SPL
#groupadd soporte
#groupadd Admin_server
43. Verifique en el fichero group la existencia de los dos nuevos grupos.
# vim /etc/group
Como podrá observar se han creado ambos grupos, pero estos aún no tiene usuarios asociados.
Eliminación de grupos.
44. Para eliminar un grupo en Linux se utilizara la siguiente sintaxis.
#groupdel nombre_del_grupo
45. Elimine el grupo de soporte
#groupdel soporte
46. Verifique la eliminación del grupo soporte en el fichero group.
47. Ayúdese del comando man (#man groupdel) para que pueda leer que otras opciones puede complementar con este comando:
Agregar/Remover usuarios a grupos.
48. Para agregar un usuario a un grupo en Linux se utilizara la siguiente sintaxis.
#gpasswd -a nombre_del_usuario nombre_del_grupo
49. Cree un grupo nuevo con nombre Soporte_TI
#groupadd Soporte_T
50. Cree tres usuarios con nombres prueba1, prueba2 y prueba3 cuyas contraseñas serán los mimos nombres en mayúsculas.
51. Se agregara el usuario prueba1 al grupo Soporte_TI de la siguiente manera:
#gpasswd -a prueba1 Soporte_TI
52. Verifique que el usuario prueba1 fue agregado en el grupo Soporte_TI en el fichero group.
53. Ahora agregue el usuario prueba2 al grupo Admin_SPL y agregue el usuario prueba3 a los grupos Soporte_TI y Admin_server, verificando el fichero group, se debe obtener el siguiente resultado:
54. Para remover un usuario a un grupo en Linux se utilizara la siguiente sintaxis.
#gpasswd -d nombre_del_usuario nombre_del_grupo
55. Remueva el usuario prueba3 en el grupo Admin_SPL
# gpasswd -d prueba3 Admin_SPL
56. Compruebe la acción anterior, verificándolo en el fichero group.
PARTE IV – PERMISOS
57. Cree una carpeta en /root/permisos
# mkdir /root/permisos
58. Cree un archivo vacío con el nombre de contactos en /root/permisos/contactos
# touch /root/permisos/contactos
59. Verificar con ls –all y observe los permisos de super usuario, grupos y otros.
# ls –all /root/permisos/contactos
60. Asignar todos los permisos al archivo de la siguente manera:
# chmod 777 /root/permisos/contactos
61. Digite ls –all nuevamente y observe los permisos de super usuario, grupos y otros.
# ls –all /root/permisos/contactos
62. Asigne permisos de lectura, escritura y ejecución para los usuarios "otros" al archivo contactos
# chmod a=rwx /root/permisos/contactos63. Observe el resultado
# ls –all /root/permisos/contactos
64. Quite todos los permisos para los usuario del grupo y los usuarios otros al archivo.
#chmod go= /root/permisos/contactos
65. Observe el resultado # ls –all /root/permisos/contactos
66. De permisos únicamente de lectura a todos los tipos de usuario.
# chmod a=r /root/permisos/contactos
67. Observe el resultado # ls –all /root/permisos/contactos
Ejercicio Práctico
Como root proceda a crear una carpeta dentro de “/”, dentro de dicha carpeta cree un archivo de texto (Ej. Texto.txt), asigne
los permisos totales (rxw).
Agregue el usuario ejercicio al grupo de administración del root y asigne permisos sobre el mismo archivo de texto de
lectura y escritura para el usuario ejercicio, verifique que pueda abrir y modificar dicho archivo.
Cree un usuario ejercicio2 en un grupo de trabajo Redes y deniegue todos los permisos sobre el mismo archivo de texto
plano, verifique que dicho usuario no pueda realizar ninguna operación sobre el archivo.
68. Cierre la sesión SSH digitando
# exit (salida del usuario root)
# exit (salida de la sesión SSH con el servidor)
69. Cierre la terminal y apague la MV cliente.
70. Diríjase a la MV Servidor y elimine los grupos (Soporte_TI, Admin_SPL y Redes) y usuarios creados (prueba1, prueba2, prueba3, ejercicio1 y ejercicio2).
71. Apague la MV Servidor (poweroff)
72. Apague la computadora física.
IV. Anexo
ANEXO A: Configurar IPv4 en Ubuntu Desktop 18.04 LTS utilizando el administrador de redes gráfico.
1. Diríjase la parte superior derecha de la venta, de clic en el icono de 3 computadoras en triángulo y seleccione donde
dice “configuración de red cableada”.
2. Seleccione el icono del engrane. Al hacer clic carga una nueva venta con la pestaña detalles seleccionada, esta pestaña
indica la IP que tiene actualmente nuestra interfaz de red.
3. Seleccione la pestaña de IPv4
4. En método IPv4 seleccione DHCP para IP dinámica y Manual para IP estática, en caso de configuración manual
agregue la dirección de red (dirección IP, máscara de red y puerta de enlace) y DNS.
5. Haga clic en Aplicar
6. Reinicia la interfaz.