[MySQL - PHP] connexion sécurisée. SSL?

connexion sécurisée. SSL? [MySQL - PHP] - PHP - Programmation

Marsh Posté le 20-01-2003 à 01:53:31    

voilà,  
 
mon site est sur le serveur de mon école et mon serveur MySQL est sur ma machine en rezo local avec le serveur.  
Le probleme c q'il y a du monde sur ce LAN et j'aimerais sécuriser la connection d'Apache à MySQL.
 
edit: bien entendu, c avec PHP4 q je me connecte...
 
c possible?  
 
 
un petit schéma:
 

Code :
  1. ~~~~~~~~~~~~          --------       
  2.      (             )        | Apache |     
  3.     (    Internet   )-------|        |
  4.      (             )         --------
  5.       ~~~~~~~~~~~~               |
  6.                                  | Gros LAN
  7.                          ________|__________
  8.                           |  |            |
  9.                                         -----
  10.                                        |MYSQL|
  11.                                         -----

 
 
 :jap:  :jap:


Message édité par xmulder le 20-01-2003 à 01:55:03
Reply

Marsh Posté le 20-01-2003 à 01:53:31   

Reply

Marsh Posté le 20-01-2003 à 12:27:18    

ne pas frowarder tout ce qui vient d'internet sur le réseau local (classique)
accepter uniquement les connexions de la machine apache au serveur mysql (port 3306).
 

Reply

Marsh Posté le 20-01-2003 à 13:07:44    

Je crois qu'il aimerait bien que le lan ait un accès au web :). Ton problème c'est que tu veux qu'on ne sniffe pas les requêtes mysql et tout ça? :/  
Racheter une carte rézeau :)


---------------
Belgian connection
Reply

Marsh Posté le 20-01-2003 à 13:21:03    

Belgique a écrit :

Je crois qu'il aimerait bien que le lan ait un accès au web :). Ton problème c'est que tu veux qu'on ne sniffe pas les requêtes mysql et tout ça? :/  
Racheter une carte rézeau :)


 
oui c ca, vu q le mot de passe se trimbale en clair dans les requete (je me trompe?) g pas trop envie q'on me sniffe...
je peux pas mettre d'autre carte rezo, et meme ca ne changerait rien vu q'elle serait sur le meme rezo...
 
c pour ca q je veux encrypter le tout.
bon, g toujours la solution tunnel SSH mais ca me plait pas trop...

Reply

Marsh Posté le 20-01-2003 à 14:02:49    

Belgique a écrit :

Je crois qu'il aimerait bien que le lan ait un accès au web


 
ça n'est pas en contradiction avec ce que j'ai dit ;)
un firewall statefull comme iptable le permet. (c'est le ba-ba de la sécu)
 
pour ce qui est du sniffing, je sais pas trop.
http://www.mysql.com/doc/en/Security.html

Reply

Marsh Posté le 20-01-2003 à 14:06:00    

j'allais justement poster ce lien. :)  
c ce q je cherchais...

Reply

Marsh Posté le 20-01-2003 à 14:46:12    

pour expliquer plus en détail ce dont je parlais dans mes précédents posts :
as tu un firewall pour commencer ?

  • sur la passerelle (c'est pas ce qui est demandé, je sais...)

-- autorise les machines clientes à sortir.
 -- refuse les connexions venant d'internet non établies par une machine interne. (firewall statefull obligatoire)
 -- refuse les adresses réservées, les adresses de réseau local provenant d'internet (spoofing, adesse non valides).
 -- refuse les flags spéciaux (scans, ...)
 

  • sur le serveur mysql

-- autorise uniquement le serveur apache à se connecter (port 3306).
 -- autorise les réponses aux connexions établies.
 
Dans ce cas, si qq sniff le login/pwd, il ne saura rien faire sur le serveur mysl à moins de  
- spoofer l'ip du serveur apache, mais là tu peux prendre en compte les adresses MAC plutôt que l'adresse IP pour contrer ce genre d'attaques
- avoir un accès physique au serveur mysql.
 
ça limite déjà pas mal.

Reply

Marsh Posté le 20-01-2003 à 15:01:48    

le schema q g fait au dessus est un peu simpliste. voila qq precision:
le serveur apache n'est pas sur une passerelle, c un serveur web a par entiere (celui de mon ecole en l'occurence) qui doit etre dans une DMZ et je n'ai donc AUCUN droit d'admin bien entendu :ange:
 
en ce qui concerne ma machine: elle appartient "matériellement" a l'ecole mais je suis libre et responsable de tt ce qui est logiciel dessus.
 
et meme en firewallant au possible, le probleme reste entier: les autres utilisateurs de mon rezo pourront tjrs sniffer les paquet venant d'apache sur ma machine pour recuperer les passwd et s'en servir ensuite dans leurs scripts php hebergés sur le meme serveur apache (et oui, je suis pas tt seul)...  
et ca releve des couche un peu plus hautes (session)
 
Solutions:  
- pour l'instant: faire un tunnel ssh
- a terme: utiliser ssl mais ca sera qd j'aurai upradé mysql (a partir de la version 4 seulement apparament)
 
 
je suis surement parano mais on m'a deja grillé des passwd sur des LAN d'université... :fou:

Reply

Marsh Posté le 20-01-2003 à 15:25:39    

oui évidemment si tu es pas le seul sur le serveur apache, ça va pas apporter gd chose, à part que personne ne pourra se connecter avec mysql-front ou un autre soft à partir de n'importe quel pc.
 
Tu peux peut-être disabler certaines fonctions pour certains user avec le safe_mode (à vérifier), ça te permettrait d'interdire les fonctions sql pour tous sauf pour ton compte.
 
d'un côté, il n'y a que le serveur apache qui sache se connecter au serveur mysql (firewall et compte user mysql limité à la machine apache), de l'autre le php (donc le serveur apache) est bridé pour interdire les fonctions mysql, sauf pour ton compte.
 
combiné avec openssl, tu arrives à mon avis à un très bon niveau de sécu.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed