next up previous contents
Siguiente: Inicialización de la pasarela Subir: NocatAuth Anterior: NocatAuth   Índice General

Pasarela

Lo primero que vamos a ver es el archivo de configuración de la pasarela que tiene la siguiente estructuraA.1:
###### gateway.conf -- NoCatAuth Gateway Configuration.
#
# El formato de este archivo es: <Directiva> <Valor>, 
#   una por linea. Los tabuladores y espacios en blanco son ignorados.
#   Cualquier linea que comience con un signo de puntuación se considera
#   un comentario.

###### General settings.
#
# Vea el final del archivo para las opciones de registro.
#
# Log verbosity -- 0 Casi ningún registro. 10 se registra 
#  todo. 5 intermedio.
#
Verbosity       10

##### Gateway application settings.
#
# GatewayName -- El nombre de la pasarela, será mostrado
#   opcionalmente en la página para mostrar el estado.
#   Vale cualquier cadena de texto corta.
GatewayName	the NoCat Network

##
#
# GatewayMode -- Determina el modo de operacion de la pasarela. Los 
#   valores posibles son:
#
#   Captive     - Permite la autenticación contra un servidor de 
#                   autenticacion.
#   Passive     - Igual que Captive, pero debes usar esto si tu pasarela
#                   está detras de NAT. Funciona tambien si no lo esta.
#                   RECOMENDADO.
#   Open        - Simplemente se muestra al usuario una pagina y se le pide
#                   que acepte las condiciones.
#
# Si esta en modo Captive o Passive, necesitas valores para AuthServiceAddr,
#   AuthServiceURL, y LogoutURL. Seria conveniente dejar un valor bajo en
#   LoginTimeout (probablemente 600).
#
# Si esta en modo Open, necesitas valores para SplashForm, Homepage y
#   posiblemente DocumentRoot (o poner una ruta absoluta para SplashForm).
#   Tambien sera convemiente tener una valor grande para LoginTimeout
#   (probablemente > 3600)
#
GatewayMode	Passive

##
# GatewayLog -- Opcional. Si no se especifica ninguno los mensajes van
#                 a STDERR.
#
GatewayLog	/usr/local/nocat/nocat.log

##
# LoginTimeout - Numero de segundos que se esperan desde el ultimo
#   login/renovacion antes de desconectar al usuario. Probablemente
#   no queremos tener esto a valores menores de 60 o se consumira 
#   demasiado ancho de banda en renovaciones. Por defecto a 300 seg.
#
# Para modo Captive, poner a un valor relativamente corto (10 minutos)
#   para evitar conexiones de impostores o personas sin autenticar.
#
LoginTimeout	600

# Para portales en modo Open, comenta la linea anterior
#   y pon un valor mayor (por ejemplo 86400, para una notificacion por dia).
#
# LoginTimeout	86400

###### Open Portal settings.
#
##
# HomePage -- Redireccion a ...
#
HomePage	http://nocat.net/

# DocumentRoot -- Donde se encuentran las paginas para mostrar.
#   Puede ser difente al DocumentRoot de apache.
#
DocumentRoot	/usr/local/nocat/htdocs

# SplashForm -- Formulario mostrado a los usuarios cuando se capturan.
#
SplashForm	splash.html

# StatusForm -- Pagina donde se muestra el estado de los usuarios conectados.
#
StatusForm	status.html


###### Active/Passive Portal settings.
#
##
# TrustedGroups - Una lista que contiene los grupos registrados en el 
#   servidor de autenticacion que pertenecen a la clase Member.
#   El valor por defecto Any indica que un miembro de cualquier grupo
#   puede acceder en la clase Member.
#
# TrustedGroups	NoCat NYCWireless PersonalTelco
#
TrustedGroups Any

##
# Owners - Opcional. Lista con los usuarios que son propietarios de la
#    pasarela, separados por espacios. Acceden con privilegios de la
#    clase Owner.
#
# Owners rob@nocat.net schuyler@nocat.net

##
# AuthServiceAddr - Obligatorio, para modo Captive. Debe ser la direccion
#   del servidor de autenticacion. Debes usar la direccion IP si la 
#   la resolucion de nombres no esta disponible al arrancar la pasarela.
#
# AuthServiceAddr 208.201.239.21
#
AuthServiceAddr	auth.nocat.net

##
# AuthServiceURL - La direccion del script de login en el servidor de
#   autenticaion.
#
AuthServiceURL  https://$AuthServiceAddr/cgi-bin/login

##
# LogoutURL - Pagina a la que te redirigen cuando haces logout.
#
LogoutURL	https://$AuthServiceAddr/logout.html

### Network Topology
#
# ExternalDevice - Necesario si y solo si NocatAuth no puede averiguarlo
#   mirando las tablas de rutas y cogiendo la interfaz en la ruta por 
#   defecto. Debe especificar la interfaz conectada a Internet. 
#   Normalmente 'eth0' o 'eth1', o incluso 'ppp0' si tienes una
#   conexion por modem.
#
# ExternalDevice	eth0

##
# InternalDevice - Necesario si y solo si tienes dispositivos ethernet en la
#   pasarela entre tu dispositivo wireless y tu conexion de red.
#   Debe especificar la interfaz conectada con la red local, normalmente sera
#   la tarjeta wireless. En Linux, algunos dispositivos wireless se llaman
#   'wvlan0' o 'wlan0' mas que 'ethX'.
#
# InternalDevice	eth1

##
# LocalNetwork - Necesario si y solo si NocatAuth no puede averiguar la 
#   direccion de tu red local, dada por tu InternalDevice(s). Debe 
#   especificar el valor la direccion de la red local y la mascara.
#   Puedes usar el numero de bits en la mascar(p.e. /16, /24, etc.)
#   o la mascara completa x.x.x.x.
#
# LocalNetwork	10.0.1.0/24

##
# DNSAddr - Opcional. Si tu eliges no ejecutar un servidor de nombres DNS 
#   en tu red interna, debes proporcionar la direccion de uno o mas en 
#   Internet. Debe ser el mismo DNS que use tu servidor DHCP. Si lo dejas 
#   en blanco, NoCatAuth tomara los nombres de /etc/resolv.conf.
#
# DNSAddr 111.222.333.444

##
# AllowedWebHosts - Opcional. Lista cualquier direccion que quieras acceso 
#   libre.
#
# AllowedWebHosts	nocat.net

##
# RouteOnly - Necesario solo si tu NO QUIERES que tu pasarela actue como NAT.
#   Descomenta esto solo si tu estas ejecutando una red que solo necesita 
#   enrutamiento y no necesita que la pasarela haga de NAT.
#
# RouteOnly	1

##
# IgnoreMAC - Activa esto solo y solo si la pasarela no esta conectada 
#   directamente (o con un puente de nivel 2) a tu red interna (normalmente
#   wireless). En ese caso, la pasarela no sera capaz de conocer la MAC de 
#   los clientes, y sera forzada a usar la direccion IP solo. Teoricamente 
#   esto es menos seguro, ya que las direcciones IP son mas faciles de
#   spoof que las direcciones MAC. No uses esto si no sabes lo que haces.
#
# IgnoreMAC	1

##
# MembersOnly - Opcional. Descomenta esto si quieres deshabilitar el 
#   acceso publico(i.e. deshabilitar el boton 'skip'). 
#
# MembersOnly	1

##
# IncludePorts - Opcional. Especifica los puertos TCP a los que se 
#   el acceso para la clase public. El acceso al resto de puertos
#   esta denegado.
#
#   Para una lista de servicios y puertos, mira en /etc/services.
#   Dependiendo de tu firewall, tu podrias especificar servicios
#   en vez de puertos.
#
# IncludePorts    22 80 443

##
# ExcludePorts - Opcional. Especifica los puertos a los que la clase 
#   public no puede acceder. El resto estaran permitidos.
#
#   Solo puedes usar IncludePorts o ExcludePorts, pero no los dos a la
#   vez. Si ninguno es especificado todos los puertos son accesibles para
#   la clase public.
#
# ExcludePorts 23 25 111
#
ExcludePorts    25

