Differences

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

Link to this comparison view

squid_autenticando_no_openldap_utilizando_centos_6.3_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Squid autenticando no OpenLDAP utilizando o CentOS 6.3  ======
  
 +
 +E ai galera, aqui eu vou abordar a configuração do Squid no CentOS 6.3 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/​confinicialcentos6_en para que não falte nenhum pacote ou configuração.
 +
 +
 +
 +  - Endereço Ip do Proxy:** 192.168.1.4**
 +  - Endereço Ip do OpenLDAP PDC: **192.168.1.200**
 +  - 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 OpenLDAP, não esqueça de inserir os usuários nos grupos ;)
 +  - **proxy-ti**
 +  - **proxy-diretoria**
 +  - **proxy-gerencia**
 +  - **proxy-administracao**
 +  - **proxy-logistica**
 +
 +Vamos fazer um update dos repositórios e vamos fazer um upgrade do sistema
 +<sxh bash>
 +yum check-update && yum update -y
 +</​sxh>​
 +
 +Agora vamos instalar o squid e o openldap-clients
 +<sxh bash>
 +yum install squid openldap-clients -y
 +</​sxh>​
 +
 +Agora vamos inserir o squid na incialização do sistema
 +<sxh bash>
 +chkconfig --add squid
 +</​sxh>​
 +
 +Agora vamos ativar o squid
 +<sxh bash>
 +chkconfig squid on
 +</​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 OpenLDAP
 +search douglasqsantos.com.br
 +nameserver 192.168.1.200
 +</​sxh>​
 +
 +Agora vamos testar se o servidor ad esta respondendo corretamente
 +<sxh bash>
 +nslookup douglasqsantos.com.br
 +Server: ​  ​192.168.1.200
 +Address: ​ 192.168.1.200#​53
 +
 +Name: douglasqsantos.com.br
 +Address: 192.168.1.200
 +</​sxh>​
 +
 +Vamos deixar o dns do ifcfg-eth0 igual o do resolv.conf,​ por que senão na próxima inicialização do sistema ele vai zuar o /​etc/​resolv.conf
 +<sxh bash>
 +vim /​etc/​sysconfig/​network-scripts/​ifcfg-eth0
 +DEVICE="​eth0"​
 +BOOTPROTO="​static"​
 +BROADCAST="​192.168.1.255"​
 +DNS1="​192.168.1.200"​
 +GATEWAY="​192.168.1.1"​
 +IPADDR="​192.168.1.4"​
 +NETMASK="​255.255.255.0"​
 +NM_CONTROLLED="​yes"​
 +ONBOOT="​yes"​
 +TYPE="​Ethernet"​
 +</​sxh>​
 +
 +Agora vamos atualizar o relógio do sistema
 +<sxh bash>
 +ntpdate -u ntp.usp.br
 +</​sxh>​
 +
 +Vamos consultar a configuração do cliente OpenLDAP
 +<sxh bash>
 +vim /​etc/​openldap/​ldap.conf
 +URI ldap://​192.168.1.200/​
 +BASE dc=douglasqsantos,​dc=com,​dc=br
 +</​sxh>​
 +
 +Agora vamos consultar os usuários do OpenLDAP
 +<sxh bash>
 +ldapsearch -xLLL -h 192.168.1.200 '​(objectClass=person)'​
 +dn: uid=root,​ou=Usuarios,​dc=douglasqsantos,​dc=com,​dc=br
 +cn: root
 +sn: root
 +objectClass:​ top
 +objectClass:​ person
 +objectClass:​ organizationalPerson
 +objectClass:​ inetOrgPerson
 +objectClass:​ sambaSamAccount
 +objectClass:​ posixAccount
 +objectClass:​ shadowAccount
 +gidNumber: 0
 +uid: root
 +uidNumber: 0
 +homeDirectory:​ /home/root
 +sambaLogonTime:​ 0
 +sambaLogoffTime:​ 2147483647
 +sambaKickoffTime:​ 2147483647
 +sambaPwdCanChange:​ 0
 +sambaHomeDrive:​ U:
 +sambaPrimaryGroupSID:​ S-1-5-21-4179873133-1112765275-2003508382-512
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-500
 +loginShell: /bin/false
 +gecos: Netbios Domain Administrator
 +sambaLMPassword:​ 64C756234A35D5CF90004151ADA7B438
 +sambaAcctFlags:​ [U]
 +sambaNTPassword:​ D3C6A8274E92A87B52E2552364FF0924
 +sambaPwdLastSet:​ 1360539527
 +sambaPwdMustChange:​ 1364427527
 +shadowLastChange:​ 15746
 +shadowMax: 45
 +
 +dn: uid=nobody,​ou=Usuarios,​dc=douglasqsantos,​dc=com,​dc=br
 +cn: nobody
 +sn: nobody
 +objectClass:​ top
 +objectClass:​ person
 +objectClass:​ organizationalPerson
 +objectClass:​ inetOrgPerson
 +objectClass:​ sambaSamAccount
 +objectClass:​ posixAccount
 +objectClass:​ shadowAccount
 +gidNumber: 65534
 +uid: nobody
 +uidNumber: 65534
 +homeDirectory:​ /​nonexistent
 +sambaPwdLastSet:​ 0
 +sambaLogonTime:​ 0
 +sambaLogoffTime:​ 2147483647
 +sambaKickoffTime:​ 2147483647
 +sambaPwdCanChange:​ 0
 +sambaPwdMustChange:​ 2147483647
 +sambaHomeDrive:​ U:
 +sambaPrimaryGroupSID:​ S-1-5-21-4179873133-1112765275-2003508382-514
 +sambaLMPassword:​ NO PASSWORDXXXXXXXXXXXXXXXXXXXXX
 +sambaNTPassword:​ NO PASSWORDXXXXXXXXXXXXXXXXXXXXX
 +sambaAcctFlags:​ [NUD        ]
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-2998
 +loginShell: /bin/sh
 +
 +dn: uid=domainadm,​ou=Usuarios,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ person
 +objectClass:​ organizationalPerson
 +objectClass:​ inetOrgPerson
 +objectClass:​ posixAccount
 +objectClass:​ shadowAccount
 +objectClass:​ sambaSamAccount
 +cn: domainadm
 +sn: domainadm
 +givenName: domainadm
 +uid: domainadm
 +uidNumber: 1000
 +gidNumber: 1000
 +homeDirectory:​ /​home/​domainadm
 +loginShell: /bin/zsh
 +gecos: System User
 +sambaLogonTime:​ 0
 +sambaLogoffTime:​ 2147483647
 +sambaKickoffTime:​ 2147483647
 +sambaPwdCanChange:​ 0
 +displayName:​ domainadm
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-3000
 +sambaPrimaryGroupSID:​ S-1-5-21-4179873133-1112765275-2003508382-3001
 +sambaLogonScript:​ logon.bat
 +sambaHomeDrive:​ U:
 +sambaLMPassword:​ CCF9155E3E7DB453AAD3B435B51404EE
 +sambaAcctFlags:​ [U]
 +sambaNTPassword:​ 3DBDE697D71690A769204BEB12283678
 +sambaPwdLastSet:​ 1360536379
 +sambaPwdMustChange:​ 1364424379
 +shadowLastChange:​ 15746
 +shadowMax: 45
 +
 +dn: uid=douglas.santos,​ou=Usuarios,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ sambaSamAccount
 +objectClass:​ posixAccount
 +objectClass:​ inetOrgPerson
 +objectClass:​ organizationalPerson
 +objectClass:​ person
 +sambaHomeDrive:​ U:
 +sambaDomainName:​ LAB
 +sambaAcctFlags:​ [XU         ]
 +sambaHomePath:​ \\192.168.1.200\douglas.santos
 +sambaLogonScript:​ logon.bat
 +sambaProfilePath:​ \\192.168.1.200\profiles\douglas.santos
 +sambaNTPassword:​ 2C736BDC8CA1C4DFE5D79E4F9617312C
 +sambaPwdLastSet:​ 1360535600
 +homeDirectory:​ /​home/​douglas.santos
 +loginShell: /bin/zsh
 +uid: douglas.santos
 +cn: Douglas Quintiliano dos Santos
 +uidNumber: 10000
 +sn: Santos
 +givenName: Douglas
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-519
 +sambaPrimaryGroupSID:​ S-1-5-21-4179873133-1112765275-2003508382-512
 +gidNumber: 512
 +[...]
 +</​sxh>​
 +
 +
 +Vamos fazer um backup do arquivo de configuração do /​etc/​squid3/​squid.conf
 +<sxh bash>
 +cp -Rfa /​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/​spool/​squid 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 OpenLDAP
 +auth_param basic program /​usr/​lib64/​squid/​squid_ldap_auth -R -b "​dc=douglasqsantos,​dc=com,​dc=br"​ -v 3 -f uid=%s -h 192.168.1.200
 +auth_param basic children 5
 +auth_param basic realm Digite Seu Login para acessar a Internet
 +auth_param basic credentialsttl 30 minutes
 +auth_param basic casesensitive off
 +external_acl_type ldap_group %LOGIN /​usr/​lib64/​squid/​squid_ldap_group -v 3 -b "​dc=douglasqsantos,​dc=com,​dc=br" ​ -f "​(&​(cn=%g)(memberuid=%u))"​ -h 192.168.1.200
 +
 +### 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/​squid/​regras/​direto"​ \?
 +no_cache deny NOCACHE
 +
 +#​-----------------------------------------------------------------------------------#​
 +#       Nome ACL                TIPO                    Nome Grupo OpenLDAP ​        #
 +#​-----------------------------------------------------------------------------------#​
 +acl    proxy-ti ​               external ldap_group ​         proxy-ti
 +acl    proxy-diretoria ​        ​external ldap_group ​         proxy-diretoria
 +acl    proxy-gerencia ​         external ldap_group ​         proxy-gerencia
 +acl    proxy-administracao ​    ​external ldap_group ​         proxy-administracao
 +acl    proxy-logistica ​        ​external ldap_group ​         proxy-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 proxy-ti
 +http_access allow sites-liberados
 +http_access deny  sites-proibidos
 +http_access allow proxy-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 proxy-administracao sites-administracao
 +http_access allow proxy-logistica sites-logistica
 +#Acesso ao site da caixa
 +#​http_access allow caixa proxy-administracao
 +#​http_access allow caixa proxy-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/​squid/​errors/​pt-br
 +#​cache_effective_group proxy
 +cache_effective_user squid
 +coredump_dir /​var/​spool/​squid
 +</​sxh>​
 +
 +Galera o site da caixa já é uma merda de natureza, e o maldito ainda tava dando uns paus quando o squid vai acessar, analisando os pacotes percebi que o dns demora pra retornar uma requisição válida para o squid por isso a demora pra navegar, a maneira que eu resolvi foi adicionando os endereços da caixa no /etc/hosts da da seguinte forma 
 +<sxh bash>
 +vim /etc/hosts
 +[...]
 +200.201.161.106 www.caixa.gov.br ​       www.caixa.gov.br
 +200.201.162.210 www1.caixa.gov.br ​      ​www1.caixa.gov.br
 +</​sxh>​
 +
 +Com isso o site da caixa vai retornar mais rapido par ao squid. ;) 
 +
 +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
 +192.168.1.1
 +192.168.1.100
 +</​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 OpenLDAP
 +
 +Vamos consultar os nossos grupos
 +<sxh bash>
 +ldapsearch -xLLL -h 192.168.1.200 '​(objectClass=PosixGroup)'​
 +dn: cn=proxy-ti,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ posixGroup
 +description:​ Grupo de Admins
 +gidNumber: 10000
 +cn: proxy-ti
 +memberUid: douglas.santos
 +
 +dn: cn=Domain Admins,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 512
 +cn: Domain Admins
 +description:​ Netbios Domain Administrators
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-512
 +sambaGroupType:​ 2
 +displayName:​ Domain Admins
 +memberUid: root
 +
 +dn: cn=Domain Users,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 513
 +cn: Domain Users
 +description:​ Netbios Domain Users
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-513
 +sambaGroupType:​ 2
 +displayName:​ Domain Users
 +memberUid: root
 +
 +dn: cn=Domain Guests,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 514
 +cn: Domain Guests
 +description:​ Netbios Domain Guests Users
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-514
 +sambaGroupType:​ 2
 +displayName:​ Domain Guests
 +
 +dn: cn=Domain Computers,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 515
 +cn: Domain Computers
 +description:​ Netbios Domain Computers accounts
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-515
 +sambaGroupType:​ 2
 +displayName:​ Domain Computers
 +
 +dn: cn=Administrators,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 544
 +cn: Administrators
 +description:​ Netbios Domain Members can fully administer the computer/​sambaDom
 + ​ainName
 +sambaSID: S-1-5-32-544
 +sambaGroupType:​ 5
 +displayName:​ Administrators
 +
 +dn: cn=Account Operators,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 548
 +cn: Account Operators
 +description:​ Netbios Domain Users to manipulate users accounts
 +sambaSID: S-1-5-32-548
 +sambaGroupType:​ 5
 +displayName:​ Account Operators
 +
 +dn: cn=Print Operators,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 550
 +cn: Print Operators
 +description:​ Netbios Domain Print Operators
 +sambaSID: S-1-5-32-550
 +sambaGroupType:​ 5
 +displayName:​ Print Operators
 +
 +dn: cn=Backup Operators,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 551
 +cn: Backup Operators
 +description:​ Netbios Domain Members can bypass file security to back up files
 +sambaSID: S-1-5-32-551
 +sambaGroupType:​ 5
 +displayName:​ Backup Operators
 +
 +dn: cn=Replicators,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +gidNumber: 552
 +cn: Replicators
 +description:​ Netbios Domain Supports file replication in a sambaDomainName
 +sambaSID: S-1-5-32-552
 +sambaGroupType:​ 5
 +displayName:​ Replicators
 +
 +dn: cn=domainadm,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ top
 +objectClass:​ posixGroup
 +objectClass:​ sambaGroupMapping
 +cn: domainadm
 +gidNumber: 1000
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-3001
 +sambaGroupType:​ 2
 +displayName:​ domainadm
 +memberUid: domainadm
 +
 +dn: cn=proxy-diretoria,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ sambaGroupMapping
 +objectClass:​ posixGroup
 +displayName:​ Diretoria
 +sambaGroupType:​ 2
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-21003
 +description:​ Diretoria
 +gidNumber: 10001
 +cn: proxy-diretoria
 +memberUid: jose.silva
 +
 +dn: cn=proxy-gerencia,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ sambaGroupMapping
 +objectClass:​ posixGroup
 +displayName:​ Gerencia
 +sambaGroupType:​ 2
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-21005
 +description:​ Gerencia
 +gidNumber: 10002
 +cn: proxy-gerencia
 +memberUid: joao.maria
 +
 +dn: cn=proxy-administracao,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ sambaGroupMapping
 +objectClass:​ posixGroup
 +displayName:​ Administracao
 +sambaGroupType:​ 2
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-21007
 +description:​ Administracao
 +gidNumber: 10003
 +cn: proxy-administracao
 +memberUid: maria.madalena
 +
 +dn: cn=proxy-logistica,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ sambaGroupMapping
 +objectClass:​ posixGroup
 +displayName:​ Logistica
 +sambaGroupType:​ 2
 +sambaSID: S-1-5-21-4179873133-1112765275-2003508382-21009
 +description:​ Logistica
 +gidNumber: 10004
 +cn: proxy-logistica
 +memberUid: vagner.margarina
 +</​sxh>​
 +
 +Agora temos que criar os diretórios para o squid armazenar o cache 
 +<sxh bash>
 +squid -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/​squid/​errors/​pt-br/​*
 +</​sxh>​
 +
 +Agora podemos iniciar ele
 +<sxh bash>
 +/​etc/​init.d/​squid start
 +</​sxh>​
 +
 +
 +**OBS: NÃO ESQUECA DE CRIAR OS GRUPOS NO OpenLDAP E COLOCAR OS USUÁRIOS NOS GRUPOS **
 +
 +
 +Agora vamos testar se o squid está reconhecendo as nossas acls
 +<sxh bash>
 +/​usr/​lib64/​squid/​squid_ldap_group -v 3 -b "​dc=douglasqsantos,​dc=com,​dc=br"​ -f "​(&​(cn=%g)(memberUid=%u))"​ -h 192.168.1.200
 +douglas.santos proxy-ti
 +OK
 +</​sxh>​
 +
 +Aqui acima nós estamos testando se o usuário douglas.santos está no grupo proxy-ti.
 +
 +Agora vamos testar a autenticação do usuário douglas.santos no OpenLDAP
 +<sxh bash>
 +/​usr/​lib64/​squid/​squid_ldap_auth -v 3 -b "​dc=douglasqsantos,​dc=com,​dc=br"​ -f uid=%s -h 192.168.1.200
 +douglas.santos senha
 +OK
 +</​sxh>​
 +
 +Agora vamos consultar se o nosso usuário é membro do grupo proxy-ti
 +<sxh bash>
 +ldapsearch -xLLL  '​(cn=proxy-ti)'​
 +dn: cn=proxy-ti,​ou=Grupos,​dc=douglasqsantos,​dc=com,​dc=br
 +objectClass:​ posixGroup
 +description:​ Grupo de Admins
 +gidNumber: 10000
 +cn: proxy-ti
 +memberUid: douglas.santos
 +</​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>
 +yum check-update && yum update -y
 +</​sxh>​
 +
 +Agora vamos instalar as dependências dele
 +<sxh bash>
 +yum install perl-GD perl-CGI httpd -y
 +</​sxh>​
 +
 +Agora vamos obter o lightsquid
 +<sxh bash>
 +cd /​var/​www/​html/​
 +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 apache:​apache /​var/​www/​html/​lightsquid
 +</​sxh>​
 +
 +Agora vamos ajustar o arquivo do apache
 +<sxh apache>
 +vim /​etc/​httpd/​conf/​httpd.conf
 +[...]
 +#Insira as linhas abaixo após a linha 362 do arquivo
 +<​Directory "/​var/​www/​html/​lightsquid">​
 +   ​DirectoryIndex index.cgi
 +   ​Options +ExecCGI -Indexes -MultiViews +SymLinksIfOwnerMatch
 +   ​AddHandler cgi-script .cgi
 +   ​AllowOverride All
 +</​Directory>​
 +[...]
 +</​sxh>​
 +
 +Agora vamos ajustar o idioma do lightsquid
 +<sxh bash>
 +vim /​var/​www/​html/​lightsquid/​lightsquid.cfg
 +[...]
 +$lang                ="​pt_br";​
 +</​sxh>​
 +
 +Agora vamos testar o lightsquid
 +<sxh bash>
 +perl  /​var/​www/​html/​lightsquid/​check-setup.pl
 +LightSquid Config Checker, (c) 2005-9 Sergey Erokhin GNU GPL
 +
 +LogPath ​  : /​var/​log/​squid
 +reportpath: /​var/​www/​html/​lightsquid/​report
 +Lang      : /​var/​www/​html/​lightsquid/​lang/​pt_br
 +Template ​ : /​var/​www/​html/​lightsquid/​tpl/​base
 +Ip2Name ​  : /​var/​www/​html/​lightsquid/​ip2name/​ip2name.simple
 +
 +
 +all check passed, now try access to cgi part in browse
 +</​sxh>​
 +
 +Agora vamos inserir o apache na inicialização do sistema
 +<sxh bash>
 +chkconfig --add httpd
 +chkconfig httpd on
 +</​sxh>​
 +
 +Agora vamos iniciar o apache
 +<sxh bash>
 +/​etc/​init.d/​httpd start
 +</​sxh>​
 +
 +Agora vamos gerar os nossos relatórios
 +<sxh bash>
 +/​var/​www/​html/​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/​html/​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
 +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/​html/​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/​html/​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/​html/​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 criar um virtualhost para o lightsquid
 +<sxh apache>
 +vim /​etc/​httpd/​conf.d/​lightsquid.conf
 +<​VirtualHost *:80>
 + ​ServerName lightsquid.douglasqsantos.com.br
 + ​ServerAlias lightsquid.douglasqsantos.com.br
 + ​DocumentRoot "/​var/​www/​html/​lightsquid"​
 +
 + #​Controle de acesso ao lightsquid
 + <​Directory "/​var/​www/​html/​lightsquid">​
 +   ​DirectoryIndex index.cgi
 +   ​Options +ExecCGI -Indexes -MultiViews +SymLinksIfOwnerMatch
 +   ​AddHandler cgi-script .cgi
 +   ​AllowOverride All
 +
 + #​Autenticação do lightsquid
 + ​AuthUserFile /​etc/​httpd/​access/​lightsquid-htpasswd
 + ​AuthName "​LightSquid"​
 + ​AuthType Basic
 + ​require valid-user
 + </​Directory>​
 +
 + #​Configuração dos logs do apache
 + ​ErrorLog /​var/​log/​httpd/​lightsquid.douglasqsantos.com.br-error.log
 + ​CustomLog /​var/​log/​httpd/​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/​httpd/​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/​httpd/​access/​lightsquid-htpasswd lightsquid
 +New password: ​
 +Re-type new password: ​
 +Adding password for user lightsquid
 +</​sxh>​
 +
 +Agora vamos reiniciar o apache
 +<sxh bash>
 +/​etc/​init.d/​httpd 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://​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