[linux-support] Apache und root-cgi
Christian Schweingruber
chrigul at lorraine.ch
Wed Dec 31 23:10:35 CET 2003
Hallo Reto
Reto Stalder schrieb:
> Hallo zämä,
>
> ich möchte ein cgi-Skript schreiben, welches es ermöglicht, via
> Webbrowser einige Firewallregeln zu ändern. Zum Testen habe ich
> folgendes Skriptchen benutzt:
>
> #!/bin/sh
>
> echo Content type: text/plain
> echo
> echo CGI/1.0 test script report:
> echo
> echo '/sbin/ipchains -L:'
> echo `/sbin/ipchains -L`
> echo
> echo '/usr/sbin/ipmasqadm portfw -l:'
> echo `/usr/sbin/ipmasqadm portfw -l`
>
> Beide Befehle geben einen Eintrag in /var/log/apache/error.log.
> Der ipchains Befehl: ipchains: Permission denied
> Und der ipmasqadm Befehl: portfw: socket creation failed: Operation not
> permitted
>
> Das Skript gehört dem User root, ist aber für ugo auf executable
> gesetzt. Ich habe auch das setuid und das setgid bit ausprobiert, ohne
> Erfolg.
>
> Hat jemand eine Idee, wie ich mein Skript zur Mitarbeit bewege?
Shell Scrips können nicht über SUID mit Rootrechten versehen werden.
Es gibt (mindestend) 2 Ansätze:
1. Quick & Dirty: Die verwendeten Tools (binary files) kopieren und mit suid bit
versehen. durch das script diese Ausführen lassen.
Das ganze ist natürlich aus Security sicht äusserst bedenklich!
2. Sauber(er):
Win kurzes wrapper-programm (zB. in C) schreiben, und dieses mit suid ausrüsten.
Darin muss die authenzitität und berechtigung des requests genau geprüft werden.
Dann ist das ganze vertretbar.
Gruess und guete Rutsch!
Chrigu
>
> Gruss,
> Reto
>
> _______________________________________________
> Linux-support mailing list
> Linux-support at lugbe.ch
> http://www.lugbe.ch/vmailman/listinfo/linux-support
>
>
More information about the Linux-support
mailing list