-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 28/02/12 19:29, Carsten Krüger wrote:
> Hello David,
> 
>> The solution we've ended up with is a OpenVPN service helper which
>> runs some code parts with admin rights and the OpenVPN binary
>> itself (openvpn.exe) will run completely unprivileged.  Those two
>> instances will communicate via named pipes, to set up the proper
>> routes and other networking parameters.
> 
> Why named pipes?
> 
> Why don't extend this 
> http://openvpn.net/index.php/open-source/documentation/miscellaneous/79-management-interface.html
>
> 
that it works without admin privileges?

Heiko can probably give a much better answer, but if I remember right,
the argument was this:  Think of a multi-user setup (like a Terminal
Server), the management interface will be accessible for all users on
that server.

Named pipes will be available only for that single user, so the attack
vector in an abuse scenario, compared to the management interface, is
more limited.  And considering this pipe will do privileged network
setup, it should be restricted as much as possible.  I don't recall now
if there was even more restrictions you could apply to these pipes as well.

And how this is implemented, the OpenVPN Service will be started
automatically.  The GUI contacts the Service and the service starts the
OpenVPN process with the privileges of the GUI user (IIRC, it was some
neat Windows functions which allows to create processes with privileges
based upon the user credentials of the other side of the named pipe).
And again, the only code pieces in the Service are those related to
network configuration.  The rest of the Service code runs unprivileged.

This service should be able to (for now only in theory; it has not been
tested yet) handle more users simultaneously.

However, the management interface will be used in addition too, at least
in the very beginning, where the logging is transferred back to the GUI
and so on.  I don't recall now all the GUI would do via this interface.


kind regards,

David Sommerseth
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk9NIhAACgkQDC186MBRfrpPJwCfYlbHHIGZtb8TQj2v7ZJKCcxw
NFEAmQGuOczRPZzMswO5lDxJEdgtEDs+
=L5DL
-----END PGP SIGNATURE-----

Reply via email to