Diferencia entre revisiones de «FESOL/201801/especializacion/proyectos/Intranet»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Manuales)
(Manuales)
Línea 315: Línea 315:
 
-Editamos el archivo rules “nano squid3-3.5.23/debian/rules  
 
-Editamos el archivo rules “nano squid3-3.5.23/debian/rules  
  
[[Archivo:instalacion.png]]
+
[[Archivo:install.png]]
  
  

Revisión del 01:54 28 jun 2018

Presentación

Aca va la información que va en la portada

Resumen (bastract)

Archivo:Ejemplo.jpg

Palabras clave

Bash, Cliente, Dhcp, Dns, Dominios, Firewall, Ip, Lan, Ldap, Proxy, Red, Script, Servidor, Ssh.

Introducción

El presente proyecto es dar a conocer a fondo la configuración de diversos servidores para una Red Intranet como una necesidad de herramienta y dispositivos tecnológicos inmersos en el área de la informática ya que en algunas instituciones o empresas llámense estas públicas o privadas las redes aparecen con información de manera privada para el debido funcionamiento de las mismas, se debe de considerar contar con los servidores básicos útiles y necesarios de Intranet para una mayor eficiencia y eficacia. Es por ello que como estudiantes de la Universidad Luterana Salvadoreña cursando la especialidad en Servidores LINUX, tomamos a bien desarrollar la investigación para poner en práctica los conocimientos de la misma y aquellos que se conocieron en el recorrido de la carrera; Además se muestra el uso correcto y el funcionamiento debido, de una Red Intranet la instalación de la misma y su respectiva configuración con los servidores DHCP,DNS,FIREWALLS,PROXY WEB Y LDAP, no dudamos que este proyecto será de gran utilidad para conocimientos no solo de los investigadores sino también para las y los estudiantes de informática.

Marco Teórico

¿Qué es una intranet?

Intranet es el nombre que se le da a la red corporativa interna de una empresa u organización, a la cual solo pueden acceder los empleados de la misma dentro de la propia estructura informática de la compañía, y se utiliza para aprovechar los servicios disponibles en ella como páginas, aplicaciones y todo otro recurso que necesiten para llevar a cabo sus tarea.

Las intranets son la mejor solución disponible para que los empleados de una compañía trabajen de forma mancomunada y centralizada, ya que al compartir los mismos recursos base como documentos, informes, planillas, videos, audios y demás, nunca podrán manejar información que está desactualizada, y por lo tanto el resultado global será óptimo y sin datos erróneos o inconsistencias. Además es un importante ahorro en materia de almacenamiento de datos, ya que los usuarios no tienen que tener información almacenada en sus propias computadoras. En terminos simples una Intranet es un sistema de red privado que permite compartir recursos entre sus miembros. La Intranet existe en las empresas prácticamente desde los propios inicios de Internet, de hecho, lo primero que existía era una Intranet privada montada por ciertas universidades con el fin de compartir información académica y artículos científicos, la apertura de esta Intranet al resto del mundo provocó el nacimiento de lo que hoy en día llamamos Internet.

Servicios que utiliza

SERVIDOR DHCP

Para que cada sistema conectado a una red esté identificado de forma correcta, tiene que tener una dirección IP única. Esta dirección se puede configurar manualmente en cada host o de forma automática y dinámica, mediante el protocolo DHCP (Dynamic Host Configuration Protocol o Protocolo dinámico de configuración de host).

¿Que es y para que sirve un servidor DHCP?
Funcionamiento De servidor DHCP

Cuando un sistema es conectado en red, el protocolo DHCP se encarga de atribuirle automáticamente una dirección IP única. Al mismo tiempo, DHCP suministra una serie de parámetros de red como la dirección del gateway, la dirección del servidor , etc. El protocolo DHCP hace que la tarea del administrador de red bastante más fácil, pues la configuración es centralizada, y no distribuida en cada host o puesto.

