Date: Tue, 12 Sep 2000 11:12:46 -0500 From: "Peter Avalos" <pavalos@theshell.com> To: "Cy Schubert - ITSD Open Systems Group" <Cy.Schubert@uumail.gov.bc.ca> Cc: "freebsd-security@FreeBSD. ORG" <freebsd-security@FreeBSD.ORG> Subject: RE: ypserv giving out encrypted passwords Message-ID: <AAEMIFFLKPKLAOJHJANHOEKMCEAA.pavalos@theshell.com> In-Reply-To: <200009121453.e8CErva69663@cwsys.cwsent.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is the way I want my server to work ;) I'm assuming that your ypserv is a master. So my next questions are: 1. Does anyone who's running ypserv as a slave get the documented results? 2. Why is there a difference between a slave server and master server when dealing with the master.passwd.* maps? Your help is appreciated, Peter Avalos TheShell.com -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS/ED/B d-(+) s:+> a-- C++$ UBLO++++$ P+ L++++ E- W+ N+ o? K? w(++) !O M- V- PS+ PE++ Y+ PGP++ t+@ 5 X- R- tv+ b++ DI- D-- G e>+++ h-- r++ y++ ------END GEEK CODE BLOCK------ -----Original Message----- From: cy@uumail.gov.bc.ca [mailto:cy@uumail.gov.bc.ca]On Behalf Of Cy Schubert - ITSD Open Systems Group Sent: Tuesday, September 12, 2000 9:53 AM To: Peter Avalos Cc: freebsd-security@FreeBSD.ORG Subject: Re: ypserv giving out encrypted passwords In message <Pine.LNX.4.21.0009120724330.23278-100000@arsenic.theshell.co m>, Pet er Avalos writes: > > > On Tue, 12 Sep 2000, Cy Schubert - ITSD Open Systems Group wrote: > > > In message <AAEMIFFLKPKLAOJHJANHOEKECEAA.pavalos@theshell.com>, "Peter > > Avalos" > > writes: > > > I'm running ypserv as a slave and ypbind on a 4.1-S machine. > > > > > > Snip from ypserv(8) manpage: > > > > > > To make up for this, the FreeBSD version of ypserv handles the > > > master.passwd.byname and master.passwd.byuid maps in a special way. > > > When > > > the server receives a request to access either of these two maps, it > > > will > > > check the TCP port from which the request originated and return an > > > error > > > if the port number is greater than 1023. Since only the superuser i > s > > > al- > > > lowed to bind to TCP ports with values less than 1024, the server ca > n > > > use > > > this test to determine whether or not the access request came from a > > > privileged user. Any requests made by non-privileged users are > > > therefore > > > rejected. > > > > > > This sounds like a wonderful thing, but why only tcp? I don't want people > to > > > ypcat master.passwd and get all the encrypted passwords on my system. I > > > verified that a ypmatch uses udp on a port >1023 witch tcpdump: > > > > > > ypmatch pavalos master.passwd > > > pavalos:*SNIPPED*:501:1000::0:0:pavalos:/usr/home/prm/pavalos:/bin/bash > > > 06:35:27.149969 lithium.theshell.com.stun-port > lithium.theshell.com.778 > : > > > udp 88 > > > 06:35:27.150136 lithium.theshell.com.778 > lithium.theshell.com.stun-port > : > > > udp 108 > > > > > > stun-port 1994/udp #cisco serial tunnel port > > > > > > So my question is: Is this a configuration error, or a 'feature' (bug)? > > > > I was unable to recreate your problem here at home (the only place I do > > use YP). Tcpdump showed that appropriate ports were used when root or > > non-root made issued the request. Are you sure you weren't root or > > that ypmatch wasn't setuid root on the client system? > > > > > > The correct ports are being used. My issue is that a request from a > non-root user (port >1023) gives out the encrypted password. According to > the manpage, any request from tcp port >1023 will be denied for > master.passwd.* maps. This seems like its logic is half-correct. My > question is why is is only tcp since these yp requests are over udp? cwtest$ ypmatch foobar master.passwd.byname ypmatch: can't match key foobar in map master.passwd.byname. reason: YP server error cwtest$ 07:42:36.590581 cwtest.1308 > cwsys.1021: udp 92 07:42:36.615668 cwsys.1021 > cwtest.1308: udp 32 cwtest# ypmatch foobar master.passwd.byname foobar:$1$foobar's_password:62361:62361::0:0:Foobar User,,,:/home/foobar:/bin/bash cwtest# 07:43:06.646153 cwtest.657 > cwsys.1021: udp 92 07:43:06.647523 cwsys.1021 > cwtest.657: udp 128 Foobar was substituted for the real username to protect the innocent in my example above, e.g. this is real output except for my editing out the real username. >From what I can tell, it works as documented on a 4.1 system. Regards, Phone: (250)387-8437 Cy Schubert Fax: (250)387-5766 Team Leader, Sun/DEC Team Internet: Cy.Schubert@osg.gov.bc.ca Open Systems Group, ITSD, ISTA Province of BC To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-security" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AAEMIFFLKPKLAOJHJANHOEKMCEAA.pavalos>