On Fri, 2013-08-30 at 18:55 +0200, Dominick Grift wrote:
On Thu, 2013-08-29 at 12:01 +0000, fedorauser wrote:
> >> What avc messages are you seeing?
> >
> > As Dominick anticipated I got:
> >
> > avc: denied { name_bind } for pid=23725 comm="tor" src=9150
> > scontext=unconfined_u:unconfined_r:sandbox_net_client_t:s0:c353,c458
> >
> >
> tcontext=system_u:object_r:tor_port_t:s0 tclass=tcp_socket
>
> The quickest (but dirty) fix seams to be to configure TBB to bind to
> another port (I used 9152 instead of tcp/9150).
> Changing the SocksPort in TBB's torrc + nis_enabled works for me, but I
> will build a new sandbox domain anyway.
>
> In the end I'd like to have sandbox type that is able to run TBB out
> of the box without nis_enabled.
>
> (Why is 9150 in tor_port_t anyway? Tor uses 9050 by default. Are there
> other common configurations that use 9150 for tor?)
>
> I tried to create a copy of sandbox_net_t (with different name) by
> copying the "sandbox_net_client_t local policy" section from
> sandboxX.te [1] and the "sandbox_x_domain_template(sandbox_net)" -
> line, but failed (typeattribute line).
>
> What would be *the* way to create a (renamed) copy of sandbox_net_t?
> (I'd prefer just to create an exact copy instead of approximating the
> domain via audit2allow runs.)
I showed you in the video how to create custom sandboxes.
sandbox_net_t is just another sandbox with full network access as far as
i know
So the procedure is pretty much the same as my video
to grant full network access you would do probably something like this:
policy_module(mysandbox, 1.0.0)
sandbox_x_domain_template(mysandbox)
# the below grants pretty much full access to the tcp/udp network
gen_require(`
attribute port_type;
')
allow mysandbox_t self:tcp_socket create_stream_socket_perms;
allow mysandbox_t self:udp_socket create_stream_socket_perms;
allow mysandbox_t port_type:tcp_socket { name_connect name_bind };
allow mysandbox_t port_type:udp_socket name_bind;
#EOF
After that its pretty much the same procedure as i demonstrated in my
video
Well not quite, you probably also need to add stuff like this:
corenet_all_recvfrom_unlabeled(mysandbox_t)
corenet_tcp_sendrecv_generic_if(mysandbox_t)
corenet_tcp_bind_generic_node(mysandbox_t)
corenet_udp_sendrecv_generic_if(mysandbox_t)
corenet_udp_bind_generic_node(mysandbox_t)