Leggere un registro degli accessi dopo un attacco Il registro contiene già tutta la storia. Sei comandi di una riga trasformano un milione di righe in: chi, da dove, e se è entrato. 5 min read I backup sono una misura di sicurezza Un backup sullo stesso server, con le stesse credenziali, non è un backup. È una seconda copia in attesa dello stesso evento. 4 min read CSRF: un modulo inviato da un altro sito Il tuo visitatore ha la sessione aperta, e un altro sito fa in modo che il suo browser mandi una richiesta al tuo. Un gettone per ogni modulo lo ferma. 4 min read Come capire se un sito è stato violato Quasi tutti i siti violati sembrano perfettamente normali al loro proprietario. I segnali che vale la pena controllare, e i quattro comandi che li trovano. 5 min read fail2ban: cosa ferma e cosa no Legge i registri e blocca gli indirizzi che ripetono uno schema. Utile, ristretto, e facilissimo da configurare in modo da bloccare il tuo stesso ufficio. 5 min read Permessi corretti, non solo permessi che funzionano 777 fa sparire l'errore e apre il sito a chiunque sia in grado di scrivere un file. Cosa significano quei numeri e cosa serve davvero a un sito. 5 min read Ripulire un sito violato L'ordine che rende pulito un sito violato e lo mantiene pulito — e il passo che quasi tutti saltano. 8 min read Irrobustire SSH Sei righe di configurazione trasformano il servizio più attaccato del tuo server in uno che non si può proprio indovinare. 4 min read Il malware nel database, non nei file Hai reinstallato il nucleo, sostituito ogni plugin, e il reindirizzamento è ancora lì. Sta in una riga del database, non in un file. 4 min read Proprietà, umask e la trappola del gruppo chmod 777 cura il sintomo e apre la porta. La proprietà e il bit di gruppo curano la causa, e tengono corretti i file nuovi. 5 min read Forza bruta contro il pannello di controllo Migliaia di tentativi di accesso al giorno sono normale rumore di fondo. Diventano una violazione soltanto quando una password è debole e nessuno sta contando. 4 min read Tenere PHP aggiornato senza rompere il sito Restare su una versione di PHP non più supportata è un cedimento di sicurezza al rallentatore. Le release di patch sono sicure; le versioni maggiori chiedono venti minuti di preparazione. 4 min read Perché un backup solo non è un backup Il ransomware cerca prima i backup, e trova quelli che il server riesce a raggiungere. La regola 3-2-1 esiste esattamente per questo. 4 min read Limitare la frequenza di una pagina di accesso Indovinare una password vuol dire migliaia di tentativi all'ora. Un limite rende la cosa inutile, e costa un blocco nella configurazione del server. 4 min read La SQL injection, spiegata semplice Il dato è stato letto come parte della domanda. Una sola abitudine elimina l'intera categoria, e non è l'escaping. 5 min read Chiavi SSH al posto delle password Una chiave chiude del tutto i tentativi a forza bruta. Ne generi una, la installi, la provi in una seconda finestra, e solo allora spenga le password. 5 min read Il doppio fattore, e dove tenere i codici di recupero Fa sì che una password rubata non basti più. Attivarlo richiede due minuti; la parte che si sbaglia è che cosa succede quando si perde il telefono. 4 min read La directory dei caricamenti non deve mai eseguire Controllare l'estensione del file non basta. Se il server web esegue PHP dalla sua cartella dei caricamenti, un solo caricamento sbagliato è una shell. 4 min read Le quattro cose per cui i siti WordPress vengono violati Non exploit oscuri. Quattro omissioni ordinarie spiegano quasi ogni sito compromesso, e ciascuna si chiude in pochi minuti. 6 min read Il cross-site scripting, detto chiaro Il codice di un altro che gira sulla sua pagina, dentro la sessione del suo visitatore. Una sola abitudine ne previene quasi la totalità. 5 min read