1. Unidad III: Seguridad de
las redes
Autor :
Jesús Javier Rangel Pérez
CI:28.237.600
República Bolivariana de Venezuela
Ministerio del Poder Popular para La Educación Universitaria
Universidad Nacional Experimental Rafael María Baralt
Sede San Francisco
PNFI Trayecto II-I
Redes del computador
San Francisco, Junio 2021
2. Que es un proxy:
Un proxy es un equipo informático que hace de intermediario entre las conexiones de
un cliente y un servidor de destino, filtrando todos los paquetes entre ambos. Siendo tú
el cliente, esto quiere decir que el proxy recibe tus peticiones de acceder a una u otra
página, y se encarga de transmitírselas al servidor de la web para que esta no sepa que lo
estás haciendo tú.
De esta manera, cuando vayas a visitar una
página web, en vez de establecer una
conexión directa entre tu navegador y ella
puedes dar un rodeo y enviar y recibir los
datos a través de esta proxy. La página que
visites no sabrá tu IP sino la del proxy, y
podrás hacerte pasar por un internauta de
otro país distinto al tuyo.
3. Cómo configurar un servidor proxy
en Windows 10
Si quieres configurar un proxy a nivel local Windows 10 te ofrece las opciones necesarias
para poder hacerlo. Para ello entra en el menú de Configuración abriendo el menú de
inicio y pulsando el icono de la rueda dentada en la columna de la izquierda. Una vez
dentro debes hacer click sobre la opción Red e Internet.
4. Cómo configurar un servidor proxy
en Windows 10
En este menú, a la izquierda tendrás varias opciones para supervisar el
comportamiento de tu red doméstica y configurar diferentes servicios. Pulsa sobre la
opción Proxy para acceder al menú de configuración de estos servicios.
5. Cómo configurar un servidor proxy
en Windows 10
Una vez en el menú Proxy, ve hasta la opción Usar servidor proxy y márcalo
como Activado. Debajo podrás escribir la dirección IP de la proxy que quieras utilizar y
su puerto, y también hay un cuadro en el que incluir las páginas web que quieres
excluir de tu navegación a través de esta proxy. Una vez configurado todo pulsa
en Guardar y se aplicarán los cambios.
6. ¿Y de dónde sacar estas direcciones? Algunas empresas VPN como HideMy.name tienen
listas de proxys gratuitas de varios países y con niveles de privacidad. Esta empresa en
concreto asegura que revisa cada proxy para asegurarse de que son seguros, y claro, si una
vez probados te gusta eso del anonimato estarán encantados de venderte sus VPN.
Cómo configurar un servidor proxy
en Windows 10
7. Que es un firewall o corta fuegos:
Los cortafuegos, unos mecanismos bastante extendidos para proteger un equipo o
una red de estos. También conocidos como "firewalls", los podemos encontrar
como dispositivos externos al PC (conectados entre la máquina a proteger y la red),
o bien como un software implementado sobre un sistema operativo. Los primeros
son denominados "Hardware Firewall" (cortafuegos por hardware) y los segundos,
más comunes entre los usuarios 'de a pie' se conocen como "software
firewall" (cortafuegos por software)
8. Los cortafuegos por software, destaca un nombre, IPtables, el cortafuegos que por
defecto viene integrado con la mayoría de las distribuciones Linux, y es en el que nos
centraremos, no sin mencionar antes los distintos tipos de software firewall que podemos
encontrar.
Distintos tipos de software firewall
• Cortafuegos de Estado: Este firewall comprobará el estado del paquete en la
transmisión diferenciando entre una nueva conexión y otra ya existente.
• Cortafuegos de capa de aplicación: Tiene en cuenta el contenido del
paquete a nivel de aplicación, pudiendo hacer así un filtrado más específico.
• Cortafuegos de filtrado de paquetes: Con este tipo analizamos y filtramos
los paquetes transmitidos o recibidos, según alguno parámetros designados
previamente como por ejemplo direcciones IP, puertos a usar, origen, destino.
9. Como configurar un firewall:
Existen cuatro tablas a aplicar dentro de IPtables: filter, mangle, nat y raw; que a su vez
contienen tres cadenas: INPUT, OUTPUT y FORWARD. Vamos a utilizar la tabla "filter", y lo
podremos hacer de dos formas. Una sería aceptar todos los paquetes entrantes al equipo
e ir restringiendo uno a uno los paquetes que nos interesen; esta sería la política conocida
como ACCEPT. La otra forma de filtrar paquetes sería el opuesto, denegar el acceso a
todos los paquetes y se van permitiendo los paquetes que queramos; esta segunda
política de filtrado se conoce como DROP.
Para especificar qué tipos de paquetes acceden o salen de nuestro equipo, tenemos que
describirlos de una forma determinada para que IPtables nos comprenda. Para esto
necesitamos órdenes y parámetros con los que formular la regla debidamente.
10. IPtables –F: flush (borrado, vaciado) de todas las reglas IPtables –L: listado de reglas que se
están aplicandoIPtables –A: añadir regla IPtables –D: borrar una regla.
Estos son varios de los parámetros que usaremos para configurar las reglas de IPtables.
-p [protocolo]: Protocolo al que pertenece el paquete. -s [origen]: dirección de origen del
paquete, puede ser un nombre de host, una dirección IP normal, o una dirección de red (con
máscara, de forma dirección/máscara). -d [destino]: Al igual que el anterior, puede ser un
nombre de host, dirección de red o dirección IP singular. -i [interfaz-entrada]: Especificación del
interfaz por el que se recibe el paquete. -o [interfaz-salida]: Interfaz por el que se va a enviar el
paquete. [!] -f: Especifica que la regla se refiere al segundo y siguientes fragmentos de un
paquete fragmentado. Si se antepone !, se refiere sólo al primer paquete, o a los paquetes no
fragmentados. -j [target]: Nos permite elegir el target al que se debe enviar ese paquete, esto
es, la acción a llevar a cabo con él.
Ordenes:
11. Y aquí la descripción de cada componente del anterior comando:
iptables: comando para IPtables (no hay que olvidar que las reglas son un Shell script) -
A: append, opción para añadir la regla INPUT: estado del paquete (al entrar es INPUT) -i
eth0: interfaz de red eth0 -s 0.0.0.0/0:dirección de acceso (cualquiera en este caso) -p
TCP: tipo de puerto --dport: puerto de destino -j ACCEPT:destino del paquete (se acepta
aunque aquí podría ser DROP, LOG, REJECT,..)
Pues ya tenemos y conocemos todo lo básico para crear un firewall por software en Linux a
nuestra medida.
Ordenes:
Ahora vamos con un ejemplo de una regla que acepta conexiones al puerto 80 del sistema.
iptables -A INPUT -i eth0 -s 0.0.0.0/0 -p TCP --dport www -j ACCEPT
12. Ordenes:
Así que ahora pongámonos manos a la obra y lo primero será cortar todas las
comunicaciones con esta línea:
sudo iptables -P INPUT DROP
Así lo que decimos a IPtables es que no permita el paso de ningún paquete de datos, y
esto incluye incluso los salientes, por lo que si hacemos la comprobación, comprobaremos
que no tenemos conexión a Internet. Esto lo podemos arreglar fácilmente si usamos la
siguiente línea.
sudo iptables -A INPUT -i lo -j ACCEPT
13. Muy bien, ahora ya podemos navegar, pero indaguemos en algunas web y
comprobemos que la carga de contenido está restringida, es decir, sí podemos navegar,
pero no vemos imágenes, contenido flash y cualquier otro componente de una web de
hoy día. Esto se debe a que con la línea anterior hemos permitido el acceso de nuestro
equipo (con 'lo' que IPtables traduce como localhost, es decir, nuestro ordenador)
a Internet, pero no al contrario. Fijemos entonces una norma que nos permita una
navegación adecuada y segura a la par con la siguiente línea de comandos:
Ordenes:
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Así decimos a IPtables que permita la entrada de datos al equipo, pero únicamente
aquellos paquetes que estén relacionados directamente con las solicitudes que nuestro
equipo ha emitido.
Pues ya tenemos configurado nuestro cortafuegos por software con IPtables, sólo
comentar una última cosa, y es que estas reglas desaparecen al apagar la máquina, por
lo que al iniciarlas tendremos que volver a introducirlas. A no ser que programemos un
script que se ejecute durante el inicio del sistema
14. Que es 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.
15. Restricción de servicios con TCP wrap
Las políticas o reglas para filtrar el acceso al servidor desde la red se definen de la
siguiente forma:
• – 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. Existe también el comodín “ALL” que hace que dicha política afecte a
todos los demonios del sistema.
• – 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. También podremos usar el comodín “ALL” para que esta política afecte a
todos los equipos que intenten acceder. También existe el operador “EXCEPT” que
nos permite eliminar de la regla uno o varios equipos.
• – 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”. Esta directiva suele ser utilizada para la creación
de registros de conexión al propio equipo. Existe también la directiva “twist”
quesustituye el servicio o demonio solicitado por el comando que le hemos
especificado. Esto significa que por defecto se deniega el acceso. Esto es muy útil
para la creación de honeypost.
16. Configuración de un servidor kerbero
Cuando esté configurando Kerberos, debe instalar el servidor primero. Si necesita instalar
servidores esclavos, los detalles para configurar las relaciones entre servidores maestro y
esclavo se cubren en Manual de instalación de Kerberos 5 localizado en el directorio
/usr/share/doc/krb5-server-<version-number> (reemplace <version-number> con el
número de versión del paquete krb5-server instalado en su sistema).
Para configurar un servidor Kerberos básico, siga estos pasos:
1) Asegúrese de que tanto el reloj como el DNS funcionan correctamente en todas las
máquinas servidores y clientes antes de configurar el Kerberos 5. Preste especial atención
a la sincronización de la hora entre el servidor Kerberos y de sus clientes. Si la
sincronización de los relojes del servidor y de los clientes se diferencia en más de cinco
minutos ( la cantidad predeterminada es configurable en el Kerberos 5), los clientes de
Kerberos no podrán autentificarse al servidor. La sincronización de los relojes es
necesaria para evitar que un intruso use un ticket viejo de Kerberos para hacerse pasar
como un usuario autorizado.
17. 2) Instale los paquetes krb5-libs, krb5-server, y krb5-workstation en una máquina dedicada
que ejecutará el KDC. Esta máquina tiene que ser muy segura — si es posible, no debería
ejecutar ningún otro servicio excepto KDC.
Si desea usar una utilidad de interfaz gráfica para administrar Kerberos, instale el paquete
gnome-kerberos. Este contiene krb5, que es una herramienta tipo GUI para manejar tickets.
3) Modifique los archivos de configuración /etc/krb5.conf y /var/kerberos/krb5kdc/kdc.conf
para que reflejen el nombre de su reino y las correspondencias (mappings) de dominio a
reino. Se puede construir un reino simple sustituyendo las instancias de EXAMPLE.COM y
example.com con el nombre correcto del dominio — siempre y cuando se respete el
formato correcto de los nombres escritos en mayúscula y en minúscula — y se cambie el
KDC del kerberos.example.com con el nombre de su servidor Kerberos. En general, los
nombres de reinos se escriben en mayúscula y todos los nombre DNS de host y nombres de
dominio se escriben en minúscula. Para más detalles sobre los formatos de estos archivos,
vea sus respectivas páginas man.
Configuración de un servidor kerbero
18. Configuración de un servidor kerbero
4) Cree la base de datos usando la utilidad kdb5_util desde el intérprete de comandos del
shell:
/usr/kerberos/sbin/kdb5_util create -s
El comando create crea la base de datos que será usada para almacenar las llaves para el
reino Kerberos. La opción -s fuerza la creación de un archivo stash en el cual la llave
maestra del servidor es guardada. Si no se presenta un archivo stash desde donde leer la
llave, el servidor Kerberos (krb5kdc) le pedirá al usuario que ingrese la contraseña maestra
del servidor (la cual puede ser usada para regenerar la llave) cada vez que arranca.
5) Modifique el archivo /var/kerberos/krb5kdc/kadm5.acl. Este archivo es usado por
kadmind para determinar cuales principales tienen acceso administrativo a la base de
datos Kerberos y sus niveles de acceso. La mayoría de las organizaciones pueden
resolverse con una sola
*/admin@EXAMPLE.COM *
19. Configuración de un servidor kerber
La mayoría de los usuarios serán presentados en la base de datos por un principal simple
(con una instancia NULL, o vacía, tal como joe@EXAMPLE.COM). Con esta configuración,
los usuarios con un segundo principal con una instancia de admin (por ejemplo,
joe/admin@EXAMPLE.COM) podrán tener todo el acceso sobre la base de datos del
reino Kerberos.
Una vez que se arranca kadmind en el servidor, cualquier usuario puede accesar a sus
servicios ejecutando kadmin en cualquiera de los clientes o servidores en el reino. Sin
embargo, solamente los usuarios que aparecen en la lista del archivo kadm5.acl podrán
modificar la base de datos, excepto por sus propias contraseñas.
La utilidad kadmin se comunica con el servidor kadmind por la red y usa Kerberos para
llevar a cabo la autentificación. Por esta razón, el primer principal ya debe existir antes
de conectarse al servidor sobre la red para poder administrarla. Puede crear esta
primera entrada con el comando kadmin.local, el cual se ha creado específicamente para
usarlo en la misma máquina que el KDC y no usa Kerberos para la autenticación.
20. Configuración de un servidor kerber
Escriba el comando kadmin.local en una terminal KDC para crear la primera entrada como
usuario principal:
usr/kerberos/sbin/kadmin.local -q "addprinc username/admin"
6) Arranque Kerberos usando los siguientes comandos:
/sbin/service krb5kdc start
/sbin/service kadmin start
/sbin/service krb524 start
7) Agregue principals para sus usuarios con el comando addprinc y kadmin. kadmin y
kadmin.local son interfaces de línea de comandos para el KDC. Como tales, muchos
comandos están disponibles después de lanzar el programa kadmin. Vea la página del
manual kadmin para más información.
21. 8) Verifique que el servidor KDC esté creando tickets. Primero, ejecute kinit para obtener
un ticket y guardarlo en un archivo de credenciales caché. Luego, use klist para ver la lista
de credenciales en su caché y use kdestroy para eliminar el caché y los credenciales que
contenga.
Configuración de un servidor kerber
Por defecto, kinit intenta autenticar el usuario usando el nombre de conexión (login) de la
cuenta que usó cuando se conectó al sistema (no al servidor Kerberos). Si ese nombre de
usuario no se corresponde a un principal en la base de datos Kerberos, kinitemite un
mensaje de error. Si estó ocurre, indique a kinit el nombre de su principal correcto como
un argumento en la línea de comandos (kinit <principal>).
Una vez que haya completado los pasos listados, el servidor Kerberos funcionará
correctamente.
22. Que es IPsec VPN
Una VPN es una red privada que utiliza una red pública para conectar dos o más
sitios remotos. En lugar de utilizar conexiones dedicadas entre redes, las VPN
utilizan conexiones virtuales enrutadas (de túnel) a través de redes públicas. IPsec
VPN es un protocolo que consta de un conjunto de estándares que se utiliza para
establecer una conexión VPN.
23. Que es IPsec VPN
Una VPN proporciona un medio por el que los equipos remotos se comunican de
forma segura a través de una WAN pública, como Internet.
Una conexión VPN puede vincular dos LAN (VPN de sitio a sitio) o un usuario de
acceso telefónico remoto y una LAN. El tráfico que fluye entre estos dos puntos
pasa a través de recursos compartidos tales como enrutadores, conmutadores y
otros equipos de red que forman la WAN pública. Para proteger la comunicación
VPN mientras se pasa a través de la WAN, los dos participantes crean un túnel de
seguridad IP (IPsec).
El término túnel no denota modo de túnel (consulte Procesamiento de paquetes en
modo de túnel). En su lugar, hace referencia a la conexión IPsec.
IPsec es un conjunto de protocolos relacionados para proteger las comunicaciones
de forma criptográfica en la capa de paquetes IP. IPsec también proporciona
métodos para la negociación manual y automática de asociaciones de seguridad
(SAs) y la distribución de claves, todos los atributos para los que se recopilan en un
dominio de interpretación (DOI). El DOI de IPsec es un documento que contiene
definiciones para todos los parámetros de seguridad necesarios para la negociación
correcta de un túnel VPN: básicamente, todos los atributos necesarios para sa y
ICR negociación.