mercoledì, settembre 26, 2007

Think Open - Rovigo

- post<li> - Permalink


Per chi ancora non lo sapesse proprio a Rovigo (WoW) è partito da oggi (26/09) fino a venerdì (28/09) il primo Open Source Expo "Think Open".


Think Open si propone come incontro dell'anno con le maggiori soluzioni e i progetti Open Source e Free Software (software libero) per le Aziende e la Pubblica Amministrazione.

Specialisti e consulenti del settore si confrontano per analizzare lo stato di diffusione e le proposte dei fenomeni Open Source e Free Software, per fornire al mercato indicazioni di metodo ed esperienze in corso, per valutare e proporre l'adozione di nuovi servizi basati su queste tecnologie.

Un nuovo modo di conoscere soluzioni e scambiare esperienze, in piena sintonia con la filosofia Open: partecipa, sviluppa, condividi.


L'agenda è veramente fitta di incontri interessanti. Tra i relatori segnalo Richard Stallmann anche se a dire la verità gli altri non sono da meno Ciaran O'Riordan, Zeev Suraski (Zend - ISR) solo per citare qualcun altro.

Io ci sarò, se qualcuno passa faccia un fischio...

"Il vizio inerente al capitalismo è la divisione ineguale dei beni; la virtù inerente al socialismo è l'eguale condivisione della miseria."
Winston Leonard Spencer Churchill

P.S. Non ho potuto segnarlo prima, perchè stavo preparando lo stand :D :D

Tag:

venerdì, settembre 21, 2007

MyBlogLog - Yahoo - acount :D

- post<li> - Permalink


Non so voi, ma è da stamattina che non riesco a logarmi a MyBlogLog, per fortuna avevo già un "acount" su Yahoo...

Quando riesco ad arrivare all'ultimo passo "Merge Me" ( 8S Che vuol dire "uniscimi" oppure è un mis-typo e si riferisce a Marge Simpson? ) mi da login timeout...

Cerco di sbrigarmi, ma Yahoo mi fa autenticare minimo due volte ... ok, lo so i server sono sovraccarichi ma non potevano pianificarla meglio questa transizione? O almeno curare la sintassi? ;D

Questa acquisizione non parte nel migliore dei modi, quelle di Evil Google (feedburner, youtube, ecc...) mi sono sembrate "leggermente" diverse ... mah speriamo bene.

Tag: , ,

mercoledì, settembre 19, 2007

CutsLink, nuovo “accorcia URL” italiano con keyword e statistiche!

- post<li> - Permalink

Segnalo un nuovo servizio tutto italiano per accorciare link "CutsLink"!

Le caratteristiche sono molte e migliorative rispetto ad altri servizi simili tipo tinyurl.

Riporto dal post di Geekissimo:


* Possibilità d’inserire la parola chiave
* Possibilità di convertire fino a 100 url contemporaneamente
* Possibilità di monitorare le statistiche del URL
* Link drag and drop da mettere nei preferiti per convertire con un click qualsiasi pagina
* Widget da inserire nel proprio sito o blog
* Classifica Top 20 dei Link più cliccati
* Possibilità di mandarsi l’email con il link delle statistiche
* Conteggio dei caratteri risparmiati tra il vecchio URL e quello di CutsLink
Io l'ho provato e funziona veramente bene, perchè servizi tipo quello ti ottenere per email tutti i riferimenti (Link originale, URL accorciato, statistiche, ecc...) fanno veramente la differenza!

Un esempio concreto:

"http://www.geekissimo.com/2007/09/19/cutslink-nuovo-accorcia-url-italiano-con-keyword-e-statistiche"

viene trasformato in

"http://www.cutslink.com/HNK"

Non male direi. Se poi aggiungiamo le statistiche con cui possiamo controllare quanti visitatori abbiamo indirizzato verso quel sito ... beh non ci sono confronti.

Byez

"La brevità è sorella del talento"
Proverbio russo

Tag: ,

martedì, settembre 18, 2007

SELinux - personalizzare una policy - Centos 5 - RHEL - Freshclam - caso concreto

- post<li> - Permalink


SELinux è sempre stato la mia croce / delizia.

SELinux è un argomento complesso, ma in poche parole è un sistema che permette in ambienti Linux un maggior controllo su quello che un programma / utente può o non può fare aumentando sensibilmente il livello di sicurezza raggiungibile su un server.

Tra le idee di base vi è quella del contesto, ovvero è permessa o non permessa una operazione in base alla situazione in cui questa viene eseguita. Esempio è perfettamente lecito girare in costume da bagno nel contesto "spiaggia", mentre non lo è mentre si gira nel contesto"tribunale" :D.

Per ulteriori approfondimenti in appendice diversi riferimenti a SELinux

Problema:
Nell'articolo "CentOS5 + QmailToaster Mailserver Setup - simple howto", se non si disabilitasse SELinux, l'installazione di QmailToaster non andrebbe a buon fine perchè durante l'installazione del pacchetto clamav-toaster-0.xx.x viene avviato il servizio freshclam che permette l'aggiornamento dell'antivirus stesso. Il servizio all'avvio semplicemente si blocca senza generare nessun errore. Il demone stesso clamd ha problemi nella lettura del db virus.

Soluzione 1:
Disabilitare SELinux - Questa è l'idea proposta da chiunque, forum, how-to. Qui per esempio l'how-to ufficiale per l'installazione di QmailToaster su CentoOS 4.3 :
Firewall Configuration:

Select "No firewall"

Select "Disabled" mode for SELinux

Per me questa è una NON-soluzione.

Perchè è come lasciare la macchina chiusa a chiave ma con i finestrini appena socchiusi. Abbiamo lasciato la macchina aperta alla mercè dei ladri? Sicuramente no, però abbiamo lasciato loro una via d'entrata in più.

Per esperienza personale SELinux mi ha, per usare un termine tecnico, parato il XXXX più di una volta. Specialmente in presenza degli immancabili bachi di cui i software, per definizione, sono portatori.

Soluzione 2:
Per fortuna (e perseveranza) mia seguo SELinux dalla sua introduzione in Fedora Core 3 e posso dire che da allora la tecnologia è migliorata e di molto fornendo via via strumenti più potenti.
Uno di questi è un log che pochi conoscono audit.log. Il suo contenuto è finito dentro a /var/log/messages in Fedora Core 5, ma in CentOS 5 lo troviamo nel percorso originario /var/log/audit/audit.log.

Un esempio del contenuto di questo log è:


type=AVC msg=audit(1190013769.595:958064): avc: denied { write } for pid=11794 comm="clamd" name="clamav" dev=dm-0 ino=4030584 scontext=system_u:system_r:clamd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=dir
type=SYSCALL msg=audit(1190013769.595:958064): arch=40000003 syscall=5 success=no exit=-13 a0=96a369c a1=242 a2=1fc a3=96a3698 items=0 ppid=2187 pid=11794 auid=4294967295 uid=46 gid=46 euid=46 suid=46 fsuid=46 egid=46 sgid=46 fsgid=46 tty=(none) comm="clamd" exe="/usr/sbin/clamd" subj=system_u:system_r:clamd_t:s0 key=(null)
type=AVC msg=audit(1190013769.596:958065): avc: denied { read } for pid=11794 comm="clamd" name="main.cvd" dev=dm-0 ino=4030636 scontext=system_u:system_r:clamd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=file
type=SYSCALL msg=audit(1190013769.596:958065): arch=40000003 syscall=5 success=no exit=-13 a0=96a37a8 a1=0 a2=1b6 a3=969efc0 items=0 ppid=2187 pid=11794 auid=4294967295 uid=46 gid=46 euid=46 suid=46 fsuid=46 egid=46 sgid=46 fsgid=46 tty=(none) comm="clamd" exe="/usr/sbin/clamd" subj=system_u:system_r:clamd_t:s0 key=(null)
type=AVC msg=audit(1190013770.175:958066): avc: denied { read write } for pid=11808 comm="freshclam" name="0" dev=devpts ino=2 scontext=root:system_r:freshclam_t:s0 tcontext=root:object_r:devpts_t:s0 tclass=chr_file
type=AVC msg=audit(1190013770.175:958066): avc: denied { read write } for pid=11808 comm="freshclam" name="0" dev=devpts ino=2 scontext=root:system_r:freshclam_t:s0 tcontext=root:object_r:devpts_t:s0 tclass=chr_file
type=AVC msg=audit(1190013770.175:958066): avc: denied { read write } for pid=11808 comm="freshclam" name="0" dev=devpts ino=2 scontext=root:system_r:freshclam_t:s0 tcontext=root:object_r:devpts_t:s0 tclass=chr_file
type=AVC msg=audit(1190013770.175:958066): avc: denied { read write } for pid=11808 comm="freshclam" name="0" dev=devpts ino=2 scontext=root:system_r:freshclam_t:s0 tcontext=root:object_r:devpts_t:s0 tclass=chr_file
type=SYSCALL msg=audit(1190013770.175:958066): arch=40000003 syscall=11 success=yes exit=0 a0=832aa88 a1=832acc0 a2=832abb8 a3=832a6d8 items=0 ppid=11807 pid=11808 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) comm="freshclam" exe="/usr/bin/freshclam" subj=root:system_r:freshclam_t:s0 key=(null)
type=AVC_PATH msg=audit(1190013770.175:958066): path="/dev/pts/0"
type=AVC_PATH msg=audit(1190013770.175:958066): path="/dev/pts/0"
type=AVC_PATH msg=audit(1190013770.175:958066): path="/dev/pts/0"
type=AVC msg=audit(1190013770.280:958067): avc: denied { append } for pid=11808 comm="freshclam" name="freshclam.log" dev=dm-0 ino=10158808 scontext=root:system_r:freshclam_t:s0 tcontext=root:object_r:clamd_var_log_t:s0 tclass=file
type=SYSCALL msg=audit(1190013770.280:958067): arch=40000003 syscall=5 success=no exit=-13 a0=9af6448 a1=441 a2=1b6 a3=9af70b8 items=0 ppid=11807 pid=11808 auid=0 uid=46 gid=46 euid=46 suid=46 fsuid=46 egid=46 sgid=46 fsgid=46 tty=(none) comm="freshclam" exe="/usr/bin/freshclam" subj=root:system_r:freshclam_t:s0 key=(null)
type=AVC msg=audit(1190013770.626:958068): avc: denied { write } for pid=11810 comm="clamd" name="clamav" dev=dm-0 ino=4030584 scontext=system_u:system_r:clamd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=dir
type=SYSCALL msg=audit(1190013770.626:958068): arch=40000003 syscall=5 success=no exit=-13 a0=8d6169c a1=242 a2=1fc a3=8d61698 items=0 ppid=2187 pid=11810 auid=4294967295 uid=46 gid=46 euid=46 suid=46 fsuid=46 egid=46 sgid=46 fsgid=46 tty=(none) comm="clamd" exe="/usr/sbin/clamd" subj=system_u:system_r:clamd_t:s0 key=(null)
type=AVC msg=audit(1190013770.627:958069): avc: denied { read } for pid=11810 comm="clamd" name="main.cvd" dev=dm-0 ino=4030636 scontext=system_u:system_r:clamd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=file

Si possono notare delle linee con la dicitura "denied" -negato- ovvero una operazione non permessa dalle attuali policy di sicurezza. Bene noi partendo da queste indicazioni andremmo a costruire la nostra politica personalizzata.

Versione Veloce:
- Ci spostiamo dentro la cartella $home con il comando
>cd
creiamo una cartella my_policies con il comando
>mkdir my_policies
e ci spostiamo dentro con
>cd my_policies
adesso lanciamo il comando

1> audit2allow -i /var/log/audit/audit.log -M myClamdPolicies

Generazione file tipo enforcement: myClamdPolicies.te
Compilazione policy
checkmodule -M -m -o myClamdPolicies.mod myClamdPolicies.te
semodule_package -o myClamdPolicies.pp -m myClamdPolicies.mod

******************** IMPORTANTE **********************

Per poter caricare questo pacchetto di policy appena creato nel kernel,
vi è richiesto di eseguire

semodule -i myClamdPolicies.pp


Ora, come consigliato dal programma lanciamo:
2>semodule -i myClamdPolicies.pp


Controlliamo se siamo ancora con SELinux abilitato con:

>sestatus

SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted


dove vediamo che è abilitato e attivo.

Bene se ora proviamo a lanciare
service freshclam start
ci darà OK, altrimenti ripetere i passaggi 1 e 2 finchè non lo farà !

Versione Meditata:
Nella soluzione veloce non abbiamo ben capito cosa è successo, ma ogni buon sistemista vuol capire come funziona, per avere pieno controllo su quello che sta facendo e non lasciare (involontariamente) la porta aperta a intrusioni.

Con il comando precedente se osserviamo dentro alla cartella che abbiamo creato, troviamo 3 file:
>ll

totale 24
-rw-r--r-- 1 root root 2137 17 set 10:03 myClamdPolicies.mod
-rw-r--r-- 1 root root 2153 17 set 10:03 myClamdPolicies.pp
-rw-r--r-- 1 root root 598 17 set 10:03 myClamdPolicies.te


adesso vedremo come creare e manipolare con cognizione di causa questi tre file.
In particolare vedremo come (rif. audit2allow):
  1. Generare il file di policies .te;
  2. Compilare il binario .mod;
  3. Pacchettizzare il policy package .pp;
Cominciamo.

  1. Per creare il file di policies .te il modo migliore è sempre quello di usare il comando audit2allow:
    >audit2allow -i /var/log/audit/audit.log -m myClamdPolicies2 > myClamdPolicies2.te

    Questa volta possiamo guardare dentro il file myClamdPolicies2.te con il comando
    > vi myClamdPolicies2.te
    Ci troveremo davanti un contenuto del genere:

    module myClamdPolicies2 1.0;

    require {
    class chr_file { read write };
    class dir { add_name setattr write };
    class file { append create getattr lock read write };
    class sock_file create;
    type clamd_t;
    type clamd_var_log_t;
    type devpts_t;
    type freshclam_t;
    type proc_t;
    type tmp_t;
    type usr_t;
    role system_r;
    };

    allow clamd_t proc_t:file { getattr read };
    allow clamd_t tmp_t:sock_file create;
    allow clamd_t usr_t:dir { add_name write };
    allow clamd_t usr_t:file { create getattr read write };
    allow freshclam_t clamd_var_log_t:file { append getattr lock };
    allow freshclam_t devpts_t:chr_file { read write };
    allow freshclam_t usr_t:dir { setattr write };
    allow freshclam_t usr_t:file read;

    Qualora trovassimo qualche riga con programmi che non hanno a che fare con il problema che stiamo cercando di risolvere, possiamo rimuoverle. Se una volta installato il modulo, volessimo vedere le modifiche dall'ultimo caricamento delle policies possiamo usare lo switch -l di audit2allow:
    > audit2allow -h
    audit2allow [-adhilrv] [-t file ] [ -f fcfile ] [-i  ] [[-m|-M]  ] [-o ]
    -a, --all read input from audit and message log, conflicts with -i
    -d, --dmesg read input from output of /bin/dmesg
    -h, --help display this message
    -i, --input read input from conflicts with -a
    -l, --lastreload read input only after last "load_policy"
    -m, --module generate module/require output
    -M generate loadable module package, conflicts with -o
    -o, --output append output to , conflicts with -M
    -r, --requires generate require output
    -t, --tefile Add input from Existing Type Enforcement file
    -f, --fcfile Existing Type Enforcement file, requires -M
    -v, --verbose verbose output
    -A, --analyze Analyze output

  2. Ora possiamo compilarlo in binario con il comando
    >checkmodule -M -m -o myClamdPolicies2.mod myClamdPolicies2.te
  3. Infine possiamo pacchettizzarlo
    >semodule_package -o myClamdPolicies2.pp -m myClamdPolicies2.mod
  4. Lo carichiamo con (come abbiamo fatto prima)
    >semodule -i myClamdPolicies2
  5. Se è andato tutto per il meglio adesso possiamo controllare se il nostro pacchetto è tra quelli caricati con
    >semodule -l

    amavis 1.1.0
    ccs 1.0.0
    clamav 1.1.0
    dcc 1.1.0
    evolution 1.1.0
    iscsid 1.0.0
    mozilla 1.1.0
    mplayer 1.1.0
    myClamdPolicies 1.0
    myClamdPolicies2 1.0
    nagios 1.1.0
    oddjob 1.0.1
    pcscd 1.0.0
    pyzor 1.1.0
    razor 1.1.0
    ricci 1.0.0
    smartmon 1.1.0



Semplice no? :D

Conclusioni:
Quando su una distro abilitata con SELinux c'è qualcosa che non funziona e controllando nei log tradizionali non vi è nessuna informazione utile, conviene sempre controllare il file /var/log/audit/audit.log . Un'altra prova da fare è la seguente e cioè controllare con sestatus se SELinux è abilitato e in che modo:
>sestatus

SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted



Provare a disabilitare temporaneamente SELinux con il comando
>setenforce 0
Verificando stavolta con
>sestatus

SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive <- Disabilitate, ma il log continua Mode from config file: enforcing Policy version: 21 Policy from config file: targeted


Vediamo che SELinux è disabilitato. Bene, se adesso, il programma o la funzionalità che stavamo cercando di far funzionare ora gira, vuol dire che il problema era relativo a SELinux e può essere risolto con i metodi prima descritti.

Byez

Riferimenti:


"L'ignoranza è l'origine di tutti i mali."


Tag: , , , ,

lunedì, settembre 17, 2007

Nuova (beta) TRK 3.3 build 299 - Recover & Repair Windows con una Distro Linux Live

- post<li> - Permalink


Dopo il mio articolo "Recover & Repair Windows con una Distro Linux Live" segnalo che è uscita una nuova beta di TRK che contiene molte novità che troveremo anche nella prossima TRK 4.0.

Il changelog di dettaglio lo si trova qui, comunque le migliorie principali, in sintesi, sono:

  1. Aggiunto il 5° antivirus: Vexira prodotto da Central Command;
  2. Migliorato il supporto a F-Prot della Frisk Software
  3. Inseriti 2 motori di rilevazione di rootkit: rkhunter e chkrootkit, peccato però che questi siano più Linux-oriented;
  4. Disponibili via updatetrk due nuovi tools:
  5. kernel 2.6.22.1: per supportare un maggior numero di periferiche e controller dischi;
  6. Ora sono presenti anche le manpages dei comandi inseriti (oltre a trkhelp);
  7. testdisk & photorec 6.7-WIP: testdisk funziona meglio per la riparazione dei bootsector NTFS;
  8. Nuova versione di ntfs-3g;
Byez

"Mascherarsi non può l'uomo ignorante, se parla, è conosciuto al primo istante."

Tag: , , , ,

venerdì, settembre 14, 2007

Altro parere su FreeNAS

- post<li> - Permalink

Riporto un parere con cui sono completamente in disaccordo, visti soprattutto i miei precedenti articoli su FreeNAS



Ma per completezza di informazione segnalo "FreeNAS - Una delusione totale"

Io non sono d'accordo perchè l'ho provato su molte configurazioni "anziane" ed è sempre andato benissimo. Il supporto hardware è lo stesso di FreeBSD, quindi sconsigliamo anche FreeBSD?

Ritengo riportare anche i pareri diversi dal mio, in modo che ognuno sia libero di farsi una propria opinione.

La vostra? Qualcuno l'ha provato? Tutti disastri?

Byez

"Vi sono tre specie d'ignoranza: saper niente, saper male, saper ciò che non serve sapere"

Tag:

giovedì, settembre 13, 2007

SIOCSIFADDR: No such device eth0 vmware tools ubuntu

- post<li> - Permalink


Segnalo una soluzione ad un problema che mi assillava da tempo e che mi ha portato via molte ore. Spero possa servire a qualcuno.

Problema:
Virtual Machine VMWare Ubuntu 7.04 Server - Kernerl 2.6.20-15-server. Installo i VMWare Tools, mi da qualche problema di compilazione, ma mi dice di non preoccuparmi, intanto non sono moduli essenziali, infatti arrivo al termine della procedura e tutto funziona. RETE COMPRESA.

Al primo riavvio cominciano i guai, la rete non parte. Rilancio vmware-config-tools.pl, arrivo al termine e la rete funziona.

Reboot e di nuovo punto a capo.

Soluzione:
Ho pensato, beh rimuovo i VMWare Tools e tutto tornerà a funzionare -> Sbagliato!

Saranno i problemi di compilazione dei VMWare Tools dovuti all'assenza del file "linux/config.h" assente nei sorgenti linux dalla versione 2.6.18 in poi? Seguo la procedura di patch presentata su "VMware Tools Patches", terminata la procedura di installazione (questa volta riesce a compilare uno dei due moduli) la rete funziona, ma al reboot NO -> Sbagliato!

Rimuovo tutto ancora, ma al lancio del servizio networking con il comando:

>service networking start
mi da:

SIOCSIFADDR: No such device eth0
eth0: ERROR while getting interface flags: No such device


Sono un po' disperato quando trovo questo post "SIOCSIFADDR: No such device eth0 After Dappr Upgrade". Apro allora il file /etc/iftab e ci leggo


# This file assigns persistent names to network interfaces.
# See iftab(5) for syntax.

eth0 mac 00:0c:29:58:6f:7d arp 1


Apro sul VMWare Server il file di configurazione Ubuntu.vmx e ci leggo

ethernet0.generatedAddress = "00:0c:29:d3:c5:9f"


Orco! Sono diversi, modifico il file /etc/iftab in modo da riportare quanto previsto dal file di configurazione di VMWare Server, riavviato, et voilà tutto ha cominciato a funzionare, con e senza VMWare Tools.

Probabilmente nei vari pellegrinaggi, copie, sdoppiamenti della Virtual Machine, il MAC address è cambiato rispetto a quello all'installazione e quindi si è creato il disallineamento.

Semplice no?

Tag: , ,

mercoledì, settembre 12, 2007

Un CAPTCHA senza javascript matematica o immagini - Versione PHP

- post<li> - Permalink

MerlinoX ha avuto un'ottima idea con il suo "Un CAPTCHA senza javascript matematica o immagini".

L'idea è semplice (come l'uovo di colombo - a cui però nessuno aveva ancora pensato) a fronte di un form semplicissimo come ad esempio il seguente:


<form name="frm_xxx" action="capcha.php" method="post">
Nome <input name="nome" type="text">
Sito <input name="sito" type="text">
Mail <input name="mail" type="text">
Commento<textarea name="commento"></textarea>

<--- SISTEMA CON CAPTCHA NON TRADIZIONALE --->

<div style="visibility: hidden;">Non inserire testo nel campo sotto. Altrimenti non riuscire più a commentare.

<input name="campoNascosto" value="" style="width: 1px; height: 1px; font-size: 1px;" type="text"></div>

<input name="invia">


Avete notato? C'è un campo nascosto agli "umani" ma non ai bot, agli spammers, che in questo modo lo compilano.

Peccato che lato server ci siano uno script come il seguente scritto in PHP


if ( (array_key_exists("campoNascosto",$_POST)))
{
if ($_POST["campoNascosto"]<>"")
{
echo "Attenzione. Modulo non registrabile!";
}
}else{
echo "Attenzione. Modulo non registrabile!";
}


Che verifica proprio che il form non abbia il campoNascosto compilato.

Qualora il bot venga istruito per non compilare i campi che si chiamano "campoNascosto" basterà cambiare nome al campo come ad esempio "altroCampoNascosto".

Semplice eppure geniale, grazie MerlinoX e alla sua soluzione CAPTCHA :D

Byez

"La cortesia è la chiave che apre i cuori altrui, così come la sciocca scortesia è il mezzo migliore per farsi dei nemici."
Félix Lope de Vega su Fuenteovejuna

Tag: ,

CentOS5 + QmailToaster Mailserver Setup - simple howto

- post<li> - Permalink

Con questo articolo volevo iniziare una serie di articoli relativi al setup di un mailserver.


Un mailserver come quello che presenterò potrà sostenere anche qualche migliaio di caselle, anche se a dire la verità parte dei limiti sono dati dall'Hardware su cui gira il server.

L'Hardware ovviamente non è l'unico, l'architettura dei Software che conpongono la suite è un'altra parte integrante, ma di questo ne parlerò più diffusamente in un altro articolo.

In questa prima parte volevo fare una breve presentazione delle componenti che intervengono e del primo setup delle stesse. La configurazione sarà oggetto del seguito di questo articolo.

Le due componenti principali sono la distribuzione CentOS 5 e la suite QmailToaster.

Perchè CentOS?
  1. Supporto a lungo termine;
  2. Supportata da VMWare in quanto clone di Red Hat Enterprise Linux (RHEL), ma free;


Perchè QmailToaster?
  1. Supportata e "viva", in precedenza usavo la suite QmailRocks ma questa tuttora langue...
  2. I componenti sono ben integrati e l'architettura generale e ben progettata
  3. Ricca di features:
    --:: Traduzione dal sito http://www.qmailtoaster.com/ ::--
Bene ora possiamo cominciare:
  1. Scaricare le ISO di CentOS5, masterizzarle magari con un programma di masterizzazione free per windows;
  2. Installare CentOS5 in nessuna configurazione particolare (le dipendenze essenziali verranno installate in seguito) e fare gli aggiornamenti tramite
    yum update
    Reboot;
  3. Creare la cartella con il comando
    mkdir /download/
    e spostarsi dentro con
    cd /download/

  4. Cominciare a:
  5. Il primo di questi file è cnt50-deps.sh che rimuove sendmail e installa tutte le dipendenze di sistema che serviranno poi in seguito. Viene tutto effettuato tramite yum e qui non ci sono particolari indicazioni.

  6. Il secondo è il file cnt50-perl.sh che invece si preoccupa di installare tutte le dipendenze necessarie per il funzionamento di SpamAssassin. L'installazione avviene tramite l'uso di CPAN e alla prima installazione potrebbe essere necessario rispondere ad alcune domande. Nessuna preoccupazione battendo (quasi) sempre solo invio si arriva al termine indenni. La procedura è molto lunga perchè prevede anche l'installazione di tutti i pre-requisiti di tutti i pre-requisiti :D

  7. Adesso bisogna scaricare cnt50-svcs.sh e firewall.sh.
    • Il primo file (cnt50-svcs.sh) serve per attivare e configurare tutti i servizi che serviranno in seguito (httpd, mysqld e ntpd), impostare il runlevel a 3 (Multiuser + network - interfaccia grafica) e lanciare lo script che imposta il firewall.sh. Il file cnt50-svcs.sh va editato per configurare la password di root che avete impostasto su Mysqld. All'interno del file viene anche impostata la password per l'utente "vpopmail@localhost", vedremo poi come cambiarla.
    • Invece nel file firewall.sh va inserito l'ip locale es. 10.0.0.10 .

  8. Passo Importante: disabilitare SELinux. Si tratta di una non-soluzione temporanea per permettere la corretta installazione di tutti i pacchetti, in particolare del servizio di avvio di freshclam (software per l'aggiornamento dell'antivirus server clamd). La soluzione definitiva è trattata su "SELinux - personalizzare una policy - Centos 5 - RHEL - Freshclam - caso concreto".

    >vi /etc/selinux/config
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    # enforcing - SELinux security policy is enforced.
    # permissive - SELinux prints warnings instead of enforcing.
    # disabled - SELinux is fully disabled.
    SELINUX=permissive
    # SELINUXTYPE= type of policy in use. Possible values are:
    # targeted - Only targeted network daemons are protected.
    # strict - Full SELinux protection.
    SELINUXTYPE=targeted

  9. Reboot, per controllare che sia tutto in ordine;

  10. Creare la cartella con il comando
    mkdir /download/rpm/
    e spostarsi dentro con
    cd /download/rpm/
  11. Scaricare il file
    wget http://www.qmailtoaster.com/info/current-download-script.sh
    ed eseguirlo
    sh current-download-script.sh
    Questo file si preoccuperà di scaricare la versione corrente di tutti i pacchetti disponibili (circa 26Mb)

  12. Scarichiamo ed esguiamo il file cnt50-install-script.sh che si preoccuperà di compilare tutti i sorgenti forniti con i pacchetti appena scaricati. Il processo, soprattutto per alcuni rpm è molto lungo, bisognerà controllare ogni tanto per battere invio alle richieste di prosecuzione.

  13. Lanciamo i servizi con
    >qmailctl start
    Starting qmail-toaster: svscan
  14. Verifichiamo che siano effettivamente attivi con
    >qmailctl stat

    qmailctl stat
    authlib: up (pid 2202) 408062 seconds
    clamd: up (pid 14116) 87377 seconds
    imap4: up (pid 2216) 408062 seconds
    imap4-ssl: up (pid 2239) 408061 seconds
    pop3: up (pid 2210) 408062 seconds
    pop3-ssl: up (pid 2269) 408061 seconds
    send: up (pid 14169) 87309 seconds
    smtp: up (pid 14171) 87309 seconds
    spamd: up (pid 30305) 146602 seconds
    submission: up (pid 2254) 408061 seconds
    authlib/log: up (pid 2204) 408062 seconds
    clamd/log: up (pid 2231) 408062 seconds
    imap4/log: up (pid 2218) 408062 seconds
    imap4-ssl/log: up (pid 2214) 408062 seconds
    pop3/log: up (pid 2211) 408062 seconds
    pop3-ssl/log: up (pid 2252) 408061 seconds
    send/log: up (pid 2234) 408062 seconds
    smtp/log: up (pid 2208) 408062 seconds
    spamd/log: up (pid 2248) 408061 seconds
    submission/log: up (pid 2256) 408061 seconds

