Este artigo foi criado para ensinar a configuração de autenticação de servidores
CentOS e
Red Hat (versão 6) no Windows 2008.
Diversos artigos encontrados na Internet, fazem uso do Winbind para possibilitar esta autenticação, contudo, como esta configuração depende da instalação do serviço
Samba (e consequente abertura de portas, vulnerabilidades, etc), optei por fazer esta configuração utilizando-se apenas do serviço de LDAP, que já é disponibilizado pelo Windows 2008, e pelo serviço
Kerberos 5.
Assim, não é necessária a abertura de nenhuma porta nos clientes de autenticação, e caso seja uma autenticação entre redes distintas com firewall, apenas a abertura das portas do LDAP, Kerberos 5 e DNS serão suficientes.
Definições
Estas definições serão utilizadas durante o artigo, e serão explicadas conforme o desenvolvimento do mesmo:
- Domínio: SPRINGFIELD.CORP (LDAP: DC=SPRINGFIELD, DC=CORP)
- Hostname do Domain Controller: Homer (HOMER.SPRINGFIELD.CORP)
- IP do Domain Controller: 192.168.5.151
- Conta de serviço LDAP: CN=AuthLinux,CN=Users,DC=Springfield,DC=Corp
- Usuário criado para testes de Logon: rkatz@SPRINGFIELD.CORP
- Grupo criado com atributos Unix: Linux
Configuração do Windows 2008 (Domain Controller)
Assumindo que o seu
Domain Controller já esteja instalado e em funcionamento, as seguintes configurações abaixo deverão ser feitas:
1. Atualização do ambiente
Não é necessariamente um pré-requisito para o correto funcionamento do ambiente, mas recomendo executar um 'Windows Update' no ambiente, apenas por garantia. ;)
2. Instalação do Unix Integration Tools
Para que a autenticação funcione com sucesso, devemos instalar o
Unix Integration Tools nos Domain Controllers. Esta nova
role cria atributos específicos necessários para a autenticação em Unix/Linux, como Home Directory e Default Shell.
- Em Server Manager, na aba (lateral esquerda), selecionar 'Roles'.
- Na seção 'Role Services' da role 'Active Directory Domain Services', adicionar o serviço 'Identity Management for Unix', através do link 'Add Role Services', incluindo todos os demais serviços (Server for Network Information Services, Password Syncronization e Administration Tools).
Criação das contas no DC
Para o correto funcionamento da configuração, devemos criar uma conta de serviço que será utilizada para o BIND (conexão) ao LDAP, uma vez que o Windows 2008 não permite conexão anônima ao LDAP. Também criaremos um grupo e uma conta exemplo, que serão utilizados nos testes de Login.
Conta de serviço
Esta conta deverá ser criada com a política de "não expiração de senha", pois esta senha será utilizada na configuração de todos os clientes. Caso a senha expire, a mesma deverá ser trocada no servidor, e consequentemente em todos os clientes.
* Importante: Lembre-se ao criar esta conta, de que o 'Full Name' da conta criada é utilizada como RDN no LDAP.
Exemplo:
- FullName=Bart Simpson
- CN=Bart Simpson
- CN=Users
- DC=Domínio.
Assim, recomenda-se criar a conta com um 'Full Name' de uma palavra, como 'AuthLinux', para não haver maiores problemas.
A conta será criada conforme abaixo:
- FullName: AuthLinux
- User Logon Name: AuthLinux
- Senha (exemplo, alterar no seu ambiente): 12qw!@QW
- Configurações: 'User Cannot Change Password', e 'Password Never Expires'
Após a criação desta conta de serviço, alterar o seu grupo, colocando-o apenas como membro do grupo "Domain Guests" e removendo todos os demais grupos, de forma que este usuário não possua nenhuma permissão no domínio.
Criação do Grupo
Ou, alteração de grupo já existente.
Deve ser criado um grupo (ou alterado um já existente) para que o mesmo possua atributos
Unix, possibilitando sua utilização em nosso ambiente. Isso deve ser feito, primeiro criando-se o grupo (caso já não exista) e depois, alterando-o conforme abaixo.
No nosso exemplo, foi criado o grupo "Linux". Após isso, na aba 'Unix Attributes' das propriedades do grupo, alterar o NIS Domain para 'SPRINGFIELD' (ou o Domínio utilizado). Manter o GID criado padrão, e não adicionar nenhum usuário no grupo.
Criação de usuário com permissão de Login
Ou, alteração de usuário já existente.
Um usuário deve ser criado (ou alterado) de forma que possamos efetuar logon em um ambiente Unix. Nesse artigo, será criado o usuário 'rkatz', conforme abaixo:
- Criar o usuário (ou alterar) desabilitando a opção 'User Must Change Password on Next Logon';
- Editar o usuário, e na aba 'Unix Attributes' alterar o NIS Domain para 'SPRINGFIELD';
- Alterar o 'Login Shell' para o Shell padrão utilizado no ambiente (como /bin/bash);
- E, Primary group Name/GID para o grupo criado acima (Linux).