ceu-notes/TFC/tfc-naortega.tex

199 lines
8.7 KiB
TeX
Raw Normal View History

2023-03-22 19:19:17 +00:00
\documentclass[11pt,a4paper,titlepage]{article}
\usepackage[spanish]{babel}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{subcaption}
2023-03-27 14:50:10 +00:00
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyfoot[LO]{{\it Angelus Custos}\linebreak}
\fancyfoot[RO]{\includegraphics[width=0.2\linewidth]{imgs/CEU-Logo-CEP-web.png}}
\setlength{\headheight}{15pt}
\setlength{\footskip}{45pt}
2023-03-22 19:19:17 +00:00
\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\baselinestretch}{1.5}
\title{Sistema de Protección Parental: Angelus Custos}
2023-03-22 19:19:17 +00:00
\author{
Alumno: Nicolás A. Ortega Froysa \\
Tutor: Indalecio García Mateos \\
Centro: CEU San Pablo Andalucía \\
Ciclo: Administración de Sistemas Informáticos en Red
}
\date{
\today \\ \bigskip \bigskip
2023-03-27 14:50:10 +00:00
\includegraphics[width=0.5\textwidth]{imgs/CEU-Logo-CEP-web.png}
2023-03-22 19:19:17 +00:00
}
\begin{document}
\maketitle
\tableofcontents
\pagebreak
\section{Introducción}
{\it Angelus Custos} (i.e.\ Ángel de la Guarda) es un proyecto para facilitar a
los padres la protección de la inocencia de sus hijos ante la degeneración de la
pornografía. Se trata de una solución que cualquier persona con un mínimo de
conocimiento técnico lo puede montar en su casa para proteger a sus hijos, y
también compartir la misma tecnología con otros padres, en espíritu solidario
cristiano, para que ellos también puedan proteger a los suyos.
También optaremos, en este mismo espíritu colaborativo, por soluciones software
que sean libres y gratuitos, ya que el objetivo es proveer una solución para
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/
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
contribuyen a esto, uno de ellos es la facilidad de acceso: que un niño puede
encontrarse con contenido pornográfico en la web sin querer, haciendo una
búsqueda completamente inocente o incluso por culpa de anuncios inapropiados.
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/
A causa de esto se han creado muchas alternativas para bloquear pornografía en
entornos familiares, educativos, religiosos, etc. Estas alternativas han llegado
incluso a ser muy avanzados, pudiendo reconocer contenido pornográfico con
reconocimiento de imágenes, y enviando reportes a los responsables, que pueden
ser los padres o, en casos de adultos que quieren ayuda para librarse de su
adicción a la pornografía, un amigo o familiar que se responsabiliza. Muchos de
éstos han conseguido convertirlo en un negocio para poder así hacer este tipo de
mejoras y desarrollos a sus productos.
Aunque existen todas estas soluciones, parece que hay pocos que se interesan por
el daño que provoca la pornografía en nuestra salud mental, particularmente en
la salud de los menores de edad. Una parte puede ser la falta de información: es
un asunto que se habla poco debido a su naturaleza clandestina y pervertida.
% TODO: efectos negativos de la pornografía
Otra barrera que puede aparecer es también que estos productos/servicios suelen
funcionar en base a una suscripción mensual. Si fuera un producto que se compra
una sola vez entonces quizá habría más padres dispuestos a instalarlo en sus
casas para proteger a sus hijos. Pero al ser una suscripción, pone una barrera
innecesaria a la hora de facilitar a los padres este servicio tan necesario en
el mundo de hoy.
2023-03-22 19:19:17 +00:00
\subsection{Justificación}
Como explicamos anteriormente, es necesario una solución para protegernos -- a
nuestros hijos, pero también a nosotros mismos -- de la presencia y facilidad de
acceso a la pornografía en {\it internet}. Pero la mayoría de las soluciones son
comerciales y en base a una suscripción, que constituye una barrera para muchos
padres aunque sea tan sólo una inconveniencia. Por este motivo el objetivo de
este documento es explicar cómo montar y configurar un ordenador cualquiera para
servir de monitor y bloquear las páginas pornográficas, además de añadir otras
funcionalidades para mejor administrarlo. De este modo, siguiendo la filosofía
de compartir del {\em movimiento software libre}, se puede conseguir facilitar a
muchos el acceso a esta clase de soluciones o directamente en el caso de las
personas que tengan algún conocimiento técnico, o de manera indirecta con el
caso de alguien que se lo monta para sus familiares, amigos, y vecinos, o
incluso si una empresa lo quiere comercializar de una forma que no ponga sobre
los clientes un peso innecesario de suscripciones para poder protegerse a ellos
mismos y a sus familias.
2023-03-22 19:19:17 +00:00
\section{Planificación y Costes}
\subsection{Metodología}
\subsection{Fases del Proyecto}
\subsection{Planificación Temporal}
\subsection{Estimación de Costes}
\section{Desarrollo}
\subsection{Análisis de Requisitos}
Podemos dividir los requisitos de nuestro proyecto en dos categorías
principales: {\it hardware} y {\it software}.
\subsubsection{Requisitos Hardware}
En cuestión de requisitos {\it hardware}, será necesario un ordenador tan sólo
lo suficientemente potente como para responder a peticiones DNS en una red
local, responder a una petición a una página pornográfica con una página
personalizada del usuario, y enviar correos electrónicos para avisar al
responsable del dispositivo y de la red. Luego entonces, para una red normal, un
requisito mínimo para el dispositivo podría ser como a continuación:
\begin{itemize}
\item Ancho de banda de red: % TODO
\item Rendimiento de la CPU: % TODO
\item Memoria: % TODO
\item Almacenamiento: % TODO
\end{itemize}
Los requisitos son muy básicos, y casi cualquier ordenador (incluso uno antiguo
que ya no se usa) serviría para la implementación de esta solución. En caso de
que no haya un ordenador libre a su disposición, convendría más comprar un
ordenador {\it monoplaca}, como sería un {\it Raspberry Pi}, {\it Rock64}, o
{\it Pine64}. Lo importante para nuestros propósitos es que sea posible instalar
en él un sistema operativo basado en UNIX tal como sería una de las
distribuciones de BSD o Linux.
\subsubsection{Requisitos Software}
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
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
responder con una página de aviso, además de disparar un mecanismo para avisar
al administrador de la red acerca del intento de acceso.
Para la gestión de peticiones DNS existen muchos programas alternativos a
nuestra disposición, como podrían ser PowerDNS, MaraDNS, NSD, KnotDNS, y Bind9.
% TODO: finish
Entre los programas de servidores HTTP existen dos candidatos principales: Nginx
y Apache.
% Software Dependencies:
% - Bind9/Named [PowerDNS,MaraDNS,NSD,KnotDNS]
% https://en.wikipedia.org/wiki/Comparison_of_DNS_server_software
% - Nginx [Apache]
% https://kinsta.com/blog/nginx-vs-apache/
% - PHP [Ruby,Python]
% - PHPMailer [mail() function, Symfony Mailer]
% https://mailtrap.io/blog/php-email-sending/
2023-03-22 19:19:17 +00:00
\subsection{Diseño de Solución}
\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}
\section{Bibliografía}
\pagebreak
\section{Derechos de Autor y Licencia}
\noindent
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa
<nicolas@ortegas.org> \\
\\
Este documento se distribuye bajo los términos y condiciones de la licencia
Creative Commons Attribution No Derivatives 4.0 International.
\end{document}