O postfix não consegue ler ssl certs no local padrão devido à política do SELinux no CentOS 6.7

0

Eu instalei e configurei o postfix para usar certificados SSL para enviar e-mails externos por meio de um relé. Esta configuração funcionou em várias outras máquinas Ubuntu / Centos. Eu tenho meus certificados em:

/etc/ssl/certs/

e minha configuração de postfix é como sempre:

/etc/postfix

a linha crucial em main.cf é:

smtp_tls_CAfile = /etc/ssl/certs/AddTrustExternalCARoot.crt

Quando eu inicio o postfix, recebo um erro no maillog:

Mar 17 11:55:36 clarity postfix/smtp[14878]: cannot load Certificate Authority data: disabling TLS support

Mar 17 11:55:36 clarity postfix/smtp[14878]: warning: TLS library problem: 14878:error:0200100D:system library:fopen:Permission denied:bss_file.c:169:fopen('/etc/ssl/certs/AddTrustExternalCARoot.crt','r'):

Mar 17 11:55:36 clarity postfix/smtp[14878]: warning: TLS library problem: 14878:error:2006D002:BIO routines:BIO_new_file:system lib:bss_file.c:174:

Mar 17 11:55:36 clarity postfix/smtp[14878]: warning: TLS library problem: 14878:error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib:by_file.c:279:

Isso me levou ao log de auditoria do SELinux, onde eu vejo:

type=AVC msg=audit(1489751736.280:1341): avc: denied { read } for pid=14878 comm="smtp" name="AddTrustExternalCARoot.crt" dev=dm-0 ino=2228876 scontext=unconfined_u:system_r:postfix_smtp_t:s0 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file

Então, tentei seguir as instruções aqui para criar uma nova política que permita a leitura do certificado em Localização padrão. Infelizmente ainda não funcionou, o mesmo erro (s). Mudei o certificado para o diretório de configuração postfix /etc/postfix , atualizado main.cf, reiniciei o postfix e agora está tudo bem. Minha pergunta é como eu deveria ter criado uma política do SELinux para permitir que o postfix leia certificados instalados fora do seu diretório de configuração?

Obrigado

    
por siloko 17.03.2017 / 12:56

1 resposta

1

Eu sugiro que você execute restorecon -Rv /etc/ssl/ na máquina.

Parece que você moveu o arquivo do seu diretório pessoal sem restaurar o contexto do arquivo, como você pode ver na negação

    
por 17.03.2017 / 16:45