Proxy Squid - 3

Tags da seção Cache size

Descreve os parâmetros relacionados ao tamanho da memória utilizada pelo cache, assim como a política de rotatividade na memória. O Squid suporte mais que uma política de rotatividade de memória.

cache_mem

Especifica o número ideal de memória usado para:

·         Objetos em trânsito

·         Objetos "quentes"

·         Objetos com negativa de cache

O tamanho dos dados para esses objetos são definidos em blocos de 4 KB. Esse parâmetro especifica o limite ideal para os blocos alocados.

Objetos em transito tem prioridade sobre os outros. Quando espaço adicional é necessário para novos dados, objetos "quentes" e com negativa de cache são liberados. Padrão de 8MB.

cache_mem 8MB

cache_swap_low

Especifica o limite mínimo para substituição de um objeto. A substituição começa quando o swap em disco está acima do limite mínimo. Padrão de 90.

cache_swap_low porcentagem

cache_swap_high

Justamente o oposto da opção anterior. Aqui se define o limite máximo. Padrão de 95.

cache_swap_high porcentagem

maximum_object_size

A definição dessa propriedade deve ser analisada com critério, visto que limitamos aqui o tamanho máximo de um objeto em cache. Objetos maiores do que o limite especificado não são salvos no disco.

Para definir como configurar o tamanho máximo nessa opção, deve-se levar em consideração que um número grande implica em maior economia de banda e perda de performance no cache local, enquanto um número menor não ajuda muito em ganho de banda, mas melhora a velocidade em tempo de resposta. Recomenda-se a utilização de uma valor entre 4 e 16 MB. No padrão será utilizado 4096 kB.

maximum_object_size bytes

minimum_object_size

Objetos menores do que esse valor não serão armazenado em cache. O valor padrão é 0, o que significa que todos os objetos serão armazenados.

minimum_object_size bytes

maximum_object_size_in_memory

A definição dessa propriedade deve ser analisada com critério, visto que limitamos aqui o tamanho máximo de um objeto em cache. Objetos maiores do que esse limite não são salvos em disco.

Para definir como configurar o tamanho máximo nessa opção, deve-se levar em consideração que um número grande implica em maior economia de banda e perda de performance no cache local, enquanto um número menor não ajuda muito em ganho de banda, mas melhora a velocidade em tempo de resposta. Recomenda-se a utilização de uma valor entre 4 e 16 MB.

maximum_object_size_in_memory bytes

ipcache_size

Especifica o tamanho do cache de ip.Padrão de 1024.

ipcache_size número_entradas

ipcache_low

Especifica o número mínimo de IPs cacheados. Padrão de 90.

ipcache_low porcentagem

ipcache_high

Especifica o número máximo de IPs cacheados. Padrão de 95.

ipcache_high porcentagem

fqdncache_size

Especifica o número máximo de FQDNs cacheados. Padrão de 1024.

fqdncache_size número_entradas

cache_replacement_policy

Define qual objeto será mantido na memória e qual será removido para criar espaço para novos objetos.

  800x600

Normal 0 21 false false false PT-BR X-NONE X-NONE MicrosoftInternetExplorer4

Opção

Descrição

LRU

A opção padrão utilizada pelo Squid. Mantém em cache objetos referenciados a recentemente, ou seja, começa removendo do cache o objeto que foi referenciado a mais tempo.

heap GDSF

Tem a filosofia de mantém em cache objetos menores, referenciados mais vezes, gerando uma maior possibilidade de fornecer um hit.

heap LFUDA

Mantém os objetos mais populares em cache, independente de seu tamanho.

heap LRU

Política LRU acrescida do uso de pilhas.

cache_replacement_policy política

800x600

Normal 0 21 false false false PT-BR X-NONE X-NONE MicrosoftInternetExplorer4

memory_replacement_policy

Determina quais objetos são removidos da memória quando é preciso liberar espaço. Segue as mesmas políticas do cache_replacement_policy.

memory_replacement_policy política

 

Tags da seção Log file path names and cache directories

Descreve os parâmetros para configuração dos diretórios de cache e log em disco. Os arquivos de log são importantes não só para troubleshooting, mas também para geração de relatório e observação de anomalias.

É recomendável que você utilize-se de uma política de rotacionamento de log, como o log-rotate.

cache_dir

Diretório onde serão armazenados os objetos. É possível criar-se vários diretórios de cache, mas isso só irá fazer sentido se os mesmo forem em partições (ganho de espaço) ou discos (ganho de velocidade) separados.

Tipo: Especifica o tipo de arquivo a ser criado. Utilize o ufs. A opção aufs deve ser utilizada quando em um Linux ou Solaris com I/O Assíncrono.

tamanho_máx_obj: Refere-se ao tamanho máximo do objeto que será armazenado nesse diretório.

nome_diretório: É o raiz do diretório de cache. Caso esteja utilizando um disco separado para o cache, será o ponto de montagem. O diretório já deve existir previamente e o usuário do Squid deve ter direito a escrita nele.

Mbytes: Quantidade de espaço em disco ocupado por esse diretório. Definido em MB.

nível-1: Número de subdiretórios de primeiro nível criados sob o diretório principal.

nível-2: Número de subdiretórios de segundo nível que será criado abaixo de cada subdiretório de primeiro nível.

cache_dir tipo tamanho_máx_obj nome_diretório Mbytes nível-1 nível2

cache_access_log

Especifica o caminho para o arquivo de logs de acesso, o qual guarda todas as requisições e atividades de clientes. Os detalhes do log podem ser customizados como log_mime_hdrs, log_fqdnm client_netmask e emulate_httpd_log. Padrão: /var/log/squid/access.log.

cache_access_log path_diretório/nome_arquivo

cache_log

Configura o caminho para o log de cache. Esse arquivo irá conter informações gerais sobre o comportamento do Squid. Padrão: /var/log/squid/access.log.

cache_log path_diretório/nome_arquivo

cache_store_log

Diz qual o caminho do log de armazenamento. Esse arquivo contém detalhes sobre o processo de armazenamento em disco, podendo fornecer informações como quais arquivos foram removidos do cache, quais foram mantidos e por quanto tempo. Padrão: /var/log/squid/store.log.

cache_store_log path_diretório/nome_arquivo

cache_swap_log

Caminho para o arquivo swap.log. Esse arquivo contém metadados sobre objetos salvos em disco, podendo ser utilizado para dar um "rebuld" no cache durante a inicialização. Normalmente ele fica armazenado no primeiro diretório de cache, mas pode ter o caminho alterado com essa opção. Esse arquivo não pode ser rotacionado.

Se você tem mais de um cache_dir, então o seu arquivo de log de swap terá nomes como:

  • cache_swap_log.00
  • cache_swap_log.01
  • cache_swap_log.02

cache_ swap _log path_diretório/nome_arquivo

emulate_httpd_log on|off

O Squid tem a habilidade de emular o log de servidores web. Para utilizar essa opção, basta configurar com "on". Se você não tem nenhuma aplicação específica para utilização do log em formato web, a sugestão é que seja mantido no padrão do Squid, visto que será mais simples
encontrar ferramentas de análise de logs nesse padrão.

emulate_httpd_log on|off

log_ip_on_direct

Ativa/Desativa a opção de loggin para um IP destino em uma hierarquia quando o cache direciona a requisição de um servidor origem.

log_ip_on_direct on|off

mime_table

Configura a tabela MIME do Squid. Esse arquivo irá conter os tipos
MIME suportados pelo Squid.

mime_table path_diretório/nome_arquivo

log_mime_hdrs on|off

Grava tanto as requisições quanto as respostas MIME no cabeçalho de cada transação HTTP. Os cabeçalhos irão aparecer em 2 partes diferentes no access.log.

log_mime_hdrs on|off

user agent_log

Para utilizar essa opção, o Squid precisa ter sido compilado com a opção "--enable-useragent_log". Com isso será possível agravar em um log o User-Agent de todas as requisições http. Desabilitado por padrão.

useragent_log path_diretório/nome_arquivo

referer_log

Também necessita que o Squid tenha sido compilado com uma opção extra: "--enable-referer_log". Esse log irá guardar todas as referências das requisições HTTP. Desabilitado por padrão.

referer_log path_diretório/nome_arquivo

pid_filename

Especifica em qual arquivo será arquivado o PID dos processos do
Squid.

pid_filename path_diretório/nome_arquivo

debug_options

Como os logs são configurados por nível, podemos configurar o tanto de informações que o Squid irá gerar para nossa análise. Recomendo que utilize o padrão, exceto se estiver tendo algum problema que não possa ser facilmente diagnosticado. Quanto menor o nível de log, menos
informações serão geradas. Usando a palavra ALL, podemos configurar o nível de log em todos de uma única vez. Padrão: ALL, 1.

debug_options seção,nível

log_fqdn

Pode ser configurado como ON, se você deseja logar o FQDN no
access.log. Por padrão está desabilitado.

log_fqdn on|off

client_netmask

A máscara de rede para o endereço de clientes e saída do cachemgr.
Utilize o padrão como melhor opção.Padrão: 255.255.255.255.

client_netmask máscara_rede

 

Tags da seção Support for External functions

 

Solicita certas funções externas que não são parte do binário do Squid. Esse executáveis normalmente são relacionados a DNS, FTP, redirecionamento e autenticação.

Eles são chamados pelo Squid através de fork() ou exec() padrão. O número de forks filhos será especificados para cada processo externo.

Parâmetros relevantes para essa seção:

ftp_user

Essa tag é utilizada se você deseja que o login anônimo seja mais informativo. Coloque alguma informação significativa como Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.. Padrão: Squid@.

ftp_user nome_usuário

ftp_list_width

O tamanho da largura da lista dos arquivos do ftp. Um número muito pequeno irá cortar nomes de arquivos grnades quando navegando em sites web. Padrão: 32


ftp_list_width número

ftp_passive

Se o seu firewall não permite que o Squid use conexões passivas, desligue essa opção.

ftp_passive on|off

cache_dns_program

Define-se aqui o caminho para o executável do dns lookup. Essa opção só está disponível se o Squid for compilado com a opção --disable-internal-dns.

O programa de dns externo usa as bibliotecas de resolução, provendo um cliente de dns muito mais amadurecido e confiável. Caso não haja nada de estranho com sua resolução de DNS do Squid, mantenha o resolver interno.

cache_dns_program programa

dns_children

Número de processos simultâneos para o serviço de DNS. Para servidores com grande load, pelo menos 10 filhos devem ser iniciados. O máximos fica em 32 filhos, sendo o padrão 5. Novamente é preciso ter compilado o Squid especialmente para suporte a DNS externo. Quanto mais rápida a resolução DNS, melhor o desempenho geral do sistema. Tendo isso em
mente, utilize 32 processos filhos.

dns_children número

dns_retransmit_interval

Tempo inicial que o DNS aguarda para retransmitir uma solicitação. O intervalo dobra cada vez que todos os DNS configurados são tentados.

dns_retransmit_interval segundos

dns_timeout

Timeout para requisições DNS. Se não houver resposta depois desse tempo, todos os DNS configurados para esse domínio são considerados indisponíveis.Padrão de 5 minutos.

dns_timeout minutos

dns_defnames

Normalmente o servidor de dns desabilita a opção de resolução RES_DEFNAMES. Isso impede que caches em uma hierarquia resolvam nomes de hosts localmente. Para utilizar essa opção, não esqueça de habilitar na hora da compilação.

dns_defnames on|off

dns_nameservers

Pode ser usada para especificar uma lista de servidores DNS no lugar no /etc/resolv.conf

dns_nameservers Endereço_IP

unlinkd_program

Especifica o caminho do programa unlinkd. Isso não é necessário se você estiver usando I/O assíncrono.

unlinkd_program path_diretório/nome_programa

diskd_program

Especifica a localização do diskd.

diskd_program path_diretório/nome_programa

pinger_program

Define o caminho do executável pinger.

pinger_program path_diretório/nome_programa

redirect_program

Diz qual o caminho do redirecionador de URL. Existem diversas aplicações que poderão ser utilizadas.

redirect_program path_diretório/nome_programa

redirect_children

Número de processos filhos para o programa de redirect.

redirect_children número

redirect_rewrites_host_header

Por padrão o Squid reescreve o header de host em requisições redirecionadas. Se você está rodando como proxy reverso, isso pode não ser desejado.

redirect_rewrites_host_headeron|off

redirector_access

Se definido, essa lista de acesso especifica quais requisições são enviadas para o processo de redirect. Por padrão, todas são.

redirector_access allow|deny

authenticate_program

Especifica o comando do autenticador externo. Esse programa lê uma linha contendo: "usuário senha" e devolve um OK ou ERR. Para utilizar o autenticador é preciso ter uma ACL relacionada.

authenticate_program path_diretório/nome_programa

path_diretório/arquivo_senhas

authenticate_children

Número de processos filhos do autenticador. Padrão de 5.

authenticate_children número

authenticate_ttl

Especifica o tempo de vida para uma autenticação bem sucedida permanecer em cache. Se uma combinação inválida de nome de usuário e senha é fornecida, o usuário é removido do cache e uma revalidação é exigida. Padrào de 3600 segundos.

authenticate_ttl segundos

authenticate_ip_ttl

Com essa opção você poderá especificar por quanto tempo a autenticação persistirá para um determinado IP. Se uma requisição usando a mesma autenticação da conexão já efetuada for utilizada em outra máquina, ambas terão acesso bloqueado e será exigida uma nova autenticação. Se você tem usuários com uma conexão discada conectando em seu Proxy remotamente, é recomendável que não tenha um número maior do que 60 segundos, visto que isso o impediria de conectar-se novamente durante esse tempo se a linha dele caísse. O padrão é de 0 segundos.

authenticate_ip_ttl segundos

authenticate_ip_ttl_is_strict

Essa opção faz com que a autenticação seja um pouco mais rígida. Ela impede que qualquer outra conexão seja feita com outros endereços IP enquanto o tempo de vida especificado anteriormente não expirar. Essa opção está ativada por padrão.

authenticate_ip_ttl_is_stricton|off

 

Tags da seção para tunning do Squid

Essa seção descreve importantes parâmetros para determinar a performance do Squid.

wais_relay_host / wais_relay_port

Define o servidor de relacionamento WAIS

wais_relay_host host

wais_relay_port porta

request_header_max_size

Especifica o tamanho máximo de um cabeçalho de uma requisição http. Como sabe-se que um cabeçalho HTTP deve ser pequeno (por volta de 512 bytes), limitar o tamanho do mesmo pode ser interessante no uso de proxy reverso, criando uma barreira a mais para ataques do tipo buffer overflow e denial of service. Padrão de 10K.

request_header_max_size kbytes

request_body_max_size

Especifica o tamanho máximo para o corpo de uma requisição HTTP. Ou seja, o tamanho máximo de um PUT ou POST. Essa opção pode ser interessante para empresas que queiram garantir que seus usuários não farão grandes uploads à partir da empresa. Padrão de 1MB..

request_body_max_size kbytes

reply_body_max_size

Tamanho máximo do corpo de um reply. Isso é útil para impedir que seus usuários baixem arquivos grandes. Padrão de 0.

reply_body_max_size kbytes

refresh_pattern

Essa opção deve ser usada com extremo cuidado. Se você não tiver nenhuma aplicação que exija explicitamente alterar essa TAG, sugiro que deixe-a inalterada. Um valor inadequado aqui fará com que seus usuários simplesmente não consigam mais acessar aplicações dinâmicas na web. Não seja levado pela idéia de que impedir os usuários de ficar dando reload em uma página irá economizar sua banda, pois a dor de cabeça gerada será muito mais cara do que sua banda.

Parâmetros

Descrição

mín

Tempo mínimo, em minutos, que um objeto sem um tempo de expiração explicitamente configurado será considerado válido. Utilize, impreterivelmente 0.

porcentagem

É a porcentagem da idade dos objetos, desde a última modificação, no qual esse será considerado válido, desde que não tenha um valor de expiração configurado.

Máx

É o tempo máximo, em minutos, que um objetos sem um tempo de expiração explicitamente configurado será considerado válido.

override-expire

Reforça o tempo mínimo de expiração de um objeto, ainda que o mesmo tenha sido enviado no cabeçalho.

override-lastmod

Reforça o tempo mínimo, ainda que o objeto tenha sido modificado recentemente.

reload-into-ims

Modifica solicitações do tipo "sem-cache" ou "reload" para "Se-modificado-desde-requisição"

ignore-reload

Simplesmente ignora as requisições "sem-cache" e "reload".

 

refresh_pattern [-i] regex mín porcentagem máx [opções]

reference_age

Como já discutido, o Squid atualiza sua memória baseado em políticas, normalmente removendo primeiro objetos mais antigos ou menos populares. Apesar disso ser feito dinamicamente, podemos configurar valores manualmente nessa opção, configurando o tempo máximo de permanência em memória. O valor padrão é de 1 ano.

reference_age tempo

quick_abort_min / quick_abort_max / quick_abort_pct

O cache pode ser configurado para continuar com o download de requisições abortadas. Ao mesmo tempo que isso pode ser indesejado em redes pequenas e com conexão lenta, pode ser útil em grandes instalações, onde quase certamente um outro usuário irá requisitar o mesmo objeto.

Quando o usuário aborta um download, o Squid verifica o valor da opção quick_abort e a quantidade de dados baixados até o momento. Se o transferido for menor do que o especificado, ele irá finalizar o download. Padrão: 16 KB

Se o transferido tiver mais do que o quick_abort_max, ele irá abortar a transferência. Padrão: 16 KB

Se uma porcentagem maior do que a configurada em quick_abort_pct tiver sido baixada, ele finaliza o download. Padrão de 95%.

quick_abort_min kbytes

quick_abort_max kbytes

quick_abort_pct porcentagem

 

negative_ttl

Tempo de vida para requisições falhas. Certos tipos de erros (como conexão recusada ou página não encontrada) são marcados como "sem-cache" por um determinado tempo. Padrão de 5 minutos.

negative_ttl tempo

positive_dns_ttl

Tempo de vida para resultados bem sucedidos de resolução DNS. Se você realmente precisar alterar esse valor, não deixe inferior a 1 minuto. Padrão de 6 horas.

positive_dns_ttl tempo

negative_dns_ttl

Tempo de vida de resoluções falhas de DNS.

negative_dns_ttl tempo

range_offset_limit

Configura um limite superior de até onde deverá ir a abrangência de uma requisição de arquivo em um pré-download. Se passar desse limite, o Squid encaminha a requisição como está e não cacheia o resultado.

range_offset_limit bytes

 

Adonel  Bezerra

Pós-graduado em Teoria em Educação a Distância e Docência do Ensino Superior;

MBA Executivo em Coaching;

Coordenador de cursos de pós-graduação.

Experiência em Gestão de Negócios, envolvendo-se com as áreas administrativa, financeira, comercial, produção e logística;

Experiência de mais de 20 anos como professor conferencista na área de segurança da informação;

Sólida experiência na gestão de negócios e tecnologia da informação;

Sólida experiência no meio acadêmico; 

Consultor de Segurança da informação com mais de vinte anos de experiência;

Treinamentos e palestras ministrados para milhares de profissionais em todo o Brasil;

Livro publicado pela Editora Ciência Moderna e diversos artigos publicados.

 

ALGUMAS PARTICIPAÇÕES COMO CONFERENCISTA OU PALESTRANTE

Centro Universitário do Maranhão – UniCeuma/2009 – Apresentação “O MERCADO DE CONSULTORIA EM SEGURANÇA DE INFORMAÇÃO. 

Universidade de Fortaleza|UNIFOR – Apresentação “TÉCNICAS HACKERS PARA TESTES DE INVASÃO”.

Faculdades Integradas do Ceará – FIC/2010 – Apresentação “ SEGURANÇA DA INFORMAÇÃO”.

Escola de Gestão Pública do Estado do Ceará – /2012 – Apresentação “ SEGURANÇA DA INFORMAÇÃO COM SOFTWARE LIVRE”.

Faculdade La Salle – 2013 – Apresentação “ESPIONAGEM INTERNACIONAL”.

Estácio|FIC/2013 – Apresentação “ ANÁLISE DE VULNERABILIDADES COMO FATOR PRIMORDIAL NAS ORGANIZAÇÕES”.

Estácio|FIC/2015 – Apresentação “PROVA DE CONCEITO”.

Devry Brasil|FANOR Salvador/BA, Fortaleza/CE, Belém/PA, Caruaru/PE, Recife/PE, Teresina/PI    - Apresentação “ VULNERABILIDADES DE SISTEMAS COMPUTACIONAIS”.

 

PROJETO PESSOAL – 1998 – Até o momento

- Fundador e Mantenedor de um dos maiores portais de Segurança de sistema do Brasil, o portal Clube do Hacker; www.clubedohacker.com.br

Fundador e mantenedor da Academia Linux www.academialinux.com.br

Fundador da BUCOIN – www.bucoin.com.br