Autor Tópico: Como Bloquear o Acesso ao Sistema, para Somente em rede Interna (Finalizado)  (Lida 2027 vezes)

Adesoft

  • Avançado
  • ****
  • Mensagens: 355
    • Email
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
« Responder #30 Online: Setembro 09, 2015, 01:23:39 pm »
Haroldo,
Na sua sugestão em deixar uma máquina ligada ela estaria atualizando o IP da conexão no banco, este script foi feito em PHP, pelo SC?
Pois como tenho clientes com Mac, Windows e Linux, vou precisar adaptar esta sugestão!

Estou montando um exemplo e vou colocar aqui para todos e servir para os amigos que desejarem aprimorar.

Jailton-> A ideia é bom porém o problema é a manutenção pois tenho cliente que trabalha de Domingo a Domingo, e em 3 turnos e não posso ficar preso a esta manutenção, da parte do C++ posso começar a estudar porém tempo é uma coisa que para mim fica sendo a moeda mais cara srsrsrsr.

Vamos em frente estou buscando uma forma melhor e montando um exemplo modelo.
Adeilson de Oliveira
THS do Brasil

Haroldo

  • Expert
  • *****
  • Mensagens: 6264
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
« Responder #31 Online: Setembro 09, 2015, 05:00:04 pm »
Uma aplicação blank, vc adiciona a url ao agendador de tarefas do windows.
Essa aplicação grava em uma tabela o ip da empresa.

Todo usuário que se logar no sistema você pega o ip dele,  se for diferente do ip gravado na tabela quer dizer que o acesso é externo.


Haroldo,
Na sua sugestão em deixar uma máquina ligada ela estaria atualizando o IP da conexão no banco, este script foi feito em PHP, pelo SC?
Pois como tenho clientes com Mac, Windows e Linux, vou precisar adaptar esta sugestão!

Estou montando um exemplo e vou colocar aqui para todos e servir para os amigos que desejarem aprimorar.

Jailton-> A ideia é bom porém o problema é a manutenção pois tenho cliente que trabalha de Domingo a Domingo, e em 3 turnos e não posso ficar preso a esta manutenção, da parte do C++ posso começar a estudar porém tempo é uma coisa que para mim fica sendo a moeda mais cara srsrsrsr.

Vamos em frente estou buscando uma forma melhor e montando um exemplo modelo.


Maurélio

  • Avançado
  • ****
  • Mensagens: 304
  • O eterno Aprendiz.'.
    • Email
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
« Responder #32 Online: Setembro 09, 2015, 06:00:58 pm »
Para gravar no banco de dados no servidor na nuvem, o mesmo deve estar configurado para permitir acesso externo.

Se o problema inicial era segurança, este é um ponto que tornará o acesso ao banco de dados visível na internet. A não ser que o acesso seja restrito por IP. mas ai volta o problema de ser IP dinâmico.

Pensando mais um pouco, se a preocupação é segurança, rode dentro da empresa, ou tenha um IP Fixo para restrição por ele ou ainda adote a implantação de VPN, que rodará o sistema como se fosse internamente, dos dispositivos externos.

É um assunto bem delicado e deve ser bem pensado e implantado, pois de outra forma você poderá ter apenas uma sensação de segurança.

[]'s
Marco Aurélio

Haroldo

  • Expert
  • *****
  • Mensagens: 6264
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
« Responder #33 Online: Setembro 09, 2015, 06:24:01 pm »
Maurelio,

Me desculpe, mas acho que engana-se quanto a segurança.

O scriptpt php fica nas nuvens como qualquer outro script, por que há riscos de segurança aí?

http://meudominio/sistema/appblank/appblank.php?autentica=sfkdhfkj39839kdjf48hfh48nfjnfdsjhf84hrnjdjd  <-- aqui vc pode verificar se o ip esta sendo trocado constantemente em intervalos de tempo muito pequeno, bane-se o ip e alerta o adminsitrador.


Onde isso pode expor a segurança??? expor o banco???? se isso acontece qualquer aplicação do sc pode expor o banco e a segurança quando estas estiverem nas nuvens...

Por que o assunto é delicado? Não vejo porque. Acho o assunto até bem simples. E mais,  desenvolvemos para web não, então porque o sistema tem que ficar dentro da empresa, principalmente quando a tendência é se ter tudo nas nuvens.


 

Para gravar no banco de dados no servidor na nuvem, o mesmo deve estar configurado para permitir acesso externo.

Se o problema inicial era segurança, este é um ponto que tornará o acesso ao banco de dados visível na internet. A não ser que o acesso seja restrito por IP. mas ai volta o problema de ser IP dinâmico.

Pensando mais um pouco, se a preocupação é segurança, rode dentro da empresa, ou tenha um IP Fixo para restrição por ele ou ainda adote a implantação de VPN, que rodará o sistema como se fosse internamente, dos dispositivos externos.

É um assunto bem delicado e deve ser bem pensado e implantado, pois de outra forma você poderá ter apenas uma sensação de segurança.

[]'s

Maurélio

  • Avançado
  • ****
  • Mensagens: 304
  • O eterno Aprendiz.'.
    • Email
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
« Responder #34 Online: Setembro 09, 2015, 07:13:48 pm »
Haroldo,


Quem pede desculpas sou eu.


Entendi que o script ficaria na empresa e este conectaria no banco de dados do servidor, na nuvem, e atualizaria o IP da empresa no banco. Para isto o mesmo precisaria ter o acesso externo liberado, senão nem o script php ou qualquer outra aplicação teria esta conexão fechada.


Como ficará no servidor, onde está a aplicação, o banco pode fica somente com acesso local.


