IPsec mezi FreeBSD a Win2k

Dan Lukes dan at obluda.cz
Tue Jul 2 18:02:53 CEST 2002


Vaclav Rehak wrote:


> Je to pomerne pekny popis tunel modu mezi OpenBSD isakmpd a Win 2k 
> (resp. XP). Pri trose fantazie by to melo byt pouzitelne i pro FreeBSD.

isakmpd ale neni racoon, takze ten dokument muze byt pouzitelny jen 
podminene - a to i v pripade, ze je problem skutecne pouze na strane WIndows


> 
>>jeste mam (almost) step-by-step postup jak rozjet transport-mode IPSec 
>>mezi FreeBSD se statickou adresou a W2K s adresou dynamickou - neni to 
>>presne to co potrebujete, ale treba by vam to pomohlo.


> Na tohle bych se rad podival. Podle vyse uvedeneho navodu
> mi uz funguje vsechno a jedine, co zatim brani praktickemu nasazeni,
> jsou dynamicka IPcka.

	Podotykam, ze jsem uvedeny navod nepsal pro ucely teto konference a ani 
jsem ho ted kvuli ni neprepisoval (pouze jsem vynechal casti zabyvajici 
se konfiguracemi jinych typu spojeni) - tomu odpovida pouzity jazyk. Pro 
vas ale asi bude zajimavejsi varovani, ze klic k tomu, aby Vokna mohly 
mit dynamickou adresu spociva ve specificke konfiguraci racoona - a tak 
pokud pouzivate isakmpd, zrejme to stejne nebudete moci pouzit. A pokud 
pouzijete racona, tak co se praktickeho nasazeni tyce, jsou dynamicke 
adresy jen podruznym problemem - hlavnim problemem pro prakticke 
nasazeni je to, ze OpenSSL (respektive racoon) zatim jeste nema v tuto 
chvili implementovanou podporu pro CRL - a bez toho je v praxi prakticky 
nenasaditelny (jak je na tom v tomto ohledu isakmpd nevim).

							Dan



=======================================================================
	Pro ucely techto konfiguraci predpokladam, ze laskavy ctenar je alespon 
zakladne seznamem s principy IPSec a jeho implementaci na FreeBSD 
(protoze jinak je to na obrovsky dlouhe povidani), vi jaka je uloha 
racoon daemona v cele te veci, neni mu uplne neznamy pojem Oakley/ISAKMP 
(protokol pouzivany (nejen) Racoonem pro vymenu informaci), ma alespon 
zakladni prehled o problematice PKIX, X509 a tak podobne.

	Jeste technicka poznamka - sice jsem svemu software zakazal zalamovat 
radky, ale stat se to, preci jen, muze - proto kazdy radek jest 
predchazen znakem '!'. Pokud radek timto znakem nezacina, je to nejspis 
zalomenina z radku predchoziho.

...
[3]=== Transport FreeBSD vs Windows 2000, dynamic, X509 ============

	Na strane Windows predpokladam nikoli Basic W2k, ale W2k se vsemi 
dostupnymi patchy. Je mozne, ze nejsou potrebne vsechny, ale neoveroval 
jsem minimalni seznam nutnych. Jiste je, ze urcite musi byt instalovany 
High Encryption Patch a pravdepodobne i SP2. Instalovany musi byt take 
Client Microsoft Network, nemusi vsak byt bindnuty k zadne sitove karte 
a prislusny service muze byt disabled.

---- ipsec.conf (pro setkey, strana FreeBSD) --------
!flush;
!spdflush;
---- ipsec.conf (pro setkey) - END ------------------

---- racoon.conf (pro racoon, strana FreeBSD) -------
!path include "/usr/local/etc/racoon" ;
!path certificate "/usr/local/etc/racoon" ;
!padding
!{
!        maximum_length 20;      # maximum padding length.
!        randomize off;          # enable randomize length.
!        strict_check off;       # enable strict check.
!        exclusive_tail off;     # extract last one octet.
!}
!timer
!{
!        counter 5;              # maximum trying count to send.
!        interval 20 sec;        # maximum interval to resend.
!        persend 1;              # the number of packets per a send.
!        phase1 30 sec;
!        phase2 15 sec;
!}
!remote anonymous
!{
!        exchange_mode main,aggressive;
!        doi ipsec_doi;
!        my_identifier address;
!        certificate_type x509 "dz.pem" "dzk.pem";
!        generate_policy on;
!        nonce_size 16;
!        lifetime time 1 min;    # sec,min,hour
!        initial_contact on;
!        support_mip6 on;
!        proposal_check obey;    # obey, strict or claim
!
!        proposal {
!                encryption_algorithm 3des;
!                hash_algorithm md5;
!                authentication_method rsasig ;
!                dh_group 2 ;
!        }
!}
!
!sainfo anonymous
!{
!        pfs_group 1;
!        lifetime time 30 sec;
!        encryption_algorithm 3des,des,cast128,blowfish ;
!        authentication_algorithm hmac_sha1, hmac_md5;
!        compression_algorithm deflate ;
!}
---- racoon.conf (pro racoon) - END ------------------

Konfigurace Windows neni zdaleka tak pekne vysvetlitelna.

Spustite mmc.exe.

Console->[Add/Remove Snap In]->Add
Vyberete [IP Security Policy Manager] a [Certificates] (V obou pripadech
Local Computer, u Certifikatu je jeste jedna volba, spravna je "Computer
Account").
[OK] az do zakladniho menu MMC.

Do "Console Root\Certificates (Local Computer)\Trusted Root
Certification Authorities\Certificates" date certifikaty certifikacnich
autorit klicu obou stran (pridava se pres prave tlacitko, "All
tasks->Import"), samozrejme, pokud vydala oba klice jedna autorita,
staci jen jednou.

Do "Console Root\Certificates (Local Computer)\Personal\Certificates"
date certifikat a klic generovany pro tuto stanici. Pro jistotu overite,
ze status pridaneho certifikatu je "OK"

Tim by mely byt certifikaty hotovy.

Jste je ale nutne vyrobit Polici - takze [IP Security Policy Manager], 
New (pravym tlacitkem), nejak ji pojmenovat NEMIT zasktnuti "Activate 
the default response rule", zato zaskrtnout "Edit properties". Zalozku 
[General] nechat zcela byt, vytvorit novou IP Security Rule (tlacitko 
Add). THIS RULE DOES NOT SPECIFY A TUNNEL, [All Network Connections], 
Use a Certificate from this Certificate Authority a Browse (najit 
Certifikat te CA, ktera podepsala klic PROTEJSIHO stroje). Jsme v IP 
FILTER LISTS. Zde [Add], znovu [Add], SOurce Address je "My address", 
Destination je "specific DNS address" nebo "specific IP address", 
protocol je Any, a mame [Finish] a po nem [Close]. Jsme zpet v "IP 
filter lists", kde zaskrtneme prave vyvoreny a [Next], "Require 
security" (NOT Optional!) a [Next] a [Finish] a [Close]. Jsme zpet v 
MMC. Pravym tlacitkem na prave vytvorene Polici a aktivovat "Assign". Od 
teto chvile by to melo, teoreticky, fungovat.
Muzete zkusit spustit IPsecmon, zda je navazana konexe. Podotykam, ze ta 
se navazuje "on demand", takze nejprve je nutne vyvolat nejakou 
komunikaci s druhym koncem (pozor, primo s druhym koncem - to co mame 
NENI tunnel).

------------------------------------------
...

	Logovani IPsec na strane Windows se zapne v registry:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\PolicyAgent\Oakley]
"EnableLogging"=dword:00000001
"Debug"=dword:000000ff

	log se vytvari v %SystemRoot%\debug\oakley.log - ale format neni nikde 
popsany, takze je nutna intuice a znalost ISAKMP protokolu.

...


====================================================================



-- 
Dan Lukes      tel: +420 2 21914205, fax: +420 2 21914206
root  of FIONet,  KolejNET,  webmaster  of www.freebsd.cz
AKA: dan at obluda.cz, dan at freebsd.cz, dan at kolej.mff.cuni.cz




More information about the Users-l mailing list