OPENSSL 및 NMAP을 사용하여 원격 IMAP/SMTP 호스트 연결 문제 해결을 위한 팁

OPENSSL 및 NMAP을 사용하여 원격 IMAP/SMTP 호스트 연결 문제 해결을 위한 팁

저는 이메일 받은 편지함 통합 기능을 갖춘 회사에 기술 지원을 제공합니다. 사용자는 IMAP 및 SMTP 호스트 이름과 포트를 입력할 수 있으며, 우리는 해당 포트와 호스트 이름에 대한 연결을 열어 사용자가 우리 소프트웨어를 통해 자신의 이메일 주소에서 이메일을 보낼 수 있도록 시도합니다. 클라이언트가 IMAP을 통해 연결을 시도할 때 클라이언트의 이메일 서버가 입력된 정보를 허용하지 않기 때문에 연결을 거부하는 "권한 없음" 오류가 표시되는 경우가 많습니다.

클라이언트는 종종 자신의 서버가 연결을 허용하지 않는 이유를 모르고 나에게 추가 통찰력을 요청합니다. 연결이 끊어지는 이유를 해결하기 위해 일반적으로 다음을 사용합니다.

nmap imap.theirserver.com

서버에서 필터링되지 않은 포트를 확인하세요. 내가 사용하는 다른 명령은 다음과 같습니다.

openssl s_client -connect imap.theirserver.com:port
openssl s_client -crlf -showcerts -starttls imap(or smtp) -connect imap.theirserver.com:port  (if the port is unencrypted)

나는 가끔 dig를 사용하여 도메인/DNS에 대한 정보를 확인합니다. 이 명령은 해당 포트가 제대로 암호화되었는지 여부에 대한 정보를 제공합니다(비밀번호가 비어 있는 경우, 포트 143/587/25가 시작해야 할 때 starttls를 실행 중인 경우, 포트가 필터링되지 않은 경우, IMAP 및 SMTP 인증서가 일치하는지, 포트가 제대로 암호화되었는지 여부). 연결이 완전히 거부되었습니다. ) 그리고 그 이상은 없습니다.

보안상의 이유로 내가 소유하지 않은 서버는 연결이 거부된 이유를 공개적으로 알려주지 않기 때문에 여기에서 찾을 수 있는 정보가 제한되어 있다는 것을 알고 있습니다. 하지만 고객이 받은 편지함을 연결하는 데 도움이 되는 문제 해결 전략/전략을 개발하는 데 도움을 줄 수 있는 사람이 있습니까? 연결이 거부되는 이유를 확인하는 데 사용할 수 있거나 방화벽/기타 보안이 있는지, 프록시가 있는지 또는 포트가 전혀 열려 있지 않은지 확인하는 데 도움이 될 수 있는 다른 명령이 있습니까? (또는 연결이 실패할 수 있는 다른 이유를 아는 사람이 있다면 매우 도움이 될 것입니다!)

예: 나는 이런 것을 자주 본다.

140735820493760:error:0200203C:system library:connect:Operation timed 
out:crypto/bio/b_sock2.c:108: 140735820493760:error:2008A067:BIO 
routines:BIO_connect:connect error:crypto/bio/b_sock2.c:109:  
connect:errno=60

시간 초과가 서버 연결에 어떤 영향을 미치는지 잘 모르겠습니다.

이 일을 시작하기 전에는 기술적인 배경 지식이 없었기 때문에 이러한 질문이 컴퓨터 과학 지식이 더 많은 사람에게 분명할 수도 있고 내 용어가 올바르지 않은 경우 사과드립니다! 이 내용이 너무 모호한 경우 자세한 내용을 제공해 드리겠습니다. 이에 대한 교육 자료도 매우 도움이 될 것입니다. 찾기가 어렵기 때문입니다. 감사합니다!

관련 정보