[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: setuid root / exim alternative (was :find / wo werden suid...)



Hi Andreas,

On Thu, Apr 19, 2001 at 07:58:54AM +0000, Andreas Metzler wrote:

> > Ist dieser cronjob wirklich noetig auf einem System das nur lokale
> > Mail ausliefert und empfaengt?
> 
> Nein, nicht wenn exim die Mail (wie ueblich) normalerweise sofort
> zuzustellen versucht.

Stimmt, normalerweise sollte das so sein. Aber wo kann man das in
der /etc/exim.conf einstellen? Ich finde da irgendwie nichts
entsprechendes. Nicht das mir wichtige Mails im queue liegen
bleiben...

[...]
> Das hat eben alles den Effekt, dass die Programme fuer normale
> Benutzer unbrauchbar sind.

Ja, das ist mir auch klar. Aber wie sieht das z.B. bei 
/sbin/unix_chkpwd aus? In der Manpage steht:

	This program is not intended to be called directly by
	users and will log to syslog if it is called imporperly
	(i.e., by some one trying exploit it).

Ausserdem befindet es sich in /sbin/. Da frage ich mich doch warum es
dann setuid root ist?

Und wie ist das bei /bin/login? Das hier hab ich beim suchen in einer
freebsd Liste gefunden:

	/usr/bin/login only needs to be suid root for people to
	"re-login" so their uid can be set. If the only users on
	your system that need to su are in the wheel group, you
	can take the suid bit of /usr/bin/login.

Gilt das auch fuer Linux bzw. Debian? Ich habe User die su benutzen
muessen in der Gruppe "suallow" und in /etc/pam.d/su "auth required
pam_wheel.so group=suallow" eingetragen.

Dann waere da noch /usr/lib/pt_chown. Aus "Installing the GNU C
Library":

	One auxiliary program, `/usr/libexec/pt_chown', is
	installed setuid `root'. This program is invoked by
	the `grantpt' function; it sets the permissions on a
	pseudoterminal so it can be used by the	calling	process.
	This means programs like `xterm' and `screen' do not
	have to be setuid to get a pty.  (There may be other
	reasons why they need privileges.) If you are using a
	2.1 or newer Linux kernel with the `devptsfs' or `devfs'
	filesystems providing pty slaves, you don't need this
	program; otherwise you do. The source for `pt_chown'
	is in `login/programs/pt_chown.c'.
	
Mit 2.1 oder 'nem neurem Kernel brauche ich das Programm also gar
nicht. Stimmt das wirklich? Wenn ja: Potato wird IIRC mit 2.2.17
"ausgeliefert" und IMO sollte pt_chown dann _nicht_ setuid root
sein! Bugreport?

Und zu guter letzt /usr/lib/man-db/man: Normalerweise ist ja
/usr/bin/man setuid root. Bei Debian ist das aber anscheinend
anders. /usr/lib/man-db/mandb und /usr/lib/man-db/man sind setuid,
/usr/bin/man nicht. Gibts dafuer bestimmte Gruende?

> exim muss auf Port 25 lauschen, dafuer muss es als root laufen, wenn
> du das suid-Bit entfernst, kastrierst du den Funktionsumfang
> nachhaltig, da es den Zustellungsprozess nicht mehr als user
> ausfuehren kann (es hat ja keine Moeglichkeit nachher wieder root zu
> werden). Vielleicht solltest du postfix oder qmail verwenden.

An postfix hatte ich auch schon gedacht. Ist dort kein suid Bit
noetig? Waere schoen.
BTW: Ich hab schon mal nach schlanken und hoffentlich sicheren
Mailservern gesucht aber nocht nichts richtiges gefunden. Masqmail
ist wohl noch recht neu und wahrscheinlich nocht nicht ausreichend
getestet worden, ssmtp und nullmailer waeren eingentlich optimal,
benoetigen aber leider einen Relay-Server. Vielleicht kennt ja
jemand noch andere alternativen?

> Du solltest eines bedenken: Wenn du Programme durch das Entfernen von
> suid-Root nur mehr fuer Root benutzbar machst, wirst du sehr viel mehr
> als root arbeiten, das ist imho im Endeffekt unsicherer (Vertippen).

Gut, das stimmt schon. Allerdings spreche ich hier gerade von einem
Router bzw. einer Firewall. Da sind moeglichst wenig setuid root
binarys IMO wichtiger. Aber auch sonst brauche ich z.B. passwd und
gpasswd nicht als User. Zum Password ändern kann man sich IMO auch
als root einloggen. Wenn man User oder Admins hat die den Rechner
auch benutzen, ist es natuerlich etwas anderes.

Dank fuer jegliche Hilfe!

Gruss
Janto

-- 
Janto Trappe    Germany     /* rapelcgrq znvy cersreerq! */
GnuPG-Key:      http://www.sylence.de/gpgkey.asc
Key ID:         0x8C53625F
Fingerprint:    35D7 8CC0 3DAC 90CD B26F B628 C3AC 1AC5 8C53 625F

Attachment: pgpj9uKjgCXoy.pgp
Description: PGP signature


Reply to: