Possível? Servidor OpenVPN que requer login com base em certificado e senha (via firmware do roteador Tomato)

7

Eu tenho usado o Shibby's Tomato (versão 64k NVRAM) no meu roteador Asus N66U para rodar um servidor OpenVPN.

Estou curioso para saber se é possível configurar este servidor OpenVPN para exigir um certificado AND um nome de usuário / senha antes que um usuário tenha permissão de acesso.

Percebi que há uma entrada de "senha de desafio" ao preencher os detalhes do certificado, mas todos dizem que ela deve ser deixada em branco "ou"; Não faço ideia do porquê e não consigo encontrar uma explicação. Além disso, eu já tive um problema no Google e notei pessoas falando sobre um módulo PAM para OpenVPN para autenticar via nome de usuário / senha, mas que apareceu para ser uma opção ou ; em outras palavras, posso forçar a autenticação por meio do certificado de nome de usuário / senha OR . Eu quero exigir ambos.

Isso é possível? Se sim, como?

    
por Eric 23.08.2012 / 05:41

4 respostas

3

O recurso OpenVPN que você está procurando, que permitirá ao servidor autenticar clientes com base em ambos certificado e credencial, é auth-user-pass-verify . Esse recurso permite que o servidor passe o nome de usuário / senha fornecido pelo usuário remoto para um script que realiza a autenticação. Nesse ponto, você pode validar as credenciais em relação ao que quiser - PAM, RADIUS, LDAP, sinais de fumaça, etc.

Eu não sei nada sobre os firmwares "Tomato", então eu nem vou tentar dar um passo a passo aqui. Fiz uma pesquisa rápida e suspeito que você poderia usar a opção "Configuração personalizada" do OpenVPN para incluir uma referência auth-user-pass-verify . Você precisará de um script para realizar a autenticação.

Faça algumas pesquisas e suspeito que você encontrará referências específicas ao "Tomato".

    
por 29.06.2013 / 19:15
2

A senha do desafio é uma senha usada para permitir a descriptografia da chave. Essa é a única maneira que você pode realmente fazer uma "senha" e uma chave.

Você pode realmente verificar apenas pela senha ou , não pelos dois. Se você tiver ambos os métodos habilitados, ele tentará a autenticação de chave primeiro, e se isso falhar, voltará à autenticação de senha.

Não ter uma senha em uma chave torna mais fácil para alguém imitar sua identidade, caso ela consiga segurar a chave.

Eu sugeriria descobrir por que os interwebz dizem que você não deveria usar senhas em chaves e ver se é realmente um problema.

    
por 23.08.2012 / 09:56
2

auth-user-pass-verify é a coisa certa. Além disso, você pode forçar o nome de usuário do usuário-auth tem que ser o certificado CN você também pode forçar o openvpn a fazer apenas uma conexão a cada certificado de cada vez.

Dessa forma, um "imitador" precisa ter o usuário certo em comparação com o CN certc e o passe correto e ele tem que fazer logon de cada vez o proprietário real doenst

Além disso, você pode pensar em um IDS, dependendo de qual você escolher, você pode até mesmo reduzi-lo até lá, como faixas de ip externas permitidas, tempos de logon e assim por diante.

Qualquer certificado exposto deve ser revogado imediatamente. O servidor de assinatura deve estar fora da chave de transferência de rede pelo usb - então você tem um acesso realmente seguro.

e não, você não deve senha um certificado.

  1. Fácil de usar a força bruta.
  2. Você não pode bloquear um usuário (a passagem de certificado é apenas offline).
  3. As pessoas perdem suas senhas o tempo todo forçando-o a revogar e recriar um certificado toda vez - grande risco de ter um monte de certs lá fora, onde às vezes você pode esquecer a revogação.

Mas se você realmente quiser, pode usar a senha auth-user e cert no mesmo tempo não haverá retorno ou algo assim.

Primeiro o openvpn usará a senha do cert para descriptografar a chave privada para estabelecer uma conexão - então o auth-user entra no serveridly - se as credenciais estiverem erradas, você está fora.

No entanto, se um invasor obtiver as credenciais regulares, você já está com problemas e as chances são altas. Ele também obteve a senha do certificado.

Então eu não vejo benefícios reais aqui, apenas um monte de desvantagens e uma sensação errada de mais segurança.

    
por 16.08.2013 / 01:34
0

Eu segui este tutorial (com o TomatoUSB Shibby 1.28 no meu Asus N66U): link Isso pode te ajudar muito.

    
por 17.01.2014 / 21:20