Modifier des CGI et droits de root

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

Messagepar Duck » 07 Août 2003 16:26

Je viens de modifier proxy.cgi pour ajouter le moyen de controler squidGuard, adzapper, delays pools et acl. <BR>Le mod fonctionne bien: écrit sur acl et sur wrapzap la configuration qui trouve dans des autres fichiers, qui je modifie à main. <BR>Mais je ne sais pas comme faire exécuter des instructions de shell qui ont besoin des droits de root (iptables -t nat... par example). <BR>Proxy.cgi exécute restartsquid, qui est un binaire qui peut modifier le prerouting, donc il a les droits de root, lorsque les cgi sont nobody. <BR> <BR>quel est le truc?
Avatar de l’utilisateur
Duck
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 28 Juil 2003 00:00

Messagepar GozerX99 » 07 Août 2003 18:08

le setuid peut-être ? <BR> <BR>quand tu fais ls -l du fichier .cgi, si il y a un "s" à la place du 1er "x" dans les permissions rwxrwxrwx, c'est que le fichier va s'éxécuter automatiquement avec les droits "root" <BR> <BR>M'enfin c'est qu'une hypothèse à vérifier ...
Avatar de l’utilisateur
GozerX99
Aspirant
Aspirant
 
Messages: 131
Inscrit le: 11 Juin 2003 00:00

Messagepar Gesp » 07 Août 2003 19:18

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE>Mais je ne sais pas comme faire exécuter des instructions de shell qui ont besoin des droits de root (iptables -t nat... par example). </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Soit tu te contentes de relancer le restartxxx si cela te suffit, sinon tu dois en créer de nouveaux et les compiler. Regarde dans les sources de ces programmes. <BR>
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar Duck » 07 Août 2003 21:45

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Le 2003-08-07 19:18, Gesp a écrit: <BR>Soit tu te contentes de relancer le restartxxx si cela te suffit, sinon tu dois en créer de nouveaux et les compiler. Regarde dans les sources de ces programmes. <BR> <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Donc le perl n'a pas le moyen de gagner les droits de root. <BR>C'est que restartsquid efface la chain SQUID, quand je voudrais créer des règles personalizées: <BR> <BR>iptables -t nat -I SQUID -i eth0 -m mac --mac-source 00-A0-0C-90-1C-84 -p tcp --dport 80 -j RETURN <BR>iptables -t nat -I SQUID -i eth0 -m mac --mac-source 00:80:c8:4c:7e:b4 -p tcp --dport 80 -j RETURN <BR>iptables -t nat -A SQUID -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 800 <BR> <BR>pour excluder quelque personne du redirect. Mais chaque fois que j'utilise proxi.cgi, restartsquid flush la chaine et je dois modifier ipatbles à travers le shell.
Avatar de l’utilisateur
Duck
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 28 Juil 2003 00:00

Messagepar Gesp » 07 Août 2003 22:26

Je crois que la bonne manière de faire est d'ajouter ses règles personalisées dans rc.local en définissant les variables CUSTOM qui sinon sont vides par défaut dans rc.firewall <BR> # CUSTOM chains, can be used by the users themselves <BR> /sbin/iptables -N CUSTOMINPUT <BR> /sbin/iptables -A INPUT -j CUSTOMINPUT <BR> /sbin/iptables -N CUSTOMFORWARD <BR> /sbin/iptables -A FORWARD -j CUSTOMFORWARD <BR> /sbin/iptables -t nat -N CUSTOMPREROUTING <BR> /sbin/iptables -t nat -A PREROUTING -j CUSTOMPREROUTING <BR> <BR>rc.local n'étant lancé que rc.sysinit, il faut soit lancer rc.local à la main soit rebooter pour créer les variables <BR> <BR>C'est expliqué un tout petit peu là <BR><!-- BBCode auto-link start --><a href="http://marc.theaimsgroup.com/?l=ipcop-devel&m=105017161908813&w=2" target="_blank">http://marc.theaimsgroup.com/?l=ipcop-devel&m=105017161908813&w=2</a><!-- BBCode auto-link end --> <BR> <BR>Peut-être que c'est plus en détail dans le manuel (je dois avouer que je ne l'ai pas lu)
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar Duck » 07 Août 2003 23:46

Merci, mais j'utilise déja rc.local pour tous mes règles, pour ajouter des routes, pour lancer cqb.init et bloquer toute acces à l'extérieur, sauf les portes communes. <BR>J'aurais voulu ne perdre pas les régles en SQUID chaque fois que je change le fonctionnement du proxy. <BR> <IMG SRC="images/smiles/icon_smile.gif">
Avatar de l’utilisateur
Duck
Second Maître
Second Maître
 
Messages: 26
Inscrit le: 28 Juil 2003 00:00

Messagepar Gesp » 08 Août 2003 08:27

Alors je pense qu'il faudrait s'inspirer de setdmzholes.c pour modifier restartsquid.c <BR> <BR>setdmzholes relit le fichier dmzholes/config pour configurer les règles de la DMZ. <BR> <BR>Je pense que Dansguardian permet de faire le même genre de filtrage sans ces changements. <BR>
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité