Perl: DBI with SSL

Модератор: Модераторы разделов

IMB
Сообщения: 2567
ОС: Debian

Perl: DBI with SSL

Сообщение IMB »

Доброго дня!
Возможно ли соединяться с использованием SSL и/или сертификатов X509 с удаленным сервером через DBI? Что-то я ответа не нахожу.
Спасибо.
Спасибо сказали:
Serik
Сообщения: 149
ОС: SuSE Linux

Re: Perl: DBI with SSL

Сообщение Serik »

не знаю, умеет ли DBI работать через SSL, но наверняка можно пробросить порт (туннель, VPN) использую другие средства, а DBI работать уже поверх.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: Perl: DBI with SSL

Сообщение IMB »

Можно и так, но как это не изящно.
Объясню более подробно. Есть два сервера, назовем их INT и EXT. На INT находится основная база, на EXT почтовая система хранящая данные также в базе. Поступило предложение предоставить клиентам частичный доступ к базе на INT. Для этого на EXT был организован web-сервер и база реплицируется с INT на EXT. Во всей этой схеме мне не нравится то, что MySQL умеет слушать или один интерфейс или все. Как результат при сканирование EXT виден порт 3306. Понятное дело, что доступ к базу ограничен iptables, у логинов прописан или localhost, или определенный ip-адрес.
Конечно я могу конектиться с EXT на INT и без SSL, но если есть такая возможность, а еще если можно прикрутить X509...
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Perl: DBI with SSL

Сообщение diesel »

Это не оно:

http://dev.mysql.com/doc/refman/5.1/en/grant.html

REQUIRE X509 means that the client must have a valid certificate but that the exact certificate, issuer, and subject do not matter. The only requirement is that it should be possible to verify its signature with one of the CA certificates.

GRANT ALL PRIVILEGES ON test.* TO 'root'@'localhost'
IDENTIFIED BY 'goodsecret' REQUIRE X509;

To connect, the client must specify the --ssl-ca, --ssl-key, and --ssl-cert options. This is also true for ISSUER and SUBJECT because those REQUIRE options imply X509.


perldoc DBD::mysql:

mysql_ssl
A true value turns on the CLIENT_SSL flag when connecting to the MySQL database:

mysql_ssl=1

This means that your communication with the server will be encrypted.

If you turn mysql_ssl on, you might also wish to use the following flags:

mysql_ssl_client_key
mysql_ssl_client_cert
mysql_ssl_ca_file
mysql_ssl_ca_path
mysql_ssl_cipher
These are used to specify the respective parameters of a call to mysql_ssl_set, if mysql_ssl is turned on.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: Perl: DBI with SSL

Сообщение IMB »

Касательно MySQL оно и репликация у меня так работает. Но при указание в DBI логина требующего SSL соединение отвергается сервером MySQL. Ведь может же у меня скрипт работать на хосте без установленного MySQL, куда мне прописывать все эти параметры? Или как указать DBI что бы для соедения с сервером он использовал сертификаты из конкретной директории?
Документацию надо будет изучить подробнее, кое что в ней наводит на инересные мысли, в частности опция mysql_read_default_file.
Спасибо.
Спасибо сказали: