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/rsbac: quickstart.xml
Date: Thu, 08 Nov 2007 18:49:39
Message-Id: E1IqCRY-0003ar-EN@stork.gentoo.org
1 scen 07/11/08 18:49:32
2
3 Added: quickstart.xml
4 Log:
5 Initial commit: version 1.11, revision 1.11 of EN CVS
6
7 Revision Changes Path
8 1.1 xml/htdocs/proj/it/hardened/rsbac/quickstart.xml
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/it/hardened/rsbac/quickstart.xml?rev=1.1&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/it/hardened/rsbac/quickstart.xml?rev=1.1&content-type=text/plain
12
13 Index: quickstart.xml
14 ===================================================================
15 <?xml version='1.0' encoding="UTF-8"?>
16 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
17 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/it/hardened/rsbac/quickstart.xml,v 1.1 2007/11/08 18:49:31 scen Exp $ -->
18
19 <guide link="/proj/it/hardened/rsbac/quickstart.xml" lang="it">
20 <title>Rule Set Based Access Control (RSBAC) per Linux - Guida rapida
21 all'uso</title>
22
23 <author title="Autore">
24 <mail link="albeiro@××××××.pl">Michal Purzynski</mail>
25 </author>
26 <author title="Redazione">
27 <mail link="kang@g.o">Guillaume Destuynder</mail>
28 </author>
29 <author title="Traduzione">
30 <mail link="info@××××××××××××××.com">Franco Tampieri</mail>
31 </author>
32
33 <abstract>
34 Questo documento vi guiderà attraverso l'installazione di RSBAC sulla
35 distribuzione Gentoo Linux
36 </abstract>
37
38 <!-- The content of this document is licensed under the CC-BY-SA license -->
39 <!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
40 <license/>
41
42 <version>1.11</version>
43 <date>2006-02-15</date>
44
45 <chapter>
46 <title>Introduzione</title>
47 <section>
48 <body>
49
50 <p>
51 Questa guida vi aiuterà a installare RSBAC su Gentoo Linux. Si assume che
52 l'utente abbia già letto l'<uri
53 link="/proj/en/hardened/rsbac/intro.xml">Introduzione</uri> (in Inglese, ndt) e
54 la <uri link="overview.xml">Panoramica</uri>, così che egli sappia cos'è RSBAC
55 e quali sono i suoi concetti base.
56 </p>
57
58 </body>
59 </section>
60 </chapter>
61
62 <chapter>
63 <title>Installazione di un kernel che supporti RSBAC</title>
64 <section>
65 <title>Installare il kernel RSBAC</title>
66 <body>
67
68 <p>
69 Questo passo è abbastanza semplice e diretto, grazie al modo in cui Gentoo
70 tratta le installazioni del kernel. Iniziare con l'emerge del kernel
71 rsbac-sources da portage.
72 </p>
73
74 <note>
75 Ci sono due kernel rsbac-sources utilizzabili: uno è per il kernel 2.4, l'altro
76 è per il più recente kernel 2.6.
77 </note>
78
79 <pre caption="Installazione del kernel RSBAC (usando il profilo predefinito e
80 il kernel 2.6)">
81 # <i>emerge rsbac-sources</i>
82 </pre>
83
84 <pre caption="Installazione del kernel RSBAC (usando il kernel 2.4, dal profilo
85 Gentoo 2005.0)">
86 # <i>rm /etc/make.profile</i>
87 # <i>ln -s /usr/portage/profiles/default-linux/x86/2005.0/2.4/ /etc/make.profile</i>
88 # <i> echo "sys-kernel/hardened-sources rsbac" >> /etc/portage/package.use</i>
89 # <i>emerge hardened-sources</i>
90 </pre>
91
92 <impo>
93 Si raccomanda di abilitare il softmode per la prima compilazione di un kernel
94 RSBAC. Questo permette di disabilitare l'enforcement RSBAC al reboot, per
95 testare l'installazione o nel caso qualcosa vada male. Lo si disabiliti
96 solamente non appena si sia sicuri di quello che si sta facendo, o naturalmente,
97 per un kernel di produzione.
98 </impo>
99
100 </body>
101 </section>
102 <section>
103 <title>Configurare il kernel RSBAC</title>
104 <body>
105
106 <p>
107 Ora si configurerà il kernel. Si raccomanda di abilitare le seguenti opzioni,
108 nel menù "Rule Set Based Access Control (RSBAC)":
109 </p>
110
111 <pre caption="Configurare e compilare il kernel RSBAC">
112 <comment>Sezione "General RSBAC options"</comment>
113 [*] RSBAC proc support
114 [*] Check on init
115 [*] Support transactions
116 [*] Randomize transaction numbers
117 [*] RSBAC debugging support
118 (400) RSBAC default security officer user ID
119
120 <comment>Sezione "User management"</comment>
121 [*] User management
122 <comment>Assicurarsi di abilitare l'opzione SHA1 nelle Crypto API
123 Nella categoria "Cryptographic options" della configurazione generale del kernel,
124 si selezioni
125 [*] SHA1 digest algorithm
126 </comment>
127 [*] Use Crypto API Digest SHA1 (NEW)
128
129 <comment>Sezione "RSBAC networking options"</comment>
130 [*] RSBAC network support
131 [*] Net device control
132 [ ] Treat virtual devices as individuals
133 [*] Individual network device logging
134 [*] Net object control (sockets)
135 [*] Control UNIX address family
136 [*] Also intercept network object read and write
137 [*] Individual network object logging
138
139 <comment>(Non si abiliti l'opzione "RSBAC Maintenance Kernel", ma si usi il
140 softmode)</comment>
141
142 <comment>Sezione "Decision module (policy) options"</comment>
143 [*] Support for Registration of decision modules (REG)
144 [*] Build REG sample modules
145 ----------------------------
146 [*] RSBAC support for DAZuko policy <comment>(For malware/antivirus scanning)</comment>
147 DAZ Policy Options --->
148 (604800) Scanning result lifetime in seconds
149
150 <comment>Per ogni differente politica/modulo che si decide di supportare si deve
151 controllare la relativa protezione nel'AUTH module e nello User Management module</comment>
152 [*] RSBAC support for FF policy
153 [*] RSBAC support for RC policy
154 [*] RSBAC support for AUTH policy
155 <comment>Si disabiliti l'opzione learning per il kernel di produzione.
156 E' solamente usata durante il set-up di un sistema RSBAC dedicato.</comment>
157 AUTH Policy Options --->
158 [*] AUTH learning mode support
159 [*] RSBAC support for ACL policy
160 [*] RSBAC support for Linux Caps (CAP) policy
161 [*] RSBAC support for JAIL policy
162 [*] RSBAC support for PAX policy
163 [*] RSBAC support for System Resources (RES) policy
164
165 <comment>Sezione "Softmode and switching"</comment>
166 [ ] RSBAC policies switchable
167 [*] RSBAC soft mode <comment>(Turn that off on production kernels)</comment>
168 [*] Individual module softmode support
169
170 <comment>Sezione "Logging": tutto tranne l'opzione "Log to remote UDP network
171 socket" a meno che non si voglia loggare la macchina in remoto</comment>
172
173 <comment>Sezione "RSBAC symlink redirection"</comment>
174 [*] RSBAC symlink redirection
175 [*] Add remote IP address
176 [*] Add user ID number
177 [*] Add RC role number
178
179 <comment>Sezione "Other RSBAC options"</comment>
180 [*] Intercept sys_read and sys_write
181 [*] Intercept Semaphore IPC operations
182 [*] Control DAC process owner (seteuid, setfsuid)
183 [*] Hide processes in /proc
184 [*] Support freezing of RSBAC configuration
185 [*] RSBAC check sys_syslog
186 </pre>
187
188 <note>
189 Se si pensa di lanciare un server X Windows (come X.org o XFree86), si abiliti
190 anche <c>"[*] X support (normal user MODIFY_PERM access to ST_ioports)"</c>.
191 Vedere anche <uri link="/proj/it/hardened/hardenedxorg.xml">Usare Xorg su Gentoo
192 Hardened</uri>
193 </note>
194
195 <p>
196 Ora si configurerà PaX che è un complemento del kernel RSBAC hardened. Si
197 raccomanda inoltre di abilitare le seguenti opzioni, nella sezione "Security
198 options ---> PaX".
199 </p>
200
201 <pre caption="Configurazione delle ozioni PaX di kernel">
202 [*] Enable various PaX features
203 PaX Control --->
204 [*] Support soft mode
205 <comment>(Disabilitare questa opzione in un kernel di produzione)</comment>
206 [ ] Use legacy ELF header marking
207 [ ] Use ELF program header marking
208 Use ELF program header marking MAC system integration (direct) --->
209 (X) hook
210
211 Non-executable pages --->
212 [*] Enforce non-executable pages (NEW)
213 [*] Paging based non-executable pages
214 <comment>(Di solito si seleziona il metodo PAGEEXEC su x86 siccome supporta
215 i più recenti PaXs, o si seleziona SEGMEXEC nel caso si abbiano problemi)</comment>
216 [*] Segmentation based non-executable pages (NEW)
217 [*] Restrict mprotect()
218 [ ] Disallow ELF text relocations
219 <comment>(Questa opzione non è ancora sufficientemente stabile)</comment>
220
221 Address Space Layout Randomization --->
222 [*] Address Space Layout Randomization
223 [*] Randomize user stack base
224 [*] Randomize mmap() base
225 </pre>
226
227 <note>
228 Il riferimento per ulteriori informazioni è il link <uri
229 link="http://pax.grsecurity.net">PaX</uri>.
230 </note>
231
232 <note>
233 E' obbligario usare le utilità admin di RSBAC per gestire PaX con un kernel
234 dedicato RSBAC, in luogo di chpax o paxctl. Operando così si può facilmente
235 individuare l'oggetto PaX e di impostarne i flag.
236 </note>
237
238 <pre caption="Gestire i flag PaX">
239 # <i>rsbac_fd_menu /path/to/the/target/item</i>
240 o
241 # <i>attr_set_file_dir FILE /path/to/the/target/item pax_flags [pmerxs]</i>
242 </pre>
243
244 <p>
245 Giunti a questo punto si compila e installa il kernel scegliendo tutte le
246 rimanenti opzioni come si fa nel caso normale.
247 </p>
248
249 <impo>
250 Si raccomanda vivamente di compilare un secondo kernel senza le opzioni
251 softmode, e senza l'opzione AUTH, in maniera da poterlo usare in un ambiente da
252 produzione. Usarlo solo quando si è terminato il test e la configurazione delle
253 politiche, siccome rende impossibile disabilitare il sistema di controllo delle
254 politiche.
255 </impo>
256
257 </body>
258 </section>
259 </chapter>
260
261 <chapter>
262 <title>Installazione delle utilità admin di RSBAC</title>
263 <section>
264 <body>
265
266 <p>
267 Per amministrare un sistema Gentoo con RSBAC abilitato, sono necessarie alcune
268 utilità userspace. Tali utilità sono presenti nel pacchetto rsbac-admin che
269 ovviamente deve essere installato.
270 </p>
271
272 <pre caption="Installazione delle utilità amministrative di RSBAC">
273 # <i>emerge rsbac-admin</i>
274 </pre>
275
276 <p>
277 Una volta installato, il pacchetto crea un nuovo utente del sistema (secoff, con
278 uid 400). Tale utente diventerà l'amministratore della sicurezza durante il
279 primo boot. E' l'unico utente in grado di cambiare la configurazione RSBAC, ed è
280 comunemente chiamato Security Officer.
281 </p>
282
283 <impo>
284 Naturalmente si deve scegliere una password <e>sicura</e> per l'utente secoff.
285 </impo>
286
287 <pre caption="Creazione della password per il Security Officer">
288 # <i>passwd secoff</i>
289 </pre>
290
291 </body>
292 </section>
293 </chapter>
294
295 <chapter>
296 <title>Il primo boot</title>
297 <section>
298 <body>
299
300 <p>
301 Durante il primo boot, il login nel sistema non è possible, a causa
302 dell'impostazione del modulo AUTH che <e>restringe</e> i privilegi dei
303 programmi. Per aggirare questo problema eseguire il boot in softmode usando il
304 seguente parametro del kernel (nella configurazione di lilo o grub):
305 </p>
306
307 <pre caption="Parametro del kernel per l'esecuzione in softmode">
308 <i>rsbac_softmode</i>
309 </pre>
310
311 <p>
312 L'applicazione di login gestisce tutti i login di utente del sistema. Essa ha
313 bisogno dei diritti necessari per eseguire il setuid, ed occorre procedere come
314 segue per fare sì che ciò avvenga:
315 </p>
316
317 <p>
318 Eseguire il login come Security Officer (secoff) e permettere i login mediante
319 il seguente comando:
320 </p>
321
322 <pre caption="Come permettere il login agli utenti">
323 # <i>rsbac_fd_menu /bin/login</i>
324 o
325 # <i>attr_set_fd AUTH FILE auth_may_setuid 1 /bin/login</i>
326 </pre>
327
328 <p>
329 Alternativamente, se il softmode non è abilitato, si può usare il seguente
330 parametro di kernel, per permettere il login al boot:
331 </p>
332
333 <pre caption="Come permettere il login utente con un parametro di kernel">
334 <i>rsbac_auth_enable_login</i>
335 </pre>
336
337 </body>
338 </section>
339 </chapter>
340
341 <chapter>
342 <title>Il modo Learning e il modulo AUTH</title>
343 <section>
344 <title>Creare un politica per OpenSSH</title>
345 <body>
346
347 <p>
348 Siccome non esiste una politica di gestione degli accessi (tranne quella
349 generata al primo boot), il modulo AUTH non permette di cambiare l'uid.
350 </p>
351
352 <p>
353 Grazie al modo learning intelligente è facile aggirare questo problema: il
354 modulo AUTH può generare "magicamente" in automatico la politica necessaria
355 osservando i vari servizi all'avvio, e annotando quali uid cercano di impostare.
356 Ad esempio per insegnare al modulo AUTH quali uid necessita l'sshd (il demone
357 di OpenSSH), procedere come segue:
358 </p>
359
360 <impo>
361 Assicurarsi che sshd o il demone su cui si vuole usare il modo learning non sia
362 già in esecuzione prima di abilitare il modo stesso.
363 </impo>
364
365 <pre caption="Creazione di una politica per sshd, usando il modo learning">
366 <comment>Abilitare il modo learning per sshd</comment>
367 # <i>attr_set_file_dir AUTH FILE `which sshd` auth_learn 1</i>
368
369 <comment>Lanciare il servizio</comment>
370 # <i>/etc/init.d/sshd start</i>
371
372 <comment>Disabilitare il modo learning</comment>
373 # <i>attr_set_file_dir AUTH FILE `which sshd` auth_learn 0</i>
374 </pre>
375
376 <note>
377 Si deve effettuare il login al sistema prima di disabilitare il modo learning,
378 perchè l'sshd tenterà di cambiare i suoi uid quando un qualsiasi utente effettua
379 il login.
380 </note>
381
382 <p>
383 Ora sshd dovrebbe lavorare così come richiesto, <e>congratulazioni</e>, si è
384 realizzata la prima politica :) La stessa procedura si può usare per definire la
385 politica di ogni altro demone.
386 </p>
387
388 <note>
389 Alternativamente all'abilitazione del modo learning per ogni demone che serve,
390 potrebbe essere necessario abilitare un modo learning globale (che apprenderà su
391 tutte le applicazioni in esecuzione globalmente, così come dice il nome).
392 </note>
393
394 <p>
395 Si può abilitare il modo learning globale passando il seguente parametro al
396 kernel durante il boot:
397 </p>
398
399 <pre caption="Abilitazione del modo learning globale">
400 <i>rsbac_auth_learn</i>
401 </pre>
402
403 </body>
404 </section>
405 </chapter>
406
407 <chapter>
408 <title>Ulteriori informationi</title>
409 <section>
410 <body>
411
412 <p>
413 Si raccomanda l'iscrizione alla <uri link="/main/it/lists.xml">mailing-list
414 gentoo-hardened</uri>. È una mailing list a basso traffico, e gli annunci
415 relativi a RSBAC per Gentoo saranno comunicati lì. Si raccomanda anche
416 l'iscrizione alla <uri
417 link="http://rsbac.org/mailman/listinfo/rsbac/">mailing-list RSBAC</uri>. Si può
418 anche dare un'occhiata alle <uri
419 link="/proj/it/hardened/hardenedfaq.xml">Domande frequenti su
420 Gentoo Hardened</uri> anche se quesiti importanti potrebbero già trovare
421 risposta in questo documento.
422 </p>
423
424 <table>
425 <tr>
426 <ti>Links:</ti>
427 <ti colspan="2">
428 <uri link="http://www.rsbac.org">Sito ufficiale di RSBAC</uri>
429 </ti>
430 </tr>
431 <tr>
432 <ti>Canali IRC:</ti>
433 <ti>
434 <uri link="irc://irc.freenode.org/gentoo-hardened">#gentoo-hardened</uri>
435 </ti>
436 <ti><uri link="irc://irc.freenode.org/rsbac">#rsbac</uri></ti>
437 </tr>
438 </table>
439
440 </body>
441 </section>
442 </chapter>
443 </guide>
444
445
446 --
447 gentoo-commits@g.o mailing list