Manual de Prácticas TSO
Manual de Prácticas TSO
Manual de Prácticas TSO
ASIGNATURA:
TALLER DE SISTEMAS OPERATIVOS
NÚMERO DE PRÁCTICAS:
11
ELABORÓ:
M. EN C. C. ADRIANA REYES NAVA
FECHA DE EMISIÓN:
FEBRERO DE 2024
NÚMERO DE EDICIÓN:
SEGUNDA EDICIÓN
VIGENCIA:
6 MESES (MARZO - SEPTIEMBRE 2024)
1
CONTENIDO
Página
Reglamento de medidas de seguridad e higiene en el laboratorio de …………………………... 4
Práctica No. 1
Implementación de hilos…………………………….………………………………………………… 5
Práctica No. 2
Instalación de máquina virtual………......…………………………………………………………… 9
Práctica No. 3
Instalación de Sistema Operativo propietario para servidor ……………………………………… 12
Práctica No. 4
Uso de CMDLETS…………………….…………….………………………………………………… 15
Práctica No. 5
Creación de roles, características y configuración de servicios ………………………………… 18
Práctica No. 6
Medición de rendimiento y seguridad del sistema ………………………………………………… 21
Práctica No. 7
Instalación de sistema operativo de software libre para servidor ...……………………………… 24
Práctica No. 8
Instalación de Kali Linux ………………...…………………………………………………………… 27
Práctica No. 9
Manejo de directorios, sistema de archivos y configuración de swappiness …………………… 30
Práctica No. 10
Implementación NFS …………………………………………………………………………….…… 32
Práctica No. 11
Implementación de sockets ……………………….………………………………………………… 36
2
PRESENTACIÓN
El presente manual se desarrolla con el objetivo de que el alumno conozca, identifique, seleccione y
administre diferentes sistemas operativos con el fin de resolver problemáticas reales, así como aplicar
procedimientos de interoperabilidad entre diferentes sistemas operativos, aplicando procedimiento que
actualmente se encuentran vigentes para poder ser utilizados en un entorno real.
Así mismo aporta al perfil del egresado dado que el alumno será capaz de implementar, diseñar,
desarrollar y evaluar problemas aplicando sus conocimientos en sistemas operativos vigentes para la
administración de servidores y la interoperabilidad de los mismos, también contribuye al logro del
ejercicio profesional una vez que el alumno pueda aplicar este conocimiento en el área de sistemas
para la administración de equipos y servidores.
Este manual está diseñado para que el alumno en cada una de sus prácticas pueda consolidar un
conocimiento que ira aplicando en las siguientes prácticas, comenzando por los aspectos básicos hasta
los más avanzados, comenzando por la ejecución de procesos y su administración, después instalación
y configuración de máquinas virtuales para administrar servicios usuarios, permisos, privilegios y
administrar su seguridad para posteriormente llegar a la implementación de servicios de transferencia
de información e interoperabilidad del sistema.
3
REGLAMENTO Y MEDIDAS DE SEGURIDAD E HIGIENE
Para la elaboración de las prácticas de este manual no es necesario el uso de laboratorios, el alumno
realizará la práctica en su equipo de cómputo. La consideración antes de la práctica es conocer el
antecedente y comprender lo que se solicita, durante la práctica necesita seguir paso a paso las
actividades para poder llegar a buen término y al final de la práctica deberá entregar en correcto
funcionamiento lo solicitado para que pueda ser evaluado.
4
PRÁCTICA NO. 1
Competencia:
Material:
Equipo de cómputo.
Marco teórico:
Un hilo (en inglés “thread”) es la menor de las estructuras lógicas de programación que se ejecuta de
forma secuencial por parte del planificador del sistema operativo [1].
Los hilos son más ligeros que los procesos, dado que los recursos que es necesario reservar para
lanzar y ejecutar un proceso, dependen de varios subprocesos que son básicamente compartidos entre
distintos hilos dentro de un mismo proceso. En palabras simples un proceso desprende varios hilos que
trabajan en paralelo para realizar una determinada función.
Al momento de trabajar con múltiples hilos, es necesario coordinar las actividades de todos los hilos
que están trabajando, esto se logra mediante la sincronización. La razón más común para la
sincronización es cuando dos o más hilos necesitan acceso a un recurso compartido que solo puede
ser utilizado por un hilo a la vez, es decir, si un recurso no puede ser compartido por 2 hilos al mismo
tiempo la sincronización debe verificar como van a acceder al recurso y en qué momento.
Por ejemplo, cuando un hilo está escribiendo en un archivo, se debe evitar que un segundo hilo lo haga
al mismo tiempo. Otra razón para la sincronización es cuando un hilo está esperando un evento
causado por otro hilo. En este caso, debe haber algún medio por el cual el primer hilo se mantenga en
estado suspendido hasta que ocurra el evento. Entonces, el hilo de espera debe reanudar la ejecución.
5
Imagen 1 Diagrama de estados ampliado obtenido de [2]
Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos, cuando un estado está
activo se entiende que está realizando una acción y cuando esta inactivo se encuentra esperado a ser
llamado por el SO para poder colocarse en ejecución y hacer uso de los recursos de la computadora.
Desarrollo de la práctica:
La práctica por desarrollar se hace para comprender la sincronización de hilos mediante la simulación
de un programa donde se haga uso de N número de hilos que generen valores aleatorios y tengan
asignado un tiempo de inactividad, sincronizándose de manera que no se repita ningún valor.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
1. Hacer la creación de 3 hilos para generación de valores aleatorios en diferentes rangos. El hilo
1 deberá generar valores en un rango de 0 a 20, el hilo 2 en un rango de 50 a 100 y el hilo 3 en
un rango de 150 a 300.
2. Cada hilo deberá de tener un tiempo de inactividad tomado en cuenta el tiempo necesario para
generar un valor aleatorio y almacenarlo dentro de un arreglo, el tiempo de inactividad de cada
hilo deberá ser diferente.
3. Una vez que el tiempo de inactividad haya pasado deberá volver a ejecución y asignar
nuevamente tiempo de inactividad, este proceso se debe repetir 10 veces a cada uno de los
hilos.
4. Cuando hayan transcurrido las 10 ejecuciones de los 3 hilos se deberá mostrar: la suma del
tiempo total de inactividad que tuvo cada hilo durante la ejecución, así como los valores
generados por cada hilo en forma de un arreglo.
6
Hilo 1 activo, genera valor 2 y lo almacena en la posición 1
Hilo 1 inactivo
Hilo 2 activo, genera valor 53 y lo almacena en la posición 2
Hilo 2 inactivo
Hilo 3 activo, genera valor 204 y lo almacena en la posición 3
..
..
Hilo 1 cerrado
Hilo 2 cerrado
Hilo 3 cerrado
Arreglo
2, 53, 204 …….
DESARROLLO
1. Se importan las clases necesarias del paquete java.util para utilizar ArrayList, List y
Random.
Codigo:
3. Se declara un arreglo bidimensional llamado ranges, que define los rangos para generar
los valores aleatorios en cada hilo.
Código:
4. Se crea un arreglo de objetos Thread llamado threads para almacenar los hilos.
Codigo:
5. Se inicializa un arreglo de listas (ArrayList) llamado values que contendrá los valores
generados por cada hilo.
Codigo:
6. Se define un objeto Object llamado printMutex, que será utilizado para sincronizar la
impresión en la consola.
7
Codigo:
7. Se define una clase interna estática llamada GenerateValue, que implementa la interfaz
Runnable. Esta clase se utiliza para generar valores aleatorios en un rango específico y
almacenarlos en la lista correspondiente.
Codigo:
11. Se crean y ejecutan los hilos, pasando como argumentos el índice del hilo y los límites
del rango.
Codigo:
8
12. Se espera a que todos los hilos terminen su ejecución.
Codigo:
13. Se imprime un mensaje indicando que los hilos han terminado su ejecución.
Codigo:
RESULTADOS DE PROGRAMA:
9
Cuestionario:
1. ¿Qué es un hilo?
Un hilo, también conocido como "thread" en inglés, es la unidad más pequeña de procesamiento que
puede ser programada por un sistema operativo. Es una forma de ejecutar múltiples tareas
concurrentemente dentro de un mismo proceso. Los hilos comparten recursos como memoria y
archivos con otros hilos del mismo proceso, pero cada hilo tiene su propio contador de programa, pila
de ejecución y registros.
• Memoria compartida: Los procesos comparten datos a través de un área de memoria común.
• Comunicación mediante archivos: Los procesos pueden escribir y leer datos en archivos
compartidos.
• Paso de mensajes: Los procesos se comunican enviando mensajes a través de canales de
comunicación, como colas o tuberías.
• Sincronización de eventos: Los procesos pueden sincronizar su ejecución mediante eventos,
como semáforos, mutexes o monitores.
• Sincronización de métodos o bloques con la palabra clave synchronized en Java, que permite
que solo un hilo acceda a un recurso compartido a la vez.
• Semáforos, mutexes y monitores, que son herramientas de sincronización utilizadas para
coordinar el acceso a recursos compartidos entre múltiples hilos.
• Métodos wait() y notify() en Java, que permiten a los hilos esperar y ser notificados cuando se
cumple una determinada condición.
10
5. ¿Cuál es el ciclo de vida de un hilo?
Conclusiones:
El alumno aplicará conocimientos previamente adquiridos y podrá identificar plenamente como trabajan
múltiples hilos en la ejecución de una tarea en específico.
Cuando se trabaja con múltiples hilos en la ejecución de una tarea específica, se pueden obtener varias
conclusiones importantes:
Concurrencia: Los hilos permiten que múltiples partes de una tarea se ejecuten simultáneamente, lo
que puede mejorar significativamente el rendimiento y la eficiencia de un programa. Esto es
especialmente útil en situaciones donde hay procesos que pueden ejecutarse de manera
independiente.
División de tareas: Al dividir una tarea en múltiples hilos, cada hilo puede encargarse de una parte
específica de la tarea, lo que facilita la administración y el mantenimiento del código. Además, esto
puede conducir a una mejor utilización de los recursos disponibles, como la CPU y la memoria. Como
también la Comunicación y sincronización: Los hilos necesitan comunicarse y sincronizarse
adecuadamente para evitar problemas como condiciones de carrera y bloqueos. Es importante
implementar mecanismos de sincronización apropiados, como semáforos, mutexes o bloqueos, para
garantizar que los hilos compartan recursos de manera segura y coordinada también contamos con el
Manejo de recursos compartidos: Cuando múltiples hilos acceden y modifican recursos compartidos,
como variables o estructuras de datos, es fundamental garantizar que estos recursos se manejen de
manera segura y consistente. Esto implica implementar técnicas de sincronización para evitar
problemas de concurrencia, como la corrupción de datos.
Aplicaciones industriales:
En la industria manufacturera y de producción, se utilizan sistemas de control y automatización para
supervisar y controlar procesos, maquinaria y equipos. Los hilos pueden utilizarse para gestionar
múltiples tareas concurrentes, como el control de sensores, la adquisición de datos, la monitorización
del estado de la maquinaria y la ejecución de algoritmos de control en tiempo real. En aplicaciones de
11
visión artificial e inspección de calidad, los hilos pueden utilizarse para realizar operaciones de
procesamiento de imágenes de forma concurrente, como la detección de objetos, el reconocimiento de
patrones y la clasificación de imágenes. Esto permite un procesamiento rápido y eficiente de grandes
volúmenes de datos de imagen en tiempo real.
Sistemas de Monitoreo y Diagnóstico de Equipos: En entornos de mantenimiento predictivo y
diagnóstico de fallos, los hilos pueden utilizarse para recopilar datos de sensores y sistemas de
monitoreo en tiempo real, analizar el rendimiento de equipos y predecir posibles fallas. Esto permite
una detección temprana de problemas y una planificación proactiva de mantenimiento.
Citas y referencias:
[2] M. Buzón. "Cuáles son los estados de los procesos de nuestros equipos". Profesional Review.
https://www.profesionalreview.com/2020/06/25/cuales-son-los-estados-de-los-procesos-de-nuestros-
equipos/ (accedido el 22 de febrero de 2023).
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
12
PRÁCTICA NO. 2
Competencia:
Instalar una máquina virtual con un SO diferente al sistema de origen para hacer intercambio de
archivos mediante carpetas compartidas.
Material:
Equipo de cómputo.
Marco teórico:
Una máquina virtual de sistema es aquella que emula a un ordenador completo. En palabras simples,
es un software que puede hacerse pasar por otro dispositivo -como un PC- de tal modo que puedes
ejecutar otro sistema operativo en su interior. Tiene su propio disco duro, memoria, tarjeta gráfica y
demás componentes de hardware, aunque todos ellos son virtuales [1].
Cuando se realiza la emulación para el sistema operativo que se ejecuta dentro de la máquina virtual
todo ese proceso es completamente transparente e invisible, es decir, todo funciona igual a si se
estuviera ejecutando en un PC normal dado que hace uso de los recursos que le son otorgados por el
hipervisor replicando lo que está en la máquina física, sin que sepa que en verdad está metido dentro
de otro sistema operativo.
13
Para poder compartir archivos cada sistema operativo requiere de una configuración distinta para crear
estas carpetas compartidas en una red.
Uno de los requisitos a la hora de compartir archivos en cualquier sistema operativo es que los
ordenadores “se vean, es decir, que sean visibles para el resto de los ordenadores conectados a la
misma red. De lo contrario, difícilmente se podrá acceder a ellos, sin embargo, en muchas ocasiones
para lograr esto se deben hacer configuraciones adicionales cosa que no sucede con el SO huésped.
Desarrollo de la práctica:
Esta práctica se hace para comprender como funciona el intercambio de archivos entre diferentes
sistemas operativos como puede ser entre una distribución de Linux y un sistema de Windows, a través
del uso de máquinas virtuales utilizando software como Virtual Box o VMware para poder hospedar el
sistema virtual sobre el sistema físico.
El alumno deberá elegir un sistema operativo que desee probar y descargarlo desde su página oficial,
considerando que el sistema virtual debe ser diferente al SO base, por ejemplo, si el huésped tiene
Windows 11, el virtual no podrá contender un sistema Windows sin importar que sean versiones
diferentes.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
1. Instalar un hipervisor que sea capaz de trabajar con máquinas virtuales como es, VirtualBox o
VMware.
CAPTURA EVIDENCIA:
14
2. Crear una máquina virtual y cargar el ISO de instalación del sistema que desea instalar.
CAPTURA Y EVIEDNCIAS:
3. Iniciar la máquina virtual para que comience la instalación del sistema y primer uso de este.
CAPTURA Y EVIEDNCIAS:
15
4. Configurar una carpeta compartida del sistema virtual al huésped y viceversa para poder
compartir archivos entre ambos, sin hacer uso de servicios NFS, FTP o cualquier otro.
Agregamos la ubicación de nuestra carpeta creada en el sistema operativo de Windows la cual
deseamos que se comparta en la máquina virtual, seleccionamos la opción de carpetas
compartidas
CAPTURA Y EVIEDNCIAS:
6. Posteriormente ingresamos a centro de redes y recursos compartidos dando clic sobre la opción
de cambiar configuración de uso compartido avanzado
16
7. Activamos la opción de detección de redes para que nos podamos conectar con otro dispositivo,
activamos también la opción de uso compartido de archivos e impresoras y la opción de uso
compartido de carpetas publicas tal y como se visualiza a continuación
CAPTURA Y EVIEDNCIAS:
8. Dentro de la carpeta compartida agregar archivos protegidos, esos archivos deben de ser
protegidos por contraseña para que solo usuarios autorizados puedan visualizar el contenido
del archivo (esto va a depender del SO que se esté empleando en la realización de esta
práctica), del mismo modo se deberán verificar y modificar los permisos y propietarios.
17
18
19
Resultados
20
21
1. Configura la Carpeta Compartida:
• En la configuración de la máquina virtual, busca la opción de configuración de carpetas
compartidas o shared folders.
• Agrega una carpeta compartida y elige la ubicación en tu sistema operativo principal que
deseas compartir con la máquina virtual.
2. Inicia la Instalación de Linux en la Máquina Virtual:
• Inicia la máquina virtual y selecciona la imagen ISO de Linux que descargaste como
medio de instalación.
• Sigue los pasos de instalación de Linux, como la selección del idioma, la configuración
de la partición del disco y la configuración de la red.
3. Instala Linux y Configura las Herramientas de Invitado:
• Completa la instalación de Linux en la máquina virtual.
• Una vez instalado, instala las herramientas de invitado proporcionadas por el software
de virtualización para mejorar la integración y funcionalidad, como VMware Tools,
VirtualBox Guest Additions, o las herramientas equivalentes del software que estés
utilizando.
4. Accede a la Carpeta Compartida desde Linux:
• Dentro de la máquina virtual Linux, accede a la carpeta compartida que configuraste
para intercambiar archivos entre el sistema operativo principal y Linux en la máquina
virtual.
Siguiendo estos pasos, podrás instalar una máquina virtual de Linux en un sistema operativo diferente
al de origen y configurar carpetas compartidas para realizar el intercambio de archivos de manera
eficiente y segura.
22
Cuestionario:
Una máquina virtual es un software que emula una computadora dentro de otra computadora. Esto
permite ejecutar múltiples sistemas operativos y aplicaciones en una sola máquina física. La máquina
virtual (VM por sus siglas en inglés) proporciona un entorno de ejecución aislado y virtualizado, lo que
significa que el sistema operativo y las aplicaciones que se ejecutan dentro de la VM creen la ilusión
de estar operando en su propio hardware dedicado, cuando en realidad comparten recursos con el
sistema anfitrión.
2. Menciona la clasificación de hipervisores:
La principal diferencia entre los dos tipos de hipervisores radica en su ubicación y nivel de control sobre
el hardware físico. Los hipervisores de tipo 1 tienen un acceso más directo y control sobre el hardware,
lo que generalmente los hace más eficientes y adecuados para entornos de servidor, mientras que los
hipervisores de tipo 2 son más adecuados para entornos de usuario y desarrollo donde la simplicidad
y la portabilidad son prioritarias sobre el rendimiento máximo.
4. ¿Cuál es el proceso a seguir para compartir archivos entre máquina virtual y huésped?
1. Instala las herramientas de virtualización: Muchos softwares de virtualización ofrecen
herramientas adicionales que facilitan la integración entre la máquina virtual y el sistema
anfitrión. Estas herramientas suelen incluir controladores de dispositivos y servicios que
permiten características como el intercambio de archivos. Asegúrate de instalar estas
herramientas en la máquina virtual.
2. Configura la carpeta compartida: La mayoría del software de virtualización permiten
configurar una carpeta compartida que puede ser accesible tanto desde la máquina virtual como
desde el sistema anfitrión. Esta carpeta compartida actúa como un punto de acceso para
intercambiar archivos entre los dos sistemas.
3. Habilita la carpeta compartida en la máquina virtual: Dentro de la configuración de la
máquina virtual, asegúrate de habilitar la función de carpeta compartida y selecciona la carpeta
que deseas compartir.
4. Configura permisos: Asegúrate de configurar los permisos adecuados en la carpeta
compartida para que los usuarios en la máquina virtual puedan acceder a ella.
23
5. Accede a la carpeta compartida desde la máquina virtual: Dependiendo del sistema
operativo invitado, la carpeta compartida puede aparecer automáticamente o necesitarás
montarla manualmente. En sistemas Windows, generalmente aparece como una unidad de red.
En sistemas Linux, puede ser necesario montar la carpeta compartida manualmente usando el
comando mount.
6. Transfiere archivos: Una vez que la carpeta compartida esté configurada y accesible desde la
máquina virtual, puedes copiar archivos de ida y vuelta entre la máquina virtual y el sistema
anfitrión arrastrando y soltando, copiando y pegando, o utilizando comandos de línea de
comandos, según la compatibilidad del software de virtualización.
En un sistema operativo Linux, hay varias formas de proteger un archivo para asegurar su integridad y
privacidad. Aquí hay algunas técnicas comunes:
1. Permisos de archivo: Utiliza el comando chmod para establecer los permisos apropiados en
el archivo. Puedes limitar quién puede leer, escribir o ejecutar un archivo utilizando los permisos
de lectura, escritura y ejecución para el propietario, el grupo y otros usuarios.
bashCopy code
chmod [permisos] nombre_archivo
2. Propietario y grupo: Utiliza el comando chown para cambiar el propietario y el grupo del
archivo. Esto te permite controlar quién tiene acceso a modificar el archivo.
bashCopy code
chown [usuario]:[grupo] nombre_archivo
3. Permisos de directorio: Asegúrate de que los permisos del directorio que contiene el archivo
estén configurados correctamente para evitar accesos no autorizados.
4. Cifrado de archivos: Utiliza herramientas de cifrado como GPG (GNU Privacy Guard) o
OpenSSL para cifrar archivos sensibles antes de almacenarlos o compartirlos. Esto garantiza
que solo las personas autorizadas puedan descifrar y acceder al contenido.
Conclusiones:
Al término de la práctica el alumno deberá ser capaz de llevar a cabo la correcta instalación y
configuración básica de un sistema operativo cliente dentro de una máquina virtual y que pueda
comunicarse de forma eficiente con el sistema huésped, de modo que pueda posteriormente hacer
instalación de sistemas servidores.
la práctica de instalar una máquina virtual de Linux y configurar carpetas compartidas ofrece beneficios
como versatilidad, intercambio de archivos, aprendizaje, seguridad y optimización de recursos, siendo
una herramienta valiosa en entornos de desarrollo, pruebas y uso de sistemas operativos alternativos.
Y como podemos proteger los archivos como los cifrados que se llevan a cabo.
24
Aplicaciones industriales:
Pruebas de Rendimiento y Seguridad: Las máquinas virtuales son utilizadas para realizar
pruebas de rendimiento y seguridad en sistemas informáticos antes de implementar cambios en
entornos de producción.
Citas y referencias:
[1] I. Ramírez. "Máquinas virtuales: qué son, cómo funcionan y cómo utilizarlas". Xataka - Tecnología y
gadgets, móviles, informática, electrónica. https://www.xataka.com/especiales/maquinas-virtuales-que-
son-como-funcionan-y-como-utilizarlas (accedido el 23 de febrero de 2023).
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
25
PRÁCTICA NO. 3
Competencia:
Instalar una máquina virtual con un SO propietario para determinar la forma de instalación y
configuraciones básicas.
Material:
Equipo de cómputo.
Marco teórico:
Un sistema operativo propietario es creado por empresas para su uso comercial. Tales empresas son
sus propietarias y cobrar por utilizarlo y distribuirlo y aquellos que lo diseñaron y crearon ocultan su
código original para evitar que se altere. Sólo la empresa propietaria tiene derecho a modificar el
software [1]. Además, queda prohibida su distribución sin un previo pago.
Desarrollo de la práctica:
La práctica por desarrollar se hace para llevar a cabo la instalación de un sistema operativo propietario
como lo es Windows Server verificando su funcionalidad y configuración básica para administración de
usuarios, roles y configuración de red. Esto se lleva a cabo para demostrar las diferencias que existen
al llevar a cabo la instalación de un sistema operativo cliente a un sistema operativo servidor siendo
ambos propietarios.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
26
1. Descargar Windows Server en su versión de prueba desde la página oficial
https://www.microsoft.com/es-mx/windows-server
Al descargar el archivo iso vamos a empezar el proceso de instalación
Captura:
27
• una vez seleccionado la versión vamos a seleccionar el almacenamiento de sistema
operativo. Y ahora va a empezar a instalar el sistema operativo.
28
4. Configurar IP estática
29
Ilustración 3 Asignación de IP desde IPv4
Para descargar estos servicios iremos al panel principal y agregaremos roles y características donde
podremos buscar en la lista ambos servicios y una vez hecho eso daremos a siguiente e instalar y
estarán añadidos dentro del administrador
30
Ilustración 5 Panel principal
31
Ilustración 8 Agregar características
Ilustración 9 DHCP
Ilustración 10 DNS
32
Cuestionario:
1. ¿Qué es un SO propietario?
Un sistema operativo (SO) propietario es un software cuyo desarrollo y distribución está controlado y
gestionado por una única entidad o empresa. Estos sistemas suelen requerir una licencia de uso y
están protegidos por derechos de autor.
4. ¿Cuáles son las ventajas de los sistemas operativos propietarios en comparación con los de
software libre?
Algunas ventajas de los sistemas operativos propietarios incluyen:
33
proporcione información como el nombre del usuario administrativo, la contraseña y otros detalles de
configuración. Una vez completada la instalación, el administrador puede iniciar sesión en el sistema
utilizando las credenciales configuradas durante la instalación. En algunos casos, es posible crear y
configurar otros usuarios adicionales después de la instalación inicial a través de las herramientas de
administración de usuarios y grupos de Windows Server.
Conclusiones:
Con el desarrollo de esta práctica el alumno será capaz de llevar a cabo la instalación y administración
básica de un SO propietario para servidores, verificando las ventajas que tiene este sobre el sistema
cliente y la funcionalidad del mismo para la configuración de servicios.
El desarrollo de esta practica fue muy interesante, ya que pudimos observar el proceso de instalación
de un sistema operativo de servidor, así como el conocimiento de el mismo, como lo fue Windows
server, se sabe que para que un servido trabaje de manera eficiente debe administrar los recursos,
aunque en este caso la instalación la realizamos con una interfaz de usuario, esto nos facilita las tareas
a la hora de hacer configuración, aunque también cuenta con una línea de comandos la cual podemos
ocupar para realizar distintas actividades de configuración que bien podríamos hacer de manera
automática con la interfaz y sus asistentes de configuración, pero también podríamos hacerlo de
manera manual con la línea de comandos, esto nos ayudaría a notar la estructura de lo que usaremos
y como se conforma para entender de manera compleja los detalles que contiene el realizarlo de esa
manera.
Aplicaciones industriales:
Windows Server es utilizado por una amplia variedad de empresas para diferentes propósitos, como
alojar sitios web, aplicaciones, bases de datos y servicios de red. Es común en empresas de todos los
tamaños, desde pequeñas empresas hasta grandes corporaciones en sectores como finanzas,
educación, gobierno y tecnología.
Citas y referencias:
[1] D. Sol Llaven, Sistemas Operativos: Panorama para ingeniería en computación e informática.
México: Grupo editorial patria, 2015.
34
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
35
PRÁCTICA NO. 4
Competencia:
Material:
Equipo de cómputo.
Marco teórico:
El shell de comandos fue el primer shell integrado en Windows para automatizar las tareas de rutina,
como la administración de cuentas de usuario o las copias de seguridad nocturnas, con archivos por
lotes (.bat). Con Windows Script Host, puede ejecutar scripts más sofisticados en el shell de comandos.
Puede realizar operaciones de manera más eficiente utilizando scripts que utilizando la interfaz de
usuario. Los scripts aceptan todos los comandos que están disponibles en la línea de comandos.
Windows tiene dos shells de comandos: Command shell y PowerShell. Cada shell es un programa de
software que proporciona comunicación directa entre usted y el sistema operativo o la aplicación,
proporcionando un entorno para automatizar las operaciones de TI.
PowerShell se diseñó para ampliar las capacidades del shell de comandos para ejecutar comandos de
PowerShell llamados cmdlets. Los cmdlets son similares a los comandos de Windows, pero
proporcionan un lenguaje de secuencias de comandos más extensible. Puede ejecutar comandos de
Windows y cmdlets de PowerShell en Powershell, pero el shell de comandos solo puede ejecutar
comandos de Windows y no cmdlets de PowerShell.
Get-Command: En caso de que quieras conocer todos los cmdlets que ofrece PowerShell, lo podrás
hacer escribiendo este comando en la consola.
Get-Host: Con la ejecución de este comando se obtiene la versión de Windows PowerShell que está
usando el sistema.
Get-History: Con este comando se obtiene un historial de todos los comandos que se ejecutaron bajo
una sesión de PowerShell y que actualmente se encuentran ejecutándose.
36
Invoke-Command: En el momento en que quieras ejecutar un script o un comando PowerShell (de
forma local o remota, en uno o varios ordenadores), «Invoke-Command» va a ser tu mejor opción. Es
simple de utilizar y te ayudará a gestionar ordenadores por lotes.
Set-ExecutionPolicy: Si bien podemos crear e iniciar scripts (.ps1) desde PowerShell, vamos a
encontrarnos limitados debido a cuestiones de seguridad. Sin embargo, esto puede ser modificado a
través de la categoría de seguridad empleando el cmdlet Set-ExecutionPolicy.
Remove-Item: En caso de que desees borrar elementos como carpetas, archivos, funciones y variables
y claves del registro, Remove-Item será el mejor cmdlet. Lo importante es que ofrece parámetros para
introducir y expulsar elementos.
Start-Process: Con este cmdlet, Windows PowerShell hace que sea mucho más fácil ejecutar procesos
en el equipo.
Stop-Process: Con este cmdlet puedes detener un proceso, ya sea que haya sido iniciado por ti o por
otro usuario.
Desarrollo de la práctica:
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
37
ahora vamos a colocar las 5 tareas en segundo plano o en ejecución con get process
EVIDENCIA DEL CODIGO:
Inicializa los procesos que están en segundo plano y en ejecución de los servicios
EVIDENCIA DEL CODIGO:
38
3. Configurar el nombre del equipo desde su cmdlet correspondiente.
Ahora vamos a cambiar el nombre del servidor con el codigo o con el comando cmdlet
EVIDENCIA DEL CODIGO:
39
5. Realizar búsqueda de contenido de archivos y carpetas con sintaxis especifica.
Ahora vamos a realizar una búsqueda con los archivos de texto que creamos para eso
utilizaremos el siguiente comando.
Cuestionario:
1. ¿Qué es un cmdlet?
Un cmdlet (Command-Let) es una pequeña función de PowerShell que realiza una tarea específica.
Estas tareas pueden ser simples, como obtener un listado de archivos en una carpeta, o más complejas,
como administrar usuarios en un sistema. Los cmdlets están diseñados para ser fáciles de aprender y
utilizar, y siguen una convención de nomenclatura y sintaxis consistente.
El proceso de lectura de líneas de archivos mediante cmdlet puede llevarse a cabo utilizando cmdlets
como Get-Content.
PowerShell es una interfaz de línea de comandos y un entorno de scripting desarrollado por Microsoft,
diseñado para la automatización y administración de sistemas.
40
El símbolo de sistema, también conocido como CMD o CMD.exe, es la interfaz de línea de comandos
heredada de Windows. Tiene menos funcionalidades y flexibilidad en comparación con PowerShell.
En los cmdlets es permitir a los usuarios realizar tareas específicas dentro de PowerShell de manera
rápida y eficiente. Los cmdlets están diseñados para ser modulares y reutilizables, lo que facilita la
construcción de scripts y la automatización de tareas comunes en sistemas Windows.
Conclusiones:
En nuestras conclusiones PowerShell se diseñó para ampliar las capacidades del shell de comandos
para ejecutar comandos de PowerShell llamados cmdlets. Los cmdlets son similares a los comandos
de Windows comandos más extensible. Puede ejecutar comandos de Windows y cmdlets de
PowerShell en Powershell, pero el shell de comandos solo puede ejecutar comandos de Windows y no
cmdlets de PowerShell.
Aplicaciones industriales:
Citas y referencias:
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
41
42
PRÁCTICA NO. 5
Competencia:
Implementar y configura diferentes servicios al servidor como son el caso de IIS, servidor de archivos,
DHCP y DNS mediante uso de cmdlest y asistente de configuración.
Material:
Equipo de cómputo.
Marco teórico:
El administrador del servidor permite gestionar el conjunto del servidor, es posible realizar operaciones
de configuración del servidor como (direccionamiento IP, nombre del servidor) y también instalar y
acceder a los distintos roles (DNS, DHC, IIS y demás). Permite agregar y suprimir roles y también la
administración de equipos remotos.
DHCP es el Protocolo de Configuración Dinámica de Host, por sus siglas en español, es un servicio
que se puede instalar en los mismos servidores con función de Active Directory, o en servidores
dedicados, esté va a ser en encargado de proporcionar la IP a los clientes que se conecten dentro de
la red y de mantener la comunicación entre los mismos.
DNS, por sus siglas en español, Sistema de Nombres de Domino, tiene la función de traducir las
direcciones IP en nombres de dominio y viceversa, por ejemplo, 142.250.65.142 a Google.com. Todos
los dispositivos con una conexión activa a internet poseen una dirección IP, misma que ayuda a
establecer la ruta de conexión para el acceso a los sitios. La ventaja de este servicio es que cuando se
abre un navegador web y visita un sitio, no necesita recordar e introducir un número largo. En su lugar,
puede introducir un nombre de dominio como ejemplo.com y terminar en el lugar correcto.
Los Internet Information Services (IIS) son un servidor web extensible que provee un conjunto de
servicios para sistemas operativos Windows. Esta característica permite convertir su máquina en un
servidor web para poder publicar su sitio web en el Internet, no se instalan de forma predeterminada en
la instalación mínima de los sistemas operativos Microsoft Windows Server 2012 R2, Microsoft
Windows Server 2016 y Microsoft Windows Server 2019.
Un servidor de archivos es una instancia de servidor central de una red de ordenadores que permite a
los clientes conectados acceder a sus propios recursos de almacenamiento. El término abarca tanto el
hardware como el software que se necesita para implementar dicho servidor [2]. Si los usuarios
obtienen los correspondientes permisos, pueden abrir las carpetas y archivos guardados en el servidor,
así como consultarlos, modificarlos, eliminarlos o subir sus propios documentos.
Desarrollo de la práctica:
43
La práctica a desarrollar se hace para que el alumno aprenda a configurar los roles que un usuario
puede tener en el sistema operativo de Windows server, así como la asignación de roles y
características para diferentes servicios, en este caso se deberán de implementar servicios de IIS, un
servidor de archivos, llevar a cabo la configuración de DHCP y DNS. Estás tareas están diseñadas para
que se puedan implementar haciendo uso de cmdlets o bien directamente con la configuración
mediante el asistente del SO.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
44
• una vez seleccionado la versión vamos a seleccionar el almacenamiento de sistema
operativo. Y ahora va a empezar a instalar el sistema operativo.
2. Configurar el rol de DHCP para el usuario actual del equipo mediante el asistente de configuración.
45
3. Configurar el rol de DNS mediante el uso de su respectivo cmdlet.
• Ahora escribiremos el siguiente comando para la configuración.
• Una vez finalizado nos arrojara los siguientes datos de una tabla.
• Ahora el siguiente paso lo que haremos es poder tener una conexión entre dos servidores
es necesario tener instalado el protocolo SSH, el cual es utilizado para el manejo de
servidores de forma remota, permitiendo a un usuario realizar toda clase de tareas sobre el
mismo. Donde vamos a entrar en la configuración.
46
• Ahora vamos a comprobar si la configuración de la característica si se ha instalado
correctamente.
4. Configurar el servidor de archivos haciendo uso del asistente para compartir archivos de forma local
dentro de la máquina virtual y la maquina huésped.
• Ahora abrimos Entramos al panel de configuración del administrador del servidor
seleccionamos los roles de servidor, donde marcamos una casilla de servicios y archivos y
almacenamiento.
5. Configurar el servicio IIS dentro del servidor para poder alojar sitios web creados por el usuario.
• Vamos a verificar las características que nos muestra donde agregaremos las
características de para el servidor WEB IIS
47
• Inicializa el rol de web IIS
• Ahora nos aparece una ventana para la selección de roles dependiente el trabajo que se les
brinda.
48
• Ahora de damos en instalar y como vemos se nos esta instalado el paquete de
configuración.
49
6. Verificar el funcionamiento de los roles haciendo pruebas entre la máquina virtual y la máquina
huésped.
Para finalizar la practica ya se agrego en los servidores lo que se configuraron y anteriormente
como también la configuración que se agregó en esta práctica.
50
• Ahora se realiza una comprobación del tiempo de la conexión
Cuestionario:
4. ¿Cuáles son los roles por defecto asignados a un usuario en Windows Server?
los roles por defecto asignados a un usuario pueden variar dependiendo de varios factores, como la
versión específica de Windows Server, la configuración de seguridad y los permisos otorgados por el
administrador del sistema. Sin embargo, en términos generales, algunos roles y grupos
predeterminados en Windows Server que estos incluyten:
Usuarios estándar: Los usuarios estándar suelen tener permisos limitados en el sistema y pueden
acceder a recursos básicos como archivos y carpetas, pero no tienen privilegios para realizar cambios
importantes en la configuración del sistema.
51
Administradores: Los usuarios que pertenecen al grupo de administradores tienen acceso completo al
sistema y pueden realizar cambios en la configuración, instalar software, administrar permisos, entre
otras tareas administrativas. Este grupo tiene los privilegios más elevados en el sistema.
Usuarios del dominio: En entornos de dominio de Active Directory, los usuarios pueden tener roles
específicos asignados por el administrador del dominio. Estos roles pueden incluir administradores de
dominio, administradores de unidad organizativa, etc.
Grupos de seguridad personalizados: Además de los roles y grupos predeterminados, los
administradores pueden crear grupos de seguridad personalizados y asignar permisos específicos a
estos grupos según las necesidades del entorno.
Los pasos para la instalación del rol del servidor DNS mediante el comando Install-WindowsFeature. Y
el nombre a continuación está el ejemplo.
Conclusiones:
Con el desarrollo de esta práctica el alumno conocerá como hacer la instalación, configuración y
administración de servicios en Windows Server sin necesidad de hacer uso del asistente y hacer uso
de la línea de comando de Shell.
Para la experiencia en la que se realizo la practica se especificaron de como empezar a instalar lo que
es el sistema operativo. Para que después configurar los roles que se maneja en un servidor como
también la configuración de rol de DHCP para un servidor y mediante un DNS se utiliza en PowerShell
para realizar las instalaciones de con el respectivo cmdlet como la configuración de servicio de web
que seria el IIS para poder realizar esta practica se tuvo que realizar los anteriores pasos. para que se
pueda instalar al finar y como ver el resultado donde los servidores activos y sin ningún problema. s
importante tener en cuenta que los permisos y roles específicos asignados a un usuario pueden variar
significativamente según la configuración de seguridad implementada por el administrador del sistema
y las políticas de la organización.
Aplicaciones industriales:
Aunque Windows Server y las ediciones de Windows para uso doméstico tienen similitudes en su
apariencia, existen diferencias significativas que les permiten destacarse en sus funciones específicas.
Algunos de los tipos de empresas que deberían considerar el uso de Windows Server son:
• Empresas preocupadas por la seguridad.
• Empresas sin mucha experiencia técnica.
• Empresas que utilizan otras aplicaciones y servicios de Microsoft.
52
• Empresas que manejan grandes cantidades de datos o desean crear su propio entorno en la
nube.
Citas y referencias:
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
53
PRÁCTICA NO. 6
Competencia:
Verificar el rendimiento del sistema en cuanto a memoria, procesador y procesos se refiere, así como
configurar los puntos de seguridad del sistema.
Material:
Equipo de cómputo.
Marco teórico:
El contador de retraso de entrada del usuario mide la diferencia máxima (en un intervalo dado) entre la
entrada que está en la cola y el momento en que la recoge la aplicación en un bucle de mensajes
tradicional. Para supervisar el uso de los recursos y los procesos del servidor, puede utilizar el Monitor
de rendimiento de Windows, incluido con Windows Server. Use PerfMon para recopilar información
detallada de rendimiento, incluida la frecuencia de uso de la CPU, la cantidad de memoria usada,
información sobre cada proceso de Tableau Server, etc.[1]
Un sistema que es vulnerable se identifica como aquel que es susceptible a fallos o errores en el
software o hardware, lo que hace posible un ataque y comprometer la integridad y confidencialidad de
los datos, también tomamos en cuenta el riego que son las acciones desatadas por la vulnerabilidad,
por ejemplo, virus, troyanos, keyloggers y demás, en pocas palabras un riesgo se produce por la
vulnerabilidad del sistema.
El aislamiento del núcleo aporta protección adicional contra malware y otros ataques al aislar los
procesos del equipo del sistema operativo y del dispositivo. Para llevar a cabo la protección al núcleo
es necesario seleccionar detalles de aislamiento del núcleo para habilitar, deshabilitar y cambiar la
configuración de las funciones del aislamiento del núcleo, de forma que se pueda mantener seguro
frente a nuevos ataques.
Desarrollo de la práctica:
La práctica a desarrollar se hace conocer cómo podemos realizar el monitoreo de rendimiento mediante
contadores de retardos de usuarios y procesos, así como el uso de memoria. También se realizará una
configuración de protección del sistema para ransonware, vulnerabilidades y aislamiento. Antes de
empezar tendremos que conocer algunos conceptos para entender que son las acciones que
realizaremos.
54
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
55
• En esta parte se mostrará el monitor de rendimiento de nuestro equipo.
56
• Damos clic en el icono verde para agregar más visualizaciones y seleccionamos los
servicios para ver su rendimiento para ver todos los procesos.
• Una vez echo vamos a crear un archivo de recopilación este de le llamara datos.
57
• Le damos en siguiente y nos pedirá la ruta de la carpeta donde se va a almacenar los datos
de recopilación.
• Una vez echo lo anterior nos pedirá seleccionar una opción de iniciar conjunto de compiladores
• Ahora nos vamos en la parte superior del menú de la parte izquierda podemos ver que
nuestro registro se aguardó correctamente.
58
• Al final se muestran los 5 procesos del monitor de procesos
59
• Buscamos en las configuraciones la opción Protección contra ransomware y activamos la
protección contra aplicaciones malintencionadas.
60
• Ahora vamos a configurar la protección contra las vulnerabilidades.
• En esta sección poder configurar las configuraciones de los programas para que se puedan
personalizar.
• Posteriormente activamos el aislamiento del núcleo para tener más protección en las
virtualizaciones. Y lo activamos para proteger lo que es equipo.
61
Cuestionario:
1. ¿Qué es un ransomware?
Un ransomware es un tipo de malware (software malicioso) diseñado para bloquear el acceso a un
sistema informático o a archivos importantes en ese sistema, generalmente mediante el cifrado de los
archivos, hasta que se pague un rescate al atacante.
Los aisladores sísmicos son una medida de protección para edificaciones que se encargan de
desacoplar el movimiento de una estructura de las vibraciones del suelo y así lograr reducir el impacto
de las fuerzas en la edificación. En la actualidad, este método de aislamiento sísmico se caracteriza
por ser la tecnología más efectiva y exitosa disponible. En Escobar y Martínez le ofrecemos una
variedad de aisladores de neopreno con núcleo de plomo con características especiales para
garantizarle un gran desempeño en caso de eventos sísmicos.
62
4. ¿Para qué sirve el realizar monitoreo de rendimiento del SO?
Optimización del rendimiento: Permite identificar cuellos de botella, recursos subutilizados o
mal configurados en el sistema, lo que ayuda a mejorar la eficiencia y el rendimiento general
del sistema.
Detección de problemas: El monitoreo continuo del rendimiento del SO ayuda a identificar
problemas potenciales antes de que afecten significativamente a la operatividad del sistema,
como la falta de recursos, fallas en el hardware o software, o condiciones anómalas.
Planificación de capacidad: Proporciona datos históricos y en tiempo real sobre el uso de
recursos del sistema, lo que ayuda a prever necesidades futuras de capacidad y recursos. Esto
es útil para planificar actualizaciones de hardware, escalabilidad y dimensionamiento adecuado
de recursos.
Seguridad: El monitoreo del rendimiento puede ayudar a detectar actividades sospechosas o
anómalas que podrían indicar intrusiones o intentos de comprometer la seguridad del sistema.
Diagnóstico de problemas: Facilita la resolución de problemas al proporcionar datos detallados
sobre el rendimiento del sistema antes, durante y después de un evento o problema específico.
Esto ayuda a los administradores de sistemas a identificar la causa raíz de los problemas y
tomar medidas correctivas más rápidamente.
63
Conclusiones:
Con el desarrollo de esta práctica el alumno aprenderá a llevar a cabo la administración de seguridad
básica de servicios del sistema operativo propietario y mantener activa la configuración frente a
ataques. Además, aprenderá a administrar los procesos que se encuentran en ejecución en el sistema.
Para finalizar con nuestra practica aprendimos como poder administrar las tareas como en primer plano
tanto que están en ejecución y saber cuándo tareas se están ejecutando al momento al abrir el
administrador de tareas de Windows vemos las tareas en segundo plano y en primer plano cuando se
utilizan y las que no se utilizan la administración de procesos desde una interfaz de monitoreo
proporciona a los administradores una visión general del rendimiento del sistema y les permite tomar
medidas proactivas para optimizar el uso de recursos, identificar problemas y garantizar la estabilidad
y seguridad del sistema. Hay tantos servicios que se utilizan o están en proceso o en segundo plano
con tal para el sistema funcione correctamente y sin ningún problema obviamente aumenta el consumo
de la memoria RAM. Y también asegurar los datos y archivos de información que no tenga
vulnerabilidades
Aplicaciones industriales:
sistemas de monitorización y control de procesos industriales. Una de las más evidentes es,
precisamente, el control. Suena redundante, pero sin un sistema de control donde no se puede la
exactitud con la que se realizan los procesos automatizados.
En la administración en la tecnología podemos realizar informes en vivo, en tiempo real, para trasladar
al cliente cómo está operando la maquinaria y qué sucede con sus procesos. Obviamente, toda esta
información puede ser consultada en cualquier momento, puesto que queda almacenada.
Los sistemas de control y monitorización también permiten prevenir errores o fallos para evitar pérdidas
económicas y de tiempo. Además, la maquinaria puede controlarse sistema y les permite tomar
medidas proactivas para optimizar el uso de recursos,
Citas y referencias:
[1] "Recopilar datos con el Monitor de rendimiento de Windows". Online Help | Tableau Software.
https://help.tableau.com/current/server/es-es/perf_collect_perfmon.htm (accedido el 24 de febrero de
2023).
64
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
65
PRÁCTICA NO. 7
Competencia:
Material:
Equipo de cómputo.
Marco teórico:
El software libre suele estar disponible gratuitamente, o al precio de coste de la distribución a través de
otros medios; sin embargo, no es obligatorio que sea así, por lo tanto, no hay que asociar «software
libre» a «software gratuito» (denominado usualmente freeware), ya que, conservando su carácter de
libre, puede ser distribuido comercialmente. Análogamente, el software gratis o gratuito incluye en
ocasiones el código fuente; no obstante, este tipo de software no es «libre» en el mismo sentido que el
software libre, a menos que se garanticen los derechos de modificación y redistribución de dichas
versiones modificadas del programa [1].
Por sistema operativo libre se entiende aquel que el usuario tiene libertad para descargar, ejecutar,
copiar, distribuir o mejorar sin ningún tipo de restricción y din ningún tipo de costo para posteriormente
compartirlo con la comunidad.
Un ejemplo de sistema operativo libre es ubuntu: este sistema operativo es totalmente gratuito ya que
te permite hacer cualquier tipo de operación, este mismo te ofrece su código para que puedas hacer
modificaciones para la mejora de este mismo sistema bajo las condiciones de no vender este sistema,
podrás tener la libertad de hacer copias del sistema modificado o normal y traspasarlo a las personas
sin ningún costo.
Existe una diversa variedad de sistemas operativos de software libre, así como programas de software
libre que permiten su comercialización sin necesidad de adquirir una licencia o comprarlo directo del
proveedor.
Desarrollo de la práctica:
La práctica por desarrollar se hace para conocer cómo realizar la instalación de Ubuntu server en una
máquina virtual. Una vez que se tenga instalado el sistema se llevara a cabo la creación de usuarios y
66
configuración del firewall. Para entrar en contexto un sistema operativo es el que permite trabajar con
nuestro ordenador, ya que el cumple una función de capa entre el hardware, el usuario y todas las
aplicaciones que utilizan.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
Cuestionario:
5. Mediante que instrucción se permite conocer a los propietarios del sistema desde la consola de
Ubuntu:
Conclusiones:
Al realizar esta práctica el alumno aprenderá a instalar un sistema operativo se software libre para
servidores, identificando las diferencias entre este y un sistema cliente, dado que la interacción se
realizará en modo consola sin la instalación y uso de un medio gráfico.
Aplicaciones industriales:
67
Citas y referencias:
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
68
PRÁCTICA NO. 8
Competencia:
Realizar la instalación de Kali Linux, configurar el primer usuario y verificar las funcionalidades del
sistema.
Material:
Equipo de cómputo.
Marco teórico:
Kali Linux es la versión actualizada y optimizada de la distro BackTrack desarrollada por Offensive
Security, que durante sus siete años de vida ganó un gran número de seguidores.
Kali Linux es la herramienta perfecta para hackers, que buscan (y encuentran) los límites y fisuras en
la seguridad de las redes y sistemas informáticos. Pero eso no tiene por qué estar orientado a cometer
actos ilegales, ya que ser hacker no está vinculado a la ciberdelincuencia, aunque algunos puedan
dedicarse a utilizar sus conocimientos para cometer delitos.
De hecho, está concebida como herramienta para tareas de análisis forense, con la que descubrir por
dónde ha sido atacado un sistema informático y encontrar posibles rastros de su atacante.
La filosofía sobre la que se asienta Kali Linux es su utilización y desarrollo con fines educativos y éticos,
con los que poder explorar las debilidades en la seguridad de las redes y sistemas para construir un
Internet más seguro para todos.
Kali Linux tiene más de 300 herramientas y aplicaciones relacionadas con la seguridad informática que
incluye esta distribución, destacando algunas tan conocidas como Nmap, que permite escanear los
puertos de un sistema, el crackeador de contraseñas John the Ripper o la suite Aircrack-ng para
comprobar la seguridad de las redes inalámbricas.
Desarrollo de la práctica:
La práctica a desarrollar se hace para conocer el proceso de instalación del sistema operativo Kali Linux
2021.1 en una máquina virtual hecha en VirtualBox, desde donde se va a descargar la ISO y el proceso
de crear la máquina virtual para que pueda funcionar correctamente el sistema operativo para su
posterior uso.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
69
3. Realizar la configuración básica.
4. Explora las herramientas de análisis del sistema.
Cuestionario:
3. ¿Mediante que herramienta se puede conocer las claves de un usuario de un sitio web que visitó?
5. ¿Qué tipo de técnicas se pueden aplicar desde Kali para poder identificar vulnerabilidades de un
sistema?
Conclusiones:
Con el desarrollo de esta práctica el alumno será capaz de conocer cómo funciona Kali para un ataque
simple, además podrá identificar las herramientas de análisis que contiene el sistema para la auditoria
de sistemas.
Aplicaciones industriales:
70
Citas y referencias:
[1] "Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution". Kali Linux.
https://www.kali.org/ (accedido el 27 de febrero de 2023).
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
71
PRÁCTICA NO. 9
Competencia:
Aprender a manejar directorios y archivos del sistema, así como hacer cambios de configuración del
uso de memoria virtual.
Material:
Equipo de cómputo.
Marco teórico:
Chmod sirve para asignar permisos de acceso a carpetas y directorios en sistemas de archivos
compatibles con los permisos de archivo típicos de Unix. Esto afecta, por regla general, a todos los
sistemas de archivos estándar en las derivaciones de Linux que más se usan para operar servidores
[1]. Para hacer cualquier modificación en los atributos de los archivos chmod, es necesario ser
propietario del archivo o contar con derechos raíz (administrador).
Usando chmod para cambiar los permisos chmod (change mode) es el comando utilizado para cambiar
permisos, se pueden agregar o remover permisos a uno o más archivos con + (mas) o – (menos), la
sintaxis sería chmod u+w archivo, con este comando lo que hacemos es agregar permiso de escritura
a usuario, si colocamos chmod 777 archivo, estamos agregando todos los permisos al archivo con el
que estamos trabajando, chmod trabaja con letras o sus equivalentes en octal para agregar o quitar los
permisos sobre carpetas y archivos..
Swappiness: En nuestro sistema operativo la creación de la memoria virtual se suele realizar durante
el proceso de instalación, momento en el cual definimos la partición raíz (/), la de almacenamiento
(/home) y la de intercambio o swap, que suele quedar implementada en la partición /dev/sda5 [2]. El
parámetro del kernel que gestiona el uso de la memoria virtual es el swappiness, y básicamente
podemos decir que se encarga de definir qué tan seguido accedemos a la partición de intercambio y
que tanto contenido copiamos en ella, mediante un argumento que varía entre 0 y 100.
72
Desarrollo de la práctica:
La práctica a desarrollar se hace para conocer el uso de chmod en el cual veremos equivalentes de
este comando con números para hacer cambios de privilegios, al igual que configuraremos el
swappiness de forma temporal y permanente, por último, se creará una tabla de particiones a un
dispositivo externo creando 3 particiones primarias y 2 extendidas, y después les asignaremos
diferentes formatos a cada partición.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
Cuestionario:
Conclusiones:
Al termino de esta práctica el alumno será capaz de llevar a cabo la administración de archivos y
usuarios determinando de forma eficiente como colocar los permisos y accesos.
73
Aplicaciones industriales:
Citas y referencias:
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
74
PRÁCTICA NO. 10
Competencia:
Implementar un servido NFS para intercambio de archivos entre máquina virtual y física a través de
una red interna.
Material:
Equipo de cómputo.
Marco teórico:
Asimismo, los sistemas de archivos son un componente operativo importante, ya que actúan como una
interfaz entre el sistema operativo y todos los dispositivos conectados al equipo (internos y externos,
como las memorias USB). Para instalar un sistema de archivos, hay que formatear el soporte de datos.
Los medios de almacenamiento que se comercializan ya vienen formateados. En el pasado, era común
que el propio usuario tuviera que configurar los nuevos soportes de datos para almacenar y administrar
los archivos.
Sus principales funciones son la asignación de espacio a los archivos, la administración del espacio
libre y del acceso a los datos resguardados. Estructuran la información guardada en un dispositivo de
almacenamiento de datos o unidad de almacenamiento (normalmente un disco duro de una
computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de
archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos.
Los sistemas de archivos proveen métodos para crear, mover, renombrar y eliminar tanto archivos
como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio
o archivo (enlace duro en Unix) o renombrar enlaces padres (".." en Unix). El acceso seguro a sistemas
de archivos básicos puede estar basado en los esquemas de lista de control de acceso (access control
list, ACL) o capacidades. Los sistemas operativos comerciales todavía funcionan con listas de control
de acceso.
Hay diversos sistemas de archivos estándar para Windows, macOS, Linux, Unix y el resto de los
sistemas operativos. En los últimos años, con el desarrollo de las nuevas tecnologías, se han ido
diferenciando cada vez más: por ejemplo, se han creado sistemas de archivos adecuados para los
75
dispositivos de almacenamiento flash, cada vez más populares, entre los que se incluyen las memorias
USB y las unidades SSD. Todos los sistemas de archivos comparten la característica de utilizar una
estructura de árbol para organizar los archivos, que parte del directorio raíz. A partir de ahí, se ramifican
el resto de las carpetas o directorios y subcarpetas.
En la actualidad, existen bastantes sistemas de archivos, aunque no todos están igual de extendidos.
Los más habituales hasta la fecha son FAT16, FAT32, exFAT y NTFS (Windows) y HFS+ y APFS
(macOS/Mac OS X). Linux utiliza actualmente ext4 (sucesor de ext3 y ext2), entre otros. A continuación,
resumimos brevemente las características de estos sistemas de archivos [1].
NFS (Network File System -Sistema de archivos de red) es un mecanismo para almacenar archivos en
una red. Es un sistema de archivos distribuido que permite a los usuarios acceder a los archivos y
directorios ubicados en sistemas remotos y tratar dichos archivos y directorios como si fueran locales.
Los usuarios pueden utilizar mandatos del sistema operativo para crear, eliminar, leer, grabar y
establecer atributos de archivo para archivos y directorios remotos. El paquete de software NFS incluye
mandatos y daemons para NFS, NIS (Network Information Service) y otros servicios. Aunque NFS y
NIS se instalan juntos como un paquete, cada uno es independiente y cada uno se configura y se
administra individualmente. Consulte la publicación Network Information Services (NIS and NIS+) Guide
para obtener detalles sobre NIS y NIS+ [2].
Desarrollo de la práctica:
La práctica a desarrollar se hace para conocer el concepto de sistemas de archivos el cual se refiere
a un sistema de almacenamiento de un dispositivo de memoria, que estructura y organiza la
escritura, búsqueda, lectura, almacenamiento, edición y eliminación de archivos de una manera
concreta. De igual forma un sistema de archivos en red el cual es un mecanismo para almacenar
archivos en una red. Es un sistema de archivos distribuido que permite a los usuarios acceder a los
archivos y directorios ubicados en sistemas remotos y tratar dichos archivos y directorios como si fueran
locales. Se llevará a cabo la implementación del servicio NFS servidor con conexión mediante un cliente
para almacenar y compartir archivos, el cual se creará en un SO Linux en el cual tendremos tanto el
cliente como al servidor en la misma máquina virtual de Ubuntu.
El proceso que deberá seguir el alumno para la realización de esta práctica consta de los siguientes
pasos:
Cuestionario:
1. ¿Qué es un NFS?
76
2. ¿Qué es un sistema de archivos?
Conclusiones:
Una vez concluida la práctica el estudiante será capaz de transferir de forma eficiente archivos a través
de una red entre equipos que se encuentren conectados de manera que se establezca una
comunicación segura.
Aplicaciones industriales:
Citas y referencias:
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
77
PRÁCTICA NO. 11
Competencia:
Material:
Equipo de cómputo.
Marco teórico:
Los Sockets son una interfaz que permiten que las aplicaciones puedan acceder a los servicios que
brinda el software TCP/IP, permitiendo la comunicación entre procesos en el mismo equipo o en
equipos diferentes.
La Interfaz Socket proporciona funciones generalizadas que dan soporte a las comunicaciones en red
empleando para ello muchos de los protocolos disponibles hoy en día. Los llamados sockets hacen
referencia a todos los protocolos TCP/IP como una única familia. Las llamadas permiten al programador
especificar el tipo de servicio requerido, en vez del nombre de un protocolo específico [1].
Sockets Stream: son los más utilizados, hacen uso del protocolo TCP, el cual nos provee un flujo de
datos bidireccional, secuenciado, sin duplicación de paquetes y libre de errores.
Sockets Datagram: hacen uso del protocolo UDP, el cual nos provee un flujo de datos bidireccional,
pero los paquetes pueden llegar fuera de secuencia, pueden no llegar o contener errores. Por lo tanto,
el proceso que recibe los datos debe realizar re-secuenciamiento, eliminar duplicados y asegurar la
confiabilidad. Se llaman también sockets sin conexión, porque no hay que mantener una conexión
activa, como en el caso de sockets stream. Son utilizados para transferencia de información paquete
por paquete. Ejemplo: dns, tftp, etc. Ellos implementan un protocolo encima de UDP que realiza control
de errores.
Sockets SeqPacket: Establece una conexión fiable bidireccional con un tamaño de mensaje máximo
definido. (Este tipo puede no estar habilitado en algunos sistemas.)
Sockets Raw: no son para el usuario común, son provistos principalmente para aquellos interesados
en desarrollar nuevos protocolos de comunicación o para hacer uso de facilidades ocultas de un
protocolo existente.
Desarrollo de la práctica:
78
La interfaz de sockets en una API que permite el desarrollo de programas donde se requiera
comunicación entre procesos, ya sea local o remotamente, con base en distintos protocolos de
comunicación (principalmente TCP/IP y mecanismos de comunicación entre procesos).
El uso más común de esta interfaz es en el desarrollo de programas dentro de un ambiente distribuido
cliente-servidor, trabajando sobre la familia de protocolos TCP/IP. La disponibilidad de una API de
sockets está en función del sistema operativo que se esté usando, así como del lenguaje de
programación.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos, la implementación del programa constará de dos etapas:
1. Crear un objeto de la clase Socket, indicando host y puerto donde corre el servicio.
2. Obtener las referencias al stream de entrada y al de salida al socket.
3. Leer desde y escribir en el stream de acuerdo con el protocolo del servicio.
4. Cerrar los streams.
5. Cerrar el socket.
Cuestionario:
1. ¿Qué es un socket?
79
5. ¿Cuáles son los dominios más comunes para la comunicación de sockets?
Conclusiones:
Al término de la práctica el alumno podrá identificar las primitivas de un socket y como interactúan para
lograr la comunicación entre sistemas, se verificará a través de que puerto se comunican el momento
en que abren y cierran, además de la forma en que se intercambia la información.
Aplicaciones industriales:
Citas y referencias:
[2] J. Dollimore y G. Coulouris, Sistemas Distribuidos - 3b: Edicion. Pearson Educacion, 2005.
Criterios de evaluación:
Documentación: deberá de entregarse una documentación donde se demuestre el paso a paso del
desarrollo que se realizó hasta llegar al resultado final de implementación. Aquí se considera estructura,
errores de redacción, ortográficos y referencias.
80