Differences

This shows you the differences between two versions of the page.

Link to this comparison view

squid_autenticando_no_ad_utilizando_debian_wheezy_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Squid autenticando no AD utilizando o Debian Wheezy ======
  
 +
 +E ai galera, aqui eu vou abordar a configuração do Squid no Debian Wheezy autenticando no AD, e vamos instalar o lightsquid um gerador de relatórios show de bola.
 +
 +Prepare o seu sistema com o seguinte script http://​wiki.douglasqsantos.com.br/​doku.php/​confinicialwheezy_en para que não falte nenhum pacote ou configuração.
 +
 +  - Endereço Ip do Proxy:** 192.168.1.20**
 +  - Endereço Ip do Ad PDC: **192.168.1.100**
 +  - Domínio utilizado: **douglasqsantos.com.br**
 +  - Habilitar o dns do Windows a fazer atualizações seguras e não seguras, pois vamos inserir o centos no domínio.
 +
 + ​Grupos que precisam ser criados no AD, não esqueça de inserir os usuários nos grupos ;)
 +  - **ti-admin**
 +  - **matriz-diretoria**
 +  - **matriz-gerencia**
 +  - **matriz-administracao**
 +  - **matriz-logistica**
 +
 +
 +Vamos começar acertando algumas variáveis do sistema
 +<sxh bash>
 +export DEBIAN_PRIORITY=critical
 +export DEBIAN_FRONTEND=noninteractive
 +</​sxh>​
 +
 +Agora vamos instalar os pacotes necessários para o samba ser inserido no domínio AD
 +<sxh bash>
 +aptitude update && aptitude dist-upgrade -y
 +aptitude install -y samba samba-common smbclient winbind krb5-config libpam-krb5
 +</​sxh>​
 +
 +Agora vamos voltar as variáveis do ambiente ao normal
 +<sxh bash>
 +unset DEBIAN_PRIORITY
 +unset DEBIAN_FRONTEND
 +</​sxh>​
 +
 +Vamos agora fazer um backup do arquivo /​etc/​resolv.conf
 +<sxh bash>
 +cp -Rfa /​etc/​resolv.conf{,​.bkp}
 +</​sxh>​
 +
 +Agora vamos ajustar o arquivo /​etc/​resolv.conf
 +<sxh bash>
 +vim /​etc/​resolv.conf
 +#Domínio e Ip do servidor AD
 +search douglasqsantos.com.br
 +domain douglasqsantos.com.br
 +nameserver 192.168.1.100
 +</​sxh>​
 +
 +Agora vamos testar se o servidor ad esta respondendo corretamente
 +<sxh bash>
 +nslookup douglasqsantos.com.br
 +Server: ​  ​192.168.1.100
 +Address: ​ 192.168.1.100#​53
 +
 +Name: douglasqsantos.com.br
 +Address: 192.168.1.100
 +</​sxh>​
 +
 +Agora vamos atualizar o relógio do sistema
 +<sxh bash>
 +ntpdate -u ntp.usp.br
 +</​sxh>​
 +
 +Agora vamos fazer backup do arquivo de configuração do cliente kerberos
 +<sxh bash>
 +cp -Rfa /​etc/​krb5.conf{,​.bkp}
 +</​sxh>​
 +
 +Agora vamos configurar o arquivo /​etc/​krb5.conf
 +<sxh bash>
 +vim /​etc/​krb5.conf
 +[libdefaults]
 +default_realm = douglasqsantos.com.br
 +krb4_config = /​etc/​krb.conf
 +krb4_realms = /​etc/​krb.realms
 +kdc_timesync = 1
 +ccache_type = 4
 +forwardable = true
 +proxiable = true
 +v4_instance_resolve = false
 +v4_name_convert = {
 +host = {
 +rcmd = host
 +ftp = ftp
 +}
 +plain = {
 +something = something-else
 +}
 +}
 +fcc-mit-ticketflags = true
 +[realms]
 +douglasqsantos.com.br = { 
 +kdc = 192.168.1.100
 +admin_server = 192.168.1.100:​749
 +default_server = 192.168.1.100
 +}
 +[domain_realm]
 +.douglasqsantos.com.br=douglasqsantos.com.br
 +douglasqsantos.com.br=douglasqsantos.com.br
 +[login]
 +krb4_convert = true
 +krb4_get_tickets = false
 +[kdc]
 +profile = /​etc/​krb5kdc/​kdc.conf
 +[appdefaults]
 +pam = {
 +debug = false
 +ticket_lifetime = 36000
 +renew_lifetime = 36000
 +forwardable = true
 +krb4_convert = false
 +}
 +[logging]
 +default = file:/​var/​log/​krb5libs.log
 +kdc = file:/​var/​log/​krb5kdc.log
 +admin_server = file:/​var/​log/​kadmind.log
 +</​sxh>​
 +
 +
 +Agora vamos acertar o arquivo /​etc/​security/​limits.conf para não ficar mostrando erro no samba
 +
 +<sxh bash>
 +vim /​etc/​security/​limits.conf
 +[...]
 +#colocar no final do arquivo
 +root hard nofile 131072
 +root soft nofile 65536
 +mioutente hard nofile 32768
 +mioutente soft nofile 16384
 +</​sxh>​
 +
 +Agora vamos fazer um backup do arquivo de configuração do samba
 +<sxh bash>
 +cp -Rfa /​etc/​samba/​smb.conf{,​.bkp}
 +</​sxh>​
 +
 +Agora vamos a configuração do samba deixe o arquivo como no exemplo
 +<sxh bash> ​
 +vim /​etc/​samba/​smb.conf
 +[global]
 +  workgroup = DOUGLASQSANTOS
 +  realm = DOUGLASQSANTOS.COM.BR
 +  netbios name = DEBIAN
 +  server string = Proxy Server
 +  security = ADS
 +  auth methods = winbind
 +  socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
 +  load printers = No
 +  printcap name = cups
 +  disable spoolss = Yes
 +  local master = No
 +  domain master = No
 +  winbind cache time = 15
 +  winbind enum users = Yes
 +  winbind enum groups = Yes
 +  winbind use default domain = Yes
 +  idmap config * : range = 10000-15000
 +  idmap config * : backend = tdb
 +  idmap uid = 10000-15000
 +  idmap gid = 10000-15000
 +  template shell = /bin/bash
 +  template homedir = /home/%U
 +</​sxh>​
 +
 +Agora temos que fazer mais um acerto agora precisamos o ntlm_auth precisa de privilegio do winbind para funcionar então vamos adicionar o squid no grupo do winbind.
 +
 +<sxh bash>
 +gpasswd -a proxy winbindd_priv ​
 +Adicionando usuário proxy ao grupo winbindd_priv
 +</​sxh>​
 +
 +Vamos fazer um backup do arquivo /​etc/​nsswitch.conf
 +
 +<sxh bash>
 +cp /​etc/​nsswitch.conf{,​.bkp}
 +</​sxh>​
 +
 +Agora temos que acertar o arquivo /​etc/​nsswitch.conf que controla aonde vai ser consultado usuários e senhas deixe o arquivo como abaixo.
 +
 +<sxh bash>
 +vim /​etc/​nsswitch.conf
 +passwd: ​        ​compat winbind
 +group: ​         compat winbind
 +shadow: ​        ​compat
 + 
 +hosts: ​         files dns
 +networks: ​      files
 + 
 +protocols: ​     db files
 +services: ​      db files
 +ethers: ​        db files
 +rpc:            db files
 + 
 +netgroup: ​      nis
 +</​sxh>​
 +
 +Agora vamos reiniciar o samba e o winbind para eles pegarem a nova configuração
 +
 +<sxh bash>
 +/​etc/​init.d/​samba restart
 +/​etc/​init.d/​winbind restart
 +</​sxh>​
 +
 +Agora temos que inserir a maquina no domínio AD
 +<sxh bash>
 +net ads join douglasqsantos.com.br -U administrator
 +Enter administrator'​s password: senha
 +Using short domain name -- DOUGLASQSANTOS
 +Joined '​DEBIAN'​ to realm '​douglasqsantos.com.br'​
 +</​sxh>​
 +
 +
 +Caso precise retirar a maquina do domínio da forma correta (Excluindo as ligações dela no AD), podemos fazer da seguinte forma
 +<sxh bash>
 +net ads leave douglasqsantos.com.br -U Administrator
 +Enter Administrator'​s password:
 +Deleted account for '​DEBIAN'​ in realm '​douglasqsantos.com.br'​
 +</​sxh>​
 +
 +Agora temos que reiniciar os serviços novamente
 +
 +<sxh bash>
 +/​etc/​init.d/​samba restart
 +/​etc/​init.d/​winbind restart
 +</​sxh>​
 +
 +Agora já podemos testar a conexão do samba com o AD
 +
 +<sxh bash>
 +wbinfo -t
 +checking the trust secret for domain DOMINIO via RPC calls succeeded
 +</​sxh>​
 +
 +Agora vamos checar os grupos que temos no domínio.
 +
 +<sxh bash>
 +wbinfo -g
 +winrmremotewmiusers__
 +domain computers
 +domain controllers
 +schema admins
 +enterprise admins
 +cert publishers
 +domain admins
 +domain users
 +domain guests
 +group policy creator owners
 +ras and ias servers
 +allowed rodc password replication group
 +denied rodc password replication group
 +read-only domain controllers
 +enterprise read-only domain controllers
 +cloneable domain controllers
 +dnsadmins
 +dnsupdateproxy
 +ti-admin
 +matriz-diretoria
 +matriz-gerencia
 +matriz-administracao
 +matriz-logistica
 +</​sxh>​
 +
 +Agora vamos chegar os usuários do domínio
 +<sxh bash>
 +wbinfo -u
 +administrator
 +guest
 +krbtgt
 +douglas.santos
 +susan.cris
 +karolayne.santos
 +hillary.santos
 +</​sxh>​
 +
 +Reinicie o servidor para ele carregar todas as novas configurações
 +<sxh bash>
 +reboot
 +</​sxh>​
 +
 +====== Instalação e Configuração do Squid ======
 +
 +Agora vamos fazer um update dos repositórios e vamos mandar instalar o squid
 +<sxh bash>
 +aptitude update && aptitude install squid3 squid3-common squid-cgi -y
 +</​sxh>​
 +
 +Vamos fazer um backup do arquivo de configuração do /​etc/​squid3/​squid.conf
 +<sxh bash>
 +cp -Rfa /​etc/​squid3/​squid.conf{,​.bkp}
 +</​sxh>​
 +
 +Agora vamos a configuração do squid
 +<sxh apache>
 +vim /​etc/​squid3/​squid.conf
 +#Porta padrão do proxy
 +http_port 3128
 +
 +#Endereco de E-mail do administrador do proxy
 +cache_mgr suporte@douglasqsantos.com.br
 +
 +#Nao faz cache de dados de formularios html,em de resultados de programas cgi                      ​
 +#​hierarchy_stoplist cgi-bin ?
 +
 +#Cria uma access control list, baseando-se na url e utilizando exp. regulares nesta situacao ​  
 +#foi criado uma exp. regular para cgi e ?.        ​
 +acl QUERY urlpath_regex cgi-bin \?
 +
 +#Nao faz cache da acl QUERY                        ​
 +cache deny QUERY
 +
 +#Define o tamonho maximo de um objeto para seu armazenamento no cache local                 
 +maximum_object_size 4096 KB
 +
 +#Define o tamanho minimo de um objeto para seu armazenamento no cache local                 
 +minimum_object_size 0 KB
 +
 +#Define o tamanho maximo de um objeto para seu armazenamento no cache de memoria ​           ​
 +maximum_object_size_in_memory 64 KB
 +
 +#Definicao da quantidade de memoria ram a ser alocada para cache                                ​
 +cache_mem 60 MB
 +
 +#Para nao bloquear downloads ​                      
 +quick_abort_min -1 KB
 +
 +# Resolve um problema com conexões persistentes que ocorre com certos servidores,
 +# e que provoca delays em nosso cache.
 +detect_broken_pconn on
 +
 +# Provoca um ganho de performance ao usar conexões Pipeline (requisições em paralelo)
 +pipeline_prefetch on
 +
 +
 +#Para cache de fqdn
 +fqdncache_size 1024
 +
 +#Tempo de atualizacao dos objetos relacionados aos prot ftp, gopher e http.  ​
 +refresh_pattern ^ftp:// 1440 20% 10080
 +refresh_pattern ^gopher: 1440 0% 1440
 +refresh_pattern -i (/​cgi-bin/​|\?​) 0 0% 0
 +refresh_pattern . 0 20% 4320
 +
 +#Definicao da porcentagem do uso do cache que fara o squid descartar os arquivos mais antigos ​                                   ​
 +cache_swap_low 90
 +cache_swap_high 95
 +
 +#Logs   
 +access_log /​var/​log/​squid3/​access.log squid
 +cache_log /​var/​log/​squid3/​cache.log
 +cache_store_log /​var/​log/​squid3/​store.log
 +
 +#Define a localizacao do cache de disco, tamanho, qtd de diretorios pai, e por fim a qtd de dir filhos ​                  
 +cache_dir aufs /​var/​spool/​squid3 100 16 256
 +
 +#Controle do arquivo de Log
 +logfile_rotate 10
 +
 +#Arquivo que contem os nomes de maquinas ​          
 +hosts_file /etc/hosts
 +
 +#Maquinas que nao precisaram de autenticacao ​  
 +acl liberados src "/​etc/​squid3/​regras/​liberados"​
 +http_access allow liberados
 +
 +#liberar o acesso ao site da caixa que está com problemas ​
 +acl caixa dstdomain .caixa.gov.br
 +always_direct allow caixa
 +cache deny caixa
 +
 +#MACS que estão liberados.
 +acl macliberado ​  arp "/​etc/​squid3/​regras/​mac_liberado"​
 +http_access allow macliberado
 +
 +
 +#### Autenticao no Windows 2008 via WINBIND
 +auth_param ntlm program /​usr/​bin/​ntlm_auth --helper-protocol=squid-2.5-ntlmssp
 +auth_param ntlm children 30
 +auth_param basic program /​usr/​bin/​ntlm_auth --helper-protocol=squid-2.5-basic
 +auth_param basic children 5
 +auth_param basic realm Squid proxy server
 +auth_param basic credentialsttl 2 hours
 +external_acl_type ad_group ttl=600 children=35 %LOGIN /​usr/​lib/​squid3/​wbinfo_group.pl
 +
 +### ACL Padroes
 +acl manager proto cache_object
 +acl localhost src 127.0.0.1/​32
 +acl SSL_ports port 443 # https
 +acl SSL_ports port 563 # snews
 +acl SSL_ports port 873 # rsync
 +acl Safe_ports port 80 # http
 +acl Safe_ports port 21 # ftp
 +acl Safe_ports port 443 563 # https, snews
 +acl Safe_ports port 70 # gopher
 +acl Safe_ports port 210 # wais
 +acl Safe_ports port 1025-65535 # unregistered ports
 +acl Safe_ports port 280 # http-mgmt
 +acl Safe_ports port 488 # gss-http
 +acl Safe_ports port 591 # filemaker
 +acl Safe_ports port 777 # multiling http
 +acl Safe_ports port 631 # cups
 +acl Safe_ports port 873 # rsync
 +acl Safe_ports port 901 # SWAT
 +acl Safe_ports port 1080
 +acl Safe_ports port 1863
 +acl Safe_ports port 8443 # https
 +acl Safe_ports port 5222 # gTalk
 +acl Safe_ports port 5223 # gTalk
 +acl Safe_ports port 47057 # torrent
 +
 +acl purge method PURGE
 +acl CONNECT method CONNECT
 +
 +http_access allow manager localhost
 +http_access deny manager
 +http_access allow purge localhost
 +http_access deny purge
 +http_access deny !Safe_ports
 +http_access deny CONNECT !SSL_ports
 +
 +# Seguranca (Protecao do Cache)
 +acl manager proto cache_object
 +
 +#Limita conexeos HTTP                              ​
 +acl connect_abertas maxconn 8
 +
 +#sites que não serão feito cache geralmente bancos ​                 ​
 +acl NOCACHE url_regex "/​etc/​squid3/​regras/​direto"​ \?
 +no_cache deny NOCACHE
 +
 +#​-----------------------------------------------------------------------------------#​
 +#       Nome ACL                TIPO                    Nome Grupo AD               #
 +#​-----------------------------------------------------------------------------------#​
 +acl    ti-admin ​                ​external ad_group ​         ti-admin
 +acl    matriz-diretoria ​        ​external ad_group ​         matriz-diretoria
 +acl    matriz-gerencia ​         external ad_group ​         matriz-gerencia
 +acl    matriz-administracao ​    ​external ad_group ​         matriz-administracao
 +acl    matriz-logistica ​        ​external ad_group ​         matriz-logistica
 +
 +# Whitelists / Blacklists
 +acl downloads ​        ​urlpath_regex -i "/​etc/​squid3/​regras/​downloads"​
 +acl sites-liberados ​  ​url_regex ​    -i "/​etc/​squid3/​regras/​sites_liberados"​
 +acl sites-proibidos ​  ​url_regex ​    -i "/​etc/​squid3/​regras/​sites_proibidos"​
 +acl sites-bloqueados ​ url_regex ​    -i "/​etc/​squid3/​regras/​sites_bloqueados"​
 +acl sites-gerencia ​   url_regex ​    -i "/​etc/​squid3/​regras/​sites_gerencia"​
 +acl sites-administracao url_regex ​  -i "/​etc/​squid3/​regras/​sites_administracao"​
 +acl sites-logistica ​  ​url_regex ​    -i "/​etc/​squid3/​regras/​sites_logistica"​
 +
 +#Bloquear determinados usuários autenticados
 +acl usu_bloqueados proxy_auth "/​etc/​squid3/​regras/​usu_bloqueados"​
 +
 +#Controle de acesso por horário aqui, vamos liberar o acesso no horário do almoço
 +#aqui os usuário vão poder acessar alguns sites diferenciados entre as 12:00 até as 13:00
 +acl almoco time MTWHFAS 12:00-13:00
 +
 +#Agora vamos criar uma regra para garantir que os usuários que vão acessar no almoço estão autenticados
 +acl autenticados proxy_auth REQUIRED
 +
 +#Agora vamos criar uma lista de sites que eles vão poder acessar no horário do almoço
 +acl sites-almoco ​  ​url_regex ​    -i "/​etc/​squid3/​regras/​sites_almoco"​
 +
 +
 +# Permissoes de Acesso
 +http_access allow ti-admin
 +http_access allow sites-liberados
 +http_access deny  sites-proibidos
 +http_access allow matriz-diretoria
 +#Aqui vamos cruzar as acls para garantir que os usuários que vão acessar os sites no almoço estejam autenticados
 +http_access allow almoco autenticados sites-almoco
 +http_access deny  sites-bloqueados ​
 +http_access deny  downloads
 +http_access deny  usu_bloqueados
 +http_access allow matriz-administracao sites-administracao
 +http_access allow matriz-logistica sites-logistica
 +#Acesso ao site da caixa
 +#​http_access allow caixa matriz-administracao
 +#​http_access allow caixa matriz-diretoria
 +http_access deny all
 +http_reply_access allow all
 +icp_access allow all
 +miss_access allow all
 +visible_hostname proxy.douglasqsantos.com.br
 +error_directory /​usr/​share/​squid3/​errors/​pt-br
 +#​cache_effective_group proxy
 +cache_effective_user proxy
 +coredump_dir /​var/​spool/​squid3
 +</​sxh>​
 +
 +Agora vamos criar o diretório para armazenar as regras do squid
 +<sxh bash>
 +mkdir -p /​etc/​squid3/​regras
 +</​sxh>​
 +
 +Arquivo com os ips que não precisaram de autenticação e não terão bloqueio
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​liberados
 +#Arquivo que contem os ips que não vão passar por autenticação e não terão bloqueio
 +10.13.0.1
 +10.13.0.2
 +</​sxh>​
 +
 +Arquivo com os macs que não precisaram de autenticação e não terão bloqueio
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​mac_liberado
 +#MACS que não precisaram de autenticação e não terão bloqueio.
 +01:​01:​01:​01:​01:​01
 +</​sxh>​
 +
 +Arquivo com os sites que não vamos fazer cache
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​direto
 +#Sites que não vamos fazer cache
 +bradesco
 +itau
 +caixa.gov
 +hsbc
 +squid-cache
 +</​sxh>​
 +
 +Arquivo com os sites que vão poder ser acessados no horário do almoço das 12:00 as 13:00 
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​sites_almoco
 +#Sites que vão poder ser acessados no horário de almoço
 +facebook
 +gmail
 +</​sxh>​
 +
 +Arquivo com as extensões bloqueadas ou seja as extensões que os usuários não vão poder baixar
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​downloads
 +#Arquivo com as extensões que os usuários não vão poder baixar
 +.ace$
 +.af$
 +.afx$
 +.asf$
 +.asx$
 +.avi$
 +.bat$
 +.cmd$
 +.com$
 +.cpt$
 +.divx$
 +.dms$
 +.dot$
 +.dvi$
 +.ez$
 +.gl$
 +.hqx$
 +.kar$
 +.lha$
 +.lzh$
 +.mov$
 +.movie$
 +.mp2$
 +.mp3$
 +.mpe$
 +.mpeg$
 +.mpg$
 +.mpga$
 +.pif$
 +.qt$
 +.ra$
 +.rm$
 +.rpm$
 +.scr$
 +.spm$
 +.vbf$
 +.vob$
 +.vqf$
 +.wav$
 +.wk$
 +.wma$
 +.wmv$
 +.wpm$
 +.wrd$
 +.wvx$
 +.wz$
 +</​sxh>​
 +
 +Arquivo com os sites que vão estar liberados para todos os usuários autenticados ​
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​sites_liberados
 +#sites que vão estar liberados para todos os usuários autenticados
 +squid-cache
 +site_da_empresa
 +</​sxh>​
 +
 +Arquivo com os sites que estão proibidos para todos os usuários ​
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​sites_proibidos
 +#Sites que vão estar proibidos para todos os usuários
 +041vip
 +4shared
 +abusado
 +acervoamador
 +acompanhante
 +amador
 +amante
 +anal
 +aninha
 +anus
 +arquivonet
 +arquivosex
 +arrebitadas
 +arrombadas
 +baixaki
 +bangbus
 +batepapo
 +bizarro
 +boceta
 +boneca
 +bronha
 +bruninha
 +buceta
 +bunda
 +buttman
 +cabaret
 +calcinhas
 +camerasex
 +caralho
 +caricia
 +carlinha
 +chantily
 +checkip.dyndns.org
 +chupar
 +classisex
 +climax
 +clitoris
 +cocota
 +curitibasexo
 +curitibastarnight
 +cwbvip
 +cybersex
 +delicia
 +deliciosas
 +delirius
 +deliriusonline
 +easyquarto
 +ebuddy
 +ejacula
 +erotic
 +erotismo
 +estupro
 +foda
 +foder
 +fuck
 +furacao
 +galinhas
 +gang-bang
 +gangbang
 +gata
 +gatinhas
 +gay
 +getmyip.co.uk
 +getmyip.org
 +gostosa
 +gostoso
 +homosexual
 +hustler
 +idealcompany
 +juggworld
 +lolita
 +malicia
 +marcinha
 +megaupload
 +molhadinhas
 +morango.ig
 +ninfeta
 +ninfetinha
 +orgia
 +orkut
 +parperfeito
 +partypoker
 +penis
 +penthouse
 +pica
 +pinto
 +playboy
 +porno
 +private
 +pubshop
 +pussy
 +puta
 +putinha
 +redtube
 +revistabrazil
 +sandrinha
 +secretas
 +sedutoras
 +sensual
 +sex
 +sexlive
 +sexo
 +sexxxyvideo
 +sexy
 +sexyclube
 +shemale
 +swing
 +talk
 +teen
 +trafficconverter.biz
 +transa
 +travestis
 +tufos
 +vagina
 +virgen
 +youtube
 +zipmail
 +zoofilia
 +</​sxh>​
 +
 +Arquivo que vai conter os sites bloqueados somente a diretoria pode acessar esses sites
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​sites_bloqueados
 +#Sites que estão bloqueados para todos os usuários menos a diretoria
 +208.80.152.2
 +4shared
 +adorocinema
 +afterhour
 +altoagito
 +altosagitos
 +amazon
 +americanas
 +aoe
 +aondenamoro
 +apolar
 +atleticoparanaense
 +atleticopr
 +atoouefeito
 +atrativa
 +atrativagames
 +aumentonatural
 +baixaki
 +batepapo
 +blog
 +blogdocebolinha
 +blogspot
 +blowjob
 +bluebell
 +bondedorole
 +brasilviagem
 +caiobafm
 +caixabranca
 +caixapreta
 +caixapretta
 +cartasdeamor
 +cartoon
 +chantily
 +cineplayers
 +cocemsuacasa
 +collider
 +comercioeletronico
 +corinthians
 +corinthians
 +coritiba
 +corpoperfeito
 +cowboysdoasfalto
 +coxa
 +coxanautas
 +declaracaodeamor
 +ebuddy
 +facearfacebook
 +films
 +filmschoolrejects
 +fimdostempos
 +flogao
 +forumpcs
 +furacao
 +furiajovem
 +fusion
 +futebol
 +galinhas
 +games
 +globo.com
 +gonzagaaluguel
 +gravatar
 +guiademulher
 +guruweb
 +gvt
 +hartmannimoveis
 +humortadela
 +icq
 +idolos
 +ig
 +imoveiscuritiba
 +imoveisportoseguro
 +imperioalviverde
 +investeloto
 +jovemnerd
 +jovempanfm
 +jpfm
 +jtavaresimoveis
 +judao
 +last.fm
 +latinoreview
 +lojadojardim
 +marisa
 +meebo
 +meebo.com
 +megaupload
 +mercadolivre
 +metal-archives
 +meucarronovo
 +morehate
 +morte
 +mtv
 +music
 +myspace
 +namoro
 +nokia
 +ofuxico
 +orkut
 +padrereginaldomanzotti
 +palmeiras
 +parperfeito
 +pindavale
 +pontofrio
 +portal3.casasoft
 +portalnoivas
 +powerscrap
 +radio
 +rapidshare
 +samsung
 +shop
 +shopfacil
 +shopfacil
 +shopinvest
 +shoppingtotal
 +siemens
 +socarrao
 +sonico
 +sony
 +superdownload
 +talk
 +televisao
 +teologia
 +teologica
 +tim
 +timmusicstore
 +tirinhas
 +tribal
 +twitter
 +upload.wikipedia.org
 +videolar
 +violencia
 +virtua
 +vivo
 +vocoxa
 +webmotors
 +webnoivas
 +wikia
 +wikimedia
 +wikipedia.com.br
 +wikipedia.org
 +yahoo
 +youtube
 +zipmail
 +</​sxh>​
 +
 +Sites que a gerencia vai ter acesso ​
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​sites_gerencia
 +#Sites que o grupo de gerencia vai ter acesso
 +terra 
 +uol
 +google
 +gerencia.siteempresa
 +bradesco
 +itau
 +caixa.gov
 +hsbc
 +.gov
 +</​sxh>​
 +
 +Sites que a administração vai ter acesso
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​sites_administracao
 +#Sites que o grupo adminstracao vai ter acesso
 +adm.siteempresa
 +bradesco
 +itau
 +hsbc
 +caixa.gov
 +</​sxh>​
 +
 +Sites que a logística vai ter acesso ​
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​sites_logistica
 +#Sites que o grupo logistica vai ter acesso
 +logistica.siteempresa
 +</​sxh>​
 +
 +Bloquear determinados usuários autenticados ​
 +<sxh bash>
 +vim /​etc/​squid3/​regras/​usu_bloqueados
 +#Usuários que vão ser bloquados no proxy
 +jose.silva
 +</​sxh>​
 +
 +Agora crie os grupos e usuários no AD
 +
 +Vamos consultar os nossos usuários do Ad
 +<sxh bash>
 +wbinfo -u
 +administrator
 +guest
 +krbtgt
 +douglas.santos
 +susan.cris
 +karolayne.santos
 +hillary.santos
 +</​sxh>​
 +
 +Agora crie os grupos e usuários no AD, caso ainda não tenha feito isso
 +<sxh bash>
 +wbinfo -g
 +winrmremotewmiusers__
 +domain computers
 +domain controllers
 +schema admins
 +enterprise admins
 +cert publishers
 +domain admins
 +domain users
 +domain guests
 +group policy creator owners
 +ras and ias servers
 +allowed rodc password replication group
 +denied rodc password replication group
 +read-only domain controllers
 +enterprise read-only domain controllers
 +cloneable domain controllers
 +dnsadmins
 +dnsupdateproxy
 +ti-admin
 +matriz-diretoria
 +matriz-gerencia
 +matriz-administracao
 +matriz-logistica
 +</​sxh>​
 +
 +Agora vamos consultar o grupo ti-admin para conferir os usuários que fazem parte deste grupo.
 +<sxh bash>
 +wbinfo --group-info=ti-admin
 +ti-admin:​x:​10000:​douglas.santos
 +</​sxh>​
 +
 +Como pode ser notado nós temos o usuário Douglas no grupo ti-admin
 +
 +Agora vamos consultar informações sobre o nosso usuário douglas.santos
 +<sxh bash>
 +wbinfo --user-groups=douglas.santos
 +10001
 +10000
 +</​sxh>​
 +
 +O nosso usuário pertence a dois grupos do domínio o grupo 10001 e o 10000 vamos descobrir quem são estes grupos.
 +
 +Vamos consultar primeiro o grupo 10000 
 +<sxh bash>
 +wbinfo --gid-info=10000
 +ti-admin:​x:​10000:​douglas.santos
 +</​sxh>​
 +
 +Como pode ser notado o grupo 10000 é o grupo ti-admin agora vamos consultar o grupo 10001
 +<sxh bash>
 +wbinfo --gid-info=10001
 +domain users:​x:​10001:​
 +</​sxh>​
 +
 +Como pode ser notado o grupo 10001 é o grupo domain users ou seja os usuários de domínio.
 +
 +
 +Agora vamos parar o squid 
 +<sxh bash>
 +/​etc/​init.d/​squid3 stop
 +</​sxh>​
 +
 +Agora temos que criar os diretórios para o squid armazenar o cache 
 +<sxh bash>
 +squid3 -z
 +</​sxh>​
 +
 +Vamos acertar o horário dos relatórios do squid, por padrão ele mostra no formato GMT com uma variável %T e nós precisamos do formato UTC %t.
 +<sxh bash>
 +sed -i "​s/​%T/​%t/​g"​ /​usr/​share/​squid3/​errors/​pt-br/​*
 +</​sxh>​
 +
 +Agora podemos iniciar ele
 +<sxh bash>
 +/​etc/​init.d/​squid3 start
 +</​sxh>​
 +
 +
 +**OBS: NÃO ESQUECA DE CRIAR OS GRUPOS NO AD E COLOCAR OS USUÁRIOS NOS GRUPOS **
 +
 +
 +Para testar a autenticação com o AD pode ser efetuado com o seguinte comando
 +<sxh bash>
 +wbinfo -a usuario%senha
 +plaintext password authentication succeeded #-> saída com sucesso
 +challenge/​response password authentication succeeded #-> saída com sucesso
 +</​sxh>​
 +
 +Agora um teste com uma saída de erro 
 +<sxh bash>
 +wbinfo -a usuario%senhaerrada
 +plaintext password authentication failed #-> saída com erro
 +Could not authenticate user usuario%senhaerrada with plaintext password #-> saída com erro
 +challenge/​response password authentication failed #-> saída com erro
 +error code was NT_STATUS_NO_LOGON_SERVERS (0xc000005e) #-> saída com erro
 +error messsage was: No logon servers #-> saída com erro
 +Could not authenticate user usuario with challenge/​response #-> saída com erro
 +</​sxh>​
 +
 +Podemos testar a autenticação do Squid com o AD da seguinte forma 
 +<sxh bash>
 +ntlm_auth --help-protocol=squid-2.5-basic --domain=dominio --username=usuario --password=senha
 +NT_STATUS_OK:​ Success (0x0) #-> saída com sucesso
 +</​sxh>​
 +
 +Agora um teste com saída de erro 
 +<sxh bash>
 +ntlm_auth --help-protocol=squid-2.5-basic --domain=dominio --username=usuario --password=senhaerrada
 +NT_STATUS_IO_TIMEOUT:​ NT_STATUS_IO_TIMEOUT (0xc00000b5) #-> saída de erro
 +</​sxh>​
 +
 +====== Instalação e Configuração do lightsquid ======
 +
 +
 +Podemos ver um demo do lightsquid em http://​lightsquid.sourceforge.net/​demo18/​index.cgi?​year=2009&​month=08
 +
 +Agora vamos fazer um update dos repositórios e um upgrade do sistema
 +<sxh bash>
 +aptitude update && aptitude dist-upgrade -y
 +</​sxh>​
 +
 +Agora vamos instalar as dependências dele
 +<sxh bash>
 +aptitude install libgd-gd2-perl libbio-graphics-perl libapache2-mod-perl2 -y
 +</​sxh>​
 +
 +Agora vamos obter o lightsquid
 +<sxh bash>
 +cd /var/www/
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​monitoring/​lightsquid-1.8.tgz
 +</​sxh>​
 +
 +Agora vamos desempacotar ele
 +<sxh bash>
 +tar -xzvf lightsquid-1.8.tgz
 +</​sxh>​
 +
 +Agora vamos remover o tgz
 +<sxh bash>
 +rm -rf lightsquid-1.8.tgz
 +</​sxh>​
 +
 +Agora vamos renomear o nosso diretório do lightsquid
 +<sxh bash>
 +mv lightsquid-1.8 lightsquid
 +</​sxh>​
 +
 +Agora vamos acertar as permissões dos arquivos
 +<sxh bash>
 +cd lightsquid
 +chmod +x *.cgi
 +chmod +x *.pl
 +</​sxh>​
 +
 +Agora vamos mudar o dono do diretório
 +<sxh bash>
 +chown -R www-data:​www-data /​var/​www/​lightsquid
 +</​sxh>​
 +
 +Agora vamos ajustar o arquivo do virtualhost Default do apache
 +<sxh apache>
 +vim /​etc/​apache2/​sites-available/​default
 +<​VirtualHost *:80>
 +[...] 
 +       #​Configuração do lightsquid
 +       <​Directory "/​var/​www/​lightsquid">​
 +         ​DirectoryIndex index.cgi
 +         ​Options +ExecCGI -Indexes -MultiViews +SymLinksIfOwnerMatch
 +         ​AddHandler cgi-script .cgi
 +         ​AllowOverride All
 +       </​Directory>​
 +
 +        ScriptAlias /cgi-bin/ /​usr/​lib/​cgi-bin/​
 +        <​Directory "/​usr/​lib/​cgi-bin">​
 +                AllowOverride None
 +                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 +                Order allow,deny
 +                Allow from all
 +        </​Directory>​
 +
 +       [...]
 +</​VirtualHost>​
 +</​sxh>​
 +
 +Agora vamos ajustar o idioma do lightsquid
 +<sxh bash>
 +vim /​var/​www/​lightsquid/​lightsquid.cfg
 +[...]
 +$lang                ="​pt_br";​
 +</​sxh>​
 +
 +Agora vamos ajustar o caminho das pastas do lightsquid
 +<sxh bash>
 +sed -i '​s|/​var/​www/​html/​|/​var/​www/​|g'​ /​var/​www/​lightsquid/​lightsquid.cfg
 +sed -i '​s|/​var/​log/​squid|/​var/​log/​squid3|g'​ /​var/​www/​lightsquid/​lightsquid.cfg
 +</​sxh>​
 +
 +Agora vamos testar o lightsquid
 +<sxh bash>
 +perl  /​var/​www/​lightsquid/​check-setup.pl
 +LightSquid Config Checker, (c) 2005-9 Sergey Erokhin GNU GPL
 +
 +LogPath ​  : /​var/​log/​squid3
 +reportpath: /​var/​www/​lightsquid/​report
 +Lang      : /​var/​www/​lightsquid/​lang/​pt_br
 +Template ​ : /​var/​www/​lightsquid/​tpl/​base
 +Ip2Name ​  : /​var/​www/​lightsquid/​ip2name/​ip2name.simple
 +
 +
 +all check passed, now try access to cgi part in browser
 +</​sxh>​
 +
 +Agora vamos reiniciar o apache
 +<sxh bash>
 +/​etc/​init.d/​apache2 restart
 +</​sxh>​
 +
 +Agora vamos gerar os nossos relatórios
 +<sxh bash>
 +/​var/​www/​lightsquid/​lightparser.pl
 +</​sxh>​
 +
 +Agora já podemos acessar o nosso relatório em http://​ip_servidor/​lightsquid/​
 +
 +Umas das opções interessantes que eu acho desse cara é que podemos configurar grupos para os usuários, com isso podemos mandar consultar quais grupos acessaram o que e quais usuários pertences a eles.
 +
 +Vamos acessar o diretório do lightsquid
 +<sxh bash>
 +cd /​var/​www/​lightsquid
 +</​sxh>​
 +
 +Agora vamos fazer uma copia do group.cfg
 +<sxh bash>
 +cp group.cfg.src group.cfg
 +</​sxh>​
 +
 +Agora vamos editar o nosso arquivo
 +<sxh bash>
 +vim group.cfg
 +douglas ​          ​01 ​     ti-admin
 +anderson.angelote 01      ti-admin
 +hillary ​          ​02 ​     matriz-logistica
 +nerso             ​02 ​     matriz-logistica
 +</​sxh>​
 +
 +Aqui temos na primeira coluna o nome do usuário poderia ser o endereço ip do cliente, na segunda coluna o número do grupo e a terceira coluna é o nome do grupo
 +
 +Agora para que apareça a identificação dos grupos precisamos gerar novamente o nosso relatório.
 +<sxh bash>
 +/​var/​www/​lightsquid/​lightparser.pl
 +</​sxh>​
 +
 +Outra opção bacana que temos é fazer o mapeamento para nomes completos por exemplo o nome douglas.santos vamos mapear para Douglas Quintiliano dos Santos, o arquivo que precisamos editar é o seguinte
 +<sxh bash>
 +vim /​var/​www/​lightsquid/​realname.cfg
 +douglas Douglas Quintiliano dos Santos
 +192.168.1.3 ​   Nerso da Silva
 +</​sxh>​
 +
 +Aqui podemos mapear tanto nomes de usuários como endereço ip com isso no relatório podemos não lembrar na hora quem utilizar o ip 192.168.1.3 mais pelo nome é bem mais fácil de cobrar um determinado usuário, após efetuar a modificação precisamos gerar o relatório novamente
 +<sxh bash>
 +/​var/​www/​lightsquid/​lightparser.pl
 +</​sxh>​
 +
 +Agora vamos criar um agendamento no cron para gerar automaticamente o nosso relatório:
 +<sxh bash>
 +crontab -e
 +[...]
 +*/20 * * * * /​var/​www/​lightsquid/​lightparser.pl today
 +</​sxh>​
 +
 +
 +Agora vamos criar um virtualhost para o lightsquid
 +<sxh apache>
 +vim /​etc/​apache2/​sites-available/​lightsquid
 +<​VirtualHost *:80>
 + ​ServerName lightsquid.douglasqsantos.com.br
 + ​ServerAlias lightsquid.douglasqsantos.com.br
 + ​DocumentRoot "/​var/​www/​lightsquid"​
 +
 + #​Controle de acesso ao lightsquid
 + <​Directory "/​var/​www/​lightsquid">​
 +   ​DirectoryIndex index.cgi
 +   ​Options +ExecCGI -Indexes -MultiViews +SymLinksIfOwnerMatch
 +   ​AddHandler cgi-script .cgi
 +   ​AllowOverride All
 +
 + #​Autenticação do lightsquid
 + ​AuthUserFile /​etc/​apache2/​access/​lightsquid-htpasswd
 + ​AuthName "​LightSquid"​
 + ​AuthType Basic
 + ​require valid-user
 + </​Directory>​
 +
 + #​Configuração dos logs do apache
 + ​ErrorLog /​var/​log/​apache2/​lightsquid.douglasqsantos.com.br-error.log
 + ​CustomLog /​var/​log/​apache2/​lightsquid.douglasqsantos.com.br-access.log common
 +
 + #​Retirando a assinatura do Apache
 + ​ServerSignature Off
 +
 + ​IndexIgnore .??* *~ *# README RCS CVS *,v *,t *
 +
 + # Possible values include: debug, info, notice, info, error, crit,
 + # alert, emerg.
 + ​LogLevel info
 +</​VirtualHost>​
 +</​sxh>​
 +
 +Agora vamos criar o diretório que vai conter o arquivo de controle dos usuários que podem acessar o lightsquid
 +<sxh bash>
 +mkdir /​etc/​apache2/​access/​
 +</​sxh>​
 +
 +Agora vamos gerar o usuário e a senha, aqui eu vou cadastrar o usuário lightsquid
 +<sxh bash>
 +htpasswd -s -c /​etc/​apache2/​access/​lightsquid-htpasswd lightsquid
 +New password: ​
 +Re-type new password: ​
 +Adding password for user lightsquid
 +</​sxh>​
 +
 +Agora vamos desativar os virtuais hosts default do apache
 +<sxh bash>
 +a2dissite default
 +a2dissite default-ssl
 +</​sxh>​
 +
 +Agora vamos ativar o lightsquid
 +<sxh bash>
 +a2ensite lightsquid
 +</​sxh>​
 +
 +Agora vamos reiniciar o apache
 +<sxh bash>
 +/​etc/​init.d/​apache2 restart
 +</​sxh>​
 +
 +Agora já podemos acessar http://​lightsquid.douglasqsantos.com.br ou http://​ip_servidor
 +
 +
 +====== Referências ======
 +
 +  - http://​wiki.squid-cache.org/​
 +  - http://​wiki.squid-cache.org/​ConfigExamples/​
 +  - http://​wiki.squid-cache.org/​ConfigExamples/​Authenticate/​WindowsActiveDirectory
 +  - http://​www.samba.org/​samba/​docs/​man/​Samba-HOWTO-Collection/​domain-member.html#​ads-member
 +  - http://​sourceforge.net/​projects/​mysar/​
 +  - http://​www.squid-cache.org/​Doc/​config/​
 +  - http://​wiki.squid-cache.org/​SquidFaq
 +  - http://​www2.savant.com.br/​index.php/​artigos/​tutoriais/​34
 +  - http://​wiki.squid-cache.org/​SquidFaq/​SquidAcl
 +  - http://​lightsquid.sourceforge.net/​Installs.html
 +  - http://​lightsquid.sourceforge.net/​Index2.html