martedì 5 novembre 2013

Come costruire (e come non costruire) una funzione sicura "ricordati di me"



Ecco lo scenario - un utente accede al tuo sito web, torna domani e ... deve eseguire nuovamente il login.L'idea del "ricordati di me" - e diciamocelo, tutti abbiamo visto questo prima - è che il loro stato autenticato viene mantenuto al di là del campo di applicazione immediata di utilizzo. Che cosa questo significa è che si può chiudere il browser, spegnere il PC poi tornare domani o la prossima settimana o il mese prossimo o comunque molto più tardi si determina è un lasso di tempo ragionevole e il sito lo sa ancora chi sono e li offre tutte le stesse caratteristiche che avevano quando hanno lasciato.
Sto parlando di questo ragazzo poco qui:
"Resta collegato" da Facebook
Sembra facile, vero? Può essere, ma come vedrete non è inoltre raro fare un pasticcio assoluto di esso e anche quando non lo fanno bene, c'è una fila di persone pronte a dirvi come si è, infatti, non abbastanza giusto . Cominciamo con il proprio roba sbagliata e lavorare da lì.

Anti-modelli

Questo sembra ovvio, no? Voglio dire l'attuazione di una funzione di "ricordati di me" è abbastanza fondamentale, non è il genere di cose facilmente ottenuto sbagliato, no? Pare di no.
Vorrei condividere due anti-pattern e vedremo i problemi con loro prima di parlare di come farlo nel modo giusto. Il primo esempio viene fornito per gentile concessione di Black & Decker, che sarebbe la stessa B & D di recente ho scritto in sicurezza è difficile, l'insicurezza è facile . Ecco l'idea quando si effettua il login:
Accesso a Black & Decker
Questo è tutto abbastanza standard, il bit interessante viene dopo l'accesso Diamo uno sguardo ai biscotti:
Black & Decker biscotti
Questo è abbastanza impressionante serie di biscotti, ma è quelli evidenziati che sono veramente interessanti. Questi cookies non otterranno impostare se non si seleziona la casella "Ricordami" così la loro funzione è puramente password potrebbero tornare in seguito. Il mio indirizzo e-mail è abbastanza chiaramente in là, ma che non è la mia parola d'ordine, invece sembra essere una sorta di fortezza impenetrabile di crittografia ... appendere - che è la codifica Base64! La cosa di codifica Base64 è che è perfettamente completato da Base64 di codifica che significa che si può staccare, per un posto comebase64decode.org e fare questo:
Base 64 decodifica il cookie Black & Decker
Ora, non tutti usano Base64 come mezzo di "crittografia" (sì, alcune persone veramente fare questo ), e in effetti si tratta di un modo perfettamente legittimo di rappresentare i dati in un formato ASCII, la vera storia qui però è che questa è la mia password seduto lì nel mio browser in testo normale. Vi chiederete - perché questo è un problema? E 'nel proprio browser, giusto? In che modo un utente malintenzionato ottiene?
Ho intenzione di parlare di due modi molto semplici e il primo si riferisce al collegamento in precedenza circa l'insicurezza essere facile. Black & Decker erano esposti i registri ELMAH e in quei registri di stato ogni eccezione non gestita server interno, da qualche parte a nord di 50.000 di loro al momento ho riferito a loro. Quando ELMAH registra un'eccezione si registra anche tutte le intestazioni di richiesta che significa che i cookie sono registrati. Che si combinano con l'enorme numero di eccezioni non gestite essere generate dal sistema e ora avete un tesoro di credenziali utente. Sì, dovrebbero avere assicurato il loro log ELMAH correttamente per cominciare, ma si tratta di un buon esempio di come si può essere facilmente annullata da una semplice configurazione errata.
Ecco un altro:
Accesso a Aussie Agricoltori diretto
Questo è Aussie Agricoltori diretto ed è una abbastanza tipico log vedendo in forma. Facciamo il login, dirgli di "ricordati di me", poi dare un'occhiata ai biscotti:
Aussie Farmers cookie diretti
Oddio, di nuovo stesso problema, ma senza alcuna codifica Base64. In realtà questo è particolarmente grave perché si può fare cose come questa:
Biscotto impropriamente codificate su Aussie coltivatori diretti
XSS tuo biscotto JSON? Certo! L'altra peculiarità è che cambiando la password non cambia il cookie in modo da tornare al sito in seguito e si tenta di accedere in voi con quello vecchio. Oops.
Aussie Gli agricoltori diretti non hanno esposto i registri ELMAH (essendo sorta di PHP aiuta in questo!) Ma hanno altri rischi, quali XSS (per inciso, questo è stato divulgato in modo responsabile e il rischio sommariamente respinto - più volte). L'altra cosa su entrambi i siti di cui sopra è che quei biscotti che tengono le password non vengono contrassegnati come HttpOnly, si può vedere questo nella seconda colonna da destra nelle liste dei cookie. Che cosa questo significa è che lo script client può accedere a quei biscotti che significa che se si può ottenere un pezzo di XSS sul sito - così come è possibile sul sito Agricoltori australiano - è possibile rubare i cookie contenenti le password se è possibile ottenere un cliente di caricare il carico utile XSS (e ci sono molti modi per farlo). L'attributo HttpOnly manca è sciatto per conto di entrambi i siti, ma il nocciolo della questione è la memorizzazione delle password nei cookies che poi li rende vulnerabili tramite altre sviste.
C'è una ragione di più di fondamentale importanza perché entrambe queste pratiche sono negligenti, che stanno proteggendo le credenziali dei clienti utilizzati su altri siti. Ogni volta che un cliente che utilizza la funzione "ricordati di me" su uno dei siti di cui sopra fa una richiesta, c'è una buona possibilità che stanno inviando il nome utente e la password per la posta elettronica, il loro eBay o la propria banca attraverso il filo, a volte in pianura testo, a volte accessibile tramite script client, sempre seduto lì non protetto nel browser. password riutilizzo è dilagante e mentre quei dannati gli utenti dovrebbero prendere qualche sanguinosa responsabilità (sto parafrasando qui!), noi - come sviluppatori - dobbiamoriconoscere che siamo protezione molto più di nostro sito quando gestiamo credenziali.
Così che dovrebbe stabilire se vi sia un vero e proprio fraintendimento di come la funzione "ricordati di me" dovrebbe essere costruito, andiamo ora passare sulle buone pratiche.

Una implementazione di riferimento del campione

Uno dei mantra si sente spesso nel mondo della sicurezza è "non rotolare il proprio - utilizzare ciò che è già stato dimostrato di essere robusto". Questo è molto spesso applicato alla crittografia e schemi di autenticazione, ma in questo caso si può estendere questo per la caratteristica "ricordati di me", al fine di iniziare con una buona implementazione di riferimento prima di approfondire i dettagli.
In un nuovo sito Web ASP.NET MVC 4 provisioning con Visual Studio 2012 si ottiene questo diritto fuori dalla scatola:
Accesso a un'applicazione di esempio ASP.NET
Altri quadri hanno altri modi standard di implementazione di questa funzione, ma questo è un compito facile per me fare riferimento. Quando abbiamo Login con i campi come sopra (cioè non chiedendole di ricordarsi di me), risultati di autenticazione riusciti nel seguente biscotto da restituire:
path = /; HttpOnly
Questo è semplicemente un cookie di autenticazione e nel mondo senza stato che è HTTP è l'unico piccolo pezzo di dati che lega tutte le richieste altrimenti del tutto indipendenti da una persona insieme.Ogni volta che questo unico-a-me cookie viene inviato, il sito web sa che sono io e che ho già autenticato. Lo possiamo vedere po 'più chiaramente quando lo guardiamo nella raccolta Cookies di Chrome:
I cookie provenienti da un'applicazione di esempio ASP.NET senza la casella "Ricordami" controllati
Per inciso, il secondo cookie è un token antifalsificazione per prevenire attacchi CSRF e non ha nulla a che vedere con il nostro stato autenticato. Oltre a questo, non ci sono altri biscotti.
Vediamo ora il login e chiedere al sito di ricordare me, ecco la risposta di biscotto:
expires = Tue, 02-Jul-2013 00:27:05 GMT; path = /; HttpOnly
Aha - si vede che?! Si diventa più chiaro quando lo vedi suddiviso in Chrome:
I cookie provenienti da un'applicazione di esempio ASP.NET con la casella "Ricordami" controllati
Ora abbiamo una scadenza del cookie, che è di 48 ore da oggi al contrario di non avere scadenza del cookie che significa che verrà scartata quando il browser viene chiuso. Diamo uno sguardo più da vicino a questo.

