Pergunta

Eu tenho uma situação interessante e o Google não parece ter nenhuma informação sobre o problema.

Eu desenvolvo um software baseado na Web escrito no PHP. A maioria de nossos clientes possui algum tipo de configuração do servidor CAS para autenticação e simplesmente apontamos nosso site para o servidor de autenticação. Temos um novo cliente que não possui um servidor CAS, então eu disse a eles que poderíamos usar o LDAP, de preferência com o SSL (LDAPS). Não tenho certeza se eles têm a capacidade de fazer LDAPs, mas o verdadeiro problema é que (no momento) eles exigem Em seguida, consulte o servidor LDAP.

Agora, tenho certeza de que poderia fazer a conexão VPN em nosso servidor e ter todo o tráfego direcionado com isso, mas isso criaria um único ponto de falha para todos os nossos clientes e estaria totalmente fora de nosso controle; Portanto, isso realmente não é uma opção.

Provavelmente, eu poderia encontrar uma maneira de fazer uma conexão, autenticar o usuário e liberar a conexão; Mas essa parece uma má escolha que levaria muito tempo.

Então, alguém sabe se eu posso (a) abrir uma conexão VPN em PHP e, em seguida, use essa conexão para conectar -se ao servidor LDAP ou (2) de alguma forma codificar PHP/Configure meu servidor para que apenas solicite ao servidor LDAP use a VPN e todas as outras solicitações usem a conexão com a Internet padrão?

Estou realmente um pouco perdido quanto a uma boa maneira de fazer isso, qualquer ajuda seria muito apreciada. Muito obrigado!

Foi útil?

Solução

Existe um servidor SSH no final do cliente? Nesse caso, talvez você possa organizar com o cliente para encantar a conexão com um servidor SSH na extremidade deles. Você pode pedir ao seu aplicativo para abrir o túnel SSH pouco antes de autenticar e fechá -lo quando for feito, semelhante à VPN.

Você poderia fazer isso com a VPN, dependendo do sistema operacional subjacente. De qualquer maneira, não será bonito e não terá desempenho. De qualquer forma, o túnel também estará disponível para todos os aplicativos no servidor usar enquanto estiver aberto.

Se fosse eu, eu escrevia um serviço da web para fazer a autenticação, configuraria um contrato com o cliente para hospedar isso para mim e retransmitir todas as tentativas de autenticação para o serviço da web. Idealmente, você configuraria isso para usar o HTTPS também.

Dependendo da rede configurada entre seu aplicativo e seu cliente e quanto controle vocês dois têm em suas redes, seu cliente poderá rotear solicitações de um de seus IPs até a rede deles - fizemos isso uma vez com terceiros . Precisávamos de acesso a um de seus serviços em uma sub -rede privada e, como estávamos com o mesmo ISP, chegamos a um acordo de que o ISP configuraria e manteria o roteamento, por isso efetivamente obtivemos um túnel completamente privado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top