From 136e9fa4d62ec55619a0547eb391e7ec1e98d119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Ortega=20Froysa?= Date: Sat, 6 May 2023 10:07:37 +0200 Subject: [PATCH] TFC: Complete solution design and add blacklist requirement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolás Ortega Froysa --- TFC/tfc-naortega.bib | 7 +++++++ TFC/tfc-naortega.pdf | Bin 180033 -> 181992 bytes TFC/tfc-naortega.tex | 48 ++++++++++++++++++++++++++++++++----------- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/TFC/tfc-naortega.bib b/TFC/tfc-naortega.bib index a9f5737..81a1e6e 100644 --- a/TFC/tfc-naortega.bib +++ b/TFC/tfc-naortega.bib @@ -47,6 +47,13 @@ date={2023-05-05}, keywords={info} } +@online{blacklists, + author={{Université Toulouse 1 Capitole}}, + title={Blacklists UT1}, + url={http://dsi.ut-capitole.fr/blacklists/index_en.php}, + date={2023-05-05}, + keywords={resource} +} @online{nginx-vs-apache, author={{Hackr.io}}, title={NGINX vs Apache: Head to Head Comparison}, diff --git a/TFC/tfc-naortega.pdf b/TFC/tfc-naortega.pdf index 719be12e7cdf6ac6d44b239ac1375ef738417ee5..4d17de31b43244d6f73a6ecce2914c74ac8f9675 100644 GIT binary patch delta 25994 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

9a9YcnV=8Q<<_vb#JeRiUfo!DZ9_ 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 HFNpsK6l|f; delta 24122 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

r+Lbv(u*?TtsuzsTBQ53k!@jrWv?@T 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 diff --git a/TFC/tfc-naortega.tex b/TFC/tfc-naortega.tex index 8c2aa71..fef78b1 100644 --- a/TFC/tfc-naortega.tex +++ b/TFC/tfc-naortega.tex @@ -275,6 +275,17 @@ sencillo, siendo Bind9, también denominado {\it Named}. Está presente en todas las distribuciones más conocidas de Linux bajo el nombre de {\it bind}, {\it bind9}, o {\it named}. +También nos hace falta tener un recurso que contenga una lista de páginas +prohibidas que se vaya actualizando, y que nosotros opdamos ir descargando y +actualizando de manera sistemática y frecuente. Esto es necesario ya que siempre +pueden haber nuevos dominios que queramos bloquear, y no es posible mantener una +lista estática de este género. En esto podemos hacer uso de las listas negras de +la Universidad de Toulouse (\cite{blacklists}), que contiene varias categorías +de dominios que se pueden bloquear, entre ellas las categorías que nos interesan +serían las de <>, <>, <>, y +<>, además de otras categorías que podrían ser de interés al +usuario (e.g.\ <>). + Entre los programas de servidores HTTP existen dos candidatos principales: Nginx y Apache. Aunque si quisiésemos instalar nuestra solución en una máquina de {\it Microsoft Windows} se podría contemplar {\it Microsoft Internet Information @@ -344,6 +355,29 @@ dos partes esenciales: conectarse al dominio prohibido, y qué dominio ha sido. \end{itemize} +Como visualización gráfica, podemos fijarnos en la figura \ref{fig:network-map}, +que muestra una distribución básica de la red. El servicio DHCP de nuestra red +ha de tener configurado a la dirección IP de nuestro servidor {\it Angelus +Custos} como servidor DNS. Esto generalmente se encuentra dentro de la +configuración del {\it router}, que suele encargarse en el mismo dispositivo de +las tareas de servidor DNS, DHCP, {\it switch}, y enrutador. + +Cada vez que un cliente de nuestra red quiera acceder a un servidor por su +nombre de dominio (e.g.\ example.com) pedirá a nuestro servidor la resolución de +aquel nombre a una dirección IP. Si el dominio no se encuentra dentro de la +lista negra de sitios prohibidos se adelantará la petición a un servidor DNS +externo (e.g.\ Google en la dirección {\tt 8.8.8.8}) y seguirá la ruta normal. +Mas en el caso de que estuviera el nombre en la lista negra, nuestro servidor +devolvería su propia dirección IP para que así se conecte el cliente a nuestro +{\it script} que avisará al administrador y bloqueará el contenido, mostrando +nada más que una página estática con un texto predeterminado, avisando de que la +página está bloqueada y el administrador ha sido avisado. + +\section{Pruebas y Despliegue} +\subsection{Plan de Pruebas} +\subsection{Manuales Técnicos y de Usuario} +\subsection{Plan de Despliegue} + \begin{figure}[h] \centering \includegraphics[width=0.75\textwidth]{imgs/router-dns.png} @@ -351,19 +385,9 @@ dos partes esenciales: \label{fig:router-dns} \end{figure} -Como visualización gráfica, podemos fijarnos en la figura \ref{fig:network-map}, -que muestra una distribución básica de la red. El servicio DHCP de nuestra red -ha de tener configurado a la dirección IP de nuestro servidor {\it Angelus -Custos} como servidor DNS. Esto generalmente se encuentra dentro de la -configuración del {\it router}, que suele encargarse en el mismo dispositivo de -las tareas de servidor DNS, DHCP, {\it switch}, y enrutador. En el panel de -control del {\it router} se puede encontrar esta configuración en un apartado -parecido al que se ve en la figura \ref{fig:router-dns}. +En el panel de control del {\it router} se puede encontrar esta configuración +en un apartado parecido al que se ve en la figura \ref{fig:router-dns}. -\section{Pruebas y Despliegue} -\subsection{Plan de Pruebas} -\subsection{Manuales Técnicos y de Usuario} -\subsection{Plan de Despliegue} \section{Conclusiones y Propuestas de Mejora} \pagebreak