Gentoo Archives: gentoo-commits

From: "Davide Cendron (scen)" <scen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/it/hardened/selinux: hb-selinux-localmod.xml
Date: Wed, 19 Sep 2007 14:33:09
Message-Id: E1IXxhf-00034P-SR@stork.gentoo.org
1 scen 07/09/19 11:26:47
2
3 Added: hb-selinux-localmod.xml
4 Log:
5 Initial commit: version 1.0, revision 1.1 of EN CVS
6
7 Revision Changes Path
8 1.1 xml/htdocs/proj/it/hardened/selinux/hb-selinux-localmod.xml
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/it/hardened/selinux/hb-selinux-localmod.xml?rev=1.1&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/it/hardened/selinux/hb-selinux-localmod.xml?rev=1.1&content-type=text/plain
12
13 Index: hb-selinux-localmod.xml
14 ===================================================================
15 <?xml version='1.0' encoding='UTF-8'?>
16 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
17
18 <!-- The content of this document is licensed under the CC-BY-SA license -->
19 <!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
20
21 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/it/hardened/selinux/hb-selinux-localmod.xml,v 1.1 2007/09/19 11:26:47 scen Exp $ -->
22
23 <sections>
24
25 <version>1.0</version>
26 <date>2006-10-15</date>
27
28 <section>
29 <title>Introduzione</title>
30 <subsection>
31 <body>
32
33 <p>
34 Questa guida mostra come configurare un modulo di una politica in modo da
35 modificare localmente le regole di una politica.
36 </p>
37
38 </body>
39 </subsection>
40 </section>
41
42 <section>
43 <title>Preparazione</title>
44 <subsection>
45 <body>
46
47 <p>
48 Anzitutto occorre effettuare una copia del Makefile di esempio dalla cartella
49 dei documenti della politica di base (selinux-base-policy) nella cartella che
50 verrà utilizzata per costruire la politica. Si suggerisce di utilizzare la
51 cartella /root: la home directory del sysadm infatti è inclusa tra quelle in cui
52 lo strumento <c>semodule</c> cercherà i moduli delle politiche.
53 </p>
54
55 <pre caption="">
56 # <i>zcat /usr/share/doc/selinux-base-policy-20061008/Makefile.example.gz > /root/Makefile</i>
57 </pre>
58
59 </body>
60 </subsection>
61 </section>
62
63 <section>
64 <title>Scrivere un file TE</title>
65 <subsection>
66 <body>
67
68 <p>
69 Nei moduli delle politiche è possibile utilizzare la maggior parte delle
70 istruzioni di SELinux: occorre solamente aggiungere alcune istruzioni aggiuntive
71 per le operazioni specifiche.
72 </p>
73
74 <pre caption="Esempio di local.te">
75 policy_module(local,1.0)
76
77 require {
78 type sysadm_su_t, newrole_t;
79 }
80 allow sysadm_su_t newrole_t:process sigchld;
81 </pre>
82
83 <p>
84 Oltre alla regola permissiva di base (allow), queste esempio mostra alcune
85 istruzioni richieste dai moduli delle politiche. La prima consiste in una macro
86 policy_module() che indica il nome del modulo e la sua versione. E' presente
87 inoltre un blocco require, nel quale vengono specificati tutti i tipi richiesti
88 da questo modulo affinchè funzioni correttamente. Tutti i tipi utilizzati nel
89 modulo devono essere dichiarati al suo interno o esplicitamente richiesti.
90 </p>
91
92 </body>
93 </subsection>
94 </section>
95
96 <section>
97 <title>Scrivere un file FC (opzionale)</title>
98 <subsection>
99 <body>
100
101 <p>
102 Il contesto del file è opzionale e ha la stessa sintassi descritta nei capitoli
103 precedenti.
104 </p>
105
106 <pre caption="Esempio di local.fc">
107 /opt/myprogs/mybin -- system_u:object_r:bin_t
108 </pre>
109
110 <p>
111 I tipi utilizzati nei file di contesto dovrebbero venire richiesti o dichiarati
112 all'interno del file TE.
113 </p>
114
115 </body>
116 </subsection>
117 </section>
118
119 <section>
120 <title>Compilare i moduli delle politiche</title>
121 <subsection>
122 <body>
123
124 <p>
125 Per compilare tutti i moduli della directory occorre semplicemente eseguire il
126 comando <c>make</c>. Il modulo verrà compilato espressamente per la politica
127 corrente, come specificato in /etc/selinux/config.
128 </p>
129
130 <pre caption="">
131 # <i>make</i>
132 Compiling strict local module
133 /usr/bin/checkmodule: loading policy configuration from tmp/local.tmp
134 /usr/bin/checkmodule: policy configuration loaded
135 /usr/bin/checkmodule: writing binary representation (version 6) to tmp/local.mod
136 Creating strict local.pp policy package
137 </pre>
138
139 <p>
140 Per compilare moduli per una politica differente rispetto a quella configurata,
141 si utilizzi l'opzione <c>NAME=</c>.
142 </p>
143
144 <pre caption="">
145 # <i>make NAME=targeted</i>
146 Compiling targeted local module
147 /usr/bin/checkmodule: loading policy configuration from tmp/local.tmp
148 /usr/bin/checkmodule: policy configuration loaded
149 /usr/bin/checkmodule: writing binary representation (version 6) to tmp/local.mod
150 Creating targeted local.pp policy package
151 </pre>
152
153 </body>
154 </subsection>
155 </section>
156
157 <section>
158 <title>Caricare i moduli</title>
159 <subsection>
160 <body>
161
162 <p>
163 I moduli possono venire caricati nella politica correntemente configurata
164 semplicemente utilizzando il parametro load del Makefile.
165 </p>
166
167 <pre caption="">
168 # <i>make load</i>
169 </pre>
170
171 <p>
172 Il parametro load rispetta l'opzione <c>NAME=</c>; in alternativa, si può
173 ricorrere al comando <c>semodule</c> per caricare individualmente i moduli.
174 </p>
175
176 <pre caption="">
177 # <i>semodule -i local.pp</i>
178 </pre>
179
180 </body>
181 </subsection>
182 </section>
183
184 <section>
185 <title>Politica di riferimento per costruire nuovi moduli</title>
186 <subsection>
187 <body>
188
189 <p>
190 La nuova politica utilizzata da Gentoo è basata sulla <uri
191 link="http://oss.tresys.com/projects/refpolicy">Politica di riferimento di
192 SELinux</uri>. Per ulteriori informazioni su come costruire un modulo completo
193 per la politica di riferimento, si veda <uri
194 link="http://oss.tresys.com/projects/refpolicy/wiki/GettingStarted">Reference
195 Policy Wiki</uri>.
196 </p>
197
198 </body>
199 </subsection>
200 </section>
201 </sections>
202
203
204 --
205 gentoo-commits@g.o mailing list