All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Carter <jwcart2@epoch.ncsc.mil>
To: Daniel J Walsh <dwalsh@redhat.com>
Cc: Russell Coker <russell@coker.com.au>,
	Thomas Bleher <bleher@informatik.uni-muenchen.de>,
	SELinux <selinux@tycho.nsa.gov>
Subject: Re: can_network patch.
Date: Tue, 23 Nov 2004 13:52:14 -0500	[thread overview]
Message-ID: <1101235934.7273.24.camel@moss-lions.epoch.ncsc.mil> (raw)
In-Reply-To: <419CB2A8.7020504@redhat.com>

I am OK with what the changes do, but I would rather see a new macro
then to just remove the connect permission from can_network().

On the other hand, it looks like there is 119 uses of can_network() and
Dan is only adding 32 lines with connect permissions, so only 25% seem
to need the connect permisison.

Would anyone be upset if the functionality of can_network() changes?

Any comments?

On Thu, 2004-11-18 at 09:33, Daniel J Walsh wrote:
<snip>
> diff --exclude-from=exclude -N -u -r policy-1.19.2/macros/global_macros.te policy-1.19.2.good/macros/global_macros.te
> --- policy-1.19.2/macros/global_macros.te	2004-11-18 08:14:45.000000000 -0500
> +++ policy-1.19.2.good/macros/global_macros.te	2004-11-18 08:35:53.865768738 -0500
> @@ -118,64 +118,6 @@
>  
>  #################################
>  #
> -# can_network(domain)
> -#
> -# Permissions for accessing the network.
> -# See types/network.te for the network types.
> -# See net_contexts for security contexts for network entities.
> -#
> -define(`can_network',`
> -#
> -# Allow the domain to create and use UDP and TCP sockets.
> -# Other kinds of sockets must be separately authorized for use.
> -allow $1 self:udp_socket create_socket_perms;
> -allow $1 self:tcp_socket create_stream_socket_perms;
> -
> -#
> -# Allow the domain to send or receive using any network interface.
> -# netif_type is a type attribute for all network interface types.
> -#
> -allow $1 netif_type:netif { tcp_send udp_send rawip_send };
> -allow $1 netif_type:netif { tcp_recv udp_recv rawip_recv };
> -
> -#
> -# Allow the domain to send to or receive from any node.
> -# node_type is a type attribute for all node types.
> -#
> -allow $1 node_type:node { tcp_send udp_send rawip_send };
> -allow $1 node_type:node { tcp_recv udp_recv rawip_recv };
> -
> -#
> -# Allow the domain to send to or receive from any port.
> -# port_type is a type attribute for all port types.
> -#
> -allow $1 port_type:{ tcp_socket udp_socket } { send_msg recv_msg };
> -
> -#
> -# Allow the domain to send NFS client requests via the socket
> -# created by mount.
> -#
> -allow $1 mount_t:udp_socket rw_socket_perms;
> -
> -#
> -# Bind to the default port type.
> -# Other port types must be separately authorized.
> -#
> -#allow $1 port_t:udp_socket name_bind;
> -#allow $1 port_t:tcp_socket name_bind;
> -
> -# XXX Allow binding to any node type.  Remove once
> -# individual rules have been added to all domains that 
> -# bind sockets. 
> -allow $1 node_type: { tcp_socket udp_socket } node_bind;
> -#
> -# Allow access to network files including /etc/resolv.conf
> -#
> -allow $1 net_conf_t:file r_file_perms;
> -')dnl end can_network definition
> -
> -#################################
> -#
>  # can_sysctl(domain)
>  #
>  # Permissions for modifying sysctl parameters.
> diff --exclude-from=exclude -N -u -r policy-1.19.2/macros/network_macros.te policy-1.19.2.good/macros/network_macros.te
> --- policy-1.19.2/macros/network_macros.te	1969-12-31 19:00:00.000000000 -0500
> +++ policy-1.19.2.good/macros/network_macros.te	2004-11-18 08:35:53.865768738 -0500
> @@ -0,0 +1,103 @@
> +#################################
> +#
> +# can_network(domain)
> +#
> +# Permissions for accessing the network.
> +# See types/network.te for the network types.
> +# See net_contexts for security contexts for network entities.
> +#
> +define(`base_can_network',`
> +#
> +# Allow the domain to create and use $2 sockets.
> +# Other kinds of sockets must be separately authorized for use.
> +allow $1 self:$2_socket connected_socket_perms;
> +
> +#
> +# Allow the domain to send or receive using any network interface.
> +# netif_type is a type attribute for all network interface types.
> +#
> +allow $1 netif_type:netif { $2_send rawip_send };
> +allow $1 netif_type:netif { $2_recv rawip_recv };
> +
> +#
> +# Allow the domain to send to or receive from any node.
> +# node_type is a type attribute for all node types.
> +#
> +allow $1 node_type:node { $2_send rawip_send };
> +allow $1 node_type:node { $2_recv rawip_recv };
> +
> +#
> +# Allow the domain to send to or receive from any port.
> +# port_type is a type attribute for all port types.
> +#
> +ifelse($3, `', `
> +allow $1 port_type:$2_socket { send_msg recv_msg };
> +', `
> +allow $1 $3:$2_socket { send_msg recv_msg };
> +')
> +
> +# XXX Allow binding to any node type.  Remove once
> +# individual rules have been added to all domains that 
> +# bind sockets. 
> +allow $1 node_type:$2_socket node_bind;
> +#
> +# Allow access to network files including /etc/resolv.conf
> +#
> +allow $1 net_conf_t:file r_file_perms;
> +')dnl end can_network definition
> +
> +#################################
> +#
> +# can_tcp_network(domain)
> +#
> +# Permissions for accessing a tcp network.
> +# See types/network.te for the network types.
> +# See net_contexts for security contexts for network entities.
> +#
> +define(`can_tcp_network',`
> +base_can_network($1, tcp, `$2')
> +allow $1 self:tcp_socket { listen accept };
> +')
> +
> +#################################
> +#
> +# can_udp_network(domain)
> +#
> +# Permissions for accessing a udp network.
> +# See types/network.te for the network types.
> +# See net_contexts for security contexts for network entities.
> +#
> +define(`can_udp_network',`
> +base_can_network($1, udp, `$2')
> +')
> +
> +#################################
> +#
> +# can_network(domain)
> +#
> +# Permissions for accessing the network.
> +# See types/network.te for the network types.
> +# See net_contexts for security contexts for network entities.
> +#
> +define(`can_network',`
> +
> +can_tcp_network($1, `$2')
> +can_udp_network($1, `$2')
> +
> +#
> +# Allow the domain to send NFS client requests via the socket
> +# created by mount.
> +#
> +allow $1 mount_t:udp_socket rw_socket_perms;
> +
> +')dnl end can_network definition
> +
> +define(`can_resolve',`
> +can_udp_network($1, `dns_port_t')
> +allow $1 self:udp_socket connect;
> +')
> +define(`can_ldap',`
> +can_tcp_network($1, `ldap_port_t')
> +allow $1 self:tcp_socket connect;
> +')
> +
-- 
James Carter <jwcart2@epoch.ncsc.mil>
National Security Agency

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

  reply	other threads:[~2004-11-23 18:50 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-18 19:31 Adding alternate root patch to restorecon (setfiles?) Daniel J Walsh
2004-10-18 19:55 ` Stephen Smalley
2004-10-18 20:11   ` Daniel J Walsh
2004-10-18 20:51 ` Thomas Bleher
2004-10-19 13:33   ` Daniel J Walsh
2004-10-19 18:36     ` Luke Kenneth Casson Leighton
2004-10-19 18:26       ` Stephen Smalley
2004-10-19 20:27         ` Luke Kenneth Casson Leighton
2004-10-25 15:35       ` Russell Coker
2004-10-25 15:38   ` Russell Coker
2004-10-25 21:31     ` Thomas Bleher
2004-10-26 14:36       ` Russell Coker
2004-11-05 21:39         ` James Carter
2004-11-06  5:23           ` Remaining changes from my patch excluding can_network changes Daniel J Walsh
2004-11-08 17:33             ` Small patch to allow pam_console handle /dev/pmu Daniel J Walsh
2004-11-08 21:21               ` James Carter
2004-11-08 21:21             ` Remaining changes from my patch excluding can_network changes James Carter
2004-11-06  5:33           ` can_network patch Daniel J Walsh
2004-11-09 21:34             ` James Carter
2004-11-09 22:15               ` Daniel J Walsh
2004-11-06 10:40           ` Adding alternate root patch to restorecon (setfiles?) Thomas Bleher
2004-11-10 23:11           ` Patches without the can_network patch Daniel J Walsh
2004-11-10 23:38             ` Thomas Bleher
2004-11-17 20:15             ` James Carter
2004-11-18 14:32               ` Daniel J Walsh
2004-11-18 19:43                 ` Thomas Bleher
2004-11-18 19:50                   ` Daniel J Walsh
2004-11-18 19:59                     ` Thomas Bleher
2004-11-19 22:05                 ` James Carter
2004-11-18 14:33               ` Daniel J Walsh
2004-11-23 18:52                 ` James Carter [this message]
2004-11-23 19:06                   ` Stephen Smalley
2004-11-23 19:37                     ` Daniel J Walsh
2004-11-23 20:07                       ` Stephen Smalley
2004-11-25 19:40                         ` Russell Coker
2004-11-26 11:55                           ` Daniel J Walsh
2004-11-24 16:22                   ` Daniel J Walsh
2004-11-24 16:39                     ` Stephen Smalley
2004-11-24 16:54                       ` Daniel J Walsh
2004-12-10 15:43                         ` Stephen Smalley
2004-12-10 17:06                           ` Daniel J Walsh
2004-12-10 17:10                             ` Stephen Smalley
2004-12-10 18:01                               ` Daniel J Walsh
2004-12-10 18:02                                 ` Stephen Smalley
2004-12-10 18:13                                   ` Daniel J Walsh
2004-12-10 18:11                                 ` Russell Coker
2004-12-10 19:11                                   ` Thomas Bleher
2004-12-10 20:23                                     ` James Carter
2004-12-10 21:39                                     ` Valdis.Kletnieks
2004-12-13 12:18                                       ` David Caplan
2004-12-10 21:01                                   ` Valdis.Kletnieks
2004-12-10 23:47                                     ` Russell Coker
2004-11-24 19:48                     ` James Carter
2004-11-24 20:24                       ` Daniel J Walsh
2004-11-30 21:19                       ` Reissue previous patch Daniel J Walsh
2004-12-02 13:54                         ` James Carter
2004-12-02 14:16                           ` Daniel J Walsh
2004-12-02 15:51                             ` Stephen Smalley
2004-12-02 18:35                               ` Daniel J Walsh
2004-12-02 17:51                             ` James Carter
2004-12-02 19:27                               ` Latest patch Daniel J Walsh
2004-12-03 13:40                                 ` James Carter
2004-11-17 23:35             ` Patches without the can_network patch Kodungallur Varma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1101235934.7273.24.camel@moss-lions.epoch.ncsc.mil \
    --to=jwcart2@epoch.ncsc.mil \
    --cc=bleher@informatik.uni-muenchen.de \
    --cc=dwalsh@redhat.com \
    --cc=russell@coker.com.au \
    --cc=selinux@tycho.nsa.gov \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.