Resumen Practico - Firewall Proxy Router DHCP Apache PDF

Title Resumen Practico - Firewall Proxy Router DHCP Apache
Course Redes de Datos II
Institution Universidad Nacional de La Rioja
Pages 27
File Size 666 KB
File Type PDF
Total Downloads 31
Total Views 131

Summary

Resumen Practico para solucion de Guia de trabajos Practicos numero 2, propuesto por la catedra del Ing. De la Vega, Martin, sobre la implementacion de Servicios de Firewall, Proxy, Ruteo, DHCP server y Apache web para servidores basados en Debian...


Description

Redes de Datos 2: Red Administrada Abril 27, 2018

Ing. De la Vega, Mart´ın

Perea, Dante Lautaro - EISI094

Vargas, Franco Iv´ an - EISI111

1

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

´Indice Pr´ actico 3: Configuraci´ on de servicios de Red

3

Sistema Operativo implementado Debian 9 Stretch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requerimientos previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 4

4

SSH Configuraci´on OpenSSH-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

DHCP Configuraci´on de Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuracion DHCP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuraci´on como Router e inhabilitaci´ on de IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . .

7 8 9

Apache Server Configuraci´ on de server Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 10

5

7

PROXY Server 11 Proxy HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 HTTPS, Squid y sus limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 FIREWALL 16 IPTABLES v4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Configuraci´ on IPTABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 DMZ Configuraci´ on DMZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

23

Cuestionario Servidores DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accesos Remotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25 27

25

P´ agina 2 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

Pr´ actico 3: Configuraci´ on de servicios de Red Se pide implementar, en una red, los siguientes servicios: Zona Desmilitarizada, Firewall, Proxy, Servidor Apache, Servidor DHCP

Para desarrollar la actividad se eligi´o trabajar con ODROID-XU4, una Computadora de Placa Simple de Hardkernell.

A la misma se le agregaron una memoria eMMC 5.0 de 32 GB para alocar el sistema operativo (Debian 9 Stretch) y los archivos necesarios para operar. Mientras que por falta de una placa Ethernet se adquiri´ o un adaptador de Ethernet a USB 2.0, el cual tiene capacidad de velocidad 10/100 pero se deja por default a 10Mbps por sugerencia de la documentaci´ on del fabricante quien busca garantizar la estabilidad de los controladores a esa velocidad de transmisi´on. A fin de establecer con claridad la disposicion de las conexiones implementadas se aclara que, para nuestro caso, respetaremos la siguiente configuracion de red: eth0 : conexion cableada WAN eth1 : conexion cableada LAN El equipo fue montado completamente, previo a iniciar la tarea segun lo especificado por el fabricante en la documentaci´ on t´ecnica. Mientras que a nivel software detallaremos a continuaci´on.

P´ agina 3 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

Sistema Operativo implementado Distribuci´on de Linux utilizada Debian 9 Stretch Se eligi´ o Debian por disponer la mayor cantidad de documentaci´ on oficial por parte de sus desarrolladores y por ser una de las distribuciones mas usadas en las aplicaciones de redes. La misma puede ser descargada de https://goo.gl/3cswQA cuyo link es una version corta de la URL oficial.

Requerimientos previos Con el fin de poder configurar y desarrollar sobre este SO se pide que se ejecute como root: apt-get update && apt-get upgrade Y que se instalen los siguientes paquetes: openssh-server: Server SSH para poder trabajar remotamente en nuestro servidor. net-tools: Este paquete es opcional, pues podemos utilizar las herramientas nativas de Debian, donde con el comando ip podemos obtener la informaci´on necesaria, pero para poder ejecutar los comandos ipconfig, por ejemplo, deberemos bajar esta utilidad. isc-dhcp-server: Sera el paquete que nos brindara el Servidor DHCP. squid: Es sugerible bajar la version mas conveniente para el usuario, aunque aqui se utilizo la version mas reciente del paquete. apache2: Server Apache, con el cual montaremos el sitio al cual redirigiremos el trafico marcado para redireccionar. Para ello ejecutaremos: apt-get install openssh-server net-tools isc-dhcp-server squid apache2 Con esto se obtuvo el listado anterior de paquetes y sus dependencias necesarias. Por lo que estamos en condiciones de comenzar a configurar nuestro servidor.

P´ agina 4 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

SSH

SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, el cual sirve para acceder a servidores privados remotos de forma segura. Permite manejar por completo el servidor mediante un int´ erprete de comandos, y tambi´en puede redirigir el tr´ afico de X (Sistema de Ventanas X). Por defecto Debian dispone el cliente, pero no asi el servidor el cual ya ha sido descargado en la secci´ on anterior. Cabe aclarar una vez mas que todo lo que se ejecuta en el documento se efect´ ua como root. En primer lugar regeneramos las llaves (keys) del equipo: rm /etc/ssh/ssh_host_* dpkg-reconfigure openssh-server Habiendo hecho lo anterior tendremos llaves nuevas generadas, con lo que podemos proceder a configurar nuestro servidor SSH, para ello haremos un backup del archivo original de configuraci´ on y luego procederemos a realizar los cambios adecuados. Ejecutamos: mv /etc/ssh/sshd_config /etc/ssh/sshd_config.backup Esto renombra el archivo original con lo que bastara con cambiarle el nombre en caso de que falle algo y no sea posible determinar que para restaurar la configuraci´ on original. Una vez hecho el respaldo, procedemos a configurar nuestro nuevo archivo con los par´ ametros adecuados. Para crear el archivo ejecutamos: nano /etc/ssh/sshd_config Con ello entramos a un editor de texto y vamos a configurar en base a lo expuesto en la siguiente pagina.

P´ agina 5 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

Configuraci´ on OpenSSH-Server #Configuracion SSH Server #/etc/ssh/sshd_config Port 22 Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key UsePrivilegeSeparation yes KeyRegenerationInterval 3600 ServerKeyBits 1024 SyslogFacility AUTH LogLevel INFO LoginGraceTime 120 ########################################################### # ESTO DEBE CAMBIARSE UNA VEZ FINALIZADA LA CONFIGURACION # ########################################################### PermitRootLogin yes # Configurar como NO al terminar ########################################################### StrictModes yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes En estas condiciones disponemos del servicio de SSH pero aun debemos configurar las interfaces de conexi´ on.

P´ agina 6 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

DHCP Dado que tenemos solo un switch y necesitamos otorgar IP a los clientes que se conecten, es necesario configurar el servidor DHCP en nuestro dispositivo.

Configuraci´ on de Red Con el fin de poder acceder a la red, necesitamos asignarle una configuraci´on m´ınima a nuestras interfaces. Configuramos nuestras placas de red accediendo al siguiente archivo nano /etc/network/interfaces En este archivo configuraremos nuestra interfaz de red de la siguiente manera: source-directory /etc/network/interfaces.d auto lo iface lo inet loopback allow-hotplug wlan0 iface wlan0 inet static address 10.10.0.1 netmask 255.255.255.0

auto eth0 iface eth0 inet static address 192.168.88.28 netmask 255.255.255.0 gateway 192.168.88.1 dns-nameservers 8.8.8.8 auto eth1 iface eth1 inet address netmask gateway

static 10.10.0.1 255.255.255.0 10.10.0.1

Reiniciamos los servicios de Redes y SSH o en su defecto reiniciamos el servidor y podremos acceder por SSH con las credenciales configuradas durante la instalaci´ on. La raz´ on por la cual se ha configurado con direcci´ on fija ambas placas es porque la de conexi´on WAN (eth0) para ser probada en nuestro caso, esta detr´ as de un firewall en cuya configuraci´ on se ha asignado que a esta direcci´ on se le otorgue trafico libre sin ning´ un tipo de restricci´ on ni protecci´ on. Mientras que en caso de la LAN (eth1) la dejamos fija pues sera nuestro servidor DHCP, Apache y Proxy con lo que debemos tenerla reservada. Para corroborar que hayan sigo aplicadas las configuraciones expuestas podemos verificarlas ejecutando: ipconfig -> para el caso de Windows ifconfig -> para el caso de Linux ip a -> para el caso de Linux que no disponga de net-tools Cuyo comando devuelve las configuraciones actuales de las interfaces de red.

P´ agina 7 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

Configuracion DHCP Server Con el fin de poder otorgar IP a nuestros clientes, debemos montar un servicio de DHCP. Para ello se utiliz´ o isc-dhcp-server cuyas configuraciones estan alojadas en la ruta /etc/dhcp/dhcpd.conf y la interface en /etc/default/isc-dhcp-server. Al igual que antes haremos un archivo de backup ante eventuales fallas que permitan volver a la configuraci´on original o a la ultima version estable que guardemos en ella. Entonces debemos hacer los backups de ambos archivos, por lo tanto: mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup mv /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.backup Creamos el nuevo archivo de configuraci´on del servicio de DHCP: nano /etc/dhcp/dhcpd.conf Y con un archivo en blanco configuramos de la siguiente manera: ##/etc/dhcp/dhcpd.conf authoritative; ddns-update-style none; default-lease-time 600; max-lease-time 1200; log-facility local7; subnet 10.10.0.0 netmask 255.255.255.0 { range 10.10.0.2 10.10.0.254; option broadcast-address 10.10.0.255; option domain-name-servers 8.8.4.4, 8.8.8.8; option routers 10.10.0.1; default-lease-time 3600; max-lease-time 7200; } # Lineas sugeridas por la documentacion contra DoS Attack deny declines; deny bootp; # Clientes con IP FIJA host root { hardware ethernet 40:16:7E:85:B5:B3; fixed-addess 10.10.0.8; option routers; } Para el caso del archivo de configuraci´on de la interfaz procedemos de manera similar.

P´ agina 8 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

Creamos el nuevo archivo de configuraci´on del servicio de DHCP: nano /etc/default/isc-dhcp-server Y configuramos de la siguiente manera: INTERFACES="eth1" Reiniciamos el servicio de DHCP o reiniciamos la PC y al conectarnos al puerto ethernet configurado como LAN (en nuestro caso eth1) deber´ıamos tener una direccion de IP asignada autom´ aticamente por nuestro servidor. Una prueba de ello es ejecutar: cat /var/lib/dhcp/dhcpd.leases Cuyo resultado nos devuelve la lista de clientes que han recibido IP por parte de nuestro servicio y ademas que direcci´ on se les ha asignado.

Configuraci´ on como Router e inhabilitaci´ on de IPv6 Hasta aqu´ı tenemos configurados el acceso remoto y el servidor DHCP, por lo tanto podr´ıamos conectarnos por puerto LAN para trabajar desde una PC remota. Pero sin embargo aun no podemos establecer conexi´on entre dos redes diferentes, por lo que continuaremos con la configuraci´ on de nuestro router. Para ello vamos a establecer la configuraci´on en el archivo /etc/sysctl.conf en donde lo que haremos es habilitar la transferencia de paquetes de IPv4 entre placas y deshabilitar IPv6 cuyo protocolo no es necesario a fines pr´ acticos en este trabajo. Dentro del archivo buscaremos lo siguiente: # net.ipV4.ip_ip_forward = 1 y quitaremos el # con el fin de habilitar IPv4 forwarding. Ademas agregaremos: net.ipv6.conf.all.disable_ipv6 = 1 Por ultimo ejecutaremos el comando: sysctl -p Ahora ejecutaremos echo ’nameserver 8.8.8.8’ >> /proc/sys/net/ipv4/ip_forward Esto ultimo nos ha permitido resolver un inconveniente de DNS para poder navegar. Para que nuestros cambios tengan efecto una vez mas podemos reiniciar los servicios con: service networking restart O reiniciando el equipo. Luego de ello deberemos llevar adelante una prueba que nos permita conocer si esta funcionando y para ello ejecutamos: ping google.com Corroborando que efectivamente el servidor remoto responda.

P´ agina 9 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

Apache Server En la pr´ oxima secci´ on se vera la implementaci´ on de un proxy, el cual sera capaz de redirigir cierto trafico indeseado a un site alojado en nuestro servidor. Para que esto sea posible es necesario configurar nuestro servidor apache.

Configuraci´ on de server Apache Si bien, la mayor parte de la configuraci´on necesaria por Apache es llevada adelante autom´ aticamente por el comando ejecutado en el inicio de este documento, nos restar´ıa faltando personalizar la pagina que muestra. Realizaremos un backup del archivo index.html original y procederemos a programar nuestro archivo. mv /var/www/html/index.html /var/www/html/index.html.backup nano /var/www/html/index.html Y a fin de reproducir aproximadamente el ejemplo citado en el enunciado aplicaremos:

Usuario bloqueado

POR hacer mal uso de los recursos, Ud fue bloqueado

Guardamos y cerrados nuestro archivo e introducimos a esta misma carpeta una imagen que le llamaremos ”Prohibido.jpg”. En nuestro caso esta tarea fue llevada adelante desde un SFTP. Para probar que efectivamente esta funcionando todo correctamente deber´ıamos acceder desde un ordenador por navegador web a la direcci´ on http://10.10.0.1 y observar algo similar a lo siguiente:

P´ agina 10 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

PROXY Server Para la configuraci´on de proxy se utilizar´a Squid, pero solo para protocolo HTTP. Para el caso de HTTPS, discutiremos al final de la secci´on su implementaci´on.

Proxy HTTP

Como observamos en el gr´afico anterior, tenemos nuestra red que pasa a trav´es de una computadora la cual esta observando todo el trafico que hay y las peticiones realizadas por los clientes. Este tipo de servicios es muy u ´ til para llevar un registro detallado de nuestros clientes acerca de donde navegan, que tan seguido acceden a ciertos sitios o incluso denegar acceso a ciertas paginas web que no quisi´eramos que fueran accedidas desde cierta red. Para lograrlo se utiliza Squid, el cual es un Proxy de licencia libre el cual nos permite realizar las tareas anteriores, pero que a fines de este practico se aplicara solo para filtrar ciertos sitios seg´ un su IP o su dominio. Para configurar nuestro Proxy procederemos como antes realizando un backup de nuestros archivos de configuraci´ on ejecutando: mv /etc/squid/squid.conf /etc/squid/squid.conf.backup Para la configuraci´ on solicitada se debe configurar tanto Squid como el Firewall, cuya implementacion que sera vista en la pr´oxima secci´ on. A fin de obtener las configuraciones minimas requeridas por Squid ejecutamos: grep -v ’^#’ squid.conf.backup | grep -v ’^$’ > squid.conf Y con ello observaremos las configuraciones que trae por defecto. Sin embargo nosotros utilizaremos una configuraci´ on sutilmente diferente para nuestro caso. La misma se expone en las siguientes p´ aginas.

P´ agina 11 of 27

Perea, Dante L.



Vargas, Franco I.

Redes de Datos 2 : Red Administrada

# Squid Config # http_port 3128 intercept acl localnet src 10.10.0.0/24 acl acl acl acl acl acl acl acl acl acl acl acl acl

SSL_ports port 443 Safe_ports port 80 # http Safe_ports port 21 # ftp Safe_ports port 443 # https Safe_ports port 70 # gopher Safe_ports port 210 # wais Safe_ports port 1025-65535 # unregistered ports Safe_ports port 280 # http-mgmt Safe_ports port 488 # gss-http Safe_ports port 591 # filemaker Safe_ports port 777 # multiling http CONNECT method CONNECT bannedsites dstdomain "/etc/squid/ban_sites.acl"

http_access http_access http_access http_access http_access http_access http_access

deny !Safe_ports deny CONNECT !SSL_ports allow localhost manager deny manager allow localhost allow localnet deny all

acl maxuserconnections maxconn 3 visible_hostname proxy.debian cache_dir ufs /var/spool/squid 100 16 256 cache_mem 32 MB maximum_object_size 32 MB cache_swap_low 90 cache_swap_high 95 cache_replacement_policy heap LFUDA httpd_suppress_version_string via forwarded_for request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access

on off off

Allow allow all Authorization allow all WWW-Authenticate allow all Proxy-Authorization allow all Proxy-Authenticate allow all Cache-Control allow all Content-Encoding allow all Content-Length allow all Content-Type allow all

P´ agina 12 of 27

Perea, Dante L.



Vargas, Franco I.

request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access request_header_access

Redes de Datos 2 : Red Administrada

Date allow all Expires allow all Host allow all If-Modified-Since allow all Last-Modified allow all Location allow all Pragma allow all Accept allow all Accept-Charset allow all Accept-Encoding allow all Accept-Language allow all Content-Language allow all Mime-Version allow all Retry-After allow all Title allow all Connection allow all Proxy-Connection allow all User-Agent allow all Cookie allow all All deny all

deny_info http://10.10.0.1 localnet http_reply_access deny bannedsites localnet

coredump_dir /var/spool/squid

refresh_pattern refresh_pattern refresh_pattern refresh_pattern refresh_pattern

^ftp: 1440 20% ^gopher: 1440 0% -i (/cgi-bin/|\?) 0 0% (Release|Packages(.gz)*)$ . 0 20%

10080 1440 0 0 4320

20%

2880

Luego debemos crear el archivo con el cual llevaremos el registro de los sitios/IPs a los cuales no se permitir´a acceder. Se procede de manera similar, ejecutando: nano /etc/squid/ban_sites.acl Y agregaremos una regla por cada linea, por ejemplo: .facebook.com .unlar.edu.ar Para que los cambios se v...


Similar Free PDFs