next up previous contents index
Siguiente: Un guión para conexiones Subir: Redes de Conexión Telefónicas Anterior: Si el servidor usa   Índice General   Índice de Materias

Uso de MSCHAP

Microsoft Windows NT RAS puede configurarse para utilizar una variante de CHAP (Challenge/Handshake Authentication Protocol). En las fuentes de PPP, puede encontrarse un fichero llamado README.MSCHAP80, que informa sobre esto. Puede averiguarse si el servidor solicita autenticación mediante este protocolo, habilitando la depuración en pppd. Si el servidor está utilizando autenticación MS CHAP, aparecerán líneas como:


\begin{tscreen}
\begin{verbatim}rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]\end{verbatim}\end{tscreen}

Donde la clave está en auth chap 80.

Para utilizar MS CHAP, hay que recompilar pppd con soporte para ello. Vea las instrucciones de README.MSCHAP80 en las fuentes de PPP con las instrucciones de compilación con esta variante.

Si está usando autenticación pap o chap, debe crearse el fichero ``secrets''. Estos son 1) /etc/ppp/pap-secrets y 2) /etc/ppp/chap-secrets. Sólo es necesario uno de ellos dependiendo de si la autenticación es chap o pap. Deben pertenecer al usuario root, grupo root y tener permisos 740 por seguridad.

El primer punto que hay que decir acerca de PAP y CHAP es que están diseñados para autentificar máquinas y no usuarios. En otras palabras, una vez que la máquina ha realizado su conexión PPP al servidor, CUALQUIER usuario en el sistema puede usar esa conexión--no sólo usted.

PAP puede (y para CHAP LO HACE) requerir autenticación bidireccional--ésto es un nombre y contraseña válidos se requieren en cada computadora para la correspondiente computadora involucrada. Sin embargo, ésta no es la manera en la que la mayoría de los servidores PPP que ofrecen conexiones telefónicas PPP mediante autenticación PAP operan.

O lo que es lo mismo, su ISP probablemente le habrá dado un nombre de usuario y contraseña para permitirle conectar a sus sistemas y de allí a Internet. Su ISP no está interesado para nada en el nombre de su computadora. Esto se consigue utilizando el nombre de usuario que se pone en la opción name que se le pasa a pppd. Así que si se quiere usar el nombre de usuario que le ha dado el ISP, añada la línea

name nombre nombre_usuario_en_el_ISP

al fichero /etc/ppp/options.

Técnicamente, se debería usar user usuario_local nombre_en_el_ISP para PAP, pero pppd es suficientemente inteligente para interpretar el nombre como usuario si se requiere para usar PAP. La ventaja de usar la opción ``name'' es que también es válida para CHAP.

Como PAP es para autenticar computadoras, técnicamente se necesita especificar también un nombre en la computadora remota. Sin embargo, como mucha gente sólo tiene un único ISP, se puede usar un comodín (*) para el host remoto en el fichero ``secrets''.

El fichero /etc/ppp/pap-secrets se asemeja a

 
  # Contraseñas para autenticación usando PAP
  # cliente     servidor    secreto    direcciones IP locales aceptables

Los cuatro campos se delimitan por espacios en blanco, y el último puede estar vacío. (que es lo que se quiere para una adjudicación dinámica o probablemente estática de su dirección IP por su ISP).

Supuesto que su ISP le da el nombre de usuario ``pedro'' y la contraseña ``picapiedra'' se debería poner ``name pedro'' en el fichero /etc/ppp/options y poner el fichero /etc/ppp/pap-secrets como sigue:

  # Contraseñas para autenticación PAP
  # cliente    servidor   secreto      direcciones IP locales aceptables
    pedro        *        picapiedra

Esto dice para el nombre local de máquina pedro (al que le hemos dicho a pppd que use incluso si no es nuestro nombre local) y por CUALQUIER servidor, que use la contraseña picapiedra.

Dése cuenta de que no se necesita especificar una dirección IP local a no ser que queramos FORZAR una dirección IP local particular estática. Incluso si se intenta esto, es posible que no funcione en la mayoría de servidores PPP (por razones de seguridad) puesto que no permiten que los sistemas remotos pongan la dirección IP que ellos deseen que se les dé.

Esto requiere que se tengan métodos de autenticación mutua--esto es se debe permitir a la máquina local identificar al servidor remoto y al servidor remoto identificar la máquina local.

Así que si su máquina es pedro y la remota es pablo, su máquina debería poner `` name pedro remotename pablo'' y la máquina remota debería poner ``name pablo remotename pedro'' en sus respectivos ficheros /etc/ppp/options.ttySx

Los ficheros /etc/ppp/chap-secrets para ``pedro'' deberían parecerse a

  # Secretos para autentificarse mediante CHAP
  # cliente     servidor  secreto      direcciones IP locales aceptables
  pedro         pablo     picapiedra
  pablo         pedro     wilma
y para pablo
  # Secretos para autentificarse mediante  CHAP
  # cliente   servidor  secreto     direcciones IP locales aceptables
  pablo       pedro     picapiedra
  pedro       pablo     wilma

Fíjese en particular que ambas máquinas deben tener entradas para autenticación bidirecional. Esto permite a la máquina local autentificarse ella misma a la remota Y a la máquina remota autentificarse ella misma a la máquina local.



Subsecciones
next up previous contents index
Siguiente: Un guión para conexiones Subir: Redes de Conexión Telefónicas Anterior: Si el servidor usa   Índice General   Índice de Materias
Ismael Olea 2002-09-26