ASO::final-project: Add more content.
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								2/ASO/assignments/web-system/imgs/debian-install-choices.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								2/ASO/assignments/web-system/imgs/debian-install-choices.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 4.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								2/ASO/assignments/web-system/imgs/default-nginx-page.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								2/ASO/assignments/web-system/imgs/default-nginx-page.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 26 KiB  | 
							
								
								
									
										4
									
								
								2/ASO/assignments/web-system/web-system-naortega.lof
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								2/ASO/assignments/web-system/web-system-naortega.lof
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					\babel@toc {spanish}{}
 | 
				
			||||||
 | 
					\contentsline {figure}{\numberline {1}{\ignorespaces Mapa de intrenet.\relax }}{2}{figure.caption.4}%
 | 
				
			||||||
 | 
					\contentsline {figure}{\numberline {2}{\ignorespaces Selección de {\it software} adicional.\relax }}{5}{figure.caption.7}%
 | 
				
			||||||
 | 
					\contentsline {figure}{\numberline {3}{\ignorespaces Página de Nginx por defecto.\relax }}{8}{figure.caption.8}%
 | 
				
			||||||
							
								
								
									
										3
									
								
								2/ASO/assignments/web-system/web-system-naortega.lot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								2/ASO/assignments/web-system/web-system-naortega.lot
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					\babel@toc {spanish}{}
 | 
				
			||||||
 | 
					\contentsline {table}{\numberline {1}{\ignorespaces Tabla de direcciones IP.\relax }}{3}{table.caption.5}%
 | 
				
			||||||
 | 
					\contentsline {table}{\numberline {2}{\ignorespaces Tabla de particiones lógicas en los sistemas Debian.\relax }}{4}{table.caption.6}%
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							@@ -12,6 +12,9 @@
 | 
				
			|||||||
\maketitle
 | 
					\maketitle
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\tableofcontents
 | 
					\tableofcontents
 | 
				
			||||||
 | 
					\listoffigures
 | 
				
			||||||
 | 
					\listoftables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\pagebreak
 | 
					\pagebreak
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Resumen de Topología}
 | 
					\section{Resumen de Topología}
 | 
				
			||||||
@@ -71,9 +74,9 @@ lo que tiene instalado por defecto -- no es una instalación mínima, por así
 | 
				
			|||||||
decirlo. Así que asignaremos a él las especificaciones siguientes:
 | 
					decirlo. Así que asignaremos a él las especificaciones siguientes:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{itemize}
 | 
					\begin{itemize}
 | 
				
			||||||
	\item Procesadores: % TODO
 | 
						\item Procesadores: 2
 | 
				
			||||||
	\item Memoria: % TODO
 | 
						\item Memoria: 4096 MB
 | 
				
			||||||
	\item Disco: % TODO
 | 
						\item Disco: 50 GB
 | 
				
			||||||
\end{itemize}
 | 
					\end{itemize}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Instalaremos Windows Server utilizando las opciones por defecto. No hay mucho
 | 
					Instalaremos Windows Server utilizando las opciones por defecto. No hay mucho
 | 
				
			||||||
@@ -86,8 +89,8 @@ Server, por eso nos podemos permitir reducir los recursos alojados a éstos. A
 | 
				
			|||||||
estas máquinas alojaremos los recursos siguientes a todos:
 | 
					estas máquinas alojaremos los recursos siguientes a todos:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{itemize}
 | 
					\begin{itemize}
 | 
				
			||||||
	\item Procesadores: % TODO
 | 
						\item Procesadores: 1
 | 
				
			||||||
	\item Memoria: % TODO
 | 
						\item Memoria: 1024 MB
 | 
				
			||||||
	\item Disco: 10 GB
 | 
						\item Disco: 10 GB
 | 
				
			||||||
