Publié par
Daeron de Thingol
(...)Pourquoi la sécurité pose plus de problèmes pour NMS-R que pour les autres serveurs officiels Dialsoft ?
Parce que les autres serveurs sont hébergés par Dialsoft, les échanges de données entre les bases de données et le serveur web se feront donc en direct/intranet et ne risqueront pas (ou presque) de piratage. Si un échange de données devait avoir lieu entre le serveur web et un serveur distant comme celui de NMS-R (non hébergé par Dialsoft), là il y aurait des risques accrus de piratage.
(...)
Il n'y a pas 30 000 risques non plus hein, quels sont-ils ?
1) le DDOS
Les DDOS (Distributed Denial of Service) c'est le nouveau jouet des script kiddies ayant trouvé la CB de papa pour louer les services de la mafia coréenne et de ses botnets pour submerger de requêtes une ou plusieurs machines.
Le problème des DDOS c'est que ça gène beaucoup la disponibilité du réseau qui héberge la cible, si NMS ne veut pas être hébergé chez Dialsoft c'est juste qu'il a pas envie d'être une victime collatérale d'un DDOS visant un autre serveur.
Les DDOS sont un problème pour tout le monde sur internet, les infrastructures permettant de s'en prémunir coûtent bien plus cher que celles qui permettent de mener les attaques.
2) le grand classique : l'injection SQL
Les 3/4 des sites modernes sont dynamiques et travaillent conjointement avec une base de donnée, un site mal programmé peut se faire manipuler par des petits malins pour détourner certaines fonctionnalités du site et lui faire faire autre chose.
Cela se règle de deux manières :
a) vérifier tous les scripts en charge de la manipulation de données et s'assurer que les paramètres à l’entrée sont contrôlés, que les caractères de contrôles soient filtrés, que les symboles html (cross-xss) soient traduits en leur équivalent textuel.
b) pour les accès les plus sensibles, il faut créer des procédures stockées sur le moteur de base de donnée, dont les paramètres sont immuables et non sensibles aux débordements / échappements.
3) Le vol d'identifiants FTP (par sniffing à coup de Wireshark par ex.)
Si un sysop/hgm a des accès FTP pour gérer son site internet et/ou ses WDA ou autre, il faut s'assurer que ce dernier ne s'en serve jamais sur un réseau public ou dont il ne maitrise pas les maillons jusqu'au routeur internet.
Le mieux étant naturellement d'opter pour du SFTP (un réglage assez trivial coté serveur FTP)
4) L'usurpation d'identité
Un autre grand classique du social engineering, c'est l'usurpation d'identité, je ne compte plus les "faux-moi" sur MSN qui créent des comptes dont l'orthographe se rapproche de mon identifiant, qui copie/collent mon "pseudo affiché ou même ma phrase du jour" et qui accostent ensuite les gens sur MSN dans l'espoir de se faire passer pour moi et d'obtenir des faveurs de l'interlocuteur piégé.
Une grande quantité de mots de passes et/ou de données sensibles sont volées par ce procédé d'une simplicité affligeante, cela pose le problème de la formation des gens à une capacité de détection des arnaqueurs ET à l'observation de règles strictes quand au partage de données sensibles (on doit toujours se demander si une demande est légitime ou non, quand il s'agit d'un password, ou d'un accès privilégié à une ressource informatique)
5) Le sabotage par infiltration ou corruption
Un autre grand classique du piratage est le sabotage de l'intérieur, soit par une technique d'infiltration façon cheval de Troie (où l'on recrute une personne qui semble bienveillante et qui en fait, abuse de votre confiance), soit par la corruption d'une personne en charge et disposant d'accès privilégiés.
Se pose tout simplement la question de qui a accès à quoi et de la confiance qu'on porte à cette personne. (Typiquement chez Dialsoft, le dba (administrateur des bases de données) a accès à tous les mots de passes de tous les joueurs et sysops de tous les serveurs, il faut donc avoir une confiance totale envers cette personne.)
En clair :
Si NMS ne veut pas être hébergé chez Dialsoft c'est parce qu'il craint que l'un des points évoqués puisse se réaliser, il faudrait donc travailler sur chacun de ces points avant d'imaginer fusionner tous les serveurs sur une architecture unique afin de les protéger —également— de ces risques potentiels.
Les solutions aux questions de sécurité :
1) Pas grand chose à faire à part investir un minimum dans un routeur spécialisé dans le traitement de ce genre de problème (il peut "null-router" le traffic illégitime en cas de surcharge), au pire soustraiter le load-balancing de l'entrée du réseau Dialsoft à un hébergeur disposant d'une capacité d’absorption de traffic quasi-illimitée, ex. Amazon.
2) Si le site est en php, il suffit de commencer par passer systématiquement les données $_GET et $_POST à coup de mysql_escape_string() et de htmlentities() tout en écrivant des procédures stockées pour les appels critiques à la base de donnée. Chaque requête SQL de modification doit comporter un LIMIT 1 si elle n'affecte qu'une ligne, ce, toujours dans l'idée de limiter les dégâts en cas d'injection réussie. (on peut aussi réécrire mysql_query()/odbc_query() pour ajouter tous les contrôles nécessaires au coeur du problème, notamment si on ne fait pas confiance aux webmestres pour leurs talents d'anti-hacking.)
3) Ne plus utiliser le protocole FTP, préférer SFTP (et HTTPS pour les parties administratives de sites internet)
4) Mettre en place une procédure rapide de vérification d'identité pour les membres accrédités de Dialsoft (chaque sysop/hgm/dev disposant de droits d'accès importants doit donner son numéro de téléphone portable à Dialsoft et en cas de doute sur l'identité d'une personne, sur msn ou par e-mail il ne faut pas hésiter à envoyer un SMS de confirmation ou un coup de fil pour lever le doute)
5) La gestion des droits d'accès à l'intérieur des entreprises (toutes entreprises confondues) est un problème récurrent dès l'instant où on travaille à plusieurs : la confiance n'exclue pas le contrôle : il faut séparer les droits dans la mesure du possible (ne pas donner toutes les clés à une même personne). Les bases de données comportant des mots de passes doivent être strictement "non consultables" par qui que ce soit à l'exception de Marc Frega. (Aucun accès "administrateur windows" ne doit être confié à qui que ce soit sauf Marc Frega, qui doit changer de mot de passe que celui qu'il utilise depuis... 8 ans). Toute "recrue" doit signer une NDA en bonne et due forme et fournir un scan d'une pièce d'identité légale.