Centos 6 A autenticação EAP falha quando o wpa_supplicant é iniciado como um serviço

3

Quando inicio wpa_supplicant como um serviço sudo service start wpa_supplicant (e o mesmo problema se estiver em um arquivo de inicialização), meu laptop não se conectará a uma rede EAP, com erros em /var/log/wpa_supplicant como:

1478280999.154045: OpenSSL: pending error: error:2006D002:BIO routines:BIO_new_f
ile:system lib
1478280999.154052: OpenSSL: pending error: error:0B084002:x509 certificate routi
nes:X509_load_cert_crl_file:system lib
1478280999.154062: OpenSSL: tls_load_ca_der - Failed load CA in DER format error
:0200100D:system library:fopen:Permission denied
1478280999.154068: OpenSSL: pending error: error:20074002:BIO routines:FILE_CTRL
:system lib
1478280999.154074: OpenSSL: pending error: error:0B06F002:x509 certificate routi
nes:X509_load_cert_file:system lib
1478280999.154079: TLS: Failed to set TLS connection parameters
1478280999.154085: EAP-TLS: Failed to initialize SSL.
1478280999.154091: EAP: Failed to initialize EAP method: vendor 0 method 13 (TLS
)
1478281000.477040: CTRL-EVENT-EAP-FAILURE EAP authentication failed
1478281002.477915: Authentication with 6c:f3:7f:af:fb:62 timed out.
1478281002.493367: CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:00 reason=0
1478281002.993907: Failed to initiate AP scan.
1478281003.994183: Failed to initiate AP scan.
1478281004.994662: Failed to initiate AP scan.
1478281005.558072: Trying to associate with 6c:f3:7f:af:fb:72 (SSID='eduroam' fr
eq=5825 MHz)
1478281005.561055: Association request to the driver failed
1478281005.569691: Associated with 6c:f3:7f:af:fb:72
1478281005.573148: CTRL-EVENT-EAP-STARTED EAP authentication started
1478281005.845088: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=13
1478281005.845239: OpenSSL: tls_connection_ca_cert - Failed to load root certifi
cates error:0200100D:system library:fopen:Permission denied
1478281005.845268: OpenSSL: pending error: error:2006D002:BIO routines:BIO_new_f
ile:system lib
1478281005.845291: OpenSSL: pending error: error:0B084002:x509 certificate routi
nes:X509_load_cert_crl_file:system lib
1478281005.845326: OpenSSL: tls_load_ca_der - Failed load CA in DER format error
:0200100D:system library:fopen:Permission denied
1478281005.845348: OpenSSL: pending error: error:20074002:BIO routines:FILE_CTRL
:system lib
1478281005.845368: OpenSSL: pending error: error:0B06F002:x509 certificate routi
nes:X509_load_cert_file:system lib
1478281005.845383: TLS: Failed to set TLS connection parameters
1478281005.845425: EAP-TLS: Failed to initialize SSL.
1478281005.845446: EAP: Failed to initialize EAP method: vendor 0 method 13 (TLS
)
1478281007.073725: CTRL-EVENT-EAP-FAILURE EAP authentication failed
1478281009.074324: Authentication with 6c:f3:7f:af:fb:72 timed out.

A seguir, a parte relevante do meu /etc/wpa_supplicant/wpa_supplicant.log :

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=1

network={
    ssid="eduroam"
    proto=RSN
    key_mgmt=WPA-EAP
    pairwise=CCMP
    group=CCMP
    eap=TLS
    identity="[email protected]"
    ca_cert="/home/chris/cert/ca.crt"
    client_cert="/home/chris/cert/cert.pem"
    private_key="/home/chris/cert/key.pem"
    private_key_passwd="LONGPASSWORD"
    priority=10
}

E meu /etc/sysconfig/wpa_supplicant :

# Use the flag "-i" before each of your interfaces, like so:
#  INTERFACES="-ieth1 -iwlan0"
INTERFACES="-iwlan0"

# Use the flag "-D" before each driver, like so:
#  DRIVERS="-Dwext"
DRIVERS="-Dwext"

# Other arguments
#   -u   Enable the D-Bus interface (required for use with NetworkManager)
#   -f   Log to /var/log/wpa_supplicant.log
#   -P   Write pid file to /var/run/wpa_supplicant.pid 
#        required to return proper codes by init scripts (e.g. double "start" action)
#        -B to daemonize that has to be used together with -P is already in wpa_supplicant.init.d
#   -t   include timestamp in debug messages
OTHER_ARGS="-f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid -t"

As redes abertas funcionam bem e todas as redes funcionam bem se eu executar wpa_supplicant manualmente, como sudo wpa_supplicant -Dwext -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -B .

Editar: Algumas informações extras - eu consegui acessar as redes WPA2-PSK muito bem, então, de fato, parece ser específico do EAP-TLS.

    
por Chris 04.11.2016 / 18:55

2 respostas

2

Foi um problema com as permissões do SELinux: executar o comando chcon -t NetworkManager_var_run_t nos certificados corrigidos.

    
por 29.11.2016 / 01:16
0

A pasta /home/chris/cert/ está acessível para o root? Além disso, com base em este :

Esta pasta está criptografada? você pode tentar mover seus certs para algum outro lugar?

    
por 22.11.2016 / 11:05