Recuperare i file cancellati su partizioni ext2/ext3

9 febbraio 2010 Luca Nessun commento

ext3/ext2 undelete tool.User can recover files by it’s name/type/owner.Forensic analyser provided.Recovers Deleted database tables.Restores deleted files to it’s original location.But you can’t recover the files deleted before installation of giis.

E’ dotato di una pratica interfaccia grafica. Vediamo come utilizzarlo da riga da comando:

wget http://sourceforge.net/projects/giis/files/giis-4.7/giis-gui-0.2.tar/download

tar xvf giis-gui-0.2.tar

cd giis-gui-0.2

sh install_giis.sh 0

==================
directory : /lost+found
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/lost+found => Added

==================
directory : /lib
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/lib => Added

==================
directory : /bin
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/bin => Added

==================
directory : /proc
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/proc => Added

==================
directory : /etc
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/etc => Added

==================
directory : /opt
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/opt => Added

==================
directory : /media
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/media => Added

==================
directory : /srv
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/srv => Added

==================
directory : /boot
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/boot => Added

==================
directory : /tmp
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/tmp => Added
root available in /etc/giis.conf

==================
directory : /mnt
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/mnt => Added
home available in /etc/giis.conf

==================
directory : /sbin
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/sbin => Added

==================
directory : /sys
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/sys => Added

==================
directory : /misc
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/misc => Added

==================
directory : /dev
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/dev => Added

==================
directory : /selinux
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/selinux => Added

==================
directory : /var
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

/var => Added

==================
directory : /usr
====================
To Add this directory press  : 1
To skip this directory press : 0

Please Enter you choice :1

Please Enter you choice :1

/usr => Added
Files at  Directory Level 1 are updated……
Files at  Directory Level 2 are updated……
Files at  Directory Level 3 are updated……
Files at  Directory Level 4 are updated……
Files at  Directory Level 5 are updated……
Files at  Directory Level 6 are updated……
Files at  Directory Level 7 are updated……
Files at  Directory Level 8 are updated……
Files at  Directory Level 9 are updated……

Files at  Directory Level 10 are updated……
Extracting Sample data…

giis – Installation completed…Done

Categorie:Altro Tag:

Limitare la banda con wondershaper

9 febbraio 2010 Luca Nessun commento

wondershaper [interfaccia] [downstream] [upstream]

downstream e upstream si riferiscono al flusso di dati dal gateway all’interfaccia di rete, quindi per downstream si intende la banda che va dall’interfaccia verso il gateway e quindi corrisponde all’upload. I valori sono espressi in kilobit al secondo (dividendo per 8 avremmo il risultato il kb/s).
Ecco un esempio per limitare il traffico dell’interfaccia eth2 in download a 2Mbit (256Kb/sec) ed in upload ad 512Kbit (64kb/sec):

wondershaper eth2 512 2048

apt-get install wondershaper

Categorie:Altro Tag:

Monitorare i messaggi di posta spediti con la funzione mail() del php

9 febbraio 2010 Luca Nessun commento
Php

Php

Se  state gestendo un server web dove sono ospitati molti siti, prima o poi potrebbe essere necessario dover  far fronte a dello spam in uscita dalla vostra macchina; Messaggi generati da qualche form poco sicuro pubblicato in un sito, ma in quale? Non sempre negli header delle email si trovano informazioni utili ad individuarlo. Creando un wrapper del binario sendmail, risolveremo questo problema. Ecco come procedere:

Creiamo il nostro wrapper in /usr/local/bin/ chiamandolo sendmail-wrapper.php con il seguente codice al suo interno:

#!/usr/bin/php
<?php
$sendmail_path = ‘/usr/sbin/sendmail’;
$file_di_log = ‘/tmp/mail_php-’ . $_ENV['APACHE_RUN_USER'] . ‘.log’;