Guardando auth cookie di scadenza

Questo è in realtà un ridicolmente facile costruire la sicurezza ed è solo alla luce degli esempi precedenti che mi piacerebbe anche pensare che vale la pena scrivere, ma qui siamo. In questa implementazione, il "Remember Me" si riduce semplicemente a quando il cookie di autenticazione scade, perché quello che stai facendo veramente qui è il controllo per quanto tempo si desidera che qualcuno a rimanere connesso per, è così semplice.
Nel precedente esempio, il default ASP.NET di utilizzare un cookie di sessione o in altre parole, un cookie che non ha una data di scadenza esplicita e sarà quindi forzatamente scade quando il browser viene chiuso. Questo è un approccio, un altro è impostare esplicitamente un breve periodo di scadenza in modo che, anche se il browser viene lasciata aperta l'utente verrà automaticamente disconnesso dopo un periodo di tempo. Naturalmente è anche possibile controllare questo comportamento sul server e si può anche tenere estendere la durata di un cookie di autenticazione se il sistema viene utilizzato attivamente dal server aumentando la data di scadenza sulla risposta.
Ricordando qualcuno può essere semplice come mantenere vivo il cookie auth. Quanto tempo dovrebbe essere mantenuto in vita per? L'esempio sopra il default è due giorni che è probabilmente un po 'corto per molti usi legittimi della funzione (anche se è facilmente configurabile in ASP.NET), prova a Facebook e anche se avrai i cookie che durano per un anno. Durata inferiore significa meno rischi ma più inconveniente, durata maggiore rende più facile per l'utente, ma aumenta la finestra di potenziale attacco. Diamo un'occhiata a questo rischio in modo più dettagliato.

Sfruttando stato di autenticazione di lunga durata

Mentre non si dispone dell'autenticazione, la sessione non può essere dirottato. Lo so, roba perspicace!Ma sul serio, prendere un caso come Aussie Agricoltori diretto di cui sopra; che cookie scadrà tra sei mesi e combinato con il fatto che non è contrassegnato come HTTP solo e che non hanno difetti XSS nel sito c'è ora una mezza finestra anno in cui solo a seguito di una link potrebbe causare me a consegnare inavvertitamente le mie credenziali per un attaccante. Se questo periodo è stato, diciamo, un mese sì, avrei ancora alcuni gravi difetti nel loro design, ma poi la finestra di opportunità per un attaccante è stato appena tagliato.
D'altra parte, Black & Decker ha un breve periodo di scadenza di una settimana rispetto così nel loro caso con i registri ELMAH a vista, sì, ci fu una serie di brutti errori da parte loro, ma a meno che qualcuno si era connesso con il "ricordati di me" casella evidenziata nella scorsa settimana e ha causato un'eccezione non gestita, le credenziali non sarebbero stati messi in mostra pubblica. Ok, se siete sul sito per cominciare c'è una buona possibilità che stai già effettuato l'accesso (almeno rispetto al caso di agricoltori in cui non si dovrebbe andare consapevolmente nessuna parte nei pressi del sito di perdere la tua password), ma si può vedere come tale profilo di rischio cambia con il periodo di scadenza dei cookie.
Naturalmente alla base di tutto questo è che il cookie auth deve essere attentamente tutelato; attributi HttpOnly e sicuro sono un must assoluto. Tutte le minacce classiche dirottamento restano pertinenti, ma poi di nuovo, ma si sezionare i questa funzione si sta andando a finire con una dipendenza biscotto quindi si sta andando ad avere bisogno di guardare molto, molto attentamente quei biscotti.
In definitiva si tratta di un compromesso che ha bisogno di prendere in considerazione fattori come il valore di un attaccante di dati dell'utente sul sito, la barriera che non viene autenticato pone a un utente di ritorno e il profilo di sicurezza del resto del sito. Per esempio, Facebook ha alcuni dati molto utili di carattere sociale e gli utenti si aspettano un basso attrito (anche senza processo-attrito) al ritorno, più che hanno fatto enormi investimenti nel loro profilo di sicurezza. Aussie Farmer'S, d'altra parte, contiene i dati di identificazione personale degli utenti più informazioni finanziarie al tempo stesso un servizio che le persone si aspettano per l'autenticazione (servizi di pagamento) hanno ancora una scarsa conoscenza di importanti concetti di sicurezza. Sono profili di rischio molto differenti e che dovrebbero essere molto diverse strategie di scadenza del cookie auth.

Rafforzare l'approccio

Ci saranno persone che guardano l'approccio cookie di autenticazione e roteare gli occhi in preda alla disperazione. La cosa di sicurezza è che c'è sempre un modo migliore a seconda del tempo / denaro / complessità che sei disposto ad aggiungere e c'è anche sempre qualcuno pronto a dirti che hai sbagliato!Utilizzando il cookie auth scadenza come punto di partenza, diamo un'occhiata ad alcuni possibili modi di rafforzare l'approccio.
Un argomento contro la lunga scadenza del cookie auth è che stanno efficacemente mantenendo l'utente autenticato e al rischio di attacchi come CSRF o clickjacking. Ovviamente l'applicazione deve esporre altri rischi in ordine per un utente malintenzionato di sfruttare la lunga durata dei cookie, ma l'intera difesa in profondità l'argomento viene in su di nuovo. Un'alternativa è quella di avere un biscotto dedicato calettata contro l'utente che dopo convalida l'autenticità di esso con il server, possono poi avviare una nuova sessione autenticata il loro ritorno. La sessione originale può quindi scadere rapidamente, il trucco è quello di ripristinare una nuova quando l'utente torna con il "ricordati di me" cookie dedicata e comprende alcuni convalida supplementare nel processo.
Un modo per fornire un'ulteriore convalida è includendo l'indirizzo IP dell'utente / user agent / altro segno distintivo del "ricordati di me" cookie. La logica è che questo offre una certa difesa contro dirottamento del cookie. Il problema, naturalmente, è che ci sono casi in cui tali cambiamenti uso legittimo. Nel mondo mobile, in particolare, non è raro per tornare a un sito con un IP diverso. Anche nel mondo delle connessioni fisiche non si può necessariamente fare affidamento su l'ISP fornisce un indirizzo IP statico. Per quanto riguarda gli interpreti, con browser come Chrome e Firefox l'aggiornamento a quello che sembra come ogni altro giorno, a meno che non sei un po 'selettivi su ciò che gli attributi della stringa user agent che stai memorizzare e confrontare che sta per essere un approccio rischioso. Le stesse difese intorno utilizzando attributi utente e uniche per aggiungere sicurezza sono spesso discussi nel contesto di sessione e cookie auth e mentre sono sicuro che ci sono casi di utilizzo validi per questo (torna al settore bancario di nuovo), non posso dire di ' ve effettivamente visto nel luogo in uno qualsiasi dei siti che ho provato prima. C'è probabilmente una buona ragione per questo ...
A mitigazione più pragmatico è quello di separare ancora il cookie auth da un "ricordati di me" cookie dedicato e utilizzare quest'ultimo per ri-autenticare l'utente , ma imporre alcune restrizioni . La realtà è che il processo di persistenza dello stato automaticamente autenticato di qualcuno - attraverso qualsiasi mezzo - introduce compromessi al modello di sicurezza. A mitigazione potrebbe essere quella di richiedere un utente automaticamente ri-autenticato per fornire espressamente le proprie credenziali di nuovo prima di visualizzare alcune categorie di dati o l'esecuzione di determinate attività. Questo non è inaudito anche al di fuori del campo di applicazione del "ricordati di me", si potrebbe vedere che durante l'esecuzione di attività di alto valore, come il bonifico bancario. In questo caso, stiamo dicendo che l'utente autenticato è più a rischio perché c'è più probabilità che non sono chi dicono di essere (cioè qualcun altro si è seduto al PC ed efficace highjacked una sessione).
L'altra tempra possiamo applicare a questo approccio è di assicurare che il cookie utilizzato per ricordare all'utente viene resettato dopo che è stata utilizzata. Questo significa anche invalidarla sul lato server in modo ci deve essere sia l'unicità e la persistenza del valore del cookie, ad esempio un nonce persisteva sia nel database e il cookie. Questo ha il vantaggio di garantire che, se il cookie viene ottenuto da un utente malintenzionato ha ha solo un unico ambito l'uso - e questo è se l'utente non può utilizzare legittimamente prima di loro. C'è un po 'di buona articolo qui che parla di alcune mitigazioni a questo modello e di nuovo, ci sono casi d'uso in cui questo può essere utile, ma che si sta per investire ulteriore sforzo costruirlo e ci sono casi in cui sarà utenti legittimi disagi (cioè cercando di ricordare te sullo stesso sito su più PC).
L'ultima cosa degna di nota è che gli stessi principi di gestione degli account che devono essere considerati per le sessioni autenticate attivi sono rilevanti nel "ricordati di me" contesto. Ad esempio, sono più sessioni autenticate contemporaneamente consentite da quello utente? Se l'utente cambia la password ti è scollegare le altre sessioni? Può un amministratore di terminare la sessione autenticata? Ci sono tutti i tipi di problemi che vengono in su che sono in realtà parte della discussione su come sessioni autenticate sono verificati e gestiti, la discussione qui è solo su come ripristinare quello.

Quando non si deve permettere "ricordati di me"? (E alcune alternative intermedia)

A volte semplicemente non ha senso per consentire a un utente autenticato di rimanere autenticato per lunghi periodi di tempo. Bancario, ad esempio, è il caso d'uso stereotipato per quando si desidera forzare una nuova autenticazione al più presto possibile in quanto i rischi sono troppo significativi per lasciare le sessioni del browser non utilizzati autenticate in giro il posto.
Ma vi è in realtà un po 'di terra di mezzo che può essere presa qui:
Una casella "ricordati di me" sul sito web American Express
Questo non è del tutto quello che sembra - quando si torna dopo una sessione scaduta, dove lei ha chiesto al sito di "Remember Me", otterrete questo:
Il sito American Express pre-popolare il nome utente sul ritorno
Ho non offuscato il nome utente, il nome utente come appare sopra le stelle sono memorizzati in un cookie che dura per tre mesi insieme ad alcuni altri dati che identificano inevitabilmente l'utente.Francamente, non vedo un sacco di valore in questo, ricordando il nome utente di solito non è il problema!
Ma, inoltre, non deve essere tutto o niente, non c'è via di mezzo. Ad esempio, il punto che ho fatto in precedenza su ri-autenticare prima di processi chiave vengono eseguite se la sessione fosse stata ripresa da una funzione di "ricordati di me". E 'un po' il meglio dei due mondi.

In conclusione ...

Questa è una di quelle caratteristiche che sembra una buona idea, al momento (e talvolta lo è) e di solito è molto facile da ottenere, almeno sufficientemente giusto per ogni uso. Francamente, è ancora un po 'sconcertante come sbagliato i due esempi precedenti si sono particolarmente se si considera che sarebbe stato sufficiente per estendere semplicemente la durata del cookie che già hanno!
L'altro punto di togliere da questo post di là solo la meccanica della funzione "ricordati di me": così la sicurezza è un multi-tiered, bestia come interdipendenti. Potreste essere in grado di cavarsela con le credenziali in cookie di per sé, ma che si combinano con la situazione ELMAH o mancanti solo HTTP attributi e difetti XSS e improvvisamente un sciocche seppur pratica relativamente innocuo diventa un rischio serio. Di che si trattava "difesa in profondità" di nuovo?!

Video: "Hack Yourself First" e altri suggerimenti di sicurezza per gli sviluppatori web

Un po 'di tempo fa ho scritto su Hacking se stessi prima e dettagliato un sacco di modi diversi per gli sviluppatori a cercare i rischi nelle loro applicazioni, si spera prima attaccanti li trovano prima. Sono molto entusiasta di questo approccio e credo che gli sviluppatori hanno bisogno di affinare le capacità di cyber-reato al fine di comprendere correttamente - e proteggere le loro applicazioni da - rischi sul web. C'è un mucchio di più contenuti provenienti da me in questo senso in una varietà di formati e oggi è un video di libera discussione su SSW TV .
Questi ragazzi fanno un po 'di ottimi video su vari argomenti di sviluppo che si trovano sul loro sito web gratis, tra cui anche il mio gruppo di utenti discorso sulla Protezione delle applicazioni web dalla tirannia del male con OWASP registrato lo scorso anno (di fatto a piedi attraverso la OWASP Top 10 per ASP.NET). Il video di oggi è una chat con SSW di Damian Brady e tocchiamo un mucchio di diverse problematiche legate al web, ASP.NET e la sicurezza in generale. Si tratta di un casual, discussione senza copione che contiene spera alcune informazioni utili per lo sviluppatore attento alla sicurezza.

Corso Visual Studio - Corso asp.net
Corso C# - Corso PHP - Corso Joomla - Corsi asp.net - Corso Java

lunedì 7 ottobre 2013

L'inutilità di sicurezza che è l'incorporazione di forme d'accesso sicure all'interno di pagine non sicure

Ho scritto un mucchio di contenuti intorno HTTPS ultimamente e la registrazione di video per dimostrare la facilità con cui le implementazioni insicure di SSL può essere rotto. Ad esempio, vi è stato il pezzo su cui non si può fidare loghi SSL , allora come caricando moduli di login su HTTP, ma annuncio a HTTPS è inutile e, più recentemente, perché quei avvertimenti contenuto misto significa guadagni facili per gli attaccanti sul layer di trasporto . Tutti questi implicano dimostrazioni di lavoro contro i siti reali che proprio non riesce quasi mai HTTPS.
L'esempio di oggi è su ciò che accade quando una pagina di login viene caricato in modo sicuro, anche se incorporato in una pagina non sicura.Questo è un comune di sicurezza anti-modello e vedrete che in molti siti. L'esempio nel video è da conto alla rovescia in Nuova Zelanda , ma ancora una volta, ci sono innumerevoli altri là fuori. Date un'occhiata al video e poi tornerò a come ho montato l'attacco:

Ha senso? In breve, non si può mai fidare della componente HTTP della comunicazione e senza la possibilità di vedere l'URL nel browser caricato su un indirizzo HTTPS con un certificato valido , l'implementazione SSL è quasi inutile.
La meccanica di come ho dimostrato attacchi contro l'uso insufficiente delle SSL comporta l'uso di script di Fiddler . Molti di voi potrebbero già avere familiarità con Fiddler , l'opzione di scripting ci dà la capacità di manipolare il traffico non crittografato sul filo proprio come un utente malintenzionato potrebbe in qualsiasi punto della rete di comunicazione. Chiaramente un attaccante, diciamo un ISP o l'esecuzione di un hotspot wireless canaglia non sarebbe in esecuzione Fiddler, ma la meccanica di manipolazione richieste e risposte è simile ad altri strumenti.
In questo esempio ho semplicemente aggiunto il seguente script in caso OnBeforeResponse:
se ( oSession . HostnameIs ( "www.countdown.co.nz" ) && oSession . PathAndQuery == "/" ) { 
    / / Rimuovere qualsiasi compressione o 
    

    

    Modificare il percorso di login 
    


    Impostare il corpo di risposta al mutato stringa corpo 
    oSession . utilSetResponseBody ( obody ); 
}

In altre parole, quando viene caricata la pagina iniziale è sufficiente sostituire il link al form di login da quello originale per uno dell'attaccante che sembra la stessa. Lavoro fatto.

giovedì 8 agosto 2013

Scansione di errori di configurazione della sicurezza dinamica con OnCheckin e ASafaWeb

Ecco la cosa per la sicurezza - non si può semplicemente "farlo" per passare poi. Cosa voglio dire con questo è che è un processo continuo e pensare che hai solo bisogno di implementare solo alcuni standard di codifica sicure o eseguire la scansione del sito web una volta prima di andare a vivere lascia un grande grande buco nel vostro processo.
Per esempio, l'altro giorno ho scritto su come l'insicurezza è facile in cui ho parlato di come Black and Decker erano esposti i registri ELMAH. Questo è il più piccolo di errori di configurazione che può facilmente accadere in qualsiasi momento, ma voleva dire che si è conclusa con le credenziali da una parte significativa della loro base di clienti accessibile al pubblico - ahi! Ok, questo ha coinvolto anche la memorizzazione delle password semplici testi in cookie al fine di facilitare la funzione "ricordati di me" (no, davvero), ma il punto è a quanto sia stato facile per fare un semplice cambiamento che soffiava un buco enorme nel fianco il loro profilo di sicurezza.
Questo mi porta al punto del post: errori di configurazione della sicurezza avviene ed è necessario iniziare la ricerca di esso botto dopo aver pubblicato il sito. Esposto ELMAH log è una cosa ma errata configurazione semplici modifiche di protezione si può rovinare il rilascio di un sito Web ASP.NET vanno ben al di là di quello; errori personalizzati, il rintracciamento, la convalida richiesta e il modo in cui i cookie sono configurati per citarne solo alcuni. Ognuno di questi può essere configurato in modo da lasciare un sito vulnerabile letteralmente in pochi secondi.
Per l'ultimo paio di anni ho fornito un servizio per rilevare questi problemi in un luogo vivo - ASafaWeb .La proposta di valore di ASafaWeb è sempre stata che su richiesta, è possibile eseguire la scansione del sito web in diretta ASP.NET e sarà riferire su questi errori di configurazione. Ora sono molto felice di condividere come ASafaWeb è stato integrato nel OnCheckin (da un'idea di Doug Rathbone ) per fornire la distribuzione continua di siti web ASP.NET come servizio basato su cloud.

