Possível? Servidor OpenVPN que requer login baseado em certificado E senha (via firmware do roteador Tomato)

Possível? Servidor OpenVPN que requer login baseado em certificado E senha (via firmware do roteador Tomato)

Tenho usado a versão do Tomato de Shibby (versão 64k NVRAM) em meu roteador Asus N66U para executar um servidor OpenVPN.

Estou curioso para saber se é possível configurar este servidor OpenVPN para exigir um certificadoEum nome de usuário/senha antes que um usuário tenha acesso permitido.

Percebi que há uma entrada de “senha de desafio” ao preencher os dados do certificado, mas todos dizem para deixar em branco “ou então”; Não tenho ideia do porquê e não consigo encontrar uma explicação. Além disso, pesquisei bastante esse problema no Google e notei pessoas falando sobre um módulo PAM para OpenVPN para autenticar via nome de usuário/senha, mas issoapareceuser uma opção ou/ou; em outras palavras, posso forçar a autenticação via nome de usuário/senhaOUcertificado. Eu quero exigir ambos.

Isso é possível? Se sim, como?

Responder1

O recurso OpenVPN que você procura, que permitirá ao servidor autenticar clientes com base emambosseu certificado e uma credencial são auth-user-pass-verify. Este 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 a qualquer coisa que desejar - PAM, RADIUS, LDAP, sinais de fumaça, etc.

Não sei nada sobre os firmwares "Tomato" então 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 auth-user-pass-verifyreferência. Você precisará de um script para realizar a autenticação.

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

Responder2

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

Dessa forma, um "imitador" tem que ter o usuário certo comparado ao CN certc e o passe certo e ele tem que fazer logon no momento em que o verdadeiro dono não

Além disso, você pode pensar em um IDS, dependendo de qual você escolher, você pode até restringi-lo, como intervalos de IP externos permitidos, tempos de logon e assim por diante.

Qualquer certificado exposto deve ser revogado imediatamente. O servidor de assinatura deve estar fora da rede - chave de transferência por USB - então você terá um acesso realmente seguro e rígido.

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

  1. Fácil de usar força bruta.
  2. Você não pode bloquear um usuário (o certificado só está offline).
  3. As pessoas perdem suas senhas o tempo todo, forçando você a revogar e recriar um certificado todas as vezes - grande risco de ter muitos certificados por aí, onde às vezes você esquece a revogação.

Mas se você realmente quiser, pode usar auth-user e cert password ao mesmo tempo, não haverá substituto ou algo assim.

Primeiro, o openvpn usará a senha do certificado para descriptografar a chave privada e estabelecer uma conexão - então o usuário de autenticação entra em ação no servidor - se as credenciais estiverem erradas, você está fora.

No entanto, se um invasor obtiver as credenciais regulares, você já estará com problemas e há grandes chances de ele também ter obtido a senha do certificado.

Portanto, não vejo benefícios reais aqui, apenas muitas desvantagens e uma sensação errada de mais segurança.

Responder3

Segui este tutorial (com TomatoUSB Shibby 1.28 no meu Asus N66U): http://www.dd-wrt.com/wiki/index.php/OpenVPN Isso pode ajudá-lo muito.

informação relacionada