Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 112180 Details for
Bug 169469
[it] translated hardenedfaq.xml
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
hardened faq it translation
hardenedfaq.xml (text/plain), 18.04 KB, created by
Paolo Palana
on 2007-03-05 16:36:33 UTC
(
hide
)
Description:
hardened faq it translation
Filename:
MIME Type:
Creator:
Paolo Palana
Created:
2007-03-05 16:36:33 UTC
Size:
18.04 KB
patch
obsolete
><?xml version="1.0" encoding="UTF-8"?> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> > ><guide link="/proj/it/hardened/hardenedfaq.xml" lang="it"> ><title>Gentoo Hardened Frequently Asked Questions</title> ><author title="Autore"> > <mail link="tocharian@gentoo.org">Adam Mondl</mail> ></author> ><author title="Collaboratore"> > <mail link="solar@gentoo.org">solar</mail> ></author> ><author title="Collaboratore"> > <mail link="kang@gentoo.org">Guillaume Destuynder</mail> ></author> ><author title="Collaboratore"> > <mail link="pageexec@freemail.hu">The PaX Team</mail> ></author> ><author title="Traduttore"> > <mail link="nsr2@tiscali.it">Paolo Palana</mail> ></author> > ><abstract> >Domande che frequentemente occorrono sul canale IRC #gentoo-hardened e sulla >mailing list gentoo-hardened. > ></abstract> > ><version>1.9</version> ><date>2006-02-18</date> > ><chapter> ><title>Domande</title> ><section> ><title>Generali</title> ><body> > ><ul> > <li> > <uri link="#toolchain">Cos'è esattaemte una "toolchain"?</uri> > > </li> > <li> > <uri link="#whichisbetter">Come dovrei usare: grsecurity, RSBAC o > SELinux?</uri> > > > </li> > <li> > <uri link="#aclall">E' possibile usare grsecurity, RSBAC, SELinux e > PaX tutti contemporaneamente?</uri> > > </li> > <li> > <uri link="#hardenedcflags">E' necessario passare alcuni flags a LDFLAGS/CFLAGS > per abilitare la compilazione PIE/SSP?</uri> > > > </li> > <li> > <uri link="#hardenedcflagsoff">Come posso disabilitare la compilazione PIE/SSP?</uri> > > </li> > <li> > <uri link="#fsexec">La compilazione del mio kernel fallisce con l'errore"error: > structure has no member named `curr_ip'", come posso correggere ciò?</uri> > > </li> > <li> > <uri link="#hardenedproject">Ho appena scoperto il progetto hardened, devo > installare tutto quello che trovo sulla pagina del progetto prima di > installare Hardened Gentoo?</uri> > > </li> > <li> > <uri link="#Othreessp">Perchè i miei programmi non vanno quando uso > CFLAGS="-O3" e hardened gcc?</uri> > > </li> > <li> > <uri link="#cascadebootstrap">Che cosa è accaduto a bootstrap-cascade.sh?</uri> > > </li> > <li> > <uri link="#hardenedprofile">Come posso passare al profilo hardened?</uri> > </li> > <li> > <uri link="#hardeneddebug">Come faccio il debug con gdb?</uri> > </li> ></ul> > ></body> ></section> > ><section> ><title>PaX</title> ><body> > ><ul> > <li> > <uri link="#paxinformation">Qual'è l'homepage di PaX?</uri> > </li> > <li> > <uri link="#paxgentoodoc">Quale documentazione Gentoo esiste riguardo PaX?</uri> > </li> > <li> > <uri link="#paxnoelf">Continuo ad ottenere il messaggio: "error while loading > shared libraries: cannot make segment writable for relocation: Permission > denied." Che cosa significa?</uri> > > </li> > <li> > <uri link="#paxjava">Da quando ho iniziato ad usare PaX Java non funziona, > perchè?</uri> > > </li> ></ul> > ></body> ></section> > ><section> ><title>grsecurity</title> ><body> > ><ul> > <li> > <uri link="#grsecinformation">Qual'è l'home page di grsecurity?</uri> > </li> > <li> > <uri link="#grsecgentoodoc">Quale documentazione Gentoo esiste riguardo grsecurity?</uri> > </li> > <li> > <uri link="#grsec2681">Posso usare grsecurity con i kernel 2.6.8, 2.6.8.1, or 2.6.9?</uri> > </li> ></ul> > ></body> ></section> > ><section> ><title>RSBAC</title> ><body> > ><ul> > <li> > <uri link="#rsbacinformation">Qual'è l'home page di RSBAC?</uri> > </li> > <li> > <uri link="#rsbacgentoodoc">Quale documentazione Gentoo esiste riguardo RSBAC?</uri> > </li> > <li> > <uri link="#rsbacinitrd">Come usare un ramdisk iniziale con un kernel abilitato > per RSBAC?</uri> > > </li> ></ul> > ></body> ></section> > ><section> ><title>SELinux</title> ><body> > ><ul> > <li> > <uri link="#selinuxfaq">Dove posso trovare le FAQ relative a SELinux?</uri> > > > </li> ></ul> > ></body> ></section> ></chapter> > ><chapter> ><title>Domande Generali</title> ><section id="toolchain"> ><title>Cos'è esattamente una "toolchain"?</title> ><body> > ><p> >Il termine "toolchain" si riferisce ad una combinazione di pacchetti software >comunemente usati per costruire e sviluppare una particolare architettura. >La toolchain a cui ci si riferisce nel canale IRC gentoo-hardened consiste >di GNU Compiler Collection (GCC), binutils e della libreria GNU C (glibc). ></p> > ></body> ></section> > ><section id="whichisbetter"> ><title>Come doverei usare: grsecurity, RSBAC o SELinux?</title> ><body> > ><p> >La risposta a questa domanda è altamente soggettiva, così il progetto Gentoo >hardened tenta semplicemente di presentare ogni tecnologia e lasciare la scelta >all'utente. >Questa decisione ha richiesto molte ricerche che sono state fiduciosamente e >chiaramente inserite nella documentazione inerente l'hardened. >Tuttavia per qualsiasi domanda specifica riguardo i modelli di sicurezza che >ciascuno fornisce ci si senta liberi di interpellare gli svilupptori sul >relativo canale IRC o attraverso mailing list. ></p> > ></body> ></section> > ><section id="aclall"> ><title>E' possibile usare grsecurity, RSBAC, SELinux e PaX tutti >contemporaneamente?</title> ><body> > ><p> >Si, questa combinazione è possibile poichè PaX può lavorare con grsecurity, >RSBAC e SELinux. Il solo conflitto che si può verificare è che si può usare >un solo sistema di controllo degli accessi. ></p> > ></body> ></section> > ><section id="hardenedcflags"> ><title>E' necessario passare alcuni flags a LDFLAGS/CFLAGS per abilitare la >compilazione PIE/SSP??</title> ><body> > ><p> >No, la toolchain attuale implementa automaticamente l'equivalente di ><c>CFLAGS="-fPIE -fstack-protector-all" LDFLAGS="-Wl,-z,now -Wl,-z,relro"</c> >attraverso uno specfile di GCC che risulta essere una soluzione più >appropriata. Per vecchi utenti di hardened-gcc aggiungere <c>USE="hardened pic"</c> >al proprio <path>/etc/make.conf</path> e quindi procedere all'aggiornamento >con il seguente comando: ></p> > ><pre caption="Installazione dell' Hardened Toolchain"> ># <i>emerge --oneshot binutils gcc virtual/libc</i> ># <i>emerge -e world</i> ></pre> > ><note> >Gentoo si occuperà di applicare delle patch al relativo GCC per permettere che >gli specfiles possano essere passati attraverso variabili di ambiente. >Attualmente sono installati nel sistema Gentoo diversi tipi di specfile che >permettono agli utenti che utilizzano le architetture supportate di abilitare >o meno le funzionalità della toolchain in maniera semplice. >Per accedere gli specs come l'utente finale si può far uso dell'utilità >gcc-config. ></note> > ></body> ></section> > ><section id="hardenedcflagsoff"> ><title>Come posso disabilitare la compilazione PIE/SSP?</title> ><body> > ><p> >A tale scopo si può utilizzare <c>gcc-config</c>: ></p> > ><pre caption="Esempio di output di gcc-config"> ># gcc-config -l > [1] i686-pc-linux-gnu-3.4.4 * > [2] i686-pc-linux-gnu-3.4.4-hardenednopie > [3] i686-pc-linux-gnu-3.4.4-hardenednopiessp > [4] i686-pc-linux-gnu-3.4.4-hardenednossp > [5] i686-pc-linux-gnu-3.4.4-vanilla > ><comment>Per disabilitare la compilazione SSP passare al profilo hardenednossp:</comment> ># gcc-config i686-pc-linux-gnu-3.4.4-hardenednossp ></pre> > ><p> >Alternativamente si può raggiungere lo stesso risultato modificando CFLAGS: ></p> > ><p> >Per disabilitare la compilazione SSP, di default quando si usa l'hardened >toolchain, aggiungere <c>-fno-stack-protector-all -fno-stack-protector</c> alla >fine delle proprie CFLAGS. ></p> > ><p> >Se si vuole disabilitare la compilazione di default PIE aggiungere <c>-nopie</c> >alla fine delle proprie CFLAGS. ></p> > ><impo> >Il flag <c>-fno-pic</c> non dovrebbe essere usato perchè abilita il codice >non-PIC. Invece, usando <c>-nopie</c>, si ritorna al comportamento del vanilla >GCC che dovrebbe essere il risultato cercato. ></impo> > ><note> >Se si è interessati ad usare per-package CFLAGS con Portage allora è >interessante leggere a proposito di script solar sviluppato per lavorare con >questo: <uri>http://article.gmane.org/gmane.linux.gentoo.hardened/1204</uri> ></note> > > ></body> ></section> > ><section id="fsexec"> ><title>La compilazione del mio kernel fallisce con l'errore"error: > structure has no member named `curr_ip'", come posso correggere ciò?</title> ><body> > ><p> >Per utilizzare PaX su sorgenti hardened, è necessario abilitare grsecurity nella >configurazione del proprio kernel. Questo potrebbe essere corretto in future >versioni del kernel. ></p> > ></body> ></section> > ><section id="hardenedproject"> ><title>Ho appena scoperto il progetto hardened, devo installare tutto quello >che trovo sulla pagina del progetto prima di installare Hardened Gentoo?</title> ><body> > ><p> >No, il progetto Gentoo Hardened è una collezione di sottoprogetti che hanno >tutti come obbiettivo la sicurezza. Mentre molti di questi progetti posso >convivere l'uno al fianco dell'altro, alcuni sono in conflitto tra loro, come >molte delle implementazioni delle ACL messe a disposizione da Hardened Gentoo. ></p> > ></body> ></section> > ><section id="Othreessp"> ><title>Perchè i miei programmi non vanno quando uso CFLAGS="-O3" e hardened >gcc?</title> ><body> > ><p> >E' noto che l'utilizzo del flag di ottimizzazione <c>-O3</c> in molte situzioni >crea problemi al stack-smashing protector (SSP). Questo flag di ottimizzazione >non è ufficialmente supportato e quindi ne viene scoraggiato l'uso >dall'hardened team. >Compilazioni dove l'utente fa uso di <c>CFLAGS="-O3"</c> vengono chiuse come >INVALID/CANTFIX e/o ignorate. ></p> > ></body> ></section> > ><section id="cascadebootstrap"> ><title>Che cosa è accaduto a bootstrap-cascade.sh?</title> ><body> > ><p> >Recentemente i vecchi bootstrap.sh e bootstrap-2.6.sh sono stati deprecati. >Al loro posto bootstrap-cascade.sh è stato rinominato bootstrap.sh. ></p> > ></body> ></section> > ><section id="hardenedprofile"> ><title>Come posso passare al profilo hardened?</title> ><body> > ><pre caption="Impostare make.profile"> ># <i>cd /etc</i> ># <i>rm make.profile</i> ># <i>ln -s ../usr/portage/profiles/hardened/x86 make.profile</i> <comment>(Per i kernel 2.4)</comment> ># <i>ln -s ../usr/portage/profiles/hardened/x86/2.6 make.profile</i> <comment>(Per i kernel 2.6)</comment> ></pre> > ><p> >Dopo aver impostato il profilo bisogna ricompilare il proprio sistema >usando l'hardened toolchain in modo da avere una base consistente: ></p> > ><pre caption="Passaggio all'hardened toolchain"> ># <i>emerge --oneshot binutils gcc virtual/libc</i> ># <i>emerge -e world</i> ></pre> > ></body> ></section> > ><section id="hardeneddebug"> ><title>Come faccio il debug con gdb?</title> ><body> ><p> >La prima cosa da sottolineare è che GDB non può risolvere i simboli in PIEs; >non riesce a capire che gli indirizzi sono relativi in PIEs, non assoluti. >Questo si manifesta quando, per esempio, si tenta di fare un backtrace e viene >visualizzato un flusso di linee di '??' dove dovrebbero essere i simboli. ></p> ><p> >Per aggirare questo, eseguire la fase finale di linkaggio con <c>-nopie</c> >tutte le precedenti compilazioni possono ancora essere fatte normalmente >con <c>-fPIE</c> (i.e. di default con il compilatore hardened) In maniera tale >che il proprio eseguibile sia il più vicino possibile al caso reale, ma la >fase finale di linkaggio da origine ad un eseguibile normale. >E' possibile aggiungere <c>-nopie</c> alle LDFLAGS se si intende compilare >utilizzando emerge. ></p> ><p> >Un'altra maniera per fare ciò consiste nel fare l'emerge di >=sys-devel/gdb-6.3-r5, che contiene una patch particolare che rende possibile >il debug di eseguibili lincati con -pie ></p> ><p> >Il secondo punto è che PaX potrebbe impedire a GDB di creare breakpoints, a >seconda della configurazione del kernel. Questo include anche il breakpoint nel >main di cui si necessita come punto di partenza. Per impedire a PaX di >comportarsi in questo modo gli eseguibili da debuggare necessitano dei flag ><c>m</c> e <c>x</c>. IL flag <c>x</c> è settato di default, così è sufficiente >fare: > ></p> ><pre caption="Rilassare PaX per il debug"> ># <i>/sbin/paxctl -m foo</i> ></pre> ><p> >A questo punto si dovrebbe essere pronti per partire! Avviate gdb come sempre e >buona fortuna. ></p> ></body> ></section> > ></chapter> > ><chapter> ><title>Domande su PaX</title> ><section id="paxinformation"> ><title>Qual'è l'homepage di PaX?</title> ><body> > ><p> >L'home page è reperibile all'indirizzo <uri>http://pax.grsecurity.net</uri>. ></p> > ></body> ></section> > ><section id="paxgentoodoc"> ><title>Quale documentazione Gentoo esiste riguardo PaX?</title> ><body> > ><p> >Attualmente l'unica documentazione Gentoo riguardante PaX è la PaX >quickstart guide reperibile presso l'indirizzo ><uri>http://www.gentoo.org/proj/en/hardened/pax-quickstart.xml</uri>. ></p> > ></body> ></section> > ><section id="paxnoelf"> > ><title>Continuo ad ottenere il messaggio: "error while loading >shared libraries: cannot make segment writable for relocation: Permission >denied." Che cosa significa? </title> ><body> > ><p> >Questo errore si manifesta quando viene abilitato CONFIG_PAX_NOELFRELOCS >nel seguente modo: ></p> > ><pre caption="Opzione di Menuconfig"> >Non-executable page -> > > [*] Disallow ELF text relocations ></pre> > ><p> >Se si sta utilizzando la toolchain hardened la compilazione dei propri >programmi genererà librerie PIC ELF che non conterranno text relocations. >Tuttavia alcune librerie potrebbero ancora contenere text relocations per >diverse ragioni (spesso una è la presenza di codice assembly gestito in >maniera non corretta). Questo può rappresentare un punto di vulnerabilità >in quanto un attaccante potrebbe sfruttare librerie non-PIC per eseguire >il proprio shellcode. Librerie non PIC hanno anche un impatto negativo dal >punto di vista dell'uso della memoria visto che annullano la condivisione di >codice, obiettivo delle librerie condivise. ></p> > ><p> >Per eliminare questo errore e consentire ad i propri programmi di funzionare è >necessario sacrificare la sicurezza e consentire la generazione di codice a >runtime per quel programma. La caratteristica di PaX che consente di ottenere >ciò è chiamata MPROTECT. Si può disabilitare MPROTECT su qualsiasi >eseguibile che utilizzi librerie non-PIC. ></p> > ><p> >Per testare il proprio sistema per textrels si può utilizzare il programma ><c>scanelf</c> reperibile in <c>app-misc/pax-utils</c>. Per informazioni su >come usare il pacchetto <c>pax-utils</c> consultare <uri link="/proj/en/hardened/pax-utils.xml"> >la guida Gentoo a PaX Utilities</uri>. ></p> > ><note> >Le versioni più recenti di <c>sys-apps/portage</c>(>=2.0.53) operano controlli >riguardo alla text relocation e stampano un messaggio di attenzione oppure >interrompono il processo di merge a seconda delle <c>FEATURES</c> impostate nel >proprio <path>/etc/make.conf</path>. ></note> > ></body> ></section> > ><section id="paxjava"> ><title>Da quando ho iniziato ad usare PaX Java non funziona, perchè?</title> ><body> > ><p> >Come parte di questo progetto la Java virtual machine genera una quantità >considerevole di codice a runtime, cosa che non rende PaX felice. Ci sono due >maniere per correggere questo problema: ></p> > ><pre caption="Installiare Chpax"> ># <i>emerge chpax</i> ># <i>/etc/init.d/chpax start</i> ></pre> > ><p> >O se già si ha <c>chpax</c> installato si può dare: ></p> > ><pre caption="Opzioni Chpax per Java"> ># <i>chpax -pemrxs /opt/*-jdk-*/{jre,}/bin/*</i> ></pre> > ><p> >Entrambe queste opzioni modificano leggermente l' ELF header al fine di >impostare correttamente i falgs di PAX sui binari. ></p> > ><note> >Se si sta utilizzando PaX in conbinazione con ulteriori strumenti per la >sicurezza, come ad esempio RSBAC, grsecurity, o SELinux è necessario gestire >PaX attraverso l'utilizzo dei kernel hooks previsti per ogni >implementazione. ></note> > ><p> >Con RSBAC si possono etichettare tutti i file Java utilizzando il seguente >comando. ></p> > ><pre caption="Opzioni Pax per Java con RSBAC"> ># <i>for i in $(ls /opt/*(jdk|sdk)*/{jre,}/bin/*);do attr_set_file_dir FILE $i pax_flags pmerxs;done</i> ></pre> > ></body> ></section> ></chapter> > ><chapter> ><title>Domande su grsecurity</title> ><section id="grsecinformation"> ><title>Qual'è l'home page di grsecurity?</title> ><body> > ><p> >L'homepage di grsecurity è reperibile all'indirizzo ><uri>http://www.grsecurity.net</uri>. ></p> > ></body> ></section> > ><section id="grsecgentoodoc"> ><title>Quale documentazione Gentoo esiste riguardo grsecurity?</title> ><body> > ><p> >La documentazione più aggiornata su grsecurity è la Grsecurity2 quickstart >guide, reperibile all'indirizzo ><uri>http://www.gentoo.org/proj/en/hardened/grsecurity.xml</uri>. ></p> > ></body> ></section> > ><section id="grsec2681"> ><title>Posso usare grsecurity con i kernel 2.6.8, 2.6.8.1, or 2.6.9?</title> ><body> > ><p> >Sono stati apportati dei cambiamenti significativi nel kernel 2.6.8 che hanno >compromesso Pax, per i kernel 2.6.8.1 e 2.6.9 non sono diponibili patch ne per >per PaX ne per grsecurity. Anche se per il kernel 2.6.10 è disponibile una >patch sperimentale è bene prendere in considerazione la posizione ufficiale del >team PaX nei confronti del kernel 2.6 prima di utilizzarlo: ><uri> http://forums.grsecurity.net./viewtopic.php?t=968</uri>. > ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Domande su RSBAC</title> ><section id="rsbacinformation"> ><title>Qual'è l'home page di RSBAC?</title> ><body> > ><p> >L'homepage di RSBAC è reperibile all'indirizzo <uri>http://www.rsbac.org</uri>. > ></p> > ></body> ></section> > ><section id="rsbacgentoodoc"> ><title>Quale documentazione Gentoo esiste riguardo RSBAC?</title> ><body> > ><p> >Tutta la documentazione Gentoo inerente RSBAC è reperebile presso la pagina >del sottoprogetto RSBAC all'indirizzo ><uri>http://www.gentoo.org/proj/en/hardened/rsbac/index.xml</uri> > > ></p> > ><p> >Inoltre documentazione non-Gentoo su RSBAC può essere trovata nell'handbook >per RSBAC all'indirizzo <uri>http://www.rsbac.org/documentation/rsbac_handbook</uri> > ></p> > ></body> ></section> > ><section id="rsbacinitrd"> ><title>Come usare un ramdisk iniziale con un kernel abilitato per RSBAC?</title> ><body> > ><p> >Per usare un ramdisk iniziale con un kernel abilitato per RSBAC è necessario >abilitare una particolare opzione, altrimenti RSBAC tratterà l'initrd come >il root device: > ></p> > ><pre caption="Opzioni Menuconfig"> > [*] Delayed init for initial ramdisk ></pre> > ></body> ></section> ></chapter> > ><chapter> ><title>Domande su SELinux</title> ><section id="selinuxfaq"> ><title>Dove posso trovare le FAQ relative a SELinux?</title> ><body> > ><p> >FAQ specifiche per SELinux possono essere reperite all'indirizzo ><uri> >http://www.gentoo.org/proj/en/hardened/selinux/selinux-handbook.xml?part=3&chap=3</uri>. > ></p> > ></body> ></section> ></chapter> > ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 169469
: 112180