[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TLS in smtpserver
Eugene Crosser wrote:
> On 12-May-99 at 23:22, Matti Aarnio (mea@nic.funet.fi) wrote:
> > Yes and no, that is actually a fairly sizable can of worms.
> > Perhaps with a runtime option (PARAM), which local admin
> > can decide if that information if ok at the Received: header:
>
> Sounds very reasonable. (The same apply to my "whoson" info, BTW).
In CVS now:
* smtpserver/smtpserver.h, smtpserver/cfgread.c,
smtpserver/smtpserver.c, smtpserver/smtptls.c,
smtpserver/smtpsmds.c, proto/smtpserver.conf.in:
Much work again, now to parametrize ways of selectively adding
pieces of "Received:" header contained commentary information.
Features: ident, whoson, auth-username, tls-cipher, tls-client-cert
( Last one is a FIXME item :-| )
I still don't know how to pull out the client certificate -- sure,
it is in 'peer' item, but *which* of the fields.. (see smtptls.c)
I don't have (myself) any personal "official" client certificate,
which I could use to test the thing.
...
> > Yep, it isn't 0.9.2b, it is something towards 0.9.3 ...
>
> The bad thing is that "openssl/ssl.h" is hardcoded in smtpserver.h, so
> you cannot workaround with configure options. Ideally, configure should
> find the header file and set either -I$(openssl_prefix)/include or
> -I$(openssl_prefix)/include/openssl in the Makefile. smtpserver.h would
> only have "#include <ssl.h>".
I did consider that for about entire 2 minutes while reading
OpenSSL CVS sources a week ago. Now that 0.9.3a is out, the
point is moot in my opinnion:
OpenSSL CHANGES:
*) Change #include filenames from <foo.h> to <openssl/foo.h>.
[Bodo Moeller]
I would like to see that system to develope into such that
you can construct a packet with --prefix=/usr and have
everything drop into the standard environment without
hazzles.
Apparently I need to add some autoconfig tests to autodetect
the setup in that case -- AC_CHECK_HEADER(openssl/ssl.h) ?
I will put that into the TODO list.
> Another question: how do you actually use auth? Can you, e.g., require
> auth for a specific set of networks? How do you tell to the policy
> checker that if auth is used, then the source is "trusted"? Any docs?
Sorry, docs (manual) is way out of date..
The problem I begun to solve with the "AUTH LOGIN" facility
are people who are subscribers at our email services, and
who want to send email thru our outbound email relay server(s)
when they are traveling somewhere -- our local networks are
listed at the policy datasets allowing relaying, but when
they are somewhere else...
The policy code contains a simple test: "authentication has
been successfull ("authuser" variable is non NULL), allow
open relaying."
Thinking at that, I would like to offer to crypt the username
(and ident, and whois, and ..) so that with e.g. abuse evidence
containing those data, local sysadmin can decrypt the user info,
but other people can't deduce same information.
The crypted message should contain 'simple' authentication
items so that 1) each cryptogram is unique by virtue of e.g.
a timestamp, 2) it contains some sort of reference id to the
local system.
...
Damn, I just realized that I made ZMailer into a "forbidden to
(re-)export from USA" item, because now it contains hooks for
traffic encryption, never mind that it is a side result from
allowing secure "AUTH LOGIN" with plaintext passwords...
> Eugene
/Matti Aarnio <mea@nic.funet.fi>