Tesis-2

Introducción

\label{CapituloIntroduccion} Hoy en día la Seguridad Informática se ha convertido en un asunto de suma importancia para cualquier empresa, sin importar su tamaño o giro social, simplemente para optimizar y garantizar el manejo, flujo, transmisión y almacenamiento de información.
Hablando del manejo de datos e información el requerimiento de las empresas generalmente converge en un conjunto de características que son propiciadas, gracias al empleo de la Seguridad Informática, por mencionar algunas están: la disponibilidad del sistema, la tolerancia a fallos, la integridad de los datos al ser almacenados o enviados.
Si pensamos en cada uno de los estándares que adopta una empresa como un eslabón el cual es unido a otros para formar una cadena, la cual tendrá el propósito de resguardar y proporcionar información como esta lo considere. Este trabajo aborda el eslabón de Seguridad Informática en el uso correcto del internet, así como el correcto uso de las redes de conexión y flujo de datos. Al analizarse, se puede deducir que la razón de su existencia y aplicación radica en mantener una conexión estable, disponible, confiable y sobre todo eficaz, propiciando de esta manera un abastecimiento total de internet en una institución.
Cuando una organización opta por aplicar un sistema de esta naturaleza espera además proteger la integridad de los datos contra usos indebidos, ataques a la red, etc. Algo adicional a dichos sistemas es el uso de un antivirus y/o mecanismos que regulen y optimicen el uso y tráfico de la red. Centrándonos en la comunicación en red, es donde entra pertinentemente la implementación de un Firewall el cual tendrá la función de repeler conexiones a sitios los cuales muestren contenido visual que pueda consumir demasiado ancho de banda (Facebook, YouTube). Este proyecto busca en primera instancia encontrar una manera de controlar y asegurar el tráfico de los datos en la red, tomando en cuenta las necesidades de conexión con las que cuente cada usuario, y así adecuar una solución compatible con ellas y que cubra las necesidad que el momento requiera cada departamento o instancia.
La implementación de un Cortafuegos (Firewall) implica el conocimiento en el uso de conexión entre equipos de cómputo hasta saber el funcionamiento de diferentes protocolos o puertos de conexión.

Justificación

Desde hace tiempo el uso de Firewalls se ha convertido en una herramienta indispensable para aquellas empresas u organizaciones cuyos procesos giran a través de un uso reglamentado del Internet. Además la adquisición de este tipo de herramientas muchas veces es demasiado costoso. Dado lo mencionado es factible y recomendado la implementación de un Firewall cuyas características cubran las necesidades que requiera la Presidencia Municipal de Santa Cruz de Juventino Rosas, las cuáles son: Bloquear páginas como Facebook, YouTube u otras páginas en las cuales su contenido se de tipo visual el cual consuma demasiado ancho de banda.

Objetivos

General

  • Desarrollar e implementar un firewall que ayude a evitar el problema de ancho de banda que existe en un segmento de una red LAN.

Específicos

  • El firewall debe ser desarrollado en una plataforma de Linux.

  • Se debe de emplear el uso de iptables cuyas sentencias principales efectúen la función de bloquear redes sociales (Facebook, Twitter etc.) así como páginas cuyo contenido consuma mucho ancho de banda (YouTube).

  • Todas las sentencias se guardarán en un archivo script de tal manera que este pueda ser ejecutado al momento de arranque del CPU en el que se montará el Firewall.

Contribuciones

Organización de esta tesis

Esta tesis está organizada de la siguiente manera: en el Capítulo \ref{CapituloMarcoTeorico} se explican los conceptos básicos necesarios para la reproducción de los experimentos. El Capítulo \ref{CapituloPruebas} presenta de manera detallada las pruebas realizadas, así como los resultados obtenidos. Finalmente, en el Capítulo \ref{CapituloConclusiones} se exponen las conclusiones a que se llegó tras la realización de la Estadía, así como las propuestas para trabajo futuro.

Marco Teórico

\label{CapituloMarcoTeorico}

Antecedentes

El proyecto Netfilter/ IPtables Zhong 2012 comenzó en 1998 por Rusty Russell, también autor del proyecto que lo precedió, ipchains. A medida que el proyecto fue creciendo, fundó el Netfilter Core Team, o simplemente el coreteam, en 1999, que se trata del grupo de personas que se encarga directamente del desarrollo y mantenimiento del proyecto. El software que ellos produjeron, al que llamaremos Netfilter de aquí en adelante, está licenciado bajo la licencia GPL (GNU General Public License), y fue incorporado al núcleo Linux 2.3 en marzo de 2000. En agosto de 2003, Harald Welte fue designado líder del coreteam. En febrero de 2007 entra a formar parte del coreteam el andaluz Pablo Neira.

