[FUGSPBR] Squid transparente autenticado

Rodrigo Ricardo Passos R2 em infolinks.com.br
Seg Maio 24 16:39:33 BRT 2004


Foi  mal pelo erro de português .. mas é autenticação onde se lê 
altenticação.

O ip do usuário você conseguirá pelas variaveis na hora do post do CGI.
E não se esqueça, para registrar a regre via ipfw você precisará:
1. Permissão de root para o usuário www
2. enviar uma requisição para um soquete local com que rode como root
3. utilizar o sudo, habilitando o usuário www para utilizar o ifpw como 
root e adicionar shell para esse usuário no passwd.
4. Se alguem tiver outra ideia mande que vai ser bem útil.


Att.

R2

Rodrigo Ricardo Passos wrote:

> Pessoal,
>
> já fiz algo que você consegue fazer uma altenticação mas não baseado 
> no proxy. O processo é o seguinte:
> 1. O request do usuário você intercepta via fwd do ipfw para a porta 
> 8080 do Apache local.
> 2. Dentro o Apache, utilizando mod_rewrite você recebe a requisição e 
> envia para um autenticador local, ou seja, uma página php que fara a 
> autenticação e receberá como parâmetro alem do nome do usuário e 
> senha, receberá a página que o usuário fez o requisitou.
> 3. Esse script/página em php verificará se o usuário e senha são 
> válidos em qualquer banco de dados, dentre eles um RADIUS.
> 4. Usuário e senha válidos, ele adicionará uma regra específica para o 
> ip do cara que fez a requisição habilitando também o acesso a internet 
> do usuário além da navegação web. Isso poderá incluir controle de 
> banda entre outras coisas.
> 5. Depois de validar como autenticação ok, ele redireciona para a 
> página requisitada originalmente.
>
> O mod_rewrite ficou assim:
> #    <IfModule mod_rewrite.c>
> #    RewriteEngine on
> #    RewriteCond   %{HTTP_HOST}                 ^(.*)
> #    RewriteRule   ^(.+)                        %{HTTP_HOST}        [C]
> #    RewriteRule   ^(.*) 
> http://192.168.1.66:8080/auth/index.php?url=$1 [R]
> #    </IfModule>
>
> e um exemplo básico do php sem o insert das regras do ipfw assim:
>
> <HTMl>
> <TITLE>Autenticacao</TITLE>
> <BODY>
> <CENTER>
> <BR>
> <H1> Sistema de Autenticação </H1>
> <form method=post action="auth.php">
> <P> Nome: <input type="text" name="username">
> <P> Senha: <input type="password" name="passwd">
> <?php
> global $url;
> print "<input type='hidden' name='url' value='$url'>";
> ?>
> <P><input type="submit" name="submit" value="Conectar">
> </form>
> </body>
> </html>
>
> auth.php irá receber os parâmetros do form (index.php) obviamente e
> fará o seguinte:
>
> <?php
>
> global $username, $passwd, $url;
> $site = "http://".$url;
> if (<VERIFICAÇAÕ DE USUÁRIO>) {
>   if (<VERIFICAÇÃO DA SENHA>) {
>      header ("Location:".$site);
>   }
> }
> ?>
>
> Acho dá uma luz para autenticação antes da utilização do proxy 
> transparente. Claro, cabe a você nesse momente a fazer várias 
> customizações do squid para resolver uma gama de problemas referente a 
> esse usuário inclusive tratando o cara por ip que nesse caso ficou 
> baseado a autenticação do usuário e access_list dentro do squid que 
> irá te reduzir muitos problemas.
>
> Espero ter ajudado.
>
> Rodrigo - R2
>
>
>
> Patrick Tracanelli wrote:
>
>>
>> http://www4.fugspbr.org/lista/cgi-bin/namazu.cgi?query=proxy_auth&submit=Search&idxname=FUG-BR 
>>
>>
>
>
> _______________________________________________________________
> Para enviar um novo email para a lista: fugspbr em fugspbr.org
> Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
> Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
>
>


_______________________________________________________________
Para enviar um novo email para a lista: fugspbr em fugspbr.org
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd