ngircd/xchat SSL 문제

ngircd/xchat SSL 문제

Fedora 18(yum을 사용하여 설치)에서 ngircd IRC 서버를 설정하려고 하는데 SSL 문제가 있습니다. "잘못된 SSL 인증서 허용"을 선택하면 서버에 로컬 및 원격으로 연결할 수 있지만 그렇지 않으면 오류가 발생합니다. IRC 서버에 로컬로 연결하려고 할 때 XChat 출력은 다음과 같습니다.

* Connecting to {domain_name} ({ip_address}) port 6697...
* * Subject: /OU=Domain Control Validated/OU=PositiveSSL/CN={domain_name}
* * Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
* * Subject: /OU=Domain Control Validated/OU=PositiveSSL/CN={domain_name}
* * Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
* * Subject: /OU=Domain Control Validated/OU=PositiveSSL/CN={domain_name}
* * Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
* * Certification info:
*   Subject:
*     OU=Domain Control Validated
*     OU=PositiveSSL
*     CN={domain_name}
*   Issuer:
*     C=GB
*     ST=Greater Manchester
*     L=Salford
*     O=COMODO CA Limited
*     CN=PositiveSSL CA 2
*   Public key algorithm: rsaEncryption (2048 bits)
*   Sign algorithm sha1WithRSAEncryption
*   Valid since Nov  7 00:00:00 2012 GMT to Nov  7 23:59:59 2015 GMT
* * Cipher info:
*   Version: TLSv1/SSLv3, cipher DHE-RSA-AES256-SHA (256 bits)
* Connection failed. Error: unable to verify the first certificate.? (21)

이것은 내 파일의 SSL 부분입니다 ngircd.conf. 구성 파일을 테스트하기 위해 실행했지만 ngircd --configtest파일 내용이 터미널에 인쇄되었습니다.

[SSL]
  CertFile = /etc/pki/tls/certs/{domain_name}.crt
  DHFile = /etc/pki/tls/private/dhparams.pem
  KeyFile = /etc/pki/tls/private/{domain_name}.pem
  KeyFilePassword = {key_file_password}
  Ports = 6697

또한 mIRC를 사용하여 Windows 7 x64 시스템에서 서버에 원격으로 연결하려고 시도했지만 문제가 발생했습니다.

확인할 수는 없지만 Fedora가 GnuTLS로 ngircd를 컴파일하고 내 키가 OpenSSL을 사용하여 생성된 것 같습니다. 그렇다면 키의 형식이 다를까요? 어떻게 확인하고 변환할 수 있나요?

내 컴퓨터 두 대 모두에서 CA 신뢰 문제일 수 있습니까? 그렇다면 이 문제가 발생하지 않도록 Fedora 18 및 Windows 7에서 CA 루트 인증서를 어떻게/어디에 추가할 수 있습니까?

다른 가능한 이유가 있나요? 제가 제공해야 할 다른 정보가 있나요?

답변1

ngircd는 다음 지시어를 지원합니다:

[SSL]
CipherList = @SYSTEM

또한 사용 중인 인증서를 확인하고 싶습니다.

openssl x509 -text -noout -in cert.pem

Let's Encrypt의 경우 fullchain.pem을 사용하고 HexChat을 사용하여 포트 6697에서 SSL을 통해 ngircd에 연결했습니다.

답변2

내 경우에는 인증서가 인증서 파일에 잘못된 순서로 나열되어 ngircd가 제대로 시작되지 않았고 클라이언트에서 다음과 같은 연결 오류가 발생했습니다.

Irssi: warning SSL handshake failed: Connection refused

인증서를 가장 긴 것부터 편집한 후(마지막 루트 CA라고도 함) 서버가 올바르게 시작되고 클라이언트가 연결됩니다.

관련 정보