• Nenhum resultado encontrado

Outras diretivas importantes para funcionamento do proxy

No documento Hardening em Linux (páginas 158-160)

Define-se que a limpeza automática de cache seja semanal. Caso isso não seja definido, o padrão é uma vez por mês. Isso será definido através da diretiva reference_age:

reference_age 1 week

Outro fator de segurança importante é a impossibilidade de se realizar cache de páginas seguras, para evitar que informações inválidas sejam consultadas posteriormente. Define-se esse padrão através do parâmetro no_cache:

no_cache deny SSL_ports

Quando o servidor de proxy web é configurado, podemos usar a autenticação, pois é um recurso muito interessante para controle de acesso.

O recurso de autenticação torna o gerenciamento dos “logs de acesso” muito mais prático e

Tabela 6.1

Ca pí tu lo 6 - H ar de ni ng e m s is te m a L in ux – P ro xy W eb

interessante, pois possibilita a visão clara do uso do recurso pelo usuário. O Squid trabalha com o conceito de autenticadores externos para realizar tal função, ou seja, programas à parte para realizar os padrões de autenticação suportados pelo próprio proxy.

Para se especificar um autenticador externo para acesso ao cache do Squid – muito útil para manter o controle de usuários em relação ao nome/senha para acesso ao proxy –, devemos informar ao Squid quem é o programa externo responsável pela tarefa. Dos tipos de autenti- cadores externos, podem ser usados vários tipos, como autenticadores de padrão NCSA (como em servidores web), em uma base LDAP, em uma base Samba ou um domínio Microsoft. Neste exemplo, é utilizado o autenticador padrão de servidor web, o ncsa_auth, por fazer parte da base do próprio Squid:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd O arquivo squid.conf vem comentado, informando outros métodos de autenticação, e a forma como o Squid foi concebido torna fácil para o administrador utilizar um outro método para autenticar usuários. Para exemplificar o que é dito, seguem instruções sobre como proceder para autenticar usuários Squid na base de usuários LDAP, que em servidores Linux é comumente implementado utilizando o OpenLDAP.

# vi /etc/squid/squid.conf

auth_param basic program /usr/lib/squid/ldap_auth -b dc=teste,dc=xxx,dc=br -f uid=%s 192.168.0.124

Devemos definir o número de processos-filho para a realização do procedimento de auten- ticação, pois valores mais baixos servem para dificultar o uso de programas de “bruteforce” que tentam, através de ataques de dicionários, “adivinhar” a senha do usuário:

auth_param basic children 5

Outra importante definição é o tempo de expiração da senha para a autenticação do usuário através de uma conexão cliente (esse tempo é dado em segundos):

authenticate_ttl 300

Agora será determinada uma ACL chamada password, do tipo proxy_auth, para ativar o recurso de autenticação.:

acl password proxy_auth REQUERID

Depois disso, o controle de acesso via diretiva http_access deve ser especificado, para fazer a chamada da ACL. No caso do Squid, a ordem das ACLs presentes é importante durante a análise do arquivo pelo servidor; por consequência, essa ACL deverá ser invocada antes de qualquer outra, se não a autenticação não será requerida corretamente durante o acesso pelos clientes:

http_access allow password

E, por fim, faz-se necessária a presença de uma ACL estratégica, no final do arquivo de confi- guração, negando qualquer possibilidade que não se enquadrou nas ACLs anteriores:

http_access deny all

Após todos os procedimentos, o arquivo de configuração do Squid pode ser salvo e o serviço ser recarregado, como feito anteriormente, para especificar todas as novas mudanças. O teste a ser realizado deverá ser o mesmo efetuado na configuração anterior, através da configu-

H ar de ni ng e m L inu x

ração dos browsers clientes apontando para o servidor proxy.

Na prática existem duas formas de fazer o Squid se autenticar em um servidor Windows com Active Directory. Em uma delas, a feita por LDAP, o usuário terá de digitar a senha do domínio e, quando quiser navegar na internet, ele deverá se autenticar no proxy (Squid). Esse tipo de autenticação é feita por ldap. Outra forma é por NTLM, mas neste capítulo será exemplificada somente a autenticação por LDAP, pois também é a sugerida para autenti- cação no OpenLDAP.

O modo via AD é uma autenticação interessante. Basta colocar as seguintes linhas no squid.conf: # vi /etc/squid/squid.conf

Linha para autenticação de usuários:

auth_param basic program /usr/lib/squid/ldap_auth -R -b

dc=dominio,dc=com,dc=br -D cn=squid,dc=dominio,dc=com,dc=br -w “winserver” -f sAMAccountName=%s -h 192.168.0.1

# linha para autenticação de grupos

external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_ group -R -b dc=dominio,dc=com,dc=br -h 192.168.0.1 -D cn=squid,d c=dominio,dc=com,dc=br -w winserver -f “(&(cn=%a)(member=%v))” -F “(sAMAccountName=%s)”

Caso seja um servidor OpenLDAP, podemos autenticar:

auth_param basic program /usr/lib/squid/ldap_auth -b dc=teste,dc=xxx,dc=br -f uid=%s 192.168.0.124

Após incluir essas linhas, basta reiniciar o serviço do Squid que a autenticação já estará funcionando.

# /etc/init.d/squid stop # /etc/init.d/squid start

A adoção de um Proxy Cache em uma rede é um procedimento extremamente viável dentro de uma topologia de rede, pois através dele podem-se estabelecer diversos controles sobre o acesso dos usuários e clientes da rede aos conteúdos externos, o que facilita o processo de auditoria e gerenciamento das possíveis consultas realizadas. Além disso, essa configu- ração visa a um melhor aproveitamento de recursos importantes da rede, como o uso de link externo, modelando o acesso desses mesmos clientes a fim de se ter ganho maior em performance, disponibilidade e simplicidade, tanto no acesso pelos usuários quanto pelos controles específicos dos administradores.

Outro fator importante que justifica o uso de um proxy web é ter controle sobre o con- teúdo de acesso na corporação, pois um proxy web possibilita também gerar registros para auditoria de atividades dos usuários que podem ser mantidos por tempo definido dentro da corporação, possibilitando investigações futuras e também a monitoração do controle de acesso.

Esses registros devem manter a seguinte estrutura de dados:

1 Identificação dos usuários: no Squid, por padrão, temos o registro de IP de acesso pelo cliente; porém, com o proxy utilizando autenticação, são vinculadas informações com o respectivo login do usuário;

Saiba mais

No documento Hardening em Linux (páginas 158-160)