«

»

jun 22

Imprimir Post

Autenticando squid no AD (Windows)

0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×

 

Fala galera ,

 

Esse post é um guia rápido para autenticar seu serviço de squid no AD do Windows.

Neste guia eu usei o Debian mas pode ser facilmente usado para centos apenas seguindo o critério dos pacotes da distro.

 

Vamos lá:

 

1- Arrumar o arquivo hosts com o endereço do proxy ,hostname e endereço do AD e Hostname

Exemplo:
#vim /etc/hosts
10.1.0.2 ncloud-srv-proxy.ncloud.local ncloud-srv-proxy
10.1.0.3 ncloud-srv-AD.ncloud.local ncloud-srv-AD
127.0.0.1 localhost.localdomain localhost

2- Arrumar o resolv.conf para resolver no seu domain controller e adicionar o parâmetro “Search domain” para apontar para seu domínio.

3- Ajustar a hora do servidor proxy com a hora do seu AD.
Eu particularmente uso o ntpdate “ip do servidor AD”.
Então vamos , para quem não tem instalado o pacote use o comando abaixo:

#apt-get install ntpdate -y

#ntpdate 10.1.0.3

#date

Pronto estamos usando nosso AD como servidor NTP.
4- Instalar e ajustar as configurações do kerberos.

#apt-get install install krb5-kdc krb5-config libpam-krb5 krb5-user -y

#vim /etc/krb5.conf

[libdefaults]
## default_realm = 10.1.0.3
default_realm = ncloud.local

# The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true

# The following libdefaults parameters are only for Heimdal Kerberos.
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
[realms]
ncloud-srv-AD.NCLOUD.LOCAL = {
kdc = 10.1.0.3
admin_server = 10.1.0.3
default_domain = 10.1.0.3
}

[domain_realm]
.ncloud.local = NCLOUD.LOCAL
ncloud.local = NCLOUD.LOCAL

[login]
krb4_convert = true
krb4_get_tickets = false

[logging]
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmin.log
default = FILE:/var/log/krb5lib.log

5- testar nossa comunicação do kerberos com o servidor AD , mas antes crie um usuário no AD com todos os privilégios de Administrador de domínio , no meu caso foi o “squidadmin”.

Obs: Pode ser usado com o Administrador também mas não uma boa pratica!

 

#kinit -V squidadmin
<Insira a senha em seguida do usuario squidadmin>

kinit -V squidadmin
Password for squidadmin@NCLOUD.LOCAL:
Authenticated to Kerberos v5

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: squidadmin@ncloud.local

Valid starting Expires Service principal
19/06/17 21:19:02 19/06/17 21:52:17 krbtgt/NCLOUD.LOCAL@NCLOUD.LOCAL
renew until 10/08/17 16:04:27

6- Arrumar o nswitch.conf !

#vim /etc/nswitch.conf

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

#hosts: files dns
hosts: files winbind dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis

7- instalar e configurar o SAMBA

#apt-get install samba winbind -y
#vim /etc/samba/smb.conf
[global]
workgroup = NCLOUD
server string = AD server
netbios name = ncloud-srv-proxy
realm = NCLOUD.LOCAL
log file = /var/log/samba/samba.log.%m
os level = 233
preferred master = no
max log size = 500
debug level = 1
security = ads
encrypt passwords = yes
socket options = SO_KEEPALIVE TCP_NODELAY
password server = ncloud-srv-AD.ncloud.local
allow trusted domains = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind cache time = 15
winbind use default domain = yes
client use spnego = yes
domain master = no

Bom depois de editar tantos conf’s vamos reiniciar os serviços

#systemctl restart samba-ad-dc.service
#systemctl restart winbind.service

8- ingressar nosso servidor proxy no domínio agora!

# net ads join -U squidadmin

nter squidadmin’s password:
Using short domain name — NCLOUD
Joined ‘ncloud-srv-proxy’ to realm ‘ncloud.local’
DNS update failed!

# net ads testjoin
Join is OK

# net ads info
LDAP server: 10.1.0.3
LDAP server name: ncloud-srv-AD.ncloud.local
Realm: NCLOUD.LOCAL
Bind Path: dc=NCLOUD,dc=LOCAL
LDAP port: 389
Server time: Ter, 19 Jun 2017 21:25:31 BRT
KDC server: 10.1.0.3
Server time offset: -43

 

DICA: também temos o comando net ads testjoin para testar a comunicação com o nosso servidor AD , se estiver tudo ok ele vai voltar uma mensagem “Join is OK

9- Vamos definir o usuário padrão para sempre autenticar com o AD no caso de um reboot do servidor

#net setauthuser -U squidadmin
<senha>
***Reinicie os serviços novamente****

Cheque com os comandos #wbinfo -u os usuários do AD e #wbinfo -g os grupos do AD.
Se estiver listando ótimo seu servidor está autenticado e se comunicando com o AD!

Dica:
Dê as seguintes permissões no caso do Debian

# chown -R root:proxy /var/run/samba/winbindd_privileged

Não vou entrar muito em detalhes do squid.conf pois não é esse o foco deste post , mas é essencial que tenha esses parâmetros no squid.conf.

auth_param basic realm [Proxy Monitorado]
auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
auth_param basic credentialsttl 4 hours
url_rewrite_children 200

acl CONNECT method CONNECT
acl AuthorizedUsers proxy_auth REQUIRED

external_acl_type Grupos_AD %LOGIN /usr/lib64/squid/ext_wbinfo_group_acl

 

Bom seguindo os passos acima conseguimos integrar nosso squid no AD e enxergar os usuários no /var/log/squid/access.log

Para ajudar no troubleshooting no caso de algum erro algumas dicas me ajudaram muito foram verificar as permissões no /var/run/samba/winbindd_privileged/ e /var/spool/squid3

Também precisei remover algumas vezes a maquina do domínio no começo (por falhas minhas mesmo) até eu pegar 100% cada passo e entender para que servia. (Comando net ads leave -U <user>)

 

 

Bom é isso ai espero ter dado uma ajuda e qualquer dúvida me chamem no facebook (Rodolpho Niceto) ou meu e-mail rniceto@aw2net.com.br

 

Até mais!

Agradecimentos: Renato Finta , Jefferson Mendes , Robson Silva e Rubem Savordelli

Rodolpho Niceto (6 Posts)

22 Anos , Analista de TI na AW2Net , Cursando Bacharelado em Ciência da Computação.


0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×

Sobre o autor

Rodolpho Niceto

22 Anos , Analista de TI na AW2Net , Cursando Bacharelado em Ciência da Computação.

Link permanente para este artigo: http://comunidade.aw2net.com.br/autenticando-squid-no-ad-windows/

1 comentário

  1. Renato Finta

    Valeu pelos agradecimentos Niceto. =). Sucesso por aí.

    Grande abraço

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×