outsourcing DCE/RPC to alternate programs - runtime config option

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sun Dec 12 12:16:13 GMT 2004


On Sun, Dec 12, 2004 at 01:07:52AM +0100, Jelmer Vernooij wrote:

> |>In Samba4 you would do this:
> |>
> |>	server services = rpc
> |>
> |>and this would make Samba only start the rpc server (so it would not
> |>start the builtin smb or ldap servers). It will only be listening on
> |>tcp ports 135 and 1024, plus any local rpc transports that are defined
> |>(such as /var/ncalrpc/DEFAULT and /var/ncalrpc/EPMAPPER) and any fixed
> |>ncacn_ip_tcp ports defined in the builtin IDL files.
> |

> |  [... me making stupid comments that make me feel sad...]
 
> I think what Tridge means is actually 'forwarding' the RPC data (for
> which Samba4 already has support, e.g. you can redirect a complete pipe
> to a remote server) instead of having a hack that bypasses the local
> endpoint and talks to a local pipe.

 is it possible to convey the security context that has been established
 up until that point?

 as explained yesterday, in TNG's ncalrpc implementation,
 the security context is conveyed by sending a few compulsory
 bytes that are a lookup into a table of security contexts (a tdb
 containing vuser_structs).


> |  i assume the samba 4 ncalrpc implementation is root-only-accessible, yes?
> Yes, at the moment.
> 
> |  or, did you find a solution to opening /var/ncalrpc/ local transports
> |  as ordinary users?
> We haven't looked at that yet though we will need to in the future -
> I've been working on some GUI utilities that need to talk to the local
> smbd somehow - ncalrpc would fit in perfectly here.

 you will need a _similar_ interface - one that can be accessed
 globally, where the default context is "anonymous" until proven
 otherwise.

 the purpose of the root-only-accessible ncalrpc transport is to provide
 communication optimisations *inside services running as root*.

 in other words, you don't want the headache of communicating
 between services over globally-accessible interfaces and
 having to prove authenticity once more, whether those interfaces be
 ncadg_ip_udp, ncacn_ip_tcp or ncacn_np or Other.

 and you _also_ need to add a "ncacn_ux" to the list of available
 transports just like there are ncacn_np etc listed above.



 it is vital that you do not confuse the roles of the two interfaces:
 they are mutually incompatible for the uses to which they are put.

 l.



More information about the samba-technical mailing list