WordPress: preparare trappole per i furbetti

Se dopo esserti protetto dai tanti attacchi bruteforce continui a vedere nei log errori 404 a percorsi non convenzionali (es. phpmyadmin, phpinfo, test, cgi, register, admin, system, ecc…) è possibile che qualche BOT automatico stia facendo una scansione cercando potenziali falle.

Una delle possibili soluzioni è l’implementazione di una semplice blackhole in php. In pratica si tratta di una trappola che scatta ogni volta che si tenta di visitare alcune url.

Via .htaccess si effettua il redirect verso un specifico file php che si occupa tracciare l’ip e quante più informazioni possibili presentando poi una pagina in cui lo si informa che la cosa non ci è piaciuta.

Per chiudere il giro, ad ogni acesso controlleremo che l’IP non sia uno dei quelli precedentemente tracciatati e nel caso gli diremo che il suo IP è stato bloccato:

“You have been banned from this domain”

 

Per completezza devo dire che questa tecnica presenta dei problemi di perfomace nel caso, con il tempo, il numero di IP da controllare dovesse diventare molto grosso in quanto richiedere la lettura di una file ed il confronto di una stringa per ogni pageview.

Al momento l’unica alternativa che conosco è fail2ban ma non sempre è possibile chiedere al proprio servizio di hosting la sua implementazione.

Ecco come procedere:

  1. Scarichiamo dal sito di Perishable Press il file Blackhole.zip e scompattiamo in una directory nella root del nostro sito e modifichiamo le variabili che troviamo dentro index.php (mittente, destinatario,soggetto)
  2. Aggiungiamo le regole al nostro .htaccess per intercettare le url “maliziose”
  3. Facciamo in modo di caricare il file blackhole.php dentro il nostro fuctions.php

Se abbiamo fatto tutto bene, tentando di accedere ad una di quelle URL, dovremmo trovarci davanti a quella bella pagina rossa che vedete qui in alto e il nostro IP dovrebbe essere stato aggiunto al file blackhole.dat. (ricordatevi che poi è da togliere)

Qui sotto due piccoli snippets che spero possano esservi d’aiuto:

Nota: io aggiungo al soggetto della mail che ricevo anche il SERVER_NAME in modo che sappia su che sito è stato tentato l’accesso: $_SERVER['SERVER_NAME']

 

Controllo degli accessi su SSH

Questa mattina controllando i report di alcuni server relativi al traffico generato ho visto qualcosa di alquanto anomalo.

Il grafico che vedete rappresente l’attivita del protocollo ssh e come potete osservare dalle 4.30 alla 6.30 qualche simpatico amico a tentato un brute force.

Da una prima analisi non sembra essere successo nulla di grave in quanto dai log si può vedere un banale tentativo di dictionary attacks.

Sotto potete vedere una parte del log restituito da questo comando:

# cat /var/log/auth.log | grep ssh | grep “invalid user”

Nello stesso modo ho poi verificato gli accessi “autorizzati” e fortunatamente non ne risultano altri oltre a quelli fatti dal sottoscritto:

# cat /var/log/auth.log | grep ssh | grep Accepted

E’ anche vero che nel caso in cui il nostro hackers fosse riuscito ad accedere avrebbe potuto eliminare una parte dei log ma voglio pensare che avrebbe eliminato tutti i riferimenti al suo ip.

Anche se considero l’attacco fallito ho cercato in rete come evitare questo tipo di attacchi e come in tante altre occasioni la ricerca è durata meno di un minuto: Preventing SSH Dictionary Attacks With DenyHosts

DenyHosts è un tool di sicurezza scritto in Python per server SSH. È pensato per prevenire attacchi brute force verso server SSH monitorando i tentativi di login invalidi nel log di autenticazione e bloccando gli indirizzi IP. (via wikipedia)

Dopo aver verificato se il pacchetto fosse già presente nei repository debian ho provveduto al solito:

# apt-get install denyhosts

Una veloce occhiata al file di configurazione per modificare la mail a cui inviare gli avvisi sui nuovi hosts bloccati ed un controllo lo script fosse in funzione come servizio sono al momento sufficenti per <s>farmi dormire tranquillo</s> rimandare di 24 ore le prossime analisi.

Videomarta e la sicurezza informatica

Ecco la nostra ultima fatica

Senza la pretesa di essere esaustiva su un argomento complesso come la sicurezza informatica, spero di dare un paio di idee per poter muoversi con un po’ più di tranquillità nel proprio computer.

E allora vediamo insieme perché fare un backup, ma anche che cosa sono virus, troian, worm e rootkit.

E poi quali sono i rischi portati da spam e phishing?

Può bastare un semplice firewall a proteggerci?

Insomma una veloce panoramica nel mondo della sicurezza informatica.

Link di riferimento: www.videomarta.com

[tags]videomarta, videoblog, sicurezza informatica[/tags]

3 righe per la sicurezza di un server SSH

SSH è uno di quei servizi che installo e configuro sempre, sia nel caso di Firewall, che di Web Server, Mail Server, File Server, ecc …

SSH - Secure SHell

