From: cpebenito@tresys.com (Christopher J. PeBenito)
Date: Tue, 14 Jul 2009 09:31:04 -0400
Subject: [refpolicy] Initial DKIM Milter policy from Russell Coker
In-Reply-To: <87vdmciee5.fsf@anzu.internal.golden-gryphon.com>
References: <87vdmciee5.fsf@anzu.internal.golden-gryphon.com>
Message-ID: <1247578267.31521.54.camel@gorn.columbia.tresys.com>
To: refpolicy@oss.tresys.com
List-Id: refpolicy.oss.tresys.com
On Wed, 2009-07-01 at 10:58 -0500, Manoj Srivastava wrote:
> Hi,
>
> This is from Russell Cokers policy for Debian systems.
We have a milter policy. Can this be updated to leverage
milter_template()?
> diff --git a/policy/modules/services/dkim.fc b/policy/modules/services/dkim.fc
> new file mode 100644
> index 0000000..a4d7846
> --- /dev/null
> +++ b/policy/modules/services/dkim.fc
> @@ -0,0 +1,6 @@
> +/etc/dkim(/.*)? gen_context(system_u:object_r:dkim_etc_t,s0)
> +/etc/dkim-filter.conf -- gen_context(system_u:object_r:dkim_etc_t,s0)
> +
> +/usr/sbin/dkim-filter -- gen_context(system_u:object_r:dkim_exec_t,s0)
> +
> +/var/run/dkim-filter(/.*)? gen_context(system_u:object_r:dkim_var_run_t,s0)
> diff --git a/policy/modules/services/dkim.if b/policy/modules/services/dkim.if
> new file mode 100644
> index 0000000..4ff2c40
> --- /dev/null
> +++ b/policy/modules/services/dkim.if
> @@ -0,0 +1,20 @@
> +## DKIM Milter - add and validate public key signatures on email
> +
> +########################################
> +##
> +## Connect to dkim-milter.
> +##
> +##
> +##
> +## Domain allowed to connect.
> +##
> +##
> +#
> +interface(`dkim_stream_connect',`
> + gen_require(`
> + type dkim_t, dkim_var_run_t;
> + ')
> +
> + stream_connect_pattern($1,dkim_var_run_t,dkim_var_run_t,dkim_t)
> +')
> +
> diff --git a/policy/modules/services/dkim.te b/policy/modules/services/dkim.te
> new file mode 100644
> index 0000000..62c9a64
> --- /dev/null
> +++ b/policy/modules/services/dkim.te
> @@ -0,0 +1,64 @@
> +
> +policy_module(dkim,1.0.0)
> +
> +########################################
> +#
> +# Declarations
> +#
> +
> +# Main dkim domain
> +type dkim_t;
> +type dkim_exec_t;
> +init_daemon_domain(dkim_t, dkim_exec_t)
> +
> +# configuration files
> +type dkim_etc_t;
> +files_type(dkim_etc_t)
> +
> +# pid files
> +type dkim_var_run_t;
> +files_pid_file(dkim_var_run_t)
> +manage_files_pattern(dkim_t, dkim_var_run_t, dkim_var_run_t)
> +
> +########################################
> +#
> +# dkim local policy
> +#
> +
> +allow dkim_t self:capability { setgid setuid };
> +allow dkim_t self:fifo_file rw_fifo_file_perms;
> +allow dkim_t self:unix_stream_socket create_stream_socket_perms;
> +allow dkim_t self:tcp_socket { listen accept };
> +files_search_tmp(dkim_t)
> +
> +# configuration files
> +allow dkim_t dkim_etc_t:dir list_dir_perms;
> +read_files_pattern(dkim_t,dkim_etc_t,dkim_etc_t)
> +read_lnk_files_pattern(dkim_t,dkim_etc_t,dkim_etc_t)
> +
> +manage_sock_files_pattern(dkim_t,dkim_var_run_t,dkim_var_run_t)
> +
> +corenet_all_recvfrom_unlabeled(dkim_t)
> +corenet_all_recvfrom_netlabel(dkim_t)
> +corenet_tcp_sendrecv_all_if(dkim_t)
> +corenet_tcp_sendrecv_all_nodes(dkim_t)
> +corenet_tcp_sendrecv_all_ports(dkim_t)
> +corenet_tcp_bind_all_nodes(dkim_t)
> +
> +dev_read_rand(dkim_t)
> +dev_read_urand(dkim_t)
> +
> +files_read_etc_files(dkim_t)
> +
> +libs_use_ld_so(dkim_t)
> +libs_use_shared_libs(dkim_t)
> +
> +logging_send_syslog_msg(dkim_t)
> +
> +miscfiles_read_localization(dkim_t)
> +
> +sysnet_dns_name_resolve(dkim_t)
> +
> +kernel_read_system_state(dkim_t)
> +kernel_read_sysctl(dkim_t)
> +kernel_read_kernel_sysctls(dkim_t)
> diff --git a/policy/modules/services/postfix.te b/policy/modules/services/postfix.te
> index 12aed73..d2f0a27 100644
> --- a/policy/modules/services/postfix.te
> +++ b/policy/modules/services/postfix.te
> @@ -245,6 +262,10 @@ allow postfix_cleanup_t postfix_spool_bounce_t:dir list_dir_perms;
>
> corecmd_exec_bin(postfix_cleanup_t)
>
> +# for milters - may be a bug in postfix
> +allow postfix_cleanup_t postfix_smtpd_t:fd use;
> +allow postfix_cleanup_t postfix_smtpd_t:unix_stream_socket { getattr read write };
> +
> ########################################
> #
> # Postfix local local policy
> @@ -554,6 +575,15 @@ optional_policy(`
> ')
>
> optional_policy(`
> + clamav_stream_connect(postfix_smtpd_t)
> +')
> +
> +optional_policy(`
> + dkim_stream_connect(postfix_smtpd_t)
> + dkim_stream_connect(postfix_cleanup_t)
> +')
> +
> +optional_policy(`
> sasl_connect(postfix_smtpd_t)
> ')
>
>
> --
> Someone will try to honk your nose today.
> Manoj Srivastava
> 1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
> _______________________________________________
> refpolicy mailing list
> refpolicy at oss.tresys.com
> http://oss.tresys.com/mailman/listinfo/refpolicy
--
Chris PeBenito
Tresys Technology, LLC
(410) 290-1411 x150