Estou procurando usar minha estação de trabalho linux na rede de nossa empresa, mas já estou enfrentando alguns problemas, especificamente o 802.1xi.
Eu sou root na minha máquina e um administrador de domínio do Windows, por isso devo poder acessar o que for necessário para que isso funcione. Atualmente, minha máquina Linux tem conectividade restrita, o que me leva a acreditar que foi colocada em uma vlan padrão para clientes que não sejam 802.1x.
Acho que minha pergunta geral é: como posso fazer com que minha máquina Linux use 802.1x na rede com fio do Windows? A rede é um domínio típico do Windows e usa contas de máquina e contas de usuário.
Isto é o que eu sei e tentei até agora:
Eu acredito que eu vou precisar para obter um certificado válido máquina do cliente para a máquina, o certificado CA para o domínio, e a chave privada para o cliente
Ideia 1: pegue uma chave válida de uma máquina Windows / domínio CA Eu executei uma VM do Windows na máquina Linux e associei-a ao domínio, pensando que isso produziria um certificado de cliente válido que eu poderia pegar na máquina Linux. - para esse fim, exportei o certificado do cliente e o certificado ca do servidor windows ca, depois os converti para o formato PEM, pronto para o gerenciador de rede no linux (assumindo que o PEM não seja o DER). - Tentei exportar a chave privada na própria VM do Windows usando certmgr, mas foi marcada como não exportável :-(
A idéia 2 era powerbroker ... - Usei o powerbroker aberto (formalmente da mesma forma) para associar a máquina linux ao domínio, agora o getent passwd mostra todos os usuários do domínio. - Meu pensamento era que isso colocaria um certificado de cliente e uma chave privada no sistema em algum lugar (/ etc / ssl / certs?), Mas não consigo encontrar nada
Ideia 3, pergunte a alguém que sabe o que está realmente fazendo.
Devo salientar que originalmente esta máquina linux tinha janelas (que eu p2v'd na instalação do linux), então eu sei que o comutador de rede está configurado corretamente e o MAC etc é aceito na rede; Tenho certeza de que é apenas um problema 802.1x
Edit: esqueci totalmente de mencionar seu fedora 21 xfce spin, 64bit.
fonte
Respostas:
Más notícias, pessoal! Parece que há um bug não corrigido no Fedora 21: A conexão com fio com o 802.1x PEAP / MSCHAPv2 não está funcionando . Portanto, embora a resposta abaixo possa funcionar para outras distros, atualmente os usuários do Fedora 21 estão sem sorte.
Nunca tentei isso sozinho, mas este post parece conter uma explicação bastante detalhada para configurar o 802.1x entre o cliente Linux e o domínio do Windows. Observe a parte da solicitação de certificado: deve resolver seu problema de certificado não exportável. As versões do software são bastante antigas (o Ubuntu é 8.04 e o Power Broker da Beyond Trust ainda é o mesmo ), mas a ideia básica parece sólida para mim.
Formatei a postagem acima para facilitar a leitura. A citação faz com que as caixas de código fiquem cinza sobre cinza, então eu o soltei, desculpe:
Isenção de responsabilidade: Este guia foi escrito da perspectiva da distribuição Linux Ubuntu 8.04. Para fazer isso funcionar com outras distribuições Linux ou Unix, algumas mudanças podem precisar ser feitas.
As duas principais coisas necessárias para a sua máquina Linux se autenticar em 802.1x são um certificado de cliente e uma conta no domínio do Windows. Durante o processo de autenticação, o cliente Linux apresenta seu certificado de computador ao comutador, que por sua vez o apresenta ao servidor RADIUS que verifica o certificado e verifica a conta de computador à qual o certificado está atribuído no Active Directory. Se o certificado e a conta do computador forem válidos, o servidor RADIUS aprovará a solicitação de autenticação enviando-a de volta ao switch, que por sua vez autentica a porta à qual a caixa do Linux está conectada.
A primeira coisa que precisa ser feita é associar o computador Linux ao domínio do Windows. Como o Linux não pode ingressar nativamente em um domínio do Windows, precisamos fazer o download do software necessário para permitir isso. Da mesma forma, cria um software que nos permite fazer exatamente isso. Para instalar isso no Ubuntu, é muito simples, basta seguir estas etapas:
enter the FQDN of your domain here
enter your admin account here
, você pode usar o formato[email protected]
. Você também deve poder usar a versão da GUI acessandoSystem → Administration → Likewise.
Se você não estiver executando o Ubuntu, faça o download do software aqui http://www.likewisesoftware.com/products/likewise_open . Agora você pode sair e fazer login novamente usando sua conta de domínio. Acredito que tanto o formato
[email protected]
quanto o domínio \ usuário funcionem. Vou testar isso mais tarde.Existem três arquivos localizados na máquina Linux que devem ser configurados corretamente para que essa autenticação ocorra. Esses três arquivos são:
Primeiro, configuraremos o software para permitir que nossa máquina Linux use um certificado de cliente para autenticar em uma rede habilitada para 802.1x;
wpa_supplicant
será usado para isso.Siga estas etapas para configurar seu arquivo wpa_supplicant.conf:
Cole o seguinte no arquivo e salve-o:
Agora devemos editar seu arquivo de interfaces. Siga estas etapas para configurar seu arquivo de interfaces:
Cole o seguinte no arquivo sob a
eth0
interface e salve-o:O próximo passo é gerar e instalar seus certificados. Teremos que gerar um certificado autoassinado, depois gerar uma solicitação de certificado com base no certificado autoassinado que criamos e depois instalar os certificados.
Nota: Ao criar seus certificados, sempre que solicitar seu nome, você deve fornecer o nome do computador que será autenticado. Para garantir a segurança, recomendo que o nome corresponda à maneira como é atribuído ao computador, incluindo a distinção entre maiúsculas e minúsculas. Se você não souber como está atribuído ao seu computador, abra um terminal e digite o nome do host.
Siga esses passos:
sudo openssl req -x509 -nodes -days
enter in days how long you want the cert valid for
-newkey rsa: 1024 -keyoutenter a name for your private key/certificate here
.pem -outenter a name for your private key/certificate here
.pemExemplo: sudo openssl req -x509 -nodes -days 365 -newkey rsa: 1024 -keyout privcert.pem -out privcert.pem
openssl req -new -newkey rsa: 1024 -nodes -keyout
enter a name for your private key here
.pem - saídaenter a name for your certificate request here
.pemExemplo: sudo openssl req -new -newkey rsa: 1024 -nodes -keyout privkey.pem -out certreq.pem
Todos os certificados criados são colocados no seu diretório pessoal (
/home/<username>
). A próxima parte é solicitar um certificado da sua CA usando a solicitação de certificado criada na etapa anterior. Isso precisará ser feito em uma máquina Windows, pois, por algum motivo, o Linux e o Windows não se dão muito bem ao solicitar e baixar certificados; Achei mais fácil enviar a solicitação de certificado por e-mail para mim mesma e executá-la em uma máquina Windows.Siga estas etapas para concluir a solicitação de certificado:
http://caname/certsrv
).your Linux machine name
denomine .pem. O sistema anexará automaticamente.cer
ao final dele, então exclua isso. O Linux usa .pem para extensões de certificado./etc/ssl/certs
pasta e precisamos copiar sua chave / certificado e chave privada criados anteriormente na sua/etc/ssl/private
pasta. Agora, somente o root tem permissão para fazer isso; portanto, você pode fazer isso pela linha de comando, digitandosudo cp /home/<username>/<certificate>.pem /etc/ssl/private
ou/etc/ssl/certs
. Isso também pode ser feito a partir da GUI, copiando e colando, usando o comando gksudo e digitando nautilus. O Nautilus é o navegador de arquivos da GUI que o Ubuntu usa e o executará como root, permitindo copiar e colar em diretórios aos quais somente o root tem acesso.Agora que nossos certificados estão em vigor, precisamos informar ao openssl como queremos usar os certificados. Para fazer isso, precisamos editar o arquivo openssl.cnf e solicitar que ele autentique nossa máquina Linux como cliente e não como usuário.
Para fazer isso, siga estas etapas:
[usr_cert]
. Nesta seção, precisamos de onde onsCertType
é definido como "Para uso normal do cliente, isso é típico" , e deve ternsCertType = client, email
e será comentado. Remova o comentário desta linha e exclua o email para que ele seja exibidonsCertType = client
. Agora salve o arquivo.Agora você deve ter tudo o que precisa configurado corretamente para ter uma máquina Linux executando em um ambiente de domínio do Windows e autenticando usando 802.1x.
Tudo o que resta agora é reiniciar o serviço de rede para que o Linux use o
wpa_supplicant.conf
arquivo que está vinculado à suaeth0
interface e se autentique. Então apenas corrasudo service networking restart
. Se você não obtiver um endereço IP após o retorno da interface, poderá solicitar um IP manualmente do servidor DHCP digitandosudo dhclient
.fonte