####### Syslog Options -- Cambia esto solo si tu quieres que Nocat use
#        el registro del sistema!
#
# Log Facility - syslog o internal. Internal envia todos los mensajes al
#    archivo GatewayLog o a STDERR si no se especifica ningun archivo.
#    Syslog manda los mensajes al registro del sistema
#
# LogFacility	internal

##
# SyslogSocket - inet or unix.  Inet connects to an inet socket returned
#    by getsrvbyname().  Unix connects to a unix domain socket returned by 
#    _PATH_LOG in syslog.ph (typically /dev/log).  Defaults to unix.
#
# SyslogSocket unix

##
# SyslogOptions - Ninguna o mas palabras de pid, ndelay, cons, nowait
#    Por defecto "cons,pid"
#
# SyslogOptions cons,pid

##
# SyslogPriority - La prioridad de mensajes a usar. En importancia
#    decreciente las mas tipicas son: EMERG, ALERT, CRIT, ERR, WARNING, 
#    NOTICE, INFO, and DEBUG. Por defecto a INFO.
#
# SyslogPriority INFO

##
# SyslogFacility - La facilidad para el registro.  Por defecto a user.
# SyslogFacility user

##
# SyslogIdent - El identificador del programa que llama a syslog.
#    Aparece en todas las entradas del registro hechas desde Nocat.
#    Por defecto Nocat.
#
# SyslogIdent NoCat

###### Other Common Gateway Options. (Probablemente no tenga que cambiarlas)
#
# ResetCmd, PermitCmd, DenyCmd -- Shell-scripts para resetear, abrir y
#   cerrar el firewall
#
# ResetCmd	initialize.fw
# PermitCmd	access.fw permit $MAC $IP $Class 
# DenyCmd	access.fw deny $MAC $IP $Class 

##
# GatewayPort - El puerto TCP donde la pasarela recibe petieciones.
#   De hecho es el puerto estandar para NoCatAuth.
#   Cambie esto solo si es absolutamente necesario.
#
# GatewayPort     5280

##
# PGPKeyPath -- El directorio donde se guardan las claves PGP. Nocat intenta
#   encontrar esto en el directorio pgp/.
#
# PGPKeyPath	/usr/local/nocat/pgp

##
# MessageVerify -- Comando para verificar la firma PGP de un mensaje.
#
# GpgvPath	/usr/bin/gpgv
#
# MessageVerify	$GpgvPath --homedir=$PGPKeyPath 2>/dev/null

##
#
# IdleTimeout -- Frecuencia para comprobar la cache ARP, en segundos,
#   para la expiracion de idle clientes.
#
# MaxMissedARP -- Cuantas veces puede un cliente no estar en la ARP
#   cache antes de que asumamos que se ha ido, y lo desactivemos.
#   Pon el valor 0 para desabilitar le dewconexion basada en la 
#   expiracion de la cache ARP.
#
# MaxMissedARP	2
#
# IdleTimeout   300

### Fin!
Ya hemos visto todas las directivas. A partir de ahora nos centraremos en el modo Passive, al que llamaremos modo pasivo, que es el recomendado y el que se ejecuta si la pasarela está detrás de un NAT. Asimismo como firewall usaremos las iptables, esto quiere decir que solo se verán los ejecutables referidos a iptables.El contenido de /libexec/ipfilter/, /libexec/ipchains/, /libexec/pf/, y /libexec/loopback/ no se verán. Pasaremos a ver el funcionamiento del programa, el método a seguir será secuencial. Comenzaremos viendo que pasa cuando se inicia la pasarela y veremos el proceso que se sigue cada vez que se conecta un usuario. Para empezar diremos que en la pasarela lo que se ejecuta es un proceso que se demoniza y atiende peticiones en el puerto 5280.

Subsecciones

Jesús Martín 2003-09-16
e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


SISTEMA DE CONTROL, TARIFICACIÓN Y ADMINISTRACIÓN DEL ACCESO A INTERNET DESDE REDES HETEROGÉNEAS

: Martín Ruiz, Jesús
: Ingeniería Telecomunicación
Contenido del proyecto: