eh, le radici cristiane

Novembre 26, 2009

I miei la sera guardano il Milionario. Quindi, quando decido che ho fame e vado a cenare, mi tocca sorbirmelo. Ogni volta mi rendo conto di come la cultura, nel paese dove ne trabocca, sia sotto le scarpe. A parte quando capitano le domande di calcio dove sanno rispondere tutti. Voi direte che il Milionario non può essere un campione statistico affidabile. Ma se uno arriva fino alla trasmissione…non prendono il primo pirla dalla strada per partecipare al gioco…o sì?

Ah me viene il nervoso ma proprio in questo periodo incomincio a bestemmiare sopra le domande di religione: chi ha circuito Eva perché mangiasse la mela? Cosa c’era dentro l’Arca dell’Alleanza? Ce ne sono state anche altre di simili e molto facili. Ma possibile che questo paese sia ultra-cattolico-conservatore, la meni a destra e a manca con le radici cristiane, si faccia catechismo dentro le mura delle scuole pubbliche, ti facciano multe di 500 euro se non esponi il crocifisso ecc…e poi non si sappia rispondere a queste domande?!

Ma dio boia…chi avrà mai circuito Eva? Ma dentro l’Arca dell’Alleanza ci sarà stato il Santo Graal? Il corpo di Mosè? Stavo per svenire…porco dio


Assuefazione cinematografica II

Novembre 25, 2009

La mia Assuefazione cinematografica ormai è arrivata a livelli insopportabili. Devo ricominciare a registrare i film impossibili1 che trasmette Fuori Orario. Almeno là, porca puttana, mi riesce impossibile capirne la trama o il colpevole (40)80 minuti prima della fine del (tele)film!!!

Nella nona puntata, della quarta stagione di Dexter, avevo già capito che era la ragazza di Quinn l’assassina di Lundy…che palle…mi rovino i colpi di scena!!!! Passi per Fear Itself ma anche Dexter vado a rovinarmi.

Ormai è un dono che mi perseguita o sono gli sceneggiatori privi di fantasia…Ma succede solo a me?

1 Non in senso dispregiativo ovviamente, sono cresciuto con questo programma…


Arch Linux: Phoronix con GUI

Novembre 24, 2009

Avendo intenzione di fare dei benchmark dopo ogni cambiamento, sulla mia macchina con Arch Linux, ho deciso di installare Phoronix-test-suite. Usando anche la GUI.

Per ottenere questo bisogna installare php-gtk (il binding php per le librerie gtk) ma questo, al momento attuale, funziona solo con php<5.3.

Installazione del necessario

Ho trovato la soluzione su AUR. Da qui ho prelevato sia php 5.2 che php-gtk. Scompattati e installati con

$ makepkg -scir

Non uso yaourt e non ho intenzione di farlo! Fatto questo non resta che installare phoronix-test-suite

# pacman -S phoronix-test-suite

Configurazione

Qui ho trovato un dilemma. Facendo partire l’applicazione con le configurazioni php per php-gtk bisogna eseguire una roba del genere

$ php -c /etc/php/php-gtk.ini /usr/share/phoronix-test-suite/pts-core/phoronix-test-suite.php gui

Come se non bastasse i vari risultati dei test tentavano di essere salvati su tale directory (ovviamente impossibile: perché il tutto è di proprietà di root). Quindi ho adottato una soluzione drastica

# cd /etc/php
# mv php.ini php.ini_back
# mv php-gtk.ini php.ini

Finalmente così possiamo dare

$ phoronix-test-suite gui

senza colpo ferire.

Conclusioni

I nostri file di configurazioni, i test, risultati dei test verranno salvati in ~./phoronix. La GUI funziona un po’ male; apre molte finestre inutili durante i test che possono essere tranquillamente chiuse alla fine e alcuni test non riesco a installarli (ma provando dalla CLI il risultato è medesimo). Ora mi resta solo da capire come fare i confronti con test fatti su altre macchine…ma per questo c’è tempo!


variabili oggetto, d’istanza: da Java a Python

Novembre 23, 2009

Questo è un argomento della Programmazione Orientata agli Oggetti ma non mi entra mai in testa e ogni volta mi perdo nel nulla. Sopratutto perché tale paradigma mi è stato spiegato solo con Java a Fondamenti di Informatica 1, usato negli altri corsi Universitari e infine ho dovuto imparare in tutta fretta C# per il tirocinio che mi avrebbe permesso di laurearmi. Quindi non ho una così ampia base astratta di comprensione teorica e mi basta cambiare linguaggio, per esempio Python, che ricado nelle stesse paranoie.

