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라고도 함) 서버가 올바르게 시작되고 클라이언트가 연결됩니다.