Sécuriser votre serveur Web avec 2 modules apache : suEXEC et suPHP

sécuriser son serveur

Dans ce tuto vidéo (sommaire ici), nous allons voir comment installer et configurer 2 extensions apache, suEXEC et suPHP, qui permettent d’augmenter la sécurité de votre serveur. Par défaut, lorsque apache travaille sur un fichier ou un script php, il le fait en tant qu’utilisateur www-data (l’utilisateur apache du système,…

52 commentaires ont été ajoutés, ajoutez le vôtre.

Vous pouvez laisser un commentaire, cependant je ne peux pas vous garantir qu'il sera modéré rapidement ou qu'il aura une réponse, faute de temps pour m'occuper du site.

  1. termineo

    Bonjour pour le problème de phpmyadmin (concernant les alarmes)!!!

    alors comme dit précédemment pour éviter les alarmes blowfish etc … il faut faire :
    * dans le rep /var/lib/phpmyadmin ==> chown phpmyadmin:www-data *

    et pour éliminer les alarmes concernant les $cfg[‘Servers’][$i][‘pmadb’] = $dbname; etc … (en bas de page il sont notés en rouge ou jaune) ==> éditer le fichier /etc/phpmyadmin/config.inc.php et dé commenter les lignes ci après :

    /* Optional: Advanced phpMyAdmin features */
    $cfg[‘Servers’][$i][‘pmadb’] = $dbname;
    $cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma_bookmark’;
    $cfg[‘Servers’][$i][‘relation’] = ‘pma_relation’;
    $cfg[‘Servers’][$i][‘table_info’] = ‘pma_table_info’;
    $cfg[‘Servers’][$i][‘table_coords’] = ‘pma_table_coords’;
    $cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma_pdf_pages’;
    $cfg[‘Servers’][$i][‘column_info’] = ‘pma_column_info’;
    $cfg[‘Servers’][$i][‘history’] = ‘pma_history’;
    $cfg[‘Servers’][$i][‘designer_coords’] = ‘pma_designer_coords’;
    $cfg[‘Servers’][$i][‘tracking’] = ‘pma_tracking’; <== celle ci est à ajouter

    et une fois fait enregistrer, vider votre cache de votre navigateur et reconnexion et hop plus d'erreurs.

    merci a alexis pour ces bons tutos 🙂 bon courage a tous

  2. jlg13

    Bonjour Alexis,

    J’ai un serveur dédié kimsufi de type mKS 2G et je n’ai pas l’option backup FTP. Quel abonnement avez-vous souscrit pour avoir cette option ?
    J’ai contacté le SAV d’OVH pour savoir si je pouvais changer d’option, mais ce n’est pas possible.

    • Madrzejewski Alexis

      Bonjour,

      C’est la nouvelle gamme d’OVH, ils ont retiré le FTP de backup gratuit de 100Go proposé et ont ajoutés quelques limitations sur la bande passante. Quand j’ai fait ce tutoriel, il y avait toujours ce FTP de 100Go bien pratique.

      Donc a moins d’avoir un ancien serveur commandé il y a quelques mois, ce n’est plus possible. D’après octave sur Twitter, ils devraient proposer une offre de backup payante mais sans doute pas pour tout de suite. (cf. https://twitter.com/olesovhcom/status/260728608560144385)

  3. jlg13

    Autant pour moi.
    Grave erreur : j’avais oublié le www dans l’alias de l’apache.conf.
    Désolé.

  4. jlg13

    J’ai un petit soucis avec le phpmyadmin :

    error : Directory index forbidden by Options directive: /home/phpmyadmin/

  5. jlg13

    Merci Alexis,
    Vous êtes très efficace et je prends beaucoup de plaisir à configurer mon serveur dédié grâce à vous.

  6. jlg13

    Bonjour,

    Après avoir installé suexec et suphp et avoir fait la dernière manip, je n’ai plus accès au site.
    J’ai rajouter les lignes proposées dans le htaccess du dossier www, mais rien n’y fait.
    Je sais pas trop quoi faire.
    Je voudrais désinstaller suexec et suphp pour retenter une conf…
    Comment faire pour désinstaller svp?

    • jlg13

      Autoréponse:

      Au fait j’avais des problèmes de permissions sur mon dossier www (j’utilise spip). J’ai dû enlever les permissions d’écriture du groupe et autres (chmod g-w,o-w www)

      • Madrzejewski Alexis

        Bonjour jlg13,

        Excusez ma réponse tardive, je n’ai pas bien le temps en ce moment. Pour suEXEC et suPHP, il faut faire très attention sur les droits des fichiers.

        – Comme vous l’avez dit, il faut enlever le droit d’écriture au groupe et autre (normalement, le message d’erreur dans /var/log/apache2/suexec.log est très parlant)
        – Il faut que les fichiers appartiennent au propriétaire défini dans la configuration apache avec la directive suexecUserGroup, sinon ça plante pour des raisons de sécurité. Souvent on travail en mode console en root et on oublie de faire des chown. Encore une fois, avec les logs ça se repère vite.
        – Il ne faut pas oublier de modifier le fichier de configuration de suexec situé dans /etc/apache2/suexec/??? de mémoire. Dedans, il faut indiqué que les sites sont dans /home et les pages web dans www.
        – Dans suphp, il faut modifier /etc/suphp/suphp.conf, faire attention au « docroot » et au masque aussi (en cas d’upload de fichier, par défaut c’est trop restrictif).

        Voilà à peu près tous les éléments a problèmes dans suEXEC et suPHP.

  7. Olivier

    Bonjour à tous,

    Pour l’erreur 500, le chmod 755 ne fonctionnait pas donc j’ai regardé à qui appartenait le dossier du site.

    Ce dossier appartenait à root donc j’ai fait un chown avec l’utilisateur du site et cela fonctionne.

    Sinon merci Alexis pour tes tutos!

    • Madrzejewski Alexis

      Bonjour Nico,

      Merci pour le lien, je ne connaissais pas. Ca à l’air intéressant, mais c’est expérimentale comme le fait remarquer l’auteur de l’article dans un commentaire. Dans tous les cas, je pense que ça vaut bien un petit test pour comparer.

      • Nico

        En tout cas, merci beaucoup pour ton taf avec ces tutos !

  8. n1c0

    J’ai perdu 2h pour comprendre pourquoi j’avais une error 500 sur le serveur…
    J’ai regardé les logs: cat /var/log/suphp/suphp.log
    [Sun Sep 09 18:14:26 2012] [warn] File « /www/index.php » is writeable by group

    J’ai fait chmod 755 index.php et ca marche 🙂

    Si ca peut aider.