Java:

  • un oggetto ha le sue variabili che vengono chiamate Variabili di Esemplare (o Variabili d’Istanza) e non sono disponibili all’esterno delle classe.
  • una classe ha le sue variabili che vengono chiamate Variabili Statiche e non sono disponibili all’esterno della classe ma sono condivise fra gli oggetti della stessa.

Python:

Tutto quanto ho scritto non ha una regola fissa e il fatto di andare a toccare le Variabili di Esemplare/d’Istanza o Attributi Dato non mi è mai successa molto spesso: per questo faccio un casino della madonna. Un programmatore può rendere disponibili direttamente, senza cioè metodi sugli oggetti, le Variabili di Esemplare/d’Istanza o Attributi Dato, quindi rendere meno restrittivo l’incapsulamento.

Per esempio in C# le Variabili di Esemplare/d’Istanza o Attributi Dato possono essere tranquillamente viste all’esterno grazie alle Proprietà che permettono di non scrivere tanto codice per la scrittura di metodi (viene usato infatti per gli oggetti grafici).

Spero di non aver scritto strafalcioni altrimenti correggetemi, sono un n00b (o forse solo un nerd mancato che perde tempo a lavarsi e vestirsi bene).


ssh: denyhosts

Novembre 22, 2009

Configuare OpenSSH a prova di bomba

Siamo talmente paranoici che abbiamo fatto, quasi, tutto quanto consigliato qua per rendere il nostro server con OpenSSH a prova di bomba. Per un uso casalingo io non ho impostato però nessun firewall (mi fido delle impostazioni che ho messo sul mio router netgear dg834g) cioè nessuna regola di iptables sul sistema dove è veramente installato OpenSSH server.

Fregare gli attacchi brute-force

L’unica cosa che mi scoccia sono questi essere infimi, e poco pericolosi, chiamati script-kiddies che tentano degli attacchi brute-force sulla porta 22. Non che sia una gran scocciatura ma i file di log, più precisamente i /var/log/auth.log, tendono a riempirsi paurosamente. Ho trovato una soluzione KISS usando un programma, scritto in Python, chiamato denyhosts. Il concetto è semplice: si guarda i file di log e se un determinato IP fallisce la connessione ssh lo blocca ficcandolo in /etc/hosts.deny.

Una precisazione su come funzionano /etc/hosts.allow e /etc/hosts.deny. Questi sono dei file che configurano il TCP Wrapper: una spiegazione esaustiva si trova negli Appunti di Informatica Libera di Daniele Giacomini. Riassumendo: se un IP è regolamentato da una regola in /etc/hosts.allow tutto fila liscio, se invece questo IP non è previsto in /etc/hosts.allow il sistema guarda /etc/hosts.deny. Quindi in /etc/hosts.allow, se vogliamo fare in modo che gli IP della nostra sottorete non vengano bloccati, mettiamo questa riga:

sshd: 192.168.0.0/255.255.255.248

Ovviamente questo è solo un esempio preso dalla mia configurazione. Se non sapete niente di reti e sottoreti non capirete una tega, forse potrebbe venirvi in aiuto il programma ipcalc:

Esempio ipcalc

ma anche Wikipedia…se non basta fatevi un corso universitario di Reti di Calcolatori o leggetevi un libro a riguardo o rompete i coglioni a un SysAdmin (non io: non lo sono!).
In /etc/hosts.deny non mettiamo nulla: se ne occuperà automaticamente denyhosts. Per esempio una riga che aggiunge denyhosts è la seguente (ovviamente l’IP bloccato è di fantasia):

# DenyHosts: Sat Nov 21 13:05:13 2009 | ALL: 123.123.123.123
ALL: 123.123.123.123

Figo no? Ora non ci resta che editare il file di configurazione di denyhosts che si trova, su Arch Linux, in /etc/denyhosts/denyhosts.cfg.

Configurazione di denyhosts.cfg

Prendo paro paro il mio file di configurazione con una spiegazione tutta mia. Le FAQ sul sito e i commenti su denyhosts.cfg sono molto esaustivi ma degli esempi in più non fanno mai male e non vi faranno sicuramente schifo (vero?). Comunque sia sto usando la versione 2.6 di denyhosts.

SECURE_LOG = /var/log/auth.log Ovviamente questo è il file che denyhosts parsa per andare a pescarsi gli IP da bannare.

HOSTS_DENY = /etc/hosts.deny In un sistema Linux è qui che ci sono le regole per il TCP Wrapper degli IP a cui è vietato l’ingresso nel sistema.