Antes de iptables, los programas más usados para crear cortafuegos en Linux eran ipchains en el núcleo Linux 2.2 e ipfwadm en el núcleo Linux 2.0, que a su vez se basaba en ipfw de BSD. Tanto ipchains como ipfwadm alteran el código de red para poder manipular los paquetes, ya que no existía un entorno general para el manejo de paquetes hasta la aparición de netfilter. Iptables mantiene la idea básica introducida en Linux con ipfwadm: listas de reglas en las que se especifica qué coincidencias buscar dentro de un paquete y qué hacer con ese paquete. ipchains agrega el concepto de cadenas de reglas (“chains”) e iptables extendió esto a la idea de tablas: se consultaba una tabla para decidir si había que traducir las direcciones de red de un paquete, y se consultaba otra para decidir como filtrar un paquete. Adicionalmente, se modificaron los tres puntos en los que se realiza el filtrado en el viaje de un paquete, de modo que un paquete pase solo por un punto de filtrado.

Mientras que ipchains e ipfwadm combinan filtrado de paquetes y traducción de direcciones de red, de tres tipos específicos llamados enmascaramiento, redireccionamiento de puertos y redirección, netfilter hace posible por su parte separar las operaciones sobre los paquetes en tres partes: filtrado de paquetes, seguimiento de conexiones y traducción de direcciones de red. Cada parte se conecta a las herramientas de netfilter en diferentes puntos para acceder a los paquetes. Los subsistemas de seguimiento de conexiones y NAT son más generales y poderosos que los que realizaban ipchains e ipfwadm.

Esta división permite a iptables, a su vez, usar la información que la capa de seguimiento de conexiones ha determinado acerca del paquete: esta información estaba antes asociada a NAT. Esto hace a iptables superior a ipchains, ya que tiene la habilidad de monitorizar el estado de una conexión y redirigir, modificar o detener los paquetes de datos basándose en el estado de la conexión y no solamente por el origen, destino o contenido del paquete. Un cortafuegos que utilice iptables de este modo se llama cortafuegos basado en estado, del inglés “stateful”. Por contra, ipchains sólo permite crear cortafuegos sin estado, del inglés “stateless”. Podemos decir entonces que ipchains no está al tanto del contexto completo en el cual un paquete surge, mientras que iptables sí y por lo tanto iptables puede hacer mejores decisiones sobre el futuro de los paquetes y las conexiones.

Linux

Historia

Linux, es la denominación de un sistema operativo tipo Unix. Es una implementación de libre distribución UNIX para computadoras personales, servidores y estaciones de trabajo.Es uno de los paradigmas más prominentes del software libre y del desarrollo del código abierto, cuyo código fuente está disponible públicamente, para que cualquier persona puede libremente usarlo, estudiarlo, redistribuirlo y, con los conocimientos informáticos adecuados, modificarlo.
Linux es usado como sistema operativo en una amplia variedad de plataformas de hardware y computadores, incluyendo los computadores de escritorio, servidores, supercomputadores y dispositivos empotrados así como teléfonos celulares.
Desde sus comienzos, Linux se diseñó para que fuera un sistema multi tarea y multi usuario. Estos hechos son suficientes para diferenciar a Linux de otros sistemas operativos más conocidos. Sin embargo, Linux es más diferente de lo que pueda imaginar. Nadie es dueño de Linux, a diferencia de otros sistemas operativos. Gran parte de su desarrollo lo realizan voluntarios de forma altruista.
En 1984 comenzó el desarrollo de lo que más tarde sería GNU/Linux cuando la Free Software Foundation (Fundación de software libre) comenzó a desarrollar un sistema operativo libre de tipo Unix, llamado GNU.
El proyecto GNU ha desarrollado un conjunto de herramientas de software libre para ser utilizados por Unix y sistemas operativos tipo Unix como Linux. Estas herramientas permiten a los usuarios desarrollar tareas que van desde las mundanas (como copiar o eliminar ficheros del sistema) a las arcanas (como escribir y compilar programas o hacer edición sofisticada en una gran variedad de formatos de documento).
Aunque hay muchos grupos e individuos que han contribuido a Linux, la Free Software Foundation ha sido quien más ha contribuido. No sólo creó la mayor parte de las herramientas que se utilizan en Linux sino también la filosofía y comunidad que hizo que Linux fuera posible.
El núcleo Linux apareció por primera vez en 1991, cuando un estudiante de informática finlandés llamado Linus Torvalds anunció en el grupo de noticias de USENET comp.os.minix, una primera versión de un núcleo de reemplazo para Minix. Para más referencias consulte la página de historia de Linux en Linux Internacional.
Linus Torvalds sigue coordinando el trabajo de varios cientos de desarrolladores con la ayuda de cierto número de responsables de subsistemas. Existe una página oficial del núcleo Linux. Se puede encontrar un excelente resumen semanal de las discusiones en la lista de correo linux-kernel en Kernel Traffic. Puede encontrar más información sobre la lista de correo Linux-kernel en el documento PUF de la lista de correo «Linux-kernel».
Los usuarios de Linux tienen una gran libertad al elegir sus programas. Tantas opciones confunden a veces a los usuarios de otros sistemas operativos que no están acostumbrados a poder modificar el intérprete de línea de comandos o el entorno de escritorio.
Es menos probable que un sistema Linux se colapse, además tiene mejor capacidad para ejecutar múltiples programas al mismo tiempo y es más seguro que muchos otros sistemas operativos. Debido a estas ventajas, Linux es el sistema operativo que ha experimentado mayor crecimiento en el mercado de los servidores. Últimamente, Linux está empezando a ser popular entre los usuarios domésticos y en empresas.

Distribuciones de Linux

Existe un gran número de distribuciones de los diferentes sistemas operativos Linux. Cada distribución cuenta con sus propias características y supone unas ventajas y unos inconvenientes a los usuarios convencionales. A continuación se presentan algunas distribuciones de Linux según algunos criterios.

  1. Distribuciones convencionales

    • Ubuntu
      Sin duda Ubuntu es el sistema operativo basado en Linux más utilizado de toda la red. Con un escritorio basado en Unity (no querido por todos), este sistema operativo es ideal para aquellos que buscan un sistema seguro, estable y fácil de utilizar. Ubuntu cuenta con una gran comunidad en la red, por lo que ante cualquier problema fácilmente se encuentran soluciones en la red.

    • Kubuntu
      Para aquellos usuarios que buscan un sistema basado en Ubuntu pero con una alternativa a Unity, Kubuntu ofrece un escritorio KDE utilizando de base la distribución principal de Canonical.

    • Linux Mint
      Esta distribución está basada en Ubuntu, aunque aporta una serie de características interesantes (nuevas aplicaciones, un nuevo escritorio para aquellos a quienes no les guste Unity, nuevos ajustes, etc). Una gran alternativa a Ubuntu que poco a poco va ganando una considerable cuota de mercado entre los usuarios.

    • Debian
      Debian es sin duda una de las distribuciones más puras en cuanto a capacidad de personalización. Esta distribución viene con muy pocos paquetes instalados (los necesarios, principalmente), lo que permite una mayor personalización por parte de los usuarios y un mayor rendimiento, sin embargo, puede resultar algo más complicada de utilizar para los usuarios sin demasiada experiencia.

    • Mint Debian
      Al igual que en el caso anterior, Mint Debian llega como una distribución más pura basada directamente en Debian que permite a los usuarios aprovechar las ventajas de Debian con algunos paquetes adicionales y unas configuraciones de manera que su uso sea algo más sencillo sin sacrificar por ello el rendimiento del sistema.

    • Arch Linux
      Arch es una distribución muy ligera, pero a la vez, es una de las más complicadas de instalar y utilizar. El rendimiento de esta distribución es óptimo debido al mínimo número de paquetes y aplicaciones que se instalan, siendo el usuario quien debe instalar lo que necesite evitando así tener paquetes no necesarios que ocupen memoria y recursos en el sistema. Arch está recomendado sólo para usuarios expertos.

    • ArchBang
      ArchBang es un sistema basado en Arch pero con algunos paquetes adicionales que facilitan a pequeña escala su uso. Entre otros muchos cambios, esta distribución cuenta con un escritorio y algunos paquetes que permiten al usuario instalar el sistema fácilmente y a la vez empezar a utilizarlo de forma básica sin demasiada complicación.

    • Elementary OS
      Elementary OS es una distribución fácil de utilizar con una apariencia muy similar a la de Mac OS X de manera que tanto los usuarios acostumbrados a la interfaz de Apple como aquellos sin demasiados conocimientos de Linux podrán hacer uso de esta distribución sin ningún problema. Elementary OS está basada en Ubuntu y ofrece un rendimiento excelente pese a la gran cantidad de apariencia de que dispone.

    • Fedora
      Este sistema operativo ha sido creado y mantenido por la compañía Red Hat. Fedora es diferente a otras distribuciones similares como Debian al utilizar otro gestor de paquetes y disponer así de sus propias aplicaciones compiladas para este sistema y no siendo compatibles, por ejemplo, los paquetes de Debian (o Ubuntu) con él. Pese a ello es una alternativa a tener en cuenta, especialmente para aquellos que buscan “algo diferente a Debian”.

  2. Seguridad y privacidad

    • Kali Linux
      Kali es una distribución basada en Debian diseñada para auditar redes y buscar vulnerabilidades en los sistemas de estas. Cuenta por defecto con un gran número de herramientas pre-instaladas para esta función de manera que los usuarios puedan utilizarla en modo Live sin necesidad de instalar ningún tipo de software adicional.

    • BlackArch Linux
      Una distribución, similar a la anterior, pero que utiliza como sistema operativo base Arch Linux. Esta distribución cuenta igualmente con un considerable número de herramientas, entre las que cabe destacar un potente buscador de exploits con los que poder comprobar la seguridad de los sistemas de la red.

    • Bugtraq
      Similar a las anteriores, Bugtraq es una distribución que cuenta por defecto con una serie de herramientas para auditar redes informáticas y comprobar la seguridad de estas o buscar posibles vulnerabilidades.

    • Tails
      Este sistema operativo ha sido diseñado especialmente para mantener al máximo la privacidad y el anonimato al conectarse a Internet. Cuenta por defecto con una serie de configuraciones y filtros que no dejan pasar ningún dato que pueda permitir nuestra identificación, así como la red Tor como conexiones por defecto para evitar que nuestro tráfico pueda ser rastreado.

  3. Distribuciones para ordenadores de recursos reducidos

    • Damn Small Linux
      Esta distribución es capaz de funcionar sin problemas en equipos de 16MB de Ram. Con tan sólo 50 MB, este sistema operativo cumple con los requisitos más elementales a la hora de devolver a la vida un equipo viejo y le permite cumplir con una serie de funciones elementales.

    • Puppy Linux
      Igual que la anterior, esta distribución está especialmente diseñada para ordenadores antiguos a los que actualmente no se les podría instalar un sistema operativo moderno. Este sistema se ejecuta completamente desde la RAM y ocupa tan sólo 100MB.

    • SliTaz
      En tan sólo 100MB (30 en una imagen ISO) los desarrolladores de esta distribución han conseguido un pequeño sistema operativo sencillo pero funcional capaz de funcionar sin problemas en equipos de 36MB de Ram.

    • Lubuntu
      Lubuntu es una distribución basada en Ubuntu pero que utiliza un escritorio LXDE. Este escritorio está algo más limitado en funciones de lo que puede estar Unity, sin embargo, el consumo de recursos es mucho menor funcionando de forma fluida y sin problemas de rendimiento incluso en ordenadores con procesador antiguo o con poca memoria RAM.

  4. Distribuciones especializadas en contenido multimedia

    • SteamOS
      Steam es la plataforma distribuidora de contenidos digitales más grande de la red. Con el fin de llegar a un mayor número de usuarios esta compañía lanzó SteamOS, distribución basada en Debian y optimizada para poder ejecutar juegos de su propia plataforma dentro de un ecosistema Linux, aspecto que hasta este lanzamiento era impensable.

    • ArtistX
      ArtistX es una distribución Live-CD especialmente diseñada para trabajar con contenidos multimedia. Desde este sistema operativo, que puede ser ejecutado desde un CD sin necesidad de instalarlo, los usuarios pueden editar audio, imágenes y vídeos fácilmente gracias al gran número de aplicaciones que vienen instaladas por defecto.

    • Ubuntu Studio
      De forma similar a la anterior, Ubuntu Studio es una distribución especialmente diseñada para trabajar con aplicaciones multimedia. Esta distribución viene por defecto con un gran número de herramientas de edición de imagen, audio y vídeo al igual que está optimizado para sacar un mayor rendimiento del hardware al utilizar estas herramientas.