A maior rede de estudos do Brasil

Grátis
01 Proxy Integrado com AD

Pré-visualização | Página 1 de 2

1. Colocar ip fixo no servidor
#vi /etc/network/interfaces
auto eth0
iface eth0 inet static
 address 10.1.0.5
 netmask 255.255.255.0
 gateway 10.1.0.1
 dns-nameservers 10.1.0.2 10.0.0.2
 dns-search redesinco.com.br
 dns-domain redesinco.com.br
	
#/etc/init.d/networking restart
2. Instalar ssh
#apt-get update && apt-get install ssh
3. Configurar o dns do Windows
- Criar um host (A) com o nome e ip do servidor e clicar em adicionar ponteiro
4. No LInux testar o dns
#ping servermon1.redesinco.com.br -c 4 && ping serversincotbt.redesinco.com.br -c 4
#dig -x 10.1.0.5
#dig -x 10.1.0.2
5. Instalar ntp e configurar
#apt-get install ntp
#vi /etc/ntp.conf
Torcar pelos servidores AD como time server
server dc1.example.local
server dc2.example.local
#invoke-rc.d ntp restart
#ntpq -p
6. Instalar o Kerberos
#apt-get install krb5-user
Preencher com o dominio completo e dar OK
#mv /etc/krb5.conf /etc/krb5.conf.orig
#vi /etc/krb5.conf
[libdefaults]
 default_realm = REDESINCO.COM.BR
 dns_lookup_kdc = no
 dns_lookup_realm = no
 ticket_lifetime = 24h
 default_keytab_name = /etc/squid3/PROXY.keytab
; for Windows 2003
; default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; for Windows 2008 with AES
 default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
[realms]
 REDESINCO.COM.BR = {
 kdc = serversincotbt.redesinco.com.br
 kdc = servernip.redesinco.com.br
 admin_server = serversincotbt.redesinco.com.br
 default_domain = redesinco.com.br
 }
[domain_realm]
 .redesinco.com.br = REDESINCO.COM.BR
 redesinco.com.br = REDESINCO.COM.BR
7. Instalar Squid e LDAP
#apt-get install squid3 ldap-utils libsasl2-modules-gssapi-mit libsasl2-modules
#export MSKTARCH=amd64 
8. Inicializar o kerberos e integrar com o Active Directory
#apt-get install msktutil 
#kinit administrator
#klist
#msktutil -c -b "CN=COMPUTERS" -s HTTP/servermon1.redesinco.com.br -k /etc/squid3/PROXY.keytab --computer-name SERVERMON1-K --upn HTTP/servermon1.redesinco.com.br --server serversincotbt.redesinco.com.br --verbose --enctypes 28
#chgrp proxy /etc/squid3/PROXY.keytab
#chmod g+r /etc/squid3/PROXY.keytab
#msktutil --auto-update --verbose --computer-name servermon1-k
Caso não funcionar utilize #msktutil -k /etc/squid3/PROXY.keytab --auto-update --verbose --computer-name servermon1-k
9. Adicionar o kerberos para rodar na cron
#crontab -e
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
00 4 * * * msktutil --auto-update --verbose --computer-name servermon1-k | logger -t msktutil
10. Indicar caminho kerberos para o squid
#vi /etc/default/squid3
KRB5_KTNAME=/etc/squid3/PROXY.keytab
export KRB5_KTNAME
11. Instalar e configurar NTLM
#apt-get install samba winbind samba-common-bin
#invoke-rc.d winbind stop && invoke-rc.d samba stop
#mv /etc/samba/smb.conf /etc/samba/smb.conf.default
#vi /etc/samba/smb.conf
local master = no
workgroup = REDESINCO
security = ads
realm = REDESINCO.COM.BR
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
#net ads join -U Administrator
Reiniciar o servidor
#shutdown -r now
Logar no servidor novamente e testar a integração
#wbinfo -t
#wbinfo -a REDESINCO\user%'password'
Liberar permissão para o squid no winbind
#gpasswd -a proxy winbindd_priv
12. Adicionar winbind trust no cron
#crontab -e
05 4 * * * net rpc changetrustpw -d 1 | logger -t changetrustpw
13. Criar usuario no AD para integração com o SQUID
- Usuario sa-proxy
- Senha xxx
- Marcar para nao mudar senha e nunca expirar
- Adicionar nos grupos (Domain Admins, Schema Admins, Enterprise Admins, Administrators)
14. Criar um arquivo de senha do usurio do ad no linux
Trocar squidpass pela senha do usuario sa-proxy
#echo 'squidpass' > /etc/squid3/ldappass.txt
#chmod o-r /etc/squid3/ldappass.txt
#chgrp proxy /etc/squid3/ldappass.txt
15. Criar grupos de acesso a internet no AD
- no-access
- lista-branca
- lista-negra
- lista-negra-excessoes
- full-access
- full-access-nolog
16. Criar os arquivos com os nomes dos grupos no linux
#mkdir /etc/squid3/grupos
#echo 'no-access' > /etc/squid3/grupos/no-access
#echo 'lista-branca' > /etc/squid3/grupos/lista-branca
#echo 'lista-negra' > /etc/squid3/grupos/lista-negra.txt
#echo 'lista-negra-excessoes' > /etc/squid3/grupos/lista-negra-excessoes
#echo 'full-access' > /etc/squid3/grupos/full-access
#echo 'full-access-nolog' > /etc/squid3/grupos/full-access-nolog
#invoke-rc.d squid3 reload
17. Configurar SQUID
#apt-get install build-essential linux-headers-$(uname -r)
#cd /usr/src
#wget "http://downloads.sourceforge.net/project/squidkerbauth/negotiate_wrapper/negotiate_wrapper-1.0.1/negotiate_wrapper-1.0.1.tar.gz"
#tar zxvf negotiate_wrapper-1.0.1.tar.gz
#cd negotiate_wrapper-1.0.1
#./configure
#make
#make install
18. Testar integraçao com SQUID
Inserir um usuario em um dos grupos de acesso e testar conforme abaixo
#/usr/lib/squid3/ext_ldap_group_acl -R -K -S -b "dc=redesinco,dc=com,dc=br" -D sa-proxy@redesinco.com.br -W /etc/squid3/ldappass.txt -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%g,ou=Internet,ou=Grupos,ou=Servicos,dc=redesinco,dc=com,dc=br))" -h serversincotbt.redesinco.com.br
user group
OK
19. Criar arquivos de bloqueio no squid
#mkdir /etc/squid3/acls
#touch /etc/squid3/acls/listabranca
#touch /etc/squid3/acls/listanegra
#touch /etc/squid3/acls/excessoes
#touch /etc/squid3/acls/prioridades
20. Configurar squid.conf com os parametros abaixo
#vi/etc/squid3/squid.conf
### /etc/squid3/squid.conf Configuration File ####
### cache manager
cache_mgr suporte@aslti.com.br
### negotiate kerberos and ntlm authentication
auth_param negotiate program /usr/local/bin/negotiate_wrapper -d --ntlm /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --domain=REDESINCO --kerberos /usr/lib/squid3/negotiate_kerberos_auth -d -s GSS_C_NO_NAME
auth_param negotiate children 10
auth_param negotiate keep_alive off
### pure ntlm authentication
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 10
auth_param ntlm keep_alive on
### provide basic authentication via ldap for clients not authenticated via kerberos/ntlm
auth_param basic program /usr/lib/squid3/ext_ldap_group_acl -R -K -S -b "dc=redesinco,dc=com,dc=br" -D sa-proxy@aslti.local -W /etc/squid3/ldappass.txt -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%g,ou=Internet,ou=Groups,ou=Servicos,ou=ASLTI,dc=redesinco,dc=com,dc=br))" -h asltidc01.aslti.local
auth_param basic children 15
auth_param basic realm Internet Proxy
auth_param basic credentialsttl 60 minutes
### ldap authorization
external_acl_type memberof %LOGIN /usr/lib/squid3/ext_ldap_group_acl -R -K -S -b "dc=redesinco,dc=com,dc=br" -D sa-proxy@aslti.local -W /etc/squid3/ldappass.txt -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%g,ou=Internet,ou=Groups,ou=Servicos,ou=ASLTI,dc=redesinco,dc=com,dc=br))" -h asltidc01.aslti.local
### acl for proxy auth and ldap authorizations
acl acesso proxy_auth REQUIRED
### acl para os grupos do ad
# aclname acltype typename activedirectorygroup
acl NoAccess		external memberof "/etc/squid3/grupos/no-access"
acl ListaBranca		external memberof "/etc/squid3/grupos/lista-branca"