Tutorial : installation automatisée Apache/Mod_security

Posté par  . Modéré par Benoît Sibaud.
Étiquettes :
0
15
juin
2004
Doc
Le site Secuobs.com vous propose un tutorial de 6 pages sur l'implémentation et la sécurisation du serveur web apache pour Linux. L'utilité, l'installation et la configuration des composants suivants sont expliqués dans ce document : Apache avec DSO (Dynamic Shared Object), Openssl, Php4, Mysql, Mod_ssl, Mod_rewrite, Mod_perl, Mod_security avec Snort2modsec.pl et snortrules-snapshot-CURRENT.

Le tutorial se décompose en deux parties : une partie classique d'installation et de configuration manuelle à la manière des "how-to", et une partie automatisée qui vous permettra en récupérant l'unique script exoweb.pl d'installer et de configurer automatiquement l'ensemble de ces composants. A noter que chaque composant peut également être installé séparément et automatiquement via des mini-scripts shell en fonction de ceux que vous souhaitez installer ou de ceux que vous avez déjà installés.

Mise à jour importante du tutorial : intégration de la nouvelle version stable de mod_security 1.8 nouvellement sortie, activation du chroot par mod_security dans la configuration par défaut de la procédure automatisée, bugfixes de la procédure chroot manuelle et automatisée Le module de détection d'intrusion pour apache, Mod_security, est notamment abordé avec ses différentes fonctionnalités : chroot (changement de racine) simplifié d'apache, syntaxe des règles de filtrage, importation des règles du système de détection d'intrusion (IDS) Snort via le script Snort2modsec.pl. L'auteur de Mod_security a notamment été choisi par l'éditeur O'Reilly pour écrire le livre "Apache Security".

Aller plus loin

  • # sécurité ?

    Posté par  (site web personnel) . Évalué à 10.

    Sauf que j'ai fait une recherche brève sur Google et je m'appercois qu'il y a eu deux versions de mod_security avec des failles de sécurité récement (1.7.5 et 1.7.1).

    Ça me parait beaucoup pour un soft qu'on rajoute uniquement pour gagner en sécurité. Au final, est ce qu'on peut considérer qu'un tel investissement (on rajoute une couche qui essaie de filtrer les requetes louches) est positif si le composant a lui même ses propres failles régulièrement ?

    (note: c'est une vrai question, pas une critique)
    • [^] # Re: sécurité ?

      Posté par  . Évalué à 10.

      openbsd, snort, tripwire et autres présentent ponctuellement également des failles de sécurité, ils sont pourtant toujours réguliérement utilisés.

      Le cas de mod_security est semblable, il y a un rapport à faire entre la mise à jour de ce module lorsque c'est nécessaire et le nombre de failles qu'il permet d'éviter le reste du temps.

      Il faut également je pense faire la distinction entre la possibilité de vulnérabilité et l'exploitation effective de cette vulnérabilité tout en prenant en compte le réactivité des développeurs face à la résolution de ces trous de sécurité :

      La 1.8 devrait régler certains problèmes, elle est prévue pour courant juin 2004.

      Tu noteras d'ailleurs que dans le tutorial d'installation qui utilise la 1.7.6 de mod_securitty sur secuobs, l'activation du chroot interne (SecChrootDir) est désactivé par défaut dans le httpd.conf d'exemple pour l'installation automatisée :

      http://www.modsecurity.org/documentation/security.html(...)

      Internal Chroot Malfunction (5 April 2004)
      Affects: 1.7.6, 1.8dev1 and below
      Fixed in: 1.8dev2
      Impact: Low

      The algorithm mod_security uses to determine when to perform the chroot(2) call is unreliable and causes mod_security to sometimes skip the call altogether. Furthermore, the Apache process would leave a file descriptor to a folder outside the chroot jail. These problems are fixed in 1.8dev2


      J'imagine que le tutorial sera mis à jour lors de la sortie de la 1.8 avec l'activation par défaut du chroot interne.
  • # Ce titre me fait peur...

    Posté par  (site web personnel) . Évalué à 9.

    Je suis le seul, ou bien il y a d'autres personnes à penser que 'sécurité' et 'automatisme' sont des antagonismes?
    Il y a des choses interessantes dans cet article (notamment la création des groupe et user apache impérative AMHA), mais il ne faut pas laisser croire aux admins débutants qu'un chroot les mets à l'abri de tout (Cf l'excellent article de Misc sur les prisons de verre).
    D'autre part, proposer un modèle de fichier de conf est d'après moi une mauvaise chose pour la sécurité. Il faut impérativement partir d'un fichier vide et n'y ajouter que ce dont on a réellement besoin et dont on comprend bien les tenants et aboutissants. C'est en tous cas le conseil donné dès les premières pages du livre de référence sur Apache chez O'Reilly...
    Bien sur celà prend du temps, c'est comme de faire son propre layout avec une partition séparée pour ServerRoot et DocumentRoot. Mais celà facilite ensuite grandement l'administration de la machine et par là même sa sécurité.
    Et puis il y a aussi des choses étonnantes comme ce conseil pour une directive de mod_security:
    SecServerSignature "Microsoft-IIS/4.0"
    Se faire passer pour IIS c'est un peu un honeypot non configuré vous ne trouvez pas? Surtout en ce moment avec la méthode SEARCH qui traine partout et fait exploser les logs.
    En bref, la lecture de l'article est à conseiller à un webmaster débutant qui souhaite passer d'un mutualisé à un dédié, mais ne concerne certainement pas un admin système.
    • [^] # Re: Ce titre me fait peur...

      Posté par  . Évalué à 4.

      L'article donne une approche "sécurité" à l'installation, il est évident que quelqu'un qui connait son métier sera plus à même de fouiller pour se faire sa propre configuration mais il faut mieux une configuration basique orientée vers la sécurité qu'une configuration basique qui ne l'est pas, surtout pour commencer.

      L'automatisation n'est qu'une premiere étape pour mettre en place les principes, le reste c'est évidement à toi de le mettre en oeuvre mais avant d'aller plus loin dans les configurations avancées, il est bon de pouvoir se faire la main sur ce genre d'installation qui permettent de démystifier le coté un peu confidentiel de la sécurité.

      Tu noteras d'ailleurs que le document propose une méthode automatisée et une méthode manuelle décrivant chacune des étapes.

      D'autant plus que ce genre de documents peut surement aider "certains" admins à migrer de iis vers apache avec un relatif sentiment de sureté. Si ça peut aider les logiciels libres ;)

      Il est clair de toutes façons qu'un tutorial et c'est bien la dénomination de ce document est généralement établi pour aider des personnes suffisament étrangéres aux techniques expliquées, les autres plus expérimentés n'en ont pas besoin sauf pour des points plus précis.

      Tu es surement capable de faire un httpd.conf maintenant mais à ta première install j'imagine que tu t'es basé sur le httpd.conf initial de l'install comme la plupart des gens que je connais et moi le premier ?
      • [^] # Re: Ce titre me fait peur...

        Posté par  (site web personnel) . Évalué à 4.

        Tu es surement capable de faire un httpd.conf maintenant mais à ta première install j'imagine que tu t'es basé sur le httpd.conf initial de l'install comme la plupart des gens que je connais et moi le premier ?

        Mon cas est un peu à part, je suit à la lettre les conseils d'Andy Groove:
        "You've go to be a little paranoid to survive in this business."
        J'ai donc commencé par lire la doc d'Apache, puis acheté le bouquin, fait mon layout, mes propres confs, tests, etc...
        Mais je conçois tout à fait que l'on puisse procéder de façon différente, et c'est vrai que ce tuto peut apporter quelques réponses. Néanmoins je persiste à dire que se croire en sécurité parce que l'on a suivit à la lettre les conseils d'un tuto, n'est pas mieux que d'avoir une config basique. En ce sens et même si celà ne reste qu'un tutorial, il serait bon qu'il rappelle quelques règles de bases dans son introduction.
        • [^] # Re: Ce titre me fait peur...

          Posté par  . Évalué à 2.

          Moi c'était l'édition 'apache server' chez campuspress il y a un moment déjà qui m'a beaucoup servi à mes débuts.

          Le tutorial s'adresse je pense essentiellement à un niveau 'intermédiaire' qui doit représenter l'essentiel du lectorat de ce site d'ou la non reprise des principes de base mais bon après effectivement ca reste sujet à l'interprétation qu'on se fait des priorités "sécurité".

          Généralement les installations se font en croisant les sources, un seul document n'étant généralement pas suffisant pour se faire une idée globale, celui ci représente, je pense et ça n'engage que moi, une bonne base de travail et de recherche.
    • [^] # Re: Ce titre me fait peur...

      Posté par  . Évalué à 3.

      > Et puis il y a aussi des choses étonnantes comme ce conseil pour une directive de mod_security:
      SecServerSignature "Microsoft-IIS/4.0"

      Comme je disais dans mon précèdent post, on ne te conseille pas de te faire passer pour IIS mais on te prévient qu'il est possible grâce à Mod_security de te faire passer pour un autre serveur web ou pour une version différente du serveur que tu utilises afin d'éviter les attaques ciblées et les remontées d'infos par les scanners de vulnérabilités et ce sans changer le code source d'apache initialement.

      Ca ne sécurise pas pour autant complétement ton serveur web, tout du moins ça en ralentit la fênetre d'intrusion, le temps étant souvent une donnée essentielle dans l'attaque ou la protection d'un serveur.
  • # ApacheToolbox

    Posté par  . Évalué à -1.

    http://www.apachetoolbox.com/(...) --- ApacheToolbox

    Apache Toolbox provides a means to easily compile Apache with SSL, PHP (v4 or v3), MySQL, APC (Alternative PHP Cache), mod_auth_nds, mod_dynvhost, WebDAV, mod_fastcgi, mod_gzip, mod_layout, mod_throttle, mod_accessref, mod_auth_sys, mod_bandwidth, mod_auth_ldap, mod_roaming, mod_perl, Jakarta, OpenLDAP, mod_dtcl, mod_python, mod_frontpage, mod_relocate, mod_backhand, mod_trigger, mod_watch, mod_filter, libcurl for PHP, MING for PHP, mod_auth_mysql, mod_auth_samba, mod_index_rss, mod_random [by Brian Aker], mod_allowdev, mod_auth_cookie, mod_auth_cookie_file, mod_auth_external, mod_auth_inst, mod_auth_system, mod_eaccess, mod_bandwidth, mod_cgisock, mod_urlcount, mod_disallow_id, mod_peephole, mod_put, mod_qs2ssi, mod_session, mod_cvs, mod_macro, mod_random, mod_ip_forwarding, mod_ticket, mod_monitor, jakarta-tomcat, jakarta-ant, jakarta-servletapi, Java Development Kit, Java API for XML Parsing, Java Secure Sockets Extension, mod_pcgi2, apache IPv6 patch, and the latest gd libraries with PNG/JPEG/Freetype2/Zlib support.

    You can also hack apache's internal settings so it will report a differnet version of httpd all together, improve your security.

    Includes support for mod_access, mod_asis, mod_auth_db, mod_autoindex, mod_digest, mod_example, mod_imap, mod_log_agent, mod_mime, mod_negotiation, mod_setenvif, mod_status, mod_usertrack, mod_actions, mod_auth, mod_auth_dbm, mod_cern_meta, mod_dir, mod_expires, mod_include, mod_log_config, mod_mime_magic, mod_proxy, mod_unique_id, mod_vhost_alias, mod_alias, mod_auth_anon, mod_auth_digest, mod_cgi, mod_env, mod_headers, mod_info, mod_log_referer, mod_mmap_static, mod_rewrite, and mod_speling, which come default with apache.

    It is fully customizable and menu driven. Everything is compiled from source. It checks for RPMs that might cause problems and uses wget to automatically download the source if it's missing.

    That's 63 3rd party modules plus the 36 modules that come with apache.
    • [^] # Re: ApacheToolbox

      Posté par  . Évalué à -2.

      Mais encore? Nan, parceque je me doute bien que ton commentaire avait un but informatif, mais lequel?

      Pis bon, le premier qui me fait tourner un truc comme ça en prod, j'le désanusse à coup de pelle à clous. M'enfin, je suppose que tout n'est pas nécessairement compilable...
    • [^] # Re: ApacheToolbox

      Posté par  . Évalué à -2.

      Et puis c'est dommage, ce truc là aurait été pas mal s'il permettait de construire sans trop de soucis un Apache 2. Un peu comme pour mod_security et le Howto dont il est question ici quoi. Pas que la 1.3 ne soit pas bien, mais bon, la 2 est stable maintenant, faudrait penser à l'utiliser.
  • # Mise à jour tutorial sur secuobs/sortie de la 1.8 de mod_security

    Posté par  . Évalué à 3.

    Chose promise chose dûe, version 1.8 prévu pour le 16 juin en stable et sortie le ... 16 juin :)

    Stable releases
    ModSecurity is released with full source code and documentation. Binaries for Windows are available (please note that no further testing is performed on these binaries). My public PGP key is available here.

    mod_security-1.8.tar.gz (PGP MD5)
    mod_security-bin-win-1.8.zip (PGP MD5)

    http://www.modsecurity.org/download/index.html(...)

    Le tutorial sur secuobs a également été mis à jours apparement, quelques changements dans la procédure et le fonctionnement du chroot :

    "Tutorial : Installation sécurisée, automatisée en globalité ou manuelle de Apache pour Linux avec Openssl, Php4, Mysql, Mod_ssl, Mod_rewrite, Mod_perl , DSO & Mod_security avec les rêgles de l'IDS Snort

    Note : Ce tutorial a été mis à jour le 16 juin 2004 à 00:22 pour la sortie de la version stable 1.8 de mod_security"

    http://www.secuobs.com/tutoriels/03052004mod_security.html(...)
  • # nouvelle mise à jour du tutorial 16/06/04 à 13h19

    Posté par  . Évalué à 3.

    l'activation du chroot par défaut dans la procédure automatisée à été effectuée, apparement il y avait un problème avant avec le chroot et mod_ssl, je viens d'essayé ça fonctionne maintenant.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.