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 / 790121
Accepted
JeremyCanfield
JeremyCanfield
Asked: 2016-07-16 12:13:36 +0800 CST2016-07-16 12:13:36 +0800 CST 2016-07-16 12:13:36 +0800 CST

OpenSSL Nenhum certificado de cliente apresentado (SMTP, Postfix)

  • 772

Usei o OpenSSL para criar uma chave privada e um certificado público autoassinado. Em seguida, criei um arquivo de Autoridade de Certificação que contém a chave privada e o certificado público (mail.example.com.pem). Em um computador cliente na LAN, eu uso o OpenSSL para conectar ao Postfix na porta 587 (SMTP) e digo ao OpenSSL para usar o arquivo da Autoridade de Certificação (mail.example.com.pem).

openssl s_client -connect mail.example.com:587 -starttls smtp -CAfile /etc/pki/tls/private/mail.example.com.pem

Isso produz um pouco de saída. Incluído na saída está o certificado público do arquivo da Autoridade de Certificação.

insira a descrição da imagem aqui

Depois de todo o TLS, certificado e outras informações de segurança, tenho um cursor piscando, então tento dizer Olá ao Postfix.

EHLO mail.example.com

Este comando produz "nenhum certificado de cliente apresentado."

insira a descrição da imagem aqui

Isso é estranho, porque posso ver literalmente o certificado público na saída anterior. Tenho a sensação de que estou perdendo algo conceitual aqui. Por exemplo, preciso dizer ao cliente para enviar ou usar o certificado público? O certificado público no servidor Postfix é diferente de um certificado de cliente?

Objetivo: Meu objetivo geral é configurar o Postfix para criptografar e-mails em vez de enviar e-mails sem criptografia.

Aqui está a saída do comando postconf -n :

data_directory = /var/lib/postfix
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailbox_command =
mydestination = example.com, localhost.example.com, localhost
mynetworks_style = host
queue_directory = /var/spool/postfix
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = no
smtpd_sasl_path = private/auth
smtpd_tls_CAfile = /etc/pki/tls/mail.example.com.pem
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/pki/tls/mail.example.com.crt
smtpd_tls_key_file = /etc/pki/tls/mail.example.com.key
smtpd_tls_loglevel = 3
smtpd_tls_req_ccert = yes
smtpd_tls_security_level = encrypt
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_cache
smtpd_tls_session_cache_timeout = 3600s
tls_random_exchange_name = /var/lib/postfix/prng_exch
tls_random_source = dev:/dev/urandom
smtp postfix openssl tls
  • 1 1 respostas
  • 3947 Views

1 respostas

  • Voted
  1. Best Answer
    Michael Hampton
    2016-07-16T17:41:15+08:002016-07-16T17:41:15+08:00

    Você definiu smtpd_tls_req_ccertem sua configuração do Postfix.

    Esta diretiva exige que todos os clientes tenham um certificado de cliente emitido por você para esse cliente específico. Conexões SMTP de entrada para o seu servidor são permitidas apenas de hosts pré-aprovados.

    Isso claramente não é o que você quer. Você está tentando receber e-mail de toda a Internet e não pode emitir certificados de cliente para todos os servidores SMTP do mundo.

    Primeiro, remova essa diretiva e tente novamente. Você pode ter outros problemas, mas este é o que está causando o problema imediato.

    • 4

relate perguntas

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