preload
Jul 17

Il modulo smb_auth per Squid 3 installato con Debian 5, non funziona correttamente. Per risolvere il problema, modificare la riga

# Read the contents of the file $AUTHFILE on the $AUTHSHARE share
..
authinfo = `..

con

authinfo=`/usr/bin/smbclient "//$dcname/$AUTHSHARE" -I $dcip -d 0 -E -W "$DOMAINNAME" -c "get $authfilebs -" 2>/dev/null -U $USER`

L’istruzione richiama il processo smbclient che si autentica con username e password passate da Squid sul controller di dominio, accede alla share NETLOGON (salvo diversamente specificato su $AUTHSHARE) e legge il contenuto del file $authfilebs (normalmente proxyauth) che dovrebbe essere la parola allow e che viene reindirizzata a Squid.

Se l’autenticazione fallisce, il file non viene letto. In questo modo Squid restituirà un deny.

Per informazioni sulla configurazione di Squid con l’autenticazione su Active Directory e una descrizione del file proxyauth, vedere il post [howto] Configurare Samba e Squid con autenticazione su AD con Debian Etch (4.0)

Jul 10

Quando un server di posta riceve un messaggio per un destinatario inesistente (relativamente ai domini gestiti dal server stesso), ha due possibilità:

1. Accettare la mail e reinivare a sua volta al mittente un messaggio di posta indicando che il destinatario non esiste (bounce)
2. Chiudere la connessione col server mittente riportando un errore (invalid recipient) e scartando di conseguenza la mail

Nel primo caso, sopratutto in presenza di spam, i bounce potrebbero generare notevole traffico indesiderato e destinato, nella maggior parte dei casi, a mittenti inesistenti (cosa comune ai molti messaggi di spam che arrivano ogni giorno).

Nel secondo caso invece, sarà il server che tenta di spedire ad informare direttamente il mittente dell’errore nell’indirizzo del destinatario, sollevando da quest’onere il server destinatario. Exchange 2003 e 2007 per impostazione predefinita, rientrano nel primo caso. Per modificare questo comportamento, è necessario abilitare la verifica del destinatario.

In Exchange 2007, aprire la Exchange Management Shell e digitare questo comando:

Set-RecipientFilterConfig -RecipientValidationEnabled:$true

In Exchange 2003, su Impostazioni globali aprire le proprietà su Recapito messaggi.
Spuntare l’opzione Filtra destinatari non presenti nella directory nella scheda Filtri destinatario.

Jul 10

Poppassd è un programma che permette di cambiare la password di sistema e può essere utile per consentire agli utenti di cambiare la propria password di posta. Horde ad esempio dispone di un modulo che si interfaccia a poppassd per permettere agli utenti di cambiare la propria password dalla webmail.

Su Debian 5 italiana, è necessario apportare delle modifiche ai sorgenti di poppassd per far si che possa funzionare correttamente.

Scaricare i sorgenti dal sito ufficiale del programma http://www.netwinsite.com/poppassd/


cd /usr/src/
wget ftp://netwinsite.com/pub/poppassd/poppassd.c
nano -w poppassd.c

Localizzare la riga static char *P1[] = e sostituire "password: ", con "Immettere nuova password UNIX: ",
Localizzare la riga static char *P2[] = e sostituire "retype new unix password: ", con "Immettere nuova password UNIX:",
Localizzare la riga static char *P3[] = e sostituire "new password (again):", con "Reimmettere la nuova password UNIX:",
Localizzare la riga static char *P4[] = e sostituire "password changed", con "passwd: password aggiornata correttamente",

Sostanzialmente, il programma richiama il comando passwd e ne analizza le risposte confrontandole con quelle definite nei vettori P1, P2, P3 e P4 per “capire” come comportarsi. Quello che si è fatto, è sostituire le stringhe che avrebbe restitutito passwd su un sistema Debian inglese con quelle restituite dalla versione localizzata italiana.

Compilare il programma e copiare l’eseguibile nella cartella /usr/local/bin


gcc poppassd.c -o poppassd -lcrypt
cp poppasswd /usr/local/bin
chmod +x /usr/local/bin/poppasswd

Aggiungere poppassd come servizio

Editare il file /etc/inetd.conf aggiungendo in fondo la riga

poppassd stream tcp nowait root /usr/local/bin/poppassd

Riavviare il servizio inetd

/etc/init.d/openbsd-inetd restart

Testare il funzionamento

telnet localhost:106
200 your poppassd v1.6a hello, who are you?
user utente
200 your password please.
pass password
200 your new password please.
newpass nuovapassword
200 Password changed, thank-you.

Download di poppassd modificato per Debian 5 in italiano