\end{itemize}
 | 
					\end{itemize}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -111,17 +114,33 @@ mismo grupo, y crearemos las particiones de acuerdo a la tabla
 | 
				
			|||||||
	\begin{tabular}{|l|l|}
 | 
						\begin{tabular}{|l|l|}
 | 
				
			||||||
		\hline
 | 
							\hline
 | 
				
			||||||
		{\bf Mountpoint} & {\bf Tamaño} \\ \hline
 | 
							{\bf Mountpoint} & {\bf Tamaño} \\ \hline
 | 
				
			||||||
		{\tt /} & \\ % TODO
 | 
							{\tt /} & 1.9 GB \\
 | 
				
			||||||
		{\tt /tmp} & \\ % TODO
 | 
							{\tt /boot} & 451 MB \\
 | 
				
			||||||
		{\tt /usr} & \\ % TODO
 | 
							{\tt /tmp} & 463 MB \\
 | 
				
			||||||
		{\tt /var} & \\ % TODO
 | 
							{\tt /usr} & 3.7 GB \\
 | 
				
			||||||
		Swap & \\ \hline % TODO
 | 
							{\tt /var} & 2.8 GB \\
 | 
				
			||||||
 | 
							Swap & 496 MB \\ \hline
 | 
				
			||||||
	\end{tabular}
 | 
						\end{tabular}
 | 
				
			||||||
	\caption{Tabla de particiones lógicas en los sistemas Debian.}
 | 
						\caption{Tabla de particiones lógicas en los sistemas Debian.}
 | 
				
			||||||
	\label{tbl:debian-partitions}
 | 
						\label{tbl:debian-partitions}
 | 
				
			||||||
\end{table}
 | 
					\end{table}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
En cuanto a los usuarios, crearemos
 | 
					En cuanto a los usuarios, crearemos un usuario {\it proxy}; es decir, sólo sirve
 | 
				
			||||||
 | 
					para luego pasarte al usuario root. En el caso este, se ha creado el usuario
 | 
				
			||||||
 | 
					{\tt nicolas} con contraseña {\tt nicolas} -- en realidad poner otra contraseña
 | 
				
			||||||
 | 
					más compleja. Para el usuario {\tt root} le asignaremos la contraseña {\tt
 | 
				
			||||||
 | 
					toor}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{figure}[ht!]
 | 
				
			||||||
 | 
						\includegraphics[width=0.75\textwidth]{imgs/debian-install-choices.png}
 | 
				
			||||||
 | 
						\caption{Selección de {\it software} adicional.}
 | 
				
			||||||
 | 
						\label{fig:debian-install-choices}
 | 
				
			||||||
 | 
					\end{figure}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Cuando nos pregunta si hay otros paquetes que queremos instalar queremos
 | 
				
			||||||
 | 
					especificar los <<standard system utilities>> y también el <<SSH server>>. No
 | 
				
			||||||
 | 
					instalamos <<web server>> porque esto instalará Apache, que no nos interesa.
 | 
				
			||||||
 | 
					Debería de aparecer como en la figura \ref{fig:debian-install-choices}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
El resto de la instalación se realizará de forma normal, eligiendo las opciones
 | 
					El resto de la instalación se realizará de forma normal, eligiendo las opciones
 | 
				
			||||||
correspondientes.
 | 
					correspondientes.
 | 
				
			||||||
@@ -141,16 +160,160 @@ systemctl stop network-manager.service
 | 
				
			|||||||
systemctl disable network-manager.service
 | 
					systemctl disable network-manager.service
 | 
				
			||||||
\end{minted}
 | 
					\end{minted}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Una vez deshabilitado el NetworkManager, ya podemos empezar a modificar los
 | 
				
			||||||
 | 
					archivos de configuración de red. El primer paso será definir una dirección IP
 | 
				
			||||||
 | 
					estática. Para empezar, encontramos cuál es el nombre de nuestro interfaz, que
 | 
				
			||||||
 | 
					se puede hacer utilizando el comando {\tt ip a}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{minted}{text}
 | 
				
			||||||
 | 
					1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state
 | 
				
			||||||
 | 
					UNKNOWN group default qlen 1000
 | 
				
			||||||
 | 
					    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 | 
				
			||||||
 | 
					    inet 127.0.0.1/8 scope host lo
 | 
				
			||||||
 | 
					       valid_lft forever preferred_lft forever
 | 
				
			||||||
 | 
					    inet6 ::1/128 scope host
 | 
				
			||||||
 | 
					       valid_lft forever preferred_lft forever
 | 
				
			||||||
 | 
					2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
 | 
				
			||||||
 | 
					pfifo_fast state UP group default qlen 1000
 | 
				
			||||||
 | 
					    link/ether 08:00:27:31:09:eb brd ff:ff:ff:ff:ff:ff
 | 
				
			||||||
 | 
					    inet 10.0.2.2/24 brd 172.16.40.255 scope global dynamic
 | 
				
			||||||
 | 
					enp0s3
 | 
				
			||||||
 | 
					       valid_lft 595981sec preferred_lft 595981sec
 | 
				
			||||||
 | 
					    inet6 fe80::a00:27ff:fe76:1cdf/64 scope link
 | 
				
			||||||
 | 
					       valid_lft forever preferred_lft forever
 | 
				
			||||||
 | 
					\end{minted}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Vemos en este ejemplo que queremos hacer uso de la interfaz {\tt enp0s3}, que es
 | 
				
			||||||
 | 
					la interfaz red de {\it ethernet}. Luego, en el archivo {\tt
 | 
				
			||||||
 | 
					/etc/network/interfaces}, vamos a configurarlo de la forma siguiente asumiendo
 | 
				
			||||||
 | 
					aquel interfaz y que queremos la dirección IP estática 10.0.2.2:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{minted}{text}
 | 
				
			||||||
 | 
					# This file describes the network interfaces available on your system
 | 
				
			||||||
 | 
					# and how to activate them. For more information, see interfaces(5).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source /etc/network/interfaces.d/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The loopback network interface
 | 
				
			||||||
 | 
					auto lo
 | 
				
			||||||
 | 
					iface lo inet loopback
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The primary network interface
 | 
				
			||||||
 | 
					allow-hotplug enp0s3
 | 
				
			||||||
 | 
					iface enp0s3 inet static
 | 
				
			||||||
 | 
					    address 10.0.2.2
 | 
				
			||||||
 | 
					    netmask 255.255.255.0
 | 
				
			||||||
 | 
					\end{minted}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					También queremos configurar nuestro servidor de DNS, que será el Windows Server
 | 
				
			||||||
 | 
					2019 con Active Directory. Para esto hemos de modificar el archivo {\tt
 | 
				
			||||||
 | 
					/etc/resolv.conf} con el contenido siguiente:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{minted}{text}
 | 
				
			||||||
 | 
					domain nortega.local
 | 
				
			||||||
 | 
					search nortega.local
 | 
				
			||||||
 | 
					nameserver 10.0.2.50
 | 
				
			||||||
 | 
					\end{minted}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Una vez acabado debemos de hacer que el archivo sea inmutable, ya que muchos
 | 
				
			||||||
 | 
					servicios intentan modificar este fichero. Para eso corremos simplemente el
 | 
				
			||||||
 | 
					comando {\tt chattr +i /etc/resolv.conf}. Una vez configurado ya podemos
 | 
				
			||||||
 | 
					reiniciar el servicio de {\it networking} y veremos como hace uso de la
 | 
				
			||||||
 | 
					configuración especificada. Esto lo hacemos del modo siguiente:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{minted}{bash}
 | 
				
			||||||
 | 
					systemctl restart networking.service
 | 
				
			||||||
 | 
					ifup enp0s3
 | 
				
			||||||
 | 
					\end{minted}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%\section{Active Directory}
 | 
					%\section{Active Directory}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
