Bypass la firma GPG controlla solo un singolo repository


34

Ho letto il seguente articolo: Come posso bypassare / ignorare i controlli della firma gpg di apt?

Si delinea come configurare aptdi non controllare le firme dei pacchetti a tutti .

Tuttavia, vorrei limitare l'effetto di questa impostazione a un singolo repository (in questo caso ospitato localmente).

Cioè: tutti i repository ufficiali devono utilizzare la verifica della firma GPG, come al solito, tranne che per il repo locali .

Come potrei farlo?

In caso contrario, quale sarebbe il vantaggio (per quanto riguarda la sicurezza) di firmare i pacchetti durante una compilazione automatizzata (alcuni meta-pacchetti e alcuni programmi) e poi fare tutte leapt prescrizioni sicure ? Dopo tutto, l'host con il repository sarebbe anche quello su cui risiede la chiave segreta GPG.


A mio avviso, la firma automatica utilizzando una chiave online, benché tutt'altro che ideale, sarebbe strettamente migliore di non firmare affatto. Sarebbe anche molto più facile da configurare (non è necessario configurare ciascun client per rinunciare ai controlli) e molto più semplice passare a una configurazione migliore in seguito, se lo si desidera.
Celada,

@Celada: è un'opinione (che è "strettamente migliore") o c'è una logica per la tua affermazione? Sto chiedendo, perché finora non riesco a vedere un motivo per migliorare la sicurezza o qualsiasi altro aspetto. L'unica volta in cui questo sarebbe in qualche modo utile, sarebbe se avessi mai intenzione di pubblicare il mio repository, dopo tutto, no?
0xC0000022L

Ritengo tale opinione razionalmente :-) Se il repository è firmato, almeno i cattivi devono ottenere la chiave di firma, che probabilmente manterrai in un solo posto e probabilmente su una scatola di sviluppo, o almeno non leggibile dal Server HTTP. Altrimenti non esiste alcuna protezione. In altre parole, intendo solo dire che non ci sono svantaggi nella firma, quindi potresti anche firmare anche se il vantaggio è solo piccolo. E dal momento che sarebbe più facile da configurare, è quello che vorrei fare.
Celada,

@Celada: questo è un repository solo per uso locale. Chi sarebbe in grado di accedervi. Caso d'uso: un host con contenitori guest. Sia l'host che i container avranno accesso. Nessun accesso pubblico pianificato. Ma credo che aspetterò una risposta un po 'più a lungo e andrò per l'inevitabile (firma).
0xC0000022L

Abbastanza giusto, vedremo se qualcuno conosce la risposta alla tua domanda. Non so quale strumento intendi utilizzare per generare il repository, ma raccomando reprepro . Molti altri strumenti come dput(o qualunque altro Debian stesso usi) sono molto elaborati e sembrano un enorme sovraccarico per repository ad hoc solo locali.repreprosi occuperà di generare il repository con tutto il layout di directory e i file di indice corretti automaticamente senza la necessità di una grande installazione del server di database ... e firmerà anche il risultato senza praticamente alcun lavoro aggiuntivo da parte tua.
Celada,

Risposte:


48

Puoi impostare le opzioni in sources.list:

deb [trusted=yes] http://localmachine/debian wheezy main

L' trustedopzione è ciò che disattiva il controllo GPG. Vedi man 5 sources.listper i dettagli.

Nota: questo è stato aggiunto in apt 0.8.16 ~ exp3. Quindi è in wheezy (e ovviamente jessie), ma non spremere.


grazie mille. Questo era esattamente quello che stavo cercando. Confido che 1.0.1ubuntu2.7avrà già quella funzione, dato il suo numero di versione.
0xC0000022L

@ 0xC0000022L sì, dovrebbe.
derobert,

Questa è sicuramente la risposta migliore se hai bisogno di accedere ripetutamente a un repository non firmato, ci sono risposte aggiornate all'altra domanda collegata nella domanda originale qui che mostra come farlo temporaneamente per repository.
dragon788,

11

Per essere sicuro di visualizzare un avviso durante l'utilizzo di un repository non sicuro, utilizzare meglio allow-insecure = yes anziché come di seguito

deb [ allow-insecure=yes ] ...

Interessante, grazie per la tua risposta. Una piccola ma importante differenza davvero.
0xC0000022L
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.