IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

Quelles sont les meilleures pratiques de sécurité pour protéger un site des hackers ?


Sujet :

Sécurité

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 23
    Par défaut Quelles sont les meilleures pratiques de sécurité pour protéger un site des hackers ?
    Bonjour,

    Il y a quelques jours je vais un site que je visite régulièrement, et à ma grande surprise la page d'accueil a été remplacée par un hacker, plus rien ne fonctionnait. Aujourd'hui c'est rentré dans l'ordre mais je me dit que si ce site important est tombé sous l'assaut d'un hacker, mon site sera alors très facile à hacker parce que je ne m'y connait pas autant que le webmaster de ce site, qui est à priori un professionels dans ce domaine.
    Je me demande juste alors comment se prémunir de ce genre d'attaque pour ne pas retrouver son site un beau matin totalement effacé, remplacé par une page d'un hackeur qui se vente de son acte !

    Quels sont leurs techniques pour récupérer les identifiants ? Comment les protéger ? Comment tout simplement protéger son site des hackeurs ?

    Merci
    Au revoir
    Bonne journée ++

  2. #2
    Membre Expert Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Par défaut
    il y a des failles de sécurité connues à vérifier, notemment au niveau des include en PHP.
    Sinon, mieux vaut encoder login et password en MD5.

    Je me suis aussi fait pirater la semaine derniere par des abrutis (y'a pas d'autres mots, c'est débile de pirater un site perso) mais pas moyen de trouver comment ils ont fait

  3. #3
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    Citation Envoyé par Oluha Voir le message
    il y a des failles de sécurité connues à vérifier, notemment au niveau des include en PHP.
    Sinon, mieux vaut encoder login et password en MD5.

    Je me suis aussi fait pirater la semaine derniere par des abrutis (y'a pas d'autres mots, c'est débile de pirater un site perso) mais pas moyen de trouver comment ils ont fait
    Hello
    Donne le lien, on regardera comment ils ont fait, c'est souvent toutes les mêmes techniques
    Nico

  4. #4
    Rédacteur en Chef
    Avatar de Marc Lussac
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Mars 2002
    Messages
    28 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2002
    Messages : 28 683
    Par défaut
    Personnellement je vois quelques petites choses, en majorité évidentes :

    1) utiliser toujours les dernières versions du système et des scripts, et etre à l'écoute des messages d'alertes pour appliquer imédiatement les mise à jours ou patchs pour ces scripts ou ce système.

    2) selectionner des scripts d'équipes sérieuses, et avec des équipes encore vivantes, qui peuvent mettre à jour rapidement leur soft en cas de découverte de failles

    3) si la licence le permet, camoufler le nom et la version du script, pour éviter de faciliter le travail des hackers.

    4) changer des choses dans le scripts, comme les noms de fichiers ou de répertoires, pour le rendre plus impérméable aux attaques de virus ou de hack en kit prets à l'emploi.

    5) toujours installer tous les modules de sécurité en sus pour un script donné

    6) sécuriser le serveur autant que possible, en mettant des protections partout ou c'est possible, par exemple pour Apache c'est des htaccess un peu partout. A cet égard il faut choisir un hébergement qui vous le permet, comme par exemple dédié, ou semis dédié, ou mutualisé pro à valeur ajoutée.

    7) etre abonnés aux bulletins de sécurités concernant les systèmes, logiciels, ou scripts que vous utilisez pour réagir promprement en cas de nouvelles failles.

    8 ) avoir toujours des sauvegardes à jours, et vérifier que ces sauvegegardes sont valables, en effet on ne peut jamais etre sur à 100%.

    9) ne pas utiliser de pc ou de réseaux à usages collectifs (travail, cyber café, voir famille) ou vos identifiant peuvent etre aiséments retrouvés ou captés.


    Autres choses ?
    Ne pas me contacter pour le forum et je ne répondrai à aucune question technique. Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

    15 000 offres d'emploi développeurs et informatique
    Cours et tutoriels développeurs et informatique
    Les FAQ's & Les Livres
    Codes sources
    Téléchargements

  5. #5
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    et je rajouterai, si c'est un site dynamique:
    - Faire attention aux injections SQL
    - Faire attention aux formulaires (surtout a ce que l'on recupere)

    la liste peut etre longue.....

  6. #6
    Invité4
    Invité(e)
    Par défaut
    Ce que je fais, c'est garder un log des 100 dernières actions de chaque uilisateur, c'est à dire le nom d'utilisateur si connecté, le timestamp, l'ip, le phpsessid, la page visitée, les POST et GET.
    Comme ça, tu peux voir si c'est un membre qui a semé le trouble et éventuellement voir comment il a fait et détecter les floods.

  7. #7
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    J'ajouterais, il faut connaitre les vulnérabilités des sytemes connus :

    http://www.securityfocus.com/vulnerabilities

  8. #8
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 23
    Par défaut
    Bonsoir,

    Tout d'abord merci pour vos réponses.

    Autrement,
    Eldacar :
    Comment tu fais pour garder ces informations ? Effectivement ca peut etre intéressant pour retrouver un abrutis... lol


    C'est quoi exactement cette fameuse injection SQL, j'en ai souvent entendu parlé mais sans savoir vraiment a quoi ca consistait... ??
    Tout comme avec les includes, c'est quoi le véritable probleme ?

    Et sinon pour les formulaires, tu veux dire d'être plus restrictif sur ce que retourne le post et de vérifier plus précisément, par exemple si on doit avoir des chiffres dans une certaine variable, bien vérifier que ce sont des chiffres ou sinon bloquer le tout c'est ca ?

    Euh concernant le serveur, quand des individus ont réussi a tout effacer du serveur ftp ou dans la base mysql, c'est qu'ils ont réussis a se procurer les identifiants que normalement seul le propriétaire du site et l'hébergeur connaisse, mais comment les ont-ils récupéré puisqu'on ne les utilise pas sur le site en lui meme si ?
    Enfin je ne sais pas si vous voyez ce que je veux dire...
    Ca m'intrigue tout ca... lol

    Aller bonne soirée
    ++

  9. #9
    Invité4
    Invité(e)
    Par défaut
    Eldacar :
    Comment tu fais pour garder ces informations ? Effectivement ca peut etre intéressant pour retrouver un abrutis... lol
    Je mets dans des fichiers texte de je nomme genre historique.log
    Dès que le fichier atteint ~20Mo je le vide.
    Je mets une entrée par ligne et sépare les infos par des virgules.

    Arrow
    C'est quoi exactement cette fameuse injection SQL, j'en ai souvent entendu parlé mais sans savoir vraiment a quoi ca consistait... ?? Rolling Eyes
    Je crpis à introduire une requête dans un GET qui sera interpretée ensuite, bon il faudrait que le script soit très mal construit (mais je sais pas si c'est exactement comme cela que ça se passe).

    http://www.phpsecure.info/v2/article/InjSql.php

  10. #10
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    Citation Envoyé par netwebzone
    C'est quoi exactement cette fameuse injection SQL, j'en ai souvent entendu parlé mais sans savoir vraiment a quoi ca consistait... ??
    La encore je ne vais t'expliquer toutes les failles qui peuvent être utiliser pour faire du sql injection ni comment réellement le faire, pour une raison simple c'est que je n'ai pas envi que mes explications soient utilisé à mauvais escient.
    Mais grosso modo c'est pouvoir (via un champs de fomulaire par exemple) lancer une requête SQL qui permettra à l'attaquant de pouvoir se logguer à un endroit ou il n'avait pas le droit, de pouvoir récupérer des infos ... etc.
    Mais il ya tant d'autre attaque connu, comme le cross site scripting(XSS), DoS, DDoS, DNS Spoofing ... etc.

    Pour résumer la sécurité d'application Web est un vrai métier, et le seul conseil que je peux te donner c'est de se tenir au courant des dernière attaque connu (cf: mon post au dessus)

    Citation Envoyé par netwebzone
    Euh concernant le serveur, quand des individus ont réussi a tout effacer du serveur ftp ou dans la base mysql, c'est qu'ils ont réussis a se procurer les identifiants que normalement seul le propriétaire du site et l'hébergeur connaisse, mais comment les ont-ils récupéré puisqu'on ne les utilise pas sur le site en lui meme si ?
    Enfin je ne sais pas si vous voyez ce que je veux dire...
    Ca m'intrigue tout ca... lol
    Le sujet n'est pas de te donner comment t'introduire sur un serveur FTP, hein ?

  11. #11
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    Je crpis à introduire une requête dans un GET qui sera interpretée ensuite, bon il faudrait que le script soit très mal construit (mais je sais pas si c'est exactement comme cela que ça se passe).
    Pas uniquement en GET, faire du SQL injection en POST est tout aussi faisable.
    Mais effectivement il faut que le script soit de très mauvaise qualité.

  12. #12
    Invité4
    Invité(e)
    Par défaut
    Le piège est d'intégrer directement un élément d'un formulaire à une requête.
    Par exemple un formulaire qui demande l'âge,
    le piège serait de faire $sql = ('SELECT * from table WHERE age = "'.$_POST["age"].'";');
    Il faut donc vérifier avant si c'est bien un integer, addslashes, et co

  13. #13
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 23
    Par défaut
    Citation Envoyé par BrYs
    Le sujet n'est pas de te donner comment t'introduire sur un serveur FTP, hein ?
    lol ne t'inquiete pas c'est pas ce que je voulais savoir en posant ce post si c'est ca que tu sous-entends...
    Ca ne m'intéresse pas de hacker un ftp de quelqu'un, personellement je serais trop énervé si on me le fesait a moi alors je ne vais pas faire ce que j'aimerais pas qu'on me fasse aux autres !!

    J'ai choisis des mots de passes différents pour mon serveur ftp, ma base de données, mon compte mail, enfin histoire que au cas ou si on récupere un des identifiants, ca ne lui ouvre pas toutes les portes, j'ai bien fait ou pas ? ou ca sert a rien ? lol

    Allé bone soirée
    Merci
    ++

  14. #14
    Rédacteur en Chef
    Avatar de Marc Lussac
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Mars 2002
    Messages
    28 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2002
    Messages : 28 683
    Par défaut
    Oui en effet.
    Ne pas me contacter pour le forum et je ne répondrai à aucune question technique. Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

    15 000 offres d'emploi développeurs et informatique
    Cours et tutoriels développeurs et informatique
    Les FAQ's & Les Livres
    Codes sources
    Téléchargements

  15. #15
    Membre éprouvé Avatar de Orionmel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 174
    Par défaut
    Citation Envoyé par Eldacar
    Le piège est d'intégrer directement un élément d'un formulaire à une requête.
    Par exemple un formulaire qui demande l'âge,
    le piège serait de faire $sql = ('SELECT * from table WHERE age = "'.$_POST["age"].'";');
    Il faut donc vérifier avant si c'est bien un integer, addslashes, et co
    Ou tout simplement renseigner dans un input :
    ' OR '1'='1
    Ca marche très bien ca aussi. Voilà ce que c'est l'sql injection

  16. #16
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 23
    Par défaut
    euh que veux-tu dire par la ?

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Par défaut
    Bonjour à tous

    Ce post est super intéressant et à suivre!!!

    Mon site est hebergé chez ovh (oui, je sais....) en mutualisé.
    je viens de m'appercevoir que les abroutis dont vous parliez ils ont tout simplement crée un index.htm alors que mon site est lancé via un index.php.

    Facile non?

    Comment éviter qu'on me copie un index.html ou tout simplement obliger mon site à passer toujours par un index.php?

    J'ai déjà été hackée et lors de la connexion au site mon antivirus m'annoncait un virus.
    Il a suffit de recopier ma racine sur le serveur ovh mais .... bon

    Merci de vos conseils

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 23
    Par défaut
    Pourquoi ne pas utiliser des procédures stockées pour régler le problème du Sql injection ?

    C'est efficace, puissant et je vois pas comment quelqu'un pourrait modifier intentionnellement une requette sql sachant qu'on lui donne que des paramètres?

    Si on ne fait pas des requettes Sql dynamique il devrait pas y avoir de problème.

    Bon après faut quand même vérifier les imputs pour éviter d'insérer n'importe quoi

  19. #19
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Par défaut
    Bonjour à tous!

    J'ai le même problème que Garra (deux messages plus haut). Comme une démo vaut mieux qu'un bon discours :

    1) Allez sur google. Recherchez "golf bordelais" et cliquez sur le premier résultat (à savoir http://www.golf-bordelais.fr). On tombe sur une sorte de blog en anglais sur fond noir.

    2) Tapez directement www.golf-bordelais.fr dans la barre d'adresse, ou mieux, sur la page "pirate" selectionnez juste l'adresse et appuyer sur Entrée, et vous tomberez directement sur le bon site...

    Quelqu'un a-t-il une idée sur comment remédier à ça?

  20. #20
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Par défaut
    Au debut, j'avais imaginé l'inclusion d'un fichier javascript.
    A premiere vue, ce n'est pas ça. En desactivant le javascript du navigateur, ça marche encore.

    Apres, il peut regarder le referer depuis le code php aussi et effectuer une redirection mais sans le code, difficile de voir la difference.

    effectue 2 recherches. Une sur cette variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SERVER['HTTP_REFERER']
    Une sur cette fonction dans ton code php
    Ca me parait l'endroit le plus indiqué pour détourner ton site. Ce détournement doit avoir lieux au tout debut de ton script.

    *edit*
    En faite, apres avoir fait quelques recherches sur le net, ton hacker semble utiliser un htaccess

    http://www.phwinfo.com/forum/fr-comp...t-referer.html

    Ne me demande pas comment il est rentré, je ne m'y connais pas beaucoup et sans log, c'est carrément la boule de cristale qu'il faut sortir.

Discussions similaires

  1. Quelles sont les meilleures pratiques pour une démonstration en ligne?
    Par bbalet dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 25/02/2015, 14h07
  2. Réponses: 0
    Dernier message: 11/12/2012, 15h08
  3. Réponses: 5
    Dernier message: 25/05/2009, 14h59
  4. Réponses: 33
    Dernier message: 18/04/2009, 12h36
  5. Réponses: 7
    Dernier message: 23/03/2009, 22h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo