Freeswan IPSEC 1.94++ & auth=rsasig ?? (delsi)

Michal Ludvig michal-linux na logix.cz
Pátek Únor 8 11:33:28 CET 2002


Zdenek Pizl wrote:
> Tak tohle si necham rad vysvetlit. Mozna jsem to nerekl, 
> ale ty dve masiny jsou spojeny "naprimo", tedy neni mezi 
> nimi zadny adresovatelny nexthop. Napovidaji o tom i jejich 
> adresy 10.0.0.1 a 10.0.0.130.

To jste sice nerekl, ale pochopil jsem to z konfiguraku :-)
Ted jsem si vyzkousel stejnou konfiguraci (1.93 <-> cand2002jan31y) s 
RSA klicema s slo mi to v pohode. A opravdu i v tomto pripade byla ve 
vypisu 'ipsec auto --status' vlevo vzdy lokalni adresa a vpravo vzdalena.

> Zajima me, kdyz tedy bude auto=add a po vytvoreni ipsec0, 
> co se bude dit, kdyz si pingnu ze *130 na *1.

Rekneme, ze tam nebude zadne auto=. I po spusteni ipsec vsechno bude 
chodit nezasifrovane.
Pak date na obou koncich 'ipsec auto --add tunelX' (coz je stejne jako 
auto=add), tak ipsec o tunelu sice razem bude vedet, ale nebude ho zatim 
pouzivat a tudiz i ping stale pujde nezasifrovane.
Nyni zavelite 'ipsec auto --route tunelX' (tedy auto=route) a tim padem 
se upravi routovaci tabulky, ale jeste se nevymeni klice a nenavaze 
spojeni s druhym koncem. V tuhle chvili (ted jenom tipuju) neprojde mezi 
obema konci nic jineho nez UDP/500. Ping kazdopadne nebude fungovat. 
Tenhle krok muzete vynechat pokud:
Nakonec na jednom konci spustite 'ipsec auto --up tunelX' a dostanete 
zhruba nasledujici vypis:
~# ipsec auto --up br-ds
104 "br-ds" #3: STATE_MAIN_I1: initiate
106 "br-ds" #3: STATE_MAIN_I2: from STATE_MAIN_I1; sent MI2, expecting MR2
108 "br-ds" #3: STATE_MAIN_I3: from STATE_MAIN_I2; sent MI3, expecting MR3
004 "br-ds" #3: STATE_MAIN_I4: ISAKMP SA established
112 "br-ds" #4: STATE_QUICK_I1: initiate
004 "br-ds" #4: STATE_QUICK_I2: sent QI2, IPsec SA established
~#
Od teto chvile vsechno mezi obema hosty bude chodit zasifrovane. Muzete 
se o tom presvedcit treba na vypisu 'tcpdump -i ipsec0' kde budou chodit 
ICMP pakety a 'tcpdump -i eth0' kde budou chodit ESP pakety.
Duvod, proc linux pouziva dve routovaci tabulky je nejspis nasledujici - 
z prvni (eroute) zjisti kam poslat nezasifrovany paket, uvidi, ze do 
ipsec0, tam ho zasifruje a pak se koukne do normalni routovaci tabulky a 
zjisti, ze ma ESP paket poslat pres eth0.
Kdyby mel jen jednu, tak by k jednomu cili vedla cesta vzdy pres ipsec0 
a tim padem by se paket stale znova dokola sifroval a sifroval a moc by 
se toho nenakomunikovalo.

> Podle meho pingu je uplne jedno, ze tam je nejaky interface 
> ipsecX. Ridi se podle routovaci tabulky a kdyz tam ma 
> nejprve zaznam do site 10.0.0.* (a tedy  i na 10.0.0.1) se 
> dostanes pres eth0, tak proste pujde tudy. A ja potrebuji 
> aby tam pro veskerou komunikaci byl zaznam na 10.0.0.1 se 
> dostanes prave a pouze pres ipsecX. Dostal jsem se do 
> stavu, kdy jsem schopny pomoci auto =route zaridit aby v 
> routovaci tabulce byl na prvnim miste kyzeny zaznam, to ze 
> tam pak strasi jeste zaznam pro 10.0.0.* sit mi uz je tak 
> nejak jedno, to odstinim firewalem ...

Netreba - pres eth0 nepujde nic jineho nez ESP, AH a UDP/500.

> na pravem jsou dva ipsec interfacy. Jeden bezi nekam do 
> pryc (ipsec0 na eth0) a druhy je ten zlobivy (ipsec1 na 
> eth1). 

Takhle presne ted vypadala moje konfigurace a slo to v pohode. Akorat 
jsem se zvenku nemohl dostat na ten vnitrni stroj, pokud jsem mezi gw a 
nim nahodil tunel. Ale hral jsem si s tim asi jen 5 minut, takze to 
nepokladam za neresitelny problem.

>>Jeste me napada - nemate firewall, ktery blokuje ESP,
>>nebo AH protokol (asi ne, kdyz vam manualni spojeni slo),
>>nebo UDP port 500 (ten tusim u manualniho rezimu neni
>>treba)?
> manualni spojeni jsem nezkousel ! Zkousel jsem preshared 
> key.

Ajooo, prehlidnul jsem se. Sorry. Tak v tomhle pripade by to opravdu 
melo pouzivat uplne stejny postup.

Jeste jedna mozna dulezita vec - v ipsec.secrets asi mate ty stare PSK s 
identifikaci obou stran. Zkuste je zakomentovat. Treba ipsec bere driv 
ty zaznamy, ktere jsou konkretnejsi. To by mozna vysvetlovalo ty hlasky 
o divne delce klicu a spol...

>>Zkuste (pokud je to mozne) na obou strojich upgradovat na
>>1.95 a pregenerovat klice.
> na LEFT to mozne je, na right asi tezko. na te 1.91 se 
> pouzivaji certifikovane klice a tady me napada, jestli to 
> neni tim, ze treba 1.91 to neumela a nemuselo to byt nejak 
> ohackovany ..

RSA 1.91 jiste umi. Ale jestli tam pouzivate X.509 klice, tak na to byl 
nejaky patch. Ale nepredpokladam, ze aplikaci toho patche by doslo k 
zruseni RSA schopnosti.

PS Za spravnost vyse uvedeneho naprosto nerucim a vsem radim, aby mi 
vubec neverili, protoze to dost mozna jsou uplne nesmysly a treba vam 
pak shori pocitac... Varoval jsem vas! :-))

Michal Ludvig



Další informace o konferenci Linux