lunedì 15 luglio 2013

Parlando con Scott Hanselman su honeypot, ananas e SSL

Per molti di voi, Scott Hanselman avrà bisogno di presentazioni ed è un volto molto familiare, la voce e scrittore. Tra le tante cose buone che Scott fa per sostenere la comunità di sviluppo web (e che non sono solo le persone di Microsoft o), è anche l'uomo dietro la Hanselminutes podcast di cui sono stato molto felice di unirsi a lui sul recente. In realtà questo rimane uno dei pochissimi podcast dove ho effettivamente ascoltare ogni episodio - a prescindere dalla rilevanza diretta per me - semplicemente perché è consegnato in un modo così professionale e so che ho intenzione di imparare qualcosa ogni volta.
Il podcast va sotto il titolo Sei sicuro? Gli honeypot WiFi, ananas e SSL con Troy Hunt , che è abbastanza auto-esplicativo. Come dice il titolo, abbiamo per lo più discutere i rischi presentati utilizzando wifi pubblico più l'importanza di HTTPS per quelli di noi che stanno costruendo applicazioni web. Vorrei condividere un certo materiale supplementare che ho sia toccato in quel discorso o saranno di pertinenza di ascoltatori interessati:
  1. SSL non è sulla crittografia
  2. OWASP Top 10 per gli sviluppatori NET parte 9:. Insufficiente Transport layer di protezione
  3. 5 modi per implementare HTTPS in modo insufficiente (e la perdita di dati sensibili)
  4. Proprio form di login messaggi a HTTPS, ma hai sprecata quando lo hai caricato su HTTP
  5. Guida ai principianti di rottura sito web di sicurezza con niente di più che un ananas
  6. Ananas Sorpresa! Mescolando i dispositivi di fiducia con subdolo Wi-Fi a # wdc13
C'è molto più contenuti collegati sotto di quelli, ma questo è un buon punto di partenza. Spero che ti piace il podcast!

giovedì 28 marzo 2013

Il fantasma che i codici: come anonimato è uccidendo la tua carriera di programmazione


Egli si nasconde in silenzio nel buio emerge solo a sfornare brevemente alcuni tag durante le ore lavorative. Non ha volto, nessun nome, nessun record. La sua unica arma è la sua parola. Egli è:

Il programmatore - "The Ghost Who Codici"

Questo non è il lavoro di fantasia, questi fantasmi a piedi in mezzo a noi, integrandosi perfettamente nel loro ambiente finché un giorno emergono, alla ricerca di un lavoro da qualche altra parte. E quando lo fanno, potenziali datori di lavoro cerca per loro e ... non può essere trovato. Ovunque.
Sì, il "Ghost Who Codici" è reale e si può anche essere uno di loro senza rendersi conto di quello che sta facendo per la tua carriera. Ma non è troppo tardi - si può ancora emergere dal buio ombra, ma deve essere fatto subito, non è qualcosa per ritardare.

Su Internet, nessuno sa che sei un cane (o un programmatore)

Il fumetto classico realizzato alla luce del fatto che Internet vi offre la possibilità di creare la propria identità, si può pretendere di essere chiunque (o altro) che si desidera. Un curriculum non è molto diverso, e questo è al centro di ciò che vuole ottenere a; CV in cui sono presentati i reclami, ma perché il candidato è un fantasma metaforico non esiste alcuna traccia di loro - non prova di loro - ovunque sul web. Forse questa è una cosa che ci si aspetta quando l'assunzione, per esempio, una battaglia di Gettysburg storico, ma è non è qualcosa che ci si aspetta quando assumere qualcuno in alta tecnologia online centro di un mondo che è l'industria del software.
Ecco di cosa sto parlando: un CV arriva e naturalmente si tratta di un conto incandescente di tutte le cose meravigliose che l'individuo ha fatto nel corso degli anni tra cui la loro grande esperienza in una vasta gamma di tecnologie e versioni. Ma è la loro versione della storia e, naturalmente, hanno abbellito le cose, per migliorare la loro negoziabilità o perché sono inconsciamente incompetenti (che non è destinato ad essere un commento dispregiativo, "tu non sai quello che non so"). Così come un datore di lavoro coscienzioso potenziale si cercano maggiori informazioni a sostegno della grande ricchezza di conoscenze del candidato promette di portare voi:
Si guarda per il loro profilo LinkedIn. C'è o non è uno o è una copia del CV e non riflette alcuna appartenenza al gruppo, le discussioni tra pari, specializzazioni, i collegamenti o qualsiasi tipo di coinvolgimento con la comunità del software.
E allora cercate un profilo di Stack Overflow. Nessuna fortuna lì, ci sono senza fare domande e senza risposte date. Non ho contribuito conoscenza né hanno cercata in qualsiasi attivo modo.
Forse hanno solo come mettere al canale Microsoft e hanno un profilo sano MSDN per la stessa ragione? Difficilmente.
Che ne dici di un account GitHub o la partecipazione in altre open source? No, niente neanche lì.
Forse un account Twitter o pubblico pagina Facebook per dimostrare il tipo di informazioni che ritengono rilevante in condivisione o addirittura contiene solo alcune delle loro intuizioni più spiritoso al punto e virgola rispetto al dibattito infuria punto e virgola non? Nope.
Ci potrebbe anche essere un account Disqus evidenziando il loro accordo (o meno) con una qualsiasi delle centinaia di migliaia di pezzi utili di materiale software di sviluppo del motore commento accompagna? Nessuna possibilità.
Un blog? Lascia perdere.
Ho intenzione di andare su un arto qui e dire questo: se questo si è, si potrebbe uccidere le vostre prospettive di carriera, perché dipinge un quadro molto sfavorevole. Vi spiego perché.

Gli sviluppatori di provata efficacia lasciare una traccia cartacea

Scott Hanselman li chiama gli sviluppatori di materia oscura , che costituiscono una parte significativa dell'universo ! eppure non li vedi nel suo solito modo affabile, Scott sottolinea che questi ragazzi sono probabilmente felici ottenere il lavoro fatto con il loro ASP.NET 1.1 e punzonatura quando l'orologio scandisce il passare del tempo a casa prima di fare una veloce ritirata, assumedly a qualche forma di non-programmatore basato sulle attività.
Va bene, ma queste non sono le persone con la passione. Sono anche lontano dalla più produttiva (si può immaginare non generici, nessuna pagina moduli web master, non MVC, nessun ORM, ecc) e non sta andando ad essere l'introduzione di ogni innovazione o contribuire molto per migliorare l'ambiente in cui lavorare in là forse di essere in buona compagnia.
Ma uno dei più grandi carenze con questo pubblico è che si sta lavorando in un vuoto. Che cosa succede quando vengono perplessi su qualcosa?Tutti si perplesso su qualcosa e di solito non è un fatto strano, la domanda è, che cosa succede quando lo fai? Chi sa riconoscere sono bloccati presto e entrare in contatto con la comunità per il supporto levate in piedi una significativamente migliore possibilità non solo di ottenere il problema risolto presto, ma probabilmente sempre fatto meglio pure. Naturalmente questo poi lascia una traccia cartacea per artisti del calibro di overflow dello stack.
Al contrario, è uno sviluppatore mai contribuire? Io direi che è ragionevole supporre che il 99% dei programmatori entrare in contatto con la comunità online per prendere informazioni quando sono bloccati (diciamocelo, Google è la prima tappa quando questo accade), ma il numero di restituire il favore? Queste comunità funzionare solo perché abbastanza persone sono disposte a dedicare competenze gratuitamente, cosa dice quando qualcuno non è disposto a farlo pur beneficiando del lavoro gratuito degli altri? Non sto dicendo che diventare Jon Skeet , ma andiamo, forse rispondere alla domanda strana, effettuare una modifica o lasciare un commento per migliorare il valore dei contenuti per gli sviluppatori futuri colleghi.
Quindi, che cosa dire di sviluppatori che non hanno questa traccia cartacea? Beh in primo luogo, sono quasi certamente passare più tempo sbattendo la testa contro il muro cercando di risolvere i problemi di quello che dovrebbero essere. Sono, inoltre, non indiscutibilmente con gli strumenti a loro disposizione in modo efficace - che stanno lavorando in modo meno efficiente di quanto necessario. Si potrebbe ragionevolmente estendere questo modo più insulare di lavorare oltre la semplice Q & A e, sono queste le persone attivamente alla ricerca di altri modi per migliorare le loro pratiche di sviluppo? Stanno seguendo quello che sta succedendo nel settore e portare questi miglioramenti in ufficio con loro?

"I migliori programmatori sono fino a 28 volte migliori dei peggiori programmatori"

Questo è da fatti ed errori di Ingegneria del Software , ed è estremamente importante per i datori di lavoro perché fa una grande differenza per il valore del loro investimento. E non fare errore su di esso, i dipendenti sono investimenti. Potrai leggere cose simili in The Mythical Man-Monthquando si parla di un gruppo di sviluppatori esperti:
Nel giro di questo gruppo i rapporti tra le prestazioni migliori e peggiori media di circa 10:1 sulle misure di produttività e un incredibile 5:01 sulla velocità del programma e le misure dello spazio!
Immagina che - essere in grado di ottenere un aumento del 5 o 10 volte il vostro investimento sviluppatore solo perché hai scelto la persona giusta! Ma non avete intenzione di ottenere che con gli sviluppatori che lavorano nel loro bozzolo proprio piccolo, almeno non da coloro che lavorano con le moderne tecnologie che si stanno evolvendo rapidamente. Questa è la proposta di valore molto importante per i datori di lavoro ed è per questo impegnata, acceso sviluppatori che sanno come sfruttare al massimo le risorse a loro disposizione sono così preziosi e quelli che non lo fanno, beh, non così tanto.
Molto è stato scritto sul processo di intervista programmatore, Joel Spolsky ha un pezzo eccellente su La Guida di Guerrilla Intervistare che è sempre un buon punto di partenza. Tutto questo è di cercare di estirpare il minore autore - quelli che sono del 10% o del 20% più efficace il loro acceso coetanei - e raggiungere la "crema". Tecniche di colloquio sono grandi, ma ci sono anche quelli che tenterà di "gioco" loro nella misura più ampia possibile. Io stesso ho ricordi di molti anni fa, di tutto quello che ho potuto diligentemente memorizzazione da alcuni libri di programmazione di grandi dimensioni in modo da poter ripetere questa conoscenza testualmente nelle interviste il giorno seguente.
Immaginate ora di essere in grado di avere qualcuno dire: "Ecco il mio repository GitHub pubblici, andare a dare un'occhiata". Supponendo che ci sia abbastanza in là per eliminare gli sviluppatori inserire la copia (e si può dimostrare che abbastanza facilmente), si aggiunge una dinamica meraviglioso per un colloquio. Si può effettivamente parlare di codifica pratiche nel contesto del lavoro vero e proprio! Diventa una discussione molto meno filosofica e in particolare una volta che c'è un po 'di storia anche lì che consente di godere di Insight non si può ottenere da discussioni o addirittura seduti il candidato verso il basso per una codifica test (e diciamocelo, quelle sono sempre un po 'stressante per il dev poveri).

Formazione? Grande, ma che cosa hai fatto in realtà?

Se venivo operato avrei voluto essere dannatamente sicuro che il chirurgo aveva alcune qualifiche gravi. Quando ho saltare su un aereo che voglio sapere il pilota è stato strenuamente testato, e molto di recente a questo. Ma quando assumo un codificatore il singolo fattore più importante è quello che hanno effettivamente conseguito e che posso verificare al di là del sentito dire che è un CV (o nella migliore delle ipotesi, un punto di riferimento). Gradi generici in discipline informatiche connesse dare assolutamente alcuna garanzia che qualcuno è uno sviluppatore di prima qualità e certificazioni semplicemente dimostrare che qualcuno è in grado di passare un corso.
Molti sostengono che queste cose aprire porte che altrimenti non sarebbero stati aperti senza di loro. Certo che dipende da chi sta aprendo la porta e quanto l'accento è posto sul lavoro burocratico a fronte di un track record verificabile. A mio avviso - e penso in modo abbastanza - che tanto più che il "vecchio guardia" mossa e quelle responsabili per l'assunzione sono sempre più della generazione internet, la messa a fuoco sta diventando un molto più pratico, basato sull'evidenza uno. Non potevamo davvero fare questo, anche un decennio fa. Possiamo ora.
Intendiamoci, niente di tutto questo è per dire non andare e di perseguire certificazioni istruzione terziaria o di guadagno, possono anche aiutare a sviluppare le abilità che è possibile utilizzare per fare effettivamente qualcosa . Ma fare in modo che "qualcosa" è in realtà fatto.
Ci è stato a lungo l'enigma tra quelli nelle fasi iniziali della loro carriera per quanto riguarda il modo in cui diventare occupabili senza avere un track record. L'istruzione era l'unica cosa che poteva contenere fino a una qualche forma di garanzia che non erano del tutto incompetenti. Questo non è più il caso - ora abbiamo tutti i canali citati in precedenza e francamente se qualcuno esce di tre anni più di istruzione terziaria in una disciplina di programmazione senza un profilo di Stack Overflow o un account GitHub o una scia di social media di Tech Talk, cosa mai ti hanno fatto?

Ma non tutto è perduto ...

Niente di tutto questo può mai importanti per te. L'utente non può essere messo in una posizione in cui sei o alla ricerca di un lavoro o sono in competizione con coloro che non sono fantasmi. Forse. Forse.
Ora, naturalmente, nulla di tutto questo significa che lo Spirito Chi Codici è disoccupato, lontano da esso, ma quando vengono messe accanto a qualcuno che sulla carta è uguale , tranne che hanno questa storia ricca e verificabili in modo indipendente dei contributi di impegno e di comunità poi c'è nessuna concorrenza. Che cosa significa è che non hanno altro che la loro parola su cui basare l'intera premessa del rapporto di lavoro e convincente come questo può essere, non è più sufficiente.
Ma la buona notizia è che se si vuole uscire dall'ombra è morto facile da iniziare e grandi cose possono accadere in tempi brevi. Prendere Iris Classon , dare un'occhiata a ciò che ha raggiunto in un breve 18 mesi. Non e '18 mesi di un programmatore esperto di tentare di costruire alcuni complimenti pubblici, questo è di 18 mesi che va da alcuna esperienza di programmazione a tutti a migliaia di seguaci, gli impegni di lingua multiple e la partecipazione in alcuni davvero ben considerati programmi. Che la dice lunga a un potenziale datore di lavoro che un CV di fantasia o su carta qualifiche non lo farà mai.
In definitiva, la mancanza completa di profilo pubblico non rende qualcuno un programmatore male. D'altra parte, un curriculum ricco di impegnarsi con la comunità, ponendo domande, dimostrando entusiasmo e partecipazione attiva nel settore vi consente di partire sanguinosa testa sulle i fantasmi.
Nota: Non mi è sfuggita che chi commenterà sono, per definizione, non i fantasmi mi riferisco! Coloro che commentare a nome dei fantasmi ulteriormente servire a mettersi là fuori sul facilmente rilevabile, pubblico cronologia :)

Fantasie Facebook: Premere piace e digitare il numero 1 e vedere cosa succede per l'immagine!


Ho visto alcuni di questi in giro ora, di solito con foto diverse, con una sorta di mistero:

Premere Come e digitare il numero 1 e vedere cosa succede per l'immagine!

La promessa implicita è di qualcosa di interessante accade una volta che hai cliccato sul pulsante mi piace e digitato il numero 1. C'era uno con una ragazza attraente e un quadrato sovrapposto sopra la sua spalla facendo il giro un po 'di tempo fa, troppo. Ho visto gli altri in cui le istruzioni sono più esplicite in termini di parole o frasi da digitare.
Ecco una buona domanda: che cosa di solito succede quando si piace e commentare qualcosa in Facebook? I numeri continuano a crescere (e si può vedere che sono già considerevole) e viene pubblicato sul tuo muro. Nulla di magico in questo e c'è sicuramente accadendo nulla di eccitante per le persone che rientrano in fila dietro le centinaia di migliaia prima di loro che sono già da aspettarsi seguito le istruzioni.
Allora qual è il rialzo per il manifesto originale della foto? Popolarità via piace e commenti. C'è una scienza dietro a tutto questo e dei volumi di certo grandi Mi piace, commenti e azioni è vantaggioso per percepito popolarità. Non è dannoso, in quanto non sta andando a servire malware o addebito sulla carta di credito, ma che implicitamente annunciare ai tuoi seguaci che sei ingenuo!
Oh, e quel buco grosso freakin 'nel terreno? E 'l'unica cosa in questa immagine, che è in realtà legittimo .


martedì 26 febbraio 2013

5 meraviglie in un minuto: Trovare nasties caricamento lazy con ANTS Profiler


Ci saranno quelli che sono in disaccordo con me (DBA hi!) Ma ORM totalmente rock. Oggetto Mappers relazionali sono stati intorno per un po 'di tempo e si può li riconoscerete dai nomi come LINQ to SQL, NHibernate e Entity Framework (tra gli altri). L'idea di ORM è che tutto l'impianto idraulico tra le entità in app e le entità del database può essere astratto in un quadro che sono gestite in modo che l'accesso ai dati può diventare un non sporca, senza fronzoli affare.
Come in molti modi automatici per costruire applicazioni, ORM hanno le loro insidie ​​e uno dei peggiori - e più comune - è il temuto "n +1" causata da lazy loading. Ecco come una condizione di n +1 si manifesta:
  1. È interrogare il database e tornare un po 'di record in una tabella (questa è una query)
  2. Nel codice applicazione, di leggere ogni record e si riferiscono a uno o più attributi che devono essere tirato da altre tabelle
  3. Ogni record provoca poi l'applicazione per andare fuori e fare un mucchio di altre query, al fine di recuperare gli attributi del punto precedente (il bit n)
Il bit lazy loading avviene a seguito di quella prima query restituisce solo l'entità e non tutti gli altri attributi per cui deve tornare per il terzo punto (scansafatiche). Pensate a come questo, prendiamo questa query:
SELEZIONA * FROM dbo . Prodotti
Ora l'immagine che ogni prodotto ha una categoria che viene normalizzato su un altro tavolo e si desidera visualizzare questo per gli utenti che significa che per ogni record si finisce per fare questo:
SELEZIONA * FROM dbo . Categorie WHERE IDCategoria = 1
SELEZIONA * FROM dbo . Categorie WHERE IDCategoria = 2
SELEZIONA * FROM dbo . Categorie WHERE IDCategoria = 3
E così via e così via. Questo accade facilmente, perché ORM sono così semplici da implementare e interrogare senza realmente vedere ciò che sta succedendo al di sotto in SQL Server. Ho visto casi in cui una singola pagina con 20 registrazioni su di esso stava facendo 2000 - sì, 2000 - query al DB. Lo sviluppatore non lo sapevo perché ancora una buona performance nei confronti di un piccolo insieme di dati in un DB locale con un singolo utente, ma modificare una qualsiasi di queste condizioni e le cose stanno andando ottenere molto brutto molto rapidamente.
Il problema è identificare un n +1 condizione in primo luogo, e c'è un certo numero di approcci a questo. L'altro giorno ho inviato alcuni suggerimenti di prestazioni rispetto alla Porta Rossa, che dove poi incluso nel loro libero (sì - gratis!) EBook dal titolo 50 modi per evitare, Individuazione e correzione di problemi di prestazioni ASP.NET . La punta di cui sto parlando qui è questa:
Sempre profilo vostri colpi di database con SQL Profiler ORM durante lo sviluppo. ORM scappare da te molto rapidamente. Prima che tu lo sai, hai eseguito una query di 2000 volte in un ciclo, quando si potrebbe avere recuperato tutti i dati con un colpo singolo database.
SQL Profiler è un modo di fare questo, ma un altro strumento che fa anche un grande lavoro di mettere in evidenza i vostri risultati del database èPrestazioni ANTS Profiler . In ANTS infatti fa un mucchio di altre cose molto utili che ottiene a destra sotto le coperte del vostro. App NET e le prestazioni dei profili fino a un livello di grana molto fine e lo rende morto semplice (un classico Red Gate Software tratto). Così semplice, infatti, che ho pensato che valeva la pena di aggiungere alla mia serie di cinque minuti si chiede perché vale la pena di un video (un video molto veloce), per dimostrare come funziona correttamente:


Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso asp.net
Corso C# - Corso PHP - Corso Joomla

martedì 5 febbraio 2013

Un nuovo Visual Studio Magazine




Benvenuti nel nuovo Visual Studio Magazine . Se siete stati qui prima, si sa che le cose sono radicalmente diverse. In caso contrario, beh, hai scelto il momento giusto per visitare.
Come potete vedere, il sito è molto più grafica di quanto non lo sia, e molto più colorata. In termini di navigazione, l'abbiamo spostato nella parte superiore del sito, piuttosto che il vecchio stile barra di navigazione a sinistra.
Abbiamo anche fatto un po 'di de-ingombrare. Abbiamo rotto i sei temi più popolari (secondo i nostri lettori) nella parte superiore, e altri nascosti. Questo è sempre un po 'un rischio, naturalmente, in quanto può significare più clic. Ma pensiamo che il design semplificato è più facile da usare.
Ciò non significa che tutti i tuoi preferiti, come colonne, se ne sono andati. Si noti la "Espandi menu per più argomenti" sopra le icone principali, e accanto al nome rivista: fare clic su quel link, e avrete tutta la copertura di altri argomenti a cui siete abituati.
Gli stessi articoli ora hanno caratteri più grandi, e sono più facili da leggere. Inoltre, non ci sono annunci più separati di frammenti di codice lunghe, tutto il codice è ora incorporata in ogni articolo, eliminando lo scatto necessario per portare il codice in una nuova finestra del browser, come una volta. E 'un cambiamento piccolo ma significativo, che rende la lettura degli articoli più semplice e veloce.
Abbiamo avuto un altro grande obiettivo di questa riprogettazione: per farlo funzionare meglio su dispositivi mobili come smartphone e tablet. Ora è possibile leggere Visual Studio Magazine , ovunque tu sia, e tutto in scala correttamente, non importa la dimensione dello schermo.
Ho appena colpito i punti alti qui, c'è molto di più di esplorare il nuovo sito. Prendete un po 'di tempo e fare clic su tutto, e imparare quello che abbiamo per voi.
E per favore fatemi sapere cosa ne pensate - soprattutto se qualcosa è rotto o non funziona correttamente. Come per tutte le modifiche di questa drammatica, ci saranno sicuramente i bug scoperti qua e là, quando il grande pubblico inizia ad usarlo.
Godetevi il nuovo sito web e tutto ciò che offre. Lo abbiamo ricostruito per voi.

lunedì 4 febbraio 2013

Freddo truffe virus chiamata sono ancora vivo e vegeto


I lettori abituali di questo blog avrebbe visto saghe come Anatomia di una truffa centro di virus chiamata , truffa i truffatori - catturare i truffatori call center virus in flagrante e il mio preferito, "www tipo." - "Ok, wwwdot"; inimicarsi chiamare truffatori centro . Questo non è un elenco esaustivo, in effetti ci sono altri video su questo blog e ancora più telefonate che non sono mai arrivati ​​qui.
Alcuni mesi fa ci fu un po 'di notizie in giro per il giro di vite sulle FTC queste truffe . Il problema è che la FTC ha circa pari a zero competenza in India, dove le truffe sono provenienti da! Essi hanno anche pari a zero competenza in nessuna parte che non è l'America così l'efficacia del "giro di vite" è improbabile che molta differenza. Di conseguenza, dovrebbe venire come nessuna sorpresa che, ancora una volta, questa sera ho goduto della compagnia di un paio di gentiluomini disposti a darmi una mano con il mio PC.
Come destinatario esperto di questa truffa tengo un pronto VM solo per tali eventi. Purtroppo, in questo caso ho avuto un gioco di tennis da raggiungere e francamente che era più importante allora ascoltare truffatori dall'altra parte del mondo. Li ho spinto più forte all'inizio di questo tempo e, inevitabilmente, ha appeso su, ma non prima di ascoltare la bava solito e esattamente lo stesso modus operandi, come al solito.
Se volete vedere questa truffa eseguire tutto il percorso attraverso a dove vogliono dollari (compresi averli controllare in remoto il mio PC), date un'occhiata al video Truffe truffatori (ottenere un buon drink e trovare una sedia comoda prima). Se si desidera solo per vedere come la truffa sembra ancora oggi, questo è quello che i miei compagni sono fino a:



giovedì 31 gennaio 2013

102 semplici passi per l'installazione e la configurazione di un nuovo computer Windows 8


Sicuro come notte si trasforma in giorno, prima o poi il vostro PC si scende in un irreversibile abisso cui non ha più gli stivali, rimane avviato o non può anche ottenere avviato per cominciare. Ho avuto la memoria vanno male, le schede madri muoiono, le CPU fritto, molti dischi meccanici sviluppare settori danneggiati e ora per la seconda volta, un SSD gradualmente si trasformano in niente di più che un fermacarte.
Ora ho una strategia di backup molto robusto che tornerò a (per gentile concessione di prima perdita di dati e decidere che non sarebbe successo di nuovo!), Ma che hanno un sicuro disco è qualcosa di più di un semplice ripristino da backup, si tratta di ricostruire il tutto dannata. Questo è il mio mondo perfetto scenario:
Ripristino di un iPhone da iCloud
Backup automatico giornaliero di tutto per iCloud poi un dispositivo smarrito o un aggiornamento significa solo l'autenticazione e l'attesa. Lavoro fatto.
Purtroppo questo non è il mondo dei PC in cui viviamo e in particolare per la gente come me coinvolti nella creazione di software, sempre da zero a dove eravate quando tutto è andato storto è molto esercizio di attrito elevato. Mi sa che è la parte migliore dello sforzo di una giornata per reinstallare, riconfigurare e ripristinare i file e sarete ancora trovare cose che mancano un mese dopo.
Ora potevo in realtà ancora schiavo del disco difettoso e leggere da esso (semplicemente non era stabile per il boot da), quindi in teoria avrei potuto usare del calibro di Acronis o fantasma per l'immagine del vecchio disco in quello nuovo e viola - la vecchia macchina è tornato. Il problema è che, però, si ottiene che inevitabilmente marciume OS attraverso installazioni continue, disinstallazioni, aggiornamenti dei driver, giocherellando in giro e in caso contrario solo facendo quello che noi sviluppatori tendono a fare. Una installazione pulita - anche se noioso - è un nuovo inizio.
Quindi per il mio vantaggio (perché so che è solo una questione di tempo fino a quando ho bisogno di fare questo di nuovo) e dimostrare i molti, molti, molti (etc) passi necessari per tornare a qualcosa chiudere (ma non esattamente) dove era prima che le cose sono andate male, ecco tutto il end-to-end

Installazione del sistema operativo

Questa è la parte più semplice, prevedibile!
  1. Scarica Windows 8 da MSDN (ma prima hai bisogno di una macchina che funziona davvero! )
  2. Fai una chiave USB avviabile (grazie alla guida di Scott Hanselman )
  3. Scollegare tutti i dischi esistenti in modo da non accidentalmente installare quella sbagliata!
  4. Avvio da USB e seguire le istruzioni (incluso il numero di riavvio 1 e riavviare il numero 2)
  5. Manualmente l'attivazione di Windows (non c'è un modo semplice quando il nome DNS non esiste )
L'installazione era in realtà molto veloce - 15 minuti da alcun potere a un sistema operativo completo di installazione, anche accidentale modalità di avvio USB dopo il primo riavvio. Non ascoltare le persone che dicono di Windows diventa solo più lento - non è vero!

Config e driver di Windows

Installazione - anche dal più recente Windows 8 immagine scaricata da MSDN oggi - non è la fine della storia. Ora arriva aggiornamenti, driver di periferica e fare un paio di altre opzioni di Windows.
  1. Prendete tutti gli aggiornamenti di Windows (29 di loro per un totale di 380MB, vi ringrazio molto, più riavvio numero 3)
  2. Eseguire nuovamente l'aggiornamento (altre 2 aggiornamenti)
  3. Prendi tutto il Win 8 aggiornamenti negozio (15 di loro è lì -? Abbiamo davvero bisogno di due modi diversi di aggiornamento)
  4. Prendi un Indice prestazioni Windows (8,2 processore, RAM 8,2, 8,1 grafica, 8,1 grafica di gioco, 8.1 HDD)
  5. Verificare la presenza di AMD Radeon 7970 driver video (rilevatore automatico dice tutto sia aggiornato)
  6. Catalyst Control Center
  7. Posizionare tutti i monitor al posto giusto
  8. Collegare la webcam Logitech e far vincere 8 installare i driver
  9. Installare IIS e client Telnet dalle caratteristiche di Windows

Scaricare e installare da MSDN

Ho un abbonamento MSDN cortesia delle persone molto gentili MVP di Microsoft in modo viene tirato l'ultima di ogni cosa di nuovo e reinstallato.I download sono abbastanza veloci in questi giorni e versioni incrementare così spesso non mi sia per installare da copie locali più.
  1. Ufficio (selettivamente scegliendo alcuni bit)
  2. Esecuzione di Windows Update (altri 16 aggiornamenti e 567MB e il numero riavvio 4)
  3. Visual Studio
  4. Aggiornamento NuGet in VS
  5. Get update 1 per VS (riavvio numero 5)
  6. Eseguire Windows Update (2 aggiornamenti trovati per Office e riavviare il numero 6)
  7. Eseguire nuovamente l'aggiornamento di Windows (7 aggiornamenti di 103MB per VS e. NET)
  8. SQL Server Management Studio (e quindi riavviare il numero 7)
  9. Eseguire Windows Update (3 più piccolo aggiornamento per VS -? Non abbiamo già fatto)
Una delle cose carine a Win 8 è la possibilità di montare file ISO come unità il che significa che non è più MagicISO vi ringrazio molto.

Installazione automatica tramite Chocolatey

Per evitare il dolore manuale di installazione, ho pensato di dare Chocolatey una corsa dopo aver ottenuto tutti entusiasti di ascolto parlare Rob Reynolds su di esso su. NET Rocks l'altro giorno. Questi sono letteralmente i comandi esatti che ho incontrato ad avere la bontà di zero Chocolatey a 21 pacchetti software installare automaticamente (ad eccezione dei punti in corsivo o commenti tra parentesi, ovviamente). Nessun disordine (quasi), senza fronzoli (anche quasi), altamente consigliato.
  1. @ Powershell-NoProfile-ExecutionPolicy illimitato-Command "iex (. (Nuovo-oggetto net.webclient) DownloadString ('http://chocolatey.org/install.ps1'))" && SET PATH =% PATH%;% systemdrive% \ cioccolatoso \ bin
  2. cinst cioccolatoso
  3. cinst 1Password
  4. cinst set
  5. cinst evernote
  6. Aggiornamento Evernote come la versione non è aggiornato
  7. cinst notepadplusplus
  8. cinst AdobeReader
  9. Aggiornamento Adobe Reader come la versione non è aggiornato
  10. cinst vlc (grazie di Windows 8 per non avere più un lettore DVD)
  11. Aggiornamento VLC come la versione non è aggiornato
  12. cinst violinista
  13. cinst WinDirStat
  14. cinst GoogleChrome
  15. cinst Firefox
  16. cinst virtualbox
  17. cinst git
  18. cinst TortoiseGit
  19. cinst githubforwindows
  20. cinst TortoiseSVN
  21. cinst ReSharper
  22. cinst riflettore
  23. cinst WindowsLiveWriter
  24. cinst iTunes
  25. iTunes non riesce e mi chiede di disinstallarlo - in modo da fare
  26. Manualmente scaricare e installare iTunes
La sequenza di questo può diventare un po 'complicato, Volevo installare Live Writer ma aveva bisogno le mie credenziali di Google per accedere all'account Blogger. Nessun problema, che è in 1Password in modo che scaricare ed estrarre il portachiavi da Dropbox. Ah, ma 1Password non funzionerà fino a che non inserire il mio numero di serie e che è in Evernote quindi ho bisogno che prima. Poi, naturalmente, la mia password Evernote è in 1Password quindi ho bisogno di digitare manualmente in modo molto casuale, una password molto complessa con la lettura fuori l'applicazione 1Password su iPad. Awesome.
Parlando di impressionante (in modo non sarcastico modo), questo è ciò che è Chocolatey. Potrebbe sembrare una piccola cosa essere in grado di eseguire l'installazione da riga di comando, ma tira fuori un inferno di un sacco di ricerca e gingillarsi. L'unico problema era le applicazioni che erano fuori moda, ma almeno tutti avevano auto-updater. Ho brevemente nutrito un desiderio altruistico di creare pacchetti cioccolatoso per le cose che mi servivano che non erano già lì, ma ero in quel modo "solo ottenere la cosa maledetta ricostruito il più velocemente possibile".

Manuale di scaricare e installare

