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

Publicado por Leo em 30/12/2009

[ Hits: 6.899 ]

 


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

Rodinha do mouse (MWheel) funcionando no Emacs

NFS em Debian-br-cdd

Instalar Driver da Impressora EpsonL355 via Terminal no Ubuntu

Driver "nvidia" no Ubuntu 9.10 com o envyng-core

Iniciando no Slackware em computador fraco

  

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