preload
May 23

Il PAC è una modalità che consente di settare la configurazione del proxy in un file. Nei browser degli utenti va indicato il percorso dove poter recuperare questo file, rendendo superfluo far conoscere l’indirizzo reale del proxy e la porta utilizzata.

Nel dettaglio, il file di configurazione deve contenere la funzione FindProxyForURL che dovrà restituire una stringa che indica la modalità di connessione (con proxy o diretta).

Esempio di file proxy.pac da pubblicare su un webserver:


function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.1.0", "255.255.255.0") || isPlainHostName(host)
|| localHostOrDomainIs(host, "127.0.0.1"))
return "DIRECT";
else
return "PROXY proxy:8080";
}

Nell’esempio, viene restituito come settaggio il proxy proxy:8000 per tutti gli indirizzi, salvo localhost è gli indirizzi della subnet 192.168.1.0/24.

Attenzione: Il server web dove viene pubblicato il file PAC deve gestire un particolare tipo di MIME (application/x-ns-proxy-autoconfig) relativamente all’estensione scelta per il file PAC. Ad esempio, se il server web su cui è stato pubblicato il file di autoconfigurazione è un Apache 2 su Debian Etch, il MIME va aggiunto al file /etc/mime.types:


application/x-ns-proxy-autoconfig pac dat

In questo caso, l’estensione del file di autoconfigurazione dovrà essere .dat o .pac.

May 21

In riferimento al post [howto] Configurare Samba e Squid con autenticazione su AD con Debian Etch (4.0) segnalo la possibilità di evitare il popup con la richiesta di nome utente e password, sfruttando l’autenticazione integrata su Active Directory.

E’ sufficiente editare il file di configurazione di Squid

sudo nano -w /etc/squid/squid.conf

e sostituire alle righe


auth_param basic program /usr/lib/squid/smb_auth -W DOMINIO_NETBIOS
auth_param basic children 5
auth_param basic realm Squid proxyserver
auth_param basic credentialsttl 1 hour

queste due righe


auth_param ntlm program /usr/lib/squid/ntlm_auth -d DOMINIO_NETBIOS\\PDC
auth_param ntlm children 10

Riavviare Squid per applicare le modifiche con il comando:

sudo /etc/init.d/squid restart

Attenzione: In Windows 2003 Server la soluzione presentata non funziona. Per far si che tutto funzioni, è necessario intevenire sui criteri di gruppo modificando il livello di protezione. In particolare, va settato il criterio Protezione di rete: livello di autenticazione di LAN Manager su Invia risposte LM e NTLM. L’impostazione si trova su Impostazioni di Windows > Impostazioni protezione > Criteri locali > Opzioni di Protezione.

Quest’ultima annotazione è documentata nell’how-to Squid, SquidGard, NTLM Authentication con Samba 3.x su Debian Sarge del sito SistemistiIndipendenti.Org.

May 18

Prerequisiti

Un sistema con Debian Etch installato e funzionante. E’ sufficiente partire dall’installazione del sistema base.

Installazione dei pacchetti necessari

sudo aptitude install apache2 sarg php5 mysql-server php5-mysql

Abilitazione del modulo mySQL per PHP

Editare il file di configurazione di PHP col seguente comando:

sudo /etc/php5/apache2/php.ini

Cercare la riga extension=mysql.so e decommentarla, togliendo il punto e virgola iniziale. Uscire e salvare. Infine, riavviare i servizi di Apache:

sudo /etc/init.d/apache2 restart

Et voilà.. nient’altro è necessario. Il vostro server LAMP è pronto per essere usato! La directory predefinita in cui pubblicare il vostro sito è /var/www/

May 18

Prerequisiti

Un sistema con Debian Etch installato e funzionante. E’ sufficiente partire dall’installazione del sistema base.

Installazione dei pacchetti necessari

sudo aptitude install ssh samba winbind squid samba-client krb5-user libkrb53 krb5-config

Configurazione di Samba

sudo nano -w /etc/samba/smb.conf

E’ necessario apportare le seguenti modifiche

[global]
netbios name = nome_macchina
workgroup = nome_dominio_netbios_maisucolo
enable privileges = yes
realm = nome_dominio_dns_maiuscolo
server string = %h server (Debian %v)
preferred master = no
password server = ip_pdc
wins server = ip_wins_server
remote announce = 172.25.0.0/16 #Sostituire con la rete in cui Samba è in esecuzione
dns proxy = no
name resolve order = lmhosts host wins bcast
log file = /var/log/samba/log.%m
log level = 10
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d load printers = no
security = ADS
encrypt passwords = true
socket options = TCP_NODELAY
message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind separator = +

Di seguito, un’esempio di condivisione


[temp]
path=/tmp
comment = "Directory temporanea"
browseable = yes
writeable = yes
valid users = @"domain users"
create mask = 0644
directory mask = 0755

Testiamo il tutto eseguendo il comando

sudo testparm

L’output dovrebbe essere simile a questo:


Load smb config files from /etc/samba/smb.conf
Processing section "[temp]"samba/smb.conf
Loaded services file OK.
'winbind separator = +' might cause problems with group membership.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions

Configurazione di Kerberos

sudo nano -w /etc/krb5.conf

Settare la proprietà default_realm nella sezione [libdefaults] con il nome DNS completo del dominio. Successivamente, completare le sezioni [realms] e [domani_realm] come da esempio:


[realms]
nome_dns_dominio_maiuscolo =
{
kdc = ip_pdc
admin_server = ip_pdc
default_domain = nome_dns_dominio_minuscolo
}
[domain_realm]
.nome_dns_dominio_minuscolo = nome_dns_dominio_maiuscolo

Configurazione Nsswitch

Editare il file /etc/nsswitch.conf con il comando


sudo nano -w /etc/nsswitch.conf

e modificate il file in questo modo:


passwd: compat winbind
group: compat winbind

Unione al dominio Windows 2003

Prima di tutto, occorre riavviare i servizi Samba e Winbind


sudo /etc/init.d/samba restart
sudo /etc/init.d/winbind restart

quindi, è sufficiente utilizzare il comando


sudo net ads join -U "UtenteAmministratoreDominio"

Configurazione di Squid


nano -w /etc/squid/squid.conf

Nella configurazione di Squid, è sufficiente aggiungere, prima delle sezioni acl:


auth_param basic program /usr/lib/squid/smb_auth -W nome_dominio_netbios_maiuscolo
auth_param basic children 5
auth_param basic realm Squid proxyserver
auth_param basic credentialsttl 1 hour

Infine, è succiente definire una ACL che consenta la navigazione agli utenti autenticati:


acl localnet src 172.25.0.0/255.255.0.0 #impostate la rete servita dal proxy
acl Authenticated proxy_auth REQUIRED

http_access allow localnet Authenticated
Attenzione, è importante creare nella share netlogon del PDC, un file chiamato proxyauth, il cui contenuto dev’essere semplicemente allow. Le autorizzazioni sul file in questione, devono permettere l’accesso agli utenti che dovranno utilizzare il proxy.

A questo punto, è sufficiente riavviare Squid

sudo /etc/init.d/squid restart