Para acessar o banco de dados somente furando a aplicação e acessar as informações ou acessando o servidor diretamente, pois o mesmo não estará visível na internet.


Nas minhas instalações eu não tenho nenhum banco com acesso externo e onde preciso somente através de VPN.


Um pequeno mau entendido, mas é bom conversar sobre segurança. Nunca é demais.


Vamos aprendendo muito.


[]'s

Marco Aurélio

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
« Responder #35 Online: Setembro 09, 2015, 08:16:29 pm »
Caros Amigos,
Este assunto já foi debatido aqui, porém como hoje o sistema pode ser aberto por qualquer browser seja por qualquer dispositivo que tenha acesso a internet, não só em rede Windows, porém em Linux e Mac e Android. Estou com a necessidade de bloquear o acesso ao sistema permitindo somente na rede interna do Cliente e liberando o aceso somente em outros dispositivos autorizados e ou ADM.

Alguém já consegue fazer este controle?
Seja em Windows, Mac, Linux ou Android?

Adeilson de Oliveira

estou terminando justamente isso...

ao tentar logar o sistema verifica o IP ou se é Adm, daí libera o acesso.

minha aplicação fica na nuvem e meu acesso é somente de tentro da empresa..
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775

flaviosfmartins

  • Iniciante
  • **
  • Mensagens: 97
    • Email
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
« Responder #36 Online: Setembro 10, 2015, 08:30:02 am »
Me parece mais um caso de controle de acesso ( por horário e tipo de usuário ) que por rede.

Tentar solucionar um caso desses pelo ip vai cair nos privilégios de cada usuário , a confusão ocorre pelo fato de querer generalizar o acesso pelo ip da empresa ( que é dinâmico ... )

 

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna
« Responder #37 Online: Setembro 14, 2015, 10:51:12 am »
Bom pra não ter que fazer malabarismos é só usar a função gethostname (), essa função trabalha em conjunto com a variável $_SERVER["REMOTE_ADDR"] porém ela devolve o nome do cliente, como o php não tem como saber essa informação por não ter acesso à máquina em si ele usa como se fosse uma consulta reversa no ip que vem da variável $_SERVER["REMOTE_ADDR"] e tenta recuperar o nome, assim se você usa um gateway pra distribuir a internet na sua empresa ou um servidor a função retornará o nome desse gateway, roteador, servidor.

Assim basicamente é só verificar se a conexão é proveniente do nome do seu gateway e validar o acesso.

Adesoft

  • Avançado
  • ****
  • Mensagens: 355
    • Email
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna (Finalizado)
« Responder #38 Online: Setembro 14, 2015, 11:27:58 am »
Saulo,

Foi mais ou menos que eu fiz e estou testando, usei a ideia do Haroldo porém com alguns ajustes:

Relatório de desenvolvimento e testes:

1º O Cliente não tem uma máquina para ficar ligada como servidor e ficar autenticando a cada 15 minutos, neste caso colocamos nos computadores que ele tem como principal que ficam interno sempre dentro da empresa o programa No-IP para ficar autenticando.
Com isto eu vou saber qual o IP da rede interna dele.

2º No Cadastro de usuário eu tenho um campo que controla o previlégio do usuário se ele é Adminsitrador ou não para liberar o acesso de qualquer lugar.

3º Tenho um formulário dentro do sistema de configuração onde criei os campos :
   a) Controla a autenticação do local de uso (tipo char) para S ou N
   b) Informe o domínio para autenticação (Aqui eu coloco o domínio que o cliente tem no No-IP para autenticar)

4º controle do domńio no formulário Login
    Com a função gethostbyname(variavel com o domínio) eu pego o domínio do formulário de configuração que cadastrei para que eu possa ter o IP do domńio que será autenticado para obter o IP da rede interna dele (WAN)

5ª  controle do IP que esta acessando o sistema na WEB
       Com a função  $_SERVER['REMOTE_ADDR'] eu tenho o IP que esta acessando a minha aplicação na WEB, que esta se logando e ou tentando se logar.

6º Ficando assim:
      $ip_dominio = gethostbyname($var_config_dominio);
      $ip_local    = $_SERVER['REMOTE_ADDR'];
    Com isto eu tenho o IP da rede autenticado no No-IP que a máquina do cliente se autenticou e o IP da tentativa de se logar, faço uma comparação para saber se é a mesma rede ou não:
   if (substr($ip_dominio,1,11) == substr($ip_local,1,11))
Assim fico sabendo que o IP da autenticação e o IP que esta tentando se logar faz parte da mesma rede para liberar e ou bloquear, caso for rede diferente eu vejo se o usuário que esta tentando se logar tem privilégio de ADM para liberar.

7º Caso o usuário não tiver o privilégio e ou a rede for diferente, eu gravo o log com o usuário, data e hora e o IP que esta tentando acessar para ter um controle das tentativas de acesso.

Com isto consegui resolver o problema, creio que podemos melhorar esta forma, mais no momento foi a mais simples e rápida que permite que só dentro da empresa seja acessado o sistema.

Obrigado a todos espero que estas informações possam ajudar também nossos amigos que possam estar com a mesma dificuldade e possa limitar os acessos.

Obrigado a todos.
Adeilson de Oliveira
THS do Brasil

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Como Bloquear o Acesso ao Sistema, para Somente em rede Interna (Finalizado)
« Responder #39 Online: Setembro 14, 2015, 12:26:42 pm »


Obrigado a todos espero que estas informações possam ajudar também nossos amigos que possam estar com a mesma dificuldade e possa limitar os acessos.

Obrigado a todos.

Parabéns cara, é isso ai!
F. A.
Analista de Sistemas