c'e' solo un modo di fare le cose: farle bene
Da Wikipedia:
Un rootkit, (in ambiente Unix per “root” access si intende accesso di livello amministrativo, quindi letteralmente si potrebbe intendere equipaggiamento da amministratore) è un programma software creato per avere il controllo completo sul sistema senza bisogno di autorizzazione da parte di utente o amministratore. Recentemente alcuni virus informatici si sono avvantaggiati della possibilità di agire come rootkit (processo, file, chiave di registro, porta di rete) all’interno del sistema operativo.
Per capire se sul nostro server ci sono rootkit è necessario:
Tutto questi controlli portano via tempo e di certo non è un lavoro facile da fare.
In ambiente Linux esistono due tool particolarmente efficienti che fanno al caso nostro: ChkRootkit e rkhunter.
Il comando più immediato e veloce per vedere tutte le porta aperte sulle nostra Linux box è questo:
netstat -lnp
L’output è bello corposo ma di facilissima comprensione.
Se volessimo vedere tutte le connessioni attive:
netstat -nat
Tutto troppo facile!:)
Se con il nostro port-scanner preferito (nmap nel mio caso) vediamo che abbiamo una porta aperta ma non sappiamo chi abbia compiuto un gesto così irrespondabile possiamo usare il comodissimo comando fuser che va eseguito con i privilegi di root:
fuser -v -n (tcp | udp)
Facciamo una prova su un server che ha Apache in esecuzione:
fuser -v -n tcp 80
Ecco l’output:
USER PID ACCESS COMMAND
80/tcp: root 19375 F.... apache2
www-data 23223 F.... apache2
www-data 24155 F.... apache2
www-data 26253 F.... apache2
www-data 26271 F.... apache2
www-data 26272 F.... apache2
www-data 26273 F.... apache2
www-data 26274 F.... apache2
www-data 26275 F.... apache2
www-data 26277 F.... apache2
www-data 26282 F.... apache2
Questo tool è utilissimo quando ci accorgiamo che c’è qualche porta non aperta da noi in ascolto, ed è quindi possibile risalire al processo in esecuzione che crea tale anomalia.
A me piace il web 2.0, AJAX e tutte quelle belle iconcine con effetto glossy aqua e quindi ho sempre cercato ed usato software web 2.0 like ma, per una volta, questa scelta si è rivelata fatale: RoundCube WebMail soffriva di un bug altamente pericoloso.
Tramite file html2text.php era possibile effettuare code injection e quindi caricare file ed eseguirli. E’ successo ad un server che gestisco e chi ha sfruttato tale vulnerabilità ha carico sulla macchina uno script che si collegava ad IRC ed era in grado di smurfare IP di altri utenti.
Risultato? Lo script ha usato fino a 70 Mbit di banda rallentando quindi la connessione e rendendo i servizi ospitati sul server inutilizzabili.
Per fortuna sono stato in grado di capire dove fosse il problema e quindi di prendere le dovute contromisure ma la cosa che mi ha insegnato questo spiacevole evento è che BISOGNA USARE SEMPRE SOFTWARE DEBIAN se non si vuole perdere tempo a cercare ed installare gli aggiornamenti a mano.
Se RoundCube non fa parte del repository Debian un motivo c’è…
MySQL supporta nativamente la configurazione master/slave tra due database ma in questo modo si può scrivere solo sul master.
Se si ha la necessità di avere due database identici ed eseguire su entrambi operazioni di scrittura è necessario sincronizzarli in qualche modo. Si può optare per rsync e quindi aggiornare i file che compongono il database o, come nel caso che vedremo tra poco, usare i comandi di MySQL e muovere i dati via SSH.
Supponiamo di voler trasferire il dump di un database locale in un db remoto, il comando è questo:
ssh user@www.my_domain.com "mysqldump
-u my_remote_db_username --password=my_remote_db_password my_remote_db_name"
| mysql -u my_local_db_username --password=my_local_db_password --host=localhost -C my_local_db_name
Viceversa, dal database remoto a quello locale:
mysqldump -u my_local_db_username --password=my_local_db_password --host=localhost -C my_local_db_name | ssh user@www.my_domain.com "mysql -u my_remote_db_username --password=my_remote_db_password my_remote_db_name"
Facile no?
Usando SSH con autenticazione a chiave pubblica è possibile automatizzare la sincronizzazione con crond e quindi schedulare il processo di aggiornameno.
C’era una volta top ma poi arrivarono le librerie ncurses e la voglia di avere qualcosa di più user-friendly, nacque htop.
L’installazione è banale, basta un:
apt-get install htop
Per eseguire il programma è sufficiente:
htop
Ed eccolo in esecuzione:

La sua comoda interfaccia ci permette di visualizzare tutti i processi in esecuzione sul sistema ma anche di:
Consiglio di installarlo, è davvero utile.
Uso Facebook da più di un anno ed ho assistito alla sua evoluzione e alla mastodontica diffusione che questo social-network ha avuto specialmente in Italia.
Oltre a curare questo sito possiedo ed aggiorno il mio profilo su Facebook, quindi chi fa parte del social network può trovarmi lì cercando “Gianluca Gentile“.
Ricordo che da ieri sul sito è possibile consulatare la pagina “About me” dove sono presenti alcune informazioni su di me.
Gianluca dai che domani è sabato!
Gianluca si lo ammetto sono razzista, odio le ex.L'unica razza per cui nemmeno l'Onu muoverebbe un dito in caso di estinzione. Esseri spregevoli e abietti senza eguali.
Gianluca le belle donne sono invisibili,vedi solo la bella facciata,ti blocca la barriera della bellezza. Ammagliati dall'aspetto esteriore non arriviamo mai al mondo interiore e se mai accade uno dei due rimane deluso.
Powered by Lifestream.
| L | M | M | G | V | S | D |
|---|---|---|---|---|---|---|
| « lug | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||