Archivio

Archivio per la categoria ‘Sicurezza’

History Time Format

31 luglio 2008 Giorgio Nessun commento

Did you ever had a look at you bash history?

No? Well, try it issuing the following command:

root@moveaway: history
...
996  netstat -tapn
997  vi /etc/my.cnf
998  vi /etc/my.cnf
999  service mysql restart
1000  service mysqld restart
1001  history

Wow! One thousand (and one) commands issued on my laptop command line! Nice, insn’t it?

Well, ohhhh yess…but…mmm…when did I issue each command?

The default behaviour for the bash history file (.bash_history in your home directory), is to take note only of the commands, nothing else, as you can see “catting” the raw file:

root@moveaway: cat .bash_history
..
netstat -tapn
vi /etc/my.cnf
vi /etc/my.cnf
service mysql restart
service mysqld restart

Not that useful if you are trying to link some correlations from the commands you issued and what happened in your system. Better for you to timestamp you history log.

How to do it?

First, let’s pay attention to what

root@moveaway: man bash

tells us:

HISTTIMEFORMAT
If this variable is set and not null, its value is used as a format string for strftime(3) to print the time stamp associated with each his-
tory entry displayed by the history builtin. If this variable is set, time stamps are written to the history file so they may be preserved
across shell sessions.

So, setting the variable

HISTTIMEFORMAT

would give a relief to our concern. The syntax is similar the one you use for the command

date

so

man date

will help you to find a proper format string for this variable. Anyway, if you have no idea, here is a pre formatted variable (Year-Month-Day Hours:Minutes:Seconds)

HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "

This string alone won’t work, we have to “export” it as a environment variable:

export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "

Mmm…let’s have a look to our history:

root@moveaway: history
997  2008-07-31 19:40:34 vi /etc/my.cnf
998  2008-07-31 19:40:34 vi /etc/my.cnf
999  2008-07-31 19:40:34 service mysql restart
1000  2008-07-31 19:40:34 service mysqld restart
1001  2008-07-31 19:40:37 history

Ouch! All the entries have the same date stamp! Well, to fix this we should exit the login session and logon again, but our environment variable would get lost. We must make it lasting through sessions. Let’s invoke the

man bash

command again:

When bash is invoked as an interactive login shell, or as a non-interactive shell with the –login option, it first reads and executes commands from
the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order,
and reads and executes commands from the first one that exists and is readable.

Interesting. It’s time to edit the

/etc/profile

file and write the command in, to make it last:

export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "

Save the file, exit the login session and logon again. Now issue some commands…

root@moveaway: prova_time_stamp_1
-bash: prova_time_stamp_1: command not found
root@moveaway: prova_time_stamp_2
-bash: prova_time_stamp_2: command not found
root@moveaway: prova_time_stamp_3
-bash: prova_time_stamp_3: command not found
root@moveaway: history

Well, not real commands, but they will be a good placeholder to mark the timestamps. Let’s issue

history

again:

1001  2008-07-31 19:42:46 prova_time_stamp_1
1002  2008-07-31 19:42:54 prova_time_stamp_2
1003  2008-07-31 19:43:00 prova_time_stamp_3
1004  2008-07-31 19:43:25 history

It works! Now our history is marked with a time stamp for each entry, so it will be easier to understand when a command has been issued. Let’s have a look to the

.bash_history

file, but since the file is fully written only after the login session is closed, logoff, logon again and then issue:

root@moveaway: cat .bash_history
...
#1217533366
prova_time_stamp_1
#1217533374
prova_time_stamp_2
#1217533366
prova_time_stamp_3
#1217533405
history

What’s that? Each command is prefixed by a Unix Timestamp, which is converted for you by the

history

command, otherwise you can use an online converter.

Good, isn’t it?

2 Cent Tip:

If you want your history file to take note of more than the standard 500 commands, put in the

profile

the following string:

export HISTSIZE=1000

You will have a 1000 commands worth history file.

Second 2 Cent Tip:

If you want more infos on the time syntax for

HISTTIMEFORMAT

have a look to

man 3 strftime

Blogsecurify, controlla la sicurezza del tuo WordPress

26 giugno 2008 Giorgio Nessun commento

Date un’occhiata a un servizio online che potrebbe risultarvi utile, Blogsecurify. Controllo della versione del vostro WordPress, esame del template utilizzato dal vostro blog, alla ricerca di vulnerabilità, reperimento e visualizzazione della lista dei plugin installati. Ok, come potete vedere dall’immagine, ha rilevato ben poco, ma dare una passata al vostro blog con questo strumento, non è poi una cattiva idea.

Per attivare il controllo, dovrete “autenticare” Blogsecurify in uno dei seguenti modi:

  • Andate In Design, Editor e cliccate su Piè di pagina, quindi scorrete fino in fondo la text box e individuate l’ultima riga:
  • </body></html>

    e aggiungete prima di questa riga, la seguente istruzione:

    <!-- wpscanner -->

    Fatto questo, salvate le modifiche, tornate su Blogsecurify, inserite la vostra url nella text box e premete test!

  • In alternativa, scaricate il plugin, installatelo, attivatelo e lanciate il controllo.

Generatore di password

15 aprile 2008 Giorgio Nessun commento
head -c1024 /dev/urandom | md5sum | awk '{print $1}'

Tutto qui?

Si.

[Via Kosh]

Categorie:Sicurezza, Sysadmin Tag:

I 10 migliori plugin di sicurezza e protezione per WordPress

15 aprile 2008 Giorgio 3 commenti

Se la sicurezza del vostro blog vi sta a cuore come la copertina che alberga mattina e sera sul vostro divano, vi consiglio di dare un’occhiata a questa lista di plugin messa a punto da Specky boy.

Si tratta di plugin dedicati alla sicurezza in senso lato, dalla protezione dei dati, agli strumenti contro lo spam, alle login sicure.

Io mi sono limitato a tradurla liberamente. Buona lettura.

1. WordPress Database Backup (http://www.ilfilosofo.com/blog/wp-db-backup/)

URL: http://www.ilfilosofo.com/blog/wp-db-backup/
Description: Questo plugin fa proprio ciò che il nome lascia intendere, esegue il backup dell’intera installazione di WordPress. Dovrebbe essere uno dei primi plugin da installare appena create il vostro blog. Vi consente di eseguire i backup copiandoli sul vostro disco rigido, su un server o anche tramite email. Che si tratti di un plugin riottoso, un hacker (o voi stessi) a far crashare WP, WP Database Backup riporterà tutto a come avrebbe dovuto essere (prima del danno). Mi piace pensare a questo plugin come a un “WP , recupero del sistema.

2. Semisecure Login (http://jamesmallen.net)

URL: http://jamesmallen.net/2007/09/16/semisecure-login/
Description: Semisecure incrementa la sicurezza della componente di Login di WP, utilizzando una crittazione lato client delle password in MD5 (vabbé, MD5 è un hash…). Affinché la criptazione possa venire eseguita è necessario che che il navigatore supporti JavaScript. Quando il supporto JavaScript non è disponibile, la password viene trasmessa in chiaro (come succede normalmente), ma l’autenticazione procede senza alcun ostacolo.

3. AskApache Password Protect (http://www.askapache.com)

URL: http://www.askapache.com/wordpress/htaccess-password-protect.html
Description: Questo plugin renderà più sicuro l’accesso alla console di amministrazione di WP tramite l’utilizzo di htaccess per la gestione delle password, impedendo agli indesiderati bot l’ingresso al vostro sito.

4. Force SSL (http://almosteffortless.com/)

URL: http://almosteffortless.com/wordpress/force-ssl/
Description: Se avete un certificato SSL, il plugin Force SSLFor forzerà le connessioni su HTTPS per garantire una migliore sicurezza. Ciò è utile per coloro che vogliono assicurare un maggiore livello di sicurezza per la veicolazione dei contenuti al navigatore.

5. WP Security Scan (http://wordpress.org/extend/plugins)

URL: http://wordpress.org/extend/plugins/wp-security-scan/
Description: Adoro questo plugin, che scandisce il vostr osito alla ricerca di problemi di sicurezza e controlla password, permessi sui file e messa in sicurezza del database, nascondendo anche la versione di WP e proteggendo/rendendo sicuro l’admin di WP. Mi rende anche un po’ paranoico.

6. Secure Files (http://wordpress.org/extend/plugins)

URL: http://wordpress.org/extend/plugins/secure-files/#post-271
Description: Questo plugin vi consente di caricare e scaricare file al di fuori della document root del vostro sito web, per motivi di sicurezza. Quando viene utilizzato insieme a un plugin che richiede all’utente di essere loggato per poter leggere le pagine del vostro sito, potete limitare i donwload agli utenti loggati.

7. WP-SpamFree (http://www.hybrid6.com/)

URL: http://www.hybrid6.com/webgeek/plugins/wp-spamfree
Description: Ho sentito parlare parecchio di questo plugin prima di provarlo e si dice che sia meglio di Akismet. In tutta onestà, non ho mai notato molta differenza (ho 500 messaggi di spam al giorno, in questo periodo) fra i due. Penso sia solo una questione di scelta dell’utente. Speravo ci fosse invece un modo per fermare gli spammer.

8. BackUpWordPress (http://wordpress.designpraxis.at)

URL: http://wordpress.designpraxis.at/plugins/backupwordpress/
Description: Quasi identico al primo plugin, solo non altrettanto semplice. La lista di funzionalità è lunga ed è indicata per un WP Pro. Alcune funzionalità: backup del database, inclusi i file caricati, i plugin, etc; notifica via email dei nuovi backup; backup lanciabili manualmente, possibilità di pianificare i backup, di eseguire restore, importazioni scaglionate di SQL; prosecuzione in background dei backup non terminati; Supporto lingue. (E questo solo per la modalità Easy, aspettate di vedere quella avanzata).

9. Anonymous WordPress Plugin Updates (http://f00f.de/)

URL: http://f00f.de/blog/2007/10/02/plugin-anonymous-wordpress-plugin-updates.html
Description: Anonimizza il sistema di controllo degli aggiornamenti dei plugin, una nuova funzionalità introdotta in WordPress 2.3. Il plugin impedisce a WordPress di inviare una lista di plugin attivi, l’url del blog e la versione di WordPress. Ideale per gli amministratori consapevoli delle implicazioni relative alla privacy di una installazione WordPress.

10. Replace WP-Version (http://wordpress.org/extend/plugins/)

URL: http://wordpress.org/extend/plugins/replace-wp-version/#post-2859
Description: (Abbiamo tutti letto del problema di sicurezza derivato dal mostrare la propria versione di WP, questo plugin lo risolve). Se state utilizzando una versione più vecchia di WordPress, chiunque può vedere i sorgenti per capire quali attacchi possono funzionare contro il vostro blog. Questo plugin rimpiazza l’informazione relativa alla versione di WP con una stringa casuale per le versioni < 2.4 e la elimina per le versioni > 2.4.

Cold Boot Attacks on Encryption Keys

22 febbraio 2008 Giorgio 7 commenti

Riassunto:
Contrariamente a ciò che si crede comunemente, le DRAM usate nella maggior parte dei moderni computer, trattengono i propri contenuti per un periodo che va da pochi secondi ad alcuni minuti dopo che è stata tolta l’alimentazione, anche a temperature operative e anche se rimosse dalla scheda madre. Sebbene le DRAM diventino meno affidabili quando non vengano “rinfrescate” (riscritte con il medesimo contenuto, ndr.), queste non vengonono imediatamente cancellate e i loro contenuti persistono per un tempo sufficiente per l’acquisizione malevola (o forense) di immagini utilizzabili dell’intero sistema. Abbiamo mostrato che questo fenomeno limita l’abilità di un sistema operativo di proteggere la chiave crittografica da un aggressore che abba un accesso fisico (al computer, ndt.). Abbiamo usato reboot a freddo (cold reboot, ovvero quando si spegne il computer togliendo la corrente all’improvviso, senza eseguire uno shutdown, ndt.) per imbastire attacchi ai più popolari sistemi di crittazione di dischi – BitLocker, FileVault, dm-crypt, e TrueCrypt – senza usare materiali o periferiche speciali. Abbiamo caratterizzato sperimentalmente l’estensione e la predicibilità di ciò che rimane in memoria e abbiamo riferito che i tempi di permanenza possono venire incrementati in maniera sensibile adottando semplici tecniche. Offriamo nuovi algoritmi per trovare le chiavi crittografiche nelle immagini della memoria e per correggere gli errori causati dal decadimento dei bit. Sebbene discutiamo (nella ricerca in pdf che si trova sul sito, ndt.) di diverse strategia per mitigare questi rischi, non conosciamo alcun rimedio di semplice applicazione che li possa eliminare.

Center for Information Technology Policy – Princeton University

[Via Ministry of Intrigue]