+ Responder ao Tópico



  1. #1
    rafaalbuquerque
    Visitante

    Padrão Redirecionamento, qual o caminho?

    Amigos, nós desenvolvemos um software de controle de usuários a internet. Para o usuário se conectar a internet, ele precisa se logar nesse sistema. Por enquanto, para ele se logar, ele precisa abrir o browser e digitar o endereço do servidor aonde ele irá fazer a autenticação. Ex: http://local Só que não queremos que os usuários precisem digitar esse endereço, queremos que ele tente navegar normal e automaticamente o servidor direciona esse requerimento para o nosso software. Ex: www.hotmail.com e automaticamente cai no nosso servidor aonde ele irá fazer a autenticação no nosso sistema. Como faço isso? Por onde? Qual o caminho? Preciso mto da ajuda de vocês. Estou utilizando o Linux Red Hat 9

    Muito obrigado,

    Rafael Albuquerque

  2. #2
    estanisgeyer
    Visitante

    Padrão Redirecionamento, qual o caminho?

    Se entendi a idéia, você pode criar uma página em php ou outra linguagem de programação a sua escolha e quando o usuário acessar esta página ou script o mesmo irá fazer a tramitação dos dados com seu servidor. Há também a possibilidade do software conectar diretamente ao seu servidor, operando com threads na aplicação, assim ninguém perceberá visualmente.

    Abraços

  3. #3
    Avenger
    Visitante

    Padrão Redirecionamento, qual o caminho?

    Eu já fiz isso prá um cliente meu. No caso lá era dialup, então o Radius exibia a página caso o login/senha tivessem errados, ou tempo expirado, essas coisas... O radius, na hora da conexão do cliente dava como login OK, mas rodava um script que colocava um -j DNAT no iptables para o IP do cliente (quando um cliente autentico conectava num ip, o script checava se esse ip tava com DNAT e removia), daí o cliente ao tentar abrir qualquer site, aparecia uma página mostrando o motivo pelo qual ele não consegue navegar (se era inadimplência, ou as horas mensais tivessem acabado)... É uma pena que eu não recebi pelo serviço... mas tudo bem! Vamos prá a resposta, hehe

    Acho que o estranisgeyer se equivocou um pouco: o que o rafaalbuquerque quer é que, mesmo que o cliente tente entrar em www.siteporno.com, antes de ter se autenticado, ele seja 'jogado' no site de autenticação dele.

    O site de autenticação realmente tem que ser dinâmico, como o estranis falou. Em PHP ou algum CGI. Desta forma, todos os IPs, ou o DHCPd colocaria o filtro aos IPs assim que associasse IP ao cliente, estaria com um filtro iptables -I PREROUTING -j DNAT -t nat -p tcp --dport 80 -s <ip_do_nego> --to-destination <ip_do_servidor*>.
    O servidor devidamente configurado com um virtualHost para este IP, de repente alguns IP aliases por exemplo 10.0.0.1, 10.0.0.2, cada um para uma mensagem de erro diferente, e ah! uma regra DROP para o resto de pacotes que o cliente mandar na chain PREROUTING também é importante prá assegurar que ele não vá navegar -- mas um ACCEPT para udp/tcp na porta 53 para ele resolver nomes também se faz necessário junto da DNAT.
    Daí o .php ou cgi poderia, mediante autenticação com sucesso, executar um script suid()zado para liberar o firewall pro cliente (muito cuidado -- todo cuidado é pouco para fazer script suid heim!)
    Eu também tou fazendo um programa prá administrar o provedor que eu trabalho, daí estou prevendo fazer algo assim mesmo... Bem audacioso, controlar até possibilidade de horários de conexão e link do cliente, tudo liberado dinamicamente pelo programa pelos funcionários. Mas como não temos login/senha pra usuários a cabo/rádio, esse DNAT seria para usuários com alguma irregularidade na conta, ou simplesmente para dar algum aviso importante, ele clicar em OK e liberar a navegação.
    *:: Não sei se no --to-destination aceita host, acho que só aceita endereço IP -mesmo-.