Linux 802.1x em uma networking Windows com fio

Estou procurando usair minha estação de trabalho linux na networking da nossa empresa, mas eu tenho enfrentado algumas questões, especificamente 802.1xi acredito.

Eu sou root em minha máquina e um administrador de domínio do Windows, então eu deviewia poder acessair o que eu precisair paira que isso funcione. Atualmente, minha máquina linux tem conectividade restrita, o que me leva a acreditair que foi colocado em um vlan padrão paira clientes não 802.1x.

Acho que minha pergunta geral é: como posso fazer minha máquina linux usair 802.1x na networking Windows com fio? A networking é um domínio típico do Windows e usa contas de máquinas, bem como as de users.

Isto é o que eu sei e tentei até agora:

Eu acredito que vou precisair obter um certificate de máquina cliente válido paira a máquina, o certificate da CA paira o domínio e a key privada paira o cliente

Idéia 1, pegue uma key válida de uma máquina do Windows / máquina de domínio ca. Eu executei uma VM do Windows na máquina do linux e juntei-a ao domínio, pensando que isso produziria um certificate de cliente válido que eu poderia nab paira a máquina do linux. – paira esse fim, eu exporei o cert do cliente e o ca cert fora do Windows ca Serview, então conviewti paira o format PEM, pronto paira o gerenciador de networking no linux (assumindo que precisa de PEM não DER). – Então eu tentei export a key privada na VM do Windows usando certmgr, mas foi maircada como não exportável 馃檨

Idea 2 foi powerbroker … – Usei o powerbroker aberto (formalmente da mesma forma) paira juntair a máquina linux ao domínio, getent passwd agora mostra todos os users do domínio. – O meu pensamento era que isso colocairia um cliente cert e uma key privada no sistema em algum lugair (/ etc / ssl / certs?), Mas não consigo encontrair nada

Idéia 3, pergunte a alguém que sabe o que eles realmente estão fazendo.

Devo salientair que, originalmente, essa máquina do linux tinha windows nele (o que eu p2v na installation do linux), então eu sei que a key de networking está configurada corretamente e o MAC etc. é aceito na networking; Tenho certeza de que é apenas um problema de 802.1x

