SEGURIDAD DE LAS REDES
Configuración de un Proxy,
Configuración de un Firewall (ipchains, iptables),
Restricción de acceso a servicios (TCP_wrappers)
Configuración de un servidor Kerberos; VPN’s con IPsec
Instalación de servidor DHCP en Ubuntu Server 12.04
SEGURIDAD DE LAS REDES
1. SEGURIDAD DE LAS REDES
Integrante
Gustavo Aguilar
C.I:27.367.086
UNERMB
Universidad Nacional Experimental
Rafael Marial Baralt
San Francisco, Junio 2021
2. Un proxy, o servidor 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).
Esta situación estratégica de punto intermedio le permite ofrecer
diversas funcionalidades: control de acceso, registro del tráfico,
restricción a determinados tipos de tráfico, mejora de rendimiento,
anonimato de la comunicación, caché web, etc.
3. 1. Inicio
2. Panel de control
3. Red e Internet
4. Opciones de Internet
Una vez dentro de las Propiedades de
internet, debemos seleccionar la solapa
Conexiones, una vez allí tenemos que
ingresar a la opción:
“Configuración de LAN”
4. Ahora pueden configurar el servidor Proxy,
en caso de más opciones, hay que
seleccionar el botón de “avanzadas“.
En el menú avanzado se podrá
configurar el Proxy para diferentes
protocolos, también se puede usar el
mismo para todos los protocolos.
Básicamente eso, un pequeño repaso sobre la configuración
del Proxy de IE.
5.
6. Un firewall es un dispositivo, ya sea software o hardware, que filtra todo el tráfico
de red. El sistema operativo Linux dispone de un firewall llamado IPtables.
Iptables es un firewall incluido en el kernel de Linux desde la versión 2.4 que está
incluido en el sistema operativo. Es un firewall basado en reglas, su
funcionamiento se basa en aplicar reglas que el mismo firewall ejecute. Estas
IPtables también se encuentran en los firmwares basados en Linux y por supuesto,
los dispositivos Android.
El uso de IPtables es bastante complejo, por lo que vamos a hacer un vistazo
general sobre sus opciones:
7. Para Iniciar/Parar/Reiniciar Iptables debemos ejecutar estos
comandos:
• Sudo service iptables start
• Sudo service iptables stop
• Sudo service iptables restart
Los principales comandos de IPtables son los siguientes
(argumentos de una orden):
-A –append → agrega una regla a una cadena.
-D –delete → borra una regla de una cadena especificada.
-R –replace → reemplaza una regla.
-I –insert → inserta una regla en lugar de una cadena.
-L –list → muestra las reglas que le pasamos como argumento.
-F –flush → borra todas las reglas de una cadena.
-Z –zero → pone a cero todos los contadores de una cadena.
-N –new-chain → permite al usuario crear su propia cadena.
-X –delete-chain → borra la cadena especificada.
-P –policy → explica al kernel qué hacer con los paquetes que no coincidan con ninguna
regla.
-E –rename-chain → cambia el orden de una cadena.
8. Condiciones principales para Iptables:
-p –protocol → la regla se aplica a un protocolo.
-s –src –source → la regla se aplica a una IP de origen.
-d –dst –destination → la regla se aplica a una Ip de destino.
-i –in-interface → la regla de aplica a una interfaz de origen, como eth0.
-o –out-interface → la regla se aplica a una interfaz de destino.
Condiciones TCP/UDP:
-sport –source-port → selecciona o excluye puertos de un determinado puerto de origen.
-dport –destination-port → selecciona o excluye puertos de un determinado puerto de destino.
Existen muchas mas condiciones para una configuración avanzada del firewall, pero las elementales
ya las tenemos listadas.
Configurar reglas por defecto:
Para configurar el firewall para que bloquee todas las conexiones debemos teclear:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
Con esto nos quedaremos sin internet, por lo que a continuación debemos empezar a crear reglas
permisivas.
9. Para aplicar una regla que filtre un determinado puerto, debemos
ejecutar:
iptables -A INPUT -p tcp –sport 22 22 → crea una regla para el puerto de origen tcp 2222
Para bloquear el tráfico procedente de una determinada IP, debemos
ejecutar:
iptables -A INPUT -p tcp -m iprange –src-range 192.168.1.13-192.168.2.19 (ejemplo de IP)
También podriamos bloquear por MAC con la condición –mac-source:
iptables -A INPUT -m mac –mac-source 00:00:00:00:00:01
Una vez ejecutadas las reglas que queramos aplicar, debemos guardarlas tecleando sudo service
iptables save
Ver el estado del firewall:
iptables -L -n -v
El parámetro L muestra las líneas abiertas. V permite recibir más información sobre las conexiones
y N nos devuelve las direcciones IP y sus correspondientes puertos sin pasar por un servidor DNS.
Eliminar las reglas existentes:
Para borrar toda la configuración del firewall para volver a configurarlo de nuevo debemos teclear:
iptables –F
10. Permitir conexiones entrantes:
Teclearemos los siguientes parámetros:
iptables -A INPUT -i [interface] -p [protocolo] –dport [puerto] -m state –state NEW,ESTABLISHED -j
ACCEPT
-i: debemos configurar la interfaz, por ejemplo, eth0. Esto es útil en caso de tener varias tarjetas de
red, si tenemos sólo una, no tenemos por qué especificar este parámetro.
-p: protocolo. Debemos especificar si el protocolo será TCP o UDP.
–dport: el puerto que queremos permitir, por ejemplo, en caso de HTTP sería el 80.
Permitir las conexiones salientes
iptables -A OUTPUT -o [interfaz] -p [protocolo] –sport [puerto] -m state –state ESTABLISHED -j
ACCEPT
-o: debemos configurar la interfaz, por ejemplo, eth0, al igual que en el caso anterior.
-p: protocolo. Debemos especificar si el protocolo será TCP o UDP.
–sport: el puerto que queremos permitir, por ejemplo, en caso de HTTPS sería el 443.
11. Permitir los paquetes ICMP
Por defecto, el ping está deshabilitado. Debemos habilitarlo manualmente añadiendo las
correspondientes entradas en iptables. Para ello teclearemos:
Para poder hacer ping a otros servidores:
iptables -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT
Para permitir recibir solicitudes de ping de otros equipos:
iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT
Permitir que el tráfico interno salga a internet
En el caso de tener 2 tarjetas de red (eth0 en local y eth1 conectada a internet) podemos
configurar el firewall para que reenvíe el tráfico de la red local a través de internet. Para ello
escribiremos:
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
Bloquear y prevenir ataques DDoS
iptables -A INPUT -p tcp –dport 80 -m limit –limit 25/minute –limit-burst 100 -j ACCEPT
Consultar los paquetes rechazados por iptables
Para saber los paquetes que iptables ha rechazado debemos teclear:
iptables -N LOGGING
12.
13. Restricción de acceso a servicios
(TCP wrappers)
TCP Wrapper es un sistema que nos permite permitir, denegar o filtrar el acceso
a los servicios de un servidor con sistema operativo UNIX (como por ejemplo
Linux o BSD).
Los ficheros principales implicados en TCP Wrappers son “/etc/host.allow” y
“/etc/host.deny”. En el fichero /etc/host.allow se indican las políticas permisivas y
en el fichero /etc/host.deny las políticas restrictivas.
Las políticas o reglas para filtrar el acceso al servidor desde la red se definen de
la siguiente forma:
Demonios o lista de demonios del sistema, Lista de equipos, Acción a realizar
14. A continuación detallamos cada campo:
• Demonios: Son servicios que existen en sistemas operativos Unix como por
ejemplo SSHD (servicio SSH), SLAPD (servicio LDAP) o PROFTPD (servicio FTP).
Para crear una regla común para varios demonios debemos indicar su nombre
separados por comas.
• Lista de equipos: En este campo indicamos a que equipos aplicamos esta política.
Podemos indicar una dirección IP, un rango de direcciones IP, o un nombre de
dominio.
• Acción a realizar: Aquí debemos indicar si la política permite el acceso o deniega el
acceso a los demonios indicados anteriormente. Las palabras que se usa denegar
el acceso es “deny”. En caso de dejar este campo vacío, significa que permitimos el
acceso a los demonios y equipos indicados. Opcionalmente, podemos enviar
comandos con la directiva “spawn”.
15.
16. Configuración de servidores de aplicaciones de red de Kerberos
Los servidores de aplicaciones de red son hosts que proporcionan acceso mediante una o
más de las siguientes aplicaciones de red: ftp, rcp, rlogin, rsh, ssh y telnet. Sólo se requieren
unos pocos pasos para habilitar la versión de Kerberos de estos comandos en un servidor.
Cómo configurar un servidor de aplicaciones de red de Kerberos
Este procedimiento utiliza los siguientes parámetros de configuración:
Servidor de aplicaciones = boston
Principal admin = kws/admin
Nombre de dominio DNS = example.com
Nombre de dominio = EXAMPLE.COM
17. Antes de empezar
Este procedimiento requiere que el KDC maestro se haya configurado. Para probar
completamente el proceso, varios clientes Kerberos deben estar configurados.
(Opcional) Instale el cliente NTP u otro mecanismo de sincronización de relojes.
Consulte Sincronización de relojes entre clientes Kerberos y KDC para obtener
información sobre el NTP.
Agregue principales para el nuevo servidor y actualice el archivo keytab del servidor.
El siguiente comando informa la existencia del principal host:
boston # klist -k |grep host
4 host/boston.example.com@EXAMPLE.COM
4 host/boston.example.com@EXAMPLE.COM
4 host/boston.example.com@EXAMPLE.COM
4 host/boston.example.com@EXAMPLE.COM
Si el comando no devuelve un principal, cree nuevos principales mediante los siguientes
pasos.
Si desea obtener información sobre cómo utilizar la herramienta gráfica de administración de
Kerberos para agregar un principal, consulte Cómo crear un nuevo principal de Kerberos. El
ejemplo de los siguientes pasos muestra cómo agregar los principales necesarios mediante
la línea de comandos. Debe iniciar sesión con uno de los nombres de principales admin que
creó cuando configuró el KDC maestro.
18. boston # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin
password> kadmin:
a) Cree el principal host del servidor.
El principal host se utiliza:
Para autenticar el tráfico al utilizar los comandos remotos, como rsh y ssh.
Por pam_krb5 para evitar ataques de falsificación de KDC mediante el principal host a fin de
verificar que la credencial de Kerberos de un usuario se haya obtenido de un KDC de confianza.
Para permitir que el usuario root adquiera automáticamente una credencial de Kerberos sin
necesidad de que exista un principal root. Esto puede ser útil al realizar un montaje de NFS
manual donde el recurso compartido requiere una credencial de Kerberos.
Este principal es necesario si el tráfico que utiliza la aplicación remota se va a autenticar
mediante el servicio Kerberos. Si el servidor tiene varios nombres de host asociados con él,
cree un principal para cada nombre de host utilizando el formato de FQDN del nombre de host.
kadmin: addprinc -randkey host/boston.example.com Principal
"host/boston.example.com" created. kadmin:
19. B. Agregue el principal host del servidor al archivo keytab del servidor.
Si el comando kadmin no se está ejecutando, reinícielo con un comando similar al siguiente:
/usr/sbin/kadmin -p kws/admin.
Si el servidor tiene varios nombres de host asociados con él, agregue un principal al archivo
keytab para cada nombre de host.
kadmin: ktadd host/boston.example.com
Entry for principal host/boston.example.com with kvno 3, encryption type AES-256 CTS mode
with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/boston.example.com with kvno 3, encryption type AES-128 CTS mode
with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/boston.example.com with kvno 3, encryption type Triple DES cbc
mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/boston.example.com with kvno 3, encryption type ArcFour
with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
Entry for principal host/boston.example.com with kvno 3, encryption type DES cbc mode
with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin:
C. Salga de kadmin.
kadmin: quit