Journal Page perso très perso

Posté par  (site web personnel) .
Étiquettes : aucune
0
5
déc.
2003
Je voudrais me faire une page(php, peut-etre mysql) qui ne soit accessible que depuis localhost.

Je dois choisir quoi comme serveur http? existe t'il plus leger qu'apache pour ce genre d'utilisation?
Et à quel niveau dois-je restreindre l'accès au seul localhost? au niveau du serveur? avec .htaccess? ou au niveau du firewall en blocant ce qui vient de l'extérieur?

si la solution se trouve au niveau du firewall, ca serait super sympa de me fournir la règle iptables, parceque vraiment... ca je n'y arrive pas(sisi j'ai essayé vraiment très fort).

et soyons fous... si vous connaissez un genre de how-to iptables pour les tres tres nuls en sécurité... vous génez pas pour filer un lien... parceque mine de rien, j'aimerai apprendre.

Merci beaucoup.
  • # Re: Page perso très perso

    Posté par  . Évalué à -5.

    Accès à un serveur web depuis localhost ?


    Pourquoi pas utiliser file:// ?


    ------>[]
    • [^] # Re: Page perso très perso

      Posté par  . Évalué à 1.

      pour le php, file:// ca ne devrait pas trop marcher...
      Pour restreindre l'accès,il y a une autre solution: tu utilises apache avec xinetd, et dans la configuration de xinetd pour apache tu spécifies un only_from=127.0.0.1 .
    • [^] # Re: Page perso très perso

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

      C'est super file:// pour du PHP

      Moi je dirais qu'il suffise que le serveur n'écoute que sur le loopback (127.0.0.1).
      Mon script iptables (qui vaut ce qu'il vaut, et qui ne saurait engager ma responsabilité bla bla bla):
      http://fabsk.free.fr/files/firewall(...)
  • # Re: Page perso très perso

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

    Dans le fichier de conf d'Apache: "Listen 127.0.0.1:80" et je pense que ça devrait être suffisant.
  • # Un truc auquel on ne pense pas souvent

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

    KDE a un protocole noomé CGI qui permet une exécution de scripts a partir de konqueror et de toutes les applis KDE... très utile notamenbt pour déboguer :)

    http://docs.kde.org/en/HEAD/kdebase/kioslave/cgi.html(...)
  • # Re: Page perso très perso

    Posté par  . Évalué à 7.

    > et soyons fous... si vous connaissez un genre de how-to iptables pour les tres tres nuls en sécurité... vous génez pas pour filer un lien... parceque mine de rien, j'aimerai apprendre.

    Le Linux Masquerade HOWTO est le document qu'il te faut. Il te permettra d'apprendre ce qu'est IPTABLE, à quoi ça sert et comment l'utiliser pour ta machine. À l'origine, il a plutôt pour but de fournir une solution au Masquerading (mise en place d'une machine Linux qui permet de faire passerr le traffic Internet de tes machines internes vers Internet de manière sécurisée et transparente). Cependant, puisque tu aimerais apprendre, il est une source de référence pour commencer avec IPTABLE et apprendre à partager ta connection Internet de manière sûre avec tes machines internes :

    -> http://www.e-infomax.com/ipmasq/howto/c-html/index.html(...)

    Prête surtout attention au script rc.firewall-2.4-stronger qui permet de bien sécurisé ta machine niveau réseau jusqu'à ne laisser passer que les paquets vraiment utiles et autorisés, bloquant notament par défaut l'accès au serveur Web.

    Sinon, la vraie solution pour Apache est de faire comme te le recommande FixXxeR dans le post suivant :

    -> http://linuxfr.org/~Jorion/7456.html#310995(...)

    Cette solution permet à Apache de n'écouter que le port local et de ne servir que les pages demandées à partir de ta machine.
    • [^] # Re: Page perso très perso

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

      J'ai bookmarké le lien pour IPTABLES, ca a encore l'air d'etre un gros morceau à manger...

      allez... faut que j'y crois!

      Un jour j'y comprendrai quelquechose.

      Merci pour tout en tous cas!
  • # Re: Page perso très perso

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

    Ben tu peux faire ça au niveau de PHP:
    <?
    //Le code de vérification de l'ip source:
    if($_SERVER['REMOTE_ADDR']!="127.0.0.1") {
    die("Vous n'êtes pas autoriser à venir ici!");
    }
    //Ton code privé
    ?>
    • [^] # Re: Page perso très perso

      Posté par  . Évalué à 2.

      Le problème est qu'il devra implémenter cela sur chaque page PHP accessible depuis sa machine. S'il s'agit d'une version de développement de son site destinée à être mise en ligne ultérieurement, il devra alors modifier chaque page avant de les mettres en ligne chez un hébergeur comme Free. Sans compter que cela ne résoud pas le problème s'il a des pages non PHP potentiellement accessibles depuis son serveur Web (page HTML, fichier en téléchargement, ...). La vraie solution propre à son problème est celle de FixXxer :

      -> http://linuxfr.org/comments/310995.html.(...)
      • [^] # Re: Page perso très perso

        Posté par  . Évalué à 2.

        oui enfin il peut aussi faire un include de cette partie de code. je sais que c'est du PHP mais quand même, on peut faire ça proprement.
        • [^] # Re: Page perso très perso

          Posté par  . Évalué à 4.

          Oui mais c'est une mauvaise idée : autant ne pas accepter la requête avant même d'appeller PHP.

          D'ailleurs, il est même meilleur de ne pas accepter la requête du tout, via iptables.
    • [^] # Re: Page perso très perso

      Posté par  . Évalué à 4.

      et
      order deny, allow
      deny from all
      allow from 127.0.0.1

      ca ne suffit pas ?
  • # Re: Page perso très perso

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

    Merci a tous pour vos idées.

    Je teste la methode de FixXxer dès que possible.

    Pensez vous qu'Apache soit adapté à ce genre d'utilisation?
    • [^] # Re: Page perso très perso

      Posté par  . Évalué à 5.

      Apache est un serveur Web : son rôle est de servir des pages Web, qu'elles soient statiques ou dynamiques (pages PHP par exemple). Donc si tu veux servir des pages Web PHP accessibles depuis ton navigateur, tu peux utiliser Apache (même si c'est pour y accéder que depuis ta machine).

      Par contre, si tu veux faire une application PHP "en ligne de commande" qui accède à une base de donnée MySQL, tu n'as pas besoin de Apache : tu peux très bien lancer script PHP pur avec l'interpréteur PHP et accéder à ta base de donnée MySQL ainsi.

      Pour information, note qu'il existe d'autre serveur Web qu'Apache sous Linux. Je pense particulièrement à THTTPD qui est plus léger et basé sur un tout autre design que Apache. THTTPD supporte PHP (enfin pas nativement) : il est possible que ta distribution fournisse un tel paquetage. Sinon tu peux l'installer à partir des sources, mais c'est assez complexe vu qu'en fait, ce n'est pas THTTPD qui supporte PHP mais PHP qui patche THTTPD pour qu'il supporte PHP en tant que module (sinon tes scripts PHP ont utilisables avec THTTPD mais en tant que script CGI - ce n'est probablement pas ce que tu souhaites).
  • # Re: Page perso très perso

    Posté par  . Évalué à 1.

    Ma politique : fait les deux.
    parametre ton apache pour restraindre à 127.0.0.1, soit au niveau du listen soit au niveau des acces (selon tes besoins)
    Puis au niveau du firewall, un iptables -P INPUT DROP et un iptables -P OUTPUT DROP sont indispensables a mon avis pour avoir un niveau de securité correct.
    Franchement pour le temps que ca prend autant le faire.

Suivre le flux des commentaires

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