Práctica 6: Creación de recursos en Azure#

Equipo AMJ-GAB-TPKL

  • Alanis Martínez Jennifer
  • González Arreguín Bryan
  • Torres Partida Karen Larissa

Nombre de Dominio y Dirección IP Pública#

Nombre de Dominio: scrapykoko.ml

IP pública: 20.213.61.249

Recursos Azure#

Máquina Virtual#

Después de obtenida la cuenta de @comunidad.unam.mx se creó una cuenta Azure para estudiantes, siguiendo las instrucciones dada Aquí.

Primero se generó una Máquina Virtual de Debian 11, siguiendo los pasos de Aquí, dando como resultado la siguiente máquina:

Máquina Virtual 1
Máquina Virtual 2
Máquina Virtual 3

Dentro de esta guía se tenía que verificar que en las reglas de puerto de entrada se encontraran las de SSH, HTTP y HTTPS, esto se puede ver aquí:

Reglas de puerto de entrada

Zona DNS#

Para generar esta Zona DNS, primero tuvimos que hacer el registro de un dominio este para poder ponerlo como nombre de la instancia, en Azure se siguieron todos los pasos espeficados aquí, dando la siguiente instancia:

Zona DNS

También se crearon los siguientes registros:

  • Un registro A principal para el dominio el cual contiene la direccion ip publica de la maquina virtual.

  • Un registro CNAME wildcard el cual tiene como valor el nombre de dominio hecho en FreeNorm.

Dando así los marcados en rojo:

Registros

Registro Dominio FreeNom#

Primeramente se accedió a esta página, luego se le dio a la pestaña services y a la opción Register a New Domain, eso nos llevó a la siguiente página:

FreeNom

Después donde dice Find a new Free Domain, nosotros ingresamos a scrapykoko.ml, comprobamos que estuviera disponible, y lo obtuvimos por 12 meses, siguiendo los pasos de aquí, lo cual nos llevo a tener ya el siguiente dominio, en nuestra página de mis dominios:

Dominios

Luego de haber generado la Zona DNS, esta la vinculamos con el nombre de dominio para ello usamos los valores ubicados en la siguiente imagen:

Valores usados en rojo

Estos valores los insertamos dentro de nuestro dominio en FreeNom, ingresando primero a la pestaña de Manage Domain, luego dentro de esta página le dimos a Herramientas de Gestión a la opción de Servidores de nombres, ya dentro de ella selecionando Usar nameservers personalizados (introducir abajo), ingresamos los valores marcados en rojo anteriormente dando como resultado lo siguiente:

Asociando Zona DNS a scrapykoko.ml

También se deja la prueba de WHOIS hecha en la página de FreeNom:

WHOIS a scrapykoko.ml

Además se hicieron Búsquedas DNS, para el registro SOA, NS, A y CNAME estas se encuentran aquí.

Configuración de la máquina virtual Debian#

Se siguieron la instrucciones de la siguiente página.

La primera vez para ingresar a la Máquina Virtual se usó el siguiente comando:

ssh redes@20.213.61.249

Y como era la primera vez, tuvimos que agregar el fingerprint de la llave SSH del equipo remoto, a nuestra computadora, dándole yes a la pregunta que nos salió al dar ese comando.

Después de esto ingresamos con la contraseña definida para el usuario redes, que se configuró en la parte de la creación de la Máquina Virtual.

Luego se configuró el sudo, revisando lo siguientes comandos, para revisar la lista de opciones del usuario redes que aplican para que él pueda elevar a privilegios utilizando sudo:

redes@scrapykoko:~$ sudo -k
redes@scrapykoko:~$ sudo -l
Matching Defaults entries for redes on scrapykoko:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User redes may run the following commands on scrapykoko:
    (ALL : ALL) ALL
    (ALL) NOPASSWD: ALL

Y se verificó que al usuario no le pidiera contraseña al elevar privilegios:

redes@scrapykoko:~$ sudo -i
root@scrapykoko:~#

Nosotros no establecimos el contenido al archivo /etc/sudoers.d/waagent pues no existía en nuestra máquina:

root@scrapykoko:~# cat /etc/sudoers.d/waagent
cat: /etc/sudoers.d/waagent: No such file or directory

Luego se configuró una llave SSH para autenticarse en la máquina virtual, como decían las instrucciones, se adjunta la llave pública.

Después se configuró el nombre de host, con el siguiente comando:

hostnamectl sethostname scrapykoko.ml

Dando como resultado a:

root@scrapykoko:~# hostname -f
scrapykoko.ml

Se le agregó la última línea al archivo /etc/hosts para que quedara así:

root@scrapykoko:~# cat /etc/hosts
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

20.213.61.249  scrapykoko.ml
root@scrapykoko:~#

Después se configuró la zona horaria para que estuviera en America/Mexico_City con el siguiente comando:

timedatectl set-timezone America/Mexico_City

Dando como resultado a:

root@scrapykoko:~# date
Tue 07 Jun 2022 12:39:21 PM CDT
root@scrapykoko:~# timedatectl
               Local time: Tue 2022-06-07 12:39:28 CDT
           Universal time: Tue 2022-06-07 17:39:28 UTC
                 RTC time: Tue 2022-06-07 17:39:28
                Time zone: America/Mexico_City (CDT, -0500)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Luego se configuró el idioma para que estuviera en en_US.UTF-8, eso se hizo con el siguiente comando y seleccionando las opciones que ponemos:

dpkg-reconfigure -p low locales

Se seleccionó a :

  • [] en_US.UTF-8 en Configuring locales*

  • [] en_US.UTF-8 en Locales to be generated*

Y al final se selecciona a en_US.UTF-8 en la lista de Default locale.

Después se agregó la llave de SSH de los profesores en el archivo ~/.ssh/authorized_keys2, siguiendo las instrucciones, por lo que solo mostramos que los permisos y atributos estén correctamente configurados:

root@scrapykoko:~# ls -la ~root/.ssh ~redes/.ssh
/home/redes/.ssh:
total 12
drwx------ 2 redes redes 4096 Jun  3 22:03 .
drwxr-xr-x 4 redes redes 4096 Jun  4 14:06 ..
-rw------- 1 redes redes    0 Jun  3 20:56 authorized_keys
-rw------- 1 redes redes  748 Jun  3 22:03 authorized_keys2

/root/.ssh:
total 12
drwx------ 2 root root 4096 Jun  4 16:10 .
drwx------ 4 root root 4096 Jun  3 21:43 ..
-rw------- 1 root root    0 Jun  3 20:56 authorized_keys
-rw------- 1 root root  748 Jun  3 22:04 authorized_keys2
root@scrapykoko:~# lsattr ~root/.ssh/authorized_keys* ~redes/.ssh/authorized_keys*
--------------e------- /root/.ssh/authorized_keys
----i---------e------- /root/.ssh/authorized_keys2
--------------e------- /home/redes/.ssh/authorized_keys
----i---------e------- /home/redes/.ssh/authorized_keys2

Y ya por último se instaló las utilerías de red en la máquina virtual:

root@scrapykoko:~# apt -qy install tree tcpdump nmap netcat-openbsd ngrep dsniff wget curl whois dnsutils net-tools iproute2 iptables tsocks inetutils-ping inetutils-traceroute inetutils-tools ethtool
Reading package lists...
Building dependency tree...
Reading state information...
dnsutils is already the newest version (1:9.16.27-1~deb11u1).
curl is already the newest version (7.74.0-1.3+deb11u1).
dsniff is already the newest version (2.4b1+debian-30).
ethtool is already the newest version (1:5.9-1).
inetutils-ping is already the newest version (2:2.0-1).
inetutils-tools is already the newest version (2:2.0-1).
inetutils-traceroute is already the newest version (2:2.0-1).
iproute2 is already the newest version (5.10.0-4).
iptables is already the newest version (1.8.7-1).
net-tools is already the newest version (1.60+git20181103.0eebece-1).
netcat-openbsd is already the newest version (1.217-3).
ngrep is already the newest version (1.47+ds1-2).
nmap is already the newest version (7.91+dfsg1+really7.80+dfsg1-2).
tcpdump is already the newest version (4.99.0-2).
tree is already the newest version (1.8.0-1+b1).
tsocks is already the newest version (1.8beta5+ds1-1+b1).
wget is already the newest version (1.21-1+deb11u1).
whois is already the newest version (5.5.10).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Salida de los comandos en usuario root#

Comandos solicitados

# uname -a
# cat /proc/cmdline
# id redes
# groups redes
# sudo -l -U redes
# timedatectl
# hostnamectl
# hostname -f
# ip addr
# ip route
# cat /etc/hostname
# cat /etc/hosts
# cat /etc/resolv.conf
# ls -la ~root/.ssh ~redes/.ssh
# lsattr ~root/.ssh/authorized_keys* ~redes/.ssh/authorized_keys*
# lastlog
# last
# free -m
# ps afx

Salida

Archivos solicitados#

Archivos de configuración:#

Archivos de bitácora#

Archivos de datos#