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