May 5th, 2008
Alors voila, il Ă©tait question de sĂ©curiser les connexions MySQL via SSL afin d’augmenter la sĂ©curitĂ©.
Cela est possible aussi bien via la librairie mysql classique de PHP que via mysqli.
Est-ce qu’une librairie est plus rapide que l’autre ? A quel genre de pertes de performance faut-il s’attendre en utilisant le SSL ? C’est Ă ces questions que ce test comparatif va tenter de rĂ©pondre.
Pourquoi sécuriser ?
La question de la sécurisation se pose lorsque le serveur exécutant PHP est physiquement séparé du serveur exécutant MySQL, dans ce cas, toutes les questions se font en clair entre les deux serveurs.
Read the rest of this entry »
Posted in PHP | 1 Comment »
May 3rd, 2008
[Draft article]
Debian 4.0 etch, MySQL 5.0.51, openSSL 0.9.8c
MySQL contient un bug sur la gestion des connexions SSL avec openssl.
Si vous essayez d’activer le support SSL, vous obtiendrez les erreurs suivantes :
(phpmyadmin)
1043 - Bad handshake
(mysql client)
ERROR 2026 (HY000): SSL connection error
(mysqld.trace)
error:OpenSSL:error:140B4090:SSL routines:SSL_do_handshake:connection type not set:ssl_lib.c:2034
================================
Ce bug est répertorié et un patch existe afin de corriger le problème.
Tracking du bug : http://bugs.mysql.com/bug.php?id=33292
Patch : mysql-ssl.patch
===============================
Pour obtenir le support de SSL avec MySQL, il faut donc suivre les étapes suivantes :
1. Installer libssl-dev et openssl
apt-get install libssl-dev
apt-get install openssl
2. Patcher MySQL
cd /usr/src/mysql-5.0.51b/vio && patch < mysql-ssl.patch
3. Compiler MySQL avec le support openssl
./configure –prefix=/usr/local/mysql –with-openssl
make
make instal
Posted in Linux | No Comments »
January 20th, 2008
[Draft article]
Il est possible de crypter les chaĂ®nes de caractères en mĂ©moire via l’utilisation de la class System.Security.SecureString
Inclure les namespaces
using System.Runtime.InteropServices;
using System.Security.SecureString;
CrĂ©er une sĂ©cure string Ă partir d’une chaine :
SecureString scstr = new SecureString();
foreach(Char c in txt_pass.Text) scstr.AppendChar(c);
Récupérer le contenu de la chaine sécurisée dans une zone mémoire non managée (cela permettra de pouvoir supprimer la valeur aussitôt après utilisation)
IntPtr ptr = Marshal.SecureStringToGlobalAllocUnicode(pass);
string clearpass = Marshal.PtrToStringUni(ptr);
Destruction de l’espace mĂ©moire stockant la chaĂ®ne en claire :
Marshal.ZeroFreeGlobalAllocUnicode(ptr);
Posted in C# .Net | No Comments »
September 22nd, 2007
Comme ce titre vous l’annonce, j’ai dĂ©cidĂ© d’essayer de maintenir un blog !
Bon ok, je l’avoue, c’est vraiment pas gagnĂ©, mais c’est la mode, ça permet de garder une trace de certaines idĂ©es ou scripts utiles, donc “why not” ?
Ce blog sera consacrĂ© Ă la programmation (principalement php, mais aussi JavaScript, Java, C# et ActionScript), Ă la sĂ©curitĂ© et Ă l’administration de serveurs web sous linux.
A très bientôt.
Fabien
Posted in Divers | 1 Comment »