Estate
Posted by Cristian | Posted in Work in progress | Posted on 02-06-2010
0
l’estate è finalmente arrivata quindi ci risentiamo a settembre.
l’estate è finalmente arrivata quindi ci risentiamo a settembre.
Il 30 Aprile finalmente dopo molti giorni di duro lavoro ho pensato di dedicare un pò di tempo al mio smemorando.com e subito mi sono accorto che c’era qualcosa che non andava.. ho provato quindi a dare uno sguardo ai file collegandomi in ftp e ne ho trovati alcuni modificati di recente all’interno dei quali c’era del codice che non ci sarebbe dovuto essere.
Ho subito pensato cavoli non è proprio servito a niente tenere il mio CMS sempre aggiornato all’ultima versione, utilizzare solo i plugin strettamente necessari e tenerli aggiornati, proteggere l’area di amministrazione con htpassswd ecc. ecc…
Intenzionato a capirne di più ho aperto un ticket ad Aruba per chiedere i log degli accessi alla mia area ftp/http ed in modo abbastanza sollecito e cordiale mi hanno risposto che non potevano fornirmeli visto che possono essere richiesti solo dall’Autorità Giudiziaria bla bla bla.
Bè gentili disponibili e anche tempestivi nella risposta hanno ragione, se mi sono fatto fregare devo solo fare un mea culpa, non è che possono sapere cosa accade ad ogni sito opitato sui loro server.
Mi sono poi messo a cercare su internet per capire se ad altri in questi giorni è capitato di essere rimasti fregati nel mio stesso modo e qui la sorpresa.
Da quanto leggo dai blog www.uploadsblog.com, www.heavytrader.it, www.luca-mercatanti.com ed altri che non sto ad elencarvi non sono stato l’unico e non è neanche la prima volta che accade e sembrerebbe che il problema non sia stato causato da qualche vulnerabilità al mio caro CMS ma da Aruba, a questo punto visto che l’hosting lo pago mi sarei aspettato dal supporto una risposta informativa nella quale venivo messo al corrente dell’accaduto invece del silenzio.
Questo è l’elenco dei file modificati:
wp-content/index.php
wp-admin/index.php
wp-content/themes/index.php
wp-admin/index-extra.php
wp-includes/default-filters.php
wp-includes/default-widgets.php
questo il file aggiunto:
mailcheck.php
questo parte del codice inserito:
A questo link è possibile fare una scansione antivirus del proprio sito www.avg.com.au.
Non aggiungo altro visto che già gli altri blogger hanno scritto a sufficienza.
Buona pasqua a tutti.
Cerca la prima corrispondenza a “old-2 e la rimpiazza con “new”.
:s/old/new
Cerca la corrispondenza con “old” sulla linea corrente e la rimpiazza con “new”.
:s/old/new/g
Cerca la corrispondenza con “old” globalmente e la rimpiazza con “new”.
%s/old/new/g
Cerca la corrispondenza con “old” globalmente e la rimpiazza con “new” chiedendo prima una conferma.
%s/old/new/gc
Websecurify è un’applicazione web che permette di effettuare test di vulnerabilità di tipo SQL Injection, Cross Site Scripting, CRLF Injection, Directory Traversal, Authentication Hacking, Ajax Application Security sul nostro sito web.
Scarico l’ultima versione disponibile dal sito www.websecurify.com
creo un folder dove estrarre il file tgz:
mkdir ~/websecurify-0.5
entro nella directory:
cd ~/websecurify-0.5
estraggo i files:
tar -zxvvf ~/Desktop/Websecurify\ 0.5.tgz
lo installo:
xulrunner –install-app application.ini
lancio Websecurify:
xulrunner –app application.ini
Come prima cosa è necessario scaricare il client TSM dall’area ftp IBM o dall’ area Passport Adwantage a voi riservata.
ftp://ftp.software.ibm.com/storage/tivoli-storage-management/maintenance/client/…
una volta scaricato il file .tar è necessario installare questi due pacchetti:
apt-get install ksh libstdc++5
scompattare il file tar:
tar xvf x.x.x.x-TIV-TSMBAC-LinuxX86.tar
(le x fanno riferimento alla versione scaricata)
utilizzando ALIEN una sorta di “convertitore” di pacchetti creo i miei pacchetti .deb:
alien -g TIVsm-API.i386.rpm
alien -g TIVsm-BA.i386.rpm
mv TIVsm-API-x.x.x/debian TIVsm-API-x.x.x/DEBIAN
mv TIVsm-BA-x.x.x/debian TIVsm-BA-x.x.x/DEBIAN
(le x fanno riferimento alla versione scaricata)
è necessario editare i due file riducendoli come segue:
vim TIVsm-API-x.x.x/DEBIAN/control
Source: tivsm-api
Section: alien
Priority: extra
Maintainer: who are you
Package: tivsm-api
Architecture: amd64
Depends:
Description: the API IBM Tivoli Storage Manager API
Version: x.x.x
vim TIVsm-BA-x.x.x/DEBIAN/control
Source: tivsm-ba
Section: alien
Priority: extra
Maintainer: who are you
Package: tivsm-ba
Architecture: amd64
Depends:
Description: the Backup Archive Client IBM Tivoli Storage Manager Client
Version: x.x.x
ora creo i pacchetti:
dpkg -b TIVsm-API-x.x.x
dpkg -b TIVsm-BA-x.x.x
e li installo (a vostro rischio e pericolo)
dpkg -i TIVsm-API-x.x.x.deb
dpkg -i TIVsm-BA-x.x.x.deb
edito i file di configurazione:
vim /opt/tivoli/tsm/client/ba/bin/dsm.opt
ServerName Nome-del-server-client
Domain ALL-LOCAL
DateFormat 3
vim /opt/tivoli/tsm/client/ba/bin/dsm.sys
ServerName Nome-del-server
CommMethod TCPip
HTTPPort 1580
TcpPort 1500
TcpServerAddress ip-del-server-tivoli-tsm
NodeName Nome-del-nodo-definito-sul-server-tivoli-tsm
PasswordAccess generate
Compression On
ErrorLogName /var/log/Tivoli/dsmerror.log
ErrorLogRetention 15 D
SchedLogName /var/log/Tivoli/dsmsched.log
SchedLogRetention 15 D
* InclExcl /opt/tivoli/tsm/client/ba/bin/dsm.inclexcl
imposto i permessi sui file principali:
chown root.root /opt/tivoli/tsm/client/ba/bin/dsmc
chown root.root /opt/tivoli/tsm/client/ba/bin/dsm.opt
chown root.root /opt/tivoli/tsm/client/ba/bin/dsm.sys
chmod 600 /opt/tivoli/tsm/client/ba/bin/dsm.opt
chmod 600 /opt/tivoli/tsm/client/ba/bin/dsm.sys
chmod 700 /opt/tivoli/tsm/client/ba/bin/dsmc
a questo punto possiamo provare a fare un backup:
dsmc i /path-da-backuppare -subdir=yes
se ho tralasciato qualcosa potrebbero apparari uno dei seguenti errori:
1) dsmc: error while loading shared libraries: libgpfs.so: cannot open shared object file: No such file or directory
Soluzione:
ldd /usr/bin/dsmc
apparirà qualcosa di questo tipo:
linux-gate.so.1 => (0xffffe000)
libcrypt.so.1 => /lib32/libcrypt.so.1 (0xf7eaa000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7e92000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7e8d000)
libgpfs.so => not found
libdmapi.so => not found
librt.so.1 => /lib32/librt.so.1 (0xf7e84000)
libha_gs_r.so => not found
libstdc++.so.5 => /usr/lib32/libstdc++.so.5 (0xf7dc9000)
libm.so.6 => /lib32/libm.so.6 (0xf7da4000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7d99000)
libc.so.6 => /lib32/libc.so.6 (0xf7c4a000)
/lib/ld-linux.so.2 (0xf7eed000)
lancio:
echo “/opt/tivoli/tsm/client/api/bin/” > /etc/ld.so.conf.d/tivoli.conf
ldconfig
2) error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
Soluzione:
aptitude install libstdc++5
3) error ANS0101E:
Soluzione:
ln -s /opt/tivoli/tsm/client/lang/en_US /opt/tivoli/tsm/client/ba/bin/en_US
Di seguito lo script per l’avvio dello scheduler da init.d.
vim /etc/init.d/dsm
# inizio script
#!/bin/bash
#
# dsmc Start/Stop IBM Tivoli Storage Scheduler
#
# processname: dsmc
# pidfile: /var/run/dsmc.pid
case $1 in
start)
/opt/tivoli/tsm/client/ba/bin/dsmc sched -servername=nome_del_nodo_definito_sul_server_tivoli_tsm -schedmod=pr >/dev/null 2>&1 &
echo `pidof dsmc` > /var/run/dsmc.pid
exit 0
;;
stop)
kill -9 `cat /var/run/dsmc.pid`
rm -f /var/run/dsmc.pid
exit 0
;;
restart)
/etc/init.d/dsm stop
sleep 5
/etc/init.d/dsm start
exit 0
;;
*)
echo “Usage: $0 {start|stop|restart}”
;;
Esac
### fine script
ora lanciando ps -ef | grep dsmc e verifico che il processo dsmc sia attivo.
Di seguito lo script per l’avvio della web gui da init.d.
vim /etc/init.d/dsmcad
### inizio script
#! /bin/sh
#
# /etc/init.d/dsmcad
#
### BEGIN INIT INFO
# Processname: dsmcad
DSMCAD_BIN=/opt/tivoli/tsm/client/ba/bin/dsmcad
test -x $DSMCAD_BIN || { echo “$FDSMCAD_BIN not installed”;
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
#Source function library.
. /etc/rc.status
# Reset status of this service
rc_reset
case “$1″ in
start)
echo -n “Starting dsmcad”
startproc $DSMCAD_BIN
rc_status -v
;;
stop)
echo -n “Shutting down dsmcad”
killproc -TERM $DSMCAD_BIN
rc_status -v
;;
try-restart)
$0 status
if test $? = 0; then
$0 restart
else
rc_reset # Not running is not a failure.
fi
rc_status
;;
restart)
$0 stop
$0 start
rc_status
;;
force-reload)
echo -n “Reload service dsmcad”
$0 try-restart
rc_status
;;
reload)
echo -n “Reload service dsmcad, not supported”
rc_failed 3
rc_status -v
;;
status)
echo -n “Checking for service dsmcad”
checkproc $DSMCAD_BIN
rc_status -v
;;
*)
echo “Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}”
exit 1
;;
esac
rc_exit
## fine script
Questo script da salvare in un file con estensione .sh e rendere eseguibile permette di cancellare il file x (exp_26022010.gz) generato ogni giorno presente sul disco locale solo dopo aver accertato che l’operazione di backup del client TSM non ha restituito errori.
vim mioscript.sh
#inizio script
#!/bin/sh
rc=0
DATEOLD=`date –date yesterday “+%d-%m-%Y”`
cd /opt/tivoli/tsm/client/ba/bin/dsmc arc /backup/export/* > /dev/null 2> 1
rc=$?
if [ $rc -eq 0 ]; then
rm -rf /archivio/exp_?-$DATEOLD.gz
fi
#fine script
se qualcuno vuole prendere spunto da quanto scrivo lo fa a suo rischio e pericolo.
Joomscan è uno strumento che permette di verificare la sicurezza del noto CMS Joomla. Questo strumento da testare ovviamente solo sul nostro sito personale è volto ad identificare vulnerabilità tipo Sql injection , command execution, Dos, Local file inclusion ,directory trasversal vulnarability of joomla al fine di metterlo al sicuro prima che qualche male intenzionato ne apprifitti.
Questo strumento è sviluppato in perl e quindi può essere utilizzato sia su sistemi Windows che Linux/Unix.
Possiamo scaricare il programma: sourceforge.net/projects/joomscan
Il sito del progetto www.owasp.org
Il risultato di una scansione:
Se quando lanciando perl ./joomscan.pl -u nostrositodatestare mi viene restituito un errore tipo:
-Can’t locate WWW/Mechanize.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./joomscan.pl line 2673.
BEGIN failed–compilation aborted at ./joomscan.pl line 2673.
basta installare:
apt-get install libtest-www-mechanize-perl
e riprovare.
dalla shell lancio:
su –login -c ‘visudo’
poi cerco la riga sottostante e la decommento
# %wheel ALL=(ALL) ALL
In questo modo tutti gli utenti appartenenti al gruppo wheel avranno modo di esegure comandi privilegiati.
ora creare un nuovo utente e lo associarlo al gruppo whell
useradd -c “Utente privilegiato” -d /home/utente1 -m -g users -G wheel utente1 && passwd utente1
Capita a volte di aver bisogno di file di grandi dimensioni per i motivi più disparati, in queste occasioni tornano utili due tools uno da usare sotto Linux ed uno sotto Windows che ci permettono di farlo in modo molto semplice e rapido.
Sotto Linux per questo scopo possiamo avvalerci del dd nel modo riportato di seguito:
dd if=/dev/zero of=/home/fileditest bs=4k count=125000
il valore finale 12500 identifica le dimensioni che in questo caso coincidono con 512MB.
Il comando dd può essere utilizzato per svariati scopi quindi vi rimando al man.
Su Windows il tool è fsutil e va lanciato dal prompt dei comandi come segue:
fsutil file createnew C:\fileditest.txt 536870912
il valore 536870912 in byte corrisponde a 512MB.
Se stiamo usando Vista dobbiamo ricordarci di avviare il prompt dei comandi con l’utente amministratore.
Questo sito www.pcflank.com permette di eseguire senza dover scaricare nessun tool, test anche abbastanza approfonditi sulla sicurezza del sistema dal quale ci si collega.
alcuni test disponibili : Quick Test Stealth Test Browser Test Trojans Test Advanced Port Scanner Exploits Test
facendo una scanzione del sito www.pcflank.com utilizzando il servizio di verifica messo a sisposizione da safeweb.norton.com si ottiene un risultato non è molto rassicurante.