Autenticação "WPA" entre Ubuntu e servidor Windows 2003 Server

Publicado por Leo em 30/12/2009

[ Hits: 6.734 ]

 


Autenticação "WPA" entre Ubuntu e servidor Windows 2003 Server



Partiremos do pressuposto que as placas de rede wireless e o ponto de acesso estão em pleno funcionamento e pré-configurados e que o AD está em pleno funcionamento.

Cenário:
  • Distribuição Linux UBUNTU 9.10;
  • Windows 2003 Server(PT-BR);
  • IPs estáticos.

Pacotes que deverão ser instalados e configurados:
  • Kerberos
  • Winbind
  • Samba

Instalaremos os pacotes usando o aptitude:

# aptitude install krb5-user samba winbind samba-common samba-client ntpdate wpasupplicant

Configuração dos arquivos .conf:

Adicione ao arquivo /etc/resolv.conf:

nameserver [IP do seu servidor de nomes na rede]

Adicionar ao arquivo /etc/hosts:

127.0.0.1   nome da máquina local localhost.localdomain localhost
127.0.1.1   nome da máquina local
IP do PDC   nome da máquina

Deixar o arquivo /etc/nsswitch.conf com a seguinte configuração:

passwd:      compat winbind
group:       compat winbind
shadow:      compat winbind

Deixar o arquivo /etc/krb5.conf com a seguinte configuração:

[libdefaults]
   default_realm = nome do domínio(MAIÚSCULO)

[realms]
   DINF = {
   kdc = IP do AD
   default_domain = nome do domínio(MAIÚSCULO)
   kpasswd_server = IP do AD
   admin_server = IP do AD
}

[domain_realm]
   .dinf = nome do domínio(MAIÚSCULO)

Sincronizar o horário:

# ntpdate [IP do AD]

Testando o Kerberos:

# kinit usuário de domínio@nome do domínio(MAIÚSCULO)

Considerando que até este ponto não apareceu nenhuma mensagem de erro, continuemos.

Agora digite:

# klist

Deve aparecer o texto abaixo:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: nome do usuário de domínio@nome do domínio(MAIÚSCULO)
Valid starting   Expires   Service

17/12/09 17:19:50  19/12/09 17:19:50  krbtgt/nome do domínio
RENEW UNTIL 19/12/09 18:19:50

Deixar o arquivo /etc/samba/smb.conf com a seguinte configuração:

workgroup = nome do domínio(MAIÚSCULO)
max log size = 50
security = ads
password server = IP do AD
realm = nome do domínio(MAIÚSCULO)
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/bash
template homedir = /home/%U
winbind use default domain = true
winbind enum users = yes
winbind enum groups = yes
winbind separator = +

Deixar o arquivo /etc/pam.d/common-account com a seguinte configuração:

account sufficient pam_winbind.so
account required pam_unix.so

Deixar o arquivo /etc/pam.d/common-auth com a seguinte configuração:

auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass

Deixar o arquivo /etc/pam.d/common-session com a seguinte configuração:

session required pam_mkhomedir.so umask=0077 skel=/etc/skel

Adicionando a máquina ao domínio:

# net ads join -Uadministrador

Onde "administrador" é conta com poderes administrativos, mude caso use outra.

Depois digite os próximos comandos para testar a conectividade com o AD, eles deverão mostrar os usuários e os grupos do AD respectivamente:

# wbinfo -u e wbinfo -g

Suporte ao WPA nas estações:

wpa_passphrase nome da rede wi-fi(ssid) senha da rede wi-fi

O retorno deve ser incluído no arquivo wpa_supplicant.conf, dentro de /etc.

Deixar o arquivo /etc/wpa_supplicant.conf com a seguinte configuração:

network={
   ssid=" nome da rede wi-fi "
   psk=d2ca93a0fdffe9c53218514eaa13d2371dde72b4a9ebd3968385ccc10abad6ae
}

Deixar o arquivo /etc/interfaces com a seguinte configuração:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
network xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
up wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -d -D wext

Reinicie a máquina (estação Ubuntu) ou reinicie os serviços.

Observações:
  • Caso não tenha sido feita a sincronização do horário da estação com o servidor de AD, não funcionará! Da mesma forma, caso você não tenha observado o nome do domínio em maiúsculo também não funcionará!
  • Infelizmente até a presente data não sei o por quê de, ao reiniciar, depois de tudo certinho o WINBIND perde as configurações =/, resultado, tive que colocar no rc.local:

    /etc/init.d/winbind restart

    Caso alguém saiba o motivo pelo qual o winbind perde a config, favor postar.

Outras dicas deste autor

Bloqueando o Hamachi

Squid com Delay Pool + Dansguardian

Leitura recomendada

Reserva de MAC para placas de rede no Slackware

Speedy Home da Telefônica no CL 8.0

SSH com chave de autenticação pública

Tirando screenshots de vídeos no GNU/Linux

Slackware Linux com cara de Solaris (Gnome, XFCE e Emerald)

  

Comentários
[1] Comentário enviado por wadner.lins em 17/06/2010 - 15:00h

Primeiramente quero te dar os parabens pela dica, ha muito tempo eu queria fazer essa integração, porem só encontrava tutoriais confusos e complicados, que tomavam umas 3 ou 4 paginas. Você conseguiu sintetizar tudo em uma unica pagina

Agora, sem querer abusar...rs

toda vez que eu vou tentar acessar um compartilhamento windows ele pede o login e senha, mesmo quando é uma sub-pasta de uma pasta que já fiz a autenticação. conferi no windows e o usuário em questão possui permissão para as subpastas tb.

Há como evitar de ficar autenticando até para as sub-pastas?

Desde já agradeço a atenção.




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts