🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.security
5 messages
5 total messages Started by Wojciech Janiszewski Mon, 24 Feb 1997 17:21
Re: suidy
#281
Author: Wojciech Janiszewski
Date: Mon, 24 Feb 1997 17:21
16 lines
1235 bytes
Jan Rychter wrote:
> 
> Oczywiście nadal podtrzymuję to co kiedyś mówiłem -- że spora część
> programów suid wcale suid być nie musi. Nawet te które potrzebują portów
> < 1024 i przez to chodzą jako root mogą często być rozbite na kilka
> części, by zminimalizować zagrożenie (patrz sendmail vs zmailer).
> 

Ostatnio bawilem sie w ustawianie sendmaila na non-root-suid i nawet chodzilo.
Wymagaloby to dopracowania ale...  Niestety, poniewaz sendmail odpalany byl 
przez inetd nie nadawalby sie do wiekszych systemow pocztowych.

Wojciech
-----------------------------------------------------------------------------
e-mail: janisz@zse.bydgoszcz.pl
   www: http://www.zse.bydgoszcz.pl/~janisz
Re: suidy
#282
Author: Michal Trojnara
Date: Thu, 27 Feb 1997 09:23
12 lines
1202 bytes
> Ostatnio bawilem sie w ustawianie sendmaila na non-root-suid i nawet chodzilo.
> Wymagaloby to dopracowania ale...  Niestety, poniewaz sendmail odpalany byl
> przez inetd nie nadawalby sie do wiekszych systemow pocztowych.

Do sendmailowi wlasciwie atrybut setuid?
Zeby zrobic bind na porcie smtp moze przeciez startowac z prawami roota,
jak inne demony, a potem zmieniac grupe na mail i uzytkownika na nobody.
Nie analizowalem kodu sendmaila, wiec wybaczcie, jezeli pytanie nie jest
zbyt madre.
U mnie (HPUX) sendmail ma setuid root i setgrp mail.

							Michal Trojnara
Re: suidy
#283
Author: Michal Jankowski
Date: Thu, 27 Feb 1997 14:15
24 lines
1508 bytes
prawa roota sa sendmailowi generalnie potrzebne do 
1. dostepu do portu 25
2. zrobienia setuid() na uid odbiorcy poczty, zeby jako ten odbiorca
czytac/pisac jego pliki (np. .forward).
3. moze jeszcze do czegos 8-)

Natomiast wcale program /usr/lib/sendmail nie musi byc 'suid root'.

Mozna sprobowac w nastepujacy sposob:

1. Jako demon puszcza sie sendmaila z uid=0, i in ma taki 'normalny'
sendmail.cf, ze sie robi i delivery, i sprawdzanie .forward, i
wszystko.

2. /usr/lib/sendmail sie daje z setuid=mail, albo moze wystarczy
setgid=mail, albo cos w tym rodzaj, grunt, zeby ten program mial
dostep do /var/spool/mqueue. I temu sendmailowi to sie podklada taki
sendmail.cf, zeby nie probowal robic zadnego 'final delivery', tylko
wszystko przekazywal na port 25, juz do tego sendmaila z
uprawnieniami...

Powinno chodzic...

  MJ
Re: suidy
#284
Author: Michal Trojnara
Date: Fri, 28 Feb 1997 08:19
20 lines
1448 bytes
Michal Jankowski wrote:

> 1. Jako demon puszcza sie sendmaila z uid=0, i in ma taki 'normalny'
> sendmail.cf, ze sie robi i delivery, i sprawdzanie .forward, i
> wszystko.

Przeciez .forward mozna zrobic tak samo jak .plan, z prawem
czytania dla swiata.

> 2. /usr/lib/sendmail sie daje z setuid=mail, albo moze wystarczy
> setgid=mail, albo cos w tym rodzaj, grunt, zeby ten program mial
> dostep do /var/spool/mqueue. I temu sendmailowi to sie podklada taki
> sendmail.cf, zeby nie probowal robic zadnego 'final delivery', tylko
> wszystko przekazywal na port 25, juz do tego sendmaila z
> uprawnieniami...

Jedyna rzecza, ktorej wymaga final delivery jest setgid=mail,
co nie jest duzym problemem dla bezpieczenstwa systemu.

							Michal Trojnara
Re: suidy
#288
Author: Jan Rychter
Date: Sun, 02 Mar 1997 13:12
28 lines
2200 bytes
>>>>> "Michał" == Michal Trojnara <mtrojnar@ddc.daewoo.com.pl>:
 >> Ostatnio bawilem sie w ustawianie sendmaila na non-root-suid i nawet
 >> chodzilo.  Wymagaloby to dopracowania ale...  Niestety, poniewaz
 >> sendmail odpalany byl przez inetd nie nadawalby sie do wiekszych
 >> systemow pocztowych.

 Michał> Do sendmailowi wlasciwie atrybut setuid?  Zeby zrobic bind na
 Michał> porcie smtp moze przeciez startowac z prawami roota, jak inne
 Michał> demony, a potem zmieniac grupe na mail i uzytkownika na nobody.
 Michał> Nie analizowalem kodu sendmaila, wiec wybaczcie, jezeli pytanie
 Michał> nie jest zbyt madre.  U mnie (HPUX) sendmail ma setuid root i
 Michał> setgrp mail.

IMHO, sendmail nigdy nie będzie bezpieczny. Nawet jeżeli uruchamia się
go jako root, a potem szybko robi seteuid(jakis_user), to i tak ma on
real uid 0. Wyjście przez setreuid() nie jest jakimś specjalnym
problemem.

Wadą sendmaila (największą) jest to, że wszystko próbuje on robić w
jednym procesie. Dla porównania ZMailer
(ftp://sunsite.icm.edu.pl/pub/unix/mail/zmailer/) ma 4 główne procesy:
smtpserver (który robi bind() i listen() na porcie 25 i odbiera pocztę),
router -- który przetwarza aliasy i rozdziela pocztę na MXy, scheduler
-- który zajmuje się uruchamianiem transporterów poczty oraz smtp --
czyli transportery, które pocztę wysyłają. Tylko smtpserver potrzebuje
kiedykolwiek uprawnien roota.

--J.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads