Abrindo a porta com segurança

Abrindo a porta com segurança

Estou operando um webapp que deve ser acessível apenas a um pequeno número de pessoas equipadas com tablets. Ele é servido na porta 80 de um servidor que está em nossa rede local, atrás do roteador ISP.

A questão é: como posso garantir o acesso ao usuário autorizado sem que nenhum outro usuário possa acessá-lo? Usuários não autorizados devem terminar com uma redefinição de conexão como se a porta não estivesse aberta.

Pensei em abrir uma porta no roteador, redirecioná-lo para o servidor e protegê-lo com um certificado, mas isso é possível?

Outra solução poderia ser instalar uma VPN, mas pode ser muito difícil de gerenciar para alguns usuários.

Responder1

Há muitas maneiras de fazer isso, mas a correta depende de quais outros mecanismos de segurança você possui. Exemplos:

  • Certificados de cliente. Isso é muito possível, exceto que você queira usar a porta 80, que normalmente não é criptografada. Você precisaria reconfigurar seu servidor web ou colocar um proxy na frente dele, mas isso certamente é possível. Fazer isso com o Apache é descrito aqui,https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html#allclients
  • Filtre por endereço IP ou MAC no nível da rede, ou seja, no firewall.
  • Use uma VPN como você mencionou. Isso pode ser razoavelmente transparente para os usuários.
  • Verifique se há um cabeçalho de autenticação no servidor web ou em um proxy na frente dele.

Sem dúvida há mais. Alguns deles não são adequados, a menos que você tenha métodos de autenticação adicionais, por exemplo, endereços MAC são facilmente falsificados. Outras opções ficarão disponíveis se você relaxar o requisito para que a porta de rede pareça fechada, porque muitos métodos de autenticação não funcionam até que a porta seja aberta.

Responder2

Sua pergunta é de alguma forma genérica. Você pode fazer um ou mais dos seguintes procedimentos:

  1. Exija um nome de usuário/senha válido para acessar seu aplicativo da web. Isso pode ser feito no nível do aplicativo ou no nível do servidor web (ex: apache2).
  2. Proteja o acesso a este IP/porta configurando um firewall. Somente IPs específicos são permitidos. Outros são negados. Isso requer que você obtenha uma lista dos IPs de seus usuários.
  3. Redirecione os usuários de http (porta 80) para https (porta 443) para proteção contra ataques como ataques man-in-the-middle.
  4. Mantenha o acesso ao servidor privado e tunele o tráfego dos usuários para sua rede (uma das soluções VPN que requer autenticação).

informação relacionada