[Info-vax] OpenVMS and Distributed Security (was: Re: ISS$_RIGHTS)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed May 1 12:25:31 EDT 2019


On 2019-05-01 15:06:05 +0000, Tim Lovern said:

> ...need to make a service impersonate the user executing it 
> remotely....  Any help would be great!

Yeah, I saw that you found $find_held and related.  That's one part of 
the puzzle, and will lead you to other parts on the path you're 
currently on.

Beware: binary identifier values don't map across systems, nor across 
clusters.  That detail is obvious in some contexts, but I've seen it 
bite folks in other contexts.

Now some details to ponder...

The OpenVMS hack-around for this approach has been the proxy database, 
and there are proxy databases for both IP and DECnet.   System services 
here include $DISPLAY_PROXY, among others.

This proxying is effectively what you're re-implementing here too, 
though apparently you're rolling your own and with mapping specific 
identifiers.  What you're doing can work, too.

LDAP and Kerberos would probably be the typical approach used here 
elsewhere.  This though OpenVMS is effectively not integrated with 
that; not with LDAP beyond passwords, and Kerberos integration is very 
old and very limited.  Probably also insecure too, but I've not checked 
the version of Kerberos against the CVE listings lately.  OpenVMS does 
have some LDAP calls available, but they're very rarely used, and the 
APIs are most aligned with to C, C++, Bliss and Macro32 calls.  See the 
Utility Routines Reference Manual for details on the LDAP calls, and 
see the Open Source Security Manuals for details on what documentation 
is available for Kerberos.

Another common approach for these delegations is certificate pairs 
either with ssh or SSL and possibly a certificate chain, and that also 
ties into authenticating and encrypting the connections, though 
connection authentication and encryption is still fairly rare among 
apps on OpenVMS, and OpenVMS itself.  OpenVMS lacks mechanisms for 
managing and storing certificates and passwords, beyond apps and 
OpenVMS itself dumping that data in various uncoordinated files 
scattered around.  Certificates can be used to avoid the obvious risks 
of proxying unauthenticated connections.

It's a little sad, watching somebody else also having to re-invent what 
are fundamental and basic security features of modern platforms, and 
this on "the most secure operating system on the planet".  And I've 
previously mentioned the problems with (lack of?) documentation around 
writing secure apps on OpenVMS, too.  Here we are again.  These sorts 
of apps can be quite subtle, and mistakes and vulnerabilities here can 
be nasty.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list