IT/server

qmail 에서 gmail 네이트 다음 메일 수신 오류 및 문제

Ne...Pa~~~~~ 2017. 2. 2. 12:57

qmail 에서 gmail 네이트 다음 메일 수신 못할 때


오류 내용 : 454 TLS missing certificate: error:0200100D:system library:fopen:Permission denied (#4.3.0)


인증서가 미싱~!되었다나 (기존꺼 있는데 한번 다시 만들어 주자)


인증서 생성


1. 모듈확인

#ldd /var/qmail/bin/qmail-smtpd  (명령으로 ssl 모듈이 추가되어 있는지 확인후 )


2. 키를 생성한다.

#openssl req -newkey rsa:1024 -x509 -nodes -days 3650 -out /var/qmail/control/servercert.pem -keyout /var/qmail/control/servercert.pem

키 생성시 Common Name 은 도메인명을 정확히 기록한다.

 

#위의 명령어 실행시 나오는 내용

Country Name (2 letter code) [GB]:KR

State or Province Name (full name) [Berkshire]:Seoul

Locality Name (eg, city) [Newbury]:Jungu

Organization Name (eg, company) [My Company Ltd]:Company

Organizational Unit Name (eg, section) []:QnA Team

Common Name (eg, your name or your server's hostname) []:서버의 설정된 도메인 명.

Email Address []:관리자 이메일

 

3. 권한변경

#chmod 640 /var/qmail/control/servercert.pem


4. 소유자/그룹변경

#chown vpopmail.vchkpw /var/qmail/control/servercert.pem => 혹은 (qmaild.qmail)


5. 복사

#ln -s /var/qmail/control/servercert.pem /var/qmail/control/clientcert.pem


6. ciphers 만들어주기...

#openssl ciphers > /var/qmail/control/tlsclientciphers

#openssl ciphers > /var/qmail/control/tlsserverciphers

 

pem 파일 내용 확인은 아래와 같다.

#openssl x509 -text -noout -in servercert.pem

 

메일서버를 테스트

#openssl s_client -crlf -starttls smtp -connect localhost:25


위 내용 실행시 에러 없이 인증서 내용 출력되어야 함


그 외 에러 나올시 해당 에러 내용 확인해야함


=====================================================


전 계속 아래 에러 내용이 출력되었음


3086616204:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:794:


해당 내용은 사용하는 openssl 버전이 안맞거나 낮아서 발생하는 에러


전 openssl 0.9 버전 사용중이었는데 1.0.1 버전으로 올려줌


### openssl wget 명령어를 이용한 소스 다운로드

ftp://ftp.openssl.org/source/

에서 확인 및 다운


1. 다운로드 받을 디렉토리 이동

- cd /usr/local/src


2. openssl 다운로드


3. openssl 압축 해제

- tar xzvf openssl-1.0.1


4. 디렉토리 이동

- cd openssl-1.0.1


5. ./config 실행


6. make 및 make install 실행


7. 혹시 모르니 기존 openssl 바이너리 파일 백업

- mv /usr/bin/openssl /root/


8. 새로운 openssl 실행파일 적용

-  ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl


9. openssl 버전 확인

- openssl version ( 1.0.1 버전인지 확인 )


=====================================================


이렇게 버전 업데이트 햇는데도 메일 수신이 안되어


메일 수신 시 덤프를 긁어봄 


tcpdump -nNxXi eth0 -s 0 proto TCP and port 25


오류 내용 발견 : 140B512D SSL_GET_NEW_SESSION


랜덤함수(/dev/random  , /dev/urandom) 관련 파일 권한 문제


ls -l /dev/random

crw------- 1 root sys 144 0x000000 Mar 10 2010 /dev/random

crw------- 1 root sys 144 0x000001 Mar 10 2010 /dev/urandom


권한 변경


chmod 666 /dev/random  or chmod 666 /dev/urandom 


하고 다시 테스트

openssl s_client -crlf -starttls smtp -connect localhost:25



정상적으로 인증서 내용 출력 되고 메일 수신도 됨!

끝 ! 나를 괴롭힌 qmail