$logline = ”;
$pointer = fopen(’php://stdin’, ‘r’);

while ($line = fgets($pointer)) {
if(preg_match(’/^to:/i’, $line) || preg_match(’/^from:/i’, $line)) {
$logline .= trim($line).’ ‘;
}
$mail .= $line;
}

$command = ‘echo ‘ . escapeshellarg($mail) . ‘ | ‘.$sendmail_path.’ -t -i ‘;
for ($i = 1; $i < $_SERVER['argc']; $i++) {
$command .= escapeshellarg($_SERVER['argv'][$i]).’ ‘;
}

file_put_contents($file_di_log, date(’Y-m-d H:i:s’) . ‘ ‘ . $_ENV['PWD'] . ‘  ‘ . $logline . “\n”, FILE_APPEND);

shell_exec($command);
?>

N.B. sendmail-wrapper.php deriva da uno script di Till Brehm. E’ stato necessario apportare delle modifiche per sistemare alcuni bug e per renderlo compatibile con i nuovi sistemi.

Impostiamo su di esso i permessi di esecuzione

chmod 755 /usr/local/bin/sendmail-wrapper.php

Editiamo la configurazione del php.ini utilizzata dai siti (probabilmente /etc/php5/apache2/php.ini) decommentando (eliminando il carattere ; da inizio riga) la direttiva ’sendmail_path’ ed associandogli come valore il percorso del nostro wrapper. In questo modo:

sendmail_path = /usr/local/bin/sendmail-wrapper.php

Dopo aver riavviato il web server potremo verificare che ogni qualvolta viene inviata un’email con il metodo mail del php, in un file di log presente nella directory /tmp sara’ memorizzato il nome del sito che ha inviato il messaggio. Il nome del log avra’ il seguente formato e sara’ memorizzato nella directory /tmp:

mail_php-’UTENTE-CHE-ESEGUE-IL-PHP’.log

Se il php dei siti viene eseguito come modulo, allora il file sara’ questo:

/tmp/mail_php-www-data.log

Mentre se i siti sono eseguiti con la suexec verra’ generato piu’ di un log. Ad esempio

/tmp/mail_php-sito1.log

/tmp/mail_php-sito2.log

/tmp/mail_php-sito3.log

Potrete tastare il tutto creando in un sito un file php con questo contenuto e richiamandolo via browser web

<?php
mail(’indirizzo_destinatario@suo-sito.it’,'This is a test message subject’,'This is a test message body’,”,’-ftuoindirizzo@tuo-sito.it’);
echo ‘Messaggio Inviato’;
?>

N.B. Modificare l’indirizzo del mittente e del destinatario nella funziona mail

Installare mysqld in Debian Lenny

9 febbraio 2010 Luca Nessun commento

Ecco i comandi da eseguire per installare il server mysql su una distribuzione Debian Lenny

apt-get install mysql-server

N.B. Se avete in esecuzione un server web con integrato l’interprete php, dovrete installare anche il pacchetto php5-mysql per poter permettere agli script del sito di collegarsi al database

Durante l’installazione vi verra’ richiesto di impostare una password per l’utente root

Il servizio verra’ avviato ad installazione terminata.  Eseguendo il comando

ps ax

Vedremo una cosa del genere

2955 ?        S      0:00 /bin/sh /usr/bin/mysqld_safe
2994 ?        Sl     0:00 /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –pid-file=/var/run/mysqld/mysqld.pid –skip-external-locking –port=3306 –socket=/v
2996 ?        S      0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld

Per collegarsi a mysqld con l’applicazione ‘mysql’ si deve eseguire questo comando:

mysql -uroot -pPASSWORD

Questa e’ la query da eseguire per creare un database

mysql> CREATE DATABASE ‘nome_database’;

Ecco come creare un utente ed associarlo al nuovo database

mysql> GRANT ALL PRIVILEGES ON nome_database.* TO ‘nome_utente’@'%’ IDENTIFIED BY ‘password’;

Per variare la password di un utente invece bastera’ digitare questo

mysql> use mysql
mysql> update user set password=PASSWORD(’NuovaPasswordDaImpostare’) where User=’nome_utente’;

Per eliminare un database

mysql> DROP DATABASE ‘nome_database’;

Per eliminare un utente

mysql> use mysql
mysql> delete from user where User=’nome_utente’;

Per visualizzare i database attivi

mysql> use mysql
mysql> show databases;

Per visualizzare gli utenti attivi

mysql> use mysql
mysql> select * from user;

Categorie:Altro Tag: