|
|
Freeswan (ipsec) como pasarela para clientes Windows 1ºparte
(26262 lectures)
Por sakroot
sakroot
(http://www.freeswan.org)
Creado el 25/07/2004 07:09 modificado el 26/07/2004 00:08
|
1ºPart
En este mini howto, describo como podemos conectar clientes windows
a nuestro servidor Linux con freeswan 1.96,
Hablo tanto de como configurar la maquina Linux,
como tambien configurar el cliente windows (winxp/win2k)
he dividido el documento en 2 partes, puesto que me ocupaba 14 hojas y
en bulma no podia poner el minihowto tan grande :)
Bueno espero que os sirva de ayuda. | Pagina1/1 |
INTEROPERABILIDAD ENTRE FREESWAN Y WINDOWS
1ªParte
Minihowto freeswan-windows
Licencia GPL
Autor: Diego de León Ojeda (sakroot)
Después de muchos dolores de cabeza, he conseguido conectar dos host windows a una pasarela linux con freeswan, para asegurar las conexiones.
El documento esta probado en win2k y windows XP home. En winxp profesional no lo he probado, pero no tiene porque haber problemas ;)
Comenzamos:
PREREQUISITOS E INSTALACION EN NUESTRA PASARELA LINUX FREESWAN:
- Freeswan 1.96 en nuestro servidor LINUX / UNIX
Podemos descargar los fuentes aqui: http://www.freeswan.org/download.html,
o bien, como yo hice me bajé la versión de woody, ( versión 1.96):
freeswan, kernel-patch-freeswan
-para que podamos utilizar freeswan necesitamos parchear el kernel
en la versión 2.4.x. Si os sirve de referencia, y para que no tengáis ningún problema, esta versión funciona perfectamente con el kernel 2.4.24, que es donde lo tengo yo instalado, ahh y el parche lo aplique al kernel oficial www.kernel.org. Para parchear el kernel ejecute lo siguiente:
cd /usr/src/linux
patch -p1 < /usr/src/kernel-patches/all/apply/freeswan
- después en el menuconfig seleccionáis:
Networking options --->
y al final os aparecerá todo lo relacionado con ipsec.
seleccionamos todas la opciones de ipsec en el kernel, compilamos, reiniciamos y más adelante ya podemos lanzar nuestros túneles ipsec ;)
(Configurándolo claro esta :).
- Si lo que hemos hecho es bajarnos los fuentes de freeswan, tendremos que parchear el soporte X.509, tal parche lo podemos encontrar en
http: //www.strongsec.com/freeswan/ lo bajamos y a hacser un patch.
-soporte ssl OpenSSL 0.9.6b
instalar openssl
Y bien estos son los requisitos para configurar nuestro "linux freeswan"
WINDOWS 2000 PROFESIONAL
Prerrequisitos e instalación en Windows 2000:
* Windows 2000 Service Pack 2
Esto es para incluir el soporte de encriptación potente de 3DES
que usa freeswan.
Puede ser encontrado --> :
http://www.microsoft.com/windows2000/downloads/servicepacks/sp2/sp2lang.asp
* la herramienta ipesecpol.exe Versión 1.22
esta herramienta la podemos encontrar en el propio cd en
/SUPPORT/TOOLS/SETUP, Pero ante la duda, la podemos descargar de
aquí,
http://agent.microsoft.com/windows2000/techinfo/reskit/tools/existing/ipsecpol-o.asp
aconsejo instalar la versión en ingles
* descargamos --> Windows 2000 VPN tool http://vpn.ebootis.de/package.zip
WINDOWS XP
Prerrequisitos e instalación para Windows XP:
- Herramienta VPN de ipsec para Windows
http://vpn.ebootis.de/package.zip
El autor de la utilidad, habla de que no ha sido testeada con "Windows
XP home", pues bien yo ya lo he probado y da algun
inconveniente, pero bueno, al final funciona, ya lo veremos mas
adelante :)
- ipseccmd
Lo podemos obtener del CD original de Windows en esta ruta :
\SUPPORT\TOOLS\setup.exe, seleccionamos la instalación completa.
- ahora nos creamos nuestro directorio, c:\ipsec y la utilidad
http://vpn.ebootis.de/package.zip la descomprimimos ahí.
- lo siguiente será importar nuestro certificado firmado por la
CERTIFICADORA AUTORIZADA, que en este caso la hemos creado nosotros
en nuestra maquina linux. Pasos a seguir:
EN DEBIAN
apt-get install openssl
cd /etc/ssl/
ln -sf /usr/lib/ssl/openssl.cnf /etc/ssl/openssl.cnf
editamos openssl.conf, para decirle la ruta donde se creara nuestra CA
y sus archivos, certificados, listas de revocación etc...
Buscamos este parámetro --> dir = ./DemoCA
y lo he cambiad a esto --> dir = /etc/ssl/MYCA
Cada cual que ponga lo que quiera.
el siguiente paso es buscar -> days y poner mas días, en la duración
del certificado,Sino al año los certificados creados no valdrán, y
serán revocados automáticamente, para ello:
default_days = 3650 #así durará 10 años :)
bien, después de modificar el anterior archivo archivo, hacemos enlace
simbólico para que nos sea mas comodo crear nuestras CA, certificados
y firmas:
ln -sf /usr/lib/ssl/misc/CA.sh /usr/local/bin/CA
cd /etc/ssl/
Creamos la nueva CA:
CA -newca
le damos a enter, y nos preguntara, datos para crear el certificado,
lo único que es obligatorio de poner es el común name y la contraseña
que es muy importante, para firmar certificados y para crear o
modificar listas de revocados, lo demás lo podéis quedar por defecto.
yo la verdad, me cree una CA legal, pero allá cada uno :D.
Este es un ejemplo de lo que nos sale:
CA certificate filename (or enter to create)
(enter)
Making CA certificate ...
Using configuration from /usr/lib/ssl/openssl.cnf
Generating a 1024 bit RSA private key
.............................................................................+++
........................................+++
writing new private key to './demoCA/private/./cakey.pem'
Enter PEM pass phrase:(enter password) This is the password you will need to create any other certificates.
Verifying password - Enter PEM pass phrase:(repeat password)
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US(enter) Enter your country code here
State or Province Name (full name) [Some-State]:State(enter) Enter your state/province here
Locality Name (eg, city) []:City(enter) Enter your city here
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ExampleCo(enter) Enter your company name here (or leave blank)
Organizational Unit Name (eg, section) []:(enter) OU, if you like. I usually leave it blank.
OBLIGATORIO----> :P ----> Common Name (eg, YOUR name) []:CA(enter) The name of your Certificate Authority
Email Address []:ca@example.com(enter) E-Mail Address
- El siguiente paso es crear un certificado para nuestro servidor y
otro para nuestros clientes, con hacer uno, los demás son iguales,
pero logicamente con los datos del nuevo certificado, claro ;):
En el password que os pide al principio ponerlo, pero
el que os pide al final como--->A challenge password, dar a enter
CA -newreq
Using configuration from /usr/lib/ssl/openssl.cnf
Generating a 1024 bit RSA private key
...................................+++
...............................+++
writing new private key to 'newreq.pem'
Enter PEM pass phrase:(enter password) Password to encrypt the new cert's private key with - you'll need this!
Verifying password - Enter PEM pass phrase:(repeat password)
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US(enter)
State or Province Name (full name) [Some-State]:State(enter)
Locality Name (eg, city) []:City(enter)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ExampleCo(enter)
Organizational Unit Name (eg, section) []:(enter)
Common Name (eg, YOUR name) []:host.example.com(enter)This can be a hostname, a real name, an e-mail address, or whatever
Email Address []:user@example.com(enter) (optional)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:(enter)
An optional company name []:(enter)
Request (and private key) is in newreq.pem
Bien ahora lo que tenemos que hacer es firmar este certificado,
diciendo que pertenece a nuestra CA :D, nos pedirá un password,
ponemos el que pusimos para crear nuestra CA
CA -sign
/usr/lib/ssl/misc/CA.sh -sign
Using configuration from /usr/lib/ssl/openssl.cnf
Enter PEM pass phrase:(password you entered when creating the ca)
Check that the request matches the signature
Signature ok
The Subjects Distinguished Name is as follows
countryName :PRINTABLE:'US'
stateOrProvinceName :PRINTABLE:'State'
localityName :PRINTABLE:'City'
organizationName :PRINTABLE:'ExampleCo'
commonName :PRINTABLE:'host.example.com'
emailAddress :IA5STRING:'user@example.com'
Certificate is to be certified until Feb 13 16:28:40 2012 GMT (3650 days)
Sign the certificate? [y/n]:y(enter)
1 out of 1 certificate requests certified, commit? [y/n]y(enter)
Write out database with 1 new entries
Data Base Updated
(certificate snipped)
Signed certificate is in newcert.pem
- "Importante", se nos ha creado dos archivos:
newcert.pem y newreq.pem, los renombramos, para saber que pertenecen
a nuestra pasarela:
mv newcert.pem linux.freeswan.pem
mv newreq.pem linux.freeswan.key
- Ahora, hacemos los dos pasos anteriores para crear otro
certificado en nuestro cliente Windows, es decir:
CA -newreq y CA -sign y renombramos los archivos nuevos:
mv newcert.pem windows.freeswan.pem mv newreq.pem windows.freeswan.key
Además de esto, para que los clientes win puedan entender nuestros
certificados los tenemos que codificar al formato *.p12, así:
openssl pkcs12 -export -in windows.freeswan.pem -inkey
windows.freeswan.key -certfile /etc/ssl/MYCA/cacert.pem -out
windows.freeswan.p12
Se nos creara el archivo "windows.freeswan.p12", Que más adelante le
utilizaremos :-D
- Lo siguiente será, crear nuestro archivo para poder agregar o quitar
certificados revocados:
openssl ca -gencrl -out crl.pem
--BUENO VA BIEN LA COSA jejje...puff las 4:31 de la mañana,,,, seguimos:
disculpad que no pueda acabar el mini howto, en un árticulo, pero
bulma acepta 14kb :), hay otra parte,, para no quedaros a medias :)
ARTICULO PARTE 1
LICENCIA GPL |
|
|
|
|
|
Comentarios Es posible que se hayan omitido algunos comentarios considerados poco constructivos
| 1. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (26/07/2004 22:21, #22541) Por: MadRalphW (http://masilla.org) |
Ese litriiii :)
El que tienes que documentar es el del router.
Voy a ponerme con ello en cuanto tenga un rato, a ver si te saco fallos :P | No es pot respondre |
2. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (07/12/2004 00:09, #24576) Por: Anónimo |
| ALguien puede decirme donde encontrar la 2da parte de este articulo??? gracias... | No es pot respondre |
3. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (07/12/2004 00:20, #24577) Por: sakroot |
| Aqui lo tiene -->
http://bulma.net/body.phtml?nIdNoticia=2066 | No es pot respondre |
4. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (07/12/2004 14:12, #24586) Por: Anónimo |
| Mil, Mil, Gracias :-) | No es pot respondre |
|
|
5. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (10/02/2005 10:16, #25273) Por: Anónimo |
| Hola, antes de nada gracias por adelantado.
Mi problema es que no tengo mucha idea de Linux, pero he intentado crearme una VPN entre dos máquinas, una linux y otra w_xp _sp2. He llegado a un punto en el que no se porqué no soy capaz de comunicar mis dos equipos.
He seguido este How To que es bastate bueno, asi como otro de Nate Carlson en la web: http://www.natecarlson.com/linux/ipsec-x509.php
que también es bastante bueno, aunque lo usa con Openswan en vez de freeswan.
Tengo un distribución debian 2.06
y una freeswan 2.04
He generado los certificados x509 creo que satisfactoriamente, porque he sido capaz de firmarlos por una CA que también me he generado.
He configurado el ipsec.conf tanto en la máquina linux como en la w_xp_sp2....y tras numerosos intentos, no sabes cuantos, cuando todo parecía que iba bien.....me aparece:
al ejecutar la instrucción: tail -f /var/log/auth.log
.....
packet from 83.xx.xx.xx:500: ignoring Vendor ID payload[fragmentation]
packet from 83.xx.xx.xx:500: ignoring Vendor ID payload[draf-ietf-ipsec-nat-t-ike-02_n]
packet from 83.xx.xx.xx:500: ignoring Vendor ID payload[26244d.........]
Al intentar hacer ping desde la máquina w_xp al linux, no me hace ping, pero intente negociar la seguridad. He intentado solucionarlo de la forma que propones, pero nada.
Me encantaria que me pudieses ayudar. Si decides hacerlo, te mandaria toda la configuración del ipsec.conf de la máquina linux, asi como la de la m´quina w_xp_sp2. Si decides que no, solo decirte gracias por haberte leido esto, y por este mini How To que esta muy completito. Un saludo
David
Mi correo: damer_s@hotmail.com | No es pot respondre |
6. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (22/08/2006 04:05, #34487) Por: Joel |
| Hola yo monte mi propio servidor web las caracteristicas on las siguietnes:
WINDOWS 2000 SERVER
APACHE
MYSQL
PHP
y me gustaria instalar OPen ssl me podriais asisti como hacerlo es que soy nuevo en esto. | No es pot respondre |
7. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (18/10/2006 04:37, #35756) Por: giovanni |
| hola amigos, yo antes que nada sepan que soy novato en linux, yo quiero saber como puedo hacer que la máquina donde instalé linux pueda acceder a imprimir en una pc que tiene instalado windows 2000 profesional y las impresoras hp laser jet 1000 y hp deskjet 6980
agradezco mucho vuestra ayuda | No es pot respondre |
8. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (19/10/2006 18:59, #35794) Por: Anónimo |
| debes instalar el SAMBA en tu linux para que pueda acceder al SMBD de windows y de esa forma utilizar las impresoras conextadas a tus pc's, ofrece las mismas, y luego de ello utiliza el comando smbclient para imprimir en las mismas. | No es pot respondre |
|
9. Re: Freeswan (ipsec) como pasarela para clientes Windows 1ºparte (13/05/2007 17:49, #41667) Por: Anònim |
| Hola,
amb windows hem puc connectar a una VPN amb ipsec utilitzant ppp i politicas de seguretat ipsec.
Pero aixo com ho faig amb linux.
es a dir si amb windows faig una vpn amb ppp a una adreça XXX.XXX.XXX.XXX que hem dona una adreça de xarxa 172.16.2.0/24
i despres aixeco ipsec amb politicas de seguretat, (ESP(DES-SHA1)) com ho faig aixo mateix amb linux.
Merces | No es pot respondre |
|
|
|
|---|
|
|
|
|
Calificacion
    Vots: 5 |
Danos tu opinion:
|
|
|
|
|
|
|