MAL - Memória Auxiliar do Lutieri

segunda-feira, janeiro 22, 2007

smb_auth + squid = furos de segurança(PARTE 2)

Tive um post há um tempo atrás falando do modo como o squid trata os usuários. Relembrando:

Se você tiver uma lista de bloqueio de usuários contendo, exemplo:

joao
maria

e usarmos o modo de autenticação smb_auth e uma ACL assim:

acl usuários_bloqueados proxy_auth -i /etc/squid/usuarios_bloqueados

Temos um problema. Caso o usuário tentar colocar no nome de usuário algo do tipo:

dominio\joao
dominio\\joao
dominio\\\joao

enfim temos 14 variações se não me falha a memória(tem que olhar no post sobre isso).

Ele consegue acesso e deixa de ser o usuário que está na lista de bloqueados. Pois agora ele é dominio\joao e não joao.

Postei um script que criava uma lista com todas as variações de nome de usuário que eu descobri e uma outra maneira de sanar isso que era recompilar o módulo de autenticação com algumas mudanças. Mas logo depois descobri que temos ainda uma terceira opção. Na ACL que contém os usuários bloqueados, ao invés de:

acl usuários_bloqueados proxy_auth -i /etc/squid/usuarios_bloqueados

use:

acl usuários_bloqueados proxy_auth_regex -i /etc/squid/usuarios_bloqueados

Isso vai fazer com que ele considere parte do nome de usuário para ser válido. No caso citado anteriormente. Se o usuário colocar dominio\\joao. Ele vai cair na regra do joao pois contém joao no texto informado.

Mas com isso também podemos criar um problema. Se tu tiver dois usuário na empresa, joao e joaoalberto e colocar na lista de bloqueados joao. estará bloqueando ambos joao's.
¿comprendes?

De repente a melhor alternativa é mudar o modo de autenticação mesmo... ou fazer o que foi proposto no outro post sobre esse assunto.

1 Comentários:

  • Nem lembro como cheguei aqui, mas se a acl for com regex mesmo, talvez seja possível fazer algo como \bjoao\b . O \b em regex seria borda de uma palavra, ou seja, algum caractere esquisito ou espaço. Então casa: joao e dominio\joao mas nao casa joaoalbert, porque ainda é a mesma palavra. nunca testei, nem uso squid. mas pela lógica de regex, deve dar certo.

    abs,
    d.

    By Anonymous Anônimo, at 09/01/2008, 15:06  

Postar um comentário

<< Home



Chat with Lutieri G. B.

Subscribe in a reader