Senza bontà Chocolatey, tutto questo è diventato installazioni manuali.
  1. SkyDrive (perché quello cotto in Win 8 non sarà bello giocare in modalità desktop e quello con Office 13 Pro è SkyDrive pro che sembra solo desidera connettersi a SharePoint)
  2. Red Gate SQL strumenti
  3. Aggiornamento Red Gate SQL Compare (non ho installato questo?!)
  4. Aggiorna i dati Red Gate SQL Compare (vedi sopra)
  5. Aggiornamento Red Gate SQL controllo del codice sorgente (questo è un po 'sciocco)
  6. Camtasia
  7. SnagIt
  8. Google Earth
  9. Skype
  10. Freno a mano
  11. DVD Decrypter
  12. DiffMerge
  13. MetroTwit
  14. WinRAR
  15. Spotify
  16. BitTorrent
  17. Disinstallare WinZip Registry Optimizer (BitTorrent grazie)
  18. BitTorrent barra degli strumenti disinstallato da Chrome (sì, grazie ancora)
Ok - SkyDrive - cosa sta succedendo qui? Prodotto impressionante in modo Dropbox stesso, ma spezzandolo fra desktop e Metro poi gettare il Pro nel mix che sembra essere mirate a SharePoint, piuttosto che la tua nuvola SkyDrive proprio è piuttosto confusa. Almeno lo era per me.

Installa da file locali

Ci sono ancora alcuni classici che ho girano sul NAS ed è necessario installare manualmente.
  1. Photoshop
  2. Illustrator (riavvia numero 8 - era davvero necessario?!)
  3. Canon Pixma stampante multifunzione
  4. Microsoft Money (sì, sì, dovrei passare a qualcosa d'altro)

Licensing

L'installazione è solo la prima parte della configurazione, un gruppo di applicazioni quindi bisogno di informazioni di licenza.
  1. Ufficio
  2. Red Gate SQL Tools
  3. Illustratore
  4. Photoshop
  5. ReSharper
  6. 1Password
  7. Camtasia
  8. SnagIt
  9. MetroTwit
Fortunatamente nessuno di questi cranky se hai già usato la chiave per non essere in grado di avviare il sistema dal vecchio disco significava non deregistering. In realtà l'unica applicazione che provoca alcun dolore al riguardo è iTunes, perché solo consente di "Autorizzare" 5 macchine e quando si colpisce che (legittimamente che ho fatto), è necessario deauthorise tutti centralmente poi individualmente reauthorise ogni macchina nuovamente.

Configura

Naturalmente l'installazione è solo una parte della storia, ora è necessario fare le cose in realtà si comportano!
  1. Indietro Collegare gli altri HDD ho staccato proprio all'inizio
  2. Installazione di Outlook e-mail
  3. Configurare tutte le impostazioni di Outlook (firma, layout, ecc)
  4. Pianificare uno script per copiare i file chiave da NAS ad un disco di riserva locale (CrashPlan non eseguirà il backup da un disco remoto senza alcune modifiche - che devo andare in giro a ...)
  5. Setup CrashPlan per il backup dal disco locale
  6. Setup Dropbox
  7. Setup 1Password per utilizzare Dropbox
  8. Processo di SQL per il backup qualche chiave DB
  9. 1Password plugin del browser
  10. Firebug estensione in Firefox
  11. Accedi a Google Chrome per sincronizzare i dati e le estensioni
  12. MetroTwit bit.ly chiave API
  13. Mappare l'unità NAS
  14. Incolla da Visual Studio Live Writer plug in
  15. Microsoft Money
  16. Collegare la stampante di rete
  17. Setup Live Writer per memorizzare tutto in Dropbox (Registro di modifica)
  18. iTunes (iTunes per ottenere indietro partita e attivare Condivisione in famiglia)
  19. Infine, riporre tutte le applicazioni usuali mi piace tornare sulla barra delle applicazioni
Non si preoccupò di elencare tutte le applicazioni che ora devono essere autenticati per tutto da capo, francamente questo è un inferno di un sacco di loro, ma fortunatamente un processo a basso attrito, molto.

Ripristino

Ecco, questo è il faticoso lavoro fatto, la cosa è ora quello di ottenere effettivamente i file al suo posto. Ognuno ha le proprie strategie di backup, il mio comporta l'uso di un locale NAS con dischi ridondanti come posizione predefinita per i documenti quindi il backup questo fino a "The Cloud" via CrashPlan . Io uso anche Dropbox e SkyDrive ampiamente che hanno già ripristinato i pezzi importanti quando li ho configurato in precedenza.
  1. Ripristina ogni sito web IIS
  2. Ripristinare ogni database SQL
  3. Ripristinare i dati dal mio NAS
Questo dovrebbe essere, ma c'è sempre quella sensazione fastidiosa che hai dimenticato qualcosa ...

Ma aspettate - c'è di più!

Questa non è la fine, non da un colpo lungo. Ora arriva il mese di "hmm ... questo non ha usato per essere abbastanza in questo modo prima"; mancanti profili audio in Camtasia, impostazioni di Visual Studio, che sono solo un po 'diverso (sì, so che è possibile salvare questi) e solo casuale stranezza che ne consegue inevitabilmente.
Poi ci sono i dati che semplicemente non si ottiene indietro, cose come afferra schermo recenti SnagIt, parole personalizzate nei dizionari di Live Writer e Word, lettura preferenze in Outlook e così via e così via.

Cosa sta lavorando bene

Tutto in "cloud". Outlook / Live Mail / Hotmail, Dropbox e SkyDrive fatto ottenere i dati in fondo a destra dove l'ho avuto prima ridicolmente facile.
Avere internet veloce. Senza questo ripristino da Dropbox e SkyDrive sarebbe doloroso come sarebbe scaricare tutti gli ultimi pezzi e bocconi. Ho regolarmente ottenere velocità superiori a 1 MB al secondo (una linea teorica 20Mbps), così ho appena notato le decine di GB ho scaricato questo pomeriggio e questa sera.
Cioccolatoso era anche incredibile come ha fatto l'installazione di quei 21 applicazioni un gioco da ragazzi. Non so quanto io lo uso su una base quotidiana, ma come un modo di ottenere un mucchio di roba installata rapidamente totalmente rocce.
Windows 8 velocità - è accecante! Caso in questione (a parte il tempo di installazione 15 minuti): si tratta di prendere 10 secondi - dieci freakin 'secondi - dal momento in cui il BIOS termina la sua attività ad essere nella schermata di accesso. Questo è piuttosto sorprendente e, mentre sì, ho una macchina ad alta spec (6 core, un sacco di RAM, SSD veloce), è anche eccezionalmente veloce sulle macchine più lente che ho usato. La settimana scorsa ho scritto su La crisi incombente che è Windows XP e IE 8 e un certo numero di persone hanno commentato che non si desidera eseguire l'aggiornamento da XP a causa di Windows diventa solo più lento. Nope. Non se ne parla in tutto il mondo fa che l'11 sistema operativo anni arrivare da nessuna parte vicino anche questo su hardware moderno.

Che cosa non funziona così grande

Il fatto che ci sono 102 passi in tutto questo e che ci sono voluti sette ore! Seriamente, però, di tornare a quell'immagine iOS ripristino, questo è il mio mondo perfetto. Punto di vista logistico è ovviamente un enorme se non impossibile fare nel mondo desktop di oggi, forse non tanto nella metropolitana (o come lo chiamiamo oggi): Vinci 8 mondo, ma che non è un posto che visito troppo.
Windows 8 è il disturbo bipolare. Mi dispiace gente, so che gel bene con compresse e tocco, ma Metro solo non aggiunge nulla alla mia esperienza e fa una serie di cose molto di più confuse. La necessità di aggiornare le applicazioni dal negozio indipendentemente da Windows Update, con SkyDrive installato ma poi non installata dove ne ho bisogno, saltare in metropolitana quando apro un'immagine e così via e così via. Nel complesso, Windows 8 è un sistema operativo molto meglio di 7 in termini di velocità, stabilità e fornendo le caratteristiche di cui ho bisogno (cose come il rock Task Manager), ma mi piacerebbe molto felice di prendere una versione desktop modalità di sola ed essere felice per questo .

Come si fa a farlo?

Sono molto interessato a sapere, perché in nessun modo non credo che questo sia il modo più efficace, è solo quello che funziona così come ho potuto raggiungere. Se ci sono altri trucchi di cloud o Scarica l'applicazione e installare meccanismi (sì, sono a conoscenza di Ninite ) poi mi piacerebbe sentire loro, perché sai che è solo una questione di tempo ...