AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1065300
Accepted
Lasse Michael Mølgaard
Lasse Michael Mølgaard
Asked: 2021-06-02 02:06:33 +0800 CST2021-06-02 02:06:33 +0800 CST 2021-06-02 02:06:33 +0800 CST

A autenticação Radius não funciona no Strongswan, ao vir de um cliente VPN do Windows?

  • 772

Meu servidor VPN strongswan está autenticando clientes VPN em um servidor Freeradius local.

Todos os logs de usuários são enviados por proxy para o servidor radius remoto, que valida os usuários em relação a um servidor Samba Active Directory.

No entanto, eu me deparei com um pouco de um problema.

A seção a seguir funciona para usuários do Android usando o cliente VPN Strongswan:

connections
{
  rw-eap {
    local_addrs = SERVER_PUBLIC_IPV4, SERVER_PUBLIC_IPV6

    local {
      auth = pubkey
      certs = example-ecdsa.cer
      id = vpn.example.com
    }
    remote-android {
      auth = eap-radius
      id = *@example.com
    }
  }
}

A saída de monitoramento do Freeradius revela coisas como:

(5) Received Access-Request Id 135 from 192.168.200.1:47851 to 192.168.200.1:1812 length 193
(5)   User-Name = "[email protected]"
(5)   NAS-Port-Type = Virtual
(5)   Service-Type = Framed-User
(5)   NAS-Port = 4
(5)   NAS-Port-Id = "rw-eap"
(5)   NAS-IP-Address = SERVER_PUBLIC_IPV4
(5)   Called-Station-Id = "SERVER_PUBLIC_IPV4[4500]"
(5)   Calling-Station-Id = "CLIENT_IPV4[3988]"

E o log do Strongswan dá:

06[IKE] IKE_SA rw-eap[6] established between SERVER_PUBLIC_IPV4[vpn.example.com]...CLIENT_IPV4[[email protected]]

No entanto, ao tentar se conectar ao servidor a partir de um cliente Windows, ele está praticamente morto, a menos que eu use a seguinte configuração no Strongswan:

connections
{
  rw-windows {
    local_addrs = SERVER_PUBLIC_IPV4, SERVER_PUBLIC_IPV6

    local {
      auth = pubkey
      certs = example-ecdsa.cer
      id = vpn.example.com
    }

    remote-windows {
      auth = eap-radius

      # Don't use *@example.com here - as windows does not pass username as id, 
      # so this config will not match in that case.
      id = %any
    }
  }
}

Usando essa configuração, posso pelo menos fazer com que o Strongswan inicie a autenticação Radius, mas não vou muito além disso.

A saída do Freeradius me dá coisas como:

(21) Received Access-Request Id 151 from 192.168.200.1:47851 to 192.168.200.1:1812 length 306
(21)   User-Name = "\300\250\000d"
(21)   NAS-Port-Type = Virtual
(21)   Service-Type = Framed-User
(21)   NAS-Port = 7
(21)   NAS-Port-Id = "rw-windows"
(21)   NAS-IP-Address = SERVER_PUBLIC_IPV4
(21)   Called-Station-Id = "SERVER_PUBLIC_IPV4[4500]"
(21)   Calling-Station-Id = "CLIENT_PUBLIC_IPV4[3989]"

E isso resulta na seguinte entrada no log do Strongswan:

06[CFG] looking for peer configs matching SERVER_PUBLIC_IPV4[%any]...CLIENT_PUBLIC_IPV4[CLIENT_PRIVATE_IPV4]

Isso me leva a algumas perguntas como:

  • Primeiro: Por que o cliente VPN do Windows não passa o nome de usuário como seu ID, como o Strongswan faz?

  • Segundo: Por que o nome de usuário é passado de Strongswan para Freeradius "\300\250\000d"?

Um pouco mais de depuração no cliente Windows:

O exemplo acima é gerado ao usar EAP-TTLS no lado do cliente com MS-CHAP v2.

Ao usar o MS-CHAP, o Freeradius é invocado com o nome de usuário correto, mas quando a solicitação é proxy, a autenticação do nome de usuário/senha falha.

Acho que o login do MS-CHAP precisa ser encapsulado ou algo assim, pois a codificação da solicitação de autenticação não é a mesma de quando os usuários do Android se conectam?

strongswan freeradius2 eap
  • 1 1 respostas
  • 421 Views

1 respostas

  • Voted
  1. Best Answer
    ecdsa
    2021-06-02T07:34:47+08:002021-06-02T07:34:47+08:00

    A resposta para ambas as suas perguntas é a mesma: o Windows envia seu endereço IP como identidade IKE (que é então encaminhada literalmente como atributo User-Name na mensagem RADIUS).

    Em vez disso, você deve configurar seu servidor RADIUS para fazer uma troca EAP-Identity (se você configurou eap_start = yesem strongswan.conf ), ou deixar que o strongSwan faça isso habilitando o plug-in eap-identity e configurando eap_id = %anynas remote...seções.

    • 1

relate perguntas

  • Por que 'ipsec statusall' não mostra nenhuma conexão?

  • Como redirecionar o tráfego através do gateway IPv6 IPSec (strongswan)?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve