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 kolter (site web personnel, Mastodon) . Évalué à 2.
ça me semble l'idéal...
M.
[^] # Re: shorewall + webmin
Posté par jjl (site web personnel) . Évalué à 1.
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 nullard3d . Évalué à 1.
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é.
[^] # Re: scripts - chmod+s impossible
Posté par jjl (site web personnel) . Évalué à 2.
il me semble que Linux ignore les 'sticky bits' sur les scripts.
Effectivement, je ne savais pas, mais après recherches, c'est bien le cas.
(d'ailleurs je me suis fourvoyé, ce n'est pas le sticky bit, mais le SUID)
La solution serait de passer par un 'wrapper' en C, ou faire un script perl :
http://lea-linux.org/dev/suid_scripts.html(...)
http://support.addy.com/content/cgi/write/(...)
voila, si je reste sur le choix web, je ferais sans doute ca en suivant des conseils de sécurité :)
http://nob.cs.ucdavis.edu/~bishop/secprog/(...)
Merci
++
JJL
[^] # Re: scripts - chmod+s impossible
Posté par nullard3d . Évalué à 1.
hop dans mes bookmarks.
# Et ...
Posté par Maillequeule . Évalué à 2.
Ca fait un peu moins goret je trouve, si c'est possible.
(Oui, on peut relativiser le grouikage)
M
[^] # Re: Et ...
Posté par jjl (site web personnel) . Évalué à 1.
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 bergamote23 . Évalué à 1.
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 jjl (site web personnel) . Évalué à 1.
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.