SlideShare a Scribd company logo
1 of 11
Download to read offline
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/




                                                Caso de Estudio: AuthPF

Autores: Jonathan Waldo, Anderson Linares.
Correo electrónico de contacto: anderson.linares@gmail.com

Fecha de creación : 08/06/10                                                                        Ultima modificación: 15/06/10



Índice de contenido
1.Licencia (BSD)..................................................................................................................................1
2.Problema a resolver...........................................................................................................................2
   2.1.Diagrama de red.........................................................................................................................2
   2.2.Definiendo las reglas.................................................................................................................2
3. Solución ...........................................................................................................................................3
   3.1 Configurando las interfaces de red............................................................................................3
   3.2 Habilitar el reenvío de paquetes.................................................................................................4
   3.3 Habilitar PF y SSH....................................................................................................................4
   3.4 Implementación de las reglas.....................................................................................................4
4. Pruebas ............................................................................................................................................8
   4.1 Concepto....................................................................................................................................8
   4.2 Probando con un usuario no autenticado...................................................................................8
   4.3 Probando con un usuario autenticado........................................................................................9
5. Conclusiones...................................................................................................................................10
6. Enlaces relacionados......................................................................................................................10

1. Licencia (BSD)
Copyright (c) Jonathan Waldo, Anderson Linares

All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions
are met:
      •    Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
      •    Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
           disclaimer in the documentation and/or other materials provided with the distribution.
      •    Neither the name of the OpenBSD Colombia nor the names of its contributors may be used to endorse or promote products
           derived from this software without specific prior written permission.
THIS   SOFTWARE     IS   PROVIDED    BY   THE   COPYRIGHT      HOLDERS    AND    CONTRIBUTORS
"AS   IS"   AND     ANY    EXPRESS    OR   IMPLIED     WARRANTIES,    INCLUDING,    BUT    NOT
LIMITED   TO,   THE    IMPLIED    WARRANTIES   OF     MERCHANTABILITY     AND    FITNESS   FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS     BE     LIABLE    FOR    ANY    DIRECT,    INDIRECT,    INCIDENTAL,    SPECIAL,
EXEMPLARY,    OR     CONSEQUENTIAL     DAMAGES     (INCLUDING,    BUT     NOT    LIMITED    TO,


________________________________________________________________________________
 1.Licencia (BSD)                                                                                                                                  1/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/

PROCUREMENT      OF   SUBSTITUTE     GOODS      OR   SERVICES;    LOSS    OF    USE,   DATA,   OR
PROFITS;   OR   BUSINESS   INTERRUPTION)    HOWEVER     CAUSED     AND    ON   ANY    THEORY   OF
LIABILITY,    WHETHER     IN    CONTRACT,       STRICT    LIABILITY,    OR    TORT     (INCLUDING
NEGLIGENCE     OR   OTHERWISE)    ARISING    IN   ANY   WAY     OUT    OF   THE   USE    OF  THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


2. Problema a resolver
Se necesita crear una red segmentada donde se realice un proceso de autenticación previo a la
utilización de los recursos vitales de la compañía, y en donde un usuario común que desee utilizar
los servicios de conexión tenga acceso mínimo a la red con restricciones como por ejemplo la NO
visualización de los servicios internos de la compañía.
NOTA: Cuando nos referimos a un acceso mínimo estamos hablando desde no poder hacer ping a
nivel de red local tratando de enumerar equipos, hasta no hacer ataques de fuerza bruta a servicios
como SSH.

2.1. Diagrama de red




                                   Fig 1. Topología de Ejemplo

2.2. Definiendo las reglas

La definición de las reglas son la base fundamental del filtrado, donde definimos que es lo que se va
a permitir y lo que por el contrario no queremos que se permita.


Se debe permitir la conexión de la red WLAN al puerto SSH (22) para la previa autenticación.
Los equipos conectados a la red WLAN, tendrán acceso a internet.
Los equipos conectados a la red WLAN no tendrán acceso a la red LAN.
Los equipos conectados a la red WLAN que se han autorizados tendrán acceso a la LAN.


________________________________________________________________________________
2.Problema a resolver                                                                                                    2/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/


Se debe hacer NAT sobre la interfaz WAN para posteriormente permitir la salida de las demás
interfaces hacia INTERNET.
No se permitirán ataques de fuerza bruta al protocolo SSH del gateway.



3. Solución

3.1 Configurando las interfaces de red
Antes de todo es necesario estar seguro que nuestro sistema reconoce nuestras interfaces de red,
después de ello configuramos las tres interfaces con una dirección estática como se muestra a
continuación.


Tarjeta WAN:
echo inet 192.168.30.1 255.255.255.0 > etc/hostname.sis0


Tarjeta LAN:
echo inet 192.168.50.1 255.255.255.0 > etc/hostname.rl0


Tarjeta WLAN:
echo inet 192.168.40.1 255.255.255.0 > etc/hostname.rl1


Para verificar si todo ha salido correctamente digitamos el siguiente comando.


bash-3.2#Ifconfig
sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         lladdr 00:07:95:dd:72:b4
         priority: 0
         groups: egress
         media: Ethernet autoselect (100baseTX full-duplex)
         status: active
         inet6 fe80::207:95ff:fedd:72b4%sis0 prefixlen 64 scopeid 0x1
         inet 192.168.30.1 netmask 0xffffff00 broadcast 192.168.30.255
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         lladdr 00:c0:a8:7a:f5:c1
         priority: 0


________________________________________________________________________________
3. Solución                                                                                                             3/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/


         media: Ethernet autoselect (100baseTX full-duplex)
         status: active
         inet6 fe80::2c0:a8ff:fe7a:f5c1%rl0 prefixlen 64 scopeid 0x2
         inet 192.168.40.1 netmask 0xffffff00 broadcast 192.168.40.255
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         lladdr 00:08:a1:85:de:c4
         priority: 0
         media: Ethernet autoselect (100baseTX full-duplex)
         status: active
         inet6 fe80::208:a1ff:fe85:dec4%rl1 prefixlen 64 scopeid 0x3
         inet 192.168.50.1 netmask 0xffffff00 broadcast 192.168.50.255



3.2 Habilitar el reenvío de paquetes
Lo que se busca principalmente es lograr una comunicación interna entre tarjetas de red, para
establecer el intercambio de paquetes de forma efectiva entre las mismas.


En el archivo /etc/sysctl.conf se edita la variable net.inet.ip.forwarding, pasandola de 0 a 1.
#vi /etc/sysctl.conf
net.inet.ip.forwarding=1


3.3 Habilitar PF y SSH
Para habilitar Packet Filter modificamos el archivo /etc/rc.conf y buscamos la variable pf que por
defecto se encuentra en NO y la cambiamos por YES y para habilitar SSH solo debemos quitar el
NO y dejarlo con dos comillas dobles.


pf=YES
sshd_flags=””


3.4 Implementación de las reglas

A continuación se implementaran las reglas definidas con antelación en el siguiente archivo:
/etc/pf.conf


bash-3.2# vi /etc/pf.conf
#         $OpenBSD: pf.conf,v 1.49 2009/09/17 06:39:03 jmc Exp $

________________________________________________________________________________
3. Solución                                                                                                               4/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/


#
# See pf.conf(5) for syntax and examples.
#Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1
#let skip on lo
#definimos la interfaces con macros
lan="rl0"
ap="rl1"
externa="sis0"
#definimos con macros los puertos permitidos
puertos_permitidos="{ftp, ftp-data, ssh, 53, http, https}"
#definimos la red con macros
mi_red="192.168.0.0/16"


#Las tablas dinámicas para authpf y el blocker de ssh
table <authpf_users> persist
table <ssh_abuse> persist


#Agregamos el anchor del authpf, es importante hacerlo en este lugar.
anchor "authpf/*" in on $ap

#Si alguien ya esta reportado, entonces bloqueelo
block in quick from <ssh_abuse>

#Si alguien se pasa de la raya (muchas conexiones) agreguelo a la lista negra
pass in quick log on $ap proto tcp to any port ssh flags S/SA keep state 
(max-src-conn 5, max-src-conn-rate 3/5, overload <ssh_abuse> flush)


antispoof for $ap
block in log from no-route to any
block in log from urpf-failed to any


#aquí se hace el enmascaramiento, la regla dice: haga NAT en la
#interfaz externa (sis0) siempre y cuando los paquetes vengan de una red que
#no sea la externa y vayan para cualquier lugar
match out on $externa inet from !($externa:network) to any nat-to ($externa:0)



________________________________________________________________________________
3. Solución                                                                                                      5/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/


anchor "ftp-proxy/*"
pass in quick proto tcp to port ftp rdr-to 127.0.0.1 port 8021


# Reglas por defecto
#Deje conectar al ssh del firewall, necesario para authpf
pass in quick on $ap proto tcp from any to port {8021, ssh }
#permita hacer pings para todos lados, excepto nuestra red
pass in log quick on $ap proto icmp from any to !$mi_red
#permita hacer resolución dns en nuestra red
pass in quick on $ap proto {udp, tcp} from any to !$mi_red port 53
#Solo permita acceder a Internet en algunos puertos
pass in quick on $ap proto tcp from any to !$mi_red port $puertos_permitidos
#Bloquee todo lo que venga desde la wifi
block in quick on $ap
#Si supera el resto de filtros, dejelo pasar
pass            # to establish keep-state




 3.5 Creando usuarios para authpf
Para poder crear los usuarios que van a ser autenticados, lo hacemos con el comando adduser,
haciendo referencia a la clase authpf que es la que nos va a dar el perfil definitivo para dicho
usuario, es de anotar que este usuario no será un usuario común y corriente, puesto que no tendrá un
shell común. Para ello primero debemos crear los siguientes directorios y archivos de la siguiente
manera.
#touch /etc/authpf/authpf.conf


Ahora agregamos un usuario al sistema como se muestra a continuación
#adduser
Use option ``-silent'' if you don't want to see all warnings and questions.


Reading /etc/shells
Check /etc/master.passwd
Check /etc/group


Ok, let's go.


________________________________________________________________________________
3. Solución                                                                                                             6/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/


Don't worry about mistakes. There will be a chance later to correct any input.
Enter username []: prueba
Enter full name []: prueba A
Enter shell csh ksh nologin sh [ksh]:
Uid [1002]:
Login group prueba [prueba]:
Login group is ``prueba''. Invite prueba into other groups: guest no
[no]:
Login class authpf daemon default staff [default]: authpf
Enter password []:
Enter password again []:


Name:          prueba
Password:        ****
Fullname:       prueba A
Uid:          1002
Gid:          1002 (prueba)
Groups:        prueba
Login Class: authpf
HOME:           /home/prueba
Shell:        /bin/ksh
OK? (y/n) [y]: y
Added user ``prueba''
Copy files from /etc/skel to /home/prueba
Add another user? (y/n) [y]: n
Goodbye!


Una vez creado el usuario, definimos la reglas que van a regir al mismo, para ello creamos la
siguiente estructura.


#mkdir /etc/authpf/users
#mkdir /etc/authpf/users/prueba
#touch /etc/authpf/users/prueba/authpf.rules




________________________________________________________________________________
3. Solución                                                                                                          7/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/




En el archivo /etc/authpf/users/prueba/authpf.rules definimos las reglas de la siguiente manera.


#Hacemos referencia a las interfaces
lan="rl0"
ap="rl1"
externa="sis0"
#Especificamos lo puertos que se van a permitir.
puertos_permitidos="{ftp, ftp-data, ssh, http, https}"
mi_red="192.168.1.0/24"
# De esta forma se el concede libertad absoluta a esta ip
pass in quick on $ap from $user_ip to any



4. Pruebas

4.1 Concepto
La idea es realizar una prueba con un usuario no autenticado en el sistema para ver el nivel de
privilegios que este maneja en la red, lo mismo se realiza con un usuario autenticado para visualizar
la diferencia en el nivel de privilegios de cada uno de los usuarios.



4.2 Probando con un usuario no autenticado.
La primera prueba consiste en realizar un ping abierto donde se hace uso de un usuario no
autenticado para verificar si se alcanza todos los segmentos de la red LAN.


# ping 192.168.50.1
PING 192.168.50.1 (192.168.50.1) 56(84) bytes of data.


Como podemos observar no hay respuesta a la solicitud ICMP lo cual nos indica que la maquina no
puede alcanzar los otros segmentos de la red, este es el resultado esperado.
Solo para estar seguro realizamos una segunda prueba, pero esta vez usando NMAP a una maquina
en otro segmento de red.


# nmap -sV 192.168.40.0/24
Starting Nmap 5.00 ( http://nmap.org ) at 2010-06-09 15:49 COT



________________________________________________________________________________
4. Pruebas                                                                                                               8/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/


Nmap done: 256 IP addresses (0 hosts up) scanned in 206.32 seconds


Se puede evidenciar que NMAP no ha podido escanear la maquina, lo que nos permite concluir que
este usuario solo puede ver los equipos en su mismo segmento de red.



4.3 Probando con un usuario autenticado.

Como el encabezado lo menciona nos autenticamos por medio de SSH, una vez autenticados el
usuario puede ver todos lo segmentos de la red LAN y al mismo tiempo conectarse a los mismos,
cabe aclarar que una vez logueado el usuario la ventana queda inactiva y debera conectarse a la red
por medio de otra consola; la sesión termina cuando el usuario cierra la terminal o se desvincula de
la conexión por medio del comando exit.


# ssh prueba@192.168.50.1
prueba@192.168.50.1's password:
Last login: Tue Jun 8 11:02:30 2010 from 192.168.50.151


Hello anderson. You are authenticated from host "192.168.50.151"


De esta manera garantizamos el acceso a toda la red LAN, una zona que es totalmente restringida a
un usuario que no ha sido autenticado usando AuthPF. Este esquema funciona a modo de portal
cautivo, pero validandonos con SSH contra el gateway principal de la red.


Para verificarlo basta con hacer ping a cualquier equipo de la red LAN


~$ ping 192.168.40.1
PING 192.168.40.1 (192.168.1.40.1) 56(84) bytes of data.
64 bytes from 192.168.40.1: icmp_seq=1 ttl=63 time=3.20 ms
64 bytes from 192.168.40.1: icmp_seq=2 ttl=63 time=0.385 ms
64 bytes from 192.168.40.1: icmp_seq=3 ttl=63 time=0.386 ms
64 bytes from 192.168.40.1: icmp_seq=4 ttl=63 time=0.407 ms
64 bytes from 192.168.40.1: icmp_seq=5 ttl=63 time=0.394 ms


o hacer uso de NMAP




________________________________________________________________________________
4. Pruebas                                                                                                              9/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/


$ nmap -sV 192.168.40.16


Starting Nmap 5.00 ( http://nmap.org ) at 2010-06-09 17:07 COT
Interesting ports on 192.168.40.16:
Not shown: 994 closed ports
PORT            STATE SERVICE VERSION
21/tcp open ftp           VsFTPD 1.5
22/tcp open ssh           OpenSSH 5.1p1 Arch Linux (protocol 2.0)
53/tcp open domain ISC BIND 9.5.1-P3
80/tcp open http          Apache 2.0 httpd
111/tcp open rpcbind
443/tcp open ssl/http Apache httpd
Service Info: OSs: Unix, Linux



5. Conclusiones

A modo personal consideramos que esta es una solucion bastante útil y se prodia decir que muy
economica para segmentar una red y añadirle seguridad.


Con este corto manual nos damos cuenta del poder del Packet filter y de los componentes instalados
en la base del sistema OpenBSD, con el diagrama adecuado y unos sencillos pasos, podemos
convertir un computador de pocas prestaciones en un excelente firewall y autenticador de acceso a
la red.


Este esquema se puede considerar un portal cautivo con validación a través de ssh, cuando los
usuarios se autentican o terminan la sesión se genera un log en el archivo /var/log/messages que
puede usarse para hacer control de tiempo, este esquema funcionaría si es necesario llevar procesos
de accounting en la red.


Es viable escalar esta solución para configurar cualquier escenario que necesitemos, pues lo único
que varían son las reglas personalizadas de usuarios que van en los archivos authpf.rules en las
rutas: /etc/authpf/users/USUARIO/authpf.rules. Teniendo esta herramienta configurada solo
tendremos que planear que es lo que queremos hacer, que queremos permitir y que queremos
restringir en nuestro entorno y AuthPF hará el trabajo por nosotros.


6. Enlaces relacionados



________________________________________________________________________________
6. Enlaces relacionados                                                                                                10/11
Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/


http://www.openbsdcolombia.org/
http://www.openbsd.org/faq/pf/authpf.html
http://openbsd.org/faq/pf/
http://openbsd.org/faq/pf/macros.html
http://openbsd.org/faq/pf/nat.html
http://openbsd.org/faq/pf/anchors.html




________________________________________________________________________________
6. Enlaces relacionados                                                                                         11/11

More Related Content

Viewers also liked

Servidor de correo
Servidor de correoServidor de correo
Servidor de correojonathan17
 
Los derechos de los niños.
Los derechos de los niños.Los derechos de los niños.
Los derechos de los niños.Miriam Marcilla
 
Factorizacion 2do Prfoesional
Factorizacion 2do PrfoesionalFactorizacion 2do Prfoesional
Factorizacion 2do Prfoesionalyolimaratacho
 
Promoting and Enforcing Human Rights - HSC Legal Studies
Promoting and Enforcing Human Rights - HSC Legal StudiesPromoting and Enforcing Human Rights - HSC Legal Studies
Promoting and Enforcing Human Rights - HSC Legal StudiesMr Shipp
 
La Formación como palanca estratégica de transformación hacia la sociedad dig...
La Formación como palanca estratégica de transformación hacia la sociedad dig...La Formación como palanca estratégica de transformación hacia la sociedad dig...
La Formación como palanca estratégica de transformación hacia la sociedad dig...Jose Antonio Latorre
 

Viewers also liked (8)

Servidor de correo
Servidor de correoServidor de correo
Servidor de correo
 
Slideshare
SlideshareSlideshare
Slideshare
 
Bicilibroteca
BicilibrotecaBicilibroteca
Bicilibroteca
 
Los derechos de los niños.
Los derechos de los niños.Los derechos de los niños.
Los derechos de los niños.
 
Asintotas
AsintotasAsintotas
Asintotas
 
Factorizacion 2do Prfoesional
Factorizacion 2do PrfoesionalFactorizacion 2do Prfoesional
Factorizacion 2do Prfoesional
 
Promoting and Enforcing Human Rights - HSC Legal Studies
Promoting and Enforcing Human Rights - HSC Legal StudiesPromoting and Enforcing Human Rights - HSC Legal Studies
Promoting and Enforcing Human Rights - HSC Legal Studies
 
La Formación como palanca estratégica de transformación hacia la sociedad dig...
La Formación como palanca estratégica de transformación hacia la sociedad dig...La Formación como palanca estratégica de transformación hacia la sociedad dig...
La Formación como palanca estratégica de transformación hacia la sociedad dig...
 

Similar to Casodestudio authpf

Servidor de red_en_open_bsd_48
Servidor de red_en_open_bsd_48Servidor de red_en_open_bsd_48
Servidor de red_en_open_bsd_48Ejército Mexicano
 
Nagios para Dummies By pseudor00t
Nagios para Dummies By pseudor00tNagios para Dummies By pseudor00t
Nagios para Dummies By pseudor00tpseudor00t overflow
 
Actividadno1seguridadperimetral -conversion-gate01
Actividadno1seguridadperimetral -conversion-gate01Actividadno1seguridadperimetral -conversion-gate01
Actividadno1seguridadperimetral -conversion-gate01pattala01
 
Seguridad perimetral - Mikrotik Firewall
Seguridad perimetral - Mikrotik FirewallSeguridad perimetral - Mikrotik Firewall
Seguridad perimetral - Mikrotik FirewallVanesa Rodríguez Percy
 
(Configuración de hardware y software de una red que consta de 7 equipos)
(Configuración de hardware y software de una red que consta de  7 equipos)(Configuración de hardware y software de una red que consta de  7 equipos)
(Configuración de hardware y software de una red que consta de 7 equipos)azu-r-g-c
 
IPTABLES y SQUID‏
IPTABLES y SQUID‏IPTABLES y SQUID‏
IPTABLES y SQUID‏ingpuma
 
Asegurando elastix samuel cornu
Asegurando elastix   samuel cornuAsegurando elastix   samuel cornu
Asegurando elastix samuel cornujuancag
 
Redes del computador unidad 3
Redes del computador unidad 3Redes del computador unidad 3
Redes del computador unidad 3AngelSoto104
 
Seguridad en Servidores CentOS con Elastix + Buenas Prácticas
Seguridad en Servidores CentOS con Elastix + Buenas PrácticasSeguridad en Servidores CentOS con Elastix + Buenas Prácticas
Seguridad en Servidores CentOS con Elastix + Buenas Prácticasrodrimartin
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructionstimmaujim
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructionstimmaujim
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructionstimmaujim
 
Administración de red servidores y seguridad
Administración de red servidores y seguridadAdministración de red servidores y seguridad
Administración de red servidores y seguridadEmilio
 

Similar to Casodestudio authpf (20)

Servidor de red_en_open_bsd_48
Servidor de red_en_open_bsd_48Servidor de red_en_open_bsd_48
Servidor de red_en_open_bsd_48
 
Proyecto 7
Proyecto 7Proyecto 7
Proyecto 7
 
Nagios para Dummies By pseudor00t
Nagios para Dummies By pseudor00tNagios para Dummies By pseudor00t
Nagios para Dummies By pseudor00t
 
Taller 2
Taller 2Taller 2
Taller 2
 
Actividadno1seguridadperimetral -conversion-gate01
Actividadno1seguridadperimetral -conversion-gate01Actividadno1seguridadperimetral -conversion-gate01
Actividadno1seguridadperimetral -conversion-gate01
 
Seguridad perimetral - Mikrotik Firewall
Seguridad perimetral - Mikrotik FirewallSeguridad perimetral - Mikrotik Firewall
Seguridad perimetral - Mikrotik Firewall
 
(Configuración de hardware y software de una red que consta de 7 equipos)
(Configuración de hardware y software de una red que consta de  7 equipos)(Configuración de hardware y software de una red que consta de  7 equipos)
(Configuración de hardware y software de una red que consta de 7 equipos)
 
IPTABLES y SQUID‏
IPTABLES y SQUID‏IPTABLES y SQUID‏
IPTABLES y SQUID‏
 
Dhcp vlans
Dhcp vlansDhcp vlans
Dhcp vlans
 
Asegurando elastix samuel cornu
Asegurando elastix   samuel cornuAsegurando elastix   samuel cornu
Asegurando elastix samuel cornu
 
Redes del computador unidad 3
Redes del computador unidad 3Redes del computador unidad 3
Redes del computador unidad 3
 
Seguridad en Servidores CentOS con Elastix + Buenas Prácticas
Seguridad en Servidores CentOS con Elastix + Buenas PrácticasSeguridad en Servidores CentOS con Elastix + Buenas Prácticas
Seguridad en Servidores CentOS con Elastix + Buenas Prácticas
 
Proyecto 5
Proyecto 5Proyecto 5
Proyecto 5
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructions
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructions
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructions
 
Administración de red servidores y seguridad
Administración de red servidores y seguridadAdministración de red servidores y seguridad
Administración de red servidores y seguridad
 
Proyecto 6
Proyecto 6Proyecto 6
Proyecto 6
 
John_Patino_Proyecto_ASIR
John_Patino_Proyecto_ASIRJohn_Patino_Proyecto_ASIR
John_Patino_Proyecto_ASIR
 
Firewall de windows
Firewall de windowsFirewall de windows
Firewall de windows
 

Recently uploaded

HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Gonella
 
Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Gonella
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...Martin M Flynn
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD EDUCATIVO.pdfdeBelnRosales2
 
programa PLAN ANUAL TUTORIA 3° SEC-2024.docx
programa PLAN ANUAL TUTORIA 3° SEC-2024.docxprograma PLAN ANUAL TUTORIA 3° SEC-2024.docx
programa PLAN ANUAL TUTORIA 3° SEC-2024.docxCram Monzon
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 

Recently uploaded (20)

HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1
 
Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
Acuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptxAcuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptx
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
 
programa PLAN ANUAL TUTORIA 3° SEC-2024.docx
programa PLAN ANUAL TUTORIA 3° SEC-2024.docxprograma PLAN ANUAL TUTORIA 3° SEC-2024.docx
programa PLAN ANUAL TUTORIA 3° SEC-2024.docx
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 

Casodestudio authpf

  • 1. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ Caso de Estudio: AuthPF Autores: Jonathan Waldo, Anderson Linares. Correo electrónico de contacto: anderson.linares@gmail.com Fecha de creación : 08/06/10 Ultima modificación: 15/06/10 Índice de contenido 1.Licencia (BSD)..................................................................................................................................1 2.Problema a resolver...........................................................................................................................2 2.1.Diagrama de red.........................................................................................................................2 2.2.Definiendo las reglas.................................................................................................................2 3. Solución ...........................................................................................................................................3 3.1 Configurando las interfaces de red............................................................................................3 3.2 Habilitar el reenvío de paquetes.................................................................................................4 3.3 Habilitar PF y SSH....................................................................................................................4 3.4 Implementación de las reglas.....................................................................................................4 4. Pruebas ............................................................................................................................................8 4.1 Concepto....................................................................................................................................8 4.2 Probando con un usuario no autenticado...................................................................................8 4.3 Probando con un usuario autenticado........................................................................................9 5. Conclusiones...................................................................................................................................10 6. Enlaces relacionados......................................................................................................................10 1. Licencia (BSD) Copyright (c) Jonathan Waldo, Anderson Linares All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. • Neither the name of the OpenBSD Colombia nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ________________________________________________________________________________ 1.Licencia (BSD) 1/11
  • 2. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2. Problema a resolver Se necesita crear una red segmentada donde se realice un proceso de autenticación previo a la utilización de los recursos vitales de la compañía, y en donde un usuario común que desee utilizar los servicios de conexión tenga acceso mínimo a la red con restricciones como por ejemplo la NO visualización de los servicios internos de la compañía. NOTA: Cuando nos referimos a un acceso mínimo estamos hablando desde no poder hacer ping a nivel de red local tratando de enumerar equipos, hasta no hacer ataques de fuerza bruta a servicios como SSH. 2.1. Diagrama de red Fig 1. Topología de Ejemplo 2.2. Definiendo las reglas La definición de las reglas son la base fundamental del filtrado, donde definimos que es lo que se va a permitir y lo que por el contrario no queremos que se permita. Se debe permitir la conexión de la red WLAN al puerto SSH (22) para la previa autenticación. Los equipos conectados a la red WLAN, tendrán acceso a internet. Los equipos conectados a la red WLAN no tendrán acceso a la red LAN. Los equipos conectados a la red WLAN que se han autorizados tendrán acceso a la LAN. ________________________________________________________________________________ 2.Problema a resolver 2/11
  • 3. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ Se debe hacer NAT sobre la interfaz WAN para posteriormente permitir la salida de las demás interfaces hacia INTERNET. No se permitirán ataques de fuerza bruta al protocolo SSH del gateway. 3. Solución 3.1 Configurando las interfaces de red Antes de todo es necesario estar seguro que nuestro sistema reconoce nuestras interfaces de red, después de ello configuramos las tres interfaces con una dirección estática como se muestra a continuación. Tarjeta WAN: echo inet 192.168.30.1 255.255.255.0 > etc/hostname.sis0 Tarjeta LAN: echo inet 192.168.50.1 255.255.255.0 > etc/hostname.rl0 Tarjeta WLAN: echo inet 192.168.40.1 255.255.255.0 > etc/hostname.rl1 Para verificar si todo ha salido correctamente digitamos el siguiente comando. bash-3.2#Ifconfig sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:07:95:dd:72:b4 priority: 0 groups: egress media: Ethernet autoselect (100baseTX full-duplex) status: active inet6 fe80::207:95ff:fedd:72b4%sis0 prefixlen 64 scopeid 0x1 inet 192.168.30.1 netmask 0xffffff00 broadcast 192.168.30.255 rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:c0:a8:7a:f5:c1 priority: 0 ________________________________________________________________________________ 3. Solución 3/11
  • 4. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ media: Ethernet autoselect (100baseTX full-duplex) status: active inet6 fe80::2c0:a8ff:fe7a:f5c1%rl0 prefixlen 64 scopeid 0x2 inet 192.168.40.1 netmask 0xffffff00 broadcast 192.168.40.255 rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:08:a1:85:de:c4 priority: 0 media: Ethernet autoselect (100baseTX full-duplex) status: active inet6 fe80::208:a1ff:fe85:dec4%rl1 prefixlen 64 scopeid 0x3 inet 192.168.50.1 netmask 0xffffff00 broadcast 192.168.50.255 3.2 Habilitar el reenvío de paquetes Lo que se busca principalmente es lograr una comunicación interna entre tarjetas de red, para establecer el intercambio de paquetes de forma efectiva entre las mismas. En el archivo /etc/sysctl.conf se edita la variable net.inet.ip.forwarding, pasandola de 0 a 1. #vi /etc/sysctl.conf net.inet.ip.forwarding=1 3.3 Habilitar PF y SSH Para habilitar Packet Filter modificamos el archivo /etc/rc.conf y buscamos la variable pf que por defecto se encuentra en NO y la cambiamos por YES y para habilitar SSH solo debemos quitar el NO y dejarlo con dos comillas dobles. pf=YES sshd_flags=”” 3.4 Implementación de las reglas A continuación se implementaran las reglas definidas con antelación en el siguiente archivo: /etc/pf.conf bash-3.2# vi /etc/pf.conf # $OpenBSD: pf.conf,v 1.49 2009/09/17 06:39:03 jmc Exp $ ________________________________________________________________________________ 3. Solución 4/11
  • 5. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ # # See pf.conf(5) for syntax and examples. #Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 #let skip on lo #definimos la interfaces con macros lan="rl0" ap="rl1" externa="sis0" #definimos con macros los puertos permitidos puertos_permitidos="{ftp, ftp-data, ssh, 53, http, https}" #definimos la red con macros mi_red="192.168.0.0/16" #Las tablas dinámicas para authpf y el blocker de ssh table <authpf_users> persist table <ssh_abuse> persist #Agregamos el anchor del authpf, es importante hacerlo en este lugar. anchor "authpf/*" in on $ap #Si alguien ya esta reportado, entonces bloqueelo block in quick from <ssh_abuse> #Si alguien se pasa de la raya (muchas conexiones) agreguelo a la lista negra pass in quick log on $ap proto tcp to any port ssh flags S/SA keep state (max-src-conn 5, max-src-conn-rate 3/5, overload <ssh_abuse> flush) antispoof for $ap block in log from no-route to any block in log from urpf-failed to any #aquí se hace el enmascaramiento, la regla dice: haga NAT en la #interfaz externa (sis0) siempre y cuando los paquetes vengan de una red que #no sea la externa y vayan para cualquier lugar match out on $externa inet from !($externa:network) to any nat-to ($externa:0) ________________________________________________________________________________ 3. Solución 5/11
  • 6. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ anchor "ftp-proxy/*" pass in quick proto tcp to port ftp rdr-to 127.0.0.1 port 8021 # Reglas por defecto #Deje conectar al ssh del firewall, necesario para authpf pass in quick on $ap proto tcp from any to port {8021, ssh } #permita hacer pings para todos lados, excepto nuestra red pass in log quick on $ap proto icmp from any to !$mi_red #permita hacer resolución dns en nuestra red pass in quick on $ap proto {udp, tcp} from any to !$mi_red port 53 #Solo permita acceder a Internet en algunos puertos pass in quick on $ap proto tcp from any to !$mi_red port $puertos_permitidos #Bloquee todo lo que venga desde la wifi block in quick on $ap #Si supera el resto de filtros, dejelo pasar pass # to establish keep-state 3.5 Creando usuarios para authpf Para poder crear los usuarios que van a ser autenticados, lo hacemos con el comando adduser, haciendo referencia a la clase authpf que es la que nos va a dar el perfil definitivo para dicho usuario, es de anotar que este usuario no será un usuario común y corriente, puesto que no tendrá un shell común. Para ello primero debemos crear los siguientes directorios y archivos de la siguiente manera. #touch /etc/authpf/authpf.conf Ahora agregamos un usuario al sistema como se muestra a continuación #adduser Use option ``-silent'' if you don't want to see all warnings and questions. Reading /etc/shells Check /etc/master.passwd Check /etc/group Ok, let's go. ________________________________________________________________________________ 3. Solución 6/11
  • 7. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ Don't worry about mistakes. There will be a chance later to correct any input. Enter username []: prueba Enter full name []: prueba A Enter shell csh ksh nologin sh [ksh]: Uid [1002]: Login group prueba [prueba]: Login group is ``prueba''. Invite prueba into other groups: guest no [no]: Login class authpf daemon default staff [default]: authpf Enter password []: Enter password again []: Name: prueba Password: **** Fullname: prueba A Uid: 1002 Gid: 1002 (prueba) Groups: prueba Login Class: authpf HOME: /home/prueba Shell: /bin/ksh OK? (y/n) [y]: y Added user ``prueba'' Copy files from /etc/skel to /home/prueba Add another user? (y/n) [y]: n Goodbye! Una vez creado el usuario, definimos la reglas que van a regir al mismo, para ello creamos la siguiente estructura. #mkdir /etc/authpf/users #mkdir /etc/authpf/users/prueba #touch /etc/authpf/users/prueba/authpf.rules ________________________________________________________________________________ 3. Solución 7/11
  • 8. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ En el archivo /etc/authpf/users/prueba/authpf.rules definimos las reglas de la siguiente manera. #Hacemos referencia a las interfaces lan="rl0" ap="rl1" externa="sis0" #Especificamos lo puertos que se van a permitir. puertos_permitidos="{ftp, ftp-data, ssh, http, https}" mi_red="192.168.1.0/24" # De esta forma se el concede libertad absoluta a esta ip pass in quick on $ap from $user_ip to any 4. Pruebas 4.1 Concepto La idea es realizar una prueba con un usuario no autenticado en el sistema para ver el nivel de privilegios que este maneja en la red, lo mismo se realiza con un usuario autenticado para visualizar la diferencia en el nivel de privilegios de cada uno de los usuarios. 4.2 Probando con un usuario no autenticado. La primera prueba consiste en realizar un ping abierto donde se hace uso de un usuario no autenticado para verificar si se alcanza todos los segmentos de la red LAN. # ping 192.168.50.1 PING 192.168.50.1 (192.168.50.1) 56(84) bytes of data. Como podemos observar no hay respuesta a la solicitud ICMP lo cual nos indica que la maquina no puede alcanzar los otros segmentos de la red, este es el resultado esperado. Solo para estar seguro realizamos una segunda prueba, pero esta vez usando NMAP a una maquina en otro segmento de red. # nmap -sV 192.168.40.0/24 Starting Nmap 5.00 ( http://nmap.org ) at 2010-06-09 15:49 COT ________________________________________________________________________________ 4. Pruebas 8/11
  • 9. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ Nmap done: 256 IP addresses (0 hosts up) scanned in 206.32 seconds Se puede evidenciar que NMAP no ha podido escanear la maquina, lo que nos permite concluir que este usuario solo puede ver los equipos en su mismo segmento de red. 4.3 Probando con un usuario autenticado. Como el encabezado lo menciona nos autenticamos por medio de SSH, una vez autenticados el usuario puede ver todos lo segmentos de la red LAN y al mismo tiempo conectarse a los mismos, cabe aclarar que una vez logueado el usuario la ventana queda inactiva y debera conectarse a la red por medio de otra consola; la sesión termina cuando el usuario cierra la terminal o se desvincula de la conexión por medio del comando exit. # ssh prueba@192.168.50.1 prueba@192.168.50.1's password: Last login: Tue Jun 8 11:02:30 2010 from 192.168.50.151 Hello anderson. You are authenticated from host "192.168.50.151" De esta manera garantizamos el acceso a toda la red LAN, una zona que es totalmente restringida a un usuario que no ha sido autenticado usando AuthPF. Este esquema funciona a modo de portal cautivo, pero validandonos con SSH contra el gateway principal de la red. Para verificarlo basta con hacer ping a cualquier equipo de la red LAN ~$ ping 192.168.40.1 PING 192.168.40.1 (192.168.1.40.1) 56(84) bytes of data. 64 bytes from 192.168.40.1: icmp_seq=1 ttl=63 time=3.20 ms 64 bytes from 192.168.40.1: icmp_seq=2 ttl=63 time=0.385 ms 64 bytes from 192.168.40.1: icmp_seq=3 ttl=63 time=0.386 ms 64 bytes from 192.168.40.1: icmp_seq=4 ttl=63 time=0.407 ms 64 bytes from 192.168.40.1: icmp_seq=5 ttl=63 time=0.394 ms o hacer uso de NMAP ________________________________________________________________________________ 4. Pruebas 9/11
  • 10. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ $ nmap -sV 192.168.40.16 Starting Nmap 5.00 ( http://nmap.org ) at 2010-06-09 17:07 COT Interesting ports on 192.168.40.16: Not shown: 994 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp VsFTPD 1.5 22/tcp open ssh OpenSSH 5.1p1 Arch Linux (protocol 2.0) 53/tcp open domain ISC BIND 9.5.1-P3 80/tcp open http Apache 2.0 httpd 111/tcp open rpcbind 443/tcp open ssl/http Apache httpd Service Info: OSs: Unix, Linux 5. Conclusiones A modo personal consideramos que esta es una solucion bastante útil y se prodia decir que muy economica para segmentar una red y añadirle seguridad. Con este corto manual nos damos cuenta del poder del Packet filter y de los componentes instalados en la base del sistema OpenBSD, con el diagrama adecuado y unos sencillos pasos, podemos convertir un computador de pocas prestaciones en un excelente firewall y autenticador de acceso a la red. Este esquema se puede considerar un portal cautivo con validación a través de ssh, cuando los usuarios se autentican o terminan la sesión se genera un log en el archivo /var/log/messages que puede usarse para hacer control de tiempo, este esquema funcionaría si es necesario llevar procesos de accounting en la red. Es viable escalar esta solución para configurar cualquier escenario que necesitemos, pues lo único que varían son las reglas personalizadas de usuarios que van en los archivos authpf.rules en las rutas: /etc/authpf/users/USUARIO/authpf.rules. Teniendo esta herramienta configurada solo tendremos que planear que es lo que queremos hacer, que queremos permitir y que queremos restringir en nuestro entorno y AuthPF hará el trabajo por nosotros. 6. Enlaces relacionados ________________________________________________________________________________ 6. Enlaces relacionados 10/11
  • 11. Caso de estudio: AuthPF - Waldo, Anderson, http://www.openbsdcolombia.org/ http://www.openbsdcolombia.org/ http://www.openbsd.org/faq/pf/authpf.html http://openbsd.org/faq/pf/ http://openbsd.org/faq/pf/macros.html http://openbsd.org/faq/pf/nat.html http://openbsd.org/faq/pf/anchors.html ________________________________________________________________________________ 6. Enlaces relacionados 11/11