lunedì 31 marzo 2008

Creare un tunnel SSH per navigare con Firefox in sicurezza

Un tunnel ssh per Firefox verso un computer remoto e' una buona misura di sicurezza. Specialmentre quando ci si connette attraverso una rete non sicura come un hotspot wifi o altre reti pubbliche. Il tunnel cripta e invia i dati al vostro computer remoto e da li' spediti sul web fino ai vostri siti di destinazione. Questo tutorial assume che voi abbiate un account ssh su un computer remoto. Il resto non e' difficile.

Tutto quello di cui avete bisogno e' loggarvi al computer remoto su cui avete accesso SSH e lanciare il comando seguente:

ssh -D 9999 -C NOME_UTENTE@INDIRIZZO_IP_VOSTRO_COMPUTER

Lo switch -D specifica un port forwarding dinamico locale a livello applicazione.
Lo switch -C attiva la compressione

Rimane da configurare Firefox:

Cliccate su Firefox> Edit> Preferences> Advanced tab> Network tab> Settings
Selezionate Manual proxy configuration

Compilate i seguenti campi:

SOCKS Host: localhost Port: 9999
SOCKS v5
No Proxy for: localhost, 127.0.0.1

N.B.: in certi casi l'uso di localhost puo' causare problemi. Se i settaggi sono corretti ma non ottenete risultati, sostituite localhost con 127.0.0.1

(traduzione dell'articolo: http://onlyubuntu.blogspot.com/2008/03/create-ssh-tunnel-for-firefox-to-surf.html)



sabato 29 marzo 2008

Monitorare un server con SNMP e Cacti

Seguire le istruzioni presenti al seguente indirizzo:

http://www.debuntu.org/how-to-monitor-your-servers-with-snmp-and-cacti


Con alcuni sistemi (tra cui Ubuntu Gutsy) al momento di accedere per la prima volta al sistema cacti (http://localhost/cacti) si riceve una pagina bianca con il seguente errore:

Invalid PHP_SELF Path


Per risolvere questo problema occorre editare il file config.php (in Ubuntu Gutsy e' /usr/share/cacti/site/include/config.php) e modificare la linea seguente (su Gutsy e' la linea 87):

if (!((is_file($_SERVER["SCRIPT_FILENAME"])) && (substr_count($_SERVER["SCRIPT_FILENAME"], $_SERVER["PHP_SELF"])))) {

deve diventare:

if (!((is_file($_SERVER["SCRIPT_FILENAME"])))) {


A parte questo problema la guida di installazione indicata a inizio post e' completa e ben spiegata. Se capita vedro' di postarne la traduzione in Italiano.

venerdì 28 marzo 2008

Questione di (scarso) feeling


All'inizio furono le console seriali.
Poi venne il telnet.
Qualcuno creo' dei menu, diciamo, amichevoli

Poi venne il web....e le web applications.....e fu il caos.

Purtroppo qualche produttore usa nei suoi menu di configurazione qualche feature proprietaria o forse solo meglio gestita da certi browser.

Alcuni esempi:

Router Dlink (vari modelli)

Problema: il router SEMBRA salvare i settaggi (ad esempio quelli di NAT/Virtual Servers), in realta' non li salva solo temporaneamente per dimenticarseli appena puo'.

Soluzione: accedere alla configurazione con Internet Explorer in quanto pare che il programma utilizzi del codice javascript non gestito correttamente da Firefox.

Telefono Eutelia IP 301

Problema: vari errori cercando di aggiornare il firmware del telefono da sistemi Linux

Soluzione: obbligatorio lanciare l'aggiornamento da un sistema Windows, si consiglia pero' l'uso di Firefox.

Security: Attacco SYN FLOOD


Che cos'e' un attacco SYN-FLOOD?

Un attacco SYN-FLOOD e' un attacco DOS (Denial Of Service) in cui l'attaccante invia un enorme quantitativo di pacchetti di tipo PER_FAVORE_INIZIAMO_UNA_CONNESSIONE e niente altro.

Trovate un'ottima e approfondita descrizione sul sito del CERT.

Come difendere un server Linux?

Per difendere un server Linux con un carico moderato, e' sufficiente attivare i syncookies TCP nel kernel (eventualmente in fase di compilazione, trovate maggiori dettagli nell'help in fase di configurazione del kernel) e nel filesystem /proc. Ripeto, questo vale in caso di carico moderato.

I problemi cominciano quando il carico addizionale introdotto dalla generazione dei syncookies diventa troppo per un server con un carico gia' alto in partenza. In questo caso e' consigliabile cercare l'IP address dell'attaccante e filtrarlo con iptables.

Come trovare l'attaccante


Impresa valutabile tra "molto difficile" e "impossibile". Di solito infatti l'IP address nei pacchetti SYN FLOOD non e' quello reale, si dice che e' stato SPUFATO (spoofed).

Potete comunque semplificare la ricerca scrivendo tutti i pacchetti SYN su un file di log. Attenzione pero': il log conterra' tutte le connessioni aperte legittimamente sul vostro server oltre ai pacchetti SYN usati per l'attacco in corso.

Un tool per scrivere un log del genere e' SYNWatch di Jeff Thompson. Lo potete trovare qui o qui.

Debian etch: aggiornamento automatico dell'ora di sistema



apt-get install ntp
apt-get install ntpdate

Il comando seguente mostra la situazione dei server NTP configurati su /etc/ntp.conf:

ntpq -p
Il comando seguente setta l'ora di sistema collegandosi a un server NTP:

ntpdate


Se l'orario automaticamente settato non coincide con l'ora corrente della vostra zona e' possibile che sia errata la timezone del vostro sistema.

Per correggere la timezone e' sufficiente lanciare il seguente comando e rispondere alle domande che vi vengono poste:

timezone

mercoledì 26 marzo 2008

Rete a onde convogliate: rete LAN su rete elettrica


Non male l'offerta di Alice Video, digitale terrestre, video on demand e eventualmente Sky (se solo non odiassi Sky....ma tanto a settembre me ne libero)

Non male dicevo...ma solo se hai il televisore vicino alla presa telefonica e possibilmente non incastrato in una specie di mobile antico.

Se non vi trovate nella condizione ideale sopra descritta avrete qualche problema, in quanto vi troverete il router di Alice vicino alla presa telefonica, il decoder vicino al televisore e qualche metro di cavo di rete CAT5 o superiore che attraversa il vostro salotto, piu' o meno nascosto ma pur sempre irrimediabilmente visibili (specialmente mentre scala il mobile antico).

Una condizione sicuramente odiata da qualsiasi massaia (o madre, o moglie, o ...)

La soluzione che ho adottato in una situazione del genere e' quella della rete a onde convogliate.
In pratica si usano due 'scatolini' (nel mio caso i Devolo dLan 200 AVeasy) inseriti in due prese di corrente vicine alle apparecchiature da collegare (router e decoder in questo caso). Queste sono collegate agli 'scatolini' con un semplice cavo di rete.

Il gioco e' fatto. I nostri pacchetti di dati gireranno allegramente sulla rete elettrica, da uno scatolino all'altro. Anzi se avete piu' scatolini potrete collegare insieme piu' apparecchiature.

Il modello 200 e' dichiarato per 200 Mbps e consente un trasferimento decente dello streaming video (il vecchi modelli da 85 Mbps stentavano un po', figurarsi quelli da 14 Mbps)

Purtroppo nel caso di Alice, non e' possibile usare contemporaneamente il collegamento Video e il normale collegamento internet in quanto usano due canali separati del router. Per passare da un tipo di collegamento all'altro e' pero' sufficiente spostare il cavo di rete dalla porta del router dedicata al video (colorata in verde) a una delle altre porte disponibili.

sabato 22 marzo 2008

L'airone sta per arrivare...

Ho provato la beta su una macchina virtuale Virtualbox e non mi pare ci siano grossi problemi.....certo mi piacerebbe vederla girare su qualche macchina fisica. Vedremo in settimana se si presentera' l'occasione.

venerdì 21 marzo 2008

Asterisk: chiamate silenziose in uscita

Va bene non voler disturbare, ma non riuscire a sentire o a far sentire nulla quando telefoni puo' essere seccante.

E' quanto accadeva al mio Asterisk: le telefonate in entrata sono perfette. Quelle in uscita completamente mute, sia per il chiamante che per il chiamato.

Ho risolto inserendo le seguenti linee nel file /etc/asterisk/sip_nat.conf:

externip = INDIRIZZO_IP_DEL_ROUTER_O_SUO_NOME_DNS
localnet = 192.168.1.0/255.255.255.0
nat=yes


Queste informazioni erano gia' inserite nella definizione del trunk SIP, pero' evidentemente non vengono prese in considerazione.

Bisogna assicurarsi poi di avere la seguente linea nel file /etc/asterisk/sip.conf:

#include sip_nat.conf

giovedì 20 marzo 2008

Creare un pacchetto .deb partendo dai sorgenti.

Dovete installare il pacchetto checkinstall:

sudo apt-get install checkinstall



Poi vi spostate nella directory contenente i sorgenti da installare.

cd DIRECTORY_SORGENTI
./configure
make


Normalmente concludereste l'installazione con il comando:

make install


Questa volta invece usiamo il comando:

sudo checkinstall


Confermate pure tutti i default proposti, verra' creato e installato il pacchetto deb con i binari compilati.

ATTENZIONE!!!!

N.B.: il pacchetto creato non si preoccupa di controllare le dipendenze, quindi non puo' essere usato per la distribuzione pubblica in repository e altro. E' piu' che altro adatto per il vostro sistema o per piu' sistemi allineati tra loro.

Se non vi basta Tilda....Guake

Finora ho sempre usato Tilda.
Aspettando la tanto agognata 0.9.6, ho provato un programma simile: Guake (se usate KDE c'e' sempre Yakuake)

Potete scaricare qui la versione per Ubuntu (7.04 e 7.10).

Per modificare i settaggi dovete cliccare con il tasto destro sulla tray icon.

F12: mostra e nasconde il terminale di Guake
CTRL + SHIFT + T: Apre un nuovo tab
CTRL + PAGINA SU: passa al tab seguente
CTRL + PAGINA GIU: passa al tab precedente

POSSIBILE PROBLEMA 1

Se lanciandolo ricevete il seguente errore:

Gconf Error.
Have you installed guake.schemas properly?


allora dovete lanciare questo comando:

gconftool-2 --install-schema-file=
/usr/etc/gconf/schemas/guake.schemas


Il comando va scritto tutto su una linea.

POSSIBILE PROBLEMA 2

Se dopo un po' il terminale viene sostituito da una finestra grigia, andate nelle impostazioni e disabilitate la voce:

Animate on show and hide

martedì 18 marzo 2008

La pagella di Bogofilter

Per controllare lo stato di apprendimento del filtro bayesiano di Bogofilter potete lanciare questo comando da terminale:
bogoutil -H ~/.bogofilter/wordlist.db


Avrete un output simile a questo:

Histogram
score count pct histogram
0.00 87856 95.82 ################################################
0.05 11 0.01 #
0.10 22 0.02 #
0.15 29 0.03 #
0.20 30 0.03 #
0.25 27 0.03 #
0.30 26 0.03 #
0.35 51 0.06 #

0.40 56 0.06 #
0.45 43 0.05 #
0.50 51 0.06 #
0.55 46 0.05 #
0.60 45 0.05 #
0.65 60 0.07 #
0.70 94 0.10 #
0.75 93 0.10 #
0.80 126 0.14 #
0.85 159 0.17 #
0.90 277 0.30 #
0.95 2586 2.82 ##

tot 91688
hapaxes: ham 44440 (48.47%), spam 1679 ( 1.83%)
pure: ham 87847 (95.81%), spam 2002 ( 2.18%)
Di solito i migliori risultati si hanno quando i grafici delle line 0.00 e 0.95 sono simili.

lunedì 17 marzo 2008

Ciao Spamassassin, ti tradisco con Bogofilter


Mi sono chiesto per un p0' di tempo (e pigramente non mi sono mai dato o cercato una risposta) come mai Evolution ci mettesse tanto tempo a scaricare la posta POP3.

Pensavo qualche problema con il router (che in effetti qualche stranezza l'aveva), ma qualche giorno fa, dopo aver sostituito il router, ho constatato lo stesso problema.

Stavo per protestare con il provider, con il provider di posta, con il produttore del router.....

Per fortuna non ho protestato con nessuno perche' la colpa era di Spamassassin, ebbene si', del mio amato antispam di cui ho sempre parlato sol che bene.

Ho provato a impostare Bogofilter come sistema antispam usato da Evolution....ora e' un razzo, certo ancora lo devo educare su cosa e' SPAM e cosa e' HAM (ovvero il NON SPAM) ma al ritmo con cui ricevo spam su certi account non dovrebbe essere un problema :-)

sabato 15 marzo 2008

Tagliatelle con gli stridoli

Notizia di scarso valore informatico ma di alto valore godereccio.
Mi sono cimentato per la prima volta nella preparazione di un sugo di stridoli (o strigoli) da accoppiare a due tagliatelline all'uopo preparate dalla sapiente madre.

Risultato: moglie e gatto entusiasti

N.B.: il giudizio del gatto e' stato determinante.

Regole per spamassassin


Un sito utile per chiunque abbia voglia di giocare con il proprio spamassassin aggiungendo nuove regole:

http://www.rulesemporium.com/index.html

giovedì 13 marzo 2008

Tono di libero (ringback) prima di IVR

Il centralino di prova era ormai a posto, il giro del fumo sembrava corretto, pero' restava una piccola fesseria da sistemare. Quando uno chiama il centralino partiva dopo 2 secondi la voce dell'IVR, senza neanche uno squillo che la precedesse.

Questo comportamento anomalo potrebbe far innervosire qualche utente (del resto sono abituati a sentire uno squillo quando chiamano qualcuno e la linea non e' occupata) e cosi' ho cercato una soluzione.

Purtroppo dobbiamo abbandonare la rassicurante interfaccia di FreePBX e editare direttamente il file /etc/asterisk/extensions_custom.conf

Lavorare su /etc/asterisk/extensions_custom.conf piuttosto che su /etc/asterisk/extensions.conf ci mette in salvo da pericolose sovrascritture di quanto da noi creato in fase di aggiornamento del prodotto.

Inseriamo alla fine del file le seguenti linee:

[custom-add-rings]
exten => s,1,Ringing()
exten => s,n,Wait(4)
exten => s,n,Goto(ivr-#,s,1)


dove ivr-# = il numero dell'IVR da voi creato per questa estensione

Create (vedi post precedente) una CUSTOM DESTINATION con questa definizione:

custom-add-rings,s,1


Datele una descrizione possibilmente significativa e confermate l'inserimento.

La nostra INBOUND ROUTE dovra' puntare quindi alla Custom Application con nome uguale alla descrizione appena inserita

Ultima nota, l'esempio appena descritto fa suonare uno squillo e poi passa la comunicazione all'IVR. Secondo il giro del fumo, definito in un post precedente, dopo lo squillo devo passare al test delle TIME CONDITIONS. In questo caso la parte aggiunta al file /etc/asterisk/extensions_custom.conf deve essere sostituita dalla seguente:

[custom-add-rings]
exten => s,1,Ringing()
exten => s,n,Wait(4)
exten => s,n,Goto(timeconditions,1,1)

FreePBX: dove sono finite le custom apps?


Nel passaggio dalla versione 2.3 alla versione 2.4 di FreePBX sono spariti (in tutti i moduli che li utilizzavano) i riferimenti alle Custom Apps.

Dove queste venivano utilizzate appaiono dei misteriosi UNKNOWN DESTINATION scritti in rosso.

Per sistemare le cose occorre andare nella gestione del modulo CUSTOM DESTINATIONS che trovate nella tabella TOOLS, aggiungere nuove CUSTOM DESTINATIONS utilizzando la Quick Pick List per recuperare le vecchie Custom Apps.

Se volete creare una nuova CUSTOM DESTINATION, ricordate che nel campo Custom Destination dovete inserire la linea di lancio dell'applicazione (es: custom-add-rings,s,1)

Modificare la password di accesso a Webmin

Loggarsi sul sistema come root

Se utilizzate una distribuzione derivata da RedHat (RedHat, Fedora, CentOS, Gentoo), lanciate questo comando:

/usr/libexec/webmin/changepass.pl /etc/webmin username password

Se utilizzate una distribuzione derivata da Debian (Debian, Ubuntu), lanciate questo comando:

/usr/share/webmin/changepass.pl /etc/webmin username password

Loggatevi su Webmin con la nuova password.

mercoledì 12 marzo 2008

Giro del fumo per le chiamate entranti

mettete via le cartine...e' solo un modo di dire... :)

Mi riferivo allo schema di configurazione di FreePbx in relazione alle chiamate entranti.
Si trattava di gestire un centralinista elettronico capace di smistare le chiamate ai vari interni nelle ore di ufficio dei giorni feriali e un messaggio con gli orari di apertura dell'ufficio e la possibilita' di lasciare messaggi nei giorni festivi e nelle ore di chiusura dei giorni feriali.

In questo momento (test iniziali) 3 interni devono poter rispondere a tutte le chiamate entranti.

Ho creato un RING GROUP che unisce i 3 interni. Come announcement ho settato il mio IVR

Ho creato due TIME CONDITION:

Nome: MattinoFeriale
Ore: 09:00 - 13:00
Giorni: LUN - VEN

destinazione se match: RING GROUP (quello creato precedentemente)
destinazione se non match: TIME CONDITION PomeriggioFeriale


Nome: PomeriggioFeriale
Ore: 15:00 - 19:00
Giorni: LUN - VEN

destinazione se match: RING GROUP (quello creato precedentemente)
destinazione se non match: VOICEMAIL della Reception

Nell'INBOUND ROUTE ho settato come destinazione la TIME CONDITION MattinoFeriale


Quindi per riassumere graficamente:

Firmware Perfectone per IP300


A questo indirizzo trovate il piu' recente (al momento) firmware rilasciato dalla Perfectone per il suo modello IP300 (e affini...):


http://rapidshare.com/files/98933919/IP301_070105.rom.html

L'aggiornamento non puo' essere eseguito da sistema operativo Linux (maledetti :-). Si consiglia l'uso di Firefox su sistema Windows.

Aggiornamento ora/data su Perfectone IP300/IP301


Il telefono IP301 distribuito da Eutelia (e il suo gemello marcato Perfectone IP300) hanno problemi nell'aggiornamento automatico di data e ora se utilizzate il server proposto da Eutelia.

Potete invece usare i server NTP dell'Istituto Nazionale di Metrologica:

193.204.114.232
193.204.114.233


Con questi server impostati in Phone Setting -> SNTP Sttings -> Primary Server e Phone Setting -> SNTP Sttings -> Primary Server nell'interfaccia di amministrazione del vostro telefono IP, all'accensione del telefono (e a ogni successivo riavvio) otterrete un quasi istantaneo aggiornamento di data e ora.

NB: ricordatevi di settare la corretta Time Zone (per l'Italia GMT + 1)

venerdì 7 marzo 2008

Restarting Asterisk


Se avete bisogno di far ripartire il vostro centralino Asterisk da linea di comando (o da cron) potete usare uno di questi comandi:

asterisk -r -x "restart gracefully" (per riavviare evitando di creare problemi)

asterisk -r -x "restart now" (per riavviare istantaneamente)

asterisk -r -x "restart when convenient" (per riavviare non appena siano terminate le chiamate in corso)

Le parentesi graffe....dove sono?

Sono tornato!!!
Influenza, lavoro, vita....mi avevano tenuto lontano dal blog e da voi fedeli lettori :)

Un problema spesso sollevato da programmatori e amministratori si sistema italiani e' l'assenza sulla nostra tastiera delle parentesi graffe.

Sotto X:
[AltGr + 7] = {
[AltGr + 0] = }

Sotto shell:
[AltGr + 8] = {
[AltGr + 9] = }

In alternativa esistono (io li avevo trovati su ebay) degli adesivi da attaccare sui tasti della tastiera in modo da avere sia i simboli
della tastiera italiana, sia quelli della tastiera americana (molto piu' comodi per la programmazione e l'amministrazione di sistema)

A quel punto ti basta switchare da una tastiera all'altra usando l'applet "Keyboard Indicator" nel panel di gnome per usare quella che ti e' piu' comoda.