PURGE_DENY = 2d Ricordo che stiamo parlando di uso domestico, quindi abbiamo un indirizzo dinamico raggiungibile magari, con l’ausilio di dyndns come ho fatto io, con un URL www. Ma abbiamo sempre un indirizzo dinamico e ad ogni caduta di connessione (grazie Telecom) cambiamo spesso IP. Quindi gli script-kiddies non punteranno sempre a noi pensando che siamo sempre noi cambiando, magari, gli username e password. Insomma non siamo un bersaglio fisso! Quindi è inutile riempire /etc/hosts.deny di IP. Anche perché magari pure gli script-kiddies hanno IP dinamici come tutti i comuni mortali (a parte i compuer zombie ma si spera di no). Quindi è meglio ripulire /etc/hosts.deny abbastanza spesso. 2d infatti sta per 2 day: due giorni.

BLOCK_SERVICE = ALL Ok, abbiamo solo sshd attivo come servizio. Sarebbe più logico mettere BLOCK_SERVICE = sshd. De gustibus. Questo cambia ovviamente le occorrenze di /etc/hosts.deny che dal mio esempio precedente diventerebbero

# DenyHosts: Sat Nov 21 13:05:13 2009 | sshd: 123.123.123.123
sshd: 123.123.123.123

Denyhosts è molto configurabile, può controllare o tutti i servizi o solo quello che vogliamo noi.

DENY_THRESHOLD_INVALID = 2 Ogni due tentativi da parte di un username invalido (che non esiste sul sistema o che non è specificato in AllowUsers o AllowGroups in /etc/ssh/sshd_config) l’IP viene bannato. Metti che uno al posto di scrivere cicciobanza scrive cicciobnza…lo banniamo subito? Diamogli una seconda possibilità.

DENY_THRESHOLD_VALID = 3 Diamo invece tre tentativi a un user valido nel sistema, magari ha la giornata storta e sbaglia la password (che comunque, siamo stati bravi, è un’autenticazione chiave pubblica/privata).

DENY_THRESHOLD_ROOT = 1 Diciamo che se uno tenta subito root lo banniamo immediatamente..vero?

DENY_THRESHOLD_RESTRICTED = 1 Questa è una sboronata. Possiamo specificare degli username (in /var/lib/denyhosts/restricted-usernames) a cui possiamo dare tot tentativi. Io ho messo 1 perché ci metto i classici: mysql, test, user…i soliti username che non andrebbero mai usati…

WORK_DIR = /var/lib/denyhosts Si commenta da sola, io la lascio così di default e consiglio di fare altrettanto!

SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES A dire la verità non ho ben capito. Sembra che denyhosts si faccia dei sospetti di attacco anche sugli hosts della nostra sottorete e ci avverta di questo. Ho lasciato YES ma approfondirò in seguito…

HOSTNAME_LOOKUP=NO A dire la verità non ho capito molto questo. Non ho capito cosa se ne faccia denyhosts del nome host dell’IP associato che blocca. Approfondirò anche questo…

LOCK_FILE = /var/run/denyhosts.pid Si commenta da solo, lasciamolo così com’è.

ADMIN_EMAIL = Lo lascio vuoto, non ho nessun Postfix o simili installato sul sistema che invii mail di avvertimento quindi…

AGE_RESET_VALID=1m Resetta i tentativi, dopo un minuto di inattività, di un utente valido. Del tipo, scannate password, aspettate un minuto: avete ancora 3 tentativi (riguardate DENY_THRESHOLD_VALID).

AGE_RESET_ROOT= Se uno tenta root non gli diamo altre possibilità.

AGE_RESET_RESTRICTED= Se uno tenta mysql non gli diamo altre possibilità.

AGE_RESET_INVALID= Se uno tenta un utente invalido non gli diamo altre possibilità.

DAEMON_LOG = /var/log/denyhosts Si commenta da solo. Comunque è meglio aggiungere /var/log/denyhosts in /etc/logrotate.d/syslog-ng in modo che logrotate faccia la rotazione anche dei log di denyhosts.

DAEMON_SLEEP = 1m Ogni minuto denhyhosts controlla i file di log. Ci saranno comunque dei tentativi, in un minuto, gli script kiddies provano circa 5-10 username al colpo.

DAEMON_PURGE = 1h Il periodo, quando denyhosts è daemonizzato, con il quale controlla le occorrenze di /etc/hosts.deny e le toglie (in base ovviamente a PURGE_DENY)

Queste sono configurazioni base e utili per un sistema casalingo. Più fico sarebbe sincronizzare /etc/hosts.deny anche con IP bannati da altri che usando denyhosts e che condividono le informazioni (tutto sempre configurando denyhosts.cfg) ma è troppo per noi. Io ho provato ma, come ho già detto, non siamo bersagli fissi.


Fear Itself II

Novembre 21, 2009

Ok, questo telefilm è pieno di storie trite e ritrite. Ogni puntata, dopo i primi 10 minuti, capisco già tutta la trama…

Del tipo: se fai un torto a qualcuno occhio che qualche parente poi cerchi di vendicarsi in maniera paranormale, non rischiare di morire in ospedale vicino a un assassino che vi scambiate i corpi, se qualcuno riceve un biglietto con scritto qualcosa riguardo a un altro quel biglietto è invece stato dato alla persona giusta… buahhhhhhhhhhhhhhhhhhhhh che palle!!!

Chi come me è ormai assuefatto ha capito di cosa parlo…


Fear Itself

Novembre 21, 2009

Questa serie dovrebbe essere la pronipote di The Twilight Zone e The Outer Limits. Beh sono rimasto sconvolto.

Prendiamo, fra i tanti, un film mediocre horror americano, accorciatelo di meno di un’ora e abbiamo Fear Itself.

Ieri sera ho visto la prima puntata (The sacrifice, Le tre sorelle) e mi sono ritrovato nella stessa location, del film canadese, Licantropia. Solo che questa volta invece dei lupi mannari c’erano dei vampiri che mi ricordano i wurdalak del film I tre volti della paura. C’erano anche 3 sorelle che rifornivano di vittime: ho un deja-vu ma sono comunque sicuro che non c’è niente di nuovo in questa trovata.

Mi informo meglio: dai registi e sceneggiatori che si alternano, nelle varie puntate, non ci si poteva aspettare di più. Ci sono anche gli stessi dei (tele)film horror, triti e ritriti, che passano al cinema. Speriamo in qualcosa di meglio dagli altri.

Per esempio il secondo episodio è diretto da Brad Anderson: sì…il regista di Session 9!

PS che poi: se quelle 3 tizie erano rumene io sono Babbo Natale. Bionde con la carnagione chiara? Rumene? Dai!!!! Cazzo almeno informatevi delle caratteristiche somatiche!


america vs russia

Novembre 19, 2009

In America ci si interroga quale modo usare per uccidere i condannati a morte.

In Russia la Corte Costituzionale dichiara inapplicabile la pena di morte.

(Se qualcuno vuole commentare almeno si legga gli articoli.)

Dato che questo argomento ci tocca da vicino vorrei esprimere una opinione. Anzi una domanda: cosa pensano di risolvere le persone che vogliono che lo Stato attui la loro vendetta privata?

Studiando la Storia l’omicidio di Stato è sempre stato un mezzo: per eliminare persone fastidiose, per ottenere consenso dalla popolazione, per una spettacolarizzazione della morte per distogliere l’opinione pubblica. Non si è mai ottenuto niente in cambio se non questo. Retrocedere a questi livelli non mi pare una grossa genialata.

Che serva poi per scoraggiare i criminali? Sapete qual’è lo posto con il maggior numeri di morti a causa delle armi da fuoco? Gli USA. E negli Stati che lo compongono, e che hanno la pena di morte, la percentuale di criminalità è superiore agli altri.


laid do rest, killer movie e scream

Novembre 19, 2009

Cosa hanno in comune questi film? Un assassino che riprende, con una telecamera sulla spalla, i suoi omicidi in una cittadina con un oscuro passato.

Sì vabbeh ho mischiato le carte, per rendere meglio l’idea:

laid to rest + scream = killer movie

Killer movie è stronzo però, si pensa che gli omicidi siano collegati alla storia del paesino invece no. O almeno questo è quello che ho capito…


Il culo privato

Novembre 18, 2009

Privatizzano l’acqua, un bene essenziale.

Paghi la bolletta, servizi scadenti perché le aziende mirano al guadagno che si traduce in: risparmio sulla manutenzione. E chi ci guadagna? La massa popolare? Ovvio che no..saranno sempre i soliti industriali… Questo è già successo con le ferrovie e con la telecom tanto per capirci.

Ma un servizio essenziale? L’acqua? Come faranno a non approfittarsene? Chi ne controllerà i prezzi? E la purezza?

Fra un po’ ci faranno pagare anche l’aria; anzi anche quella, a ben guardare, ci fanno pagare. Quando ci fanno produrre inquinamento, con le aziende o con le automobili, le aziende esternalizzano i costi dovuti allo smaltimento. Paghiamo, in salute, per farci asfissiare perché qualcuno ci deve guadagnare.

Forse il culo è privato ma non ne sono tanto sicuro.