View Issue Details

IDProjectCategoryView StatusLast Update
1467RackTablesdefaultpublic2015-06-30 15:51
ReporterpRZelAHkmB78 Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
OSCentOSOS Version6.6 
Product Version0.20.10 
Target Version0.20.11Fixed in Version0.20.11 
Summary1467: RackTables should support TLS-encrypted connections to MySQL
DescriptionRackTables should support TLS-encrypted connections to MySQL. This feature is not mentioned in the installer, or in the secret.php comments, and I cannot find mention of it online. I conclude that it is not currently supported.
TagsNo tags attached.

Activities

infrastation

infrastation

2015-05-14 00:50

administrator   ~0002821

RackTables uses the PDO interface to access MySQL. Briefly looking through the documentation I couldn't see how to make PDO use TLS. If you could explain how, it would help (even better post a patch if possible).
pRZelAHkmB78

pRZelAHkmB78

2015-05-18 19:45

reporter   ~0002825

infrastation,

I am not a developer, so my ability to help with the details is very limited. I did find:

http://php.net/manual/en/ref.pdo-mysql.php

There are several defined constants like PDO::MYSQL_ATTR_SSL_* . In particular, I think PDO::MYSQL_ATTR_SSL_CAPATH would be useful, since the intention is to authenticate the server, not necessarily the client.

Possibly useful examples:

http://stackoverflow.com/questions/23386211/ssl-encrypted-zf2-pdo-connection-to-mysql

http://laravelsnippets.com/snippets/add-pdo-ssl-options-to-database-connection-config

Thanks.
sgroat

sgroat

2015-05-18 19:57

reporter   ~0002827

I modified the $drvoptions in pre-init.php and was able to get a TLS-enabled connection.

I think the real question is how to you set these options. Probably config file only options (not settable by web interface).

I'm assuming that the $dbxlink global is the database connection used throughout the program.
infrastation

infrastation

2015-05-23 08:37

administrator   ~0002833

You are right. I could not find it because I was looking for TLS. If you are happy with SSL I can add a way to specify additional PDO options in secret.php.
pRZelAHkmB78

pRZelAHkmB78

2015-05-23 22:20

reporter   ~0002835

infrastation,

Yes, TLS is the successor to SSL, but the original name is still used very often, creating some ambiguity. Of all of them, only TLS 1.2 is considered safe anymore. Regardless, I'm sure that that's all handled by PDO. In whatever way you can take PDO's SSL/TLS options and surface them in secret.php, that would be great.

Thanks!
sgroat

sgroat

2015-05-28 00:06

reporter   ~0002839

Added a pull request to github.

Maybe move to github issues? :)
infrastation

infrastation

2015-06-30 15:51

administrator   ~0002891

Implemented by Stephen and will be available in the next stable release.

Issue History

Date Modified Username Field Change
2015-05-07 20:32 pRZelAHkmB78 New Issue
2015-05-14 00:50 infrastation Note Added: 0002821
2015-05-18 19:45 pRZelAHkmB78 Note Added: 0002825
2015-05-18 19:57 sgroat Note Added: 0002827
2015-05-23 08:37 infrastation Note Added: 0002833
2015-05-23 22:20 pRZelAHkmB78 Note Added: 0002835
2015-05-28 00:06 sgroat Note Added: 0002839
2015-06-30 15:51 infrastation Note Added: 0002891
2015-06-30 15:51 infrastation Status new => closed
2015-06-30 15:51 infrastation Resolution open => fixed
2015-06-30 15:51 infrastation Fixed in Version => 0.20.11
2015-06-30 15:51 infrastation Target Version => 0.20.11