Con il rilascio di debian etch, in caso di un installazione minimale fatta tramite netinst, è necessario installarlo manualmente, ma come di sempre, questa operazione e resa banale da apt …

# apt-get install ssh

A differenza di altri servizi che uso come mamma debian li ha preparati, per il sig SSH ho preso l’abitudine di modificare alcuni parametri del suo file di configurazione ( /etc/ssh/sshd_config ) che poi nella pratica si riducono in verità alla “rettifica” di due parametri ed all’inserimento di una terza riga.

La prima rettifica è relativa alla porta che secondo l’ICANN è la 22 ma che quando posso cerco di cambiare.

Port 123422

La seconda modifica blocca l’accesso per l’utente root. In questo modo nel caso riuscissero ad entrare si trovano con un utente con permessi limitati.

PermitRootLogin no

Il terzo cambiamento è una conseguenza del secondo in quanto se come root l’accesso non è permesso, e bene garantirlo a qualcun’altro.

Aggiungiamo quindi una riga indicando il nome dell’utente autorizzato.

AllowUsers nomeutente

Il tempo necessario per queste operazioni e al di sotto dei 60 secondi … e personalmente ritengo che i benefici siano pienamente ripagati da cotanto lavoro.

Link per approfondire:

  1. Lista di porte standard
  2. Uso e configurazione di Secure Shell
  3. Getting started with SSH

Look2Me: un Malware da incubo

Mi sarebbe piacuto iniziare dicendo … “ad un mio cliente è capitato … ” ma avrei mentito spudoratamente ….
Non chiedemi come … ma mi sono beccato un Malware.

Ovviamente non uno qualsiasi … ma un tale Look2Me.
Questo simpaticone ha iniziato con l’installarmi una decina di suo “colleghi” per poi nascondendosi tra i processi di winlogon.

Dopo essermi accorto della cosa, ed essermi maledetto per 2 minuti, ho fatto fatto partire l’usuale procedura utilizzata quando la vittima è cliente:

In questo modo riesco ad inibire l’avvio di alcuni eseguibili, e dopo la scansione del sistema vengono rilevate ed eliminate un notevole numero di schifezze. Dopo un paio di riavvi continuo serenamente le mie attività pensando di aver debellato l’infezione.

La mia tranquillità dura circa 5 min, sino alla comparsa una popup pubblicitaria spuntata del nulla …

Dopo altri due minuti di maledizioni, rifaccio le varie scansioni, che rilevano e rimuovono nuovamente un discreto numero di porcherie, ma nonostante la mia buona volontà, l’origine del problema sembra resistere allo sfratto.

Il problema immagino che sia dovuto al fatto che essendosi infilato tra i processi di Winlogon riesce ad avviarsi prima delle procedure di eliminazione.

A questo punto cerco, scarico e utilzzo dei tool specifici per la rimozione, e dopo diversi fallimenti, sequendo alcuni link di una discussione approdo alla soluzione:
Look2Me Remover V.1.2.0 Anti-malware (Updated: 29th Jan. 2006)

look2me-remover

Con due click, il problema e risolto senza Norton e senza reistallazione.
Le piccole soddifazioni della vita …

Php-Stats 0.1.9.1b

A fine marzo è stato rilasciato un importante aggiornamento con la correzione di alcuni bug abbastanza “rilevanti”.

L’aggiornamento è altamente consigliato.

Dopo avere fatto il backup della vecchia versione ( buona abitudine prima di ogni aggiornamento ) è sufficente sostituire i file contenuti nel nuovo pacchetto avendo cura di ripristinare il vecchio config.php.

posta elettronica sicura

Ho scoperto il collettivo A/I (autistici.org / inventati.org) tramite la brutta vicenda di cui si è venuti a conoscenza l’estate scorsa.

Cosa sono e cosa vogliono lo sanno bene “Per iniziare, vogliamo tutto.” ed il loro manifesto direi che è alquanto illuminante.

Tra i molti servizi messi a disposizione in condivisione ha attirato la mia attenzione quello che permette di avere un account di posta elettronica che mi piace definire sicuro o per lo meno più sicuro rispetto al 99%
di quelli offerti in giro sulla rete.

Mi permetto di riportare parte di quanto scritto sulle loro pagine.

Perché una casella di posta Autistici/Inventati

Le pregiudiziali per poter partecipare ai servizi offerti su questo server sono la condivisione dei principi di antifascismo, antirazzismo, antisessismo e non commercialità che animano questo progetto, oltre ovviamente a una buona dose di volontà di condivisione e di relazione ;)))))

Avere una casella di posta su questo server significa poter esercitare una maggior tutela della propria privacy, evitando di darei propri dati personali in pasto a qualche multinazionale o a qualche provider commerciale e utilizzando gli strumenti che il server mette a disposizione per questo, come ad esempio la cifratura SSL.

Inoltre noi non ti chiederemo né un codice fiscale, né un numero di documento e neppure il tuo nome e cognome per attivarti una casella.

Infine puoi scegliere tra molti simpatici domini quello che più ti aggrada ;)))

Questo è l’elenco (non completo ) dei domini messi a disposizione: inventati.org, autistici.org, paranoici.org, mortemale.org, hacari.org, hacari.com, hacari.net, bastardi.net, canaglie.org, stronzi.org, autonomi.org, insicuri.net, anche.no

Considerato che il progetto vive ESCLUSIVAMENTE grazie alle sottoscrizioni, il collettivo sarà molto felice per ogni piccolo gesto che farete, a partire da questa pagina.

Networking@LowLevel: Teoria dei protocolli

Se pur iscritto alla mailing list di Sicurezza.org mi era sfuggita questa interessante segnalazione che fortunatamente ossblog rilancia.

Mi riferisco a Networking@LowLevel un libro di Vincenzo Ciaglia distribuito sotto licenza Creative Commons.

Riporto la descrizione del libro fatta direttamente dall’autore.

Il libro è organizzato in 4 capitoli.
Il primo capitolo è prettamente di introduzione mentre dal capitolo 2 sino alla fine viene trattato l’argomento Networking.
Si comincia con la storia di Internet e gli sviluppi iniziali di quella che è diventata la rete più grande e
famosa del mondo, dai primi sviluppi e il modello a strati OSI al TCP/IP. Si prosegue col capitolo 3. Viene trattata, nei minimi particolari, l’intera suite dei protocolli di comunicazione del TCP/IP: File Transfer Procol, Domain Name Service, Internet Control Message Protocol, Internet Group Message Protocol senza tralasciare il futuro dell’ Internet Protocol: Ipv6.
Nel capitolo seguente, il numero 4, vengono affrontati i protocolli di routing, molto importanti e certe volte sottovalutati. Sono alla base del perfetto funzionamento della nostra rete e analizzeremo, anche questi, nei minimi particolari.

Il libro è distribuito sotto licenza Creative Commons ed è possibile scaricarlo subito da qui:
http://www.netwosix.org/NetworkingATLowLevel.pdf

Gli argomenti sono trattati con molta cura ad in modo molto approfondito e nonostante il tema non proprio “leggerissimo” ne consiglio la lettura a tutti gli aspirante sysadmin.

Reti Wireless (in)sicure

Le reti wireless ( aka senza fili ) continuano la loro crescita.
Molti portatili di ultima generazione hanno una scheda wireless integrata, gli access-point constano sempre meno e la banda messa a disposizione da questa tecnologia ( anche se non paragonabile al cavo ) è più che sufficiente per internet.

Dette queste banalità che tutti sappiamo passiamo ad un altro aspetto di questa tecnologia la sicurezza …

Escludendo chi decide di lasciare le chiavi appese alla porta di casa ( access-point con dhcp attivato e senza password ) è bene sapere che anche attivando WEP ( Wired Equivalent Privacy : protocollo per la protezione delle trasmissioni radio delle reti Wireless ) o WPA ( Wi-Fi Protect Access ) la nostra rete è lontano dal potersi definire sicura.

Esistono alcuni accorgimenti che possiamo prendere per abbassare il livello di penetrabilità, ed a tal proposito ho raccolto qualche link che mi ha dato modo di aumentare il mio livello di conoscenza sull’argomento.

Mini guida alle reti wireless di Paolo Attivissimo
Una rete senza fili… e senza misteri
Tutto sul Wi-Fi

Cracking Wi-Fi Protected Access Part 1
Cracking Wi-Fi Protected Access Part 2
Cracking WEP in 10 Minutes

Detto questo il mio progetto “internet dal salotto di casa tramite wireless” non è abbandonato, ma la consapevolezza dei rischi mi rende più attento e di fatto diminuisce il rischio di intrusioni.

Corso di Hacking avanzato

Questa sera ho partecipato gratuitamente ad una bellissima lezione di informatica ( Corso di Hacking avanzato ) attraverso un canale irc.

Un’esperienza molto istruttiva che spero di rifare la prossima settimana.

Questa fantastica iniziativa è organizzata da OpenInformaticLesson

Riporto una parte del loro “chi siamo

OILproject.org organizza lezioni gratuite di informatica (Python, Php, Linux, Hacking) che avvengono online e sono tenute da volontari che condividono le loro conoscenze con altri utenti, senza alcun fine di lucro.

Il progetto e’ portato avanti da giovanissimi (14-25 anni) che, nonostante le insormontabili distanze geografiche, collaborano per offrire un servizio di formazione a chiunque sia interessato ad inoltrarsi nell’ universo cibernetico.

L’obiettivo primario del progetto e’ quello di contribuire alla diffusione della cultura informatica nei giovani.

Abbiamo deciso che per raggiungere completamente il nostro obiettivo sarebbe stato necessario offrire un servizio gratuito.

Questi sono i corsi attualmente attivi:

  1. Php – Lunedi’ h 21 – #oilproject-web
  2. Hacking Base – Martedi’ h 21 – #oilproject-hack
  3. Python – Mercoledi’ h 21 – #oilproject-python
  4. Linux – Giovedi’ h 21 – #oilproject-linux
  5. Hacking avanzato – Venerdi’ h 21 – #oilproject-hack

… e per chi si è perso le prime lezioni sono disponibili i log delle lezioni precedenti ..