Script MySQL Trafik Şifreleme

4 Cevap php

Ben bir veritabanı sunucusu için bir web sunucusu MySQL trafiğini şifrelemek gerekiyor. Ancak, bu PHP () mysql_connect kullanılarak yapılması gerekmektedir my.cnf sunucu ve istemci ayarlara dayalı SSL kullanmak için MySQL ayarlamak için biliyorum. Bu 2 bölümlük bir soru olabilir.

1) mysql_connect () my.cnf ayarlanır MySQL istemci ayarlarını kullanıyor mu?

Değilse ...

Ben SSL veri elde nerede olduğunu, ancak MYSQL_CLIENT_SSL kullanabilirsiniz okudum? Mysql_connect işlevi MYSQL_CLIENT_SSL kullanarak automagically trafiğini şifrelemek mi?

Basitçe söylemek gerekirse, bu ne yapmak için en iyi yolu nedir?

Teşekkürler!

4 Cevap

SSL kullanarak MySQL bağlanmak ise, SSL istemci ve sunucu arasındaki tüm trafik şifrelenir.

MYSQL_CLIENT_SSL kullanılmıyor. SSL kullanmak gerekiyorsa mysqli kullanarak,

$db = mysqli_init(); 
$db->ssl_set(null, null,'cacert.pem',NULL,NULL); 
$db->real_connect('host','user','pass','db');

Alternatif bir çözüm olarak, aynı zamanda SSH tunnels sıkıştırma ve şifreleme gerçekleştirmek için kullanabilirsiniz.

MYSQL_CLIENT_SSL PHP çıkarıldı ve çalışması gerekir.

Birkaç seçenek var: sadece localhost kullanır: ilk web sunucusu ayrıca veritabanı sunucusu ise bağlantısı kutusunu bırakır asla, çünkü şifreleme gerek kalmamasıdır.

İkinci seçenek Pablo yukarıda önerilen kullanımı ve SSH tünelleri yararlanmak etmektir. O gidiş almak için bir "fazladan bir adım" alır dışında bir SSH tüneli aslında, bir SSL bağlantısı olarak aynı şeyi yapar.

Bu başlamanıza yardımcı olmak için oldukça iyi bir öğretici gibi görünüyor:

http://www.revsys.com/writings/quicktips/ssh-tunnel.html

Bu yardımcı olur umarım!

Göre http://www.php.net/manual/en/mysql.constants.php#mysql.client-flags MYSQL_CLIENT_SSL hala PHP 4 ve 5 parçasıdır. Gerçi önceden SSL bağlantısı kurmanız gerekir. Sen sertifikaları ve diğer güçlük (http://www.madirish.net/?article=244) bir grup oluşturmak gerekecek ancak sizin web sunucusu ve veritabanı konak arasındaki trafiği şifrelemek olacaktır.

Yukarıda belirtildiği gibi, web sunucusu, veritabanı sunucusu olarak aynı ana açıksa verileri yerel bir soket üzerinden seyahat ve ağa maruz değildir, bu şifreleme gereksizdir. SSL şifreleme sadece ağ üzerinden trafiği şifreler.

Ben ölmek için bir eğilim var ve bağlantıyı sürdürmek konusunda endişe gerekecek çünkü bir SSH tüneli kullanarak karşı uyarmak istiyorum.