Traducido del inglés al español - [Link].
com
27/11/21 18:02 NETinVM
NETinVM
Una herramienta para enseñar y aprender sobre sistemas,
redes y seguridad
Autores: Carlos Perez y David Perez
Fecha: 2020-09-04
Contenido
Introducción
Descripción de NETinVM
Trabajando con NETinVM
Puesta en marcha inicial
Interfaz grafica
Proceso de puesta en marcha completo
Aprovechando KVM y libvirt (o cómo usar el escritorio LXDE en los
KVM)
Ejercicios de muestra
Capturar una sesión HTTP con Wireshark
Port Scanning con Nmap
Descargar información
Introducción
NETinVM es un VMware imagen de máquina virtual que proporciona al usuario una red
informática completa. Por esta razón, NETinVM se puede utilizar para aprender sobre sistemas
operativos, redes de computadoras y seguridad de sistemas y redes.
Además, dado que NETinVM es una imagen de VMware, se puede utilizar para demostraciones (es decir, en
las aulas) que los estudiantes pueden reproducir en un laboratorio o en su propia computadora portátil y,
por lo tanto, en casa, en la biblioteca ... razones por las que presentamos NETinVM como una herramienta
educativa.
Descripción de NETinVM
NETinVM es un VMware imagen de máquina virtual que contiene, lista para ejecutarse, una
serie deMáquina virtual de kernel (KVM) máquinas virtuales. Cuando se inician, las máquinas
virtuales KVM crean una red de computadoras completa; de ahí el nombre NETinVM, un
acrónimo deNETwork en máquina virtual. Esta red virtual se ha llamado '[Link]' y tiene
nombres de dominio totalmente calificados definidos para los sistemas: '[Link]',
'[Link]', etc.
[Link] 1/7
27/11/21 18:02 NETinVM
Todas las máquinas virtuales utilizan el sistema operativo Linux. La máquina virtual de
VMware se llama 'base' y se ejecutaDebian 10. Las máquinas Kernel Virtual Machine
también usan Debian 10 y tienen diferentes nombres según la ubicación de su red, porque
están agrupados en tres subredes diferentes: corporativa, perimetral y externa. Las
subredes se denominan 'int' (para red interna), 'dmz' (para DMZ o zona desmilitarizada,
generalmente utilizada como sinónimo de red perimetral) y 'ext' (para red externa).
Una de las máquinas KVM, 'fw', interconecta las tres redes ('int,' dmz 'y' ext '), lo que
permite la comunicación y el filtrado de paquetes. El resto de las máquinas KVM tienen
solo una interfaz de red, conectada a la red que les da nombre:
int <X>
KVM conectados a la red interna. <X> puede tomar valores de 'a' a 'f', ambos inclusive. Estas
máquinas solo ofrecen servicio SSH de forma predeterminada.
dmz <X>
KVM conectados a la red perimetral (DMZ). Se supone que son nodos
bastión. Se proporcionan dos nodos bastión preconfigurados, cada uno con
su alias apropiado:
'dmza' tiene un alias como '[Link]' y ofrece servicios HTTP y
HTTPS.
'dmzb' tiene un alias como '[Link]' y ofrece FTP.
ext <X>
KVM conectados a la red externa (es decir, Internet).
Debido a que una imagen pinta mil palabras, o eso dicen, la siguiente figura muestra NETinVM con
todas las máquinas virtuales ejecutándose en su interior.
Vista general de NETinVM en VMware. El [Link] ofrece una vista detallada.
Todos los elementos mencionados anteriormente se muestran en la imagen con sus direcciones IP y
Ethernet. Se han utilizado las siguientes reglas para asignar direcciones:
Las direcciones IP tienen el formato 10.5. <NET>. <MACHINE>, donde <NET>
es 0 ('ext'), 1 ('dmz') o 2 ('int'), y <MACHINE> es 10 para 'exta', 'dmza' o
[Link] 2/7
27/11/21 18:02 NETinVM
'inta', 11 para 'b' y así sucesivamente hasta 15 para 'f'.
Las máscaras de red son de 24 bits ([Link]).
Las direcciones Ethernet son CA: FE: 00: 00: 0 <NET>: 0 <MACHINE>, donde
<NET> es 0, 1 o 2 (siguiendo la misma regla de dominio que el direccionamiento
IP) y <MACHINE> es a, b, c, d, eof.
Las interfaces de 'fw' usan 254 para IP y FE para ethernet.
Las interfaces de 'base' usan 1 para IP y 01 para ethernet.
Además de las computadoras y redes ya descritas, la figura también muestra la
computadora real donde se ejecuta NETinVM ('REAL COMPUTER') y la interfaz de red
típica de VMware Player ('vmnet8'), que opcionalmente interconecta las redes de
NETinVM con la palabra externa.
Cuando arrancan, todas las máquinas virtuales KVM obtienen su configuración de red
desde 'base', que proporciona servicios DHCP y DNS a las tres redes NETinVM a través de
sus interfaces 'virbr-ext', 'virbr-dmz' y 'virbr-int'.
El enrutamiento funciona de la siguiente manera:
La puerta de enlace predeterminada para las redes internas y perimetrales (máquinas 'int
<X>' y 'dmz <X>') es 'fw' (más específicamente, la dirección IP de 'fw' en la subred interna
o perimetral correspondiente).
La puerta de enlace predeterminada para 'fw' es 'base' (su dirección de red externa).
'base' (su dirección de red externa) es también la puerta de enlace predeterminada para las
máquinas en la red externa ('ext <X>'), pero están configuradas para usar 'fw' (dirección de red
externa) como puerta de enlace para acceder a las máquinas en el perímetro y las redes
internas.
Así, el tráfico IP intercambiado entre las tres redes pasa por 'fw', mientras que el tráfico
que sale de NETinVM al mundo externo pasa por 'fw' si (y solo si) proviene de las redes
internas o perimetrales. Todo el tráfico que va al mundo real (fuera de NETinVM) sale a
través de 'base', que aplica el reenvío de IP y NAT a este tráfico saliente y lo enruta de
regreso a través de la red externa utilizando la tabla de enrutamiento 'netinvm'.
La comunicación entre 'base' y cualquier máquina KVM, en ambas direcciones, es directa, sin
pasar por 'fw'. (Cuando la comunicación se inicia desde una máquina KVM, se debe usar la
dirección IP de la interfaz de 'base' en la red correspondiente). Esta configuración permite el
acceso desde 'base' a todas las máquinas KVM usando SSH independientemente de la
configuración de filtrado de paquetes en 'fw'.
Trabajando con NETinVM
Puesta en marcha inicial
Para iniciar NETinVM, debe descargar la imagen de VMware, descomprimirla y ejecutarla
con el programa VMware Player, que se puede descargar de forma gratuita desdeVMware.
Una vez que se ha iniciado VMware, [Link] se está ejecutando, ofreciendo un escritorio KDE
estándar para el usuario sin privilegios usuario1. Su contraseña es "Puedes cambiarme". La misma
contraseña es válida pararaíz, además. (Los mismos usuarios y contraseñas también son válidos para
máquinas KVM).
La idea es para base ser un escritorio en el que trabajar mientras se hacen ejercicios y por eso incluye
LibreOffice y otras herramientas similares. También está diseñado para ser el mejor lugar para
monitorear el tráfico en las redes internas. En esta medida, cada conmutador de red
[Link] 3/7
27/11/21 18:02 NETinVM
tiene un puerto espejo que lleva el nombre de la red correspondiente (espejo-ext, espejo-dmz y
espejo-int). Ybase también contiene Wirehark y tcpdump. Por supuesto, el usuario puede agregar
otras herramientas.
Interfaz grafica
A partir de 2010, NETinVM incluye un componente de "Vista de carpetas" con la etiqueta "Máquinas
KVM" con enlaces gráficos a las aplicaciones:
Enlaces a aplicaciones para realizar las tareas más habituales con máquinas KVM.
Cuando se hace clic en ellos, los enlaces realizan las siguientes acciones:
"Ejecutar todo"
Da vida a NETinVM (ver Proceso de puesta en marcha completo).
"Apagar todo"
Apaga todas las máquinas KVM. "Copia
de seguridad de máquinas KVM"
Crea una copia de seguridad de toda la red NETinVM. (Todas las máquinas deben apagarse antes de
realizar la copia de seguridad). La copia de seguridad se almacena en un archivo "[Link]" cuyo
nombre se puede establecer durante el proceso. De forma predeterminada, las copias de seguridad
se almacenan en "~ user1 / netinvm / backups" y se denominan "kvm_machines_yyyy-mm-
dd_hhmm.tgz", donde "aaaa-mm-dd_hh-mm" representa la fecha (año, mes, día del mes). y tiempo
(horas, minutos).
"Restaurar máquinas KVM"
Elimina el estado actual de la máquina KVM y restaura uno anterior. El archivo de respaldo se puede
seleccionar durante el proceso. (Todas las máquinas deben apagarse antes de restaurar una copia
de seguridad).
"Documentación de NETinVM"
Inicia un navegador que muestra una copia local de esta documentación.
"Configurar mis máquinas"
Inicia un editor para ajustar el script utilizado por "Ejecutar mis máquinas".
"Ejecutar mis máquinas"
Da vida al subconjunto de KVM especificado con "Configurar mis máquinas".
Proceso de puesta en marcha completo
El comando netinvm_run_all es la palabra mágica que da vida casi todo en
NETinVM. En concreto, lanza los siguientes elementos:
[Link] 4/7
27/11/21 18:02 NETinVM
los conmutadores virtuales (puentes de Linux) que componen las redes externas (ext),
internas (int) y apantalladas (dmz)
las máquinas virtuales KVM: fw, exta, inta, dmza y dmzb.
Aunque NETinVM está listo para ejecutar hasta seis máquinas virtuales KVM por red (de la 'a' a la 'f'), con
solo las cuatro mencionadas anteriormente es posible desarrollar una amplia gama de actividades. Por
supuesto, en la práctica, cuantos menos sistemas virtuales KVM se ejecuten, más rápido se ejecutará todo
el sistema.
Cada máquina virtual KVM se inicia en un escritorio virtual KDE diferente:
exta en el escritorio 2
fw en el escritorio 4
dmza en el escritorio 5
dmzb en el escritorio 6
inta en el escritorio 8
En cada escritorio se pueden identificar los siguientes elementos, todos mostrados en la siguiente
figura:
Una ventana de terminal que, al final del proceso de arranque, permite al usuario iniciar
sesión en el sistema virtual KVM. Es el equivalente a un terminal en serie cableado al
sistema virtual KVM.
Dos ventanas de terminal más que también funcionan como terminales del sistema virtual KVM,
pero comienzan minimizadas.
Vista del escritorio 2 después de arrancar exta.
Una vez que se han iniciado todos los sistemas virtuales KVM, es fácil ubicar sus ventanas
correspondientes utilizando la lista de ventanas de KDE, a la que se puede acceder haciendo clic en el
icono "Lista de ventanas" en el panel o presionando 'Meta-w'. El resultado debería ser similar a la
siguiente figura:
[Link] 5/7
27/11/21 18:02 NETinVM
Lista de ventanas después de que se hayan iniciado todos los sistemas virtuales KVM.
Todos los sistemas virtuales KVM tienen un usuario sin privilegios usuario1. La contraseña predeterminada para
ambosusuario1 un raíz en todas las máquinas KVM es (como con "base") "Puedes cambiarme".
Aprovechando KVM y libvirt (o cómo usar el
escritorio LXDE en los KVM)
Aunque la versión KVM de NETinVM ha sido diseñada para ofrecer la misma interfaz que las
versiones anteriores de NETinVM, esta versión utiliza libvirt. Por esta razón, NETinVM también se
puede utilizar para aprender sobre KVM ylibvirt utilizando documentación en línea.
Además, la aplicación "virt-viewer" se puede utilizar para iniciar un escritorio LXDE en cualquiera de
las máquinas KVM. Por ejemplo, para iniciar LXDE en "exta":
Inicie "exta" usando "Ejecutar todo", "Ejecutar mis máquinas" o ejecutando "netinvm_run
exta".
Desde un terminal en "base", como usuario "user1", ejecute "virt-viewer exta".
En la consola gráfica iniciada por "virt-viewer", inicie sesión como "user1". (Si la consola está
completamente negra, presione ENTER para forzar un mensaje de inicio de sesión).
Ejecute "startx".
Un escritorio LXDE completo debería comenzar después de unos segundos.
Ejercicios de muestra
Los siguientes documentos describen algunos ejercicios de muestra que se pueden realizar con
NETinVM.
[Link] 6/7
27/11/21 18:02 NETinVM
Capturar una sesión HTTP con Wireshark
Capture una sesión HTTP de "exta" a "[Link]" usando Wireshark:
Capturar una sesión HTTP con Wireshark.
Escaneo de puertos con Nmap
Realice un análisis de puerto completo contra "[Link]" desde "[Link]": Escaneo de
puertos con Nmap.
Descargar información
NETinVM se puede descargar directamente desde su página principal: [Link]
Ver fuente del documento. Generado el: 2020-09-04 10:48 UTC. Generado porDocutils de reStructuredText fuente.
[Link] 7/7