Subject: Re: X security query.
To: Steven M. Bellovin <smb@research.att.com>
From: Aidan Kehoe <kehoea@parhasard.net>
List: current-users
Date: 05/06/2003 15:15:13
Ar an 6ú lá de mí 5, scríobh Steven M. Bellovin :
> >Ah, right. Except that the host-based access control mechanisms don't
> >mention that the local host may be automatically allowed access--cf the
> >xhost output in the original mail. Is that worth submitting a bug over,
> >d'you think?
>
> Sure they do;
I meant in the output of xhost; by default, if hosts have been given access
with xhost +hostname, (at least) the XFree86 xhost will print the list; from
xc/programs/xhost/xhost.c; (no, I don't work on a NetBSD box,
unfortunately);
[...]
if ((dpy = XOpenDisplay(NULL)) == NULL) {
fprintf(stderr, "%s: unable to open display \"%s\"\n",
ProgramName, XDisplayName (NULL));
exit(1);
}
XSetErrorHandler(local_xerror);
if (argc == 1) {
#ifdef DNETCONN
setnodeent(1); /* keep the database accessed */
#endif
sethostent(1); /* don't close the data base each time */
list = XListHosts(dpy, &nhosts, &enabled);
if (enabled)
printf ("access control enabled, only authorized clients can connect\n");
else
printf ("access control disabled, clients can connect from any host\n");
if (nhosts != 0) {
for (i = 0; i < nhosts; i++ ) {
hostname = get_hostname(&list[i]);
if (hostname) {
switch (list[i].family) {
case FamilyInternet:
printf("INET:");
break;
case FamilyDECnet:
printf("DNET:");
break;
case FamilyNetname:
printf("NIS:");
break;
case FamilyKrb5Principal:
printf("KRB:");
break;
case FamilyLocalHost:
printf("LOCAL:");
[...]
I've had xhost behave like this (i.e. list the current access control list)
for four or five years now.
> Mind you, I'm a security guy, and would much prefer that Xauthority was
> the default -- or only -- security mechanism. For years, my .profile
> has generated a nice, new random entry every time I log in on the
> console. Today's version includes some data from /dev/random, too.
> There's also 'xauth generate', though I haven't played with that yet.
Thankfully, xhost + seems to be dying out as ssh implementations with X
forwarding become ubiquitous. It's easier, too :-) .
> (Aside: several years ago, someone working on a seriously sensitive
> project asked me if he should encrypt his email. After poking around
> for 5 minutes, I ran
>
> DISPLAY=his-machine:0 xmessage "if you can read this, don't \
> bother with encryption"
And he went; "I can let someone do that without knowing? X sucks." It needs
better defaults, and better documentation, where people can easily find
it. And I should stop whining and go write something useful. :-)
Bye,
- Aidan Kehoe
--
"I have heard the swelling cry of the English speaking peoples of the
world, and it tells me their cause is served best by flaming the few
complacent asses on usenet." -- T. Samant, 29 June 1997