¿Como funciona?

El servidor DHCP escucha las peticiones de parámetros de red de los equipos que se encuentran configurados para obtenerlas automáticamente.  Así pues un equipo recibe del servidor DHCP la dirección IP, la máscara de red, la puerta de enlace, los servidores DNS y cualquier otro parámetro de red que se requiera. Estos parámetros los entrega el servidor DHCP con un tiempo de vida, conocido tomo “lease-time”, después del cual el cliente DHCP debe solicitar nuevos parámetros al servidor DHCP.

SERVIDOR DNS

¿Que es el servidor DNS?

Son las siglas en inglés de Domain Name System (Sistema de Nombres de Dominio). Este sistema correlaciona el nombre de un equipo en internet con una dirección IP y viceversa. Por ejemplo, gracias ha el sabemos que el servidor cuyo nombre es: www.debian.org tiene la dirección IP 213.129.232.18 y viceversa.

Funcionamiento De servidor DNS

Siempre que se utiliza un nombre para designar a un servidor, como sucede con www.debian.org , éste debe traducirse en la forma de una dirección IP única del mismo servidor. Este proceso se conoce como resolución y es efectuado gracias al Domain Name System () (o en español, Sistema de Nombres de Dominios). Este sistema está constituido por una red global de servidores, organizados en un árbol, donde cada servidor contiene una tabla de asociaciones entre los nombres de los servidores y sus respectivas direcciones IP. Cómo funciona el DNS Supongamos que se pretende contactar el servidor www.google.com. El sistema iniciará una serie de contactos entre otros sistemas diversos, para encontrar cuál es la dirección asociada a la dirección pretendida. Una versión muy simplificada sería la siguiente: posiblemente, el sistema tendrá que contactar a su servidor de , que a su vez, contactará los servidores de tope para indagar acerca del dominio “google.con”, y enseguida contactar el servidor de google para saber la dirección IP de www.google.com. Aunque cada investigación o resolución tarda sólo milisegundos, la visualización de una página web en un browser puede resultar bastante penalizada por este proceso. Especialmente, cuando es posible que varios elementos de la página estén alojados en diversos servidores, cuyas direcciones deban ser resueltas individualmente.

LDAP

¿Que es LDAP?

LDAP (Protocolo compacto de acceso a directorios) es un protocolo estándar que permite administrar directorios, esto es, acceder a bases de información de usuarios de una red mediante protocolos TCP/IP.

Funcionamiento De servidor LDAP

Las bases de información generalmente están relacionadas con los usuarios, pero, algunas veces, se utilizan con otros propósitos, como el de administrar el hardware de una compañía.


El objetivo del protocolo LDAP, desarrollado en 1993 en la Universidad de Michigan, fue reemplazar al protocolo DAP (utilizado para acceder a los servicios de directorio X.500 por OSI) integrándolo al TCP/IP. Desde 1995, DAP se convirtió en LDAP independiente, con lo cual se dejó de utilizar sólo para acceder a los directorios tipo X500. LDAP es una versión más simple del protocolo DAP, de allí deriva su nombre Protocolo compacto de acceso a directorios.


¿Cómo funciona LDAP?

El servicio de directorio LDAP se basa en un modelo cliente-servidor. Uno o más servidores LDAP contienen los datos que conforman el árbol del directorio LDAP o base de datos troncal. el cliente ldap se conecta con el servidor LDAP y le hace una consulta. El servidor contesta con la respuesta correspondiente, o bien con una indicación de dónde puede el cliente hallar más información (normalmente otro servidor LDAP). No importa con qué servidor LDAP se conecte el cliente: siempre observará la misma vista del directorio; el nombre que se le presenta a un servidor LDAP hace referencia a la misma entrada a la que haría referencia en otro servidor LDAP. Es ésta una característica importante de un servicio de directorios universal como LDAP.

PROXY

¿Qué es un proxy?

Funcionamiento De servidor PROXY

Un servidor proxy (cuya traducción literal es “representante“) es una interfaz de comunicación en una red que actúa como mediadora entre dos sistemas informáticos. La tarea básica de un servidor proxy es hacerse cargo, como delegado, de las peticiones de los clientes en un servidor y de transmitirlas con la dirección IP adecuada al ordenador de destino. En este tipo de comunicación no existe una conexión directa entre el remitente y el destinatario. En ocasiones, ni el sistema al que se le hacen las peticiones ni el ordenador de destino saben que hay un proxy de por medio. Los servidores proxy pueden funcionar en dos sentidos. Por un lado, un proxy de reenvío (forward proxy) sirve para proteger a una red cliente frente a influencias de Internet. Si el sistema de destino, por ejemplo, un servidor web, está protegido por medio de un servidor proxy intercalado, se puede hablar en este caso de un proxy inverso (reverse proxy).


¿Como funciona?


   1. El cliente realiza una petición (p. ej. mediante un navegador web) de un recurso de Internet (una página web o cualquier otro archivo) especificado por una URL.
   2. Cuando el proxy caché recibe la petición, busca la URL resultante en su caché local. Si la encuentra, contrasta la fecha y hora de la versión de la página demanda con el servidor remoto. Si la página no ha cambiado desde que se cargo en caché la devuelve inmediatamente, ahorrándose de esta manera mucho tráfico pues sólo intercambia un paquete para comprobar la versión. Si la versión es antigua o simplemente no se encuentra en la caché, lo captura del servidor remoto, lo devuelve al que lo pidió y guarda o actualiza una copia en su caché para futuras peticiones.

SERVIDOR WEB

¿Que es un servidor web?

Funcionamiento De servidor WEB

Los servidores web (también conocidos como servidores HTTP) son un tipo de servidores utilizados para la distribución (entrega) de contenido web en redes internas o en Internet (“servidor” hace referencia al verbo “servir”). Como parte de una red de ordenadores, un servidor web transfiere documentos a los llamados clientes (del inglés clients), por ejemplo, una página web a un explorador.

En general, la pregunta “qué es un servidor web” puede referirse a dos cosas: al software del servidor (es decir, al programa en sí) y al equipo en el que el software del servidor web se está ejecutando. Cuando se trata de este último, se habla del host (un host puede alojar múltiples soluciones de software para servidores web). A continuación, nos referiremos explícitamente a alguno de estos significados, ya sea al software de servidor web/software servidor HTTP (o programa) o al host.


¿Cómo funcionan los servidores? Cada servidor Web, y cada computadora conectada a Internet, posee asignada una dirección de IP única, irrepetible, que lo identifica en la red, incluyendo tu móvil o la PC que tienes en tu casa. La dirección de IP puede pensarse como los datos del remitente en una carta postal. Cuando deseas ver un sitio Web, tu móvil, PC o tableta envía un pedido desde tu dirección de IP hacia la dirección IP del servidor que aloja los archivos del sitio en cuestión. Entonces, el servidor Web responde devolviendo los datos a la dirección IP solicitante. Esto es lo que pasa todo el tiempo que estamos navegando un sitio en Internet.

FIREWALL

¿Que es un firewall?

Funcionamiento De FIREWALL

Un firewall o cortafuegos es un dispositivo de hardware o un software que nos permite gestionar y filtrar la totalidad de trafico entrante y saliente que hay entre 2 redes u ordenadores de una misma red.

Si el tráfico entrante o saliente cumple con una serie de Reglas que nosotros podemos especificar, entonces el tráfico podrá acceder o salir de nuestra red u ordenador sin restricción alguna. En caso de no cumplir las reglas el tráfico entrante o saliente será bloqueado.

Por lo tanto a partir de la definición podemos asegurar que con un firewall bien configurado podemos evitar intrusiones no deseadas en nuestra red y ordenador así como también bloquear cierto tipo de tráfico saliente de nuestro ordenador o nuestra red.

¿Como funciona?

El firewall normalmente se encuentra en el punto de unión entre 2 redes. En el caso que podéis ver en la captura de pantalla se halla en el punto de unión de una red pública (internet) y una red privada. Así mismo también vemos que cada una de las subredes dentro de nuestra red puede tener otro firewall, y cada uno de los equipos a la vez puede tener su propio firewall por software. De esta forma, en caso de ataques podemos limitar las consecuencias ya que podremos evitar que los daños de una subred se propaguen a la otra. Lo primero que tenemos que saber para conocer el funcionamiento de un firewall es que la totalidad de información y tráfico que pasa por nuestro router y que se transmite entre redes es analizado por cada uno de los firewall presentes en nuestra red. Si el tráfico cumple con las reglas que se han configurado en los firewall el trafico podrá entrar o salir de nuestra red.

Si el tráfico no cumple con las reglas que se han configurado en los firewall entonces el tráfico se bloqueará no pudiendo llegar a su destino.

Materiales

3 computadoras

1- servidor con debian 9 de 64 bits (opcional) y 2 clientes con debian 9 de 32 bits (opcional)

1-swith

3-cables de red

Conexión a Internet

VIRTUAL BOX:

VirtualBox es un hipervisor que se utiliza para ejecutar sistemas operativos en un entorno especial, llamado máquina virtual, corriendo sobre un sistema operativo ya existente. VirtualBox está en constante desarrollo y las nuevas características se implementan continuamente. Viene con una interfaz gráfica basada en Qt, así como herramientas de línea de órdenes SDL y headless para la gestión y ejecución de máquinas virtuales.

Con el fin de integrar las funciones del sistema anfitrión en los sistemas huéspedes, incluyendo carpetas compartidas y portapapeles, aceleración de vídeo y un modo de integración de ventanas fluido, se proporcionan complementos huéspedes (guest additions) para algunos sistemas operativos invitados.

DEBIAN 9:

Debian o Proyecto Debian (en inglés: Debian Project) es una comunidad conformada por desarrolladores y usuarios, que mantiene un sistema operativo GNU basado en software libre. El sistema se encuentra precompilado, empaquetado y en formato deb para múltiples arquitecturas de computador y para varios núcleos.

IPTABLES:

Iptables es un poderoso firewall integrado en el kernel de Linux y que forma parte del proyecto netfilter. Iptables puede ser configurado directamente, como también por medio de un frontend o una GUI. iptables es usado por IPv4, en tanto que ip6tables es usado para IPv6. CRON: En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab. El nombre cron viene del griego chronos (χρόνος) que significa "tiempo".

DNSMASQ:

Dnsmasq proporciona servicios como caché DNS y como servidor DHCP. Como un servidor de nombres de dominio (DNS), puede almacenar en caché las consultas DNS para mejorar las velocidades de conexión a los sitios visitados anteriormente, y, como un servidor DHCP, dnsmasq puede ser utilizado para proporcionar direcciones IP internas y rutas a los equipos de una LAN. Uno, o ambos de estos servicios, se pueden implementar. dnsmasq es considerado ligero y fácil de configurar; está diseñado para su uso en un ordenador personal o para su uso en una red con menos de 50 ordenadores. También viene con un servidor PXE.

SARG: Es una herramienta que te permite ver con detalle la actividad de todos los equipos y/o usuarios dentro de la red de área local (LAN), registrada en la bitácora del proxy, provee mucha información acerca de las actividades de usuarios de Squid: tiempo, bytes, sitios, etc.


WEBMIN: Es una herramienta de configuración de sistemas accesible vía web para sistemas Unix, como GNU/Linuxy OpenSolaris. Con él se pueden configurar aspectos internos de muchos sistemas operativos, como usuarios, cuotas de espacio, servicios, archivos de configuración, apagado del equipo, etcétera, así como modificar y controlar muchas aplicaciones libres, como el servidor web Apache,PHP,MySQL,DNS,Samba,DHCP, entre otros.


SQUIID:

Squid es un servidor proxy para web con caché. Es una de las aplicaciones más populares y de referencia para esta función, software libre publicado bajo licencia GPL. Entre sus utilidades está la de mejorar el rendimiento de las conexiones de empresas y particulares a Internet guardando en caché peticiones recurrentes a servidores web y DNS, acelerar el acceso a un servidor web determinado o añadir seguridad realizando filtrados de tráfico.

APACHE:

Apache es un servidor web HTTP de código abierto para plataformas Unix-like (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. En sus inicios se basaba en el código de NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Actualmente es el servidor web más usado en todo el mundo, superando en 2009 los 100 millones de sitios web, el 70% del total. Está desarrollado y mantenido por una comunidad de usuarios en torno a la Apache Software Foundation.

OPENLDAP:

OpenLDAP es una implementación libre y de código abierto del protocolo Lightweight Directory Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Está liberada bajo su propia licencia OpenLDAP Public License. LDAP es un protocolo de comunicación independiente de la plataforma. Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte LDAP. Este software también corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS.

POTGRESQL:

Es un sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia PostgreSQL

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

MOODLE:

Moodle es una plataforma de aprendizaje diseñada para proporcionarle a educadores, administradores y estudiantes un sistema integrado único, robusto y seguro para crear ambientes de aprendizaje personalizados. Usted puede descargar el programa a su propio servidor web, o pedirle a uno de nuestros Moodle Partners que le asista.

Moodle está construido por el proyecto Moodle, que está dirigido y coordinado por el Cuartel General Moodle, que está soportada financieramente por una red mundial de cerca de 80 compañías de servicio Moodle Partners (Socios Moodle).

Manuales

PASOS DE INSTALACIÓN MANUAL

CREACION DEL AMBIENTE DE TRABAJO

-Descargamos la imagen ISO de Debian 9 del sitio web https://www.debian.org/index.es.html para realizar su instalación en Virtualbox

- Instalamos Debian sin interfaz gráfica para el servidor y con entorno de escritorio para los clientes

- En el servidor habilitamos dos adaptadores de red uno en modo adaptador puente y el segundo en red interna, la cual utilizaremos para establecer comunicación con los demás clientes, los cuales también estarán en modo adaptador puente.

Virtualbox.png


-Editamos los repositorios y luego los actualizamos con el comando
apt update<\pre>


Administrador.png


-Consultamos el nombre de las interfaz de red del servidor con el comando <pre>ip add<\pre> para luego definir sus respectivas <pre>ip<\pre> estáticas

Servidor.png

- Establecemos una <pre>ip<\pre> estática a cada interfaz de red editando el archivo <pre>/etc/network/interfaces<\pre> quedando de la siguiente forma

Interfaz.png


-Activamos y desactivamos las configuraciones que hemos establecidos con los comandos
if down enp0s3, ifdown enp0s8
ipup enp0s3, ifup enp0s8

En el caso de las maquinas clientes no les estabecemos una ip estatica ya que el servidor dhcp se encargara de asignarles una

NATEO PARA COMPARTIR INTERNET

-  Realizamos un proceso de nateo para compartir el acceso a internet de la interfaz enp0s3 a la enp0s8, creamos un bash script “nat.sh y lo guardamos en el directorio /home con el siguiente contenido

Nateo.png

- Para que el script se ejecute en cada reinicio editamos el archivo /etc/crontab en el cual especificamos que se ejecutara como root en cada reinicio el script creado anteriormente

Reinicio.png

INSTALAR Y CONFIGURAR SERVIDOR DHCP Y DNS

Para configurar el servidor DHCP y DNS utilizarecemos el software DNSMASQ el cual integra los dos servicios.
Para ello debemos instalar los siguientes paquetes:

# apt install dnsmasq dnsutils

-Configurar dnsmasq como servidor dhcp primero estableceremos en cual interfaz resolvera las peticiones de los clientes que soliciten un direccion IP, editaremos el archivo de configuracion “nano /etc/dnsmasq.conf”.

- Descomentamos el parametro interface y establecemos la interfaz en la cual resolvera peticiones.

Interface.png


-Dnsmasq por defecto tiene desactivado el servidor dhcp, para activarlo descomentamos el parámetro “dhcp-range” y establecemos el rango de ip que necesitaremos y el tiempo de arrendamiento

Inter.png

-Reiniciamos dnsmasq para que funcione el servidor dhcp con el comando 
“/etc/init.d/dnsmasq restart”


- Añadimos  todos los registros que necesitemos dentro del archivo “/etc/hosts”


Restar.png

- Finalmente reiniciamos nuestro servidor DNS con el comando “/etc/init.d/dnsmasq restart”

Dns.png


-Verificamos el funcionamiento de el servidor dns con el comando “dig intranet.edu.sv”

Funcion.png


INSTALACION DE  SERVIDOR PROXY  Y  FILTROWEB

Para la instacion del servidor proxy utilizaremos squid el cual nos proporcionara un servicio de proxy http-https transparente, ya que es uno de los mas utilizados actualmente, 

Necesitaremos instalar los siguientes paquetes 

apt-get -y install devscripts build-essential fakeroot debhelper dh-autoreconf cdbs

apt-get -y build-dep squid

apt-get -y install libdbi-perl libssl1.0-dev

apt-get -y install squid-langpack

- Creamos un directorio donde descargaremos squid

mkdir -p build/squid3

- Accedemos al directorio que creamos con el comando

cd build/squid3



- Descargamos el codigo fuente de squid con los siguientes comandos
wget http://http.debian.net/debian/pool/main/s/squid3/squid3_3.5.23-5.dsc
wget http://http.debian.net/debian/pool/main/s/squid3/squid3_3.5.23.orig.tar.gz
wget http://http.debian.net/debian/pool/main/s/squid3/squid3_3.5.23-5.debian.tar.xz

-Descomprimimos los paquetes descargados con el siguiente comando

dpkg-source -x squid3_3.5.23-5.dsc


-Editamos el archivo rules “nano squid3-3.5.23/debian/rules 

Install.png


-En este listado añadimos las siguientes lineas para habilitar el uso de certificados ssl
--enable-ssl \
--enable-ssl-crtd \
--with-openssl \

-Compilamos el codigo fuente de squid para obtener un paquete .deb

cd squid3-3.5.23 && dpkg-buildpackage -rfakeroot -b


-Instalamos los siguientes paquetes .deb  generados

dpkg --install squid-common_3.5.23-5_all.deb
dpkg --install squid_3.5.23-5_${ARCH}.deb
dpkg --install squidclient_3.5.23-5_${ARCH}.deb 

- Para evitar que  se dañen las configuraciones debido a alguna actualizacion congelamos la actualización de squid con el siguiente comando

apt-mark hold squid squid-common

CONFIGURACION DE SQUID

-Creamos un basckup del archivo de configuracion de squid con el siguiente comando

cp “/etc/squid/squid.conf” “/etc/squid/squid.conf.bk”

-Realizamos las siguietes configuraciones del servidor


acl clients src 192.168.10.0/24 # especificamos la red de la intranet


#regex filtro web
acl regexProhibidos url_regex -i "/etc/squid/filtros/regexProhibidos" #filtramos contenido no adecuado

#filtrando Busquedas

http_access deny regexProhibidos # denegamos el acceso a al contnido prohibido

http_access allow localhost



http_access allow clients
http_access deny all
http_port 3128 intercept #intecerptamos el trafico  del puerto 3128 en el cual redirigimos el trafico 
#del puerto 80 y en el 3129 el trafico del puerto 443 en el cual utilizamos certificado ssl  
https_port 3129 intercept ssl-bump cert=/etc/squid/ssl_cert/myCA.pem generate-host-certificates=on dynamic_cert_mem_cache_size=4mb

sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4mb
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all
shutdown_lifetime 5
access_log stdio:/var/log/squid/access.log #guardamos el log de acceso el cual sera utilizado por SARG

- Creamos el archivo regexProhibidos, y definimos palabras claves que deseamos que no tengan acceso con:
nano etc/squid/regexProhibidos
facebook 
pornografica
xxx 
Instagram

CREACION DE CERTIFICADOS SSL

Para la creacion de certificados ssl debemos tener instalado el paquete openssl, el cual instalamos con el siguiente comando

apt install openssl -y

-Creamos un directorio para guardar los certificados generados y le asignamos permisos

mkdir /etc/squid/ssl_cert
chmod 700 /etc/squid/ssl_cert
cd /etc/squid/ssl_cert/

-Utilizamos el comando siguiente para crear la llave ssl y el certificado

openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout myCA.pem -out myCA.pem
openssl x509 -in myCA.pem -outform DER -out myCA.der

-Inicializamos la base de datos de certificados ssl

/usr/lib/squid/ssl_crtd -c -s /var/lib/ssl_db

- Cambiamos el dueño de el directorio ssl_cert  y ssl_db 

chown -R proxy:proxy /etc/squid/ssl_cert/
chown -R proxy:proxy /var/lib/ssl_db/

##NOTA##
El certificado  myCA.der debera copiarse a todos los clientes y añadirse al navegador

- Reiniciamos el servidor squid
#service squid restart
-Redireccionamos el trafico del puerto 80 y 443 con las siguientes reglas de iptable 

iptables -A INPUT -j ACCEPT -p tcp --dport 3128 -m comment --comment "squid http proxy"
iptables -A INPUT -j ACCEPT -p tcp --dport 3129 -m comment --comment "squid https proxy"
iptables -t nat -A PREROUTING -s 192.168.10.0/24 -p tcp --dport 80 -m comment --comment "transparent http proxy" -j DNAT --to-destination 192.168.10.250:3128
iptables -t nat -A PREROUTING -s 192.168.10.0/24 -p tcp --dport 443 -m comment --comment "transparent https proxy" -j DNAT --to-destination 192.168.10.250:3129

En estas reglas iptable aceptamos el trafico del puerto 3128 y 3129 el cual es redireccionado de los puertos 80 y 443, de esta forma todo el trafico de los clientes pasa a traves del servidor proxy y es posible filtrar su contenido y ser un proxy transparente.

 
CONFIGURACIÓN DE CLIENTES 

El servidor squid configurado anteriormente a sido de forma transparente es decir que los clientes no requieren una configuracion para poder acceder a internet a traves de dicho servidor, sin embargo en el caso de las paginas web con protocolo HTTPS se requiere un certificado de autenticidad, el cual generamos en el servidor y se encuentra dentro del directorio “/etc/squid/ssl_cert/myCA.der”, el cual debemos copiar a los clientes para añadirlo a los navegadore.

Si tratamos de acceder a internet sin integrar el certificado el navegador nos mostrara una ventana como la siguiente:

Métodos

Resultados

Conclusiones

Recomendaciones

Glosario de Términos

Apache:

Es un poderoso servidor web, cuyo nombre proviene de la frase inglesa “a patchy server” y es completamente libre, ya que es un software Open Source y con licencia GPL. Una de las ventajas más grandes de Apache, es que es un servidor web multiplataforma, es decir, puede trabajar con diferentes sistemas operativos y mantener su excelente rendimiento.

Bash:

Es un programa nformático, cuya función consiste en interpretar órdenes, y un lenguaje de consola. Es una shell de Unix compatible con POSIX y el intérprete de comandos por defecto en la mayoría de las distribuciones GNU/Linux, además de macOS.

Certificado:

Son una medida de confianza adicional para las personas que visitan y hacen transacciones en su página web, le permite cifrar los datos entre el ordenador del cliente y el servidor que representa a la página.

Cron:

Es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). El nombre cron viene del griego chronos (χρόνος) que significa "tiempo".

Crontab:

El archivo de texto en donde se guarda todas las tareas programadas por cron. Crontab verifica las fechas y horas en que se debe ejecutar el script o el comando, los permisos de ejecución y los realiza en el background.

Dhcp:

El protocolo de configuración dinámica de host (en inglés: Dynamic Host Configuration Protocol, también conocido por sus siglas de DHCP) es un servidor que usa protocolo de red de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes

Dns:

El sistema de nombres de dominio (DNS, por sus siglas en inglés, Domain Name System) es un sistema de nomenclatura jerárquico descentralizado para dispositivos conectados a redes IP como Internet o una red privada. Este sistema asocia información variada con nombre de dominio asignado a cada uno de los participantes.

Firewall:

Es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas. Se trata de un dispositivo o conjunto de dispositivos configurados para permitir, limitar, cifrar o descifrar el tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas y otros criterios.


Interface:

Se conoce como la interfaz de usuario al medio que permite a una persona comunicarse con una máquina. Por lo tanto, es una conexión entre dos máquinas de cualquier tipo, a las que proporciona un soporte para la comunicación a diferentes estratos.

Intranet:

Es una red informática que utiliza la tecnología del protocolo de Internet para compartir información, sistemas operativos o servicios de computación dentro de una organización. Suele ser interna, en vez de pública como internet, por lo que solo los miembros de esa organización tienen acceso a ella.

Ip: Es un número que identifica, de manera lógica y jerárquica, a una Interfaz en red (elemento de comunicación/conexión) de un dispositivo (computadora, tableta, portátil, smartphone) que utilice el protocolo P o (Internet Protocol), que corresponde al nivel de red del modelo TCP/IP.

Ldap:

Son las siglas de Lightweight Directory Access Protocol (en español Protocolo Ligero/Simplificado de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red.

Proxy:

En una red informática, es un servidor —programa o dispositivo—, que hace de intermediario en las peticiones de recursos que realiza un cliente (A) a otro servidor (C).

Script:

Es un programa usualmente simple, que por lo regular se almacena en un archivo de texto plano. Los guiones son casi siempre interpretados, pero no todo programa interpretado es considerado un guion. El uso habitual de los guiones es realizar diversas tareas como combinar componentes, interactuar con el sistema operativo o con el usuario.

Servidor:

Es una aplicación en ejecución (software) capaz de atender las peticiones de un cliente y devolverle una respuesta en concordancia. Los servidores se pueden ejecutar en cualquier tipo de computadora, incluso en computadoras dedicadas a las cuales se les conoce individualmente como «elservidor».

Servidor web: Es un programa informático que procesa una aplicación del lado del servidor, realizando conexiones bidireccionales o unidireccionales y síncronas o asíncronas con el cliente y generando o cediendo una respuesta en cualquier lenguaje o Aplicación del lado del cliente.

Ssh:

(Secure SHell, en español: intérprete de órdenes seguro) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder servidores privados a través de una puerta trasera (también llamada backdoor).

Ssl:

"Secure Sockets Layer". SSL Definición, Secure Sockets Layer es un protocolo diseñado para permitir que las aplicaciones para transmitir información de ida y de manera segura hacia atrás.

Terminal:

Es un dispositivo electrónico o electromecánico que se utiliza para interactuar con un(a) computador(a). La función de un terminal está confinada a la exhibición y entrada de datos; un dispositivo con una significativa capacidad local programable de procesamiento de datos puede ser llamado un "terminal inteligente" o cliente pesado.

Virtualbox:

Es un software de virtualización para arquitecturas x86/amd64. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual.


== Referencias Bibliográficas ==