Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 estos, 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.
6
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.
Arreglo
2, 53, 204 …….
7
rango_inicio, rango_fin = 0, 0
if numero_hilo == 1:
rango_inicio, rango_fin = 0, 20
elif numero_hilo == 2:
rango_inicio, rango_fin = 50, 100
elif numero_hilo == 3:
rango_inicio, rango_fin = 150, 300
else:
raise ValueError("Número de hilo no válido: " + str(numero_hilo))
8
# Espera a que todos los hilos terminen su ejecución
for hilo in hilos:
hilo.join()
print("Hilo 1 cerrado")
print("Hilo 2 cerrado")
print("Hilo 3 cerrado")
# Función para calcular la suma total de los tiempos de inactividad de los hilos
def calcular_tiempo_total_inactividad():
tiempo_total_inactividad = sum(tiempo_inactividad)
return tiempo_total_inactividad
Cuestionario:
1. ¿Qué es un hilo?
Es la unidad más pequeña de procesamiento que puede ser ejecutada por un sistema operativo
también se le conoce como proceso ligero o subproceso.
9
Creación del Hilo: Se crea el hilo mediante la instanciación de un objeto que implementa la interfaz
`Runnable` o hereda de la clase `Thread`.
Inicio del Hilo: Al llamar al método `start()`, se inicia la ejecución del hilo, el cual activa el método
`run()`.
Ejecución del Código en el Método Run(): El método `run()` contiene el código que será ejecutado por
el hilo de forma concurrente con otros hilos.
Ejecución Concurrente: El sistema operativo administra la ejecución de los hilos de acuerdo con su
política de planificación, permitiendo que múltiples hilos se ejecuten simultáneamente o en paralelo
en sistemas multiprocesador.
Finalización del Método Run(): Una vez que el método `run()` ha completado su ejecución, el hilo
llega al final de su vida útil.
Finalización del Hilo: El hilo se detiene automáticamente cuando el método `run()` llega a su fin o si
se produce una excepción no controlada dentro de él.
Liberación de Recursos: Después de la finalización del hilo, los recursos asociados, como la memoria
y otros recursos del sistema operativo, se liberan automáticamente.
Colas (Message Queues): Las colas permiten que los procesos envíen y reciban mensajes de
longitud variable. Los mensajes se colocan en una cola por un proceso y se leen de la cola por otro
proceso. Esto facilita la comunicación entre procesos no relacionados.
10
Memoria Compartida (Shared Memory): En este mecanismo, los procesos comparten una región de
memoria común. Los procesos pueden escribir y leer datos en esta memoria compartida, lo que
facilita una comunicación rápida y eficiente. Sin embargo, se requieren mecanismos de sincronización
para evitar problemas de concurrencia.
Sockets: Los sockets son puntos finales de comunicación que permiten la comunicación entre
procesos en diferentes nodos de una red. Se utilizan en la comunicación cliente-servidor y en la
comunicación entre procesos en la misma máquina.
Señales (Signals): Las señales son notificaciones asíncronas enviadas a un proceso para indicar
eventos importantes. Pueden ser utilizadas para comunicarse entre procesos, aunque generalmente
se utilizan para manejar eventos dentro de un mismo proceso, como interrupciones de hardware o
eventos de temporización.
Semáforos (Semaphores): Los semáforos son variables especiales utilizadas para sincronizar o
coordinar el acceso a recursos compartidos por varios procesos. Permiten a los procesos bloquearse
o esperar hasta que ciertas condiciones se cumplan antes de continuar.
Mutex (Mutual Exclusion): Un mutex es un mecanismo de sincronización que garantiza que solo un
proceso tenga acceso a un recurso compartido en un momento dado. Se utiliza para evitar la
condición de carrera en la que múltiples procesos intentan acceder al mismo recurso
simultáneamente.
El proceso de sincronización de un hilo implica coordinar la ejecución de múltiples hilos para evitar
condiciones de carrera, inconsistencias en los datos y garantizar la coherencia del programa.
Identificar Áreas Críticas: Identificar las secciones del código donde múltiples hilos pueden acceder y
modificar datos compartidos.
11
Bloqueo y Desbloqueo: Al entrar en una sección crítica, un hilo adquiere un bloqueo utilizando el
mecanismo de sincronización correspondiente (por ejemplo, un mutex). Esto evita que otros hilos
accedan a la misma sección crítica hasta que el bloqueo sea liberado.
Sincronización de Datos: Asegurarse de que los datos compartidos sean actualizados y leídos de
manera consistente por los diferentes hilos.
Evitar Condiciones de Carrera: Evitar condiciones de carrera mediante el uso adecuado de los
mecanismos de sincronización. Una condición de carrera ocurre cuando el resultado de la ejecución
depende del orden en que se ejecutan los hilos, lo que puede llevar a resultados no deterministas y
errores en el programa.
Pruebas y Depuración: Realizar pruebas exhaustivas para garantizar que la sincronización de los
hilos funcione como se espera.
El ciclo de vida de un hilo en un programa sigue varios estados, desde su creación hasta su
finalización. Estos estados pueden variar ligeramente dependiendo del lenguaje de programación y
del entorno de ejecución.
Nuevo (New): En este estado, el hilo ha sido creado, pero aún no se ha iniciado su ejecución
mediante el método start().
Listo (Runnable): Cuando se invoca el método start(), el hilo entra en el estado de "listo" y está
preparado para ejecutarse, pero aún no ha sido seleccionado por el planificador de hilos para su
ejecución.
En Ejecución (Running): El hilo entra en este estado cuando el planificador de hilos lo selecciona para
su ejecución. En este estado, el código del método run() del hilo se está ejecutando activamente.
Bloqueado (Blocked): Un hilo puede entrar en este estado cuando está esperando algún evento,
como la adquisición de un bloqueo, la entrada/salida de datos, o esperando a que otro hilo complete
una operación. El hilo bloqueado no consume recursos de CPU y está inactivo hasta que se cumpla
la condición para su continuación.
12
Esperando (Waiting): Un hilo puede entrar en este estado cuando se llama a métodos como wait() o
join(), donde el hilo espera hasta que otro hilo notifique o termine su ejecución.
Esperando por un Tiempo Definido (Timed Waiting): Similar al estado de espera, pero en este caso,
el hilo espera por un tiempo específico antes de continuar su ejecución. Esto puede ocurrir cuando se
invoca sleep() o wait(timeout).
Terminado (Terminated): El hilo entra en este estado cuando su método run() ha finalizado su
ejecución, ya sea de forma normal o debido a una excepción no capturada. Una vez que un hilo está
en este estado, ya no puede ejecutarse más.
Conclusiones:
Aprendí sobre la programación de hilos, que son pequeñas unidades de ejecución que permiten a un
programa realizar múltiples tareas simultáneamente. A través del código analizando cómo se crea,
inicia y sincroniza un hilo en , lo que me permite comprender mejor cómo funcionan los hilos en un
programa.
Además, investigue los mecanismos de comunicación entre procesos, que son herramientas
utilizadas para que los procesos en un sistema interactúen y compartan información de manera
segura y eficiente. Estos mecanismos incluyen pipes, colas, memoria compartida, sockets, señales,
semáforos y mutex.
13
La programación de hilos y sus aplicaciones en la industria nos brinda una visión más amplia sobre
cómo funcionan los sistemas informáticos y cómo pueden ser utilizados para resolver problemas y
mejorar procesos en el mundo real.
Aplicaciones industriales:
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).
[3]“¿Cómo funcionan los hilos en programación?” EDteam - En español nadie te explica mejor.
Accedido el 21 de marzo de 2024. [En línea]. Disponible: https://ed.team/blog/como-funcionan-los-
hilos-en-programacion
[4]“2.- Ciclo de Vida de los Hilos - minicursos”. minicursos. Accedido el 21 de marzo de 2024. [En
línea]. Disponible: http://minicursos.xyz/2020/04/25/ciclo-de-vida-de-los-hilos/
14
[6]“Comunicación entre Procesos”. Monografias.com. Accedido el 21 de marzo de 2024. [En línea].
Disponible: https://www.monografias.com/trabajos108/comunicacion-procesos/comunicacion-
procesos
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.
15
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.
16
Imagen 2 Organización de emulación de máquinas virtuales, obtenido de [1]
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.
17
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.
2. Crear una máquina virtual y cargar el ISO de instalación del sistema que desea instalar.
3. Iniciar la máquina virtual para que comience la instalación del sistema y primer uso de este.
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.
5. 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.
Cuestionario:
4. ¿Cuál es el proceso por seguir para compartir archivos entre máquina virtual y huésped?
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.
18
Aplicaciones industriales:
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.
19
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.
20
Software propietario
El software propietario consiste en aquellos programas de autor definido que nieguen de alguna
forma el libre acceso al código fuente, ya sea para modificarlo, estudiarlo o distribuirlo.
A este tipo de software también suele denominarse como ‘software privativo’, puesto que además de
tener uno o más propietarios determinados, lo que realmente hace que el software no sea libre es su
carácter privativo.
Además, se suele dar por sentado que un software de tipo propietario es de un ente privado que
busca rentabilidad directa en él. Esto no tiene por qué ser así de forma obligatoria. Se puede dar el
escenario en el que una persona o empresa desarrolle un software del cual no se pueda acceder al
código fuente pero que su uso sea gratuito, aunque no libre.
Cuando hablamos de un uso gratuito nos referimos a que puede no existir contraprestación monetaria
directa, pero en su defecto podrán existir compras dentro del mismo programa e incluso pagos en
forma de datos, en este caso los personales.
Atención al cliente: Consiste en el soporte especializado que provee la empresa propietaria del
software a sus usuarios con actualizaciones y mantenimiento del mismo.
Especialización y focalización: Cuando una empresa crea y desarrolla un software concentra sus
recursos en hacer que la utilidad y el valor añadido de este sea un elemento diferenciador frente a
otras alternativas de software, sean de carácter privativo o de uso libre.
Control a favor del autor y el uso malintencionado: Esto es quizás el factor más importante del
software propietario, ya que establece una autoría y por ende, un crédito a favor del autor. Por otra
parte, el control de un uso fraudulento o no ético del software se asegura al cerrar el código.
21
Si bien el software libre se rige por el copyleft, un software puede tener características propias del
privativo y del libre. Un ejemplo sería un programa que sólo permitiera el acceso a su código para su
estudio y fuera además de libre distribución, pero no fuera de libre modificación.
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:
22
Creamos un usuario para la utilización de Windows server gratis.
23
Descarga del disco iso
Ilustración 3: Descarga
Creación de la máquina virtual sin agregar un disco
24
Ilustración 4: Creación de la máquina virtual
Asignamos memoria recomendable 2048 y CPU
25
Ilustración 6: Disco virtual
Terminamos la maquina
26
Ilustración 8: Montar disco
Ilustración 9: Idioma
Instalaremos Windows Server
27
Ilustración 10: Instalación
Escoger el sistema operativo si eres principiante escoge el marcado
28
Ilustración 12: Términos y condiciones
Al abrir aparecerá lo siguiente
29
Ilustración 14: Escogemos el disco
Esperamos a que cargue al 100%
30
Ilustración 16: Iniciando Windows
Personalizamos la contraseña
31
Ilustración 18: Desbloquear
Agregamos la contraseña para entrar
32
Visualizaremos la siguiente pantalla
33
Ilustración 22: Cambio de nombre
Cambiamos nombre y aceptamos
34
Cerramos la pantalla sin reiniciar aun
35
Ilustración 26: Ethernet
36
Ilustración 27: TCP/IPv4
Usaremos dirección IP y DNS
37
Ilustración 29: IP a máquina física
Agregamos la ip parecida a la maquina física
38
Ilustración 31: Roles y características
Damos siguientes a la ventana que nos aparecerá
39
Ilustración 33: Instalación
Daremos siguiente a la ventana que nos aparecerá
40
Ilustración 35: Agregar DHCP y DNS
Agregamos características de DHCP
41
Ilustración 37: Características de DNS
Daremos siguiente a la ventana que nos aparecera
42
Ilustración 39: Servidor DHCP y DNS
Esperaremos la instalación y a terminar cerraremos
43
Ilustración 41: Reinicio
Iremos al servicio local y veremos las configuraciones que hicimos como el nombre y la ip
44
Ilustración 43: Aparecerá Nunca
Listo se actualizo
45
Ilustración 45: Listo para su uso
Cuestionario:
1. ¿Qué es un SO propietario?
Un sistema operativo (SO) propietario es aquel cuyo código fuente y derechos de distribución están
controlados por una entidad o empresa específica. Esto significa que el software está protegido por
derechos de autor y su uso, distribución y modificación están sujetos a términos y condiciones
definidos por el propietario del software.
Control exclusivo por parte del propietario sobre el desarrollo, distribución y licenciamiento del
software.
Generalmente, tienen una interfaz de usuario intuitiva y bien diseñada.
46
Suelen contar con un amplio soporte técnico y actualizaciones regulares por parte del
fabricante.
Tienden a ofrecer integración y compatibilidad con una amplia gama de hardware y software.
4. ¿Cuáles son las ventajas de los sistemas operativos propietarios en comparación con los de
software libre?
Las ventajas:
Generalmente ofrecen un alto nivel de estabilidad y seguridad, respaldado por soporte técnico
y actualizaciones regulares.
Tienen una amplia gama de aplicaciones y controladores de hardware compatibles.
Suelen contar con una interfaz de usuario intuitiva y fácil de usar.
El fabricante se encarga de la gestión de parches de seguridad y actualizaciones, lo que
puede ser más conveniente para algunos usuarios.
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 de este para la configuración de servicios.
Windows Server 2019, como sistema operativo propietario, ofrece una serie de ventajas significativas
para entornos empresariales, especialmente en el ámbito de la administración de servidores y la
gestión de redes. A través de las características avanzadas de seguridad, la interfaz de usuario
intuitiva y el amplio soporte técnico, Windows Server 2019 se posiciona como una opción sólida para
satisfacer las necesidades de infraestructuras críticas y entornos industriales exigentes.
47
Al considerar las principales características de los sistemas operativos propietarios, como Windows
Server 2019, es evidente su capacidad para ofrecer estabilidad, seguridad y compatibilidad con una
amplia gama de hardware y software. Estas características son fundamentales para garantizar la
continuidad del negocio y proteger los activos de información en entornos industriales donde la
confiabilidad y la seguridad son de suma importancia.
La diferencia entre los sistemas operativos propietarios y los de software libre, como el caso de
Windows Server 2019 frente a distribuciones de Linux, radica en la naturaleza del control sobre el
software y las condiciones de licenciamiento. Aunque los sistemas de software libre ofrecen ciertas
ventajas en términos de personalización y flexibilidad, los sistemas propietarios como Windows
Server 2019 pueden proporcionar un nivel de soporte técnico y estabilidad que resulta crucial en
entornos empresariales críticos.
En cuanto a la configuración del usuario en Windows Server 2019, durante la inicialización, el
administrador tiene la oportunidad de crear cuentas de usuario y asignarles roles y privilegios según
las necesidades específicas del entorno. Este proceso permite una administración centralizada y
segura de los recursos del servidor, asegurando que cada usuario tenga acceso adecuado a los
recursos necesarios para realizar sus funciones sin comprometer la seguridad del sistema.
Aplicaciones industriales:
Servidores de aplicaciones: Windows Server 2019 puede alojar aplicaciones industriales críticas,
como sistemas de control de procesos, sistemas de gestión de producción (MES), sistemas de
ejecución de fabricación (MES), sistemas SCADA (Supervisory Control and Data Acquisition), y
software de simulación y modelado.
Almacenamiento y gestión de datos: Con características como Storage Spaces Direct, Windows
Server 2019 es ideal para la creación de soluciones de almacenamiento de datos escalables y de alto
rendimiento en entornos industriales. Puede utilizarse para almacenar y gestionar grandes volúmenes
de datos de sensores, registros de procesos, datos de producción, etc.
Seguridad: Windows Server 2019 ofrece características de seguridad avanzadas, como Windows
Defender Advanced Threat Protection (ATP), que ayudan a proteger los sistemas industriales contra
amenazas de seguridad, ataques de malware y acceso no autorizado.
Servicios de red: Windows Server 2019 incluye servicios de red robustos que son fundamentales en
entornos industriales, como DHCP (Dynamic Host Configuration Protocol), DNS (Domain Name
System), Active Directory Domain Services (AD DS), y servicios de acceso remoto como VPN (Virtual
Private Network) y Escritorio remoto.
48
Administración centralizada: Con herramientas como Windows Admin Center, los administradores
pueden gestionar de forma centralizada múltiples servidores desde una sola interfaz de usuario, lo
que facilita la administración de infraestructuras industriales distribuidas.
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.
[2] “Software propietario”. Economipedia. Accedido el 12 de abril de 2024. [En línea]. Disponible:
https://economipedia.com/definiciones/software-propietario.html
[3] “Windows Server 2019 | Centro de evaluación de Microsoft”. Your request has been blocked. This
could be due to several reasons. Accedido el 12 de abril de 2024. [En línea]. Disponible:
https://www.microsoft.com/es-es/evalcenter/download-windows-server-2019
[4] “Introducción a la administración de Windows Server”. Microsoft Learn: Build skills that open
doors in your career. Accedido el 12 de abril de 2024. [En línea]. Disponible:
https://learn.microsoft.com/es-es/windows-server/administration/overview
[5] “PowerShell_ise”. Microsoft Learn: Build skills that open doors in your career. Accedido el 12 de
abril de 2024. [En línea]. Disponible:
https://learn.microsoft.com/es-es/windows-server/administration/windows-commands/powershell_ise
[6] “Compatibilidad de aplicaciones de servidor de Microsoft y Windows Server 2019”. Microsoft
Learn: Build skills that open doors in your career. Accedido el 12 de abril de 2024. [En línea].
Disponible: https://learn.microsoft.com/es-es/windows-server/get-started/application-compatibility-
windows-server-2019
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.
49
50
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.
51
Get-Random: Ejecutando este comando se obtiene un número aleatorio entre 0 y 2.147.483.646.
Get-Service: En ciertas ocasiones, será necesario saber qué servicios se instalaron en el sistema,
para lo que se puede usar el comando Get-Service, que brindará información acerca de los servicios
que se están ejecutando y los que ya fueron detenidos.
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:
52
Cambio de nombre de equipo:
Rename-Computer: Este cmdlet se utiliza para cambiar el nombre del equipo en un entorno Windows.
Ejemplo:
Copy-Item: Este cmdlet se utiliza para copiar archivos y directorios de una ubicación a otra.
Ejemplo:
Move-Item: Este cmdlet se utiliza para mover archivos y directorios de una ubicación a otra.
Ejemplo:
53
Abriremos PowerShell ISE
54
Fig. 2: Visualización de los procesos
Crearemos el script para la asignación de memoria a los procesos que queramos se ejecuten en
segundo plano.
55
Con Get-Job visualizamos los procesos activos en segundo plano
Fig. 4: Get-Job
Aparecerán los procesos activos
56
Fig. 6: Detenemos los procesos
Comprobamos con Get-Job
57
Fig. 8: Cerramos las ventanas
Para que se cierren tal cual las ventanas que abrimos en segundo plano utilizamos el Get-Process
para saber sus ID
58
Fig. 9: Visualizaremos que se cierran las ventanas
Ahora crearemos un archivo de texto.txt con el siguiente cmdlet
59
Fig. 11: Archivo txt
Detenemos el proceso del mismo
60
Fig. 13: Dirá que se reiniciara
Cuestionario:
1. ¿Qué es un cmdlet?
Un cmdlet (command-let) es una pequeña herramienta de línea de comandos utilizada en Windows
PowerShell. Estos cmdlets son comandos de software diseñados para realizar tareas específicas,
como administrar el sistema operativo, interactuar con servicios web, manipular archivos y directorios,
entre otras acciones.
61
La diferencia principal entre PowerShell y el símbolo del sistema (también conocido como CMD o
Command Prompt) radica en su arquitectura y funcionalidad. PowerShell es un entorno de scripting y
automatización de tareas más potente y versátil que el símbolo del sistema. Mientras que el símbolo
del sistema se basa en comandos heredados de MS-DOS y tiene una funcionalidad más limitada,
PowerShell utiliza un lenguaje de scripting avanzado y está diseñado para administrar sistemas
Windows de manera más eficiente, permitiendo una mayor automatización y control sobre el sistema
operativo y sus componentes.
Conclusiones:
En el ámbito industrial, PowerShell y los cmdlets son esenciales, permitiendo una gama de
aplicaciones que van desde la automatización de tareas administrativas hasta la gestión avanzada de
sistemas informáticos. En entornos empresariales donde la eficiencia y la precisión son críticas, estas
herramientas capacitan a los profesionales de TI y administradores de sistemas para optimizar y
mantener la infraestructura tecnológica de manera efectiva. En la automatización de procesos
industriales, desempeñan un papel vital al crear scripts personalizados para ejecutar tareas
repetitivas de manera eficiente y confiable, abarcando desde la configuración de servidores hasta la
gestión de la seguridad de la información. Además, en la gestión de la infraestructura de red,
permiten configurar dispositivos, diagnosticar problemas y monitorear el tráfico de datos,
contribuyendo a la disponibilidad y la integridad de la red en entornos industriales críticos. En
entornos de fabricación y automatización, son fundamentales para administrar sistemas integrados,
controlar procesos de producción y diagnosticar problemas operativos, mejorando así la eficiencia y la
productividad en la planta.
Aplicaciones industriales:
62
• Gestión de infraestructura de red: PowerShell y los cmdlets son herramientas poderosas para
la gestión de la infraestructura de red en entornos industriales. Se pueden utilizar para configurar y
administrar dispositivos de red, como routers, switches y firewalls, así como para realizar pruebas de
conectividad, diagnósticos de red y monitoreo del tráfico.
• Administración de sistemas industriales integrados: En entornos de fabricación y
automatización industrial, donde se utilizan sistemas informáticos integrados para controlar
maquinaria y procesos de producción, PowerShell y los cmdlets pueden ser utilizados para
administrar y monitorear estos sistemas, realizar diagnósticos de problemas y realizar ajustes de
configuración en tiempo real.
• Gestión de sistemas de bases de datos: PowerShell se puede utilizar para administrar
sistemas de bases de datos en entornos industriales, como la creación y administración de bases de
datos, la ejecución de consultas SQL, la programación de tareas de mantenimiento y la generación de
informes de rendimiento.
• Seguridad informática: PowerShell y los cmdlets también se utilizan en aplicaciones
relacionadas con la seguridad informática en entornos industriales. Se pueden utilizar para auditar la
seguridad del sistema, realizar análisis forense en caso de incidentes de seguridad, implementar
políticas de seguridad y gestionar certificados digitales y claves de cifrado.
Citas y referencias:
Criterios de evaluación:
63
Funcionamiento: la práctica debe funcionar al 100%, en caso contrario la calificación se otorgará de
acuerdo con lo que logre hacer sin errores.
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.
64
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 cmdlets 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.
65
Desarrollo de la práctica:
La práctica por 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:
Para comenzar con esta práctica primero configuramos el rol de DHCP para el usuario actual del
equipo mediante CMDLET. Es el instala el rol de DHCP en el servidor y sus herramientas de
administración.
66
Es el que se encarga de la configuración del rol de DNS mediante el uso de su respectivo cmdlet.
Instala el rol de DNS en el servidor y sus herramientas de administración.
Configura el servidor de archivos haciendo uso de cmdlets para compartir archivos de forma local
dentro de la máquina virtual y la maquina huésped.
Es el que instala el rol del servidor de archivos en el servicio y sus herramientas de administración.
Puede compartir una carpeta utilizando cmdlet New-SmbShare.
Encargado de la configuración el servicio IIS dentro del servidor para poder alojar sitios web creados
por el usuario. Instala el servidor web (ISS) en servidor y sus herramientas de administración.
Abrimos el cmd en la maquina física y ingresaremos el comando de ipconfig y nos aparecerá nuestra
IP de la maquina física.
67
Este es el cmd para poder ingresar el comando de ipconfig el cual igual nos dará nuestra IP de la
máquina virtual.
68
Hacemos ping de la máquina física a la virtual. Nos mostrara que ya hizo conexión con la máquina
virtual.
Y en este hacemos ping de la máquina virtual a la física. Y de igual manera nos mostrara que ya hizo
la conexión de la maquina física.
Finalmente, después de comprobar que hay conexión entre las dos máquinas crearemos una carpeta
en documentos
69
Después nos vamos a nuestra máquina virtual y damos clic en portapapeles y arrastrar y los
colocamos en bidireccional
70
Estando agregada la carpeta se visualizará en virtual box asi
71
En la maquina virtual ejecutaremos como administrador lo marcado
Cargando
72
Creamos un archivo dentro de la máquina virtual que se llama gonzalez.txt
73
Ahora ya lo visualizaremos en la maquina física
74
Cuestionario:
4. ¿Cuáles son los roles por defecto asignados a un usuario en Windows Server?
En Windows Server, los roles por defecto asignados a un usuario dependen de su pertenencia a
grupos predefinidos como Administradores, Usuarios, Invitados, etc. Los usuarios del grupo
Administradores tienen privilegios casi ilimitados en el sistema, mientras que los usuarios del grupo
Usuarios tienen permisos más limitados y los usuarios del grupo Invitados tienen aún menos
privilegios.
Conclusiones:
75
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.
La implementación y configuración de servicios como IIS, DHCP y DNS son fundamentales para el
funcionamiento eficaz de una red informática. IIS, desarrollado por Microsoft, permite alojar y
gestionar sitios web, aplicaciones y servicios web, proporcionando características avanzadas de
seguridad, rendimiento y equilibrio de carga. DHCP automatiza la asignación de direcciones IP dentro
de una red, reduciendo la carga administrativa y garantizando una conectividad fluida. Por otro lado,
el DNS facilita la resolución de nombres de dominio en direcciones IP, optimizando el acceso a
recursos de red. La implementación adecuada de estos servicios mejora la eficiencia operativa, la
seguridad y la accesibilidad de los sistemas de información de una organización.
Aplicaciones industriales:
76
generados por sensores y dispositivos en tiempo real. Esto facilita la optimización de procesos, la
detección de problemas y la mejora continua en entornos industriales.
Citas y referencias:
[3] "Compartir una carpeta con Windows Server - RDR-IT". RDR-IT. https://rdr-it.com/es/compartir-
una-carpeta-con windows-server/ (accedido el 17 de abril de 2024).
[4] “Como instalar un servidor DNS en Windows Server”. JOTELULU | Servicios Cloud para
Distribuidores de IT. Accedido el 17 de abril de 2024. [En línea]. Disponible:
https://jotelulu.com/soporte/tutoriales/como-instalar-un-servidor-dns-en-windows-server/
[5] “Denegar el inicio de sesión de usuario o grupo a través de RDP - Windows Server”. Microsoft
Learn: Build skills that open doors in your career. Accedido el 18 de abril de 2024. [En línea].
Disponible: https://learn.microsoft.com/es-es/troubleshoot/windows-server/remote/deny-user-
permissions-to-logon-to-rd-session-host
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. 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:
78
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.
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
Cuestionario:
1. ¿Qué es un ransomware?
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.
79
Aplicaciones industriales:
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).
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
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.
81
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
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.
82
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.
83
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.
84
El proceso que deberá seguir el alumno para la realización de esta práctica costa de los siguientes
pasos:
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.
85
Aplicaciones industriales:
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.
86
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..
87
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.
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:
88
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.
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.
89
90
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.
91
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
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:
El proceso que deberá seguir el alumno para la realización de esta práctica consta de los siguientes
pasos:
92
Cuestionario:
1. ¿Qué es un NFS?
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:
93
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.
94
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.
95
Desarrollo de la práctica:
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 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?
96
3. ¿Qué operaciones se pueden realizar sobre un socket?
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:
97
Funcionamiento: la práctica debe funcionar al 100%, en caso contrario la calificación se otorgará de
acuerdo con lo que logre hacer sin errores.
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.
98