[Info-vax] Restrict the use of SUBMIT/USER= to one particular user.
Joe
joslovefun at gmail.com
Thu Nov 10 11:37:27 EST 2016
On Wednesday, November 9, 2016 at 3:50:27 PM UTC+1, Stephen Hoffman wrote:
> On 2016-11-07 09:52:45 +0000, Joe said:
>
> > We have a set of application users who submit some application batches
> > on a specific user with the command SUBMIT/USER=APP$MGR. To perform
> > this, the application users are provided with CMKRNL privilege. I
> > notice at times some users use this privilege and submit some jobs
> > under SYSTEM user. What would be the best way to restrict this?I'm
> > thinking of a captive menu to get all the required details and validate
> > the user part and then submit in the background, is this a good idea?Do
> > we have any other option to restrict this easily?
>
> OpenVMS is just hilariously bad at this sort of stuff. There is no
> documentation for this task, and damned little support for this and
> related tasks in the provided APIs, there are no process- and
> job-related scheduling tools (queues stink at this), and multiple
> decades of various folks creating their own tools to deal with this
> task. With at least some of those tools likely vulnerable to attacks,
> too. (When auditing a system, always investigate site-local installed
> images and site-local server processes running with privileges, as
> they're quite often vulnerable to attack. These tools are a great
> spot to audit, as most folks are in a hurry to solve these issues, and
> the resulting source code can be less-than-hardened against unexpected
> input or output.)
>
> Okay, so changing your username can sometimes break some things,
> particularly on the fly. it just doesn't work very well. Auditors
> tend to have issues with shared usernames too, due to the issues around
> accountability; around the lack of accountability. Best not to give
> users a way to change users and to be exceedingly paranoid about what
> data is shared across usernames, as more than a few applications and
> parsers tend to have security bugs in these areas. Redirecting a log
> file or other such input or output can play havoc with a system, if the
> user can control where the privileged application writes that data or
> where the application reads data from, for instance. But there are
> tools to change usernames, and the persona system services can be used
> here to avoid some of the problems that older username-changing tools
> tended to have had.
>
> If you really need to change usernames, then there are ways...
>
> What you're doing is one approach; SUBMIT /USER_NAME. Usual approach
> is either an add-on submission tool — somebody in this thread has
> already commented on one in this thread, and Cerebrus is one package
> that's been posted to the OpenVMS Freeware — or to use a captive login
> with the necessary privileges, or to send a notification to a trusted
> server process — DCL or interpreted or compiled tools all work here —
> to start the server task under the target username, or work to avoid
> needing the user to even start the application under the specified
> username. Among other approaches. ssh, for instance, can use
> certificates and can trigger operations on remote hosts on request, and
> avoids exposing parts of your infrastructure communications as happens
> with DECnet or TCP. Depending on exactly what the task involves,
> sometimes a user-written system service UWSS or a device driver and ACP
> is appropriate, too.
>
> In general, I prefer to send a nudge to a server process to start the
> task, or to have the server task start itself on demand, or to have the
> server poll. Starting the task can use a captive login, or a mailbox
> message, or a network connection to the server, and I know some OpenVMS
> folks that swear by the use of the Freeware DELIVER tool or the
> execsymb tool.
>
> When looking at the more general problem of access, use of identifiers
> — on the queue in general, or on the queue and then via execsymb or
> otherwise — and on files and directories and mailboxes and such, and
> the use of subsystem identifiers, can variously entirely avoid needing
> to assign privileges and change usernames, too.
>
> I'm not aware of any OpenVMS documentation that particularly covers
> this or related tasks, nor that documents the options and alternatives
> and considerations involved with writing a secure server process,
> either.
>
> Topics related to this at HL:
> http://labs.hoffmanlabs.com/node/491
> http://labs.hoffmanlabs.com/node/1524
> http://labs.hoffmanlabs.com/node/652
> http://labs.hoffmanlabs.com/node/502
> http://labs.hoffmanlabs.com/node/712
> http://labs.hoffmanlabs.com/node/250
> http://labs.hoffmanlabs.com/node/78
> http://labs.hoffmanlabs.com/node/797 & http://labs.hoffmanlabs.com/node/916
> http://labs.hoffmanlabs.com/node/1349 (Some of the official doc looks wrong)
>
> ps: the dollar character is reserved to HPE, VSI and registered
> third-party products and packages. Unless you've registered APP$ with
> VSI, it's best to avoid using that. (OpenVMS lacks mechanisms to
> identify and secure and protect and isolate via certificates and GUIDs
> and related mechanisms to support application bundles/containers/jails,
> and thus depends entirely on everybody cooperating with this and other
> guidelines.)
>
> --
> Pure Personal Opinion | HoffmanLabs LLC
Thanks Hoff,
At this site, most of the application components are running under the user names similar to this ADP$MGR, IPS$MGR, WSI$MGR etc... We have already changed many of then but still quite a few are there.
More information about the Info-vax
mailing list