Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. #21

    Padrão

    Opa também tinha visto e fiquei com duvida no seu hotspot....o que seria o perfil senha?
    abraçoo

  2. #22

    Padrão

    Amigo o perfil senha serve para usuário que estão usando a senha priovisória (1234), ai de tempo em tempo ele redireciona para uma página de aviso para troca de senha.



  3. #23

    Angry Roubaram minha senha do change ip

    deixei meu mikrotik aberto e pegaram minha senha do change ip e trocaram, sacanagem vc age com boa fé e te sacaneiam !

    Como registro os ip que acessam meu mikrotik sei que foi um destes ip que fez isto:

    189.104.28.112

    189.68.46.222

    189.104.20.175

    189.92.158.102

    189.68.38.35

  4. #24

    Padrão

    Citação Postado originalmente por jardelalmeida Ver Post
    Amigo o perfil senha serve para usuário que estão usando a senha priovisória (1234), ai de tempo em tempo ele redireciona para uma página de aviso para troca de senha.
    Ah entendi amigo...mais você ja redirenciona pra uma pagina que o propio usuario faz a mudança da senha e te envia por e-mail? como é esse esquema?

    vlww


    *Ah, infelizmente existem pessoas que não são profissional amigo, ao invés de usar a sua boa vontade de oferecer ajuda mostrando seu serviço, aproveitam para destruir um trabalho sem ao menos ter motivo....esses com certeza não terao muito sucesso.

    grande abraço



  5. #25

    Padrão

    Neste caso a página tem o email em que ele deve enviar a senha de sua preferência

  6. #26

    Padrão Vou dar minha contribuição tmb

    uso hotspot com ip fixo e radius...

    amarro o MAC x Login X IP sem problemas

    vamos lá...


    Configurar o mysql na Tabela radgroupreply para acessar o arquivo perl:
    ------------------------------------------------------------------------------
    GroupName: nome_do_grupo_dos_seus_usuários (ex: radio)
    Attribute: Exec-Program-Wait
    op: ==
    Value: /etc/raddb/lib3.pl %u %i %C %n %{request:Framed-IP-Address}

    PS.: acima temos o caminho do arquivo...é a unica coisa q tem q mudar
    --------------------------------------------------------------------------------------------



    criar o arquivo lib3.pl (ou o nome que vcs derem acima no caminho passado)
    #touch /etc/raddb/lib3.pl


    editar o arquivo criado acima
    #pico /etc/raddb/lib3.pl (o texto abaixo vai dentro desse arquivo)

    ---------------------- recorte aqui --------------------------
    #!/usr/bin/perl
    use POSIX qw(strftime);
    use Unix::Syslog qw(:macros :subs);
    use DBI;
    my $servidor = "localhost";
    my $servidor_porta = "3306";
    my $servidor_usuario = "usuario_BD";
    my $servidor_senha = "senha_BD";
    my $servidor_db = "medianeira";
    my $servidor_db_radius = "radius";
    my $tabela_login = "radcheck";
    my $tabela_cont = "contratos";
    my $tabela_multi = "contratos_users_radius";
    my $tabela_mac = "contratos_macs";
    my $tabela_mac_intruso = "contratos_macs_erros";
    my $tabela_ip_intruso = "contratos_ips_erros";
    my $codigo_erro = "1";
    my $codigo_erro_mac = "1";
    my $codigo_erro_ip = "1";

    sub erro_permitido()
    {
    openlog(Pemitidos, LOG_PID, LOG_INFO);
    syslog(LOG_INFO, "Login=$ARGV[0] MAC=$ARGV[1] IP=$ARGV[4]\n");
    closelog;
    }
    sub erro_bloqueado()
    {
    openlog(Bloqueados, LOG_PID, LOG_INFO);
    syslog(LOG_INFO, "Login=$ARGV[0] MAC PC=$ARGV[1] IP PC=$ARGV[4]\n");
    closelog;
    }
    if (($ARGV[2] eq 'Mikrotik132') || ($ARGV[2] eq 'Mikrotik145') || ($ARGV[2] eq 'Mikrotik194'))
    {
    # Conecta banco medianeira para verificar mac na tabela contratos_macs
    $dbh = DBI->connect("DBI:mysql:database=$servidor_db;host=$servidor;port=$servidor_porta", $servidor_usuario, $servidor_senha);
    $pega_mac = $dbh->prepare("SELECT mac FROM $tabela_mac WHERE UserName=\"$ARGV[0]\" LIMIT 1");
    $pega_mac->execute;
    if(@row = $pega_mac->fetchrow_array)
    {
    $pega_mac->finish;
    $dbh->disconnect;
    if ($row[0] =~ /$ARGV[1]/)
    {
    $codigo_erro_mac = "0";
    # Conecta banco medianeira para verificar ip na tabela contratos
    $dbh = DBI->connect("DBI:mysql:database=$servidor_db;host=$servidor;port=$servidor_porta", $servidor_usuario, $servidor_senha);
    $pega_ip = $dbh->prepare("SELECT c.ip,c.id FROM $tabela_cont c,$tabela_multi m WHERE ((c.login_radio=\"$ARGV[0]\") OR (c.multi_users=1 AND m.login_radius=\"$ARGV[0]\" AND m.idContrato=c.id)) LIMIT 1");
    $pega_ip->execute;
    if(@row = $pega_ip->fetchrow_array)
    {
    $pega_ip->finish;
    $dbh->disconnect;
    # Comparar ip passado com o do banco
    if ($row[0] =~ /$ARGV[4]/)
    {
    $codigo_erro_ip = "0";
    }
    else
    {
    $ip_selecionado = $row[0];
    if($ip_selecionado == "0" || $ip_selecionado == "")
    {
    # Conecta banco medianeira e insere ip na tabela de erros
    $dbh = DBI->connect("DBI:mysql:database=$servidor_db;host=$servidor;port=$servidor_porta", $servidor_usuario, $servidor_senha);
    $grava = $dbh->prepare("UPDATE $tabela_cont SET ip=\"$ARGV[4]\" WHERE id=\"$row[1]\" ");
    $grava->execute;
    $grava->finish;
    $dbh->disconnect;
    $codigo_erro_ip = "0";
    }
    else
    {
    # Conecta banco medianeira e insere ip na tabela de erros
    $dbh = DBI->connect("DBI:mysql:database=$servidor_db;host=$servidor;port=$servidor_porta", $servidor_usuario, $servidor_senha);
    $grava = $dbh->prepare("INSERT INTO $tabela_ip_intruso (UserName,ip_pc,ip_banco,data) VALUES (\"$ARGV[0]\",\"$ARGV[4]\",\"$ip_selecionado\",SYSDATE())");
    $grava->execute;
    $grava->finish;
    $dbh->disconnect;
    $codigo_erro_ip = "1";
    }
    }
    }
    }
    else
    {
    $mac_selecionado = $row[0];
    # Conecta banco medianeira e insere mac na tabela de erros
    $dbh = DBI->connect("DBI:mysql:database=$servidor_db;host=$servidor;port=$servidor_porta", $servidor_usuario, $servidor_senha);
    $grava = $dbh->prepare("INSERT INTO $tabela_mac_intruso (UserName,mac_pc,mac_banco,data) VALUES (\"$ARGV[0]\",\"$ARGV[1]\",\"$mac_selecionado\",SYSDATE())");
    $grava->execute;
    $grava->finish;
    $dbh->disconnect;
    $codigo_erro_mac = "1";
    }
    }
    else
    {
    $pega_mac->finish;
    $dbh->disconnect;
    # Conecta banco medianeira para verificar mac na tabela contratos_macs
    $dbh = DBI->connect("DBI:mysql:database=$servidor_db;host=$servidor;port=$servidor_porta", $servidor_usuario, $servidor_senha);
    $grava = $dbh->prepare("INSERT INTO $tabela_mac VALUES (\"\",\"$ARGV[0]\",\"$ARGV[1]\")");
    $grava->execute;
    $grava->finish;
    $dbh->disconnect;
    #Possibilidade se inserção ou verificação de IP
    $codigo_erro_mac = "0";
    $codigo_erro_ip = "0";
    }
    }
    if ($codigo_erro_mac != "0" || $codigo_erro_ip != "0")
    {
    $mensagem_erro = "MAC ou IP inválidos";
    erro_bloqueado();
    }
    else
    {
    erro_permitido();
    }
    if ($codigo_erro_mac == "0" && $codigo_erro_ip == "0")
    {
    $codigo_erro = "0";
    }
    exit($codigo_erro);
    --------------------- recorte aqui --------------------------

    my $tabela_login = "radcheck";
    -> padrão dos radius

    my $tabela_cont = "contratos";´
    -> contem vários campos com dados, os mais importantes são:
    -----> login_radio
    -----> ip

    my $tabela_multi = "contratos_users_radius";
    -> campos:
    ----->id
    ----->idContrato
    ----->login_radius
    ----->senha_radius

    my $tabela_mac = "contratos_macs";
    -> campos:
    ----->id
    ----->UserName
    ----->mac - formato: xx:xx:xx:xx:xx:xx

    my $tabela_mac_intruso = "contratos_macs_erros";
    -> campos:
    ----->id
    ----->UserName
    ----->mac_pc
    ----->mac_banco
    ----->data

    my $tabela_ip_intruso = "contratos_ips_erros";
    -> campos:
    ----->id
    ----->UserName
    ----->ip_pc
    ----->ip_banco
    ----->data

    Algumas observações:

    - Se o login ex: testelogin, quando for logar nao for localizado um mac, na tabela 'contratos_mac', o script cadastra automaticamente no banco o mac, pois supoe-se que o primeiro login é feito no cliente com a prescença do técnico do provedor (pelo menos aqui é assim, fica a critério de cada).
    - A verificação de login X mac X ip, só é feita após o login ter ocorrido, entao nao estamos verificando o login e senha, q está no banco radius, provável na tabela radcheck, supomos que isto já esteja sendo usado e em funcionamento.
    - Bug: Se um ip fizer login e vier pro script pra verificação, e for ele ex: 192.168.1.111, e no banco de dados estiver 192.168.1.1, é provável que deixa passar, (pois ele usa if ($row[0] =~ /$ARGV[4]/) que é como se fosse um like do mysql, mas em perl) é um erro q já estou vendo pra trocar, fica a critério de cada um mexer no script, e tmb por conta próprio o uso ou nao do script, nao me responsabilizo por nda...
    - existe tmb uma forma de amarrar via banco de dados, preferi usar script pois tenho logs de tudo, no syslog do linux e tmb no banco de dados.

    Existe uma forma de amarrar tal login pra ele sempre pegar o mesmo ip pra quem usa dhcp e controla os usuários no radius, segue:

    na tabela radcheck:

    UserName: logindocliente (ex: joaodossantos)
    Attribute: Framed-IP-Address
    op: ==
    Value: ipdocliente (ex: 192.168.50.50)

    toda vez que o cliente joaodossantos logar ele pegara esse ip cadastrado acima...

    Bom, me desculpe por tantas linhas, mas é presciso, desculpe os erros, e estamos ae pra dicas e críticas...espero ter ajudado alguém, assim como tantos me ajudaram já...

    Obrigado e passar bem...
    Última edição por Mr_Dom; 10-02-2009 às 11:19.



  7. #27

    Padrão

    Ufa ! quanta informação, valeu cara, mas não uso radius, será que ainda tem jeito ?

  8. #28

    Padrão

    Cara ja que você citou do radius...você teria algum tutorial passo a passo de como instalar e configurar?
    vlww



  9. #29

    Padrão

    Citação Postado originalmente por gustavinho69 Ver Post
    Cara ja que você citou do radius...você teria algum tutorial passo a passo de como instalar e configurar?
    vlww


    ta na hands ( Mikrotik + Freeradius + Mysql + Hotspot ( Casando MAC/IP/Login/Senha ) )

    se quiser usar o google tmb...ajuda bastante..hehehe

    freeradius + mikrotik - Google Search


    flws...qq coisa posta ae...t+

  10. #30

    Padrão

    malsss cara nao havia visto este topico...vlww



  11. #31

  12. #32

    Padrão

    Citação Postado originalmente por willianrcn Ver Post
    Amigão, quero amarrar IPxLOGIN não IPxMAC, ip e mac sei que funciona sem problemas..
    tb gostaria de conseguir fazer isso... vincular o IP ao LOGIN, independente do MAC do cliente..

    no pppoe é tranquilo pq o cliente manda a autenticação e depois ele recebe o ip..
    já no hotspot ele recebe um ip antes para depois fazer a autenticação..

    []´s