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++
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>
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
>
> 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>