Forum Linux.général iptables via le web

Posté par  (site web personnel) .
Étiquettes : aucune
0
6
déc.
2004
Bonjour,

Je ne suis pas sur d'être dans le meilleur forum, si c'est effectivement le cas, merci de me le dire. (j'ai hésité avec prog.web)

Voici mon problème: je voudrais, via une interface web, ouvrir/fermer des ports dans mon firewall. C'est à dire en cliquant sur un lien, executer une commande "iptables ..." qui m'ouvre LE port 21 (par exemple) et pouvoir le fermer de la même manière. Cela me permettrait d'ouvrir ces ports à la demande quand j'en ai ponctuellement besoin.
Ma première idée fut un petit script cgi appartenant à root avec un sticky bit (beurk, je sais) et executable par le user www... marche pas, j'ai une erreur (httpd/error_log) "vous devez être root pour iptables".
Deuxième idée autoriser sudo iptables à www, mais cela me gène car www peut alors faire ce qu'il veux avec les ports, ie ouvrir même ceux que je ne veux pas et pire !

Bref, comment puis-je faire ça de manière "propre" et le plus secure possible ? (autoriser l'ouverture du 21 mais pas des autres)

Merci d'avance
JJL
  • # shorewall + webmin

    Posté par  (site web personnel, Mastodon) . Évalué à 2.

    tout est dans le titre ....

    ça me semble l'idéal...

    M.
    • [^] # Re: shorewall + webmin

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

      Hello,
      First, merci de repondre.
      Je connais ces produits, mais ils ne me conviennent pas. En effet, j'ai deja une interface d'admin et des règles de fw implémentées (j'utilise la distrib sme-server [1]), je ne voulais donc pas rajouter des couches en plus.

      Mais la, on va me dire : "mais y'a une contrib pour sme qui permet d'ouvrir/fermer les ports !"[2]. Ce à quoi je repondrai : "Oui, je sais, mais elle ne permet de n'ouvrir qu'un port à la fois, chez moi le perl rame à mort et en plus faut autoriser l'acces au server-manager de l'exterieur"

      voila, voila
      ++
      JJL

      [1] http://contribs.org/(...)
      [2] http://sme.swerts-knudsen.dk/downloads/dmc-mitel-portopening-0.0.1-(...)
  • # scripts - chmod+s impossible

    Posté par  . Évalué à 1.

    il me semble que Linux ignore les 'sticky bits' sur les scripts. En effet, il y avait des attaques possibles grâce à cela.

    J'avais cependant vu un how-to pour contourner cette protection, mais impossible de remettre la main dessus (raah Google m'a laché).
    Il me semble que le plus simple était de créer un binaire 'stické' qui lance ton script.

    Evidemment, ça complique et c'est d'autant plus grave pour la sécurité.
  • # Et ...

    Posté par  . Évalué à 2.

    Laisser le port ouvert tout le temps et ne lancer le service qu'à la demande ?

    Ca fait un peu moins goret je trouve, si c'est possible.

    (Oui, on peut relativiser le grouikage)

    M
    • [^] # Re: Et ...

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

      Hello,

      Yep, je peux aussi faire ca, mais du coup je suis moins "furtif" et un eventuel attaquant sait qu'il peut y avoir un serveur ssh a cet endroit.

      Par contre, je n'ai qu'a autoriser l'execution du/des scripts de demarrage ... bcp plus securisé.

      Merci
      JJL
  • # Pourquoi le web ?

    Posté par  . Évalué à 1.

    As tu une raison particulière d'utiliser une interface web ? est-ce le seul acces que tu as sur la machine ?
    Est-ce une autre personne (moins compétente) qui fera les manipulations ?

    Si cela n'est pas le cas, pourquoi ne pas faire tout simplement 2 scripts shell du genre "open_port.sh" et "close_port.sh" que tu executera en ssh sur ta machine ?

    # ./open_port.sh 21 80 25
    n'est pas beaucoup plus complexe qu'une interface web et ca sera, a mon avis, un petit peu plus sécurisé qu'autorisé www a jouer avec iptables...
    • [^] # Re: Pourquoi le web ?

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

      Hello,

      As tu une raison particulière d'utiliser une interface web ? est-ce le seul acces que tu as sur la machine ?
      Non, pas pour le moment, mais je voudrais limiter ca au maximum.
      Est-ce une autre personne (moins compétente) qui fera les manipulations ?
      C'est effectivement une possibilité

      2 scripts shell...que tu executera en ssh sur ta machine ?
      C'est comme ca que je fais pour le moment, mais je n'aime pas ouvrir une connection juste pour ca.

      autorisé www a jouer avec iptables...
      je suis bien d'accord, c'est pour cela que je pensais que le suid etait une bonne alternative, je ne laisse faire que ce que j'ai décidé.

      Bon, je vais re-reflechir a tout ca.

      Merci
      JJL

Suivre le flux des commentaires

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