[howto] Configurare Samba e Squid con autenticazione su AD con Debian Etch (4.0)
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