Security Alert CVE-2011-0720
Per la prima volta in 10 anni di sviluppo Plone è stata individuata una vulnerabilità importante.
Ecco il link ai dettagli: http://plone.org/products/plone/security/advisories/cve-2011-0720
In pratica, fino a martedi' 8 tutti i portali Plone sono "vulnerabili".
Il fatto che i dettagli del bug di sicurezza non siano resi pubblici fino a martedi' evita il diffondersi a macchia d'olio dei tentativi di intrusione, ma non elimina totalmente il rischio di attacco.
OPENPROJECTS ha avvisato tutti i clienti ed attuato la seguente politica per limitare il rischio:
- Fino a martedi' eseguiremo uno stretto MONITORAGGIO sulle MODIFICHE che vengono eseguite su tutti i portali Plone, in modo da individuare immediatamente eventuali azioni "indesiderate".
- In caso di evidenza di attacco ad uno qualunque dei nostri portali, l'intero DB di Plone verrà posto in SOLA LETTURA, ovvero nessuna modifica sarà possibile (fino a martedi), tale operazione se necessaria verrà comuncata via Email
Inoltre, i backup di tutti i portali sono SEMPRE pronti.
Abbiamo anche provveduto a relizzare un piccolo python-script che aiuta a monitorare le modifiche dei portali Plone, per avere prima l'evidenza di un eventuale deface.
A COSA SERVE: a vedere "rapidamente" le ultime 10 modifiche fatte su TUTTI i nostri portali Plone
PERCHE': in questo modo, ci accorgiamo se qualche HP è stata cambiata (deface) oppure se risulta cambiato qualcosa da un utente ANONIMO
COME LO USO: nella vostra root di ZOPE, aggiungete un Python script e copiateci il codice. Eseguitelo (test) con privilegi di Manager
Ecco lo script:
from Products.PythonScripts.standard import html_quote
request = container.REQUEST
RESPONSE = request.RESPONSE
indirizzi={}
indirizzi['nome-sito-in-plone']='indirizzo-del-sito-in-internet'
indirizzi['nome-sito-in-plone']='indirizzo-del-sito-in-internet'
indirizzi['nome-sito-in-plone']='indirizzo-del-sito-in-internet'
### riempite questo dizionario con i vostri portali Plone
### esempio: sito www.pippo.com , l'istanza si chiama "pippo" :
### indirizzi['pippo']='www.pippo.com'
siti=indirizzi.keys()
ris=[]
dict={}
for sito in siti: r=container[sito].portal_catalog.searchResults(limit=10, sort_on='Date', sort_order='reverse')[:10] if r: for obj in r: try: o=obj.getObject() address='/'.join(o.absolute_url(relative=1).split('/')[1:]) dict[o.ModificationDate()]=" "+sito+" - <a target=_blank href=http://"+indirizzi[sito]+"/"+address+">"
dict[o.ModificationDate()]=dict[o.ModificationDate()]+o.title_or_id()+"</a>"+" by "+o.Creator()+"<br>"
except: print "ERRORE: SITO=",sito, "OGGETTO=",o.id sorted_keys=[] sorted_keys=dict.keys() sorted_keys.sort() sorted_keys.reverse() for i in sorted_keys: print i,dict[i] return printed