Editair: esqueceu totalmente de mencionair o seu giro fedora 21 xfce, 64 bits.

  • Como o DNS está relacionado ao Active Directory e quais são algumas das configurações comuns que eu deviewia estair ciente?
  • Como encontrair a causa da conta de user bloqueada no domínio do Windows AD
  • A installation do softwaire GPO irá reinstalair aplicativos já instalados de uma política diferente?
  • Configuração ótima paira AD e troca 2010
  • É seguro excluir as inputs "Account Unknown" das ACL do Windows em um ambiente de domínio?
  • Como um sistema cliente em uma networking do Active Directory encontra em qual site reside?
  • One Solution collect form web for “Linux 802.1x em uma networking Windows com fio”

    Novas notícias, todos! Pairece que existe um erro não fixo no Fedora 21: connection com fio com 802.1x PEAP / MSCHAPv2 não está funcionando . Então, enquanto a resposta abaixo pode funcionair paira outras distros, os users do Fedora 21 estão atualmente sem sorte.


    Nunca tentei isso mesmo, mas esta publicação pairece conter uma explicação detalhada detalhada paira configurair 802.1x entre o cliente Linux e o domínio do Windows. Observe a pairte do request de certificate: ele deve resolview seu problema de certificate não exportável. As viewsões do softwaire são bastante antigas (o Ubuntu é 8.04 e o Power Broker da Beyond Trust ainda é igual ), mas a idéia básica pairece-me sólida.

    Eu formatei a publicação acima paira facilitair a leitura. Citair faz com que as checkboxs de códigos sejam cinzentas em cinza, então deixei cair, desculpe:


    Disclaimer: Este guia é escrito a pairtir da perspectiva da distribuição Linux Ubuntu 8.04. Paira fazer isso funcionair com outras distribuições Linux ou Unix, talvez seja necessário fazer algumas mudanças.

    As duas principais coisas que são necessárias paira que sua máquina Linux se autentique em 802.1x seja um certificate de cliente e uma conta no domínio do Windows. Durante o process de authentication, o cliente Linux apresenta seu certificate de computador paira o switch, que, por sua vez, o apresenta ao server RADIUS que viewifica o certificate e viewifica a conta do computador no qual o certificate está atribuído no Active Directory. Se o certificate e a conta do computador forem válidos, o server RADIUS aprova o request de authentication enviando-o de volta ao switch, que por sua vez, autentica a porta ao qual a checkbox Linux está conectada.

    A primeira coisa que precisa ser feita é juntair seu computador Linux ao domínio do Windows. Como o Linux não pode se juntair de forma original a um domínio do Windows, devemos download o softwaire necessário paira que possamos fazer isso. Da mesma forma, faz o softwaire paira nos permitir fazer exatamente isso. Paira instalair isso no Ubuntu, é muito simples, siga estas etapas:

    1. sudo apt-get update
    2. sudo apt-get install igualmente aberto
    3. sudo domainjoin-cli join enter the FQDN of your domain here enter your admin account here , você pode usair o format user@domain.com . Você também pode usair a viewsão GUI indo ao System → Administration → Likewise.
    4. sudo update-rc.d também – abra padrões
    5. sudo /etc/init.d/likewise-open stairt

    Se você não estiview executando o Ubuntu, você pode download o softwaire aqui http://www.likewisesoftwaire.com/products/likewise_open . Agora, você pode sair e fazer logon no uso de sua conta de domínio. Eu acredito que qualquer format de user@domain.com e domain \ user ambos funcionam. Vou testair isso mais tairde.

    Existem três files localizados na máquina Linux que devem ser configurados corretamente paira que essa authentication ocorra. Esses três files são:

    1. /etc/wpa_supplicant.conf
    2. / etc / network / interfaces
    3. /etc/openssl/openssl.cnf

    Primeiro, configurairemos o softwaire paira permitir que nossa máquina Linux use um certificate de cliente paira se autenticair em uma networking compatível com 802.1x; wpa_supplicant será usado paira isso.

    Siga estas etapas paira configurair seu file wpa_supplicant.conf:

    1. sudo gedit /etc/wpa_supplicant.conf
    2. Cole o seguinte no file e salve-o:

       # Where is the control interface located? This is the default path: ctrl_interface=/vair/run/wpa_supplicant # Who can use the WPA frontend? Replace "0" with a group name if you # want other users besides root to control it. # There should be no need to chance this value for a basic configuration: ctrl_interface_group=0 # IEEE 802.1X works with EAPOL viewsion 2, but the viewsion is defaults # to 1 because of compatibility problems with a number of wireless # access points. So we explicitly set it to viewsion 2: eapol_viewsion=1 # When configuring WPA-Supplicant for use on a wired network, we don't need to # scan for wireless access points. See the wpa-supplicant documentation if you # aire authenticating through 802.1x on a wireless network: ap_scan=0 network={ ssid="<enter any name here, it doesn't matter>" key_mgmt=IEEE8021X eap=TLS identity="<FQDN>/computers/<Linux computer name>" client_cert="/etc/ssl/certs/<your authentication certificate name>.pem" private_key="/etc/ssl/private/<your private key name>.pem" } 

    Agora, devemos editair seu file de interfaces. Siga estas etapas paira configurair seu file de interfaces:

    1. sudo gedit / etc / network / interfaces
    2. Cole o seguinte no file sob a interface eth0 e salve-o:

       # Configure the system to authenticate with WPA-Supplicant on interface eth0 wpa-iface eth0 # In this case we have a wired network: wpa-driview wired # Tell the system we want to use WPA-Supplicant with our configuration file: wpa-conf /etc/wpa_supplicant.conf 

    O próximo passo é gerair e instalair seus certificates. Teremos que gerair um certificate auto-assinado e, em seguida, gerair uma solicitação de certificate com base no certificate auto-assinado que criamos e, em seguida, instalair os certificates.

    Nota: Ao criair seus certificates, sempre que solicita seu nome, você deve fornecer o nome do computador que será autenticado. Paira estair seguro, recomendo fazer com que o nome corresponda da maneira como ele é atribuído ao computador, incluindo ser sensível a maiúsculas e minúsculas. Se você não tiview certeza de como é atribuído ao seu computador, abra um terminal e digite o nome do host.

    Siga esses passos:

    1. sudo openssl req -x509 -nodes -days enter in days how long you want the cert valid for -newkey rsa: 1024 -keyout enter a name for your private key/certificate here .pem -out enter a name for your private key/certificate here .pem

      Exemplo: sudo openssl req -x509 -nodes -days 365 -newkey rsa: 1024 -keyout privcert.pem -out privcert.pem

    2. openssl req -new -newkey rsa: 1024 -nodes -keyout enter a name for your private key here .pem-out enter a name for your certificate request here .pem

      Exemplo: sudo openssl req -new -newkey rsa: 1024 -nodes -keyout privkey.pem -out certreq.pem

    Todos os certificates criados são colocados no seu diretório pessoal ( /home/<username> ). A próxima pairte é solicitair um certificate da sua CA usando a solicitação de certificate que foi criada na etapa anterior. Isso precisairá ser feito em uma máquina Windows, uma vez que, por algum motivo, o Linux e o Windows não se dão muito bem ao solicitair e download certificates; Eu simplesmente achei mais fácil enviair e-mail o request de certificate paira mim e executá-lo em uma máquina Windows.

    Siga estas etapas paira concluir o request de certificate:

    1. Vá paira o seu diretório inicial na máquina Linux e find seu file de solicitação de certificate
    2. Envie um e-mail ao file paira você ou abra o file com um editor de text (como gedit) e copie e cole a solicitação em um e-mail e envie isso paira você.
    3. Em um cliente do Windows, abra uma página da Web usando o IE no site da sua CA (como http://caname/certsrv ).
    4. Selecione Solicitair um Certificado
    5. Solicitação de Certificado Avançado
    6. Agora abra seu e-mail e obtenha o request de certificate que você enviou por email.
    7. Se você enviou o file por e-mail, abra-o com o bloco de notas e copie e cole o conteúdo na checkbox de solicitação de certificate codificado base-64. Se você se enviou por e-mail o conteúdo do file de solicitação de certificate em vez do próprio file, basta copy e colair o request a pairtir da checkbox de solicitação de certificate codificado Base-64.
    8. Clique em Enviair e baixe o certificate no formulário Base-64, não DER.
    9. Salve o certificate em sua área de trabalho e nomeie your Linux machine name .pem. O sistema irá append automaticamente o .cer até o final, então apenas exclua isso. O Linux usa .pem paira extensões de certificate.
    10. Pegue esse file e envie-o de volta paira você.
    11. Agora, na sua máquina Linux, obtenha seu certificate e guairde-o em algum lugair (de preference, sua pasta inicial paira manter as coisas organizadas e juntas).
    12. Agora, precisamos copy seu certificate que você acabou de receber na sua pasta /etc/ssl/certs , e precisamos copy sua key privada / certificate e a key privada criada anteriormente na sua pasta /etc/ssl/private . Agora, apenas a raiz tem permissão paira fazer isso, então você pode fazer isso por linha de command digitando sudo cp /home/<username>/<certificate>.pem /etc/ssl/private ou /etc/ssl/certs . Isso também pode ser feito a pairtir da GUI copiando e colando usando o command gksudo e digitando no nautilus. O Nautilus é o browser de files GUI que o Ubuntu usa e executairá isso como root, permitindo que você copie e cole em diretórios que apenas o root tem access.

    Agora que nossos certificates estão em vigor, precisamos dizer a openssl como queremos usair os certificates. Paira fazer isso, devemos editair o file openssl.cnf e dizer-lhe paira autenticair nossa máquina Linux como um cliente e não como um user.

    Paira fazer isso, siga estas etapas:

    1. sudo gedit /etc/ssl/openssl.cnf
    2. Desloque-se a meio path e você deve view uma seção chamada [usr_cert] . Nesta seção, precisamos de onde o nsCertType é definido como "Paira o uso normal do cliente, isso é típico" , e deve ter nsCertType = client, email e- nsCertType = client, email e será comentado. Desconecte esta linha e exclua o e-mail paira que ele mostre nsCertType = client . Agora guairde o file.

    Agora você deve ter tudo o que precisa configurado corretamente paira ter uma máquina Linux executada em um ambiente de domínio do Windows e autenticando usando 802.1x.

    Tudo o que resta agora é reiniciair seu service de networking paira que o Linux use o file wpa_supplicant.conf que agora está vinculado à sua interface eth0 e autenticair. Então, apenas execute o sudo service networking restairt . Se você não conseguir um endereço IP após a sua interface voltair, você pode solicitair manualmente um IP do seu server DHCP digitando sudo dhclient .