Bene questa prima parte può dirsi conclusa, negli articoli successivi vedremo come configurare il nostro primo dominio di posta e come testarlo.

Byez

Falso Uomo NSA: Ente per la Sicurezza Nazionale.
Bishop: Ah... siete quelli che sento respirare ogni volta che alzo il telefono?
Falso Uomo NSA: No! Quella è l'FBI. Noi curiamo la sorveglianza interna.
Bishop: Ah certo, voi vi limitate a sfasciare governi e ad installare dittature.
Falso Uomo NSA: No! Quella è la CIA. Noi proteggiamo le comunicazioni del governo, decifriamo i codici degli altri. Noi siamo buoni Martin.
I Signori della Truffa


*Le distro attualmente supportate da QmailToaster sono



























Distrocomando RPM Supporto
Mandrake 10.0 Linux$ rpmbuild --rebuild --with mdk100 package.src.rpmYES
Mandrake 10.1 Linux$ rpmbuild --rebuild --with mdk101 package.src.rpmYES
Mandriva 2005 Linux$ rpmbuild --rebuild --with mdk102 package.src.rpmYES
Mandriva 2006 Linux$ rpmbuild --rebuild --with mdk103 package.src.rpmYES
Mandriva 2006 x86_64 Linux$ rpmbuild --rebuild --with mdk10364 package.src.rpmYES
Red Hat 9 Linux$ rpmbuild --rebuild --with rht90 package.src.rpmYES
Fedora Core 1 Linux$ rpmbuild --rebuild --with fdr10 package.src.rpmYES
Fedora Core 2 Linux$ rpmbuild --rebuild --with fdr20 package.src.rpmYES
Fedora Core 3 Linux$ rpmbuild --rebuild --with fdr30 package.src.rpmYES
Fedora Core 4 Linux$ rpmbuild --rebuild --with fdr40 package.src.rpmYES
Fedora Core 4 x86_64 Linux$ rpmbuild --rebuild --with fdr4064 package.src.rpmYES
Fedora Core 5 Linux$ rpmbuild --rebuild --with fdr50 package.src.rpmYES
Fedora Core 5 x86_64 Linux$ rpmbuild --rebuild --with fdr5064 package.src.rpmYES
Fedora Core 6 Linux$ rpmbuild --rebuild --with fdr60 package.src.rpmYES
Fedora Core 6 x86_64 Linux$ rpmbuild --rebuild --with fdr6064 package.src.rpmYES
CentOS 4.x Linux$ rpmbuild --rebuild --with cnt40 package.src.rpmYES
CentOS 4.x x86_64 Linux$ rpmbuild --rebuild --with cnt4064 package.src.rpmYES
CentOS 5.x Linux$ rpmbuild --rebuild --with cnt50 package.src.rpmYES
CentOS 5.x x86_64 Linux$ rpmbuild --rebuild --with cnt5064 package.src.rpmYES
openSuSE 10.0 Linux$ rpmbuild --rebuild --with sus100 package.src.rpmYES
openSuSE 10.0 x86_64 Linux$ rpmbuild --rebuild --with sus10064 package.src.rpmYES
openSuSE 10.1 Linux$ rpmbuild --rebuild --with sus101 package.src.rpmYES
openSuSE 10.1 x86_64 Linux$ rpmbuild --rebuild --with sus10164 package.src.rpmYES




Tag: ,, , ,

martedì, settembre 11, 2007

Utili Utility 2 - Nuova versione di WinInizio Pensuite

- post<li> - Permalink

Dopo aver provato per un mese dal lancio ufficiale della nuova versione di WinInizio Pensuite 2.1, ho deciso di fare un nuovo articolo su questa raccolta di utility portatili.

Cosa sono le utility portatili? Evidentemente vi siete persi il primo articolo "Utili Utility - Wininizio Pensuite" :D Nel primo articolo la definizione e l'uso sono due concetti piuttosto estesi. Qui mi limito a dire che le utility portatili o portabili non hanno bisogno di installazione sul Pc dove vengono eseguite consentendo una serie notevole di casi d'uso.

Questa nuova versione di PenSuite mantiene intatte le caratteristiche di qualità della precedente versione. Qualità che si esprimono in:
  1. Software integrati e (spesso) adattati al funzionamento "portabile";
  2. Organizzazione delle utility all'interno del menù di avvio;
  3. La molteplicità di versioni che ne permettono l'adattabilità alle situazioni più diverse;
  4. Le guide all'uso;
  5. Attività di supporto tramite la community di WinInizio;

Le novità di questa versione sono:
  1. Le versioni di WinInizio Pensuite:

  2. Un nuovo sistema di estrazione del pacchetto di installazione;
  3. Il supporto Multilingua per le versioni PRO; Ora il menù è disponibile anche in lingua inglese, ma è facilmente traducibile anche in altre lingue attraverso la traduzione dei file XML contenuti nella directory "local";
  4. Le versioni PRO. Le versioni PRO sono l'equivalente delle versioni non PRO, dove è stato introdotto un nuovo Menù di avvio scritto in tecnologia .NET che permette una personalizzazione molto semplice dell'intera suite scelta; La personalizzazione avviene tramite [W]IPS Builder raggiungibile dal menù "Personalizza", cliccando sul triangolo a destra del punto di domanda (vedi immagine successiva).

Io ho aspettato un po' a scrivere questo articolo per farmi un'idea e provare questa nuova release. Ho testato la versione Titanium 2.1 PRO. Le impressioni ricevute sono state ottime, come nella versione precedente.

Ovviamente non è l'unica suite disponibile in Internet e presto immagino farò un articolo comparativo su simili raccolte, ma questa per tutti i punti evidenziati in precedenza è sicuramente tra le prime da provare.

Io continuo ad usarla in maniera univoca, magari integrandola con alcuni software che sono abituato ad usare e che magari non sono ancora compresi.

Ad esempio, nella versione precedente non era integrato Winscp, mentre ora lo si trova alla voce "Internet -> FTP Client". Io ho personalizzato la mia suite aggiungendo "PuTTY Portable" e spostati entrambi alla voce "Internet -> Client SSH".

Proprio a voler cercare un punto negativo è forse la lentezza nel caricamento del menù di avvio delle versioni PRO che però trattandosi di una prima versione ha tutto il tempo di stabilizzarsi e si può considerare un peccato veniale.

Segnalo infine che nel sito è (finalmente) disponibile anche una tabella comparativa delle varie versioni che permette di scegliere la versione più adatta alle nostre esigenze. ;D

Byez

Jack Burton : L'uomo vero ama sentire la natura sulla pelle.
Wang Chi: ...e l'uomo saggio ama usare l'ombrello quando piove.

Grosso guaio a Chinatown

Tag: , , , ,

giovedì, settembre 06, 2007

Yum VersionLock e VMWare server e tools

- post<li> - Permalink

Segnalo questo utile tip per i sistemisti di ambienti VMware basati su distro che fanno uso di Yum.

Problema:
Come si sa all'installazione di VMWare Server o VMWare tools spesso ci sono dei piccoli moduli che vengono compilati a partire dalla versione corrente del kernel es "2.6.18-8.1.8.el5". Al momento dell'aggiornamento del kernel che avviene anche tramite il comando "yum update" questi moduli non vengono più caricati in quanto incompatibili con la versione aggiornata.

Soluzione:
Esiste un plugin di YUM che si chiama yum-versionlock che si preoccupa proprio di "bloccare" ad una precisa versione un pacchetto rpm. In questo modo l'aggiornamento di quel specifico programma, o kernel come nel nostro caso, può avvenire in modo pianificato e presidiato, senza doverci preoccupare degli aggiornamenti automatici che potrebbero sollevare problemi come quello esposto. Vediamo come installare e configurare tale modulo:

Installazione:

> yum install yum-versionlock
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package yum-versionlock.noarch 0:1.0.4-2.el5.centos set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
yum-versionlock noarch 1.0.4-2.el5.centos extras 7.4 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 7.4 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): yum-versionlock-1. 100% |=========================| 7.4 kB 00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: yum-versionlock ######################### [1/1]

Installed: yum-versionlock.noarch 0:1.0.4-2.el5.centos
Complete!
Configurazione:
vi /etc/yum/pluginconf.d/versionlock.conf

e poniamo enabled da 0 (zero) a 1 (uno)

[main]
enabled = 1
locklist = /etc/yum/pluginconf.d/versionlock.list
adesso impostiamo quali pacchetti non vogliamo vengano aggiornati
rpm -qa|grep `uname -r` > /etc/yum/pluginconf.d/versionlock.list
nel file /etc/yum/pluginconf.d/versionlock.list dovrebbe ora esserci un contenuto tipo:
kernel-devel-2.6.18-8.1.8.el5
kernel-2.6.18-8.1.8.el5
kernel-headers-2.6.18-8.1.8.el5
Verifica:
ora se lanciamo il comando "yum update" vedremo che il plugin viene caricato, che i moduli RPM NON vengono aggiornati.
> yum update
Loading "versionlock" plugin
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files
Reading version lock configuration
No Packages marked for Update/Obsoletion
Quando decideremo di aggiornare anche i pacchetti "bloccati" basterà rimuovere le relative righe dal file /etc/yum/pluginconf.d/versionlock.list e procedere normalmente.

Ovviamente si può usare anche per "bloccare" altri pacchetti come la versione di PHP o di Tomacat, quello qui presentato è solo un caso concreto che mi si presenta frequentemente

Byez

Hai una moglie bellissima, due bambini meravigliosi, un'immensa discarica. Io sono di troppo!
(Fester Addams)

Tag: ,