Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mysql / ssl kapcsolodas

2 views
Skip to first unread message

kere...@freesite.hu

unread,
May 6, 2010, 6:09:06 PM5/6/10
to

Sziasztok,

mysql-hez valo kapcsolodasban (ssl-en at) keresek segitseget.

Elolvastam a doksit, 4.x alatt minden gond nelkul ment is mar jo regota.
5.1.46 alatt vannak problemaim, igyekeszem nem hosszan osszefoglalni.
Az sql-ben a show variables like '%ssl%' kiadja, hogy megy az ssl. A
mysql forrasbol van forditva es mivel tobb is van belole, ez epp a 3316
portra bindel.

grant megvan, require ssl opcioval, az adott IP cimrol engedelyezve a
kapcsolat, libwrap nem akadalyoz, tuzfal nincs. Amig a jo IP nem volt a
grant parancsban, sql uzenetet kaptam, hogy ez a host nem kapcsolodhat.
A kliensen a kiadott parancs:

xen-2:~# mysql -u test -h 10.1.5.7 -p111111 -P 3316
--ssl-ca=/etc/cert/netlock-ca.crt

(a netlock irta ala a tanusitvanyt, mindket oldalon az o CA-juk van
beallitva, a tanusitvanyok ileltve kulcsok nem jartak le es olvashatoak).

Az eredmeny a szokasos semmitmondo ERROR 2026 (HY000): SSL connection
error ami mindig. Ha tcpdump-pal belenezek, hogy megis mi van, akkor ez

0x0030: 00b0 8117 1600 0002 ff13 0423 3038 5330 ...........#08S0
0x0040: 3142 6164 2068 616e 6473 6861 6b65 1Bad.handshake

az egyetlen amivel barmit tudok kezdeni. Nem sokat, gugli, ilyesmi
megvolt, mindenfele irrelevans talalatokat kapok amik a szokvanyos ssl
kapcsolat buktatoira utalnak. Ezeket persze vegigneztem de semmi
eredmeny. Egyebkent ha a hosts.allow nincs kitoltve, akkor a
ERROR 2013 (HY000): Lost connection to MySQL server... kezdetu uzenet
jon, tehat az sem a problema.

Kliensnek probaltam tobbet is, volt debian, ubuntu, a szerver redhat.
De ez tulajdonkeppen mindegy, mert az ssl es a mysql is forrasbol van
(evek ota), a kliensen az ssl csomagbol, a mysql forrasbol, de volt tobb
permutacio is, sehogy nem jutottam elore, kezdek beleorulni.

Ugy tunik, hogy a mysqld a sima ellenorzeseket (kliens ip cim)
megcsinalja, majd az autentikaciohoz elokeszulne es itt atterne ssl
kapcsolatra es elhasal. De meg azt sem tudom megmondani, hogy az ssl
hasal-e el, vagy a mysqld. Az openssl-t forditottam shared opcioval es
nelkule is, nem valtozott semmi. Regen shared nelkul volt, 4.1 alatt
ugy ment. Az ssl verzioszam egyebkent 0.9.8m es 0.9.8n -nel is probaltam.

Ssl nelkul amugy tok jol menne a kapcsolat, de ssl-en at szeretnem.
Hasznalhatnek stunnel-t, de egy round robin dns-sel megtamogatott
master-master replikacios part akarok kiprobalni es fontos, hogy a
kliensnek ne kelljen portok alapjan megkulonboztetnie a szervert, ne is
tudjon arrol, hogy a ketto kozul melykre kapcsolodott. Egyebkent 4.1
alatt mukodott ez az egesz (az ssl-en at kapcsolodas, master-master
replikacio) de a replikacio miatt muszaj 5.1-re valtani
(auto_increment_offset 5.1-tol van csak).

Otletekert rendkivul halas lennek, nekem mind elfogyott.

koszi
janos
_______________________________________________
linux++ mailing list
lin...@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux++

Gabor HALASZ

unread,
May 7, 2010, 6:19:28 AM5/7/10
to

On 2010.05.07. 0:09, kere...@freesite.hu wrote:
> Sziasztok,
>
> mysql-hez valo kapcsolodasban (ssl-en at) keresek segitseget.
>
> Elolvastam a doksit, 4.x alatt minden gond nelkul ment is mar jo regota.
> 5.1.46 alatt vannak problemaim, igyekeszem nem hosszan osszefoglalni.
> Az sql-ben a show variables like '%ssl%' kiadja, hogy megy az ssl. A
> mysql forrasbol van forditva es mivel tobb is van belole, ez epp a 3316
> portra bindel.

5.1.45-tel nem tudom reprodukalni, szinten forrasbol. A port mindegy,
socket folott is megy az ssl.

>
> grant megvan, require ssl opcioval,

Nem kell a require, anelkul is ssl-t hasznal, ha --ssl kezdetu
parametert lat. \s-sel tudod ellenorizni, hogy aktiv-e az ssl, igy nem
zarod ki magad, ha megsem sikerul.

>
> xen-2:~# mysql -u test -h 10.1.5.7 -p111111 -P 3316
> --ssl-ca=/etc/cert/netlock-ca.crt

kliens kulcs es cert specifikacioja nem segit? (elvben nem, csak require
x509 eseten kell), es nalam is megy anelkul.

>
> (a netlock irta ala a tanusitvanyt, mindket oldalon az o CA-juk van
> beallitva, a tanusitvanyok ileltve kulcsok nem jartak le es olvashatoak).

Megneznem valamivel, jo-e a certchain, szerintem a cert-jeiddel nem
stimmel valami. Probakeppen csinalj openssl-lel selfsigned local ca-t,
es azzal alairt cert-tel probalkozz, ha a netlock korlatozta (pl
keyusage) a cert-edet, akkor hiaba adod oda a szervernek, nem tudja
hasznalni.

> kapcsolatra es elhasal. De meg azt sem tudom megmondani, hogy az ssl
> hasal-e el, vagy a mysqld.

Egyertelmuen ssl. A 2026: CR_SSL_CONNECTION_ERROR, es a bad handhsake is
ssl uzenet.

> Az openssl-t forditottam shared opcioval es
> nelkule is, nem valtozott semmi. Regen shared nelkul volt, 4.1 alatt
> ugy ment. Az ssl verzioszam egyebkent 0.9.8m es 0.9.8n -nel is probaltam.
>

Nem valoszinu, hogy verzioproblema, nalam mar 1.0.0-as ssl van.

--
Gabor HALASZ <hala...@freemail.hu>

kere...@freesite.hu

unread,
May 7, 2010, 9:43:11 AM5/7/10
to

Szia Gabor,

eloszor is koszonom a kommenteket es a javaslatot.

On 05-07-2010 12:19, Gabor HALASZ wrote:
> 5.1.45-tel nem tudom reprodukalni, szinten forrasbol. A port mindegy,
> socket folott is megy az ssl.
>

igen, localhoston megy ssl felett a sajat magahoz csatlakozas:

[root@xen-1 ~]# /usr/local/mysql-5.1.46/bin/mysql -u test -p111111
--socket=/usr/local/mysql-5.1.46/mysql.sock --ssl-ca=/etc/cert/demo-ca.crt
[...]
Server version: 5.1.46-log Source distribution
[...]
mysql>\s
[...]
SSL: Cipher in use is DHE-RSA-AES256-SHA
[...]
Connection: Localhost via UNIX socket


>> xen-2:~# mysql -u test -h 10.1.5.7 -p111111 -P 3316
>> --ssl-ca=/etc/cert/netlock-ca.crt
>
> kliens kulcs es cert specifikacioja nem segit? (elvben nem, csak require
> x509 eseten kell), es nalam is megy anelkul.
>

kliensnek nincs kulcsa, se certje, o csak a CA-t ismeri, aki alairta a
szervert, a kliens a vegleges allapotban is jelszoval csatlakozik.


> stimmel valami. Probakeppen csinalj openssl-lel selfsigned local ca-t,
> es azzal alairt cert-tel probalkozz, ha a netlock korlatozta (pl
>

koszonom a tanacsot, megtettem. Igyekeztem osszezsufolni az
eredmenyeket, hogy minel kevesebb output legyen, de minden ami fontos
lehet, az bennemaradjon.

szoval a tanusitvanyok frissek, ropogosak:

Issuer: C=XX, ST=Demo State, L=Demo City, O=Demo Company,
OU=Demo OU, CN=demo CA/emailAddress=de...@demo.demo
Validity
Not Before: May 7 12:25:48 2010 GMT
Not After : Jul 24 12:25:48 2018 GMT
Subject: C=XX, ST=Demo State, L=Demo City, O=Demo Company,
OU=Demo OU, CN=demo CA/emailAddress=de...@demo.demo
[...]
CA:TRUE

A mysqld-e pedig:

Issuer: C=XX, ST=Demo State, L=Demo City, O=Demo Company,
OU=Demo OU, CN=demo CA/emailAddress=de...@demo.demo
Validity
Not Before: May 7 12:26:32 2010 GMT
Not After : May 7 12:26:32 2012 GMT
Subject: C=XX, ST=Demo State, L=Demo City, O=Demo Company,
OU=Demo OU, CN=Demo Server/emailAddress=de...@demo.demo


mysql> show variables like '%ssl%';
[...]
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /etc/cert/demo-ca.crt |
| ssl_capath | |
| ssl_cert | /etc/cert/demo-server.crt |
| ssl_cipher | |
| ssl_key | /etc/cert/demo-server.key |


uj probalkozas (es elotte a verzioszamok):

kj@xen-2:~$ mysql -V
mysql Ver 14.14 Distrib 5.1.46, for pc-linux-gnu (i686) using EditLine
wrapper
kj@xen-2:~$ mysql -u test -h 10.1.5.7 -p111111 -P 3316
--ssl-ca=/etc/cert/demo-ca.crt


ERROR 2026 (HY000): SSL connection error


tcpdump ugyanazt mutatja, mint eddig:

0x0030: 017e ef76 1600 0002 ff13 0423 3038 5330 .~.v.......#08S0


0x0040: 3142 6164 2068 616e 6473 6861 6b65 1Bad.handshake


ssl nelkul tovabbra is megy a kapcsolat.


Most kiprobaltam egy regi mysql verzioval amit meg egy regi image-ben
talaltam:

[kj@xen-test ~]$ mysql -V
mysql Ver 14.7 Distrib 4.1.12, for pc-linux-gnu (i686) using EditLine
wrappe
[kj@xen-test ~]$ mysql -u test -p111111 -h 10.1.5.7 -P 3316
--ssl-ca=/etc/certs/demo-ca.crt
[...]
Your MySQL connection id is 14 to server version: 5.1.46-log
[...]
mysql>\s
[...]
SSL: Cipher in use is DHE-RSA-AES256-SHA

Ugy tunik tehat, hogy ugyanazzal a tanusitvannyal, ugyanahhoz a
szerverhez tudok kapcsolodni egy 4.1 verzioju klienssel, de egy
5.1.46-tal nem. Ezt osszevetve azzal, hogy localhoston megy, valoszinu
a kliens oldalan van a problema, nem a szerver oldalan. Ahol amugy
csomagbol van az openssl, a szereplok kozul egyedulikent, nem tudom
szamit-e. Jobb otlet nem leven ssl-t cserelek rajta.

udv && koszi
kj

Gabor HALASZ

unread,
May 10, 2010, 5:19:35 AM5/10/10
to

On 2010.05.07. 15:43, kere...@freesite.hu wrote:

>
> Ugy tunik tehat, hogy ugyanazzal a tanusitvannyal, ugyanahhoz a
> szerverhez tudok kapcsolodni egy 4.1 verzioju klienssel, de egy
> 5.1.46-tal nem.

Kicsit belekavarodtam a verziokba :), de ugy remlik, hogy a kliens es
szerver major verzioknak meg kell egyezniuk ssl eseten, mert valami
valtozott a protokollban.

--
Gabor HALASZ <hala...@freemail.hu>

0 new messages