diff --git a/TFC/tfc-naortega.pdf b/TFC/tfc-naortega.pdf index 4360e45..fbcc28d 100644 Binary files a/TFC/tfc-naortega.pdf and b/TFC/tfc-naortega.pdf differ diff --git a/TFC/tfc-naortega.tex b/TFC/tfc-naortega.tex index 1f7232c..80c95d0 100644 --- a/TFC/tfc-naortega.tex +++ b/TFC/tfc-naortega.tex @@ -49,7 +49,7 @@ personas particulares, y no un plan de negocio. \section{Contexto} \subsection{Situación Actual} -% https://thehill.com/changing-america/well-being/mental-health/3806794-most-teenagers-exposed-to-online-pornography-by-age-13-survey/ +% SRC: https://thehill.com/changing-america/well-being/mental-health/3806794-most-teenagers-exposed-to-online-pornography-by-age-13-survey/ Vivimos en un mundo muy digitalizado donde los niños están expuestos a pornografía desde una edad muy temprana. Aunque hay muchos factores que @@ -60,7 +60,7 @@ Aunque diferentes organismos han intentado mitigar esta posibilidad con soluciones como las {\em búsquedas seguras} en los buscadores, no ha sido suficiente. -% https://edlatimore.com/best-porn-blocker/ +% SRC: https://edlatimore.com/best-porn-blocker/ A causa de esto se han creado muchas alternativas para bloquear pornografía en entornos familiares, educativos, religiosos, etc. Estas alternativas han llegado @@ -142,18 +142,72 @@ distribuciones de BSD o Linux. Luego, en cuestión de requisitos {\it software} haría falta, en primer lugar, un sistema operativo tipo UNIX que soporte a todo el {\it software} que -mencionaremos después. Aunque hay muchas opciones que podrían servir, para este -caso se utilizará Debian GNU/Linux, versión Bullseye (11), el actual estable en -la fecha de publicación de este documento. Esta distribución de Linux se escoge -por ser una distribución muy utilizada en el ámbito de servidores, con mucho -soporte y comunidad, que utiliza pocos recursos -- se puede instalar fácilmente -sin entorno gráfico --, y es conocida por su estabilidad. Se puede seguir -utilizando este guía para montar la solución con cualquier otra distribución de -Linux (o incluso de BSD), pero habría que modificar ciertas instrucciones para -ajustarse a los estándares y herramientas disponibles en cada distribución -(e.g.\ si quisiera instalarlo en un servidor de Fedora, utilizaría el comando -{\tt dnf} en vez de {\tt apt}). -% TODO: elaborate OS choice +mencionaremos después. Se puede utilizar este guía para montar la solución con +cualquier otra distribución de Linux (o incluso de BSD), aunque modificando +ciertas instrucciones para ajustarse a los estándares y herramientas disponibles +en cada distribución (e.g.\ si quisiera instalarlo en un servidor de Fedora, +utilizaría el comando {\tt dnf}, mientras que en un servidor Ubuntu utilizaría +{\tt apt}). + +En nuestro caso, los criterios para la selección de una distribución son los +siguientes: + +\begin{itemize} + \item {\bf Conocida:} Es importante que sea una distribución conocida y de + uso amplio. Esto aumentará la probabilidad de que cualquier problema que + se encuentra, es más probable que otra persona con el mismo entorno (o + similar) lo haya encontrado también y hayan publicado una solución. + \item {\bf Estable:} Nuestra solución ha de ser algo que el administrador de + la red puede instalar y luego mantener la más mínima interacción. Luego + entonces no son buenas las distribuciones que tengan muchas + actualizaciones, poco probadas, o propensas a romper el sistema. + \item {\bf Soporte amplio de plataformas:} Es mejor que nuestra solución se + pueda instalar en casi cualquier ordenador con las capacidades + expresadas en el apartado anterior. Y hoy en día se hayan muchos + ordenadores de arquitecturas distintas a la conocida x86 y x86\_64; la + más popular de éstas siendo ARM. Una distribución que tenga un soporte + por muchas arquitecturas contribuiría a la universalidad de la solución. + \item {\bf Minimalista:} No ha de ocupar mucho espacio de disco/memoria, ni + tampoco utilizar demasiados recursos. En primer lugar, porque así + facilita que se pueda instalar nuestra solución en ordenadores más + viejos o de pocos recursos. En segundo lugar, porque este dispositivo + sólo hará una cosa, y es mejor reservar recursos para eso en vez de + añadir más componentes a un sistema complejo que puede causar fallos + inesperados e innecesarios. + \item {\bf Utilizada en servidores:} Realmente la solución que proponemos es + un servidor, específicamente un servidor de DNS con algunos mecanismos + de filtrado. La distribución que usemos ha de ser conocida por ser + utilizada en servidores. Esto también ayudará a la hora de evaluar los + criterios anteriores, ya que las distribuciones ampliamente utilizadas + en servidores suelen cumplir también aquellos criterios. +\end{itemize} + +Para simplificar, en cumplimiento con el primer criterio nos centraremos +solamente en las distribuciones de Linux. Esto se debe a que, de los demás +sistemas operativos basados en UNIX (e.g.\ BSD) no hay un uso tan extenso, y +realmente forman una parte mínima del mercado, aunque tengan especialidad +(algunos) en servidores. +% SRC: https://www.enterpriseappstoday.com/stats/linux-statistics.html + +Entre las distribuciones de Linux, los que más se destacan son los siguientes: + +\begin{itemize} + \item Ubuntu Server + \item Debian GNU/Linux + \item OpenSUSE + \item CentOS + \item Fedora Server +\end{itemize} + +De todas estas opciones, la que más se ajusta a nuestros criterios viene a ser +Debian GNU/Linux. Aunque otras opciones, como Ubuntu Server o CentOS son más +corporativas, y Ubuntu también siendo muy conocida, Debian nos trae estabilidad, +pero sobre todo un soporte amplio de plataformas -- soporte oficial para diez +arquitecturas, y no oficial para otras diez --, además de ser una distribución +que permite una instalación mínima (particularmente sin entorno gráfico). Por +este motivo, avanzamos utilizando Debian GNU/Linux. La versión actual estable es +Bullseye (11). +% SRC: https://wiki.debian.org/SupportedArchitectures En cuanto a los programas que se precisan, haría falta un programa para gestionar las peticiones DNS y redirigirlas, otro para recibir las peticiones y @@ -166,6 +220,11 @@ nuestra disposición, como podrían ser PowerDNS, MaraDNS, NSD, KnotDNS, y Bind9 Entre los programas de servidores HTTP existen dos candidatos principales: Nginx y Apache. +% TODO: finish + +Finalmente, precisamos un lenguaje de programación por el cual podemos enviar un +correo al administrador de la red con la información pertinente. +% TODO: finish % Software Dependencies: % - Bind9/Named [PowerDNS,MaraDNS,NSD,KnotDNS] diff --git a/TFC/tfc-naortega.toc b/TFC/tfc-naortega.toc index 03527c6..d873205 100644 --- a/TFC/tfc-naortega.toc +++ b/TFC/tfc-naortega.toc @@ -1,4 +1,4 @@ -\babel@toc {spanish}{} +\babel@toc {spanish}{}\relax \contentsline {section}{\numberline {1}Introducción}{2}{section.1}% \contentsline {section}{\numberline {2}Contexto}{2}{section.2}% \contentsline {subsection}{\numberline {2.1}Situación Actual}{2}{subsection.2.1}% @@ -12,11 +12,11 @@ \contentsline {subsection}{\numberline {4.1}Análisis de Requisitos}{4}{subsection.4.1}% \contentsline {subsubsection}{\numberline {4.1.1}Requisitos Hardware}{4}{subsubsection.4.1.1}% \contentsline {subsubsection}{\numberline {4.1.2}Requisitos Software}{5}{subsubsection.4.1.2}% -\contentsline {subsection}{\numberline {4.2}Diseño de Solución}{6}{subsection.4.2}% -\contentsline {section}{\numberline {5}Pruebas y Despliegue}{6}{section.5}% -\contentsline {subsection}{\numberline {5.1}Plan de Pruebas}{6}{subsection.5.1}% -\contentsline {subsection}{\numberline {5.2}Manuales Técnicos y de Usuario}{6}{subsection.5.2}% -\contentsline {subsection}{\numberline {5.3}Plan de Despliegue}{6}{subsection.5.3}% -\contentsline {section}{\numberline {6}Conclusiones y Propuestas de Mejora}{6}{section.6}% -\contentsline {section}{\numberline {7}Bibliografía}{6}{section.7}% -\contentsline {section}{\numberline {8}Derechos de Autor y Licencia}{7}{section.8}% +\contentsline {subsection}{\numberline {4.2}Diseño de Solución}{8}{subsection.4.2}% +\contentsline {section}{\numberline {5}Pruebas y Despliegue}{8}{section.5}% +\contentsline {subsection}{\numberline {5.1}Plan de Pruebas}{8}{subsection.5.1}% +\contentsline {subsection}{\numberline {5.2}Manuales Técnicos y de Usuario}{8}{subsection.5.2}% +\contentsline {subsection}{\numberline {5.3}Plan de Despliegue}{8}{subsection.5.3}% +\contentsline {section}{\numberline {6}Conclusiones y Propuestas de Mejora}{8}{section.6}% +\contentsline {section}{\numberline {7}Bibliografía}{8}{section.7}% +\contentsline {section}{\numberline {8}Derechos de Autor y Licencia}{9}{section.8}%