Differences

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

Link to this comparison view

squid_autenticando_no_ad_utilizando_openbsd5.4_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Squid autenticando no AD utilizando o OpenBSD 5.4 ======
  
 +
 +E ai galera, aqui eu vou abordar a configuração do Squid no OpenBSD 5.4 autenticando no AD, e vamos instalar o lightsquid um gerador de relatórios show de bola.
 +
 +  - Endereço Ip do Proxy:** 192.168.1.50**
 +  - 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 definir o nosso repositório ftp, eu fiz alguns testes com o ports compilando o samba mais demora muito e na documentação do OpenBSD eles aconselham a utilizar os pacotes compilados ao invés do ports.
 +<sxh bash>
 +PKG_PATH=ftp://​openbsd.locaweb.com.br/​pub/​OpenBSD/​5.4/​packages/​amd64/​
 +</​sxh>​
 +
 +Agora vamos mandar instalar o samba e as suas dependências
 +<sxh bash>
 +pkg_add -v samba-3.6.15p1-ads ​ e2fsprogs cyrus-sasl-2.1.26p8
 +</​sxh>​
 +
 +Agora vamos inserir o samba na inicialização do sistema ​
 +<sxh bash>
 +vim /​etc/​rc.conf.local
 +samba_flags=""​
 +winbindd_flags=""​
 +pkg_scripts="​samba winbindd"​
 +</​sxh>​
 +
 +
 +Vamos agora fazer um backup do arquivo /​etc/​resolv.conf
 +<sxh bash>
 +cp -Rfp /​etc/​resolv.conf /​etc/​resolv.conf.old
 +</​sxh>​
 +
 +Agora vamos ajustar o arquivo /​etc/​resolv.conf
 +<sxh apache>
 +vim /​etc/​resolv.conf
 +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 configurar o arquivo /​etc/​krb5.conf
 +<sxh apache>
 +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 fazer um backup do arquivo de configuração do samba
 +<sxh bash>
 +cp -Rfp /​etc/​samba/​smb.conf /​etc/​samba/​smb.conf.old
 +</​sxh>​
 +
 +Agora vamos a configuração do samba deixe o arquivo como no exemplo
 +<sxh apache> ​
 +vim /​etc/​samba/​smb.conf
 +[global]
 +  workgroup = DOUGLASQSANTOS
 +  realm = DOUGLASQSANTOS.COM.BR
 +  netbios name = OPENBSD
 +  server string = Proxy Server
 +  security = ADS
 +  auth methods = winbin
 +  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/sh
 +  template homedir = /home/%U
 +</​sxh>​
 +
 +
 +Agora vamos iniciar o samba, aqui no FreeBSD quando mandamos iniciar o samba ele já reinicia o winbind
 +<sxh bash>
 +/​etc/​rc.d/​samba start
 +/​etc/​rc.d/​winbindd start
 +</​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 '​OPENBSD'​ 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 '​OPENBSD'​ in realm '​DOUGLASQSANTOS.COM.BR'​
 +</​sxh>​
 +
 +Agora temos que reiniciar os serviços novamente
 +<sxh bash>
 +/​etc/​rc.d/​samba restart
 +/​etc/​rc.d/​winbindd restart
 +</​sxh>​
 +
 +Agora já podemos testar a conexão do samba com o AD
 +
 +<sxh bash>
 +wbinfo -t
 +checking the trust secret for domain DOUGLASQSANTOS via RPC calls succeede
 +</​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 instalar o squid e o módulo de autenticação ntml
 +<sxh bash>
 +pkg_add -v squid-3.3.8 squid-ntlm
 +</​sxh>​
 +
 +Agora vamos inserir ele na inicialização do sistema
 +<sxh bash>
 +vim /​etc/​rc.conf.local
 +samba_flags=""​
 +winbindd_flags=""​
 +squid_flags=""​
 +pkg_scripts="​samba winbindd squid"
 +</​sxh>​
 +
 +Vamos fazer um backup do arquivo de configuração do /​etc/​squid/​squid.conf
 +<sxh bash>
 +cp -Rfp /​etc/​squid/​squid.conf{,​.bkp}
 +</​sxh>​
 +
 +Agora vamos a configuração do squid
 +<sxh apache>
 +vim /​etc/​squid/​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/​squid/​access.log squid
 +cache_log /​var/​log/​squid/​cache.log
 +cache_store_log /​var/​log/​squid/​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/​squid/​cache 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/​squid/​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/​squid/​regras/​mac_liberado"​
 +http_access allow macliberado
 +
 +
 +#### Autenticao no Windows 2008 via WINBIND
 +auth_param ntlm program /​usr/​local/​bin/​ntlm_auth --helper-protocol=squid-2.5-ntlmssp
 +auth_param ntlm children 10
 +auth_param basic program /​usr/​local/​bin/​ntlm_auth --helper-protocol=squid-2.5-basic
 +auth_param basic children 10
 +auth_param basic realm Squid proxy server
 +auth_param basic credentialsttl 2 hours
 +external_acl_type ad_group ttl=600 children-max=35 %LOGIN /​usr/​local/​libexec/​squid/​ext_wbinfo_group_acl
 +
 +### ACL Padroes
 +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 purge localhost
 +http_access deny purge
 +http_access deny !Safe_ports
 +http_access deny CONNECT !SSL_ports
 +
 +#Limita conexeos HTTP
 +acl connect_abertas maxconn 8
 +
 +#sites que não serão feito cache geralmente bancos
 +acl NOCACHE url_regex "/​etc/​squid/​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/​squid/​regras/​downloads"​
 +acl sites-liberados ​  ​url_regex ​    -i "/​etc/​squid/​regras/​sites_liberados"​
 +acl sites-proibidos ​  ​url_regex ​    -i "/​etc/​squid/​regras/​sites_proibidos"​
 +acl sites-bloqueados ​ url_regex ​    -i "/​etc/​squid/​regras/​sites_bloqueados"​
 +acl sites-gerencia ​   url_regex ​    -i "/​etc/​squid/​regras/​sites_gerencia"​
 +acl sites-administracao url_regex ​  -i "/​etc/​squid/​regras/​sites_administracao"​
 +acl sites-logistica ​  ​url_regex ​    -i "/​etc/​squid/​regras/​sites_logistica"​
 +
 +#Bloquear determinados usuários autenticados
 +acl usu_bloqueados proxy_auth "/​etc/​squid/​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/​squid/​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/​local/​share/​squid/​errors/​pt-br
 +#​cache_effective_group squid
 +cache_effective_user _squid
 +coredump_dir /​var/​squid/​cache
 +</​sxh>​
 +
 +
 +Agora vamos criar o diretório para armazenar as regras do squid
 +<sxh bash>
 +mkdir -p /​etc/​squid/​regras
 +</​sxh>​
 +
 +Arquivo com os ips que não precisaram de autenticação e não terão bloqueio
 +<sxh bash>
 +vim /​etc/​squid/​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/​squid/​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/​squid/​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/​squid/​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/​squid/​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/​squid/​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/​squid/​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/​squid/​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/​squid/​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/​squid/​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/​squid/​regras/​sites_logistica
 +#Sites que o grupo logistica vai ter acesso
 +logistica.siteempresa
 +</​sxh>​
 +
 +Bloquear determinados usuários autenticados ​
 +<sxh bash>
 +vim /​etc/​squid/​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 criar o diretório para armazenar os logs e vamos ajustar as permissões
 +<sxh bash>
 +mkdir /​var/​log/​squid
 +chown -R _squid:​_squid /​var/​log/​squid
 +</​sxh>​
 +
 +Agora vamos dar permissão para o squid obter as informações do winbind
 +<sxh bash>
 +chgrp -R _squid /​var/​spool/​samba/​winbindd_privileged
 +chmod -R g+rw /​var/​spool/​samba/​winbindd_privileged
 +</​sxh>​
 +
 +Agora temos que criar os diretórios para o squid armazenar o cache 
 +<sxh bash>
 +squid -z
 +</​sxh>​
 +
 +Agora podemos iniciar ele
 +<sxh bash>
 +/​etc/​rc.d/​squid 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
 +
 +Vamos ajustar o nome da máquina no /etc/hosts
 +<sxh bash>
 +vim /etc/hosts
 +[...]
 +192.168.1.50 ​           openbsd.douglasqsantos.com.br openbsd
 +</​sxh>​
 +
 +Agora vamos inserir o apache na inicialização
 +<sxh bash>
 +vim /​etc/​rc.conf.local
 +samba_flags=""​
 +winbindd_flags=""​
 +squid_flags=""​
 +httpd2_flags=""​
 +pkg_scripts="​samba winbindd squid httpd2"​
 +</​sxh>​
 +
 +
 +Agora vamos instalar o apache e o suporte perl para o apache
 +<sxh bash>
 +pkg_add -v p5-GD apache-httpd
 +</​sxh>​
 +
 +
 +Agora vamos obter o lightsquid
 +<sxh bash>
 +cd /​var/​www/​htdocs
 +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 _apache2:​_apache2 /​var/​www/​htdocs
 +</​sxh>​
 +
 +Agora vamos ajustar algumas variáveis do lightsquid
 +<sxh bash>
 +vim /​var/​www/​htdocs/​lightsquid/​lightsquid.cfg
 +[...]
 +#path to additional `cfg` files
 +$cfgpath ​            ​="/​usr/​local/​www/​lightsquid";​
 +#path to `tpl` folder
 +$tplpath ​            ​="/​usr/​local/​www/​lightsquid/​tpl";​
 +#path to `lang` folder
 +$langpath ​           ="/​usr/​local/​www/​lightsquid/​lang";​
 +#path to `report` folder
 +$reportpath ​         ="/​usr/​local/​www/​lightsquid/​report";​
 +#path to access.log
 +$logpath ​            ​="/​var/​log/​squid";​
 +#path to `ip2name` folder
 +$ip2namepath ​        ​="/​usr/​local/​www/​lightsquid/​ip2name";​
 +[...]
 +$lang                ="​pt_br";​
 +</​sxh>​
 +
 +
 +Agora vamos testar o lightsquid
 +<sxh bash>
 +perl  /​var/​www/​htdocs/​lightsquid/​check-setup.pl
 +LightSquid Config Checker, (c) 2005-9 Sergey Erokhin GNU GPL
 +
 +LogPath ​  : /​var/​log/​squid
 +reportpath: /​usr/​local/​www/​lightsquid/​report
 +Lang      : /​usr/​local/​www/​lightsquid/​lang/​pt_br
 +Template ​ : /​usr/​local/​www/​lightsquid/​tpl/​base
 +Ip2Name ​  : /​usr/​local/​www/​lightsquid/​ip2name/​ip2name.simple
 +
 +
 +all check passed, now try access to cgi part in browser
 +</​sxh>​
 +
 +Agora vamos gerar os nossos relatórios
 +<sxh bash>
 +/​var/​www/​htdocs/​lightsquid/​lightparser.pl
 +</​sxh>​
 +
 +Agora vamos habilitar o virtualhost no apache e vamos habilitar o mod_cgi
 +<sxh apache>
 +vim /​etc/​apache2/​httpd2.conf
 +[...]
 +# Virtual hosts descomentar a linha abaixo linha: 458
 +Include /​etc/​apache2/​extra/​httpd-vhosts.conf
 +</​sxh>​
 +
 +Agora vamos ajustar o Virtualhost para ele
 +<sxh apache>
 +vim /​etc/​apache2/​extra/​httpd-vhosts.conf
 +<​VirtualHost *:80>
 + ​ServerName lightsquid.douglasqsantos.com.br
 + ​ServerAlias lightsquid.douglasqsantos.com.br
 + ​DocumentRoot "/​var/​www/​htdocs/​lightsquid"​
 + 
 + #​Controle de acesso ao lightsquid
 + <​Directory "/​var/​www/​htdocs/​lightsquid">​
 +   ​DirectoryIndex index.cgi
 +   ​Options +ExecCGI -Indexes -MultiViews +SymLinksIfOwnerMatch
 +   ​AddHandler cgi-script .cgi
 +   ​AllowOverride All
 +   ​AuthUserFile /​etc/​apache2/​access/​lightsquid-htpasswd
 +   ​AuthName "​LightSquid"​
 +   ​AuthType Basic
 +   ​require valid-user
 +   Order allow,deny
 +   Allow from all
 + </​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 um diretório para armazenar os nossos logs e o arquivo de controle de acesso e vamos ajustar as permissões
 +<sxh bash>
 +mkdir -p /​var/​log/​apache2 /​etc/​apache2/​access
 +chown -R _apache2:​_apache2 /​var/​log/​apache2 /​etc/​apache2/​access
 +</​sxh>​
 +
 +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/​htdocs/​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.santos ​  01 ti-admin
 +susan.cris ​      02 matriz-diretoria
 +hillary.santos ​  02 matriz-administracao
 +karolayne.santos 03 matriz-gerencia
 +</​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/​htdocs/​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/​htdocs/​lightsquid/​realname.cfg
 +douglas.santos 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/​htdocs/​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/​htdocs/​lightsquid/​lightparser.pl today
 +</​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 reiniciar o apache
 +<sxh bash>
 +/​etc/​rc.d/​httpd2 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
 +  - cat /​usr/​local/​share/​doc/​pkg-readmes/​samba-3.6.15p1-ads