{"id":33377,"date":"2019-10-31T21:52:15","date_gmt":"2019-10-31T18:52:15","guid":{"rendered":"https:\/\/prohoster.info\/blog\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox\/"},"modified":"2019-10-31T21:52:15","modified_gmt":"2019-10-31T18:52:15","slug":"tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox","title":{"rendered":"Dettagli tecnici sulla recente disattivazione delle estensioni in Firefox","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Nota del traduttore: per comodit\u00e0 dei lettori, le date sono indicate secondo il fuso orario di Mosca.<\/i><\/p>\n<p>Recentemente abbiamo perso il termine di scadenza di uno dei certificati utilizzati per firmare le estensioni. Questo ha portato alla disattivazione delle estensioni per gli utenti. Ora, che per lo pi\u00f9 il problema \u00e8 stato risolto, desidero raccontare i dettagli di quanto accaduto e del lavoro svolto.\n<\/p>\n<p><b>Fondo: estensioni e firme<\/b><\/p>\n<p><noindex>Sebbene molti utilizzino il browser &#171;out of the box&#187;, Firefox supporta le estensioni chiamate &#171;componenti aggiuntivi&#187;. Grazie a queste, gli utenti possono aggiungere diverse funzionalit\u00e0 al browser. Esistono oltre 15.000 componenti aggiuntivi: da <a rel=\"nofollow\" href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/ublock-origin\/\">blocco della pubblicit\u00e0<\/a> fino a <a rel=\"nofollow\" href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/tree-style-tab\/\">gestione di centinaia di schede<\/a>.<\/noindex><\/p>\n<p>Le estensioni installate devono avere <a rel=\"nofollow\" href=\"https:\/\/blog.mozilla.org\/addons\/2015\/02\/10\/extension-signing-safer-experience\/\">una firma digitale<\/a>, che protegge gli utenti da estensioni dannose e richiede un controllo minimo delle estensioni da parte dei dipendenti di Mozilla. Abbiamo introdotto questo requisito nel 2015, poich\u00e9 riscontravamo <a rel=\"nofollow\" href=\"https:\/\/blog.mozilla.org\/addons\/2015\/04\/15\/the-case-for-extension-signing\/\">serissimi problemi<\/a> con estensioni dannose.<\/p>\n<p>Come funziona: ogni copia di Firefox contiene il &#171;certificato radice&#187;. La chiave di questo &#171;radice&#187; \u00e8 conservata in <a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Hardware_security_module\">un modulo di protezione hardware (HSM)<\/a>, non collegato alla rete. Ogni pochi anni, questa chiave firma un nuovo &#171;certificato intermedio&#187;, che viene utilizzato per firmare i componenti aggiuntivi. Quando uno sviluppatore invia un componente aggiuntivo, creiamo un &#171;certificato finale temporaneo&#187; e lo firmiamo utilizzando il certificato intermedio. Poi il certificato finale firma il componente stesso. Schematicamente <a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/files\/2019\/05\/Add-on-blog-post-visual-May-7-2019-768x859.png\">questo appare cos\u00ec<\/a>.<\/p>\n<p>Si noti che ogni certificato ha un &#171;soggetto&#187; (a chi \u00e8 emesso il certificato) e un &#171;emittente&#187; (chi ha emesso il certificato). Nel caso del certificato radice, il &#171;soggetto&#187; = &#171;emittente&#187;, ma per altri certificati l'emittente \u00e8 il soggetto del certificato superiore che lo ha firmato.<\/p>\n<p>Punto importante: ogni estensione \u00e8 firmata con un certificato finale unico, ma quasi sempre questi certificati finali sono firmati dallo stesso certificato intermedio.<\/p>\n<p><i>Nota dell'autore: eccezione per le estensioni molto vecchie. All'epoca venivano utilizzati vari certificati intermedi.<\/i><\/p>\n<p>Questo certificato intermedio ha causato problemi: ogni certificato \u00e8 valido per un periodo di tempo specifico. Prima o dopo questo periodo, il certificato non \u00e8 valido e il browser non utilizzer\u00e0 le estensioni firmate con questo certificato. Sfortunatamente, il certificato intermedio \u00e8 scaduto il 4 maggio alle 4 del mattino.<\/p>\n<p>Le conseguenze non si sono manifestate immediatamente. Firefox controlla le firme delle estensioni installate non in modo costante, ma circa una volta ogni 24 ore, e il tempo di verifica \u00e8 individuale per ogni utente. Di conseguenza, alcune persone hanno avuto problemi subito, altre molto pi\u00f9 tardi. Abbiamo appreso per la prima volta del problema circa nel momento in cui il certificato \u00e8 scaduto, e abbiamo subito iniziato a cercare una soluzione.<\/p>\n<p>\n<b>Ridurre i danni<\/b><\/p>\n<p>Non appena abbiamo capito cosa fosse successo, abbiamo cercato di evitare un ulteriore deterioramento della situazione.<\/p>\n<p>In primo luogo, abbiamo smesso di accettare e firmare nuove estensioni. Non ha senso utilizzare un certificato scaduto per questo. Guardando indietro, direi che avremmo potuto decidere di mantenere tutto come era. Ora la ricezione delle estensioni \u00e8 ripresa.<\/p>\n<p>In secondo luogo, abbiamo immediatamente inviato una correzione che ha impedito il controllo quotidiano delle firme. In questo modo, abbiamo salvato quegli utenti il cui browser non aveva ancora controllato le estensioni nelle ultime 24 ore. Ora questa correzione \u00e8 revocata, poich\u00e9 non \u00e8 pi\u00f9 necessaria.<\/p>\n<p>\n<b>Lavoro parallelo<\/b><\/p>\n<p>Teoricamente, la soluzione al problema sembra semplice: creiamo un nuovo certificato intermedio valido e risigniamo ogni estensione. Sfortunatamente, questo non funzioner\u00e0:\n<\/p>\n<ul>\n<li>non possiamo risignare rapidamente 15.000 estensioni contemporaneamente, il sistema non \u00e8 progettato per un carico del genere.\n<\/li>\n<li>dopo aver firmato le estensioni, le versioni aggiornate devono essere consegnate agli utenti. La maggior parte delle estensioni viene installata dai server Mozilla, quindi nelle prossime 24 ore Firefox trover\u00e0 gli aggiornamenti, ma alcuni sviluppatori distribuiscono estensioni firmate attraverso canali di terze parti, quindi gli utenti dovrebbero aggiornare manualmente tali estensioni.<\/li>\n<\/ul>\n<p>Invece, abbiamo cercato di sviluppare una correzione che raggiungesse tutti gli utenti, senza richiedere (o quasi senza richiedere) azioni da parte loro.<\/p>\n<p>Abbiamo rapidamente individuato due strategie principali, che abbiamo utilizzato in parallelo:\n<\/p>\n<ul>\n<li>Aggiornare Firefox per modificare il periodo di validit\u00e0 del certificato. Questo far\u00e0 s\u00ec che le estensioni esistenti funzionino di nuovo magicamente, ma richieder\u00e0 il rilascio e la distribuzione di una nuova versione di Firefox.\n<\/li>\n<li>Creare un certificato valido e in qualche modo convincere Firefox ad accettarlo al posto di quello esistente, la cui validit\u00e0 \u00e8 scaduta.<\/li>\n<\/ul>\n<p>Abbiamo deciso di utilizzare inizialmente la prima opzione, che sembrava essere piuttosto efficace. Alla fine della giornata, abbiamo rilasciato anche la seconda correzione (nuovo certificato), di cui parleremo pi\u00f9 avanti.<\/p>\n<p>\n<b>Sostituzione del certificato<\/b><\/p>\n<p>Come accennato sopra, era necessario:\n<\/p>\n<ul>\n<li>creare un nuovo certificato valido\n<\/li>\n<li>installarlo da remoto in Firefox\n<\/li>\n<\/ul>\n<p>Per capire perch\u00e9 questo funzionerebbe, esaminiamo pi\u00f9 nel dettaglio il processo di verifica dell'estensione. L'estensione stessa viene fornita come un insieme di file, inclusa la catena di certificati utilizzata per la firma. Di conseguenza, l'estensione pu\u00f2 essere verificata se il browser \u00e8 a conoscenza del certificato radice, che \u00e8 integrato in Firefox durante la costruzione. Tuttavia, come gi\u00e0 sappiamo, il certificato intermedio \u00e8 scaduto, quindi l'estensione non pu\u00f2 essere verificata.<\/p>\n<p>Quando Firefox tenta di verificare l'estensione, non si limita a utilizzare i certificati contenuti all'interno dell'estensione stessa. Invece, il browser cerca di creare una catena di certificati valida, partendo dal certificato finale e continuando finch\u00e9 non raggiunge la radice. Al primo livello iniziamo con il certificato finale e poi troviamo il certificato il cui soggetto \u00e8 l'emittente del certificato finale (cio\u00e8, il certificato intermedio). Di solito, questo certificato intermedio viene fornito insieme all'estensione, ma pu\u00f2 anche svolgere questo ruolo qualsiasi certificato presente nel keystore del browser. Se riusciremo a aggiungere da remoto un nuovo certificato valido al keystore, Firefox cercher\u00e0 di utilizzarlo. <a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/files\/2019\/05\/Add-on-blog-post-visual-2-May-7-2019.png\">La situazione prima e dopo l'installazione del nuovo certificato<\/a>.<\/p>\n<p>Dopo l'installazione del nuovo certificato, Firefox avr\u00e0 due opzioni durante il controllo della catena dei certificati: utilizzare il vecchio certificato non valido (che non funzioner\u00e0), oppure il nuovo certificato valido (che funzioner\u00e0). \u00c8 importante che il nuovo certificato contenga lo stesso nome del soggetto e la stessa chiave pubblica del vecchio certificato, quindi la sua firma sul certificato finale sar\u00e0 valida. Firefox \u00e8 abbastanza intelligente da provare entrambe le opzioni fino a quando non trova quella che funziona, quindi le estensioni torneranno ad essere verificate. Si noti che questa \u00e8 la stessa logica che usiamo per verificare i certificati TLS.<\/p>\n<p><i>Nota dell'autore: i lettori familiari con WebPKI noteranno che i certificati incrociati funzionano esattamente allo stesso modo.<\/i><\/p>\n<p>La cosa straordinaria di questa correzione \u00e8 che non richiede di risignare le estensioni esistenti. Non appena il browser riceve il nuovo certificato, tutte le estensioni ricominceranno a funzionare. Rimane la complessit\u00e0 di consegnare il nuovo certificato agli utenti (in modo automatico e remoto), oltre a costringere Firefox a ricontrollare le estensioni disabilitate.<\/p>\n<p>\n<b>Normandy e sistema di ricerche<\/b><\/p>\n<p>Ironia della sorte, questo problema \u00e8 risolto da un particolare componente aggiuntivo chiamato &#171;sistemico&#187;. Per condurre ricerche, abbiamo sviluppato un sistema chiamato Normandy, che invia ricerche agli utenti. Queste ricerche vengono eseguite automaticamente nel browser e hanno accesso esteso alle API interne di Firefox. Le ricerche possono aggiungere nuovi certificati al deposito di certificati.<\/p>\n<p><i>Nota dell'autore: non stiamo aggiungendo un certificato con privilegi speciali; \u00e8 firmato da un certificato radice, quindi Firefox si fida di esso. Stiamo semplicemente aggiungendolo al pool di certificati che possono essere utilizzati dal browser.<\/i><\/p>\n<p>Pertanto, la soluzione consiste nel creare una ricerca:\n<\/p>\n<ul>\n<li>che installa il nuovo certificato creato da noi sugli utenti\n<\/li>\n<li>che costringe il browser a ricontrollare le estensioni disabilitate affinch\u00e9 tornino a funzionare\n<\/li>\n<\/ul>\n<p>&#171;Ma aspetta&#187;, - direte voi, &#171;i componenti aggiuntivi non funzionano, come si avvia un componente aggiuntivo sistemico?&#187;. Lo firmeremo con un nuovo certificato!<\/p>\n<p>\n<b>Mettiamo insieme il tutto\u2026 perch\u00e9 ci vuole cos\u00ec tanto tempo?<\/b><\/p>\n<p>Quindi, il piano: rilasciare un nuovo certificato per sostituire il vecchio, creare un'estensione di sistema e installarla per gli utenti tramite Normandy. I problemi, come ho detto, sono iniziati il 4 maggio alle 4:00, e gi\u00e0 alle 12:44 dello stesso giorno, meno di 9 ore dopo, abbiamo inviato la correzione a Normandy. Ci sono volute altre 6-12 ore affinch\u00e9 arrivasse a tutti gli utenti. Gi\u00e0 non male, ma gli utenti su Twitter chiedono perch\u00e9 non abbiamo potuto agire pi\u00f9 rapidamente.<\/p>\n<p>In primo luogo, ci \u00e8 voluto tempo per rilasciare un nuovo certificato intermedio. Come ho gi\u00e0 accennato sopra, la chiave del certificato radice \u00e8 conservata in modo autonomo in un modulo di sicurezza hardware. Questo \u00e8 buono dal punto di vista della sicurezza, poich\u00e9 la radice \u00e8 usata molto raramente e deve essere protetta in modo affidabile, ma \u00e8 un po' scomodo quando \u00e8 necessario firmare urgentemente un nuovo certificato. Uno dei nostri ingegneri ha dovuto recarsi nel deposito HSM. Poi ci sono state tentativi falliti di emettere il certificato corretto, e ogni tentativo costava da una a due ore dedicate ai test.<\/p>\n<p>In secondo luogo, \u00e8 stato necessario un certo tempo per sviluppare l'estensione di sistema. Concettualmente \u00e8 molto semplice, ma anche i programmi semplici richiedono attenzione. Volevamo assicurarci di non peggiorare ulteriormente la situazione. La ricerca deve essere testata prima dell'invio agli utenti. Inoltre, l'estensione deve essere firmata, ma il nostro sistema di firma delle estensioni era disattivato, e abbiamo dovuto cercare una soluzione alternativa.<\/p>\n<p>Infine, dopo aver preparato la ricerca per l'invio, ci \u00e8 voluto tempo per il deployment. Il browser controlla la presenza di aggiornamenti di Normandy ogni 6 ore. Non tutti i computer sono sempre accesi e connessi a Internet, quindi ci vuole tempo affinch\u00e9 la correzione si diffonda tra gli utenti.<\/p>\n<p>\n<b>Passi finali<\/b><\/p>\n<p>La ricerca dovrebbe risolvere il problema per la maggior parte degli utenti, ma non \u00e8 disponibile per tutti. Alcuni utenti richiedono un approccio speciale:\n<\/p>\n<ul>\n<li>utenti che hanno disattivato la ricerca o la telemetria\n<\/li>\n<li>utenti della versione Android (Fennec), dove la ricerca non \u00e8 affatto supportata\n<\/li>\n<li>utenti di build personalizzate di Firefox ESR nelle aziende, dove non \u00e8 possibile attivare la telemetria\n<\/li>\n<li>gli utenti che si trovano dietro un proxy MitM, poich\u00e9 il nostro sistema di installazione delle estensioni utilizza il key pinning, che non funziona con tali proxy\n<\/li>\n<li>gli utenti di versioni obsolete di Firefox che non supportano gli aggiornamenti\n<\/li>\n<\/ul>\n<p>Non possiamo fare nulla per l'ultima categoria di utenti: dovrebbero comunque aggiornarsi all'ultima versione di Firefox, poich\u00e9 le versioni obsolete presentano gravi vulnerabilit\u00e0 non risolte. Sappiamo che alcune persone rimangono su versioni obsolete di Firefox perch\u00e9 vogliono eseguire vecchie estensioni, ma molte di queste estensioni sono gi\u00e0 state portate sulle nuove versioni del browser. Per gli altri utenti abbiamo sviluppato una patch che installer\u00e0 un nuovo certificato. \u00c8 stata rilasciata come un bugfix release (<i>nota del traduttore: Firefox 66.0.5<\/i>), quindi le persone lo riceveranno - probabilmente lo hanno gi\u00e0 ricevuto - tramite il normale canale di aggiornamento. Se utilizzi una build personalizzata di Firefox ESR, contatta il tuo mantenitore.<\/p>\n<p>Comprendiamo che tutto ci\u00f2 non \u00e8 ideale. In alcuni casi, gli utenti hanno perso i dati delle estensioni (ad esempio, i dati dell'estensione <a rel=\"nofollow\" href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1549204\">Multi-Account Containers<\/a>).<\/p>\n<p>Non siamo riusciti a evitare questo effetto collaterale, ma riteniamo di aver scelto la soluzione migliore per la maggior parte degli utenti nel breve termine. Nel lungo termine, cercheremo approcci architettonici alternativi e pi\u00f9 sofisticati.<\/p>\n<p>\n<b>Lezioni<\/b><\/p>\n<p>In primo luogo, il nostro team ha svolto un lavoro straordinario, creando e inviando una correzione in meno di 12 ore dall'individuazione del problema. Come persona che era presente durante le riunioni, posso dire che in questa situazione difficile le persone hanno lavorato molto duramente e si \u00e8 sprecato davvero poco tempo.<\/p>\n<p>\u00c8 evidente che tutto questo non sarebbe dovuto accadere. \u00c8 chiaro che dobbiamo rivedere i nostri processi per ridurre la probabilit\u00e0 di tali incidenti e rendere pi\u00f9 facile l'adeguamento alle conseguenze.<\/p>\n<p>La prossima settimana pubblicheremo un post-mortem ufficiale e un elenco delle modifiche che intendiamo apportare. Nel frattempo, voglio condividere i miei pensieri. In primo luogo, ci deve essere un modo migliore per monitorare lo stato di ci\u00f2 che pu\u00f2 essere una bomba a orologeria. Dobbiamo assicurarci di non trovarci in una situazione in cui una di esse esploda improvvisamente. Stiamo ancora lavorando sui dettagli, ma almeno \u00e8 necessario tenere traccia di tutte queste cose.<\/p>\n<p>In secondo luogo, \u00e8 necessario un meccanismo per la rapida consegna degli aggiornamenti agli utenti, anche quando - soprattutto quando - tutto il resto non funziona. \u00c8 stato fantastico poter utilizzare il sistema di \u00abindagini\u00bb, ma \u00e8 uno strumento imperfetto e presenta alcuni effetti collaterali indesiderati. In particolare, sappiamo che molti utenti hanno attivato gli aggiornamenti automatici, ma preferirebbero non partecipare alle indagini (devo ammettere che anche io le ho disattivate!). Allo stesso tempo, abbiamo bisogno di un modo per inviare aggiornamenti agli utenti, ma qualunque sia la realizzazione tecnica interna, gli utenti devono avere la possibilit\u00e0 di iscriversi agli aggiornamenti (compresi i correggimenti tempestivi), ma rinunciare a tutto il resto. Inoltre, il canale di aggiornamento deve essere pi\u00f9 reattivo di quanto non lo sia attualmente. Anche il 6 maggio c'erano ancora utenti che non avevano ricevuto n\u00e9 correzione n\u00e9 nuova versione. Su questo problema si stava gi\u00e0 lavorando, ma quanto accaduto ha dimostrato quanto sia importante.<\/p>\n<p>Infine, daremo un'occhiata all'architettura della sicurezza delle estensioni per assicurarci che garantisca un adeguato livello di sicurezza con il minimo rischio di rompersi.<\/p>\n<p>La prossima settimana esamineremo i risultati di un'analisi pi\u00f9 approfondita di quanto accaduto, ma nel frattempo sar\u00f2 felice di rispondere a qualsiasi domanda via email: ekr-blog@mozilla.com<\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/mozilla\/14982826\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430: \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u0430\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u043e \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430, \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u0445 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u0434\u0448\u0435\u0433\u043e \u0438 \u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435. \u041f\u043e\u0434\u043e\u043f\u043b\u0451\u043a\u0430: \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0425\u043e\u0442\u044f \u043c\u043d\u043e\u0433\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-33377","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430: \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u0430\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u043e \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0432 Firefox | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430: \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u0430\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u043e \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:52:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:15+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Dettagli tecnici sulla recente disattivazione delle estensioni in Firefox | ProHoster","description":"Nota del traduttore: per comodit\u00e0 dei lettori, le date sono indicate secondo l'ora di Mosca. Recentemente abbiamo perso il termine di scadenza di uno dei certificati utilizzati per firmare le estensioni.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0432 Firefox | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430: \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u0430\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u043e \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:52:15+00:00","article:modified_time":"2019-10-31T18:52:15+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33377","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 14:58:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:46:11","updated":"2026-01-21 14:58:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/33377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=33377"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/33377\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=33377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=33377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=33377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}