% STUB
 | 
					% STUB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Terminal de Administración}
 | 
					\section{Terminal de Administración}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Servidor Web}
 | 
					En este dispositivo lo más importante que debemos instalar, para el propósito de
 | 
				
			||||||
 | 
					administrar los servidores de la red, es SSH. Esto debería de estar disponible
 | 
				
			||||||
 | 
					ya si hemos instalado nuestro Debian con la opción <<SSH server>> mencionado
 | 
				
			||||||
 | 
					antes (que instala el cliente y el servidor).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Base de Datos}
 | 
					\section{Base de Datos}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					La base de datos, como se explicó anteriormente, será un servidor con el
 | 
				
			||||||
 | 
					programa MariaDB. Lo primero es instalar MariaDB como tal:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{minted}{bash}
 | 
				
			||||||
 | 
					apt update
 | 
				
			||||||
 | 
					apt install mariadb-server
 | 
				
			||||||
 | 
					\end{minted}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Aunque el paquete se llama {\tt mariadb-server}, incluye también un cliente muy
 | 
				
			||||||
 | 
					espartano: {\tt mysql}. Pero antes de interactuar con la base de datos queremos
 | 
				
			||||||
 | 
					finalizar la instalación. Esto se hace con el comando siguiente: {\tt
 | 
				
			||||||
 | 
					mysql\_secure\_installation}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Después de configurar la contraseña de {\tt root}, veremos que nos pide si la
 | 
				
			||||||
 | 
					autenticación debería de ser por <<unix\_socket>>. Esto no es nuestro caso ya
 | 
				
			||||||
 | 
					que queremos conectarnos remotamente desde nuestro servidor web, así que
 | 
				
			||||||
 | 
					respondemos que no: <<n>>. Luego nos preguntará si queremos eliminar los
 | 
				
			||||||
 | 
					usuarios anónimos. Esto puede ser buena idea para evitar que aquellos que no
 | 
				
			||||||
 | 
					tengan la autorización para acceder a nuestro servidor de base de datos no lo
 | 
				
			||||||
 | 
					puedan hacer, así que respondemos que sí: <<y>>. La próxima pregunta tiene que
 | 
				
			||||||
 | 
					ver con el acceso remoto al usuario {\tt root} de la base de datos, y si se
 | 
				
			||||||
 | 
					debería de permitir. Esto puede ser un riesgo de seguridad, ya que {\tt root}
 | 
				
			||||||
 | 
					tiene privilegios para acceder y manipular todos los datos que tenemos. También,
 | 
				
			||||||
 | 
					si nosotros queremos acceder a este usuario, lo podemos hacer accediendo primero
 | 
				
			||||||
 | 
					a la máquina por SSH desde el terminal administrador y luego entrando localmente
 | 
				
			||||||
 | 
					como el usuario {\tt root} de la base de datos. Por eso lo racional es no
 | 
				
			||||||
 | 
					permitir (o {\it despermitir}): <<y>>. La próxima opción es para eliminar la
 | 
				
			||||||
 | 
					base de datos de prueba y todo acceso a ello. Como no tendremos necesidad de
 | 
				
			||||||
 | 
					utilizarla, podemos eliminarla: <<y>>. Finalmente nos pregunta si queremos
 | 
				
			||||||
 | 
					actualizar todos los privilegios en este momento. Ya se hará en un futuro
 | 
				
			||||||
 | 
					(cuando reiniciamos la máquina, por ejemplo), pero si queremos empezar a
 | 
				
			||||||
 | 
					trabajar ya sobre la base de datos, lo que nos conviene es actualizarlos: <<y>>.
 | 
				
			||||||
 | 
					Una vez que hayamos terminado, ya podremos conectarnos al servidor de base de
 | 
				
			||||||
 | 
					datos con el comando {\tt mysql} de la forma siguiente:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{minted}{text}
 | 
				
			||||||
 | 
					# mysql -u root -p
 | 
				
			||||||
 | 
					Enter password:
 | 
				
			||||||
 | 
					Welcome to the MariaDB monitor.  Commands end with ; or \g.
 | 
				
			||||||
 | 
					Your MariaDB connection id is 31
 | 
				
			||||||
 | 
					Server version: 10.5.18-MariaDB-0+deb11u1 Debian 11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and
 | 
				
			||||||
 | 
					others.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Type 'help;' or '\h' for help. Type '\c' to clear the current
 | 
				
			||||||
 | 
					input statement.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MariaDB [(none)]>
 | 
				
			||||||
 | 
					\end{minted}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Para salir sólo hemos de insertar el comando {\tt quit;} o usar la combinación
 | 
				
			||||||
 | 
					de teclas Ctrl+D, como con cualquier otro {\it shell}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\section{Servidor Web}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					En nuestro servidor web, con nombre {\tt web0} queremos instalar el programa
 | 
				
			||||||
 | 
					Nginx. Para esto hemos de correr los comandos siguientes:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{minted}{bash}
 | 
				
			||||||
 | 
					apt update
 | 
				
			||||||
 | 
					apt install nginx
 | 
				
			||||||
 | 
					\end{minted}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Esto no sólo instalará Nginx, sino que también lo inicializará, de tal modo que
 | 
				
			||||||
 | 
					si intentas acceder a nuestro servidor web en un navegador por el puerto 80, te
 | 
				
			||||||
 | 
					saldrá la página por defecto de Nginx (figura \ref{fig:default-nginx-page}).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{figure}[ht!]
 | 
				
			||||||
 | 
						\centering
 | 
				
			||||||
 | 
						\includegraphics[width=0.75\textwidth]{imgs/default-nginx-page.png}
 | 
				
			||||||
 | 
						\caption{Página de Nginx por defecto.}
 | 
				
			||||||
 | 
						\label{fig:default-nginx-page}
 | 
				
			||||||
 | 
					\end{figure}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\pagebreak
 | 
					\pagebreak
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Derechos de Autor y Licencia}
 | 
					\section{Derechos de Autor y Licencia}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,10 @@
 | 
				
			|||||||
\babel@toc {spanish}{}\relax 
 | 
					\babel@toc {spanish}{}
 | 
				
			||||||
\contentsline {section}{\numberline {1}Resumen de Topología}{2}{section.1}%
 | 
					\contentsline {section}{\numberline {1}Resumen de Topología}{2}{section.1}%
 | 
				
			||||||
\contentsline {section}{\numberline {2}Configuración Inicial Windows Server}{3}{section.2}%
 | 
					\contentsline {section}{\numberline {2}Configuración Inicial Windows Server}{3}{section.2}%
 | 
				
			||||||
\contentsline {section}{\numberline {3}Configuración Inicial Linux}{3}{section.3}%
 | 
					\contentsline {section}{\numberline {3}Configuración Inicial Linux}{3}{section.3}%
 | 
				
			||||||
\contentsline {subsection}{\numberline {3.1}Instalación}{4}{subsection.3.1}%
 | 
					\contentsline {subsection}{\numberline {3.1}Instalación}{4}{subsection.3.1}%
 | 
				
			||||||
\contentsline {subsection}{\numberline {3.2}Post-Instalación}{4}{subsection.3.2}%
 | 
					\contentsline {subsection}{\numberline {3.2}Post-Instalación}{4}{subsection.3.2}%
 | 
				
			||||||
\contentsline {section}{\numberline {4}Terminal de Administración}{4}{section.4}%
 | 
					\contentsline {section}{\numberline {4}Terminal de Administración}{6}{section.4}%
 | 
				
			||||||
\contentsline {section}{\numberline {5}Servidor Web}{4}{section.5}%
 | 
					\contentsline {section}{\numberline {5}Base de Datos}{7}{section.5}%
 | 
				
			||||||
\contentsline {section}{\numberline {6}Base de Datos}{4}{section.6}%
 | 
					\contentsline {section}{\numberline {6}Servidor Web}{8}{section.6}%
 | 
				
			||||||
\contentsline {section}{\numberline {7}Derechos de Autor y Licencia}{5}{section.7}%
 | 
					\contentsline {section}{\numberline {7}Derechos de Autor y Licencia}{9}{section.7}%
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user