메일 서버 진단은 올바른 이메일 작업을 보장하는 데 중요한 역할을 합니다. 이를 통해 이메일 메시지 전송, 수신 및 처리와 관련된 문제를 식별하고 해결할 수 있습니다. 진단의 핵심 요소 중 하나는 스팸, 바이러스 및 기타 보안 위협으로부터 보호해주는 메일 서버의 필터 사용입니다.
이 문서에서는 메일 서버 작업을 옆에서 확인하는 데 도움이 되는 외부 서비스와 서버에서 직접 진단을 실행할 수 있는 내부 도구를 모두 고려합니다. 예를 들어 모든 작업은 사설 서버 Ubuntu 20.04.6 OS에서 구동되고 Postfix와 Dovecot 형태의 구성된 솔루션이 적용되지만, 제시된 방법은 거의 모든 운영 체제와 메일 클라이언트에 적용할 수 있습니다.
메일 서버 검사를 위한 온라인 서비스
첫 번째이자 가장 중요한 단계는 외부 온라인 서비스를 사용하여 검증하는 것입니다. 이렇게 하면 메일 서버에서 노출, SPF, DKIM 및 DMARC 설정을 확인하고 이메일이 전송된 IP 주소의 평판도 확인할 수 있습니다. 대부분의 경우 이러한 도구만 사용하면 원하는 결과를 얻을 수 있습니다.
주요 검증 서비스와 그 기능을 자세히 살펴보겠습니다.
MxToolBox 거의 모든 사용 가능한 메일 서버 매개변수를 확인할 수 있습니다. 이 서비스는 모든 도메인 레코드, 일반 도메인 가용성, SSL 인증서, IP 주소 상태 등을 확인하는 도구를 제공합니다. 진단하려면 다음으로 이동해야 합니다. 서비스 페이지, IP 주소 또는 도메인을 입력하고 필요한 도구를 선택하여 검사를 실행하세요.
사용 가능한 모든 도구의 자세한 목록은 스크린샷에 표시됩니다.
위에서 보듯이, 이 웹사이트는 또한 블랙리스트에 IP/도메인이 있는지 확인합니다. 모든 주요 소스가 확인됩니다: Spamhaus, Barracuda, SURBL 및 기타 여러 소스. 주소가 데이터베이스에 있는 경우, 이 서비스는 블랙리스트에 오른 이유에 대한 정보를 제공합니다. 이렇게 하면 문제를 해결하기 위한 조치를 취할 수 있습니다.
메일테스터 메일 서버를 확인하는 데 두 번째로 인기 있는 도구입니다. 이 서비스를 사용하면 사용자가 고유한 주소로 테스트 이메일을 보낸 다음 보낸 메시지의 품질에 대한 자세한 보고서를 받을 수 있습니다. MxToolBox와 달리 이 리소스는 메일 서버를 진단하는 데 초점을 맞추지 않고 이메일을 개선하는 데 초점을 맞춥니다. 그러나 이는 이 서비스가 발신자 서버에 대한 전체 분석을 수행할 수 없다는 것을 의미하지는 않습니다. 메일 배달을 테스트하고, 연구를 수행하고, 메일 서비스 전체를 개선하기 위한 권장 사항을 제공합니다.
확인을 완료하려면 다음으로 이동하세요. 리소스 웹사이트 이메일을 보내고 싶은 고유한 이메일 주소를 얻으세요. 제출한 후 "평가 확인"을 선택하고 페이지가 새로 고쳐질 때까지 기다려야 합니다. 좋은 결과는 다음과 같습니다.
문제가 있거나 권장 사항이 있는 경우 해당 서비스에서는 보고서의 해당 섹션에 이를 보고합니다.
위에서 언급한 서비스는 메일 서버를 측면에서 완전히 검사하기에 충분합니다. 이를 통해 이메일 배달의 잠재적 문제를 식별하고, 보안 설정을 확인하고, 가능한 오류를 해결하기 위한 권장 사항을 받을 수 있습니다. 다음으로, 서버 측에서 테스트를 수행합니다.
메일 서버 설정 확인
DNS 레코드 확인
메일 서버 측에서 가장 흔한 문제 중 하나는 잘못된 DNS 레코드 구성입니다. 앞서 언급한 타사 서비스를 통해 해당 레코드의 정확성을 확인할 수 있습니다. 그러나 어떤 경우에는 이메일이 타사 사서함에 전달되지 않을 수 있습니다. 이 경우 모든 항목을 수동으로 확인해야 합니다. 이를 위해 DNS 편집기로 이동하여 확인을 시작합니다. 예를 들어 다음을 소스 데이터로 사용해 보겠습니다. 도메인 profit.com, IP 주소 11.22.33.44, 여기서 @는 등록 기관에서 이 양식 작성을 허용하지 않는 경우 도메인 이름으로 사용할 수 있습니다. 값을 원하는 대로 변경하는 것을 잊지 마세요. 값을 원하는 대로 변경하는 것을 잊지 마세요.
A 기록 메일 서버의 IP 주소를 정의합니다. 간단히 말해서, 도메인을 메일 서버 주소로 보냅니다. 다음과 같아야 합니다.
| 타입 | 주인 | 가치관 | TTL |
| A | @ | 11.22.33.44 | 1 분 |
MX 기록 메일 서버에서 가장 중요한 것은 메일 전달 경로를 담당한다는 것입니다. 즉, 메일을 사서함으로 보냅니다.
| 타입 | 주인 | 가치관 | TTL |
| MX | @ | 메일.프로핏.com | 1 분 |
SPF 레코드 특정 도메인에서 이메일을 보낼 수 있는 서버를 가리킴. 참고: TXT로 게시됩니다. 가능한 값 중 하나만 표시됩니다.
| 타입 | 주인 | 가치관 | TTL |
| TXT | @ | v=spf1 ip4:11.22.33.44 -all | 1 분 |
DKIM 레코드는 이메일의 진위성을 확인하는 데 사용됩니다. 생성된 내용을 포함해야 합니다. 공개 키. 마찬가지로 값 옵션 중 하나만 표시됩니다.
| 타입 | 주인 | 가치관 | TTL |
| TXT | s1._도메인키.수익.com | v=DKIM1; k=rsa; p=QWIOJNDSLUB… | 1 분 |
DMARC 녹음은 다음이자 마지막 보호 단계입니다. 통과되지 않은 이메일에 적용됩니다. SPF 및 DKIM 체크 무늬.
| 타입 | 주인 | 가치관 | TTL |
| TXT | _dmarc.profit.com | v=DMARC1; p=없음; pct=100; rua=mailto:[이메일 보호] | 1 분 |
또한 메일 서버의 가장 중요한 기록 중 하나는 PTR 레코드. 그것은 반대 방향으로 작동한다고 할 수 있습니다. 기록즉, IP 주소를 도메인과 연결합니다. 이 유형의 레코드는 호스팅 제공자의 기술 지원에 요청을 통해서만 추가할 수 있으며 다음 명령으로 확인할 수 있습니다. nslookup IP, 여기서 IP는 서버 주소입니다. 응답에는 연결된 도메인이 표시되어야 합니다.
포트 체크
닫힌 포트에 문제가 있으면 메일 서버가 완전히 오작동할 수도 있습니다. 우선, 공급자 측에서 필요한 포트에 제한이 있는지 공급자에게 명확히 해야 합니다. 우리는 클라이언트를 어떤 포트에서든 열린 포트 수로 제한하지 않습니다. 전용 or 가상 서버. 그러나 많은 호스팅 서비스 제공업체의 행동은 다릅니다.
미리 설치된 프로그램을 사용하여 열려있는 포트를 확인할 수 있습니다. NETSTAT 유틸리티. 명령을 입력하면 충분합니다:
netstat – nat
SMTP/IMAP/POP3 서버가 설치되고 구성되면 해당 개방 포트가 표시됩니다.
스크린샷에서 볼 수 있듯이 주요 메일 클라이언트 포트는 다음과 같이 열려 있습니다. SMTP (25) / IMAPS (143) / POP3S (110, 995). 각 포트별로 메일 서비스를 개별적으로 확인할 수도 있습니다. 텔넷 도구가 도움이 될 것입니다. POP3, 즉 포트 110의 예를 살펴보겠습니다.
telnet mail.yourdomain.com 110
우리는 도구를 종료합니다 출구 명령을 내리고 동일한 원칙에 따라 나머지 필요한 포트를 확인합니다. 이 도구는 추가 인터페이스를 사용하지 않고도 이메일 전송을 테스트할 수 있는 기회도 제공합니다. 이는 사용자가 서버만 설정하고 로컬로 메일을 보낼 계획인 경우에 유용할 수 있습니다.
포트를 여는 데 어려움이 있는 경우 설치된 방화벽에 주의해야 합니다. 대부분의 배포판에는 다음이 포함되어 있습니다. iptables/방화벽 사전 설치.
럭셔리 iptables에 우리는 다음 명령을 사용합니다:
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
방화벽의 경우:
firewall-cmd --permanent --add-port=25/tcp
firewall-cmd --permanent --add-port=110/tcp
firewall-cmd --permanent --add-port=995/tcp
firewall-cmd --permanent --add-port=143/tcp
firewall-cmd --permanent --add-port=993/tcp
어떤 경우에는 SMTP 서비스가 올바른 작동을 위해 465번과 587번 포트를 열어야 할 수도 있습니다. 이러한 포트를 여는 것도 같은 방식으로 이루어집니다. 새 규칙을 추가한 후 방화벽 서비스를 다시 시작합니다.
메일 서버의 SSL/TLS 인증서 확인
SSL/TLS 인증서는 메일 클라이언트와 서버 간의 안전한 데이터 전송을 보장하기 위해 메일 서버에서 사용되며, 발신자의 메일 서버 자체의 신뢰성을 확인하여 중간자 공격 가능성을 제거합니다. 그러나 메일을 보내거나 받는 데 문제가 발생할 수도 있습니다. 진단을 시작하려면 서버 측에 인증서가 설치되어 있는지 확인해야 합니다. 다음 명령으로 인증서가 있는지 확인해 보겠습니다.
openssl s_client -showcerts -server mail.profit.com -connect IP:port
이 명령에서 값을 사용자 고유 값으로 바꿔야 합니다.메일.프로핏.com"는 메일 서버의 주소입니다. IP:포트 서버 데이터입니다. 예를 들어 포트를 확인해 보겠습니다. 993에 속하는 IMAP 프로토콜. 다른 프로토콜도 같은 방식으로 검사됩니다.
이에 응답하여 서버는 인증서 데이터를 보내야 합니다.
대부분의 메일 클라이언트는 인증서를 자동으로 설치합니다. 그러나 어떤 경우에는 인증서를 수동으로 릴리스하고 특정 클라이언트에 추가해야 합니다. 다른 플랫폼은 개별 설치 및 구성을 요구할 수 있으므로 특정 솔루션에 대한 지침을 참조하는 것이 좋습니다. 다음을 사용하는 것이 좋습니다. 암호화하자. 인증서로 사용하고, 설치 및 구성을 위한 보조 도구로 Certbot을 사용합니다.
로그 확인
마침내, 우리는 대부분의 경우에 도움이 되는 해결책을 찾았습니다. 바로 메일 서버 로그를 확인하는 것입니다. 대부분의 사용자는 자신의 문제에 대한 해결책이 없다고 생각하며 스스로를 속입니다. 그러나 최신 메일 클라이언트는 로그에 많은 양의 정보를 저장합니다.
- 메일을 보내고 받은 날짜와 시간.
- 보낸 사람과 받는 사람의 주소.
- 스팸 및 바이러스에 대한 결과를 필터링합니다.
- 메일을 보내고 받는 대기열의 상태입니다.
- 메일 서버와 관련된 관리자 및 사용자의 작업(예: 사서함 만들기, 삭제, 설정 변경).
- 이메일 처리 및 전달 과정에서 발생한 오류 및 문제.
대부분 명령의 로그가 저장되는 표준 디렉토리는 다음 위치에 있습니다: //var/log/. 사용된 솔루션에 따라 특정 로그 파일의 이름이 다를 수 있습니다. 예를 들어, mail.log 파일은 Postfix와 동일한 디렉토리에 있습니다. 이 진단 방법을 무시하고 메일 클라이언트 성능 저하의 첫 징후가 나타나자마자 로그를 사용하는 것은 권장하지 않습니다. 설명서를 읽어보세요. 리눅스 로그를 읽는 방법.
메일 서버 확인 방법 이해
우리는 메일 서버에 대한 자세한 진단을 수행했습니다. 테스트하는 동안 자세한 조사를 위한 온라인 도구와 가능한 문제를 감지하기 위한 로컬 솔루션이 모두 영향을 받았습니다. 필요한 모든 테스트를 수행한 후, 메일 서버의 현재 상태에 대한 완전한 그림과 잠재적 어려움을 제거하기 위한 권장 사항을 얻었습니다.