Upload
paulo-moreira
View
226
Download
9
Embed Size (px)
DESCRIPTION
Instalação do squid com autenticação no servidor AD - Windows
Citation preview
1 - Adicionar o repositórios abaixo no sources.list e depois vamos atualizar lembrando que o servidor deve ter acesso total a internet.
Comandos:
vi /etc/apt/sources.list
Como deve ficar:
#digite o repositório abaixo e desabilite o repositório que tem CD-ROM, colocando # no começo do repositório;
# deb cdrom:[Debian GNU/Linux 7.1.0 _Wheezy_ - Official amd64 NETINST Binary-1 20130615-23:04]/ wheezy main
# deb cdrom:[Debian GNU/Linux 7.1.0 _Wheezy_ - Official amd64 NETINST Binary-1 20130615-23:04]/ wheezy main
deb http://ftp.br.debian.org/debian stable main contrib non-freedeb-src http://ftp.br.debian.org/debian stable main contrib non-freedeb http://ftp.debian.org/debian/ wheezy-updates main contrib non-freedeb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-freedeb http://security.debian.org/ wheezy/updates main contrib non-freedeb-src http://security.debian.org/ wheezy/updates main contrib non-free<esc> :x <enter>apt-get update <enter>apt-get upgrade <enter>
2 – Agora vamos instalar o SSH, para acessarmos via putty o servidor e o VIM que é o editor que estamos mais acostumados a usar.
Comandos:
apt-get install ssh <enter> <S>apt-get install vim <enter><S>
3 – Agora vamos instalar o Build_essential.
Comandos:apt-get install build-essential <enter><S>
4 – Vamos instalar o ntpdate, para sincronizar o horário do Linux com o do Windows e depois vamos mandar ele buscar o horário no servidor Windows, aonde XXX.XXX.XXX.XXX é o ip do servidor Windows.
Comandos:
apt-get install ntpdate <enter><S>ntpdate XXX.XXX.XXX.XXX<enter> #Se tudo ocorreu certo vai aparecer a seguinte mensagem;
5 – Vamos editar o arquivo /etc/hosts aonde vamos definir o nome e IP do domain controller.
Comandos:
vi /etc/hosts
Como deve ficar:
10.115.1.2 {nome servidor windows}.seudominio.jm {nome servidor windows}10.115.1.2 seudominio.com seudominio10.115.1.1 {nome servidor linux}.seudominio.jm {nome servidor linux}127.0.0.1 localhost.localdomain localhost<esc> :x <enter>
6 – Vamos instalar o kerberos e suas dependências:
Comandos:
apt-get install krb5-kdc krb5-config krb5-clients libpam-krb5 krb5-user <enter><S>
7 – Vamos alterar o /etc/krb5.conf, mas antes vamos fazer uma copia do arquivo original.
Comandos:
cp /etc/krb5.conf /etc/krb5.conf.ori <enter>vi /etc/krb5.conf <enter>
Como deve ficar:a
#Alterar em libdefaults deixando igual abaixo;
[libdefaults] default_realm = SEUDOMINIO.JM
#Em realms vamos adicionar igual abaixo;
[realms]
SEUDOMINIO.JM = { kdc = {nome servidor windows}.seudominio.jm admin_server = {nome servidor windows}.seudominio.jm default_domain = seudominio.jm }
#Aqui em domain_realm vamos adicionar ficando igual o abaixo;[domain_realm] .seudominio.jm = SEUDOMINIO.JM seudominio.jm = SEUDOMINIO.JM <esc> :x <enter>
8 – Agora vamos iniciar a comunicação do linux com o windows e testar a comunicação.
Commandos:
kinit administrator <enter>#será solicitada a senha do administrator, caso de tudo certo não aparecera nanhuma mensagem se der algum erro volte ao item 7 e confira as configurações;klist <enter> #Aparecerá a seguinte mensagem caso tenha dado tudo certo.
9 – Agora vamos editar o /etc/nsswitch.conf para fazer a autenticação pelo winbind.
Comandos:
vi /etc/nsswitch.conf <enter>passwd: compat winbindgroup: compat winbind<esc> :x <enter>
10 – Instalar o samba e winbind.
Comandos:
apt-get install samba winbind <enter><S><S>
11 – Vamos configurar o samba alterando o arquivo /etc/samba/smb.conf, antes não esqueça de fazer uma copia do arquivo original.
Comandos:
cp /etc/samba/smb.conf /etc/samba/smb.conf.ori <enter>rm /etc/samba/smb.conf <enter>vi /etc/samba/smb.conf <enter>
Como deve ficar:
[global]
workgroup = SEUDOMINIO
netbios name = {nome do servidor linux}
server string = PROXY SERVER
load printers = no
log file = /var/log/samba/log.%m
max log size = 500
realm = SEUDOMINIO.JM
security = ads
auth methods = winbind
password server = {nome servidor windows}.seudominio.jm
winbind separator = +
encrypt passwords = yes
winbind cache time = 15
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
local master = no
os level = 233
domain master = no
preferred master = no
domain logons = no
wins server = 10.101.1.139
dns proxy = no
ldap ssl = no
<esc> :x <enter>
12 – Vamos alterar a incialização do winbind para o squid poder se comunicar.
Comandos:
vi /etc/init.d/winbind
Como deve ficar:
chmod proxy $PIDDIR/winbindd_privileged/ || return 1
13 – Vamos parar e iniciar os serviços do Samba e winbind.
Comandos:
/etc/init.d/samba stop/etc/init.d/winbind stop/etc/init.d/samba start/etc/init.d/winbind start
14 – Agora vamos adicionar o servidor linux no dominio do windows.
Comandos:
net ads join –U administrator <enter>#após digitar o comando será solicitada a senha de administrator do seudominio.jm ao digitar se der tudo certo aparecerá a seguinte mensagem;
15 – Vamos definir o usuário que será utilizado pelo winbind para listar os usuário do AD.
Comandos:
net setauthuser -U administrator <enter>#sera solicitada a senha do administrator do seudominio.jm, caso de certo não vai aparecer mensagem nenhum.
16 – Teste a comunicação do linux com o RPC server com o commando wbinfo.
Comandos:
wbinfo –t <enter>#Caso esteja tudo certo aparecera a seguinte mensagem;
#Caso de erro restarte o serviço do winbind e tente novamente.wbinfo –g <enter>#Aparecerá todos os grupos do nosso AD.wbinfo –u <enter>#Aparecerá todos os usuários do nosso AD.
17 – Agora vamos instalar o squid.
Comandos:
apt-get install squid <enter> <S> <S>
18 – Adicionar permissão do diretório do squid.
Comandos:
chown -R proxy.proxy /usr/share/squid <enter>chown -R proxy.proxy /var/spool/squid <enter>chown -R proxy.proxy /var/log/squid <enter>chown root.proxy /var/run/samba/winbindd_privileged <enter>
19 – Reinicar o winbind, parar o serviço do squid e criar o cache do squid.
Comandos:
/etc/init.d/winbind restart <enter>/etc/init.d/squid stop <enter>
squid –z <enter>/etc/init.d/squid start <enter>
20– Vamos definir as configurações do squid, faremos uma copia do original para podemos alterar as configurações.
Comandos:
cp /etc/squid/squid.conf /etc/squid/squid.conf.ori <enter>rm /etc/squid/squid.conf <enter>vi /etc/squid/squid.conf <enter>
Como deve ficar:
http_port 3128cache_effective_user proxycache_effective_group proxycache_log /var/log/squid/cache.logcache_access_log /var/log/squid/access.logerror_directory /etc/squid/errors/cache_store_log /var/log/squid/store.logmaximum_object_size 2 MB
hierarchy_stoplist cgi-bin ?acl QUERY urlpath_regex cgi-bin \?no_cache deny QUERY
auth_param ntlm program /usr/bin/ntlm_auth SEUDOMINIO/SERVWIN --helper-protocol=squid-2.5-ntlmsspauth_param ntlm children 10auth_param basic program /usr/bin/ntlm_auth SEUDOMINIO/SERVWIN --helper-protocol=squid-2.5-basicauth_param basic children 5auth_param basic credentialsttl 12 hoursauth_param basic casesensitive off
refresh_pattern ^ftp: 1440 20% 10080refresh_pattern ^gopher: 1440 0% 1440refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255acl to_localhost dst 127.0.0.0/8acl SSL_ports port 443 563 2100acl Safe_ports port 80 # httpacl Safe_ports port 21 # ftpacl Safe_ports port 443 563 # https, snewsacl Safe_ports port 70 # gopheracl Safe_ports port 210 # waisacl Safe_ports port 1025-65535 # unregistered portsacl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-httpacl Safe_ports port 591 # filemakeracl Safe_ports port 777 # multiling httpacl purge method PURGEacl CONNECT method CONNECT
external_acl_type nt_group %LOGIN /usr/lib/squid/wbinfo_group.pl
acl WEBOBRAS external nt_group Web_Informaticaacl SITES_BLOQUEADOS dstdom_regex -i "/etc/squid/config/sites_bloqueados"acl SITES_BLOQUEADOS_POR_IP dst "/etc/squid/config/sites_bloqueados_por_ip"
acl MIME_BLOQUEADOS rep_mime_type -i "/etc/squid/config/mime_bloqueados"
http_access allow manager localhosthttp_access deny managerhttp_access allow purge localhosthttp_access deny purgehttp_access deny !Safe_portshttp_access deny CONNECT !SSL_ports
http_access deny SITES_BLOQUEADOShttp_access deny SITES_BLOQUEADOS_POR_IP
http_access allow WEBOBRASicp_access allow allvisible_hostname proxy.SEUDOMINIO.JMcoredump_dir /var/spool/squid/cache
21 – Com o comando abaixo vamos testar o programa para trazer os usuários do AD.
Comandos:
echo "{login} {grupo}" | /usr/lib/squid/wbinfo_group.pl#Caso esteja tudo ok aparecerá a seguinte mensagem: