기술 · 출처 기반 답변
오픈 릴레이(Open Relay)란? 정의와 보안 위험
오픈 릴레이는 인증 없이 제3자가 자신을 통해 이메일을 보낼 수 있도록 설정된 SMTP 서버입니다. 즉, 발신자가 로컬 사용자인지 허가된 클라이언트인지와 관계없이 서버가 모든 출처의 수신 메일을 받아 모든 목적지로 전달합니다.
동작 원리
표준 SMTP 트랜잭션에서 서버는 발신자가 인증되었는지, 또는 수신자가 도메인의 로컬 사용자인지 확인합니다. 오픈 릴레이는 이러한 검사를 건너뜁니다. 원격 클라이언트가 오픈 릴레이에 연결해 외부 주소에 대해 RCPT TO 명령을 실행하면, 서버는 메시지를 수락하고 대상 서버로 릴레이합니다. 이는 알려진 사용자로 메일 흐름을 제한하려는 보안 통제를 우회합니다.
발신자에게 미치는 영향
오픈 릴레이는 스패머가 악성 메일의 출처를 숨기는 데 사용하는 주요 표적입니다. 서버가 오픈 릴레이가 되면 인터넷에 스팸이 빠르게 퍼집니다. 그 결과 서버 IP가 전 세계 RBL(Real-time Blackhole List)에 추가됩니다. 블랙리스트에 등재되면 해당 IP에서 발송한 정상 이메일도 주요 제공업체에서 거부되어 발신자 평판이 무너집니다.
운영상의 실수
오픈 릴레이는 모든 IP 주소에서의 릴레이 허용이나 SMTP AUTH 미적용 같은 잘못된 SMTP 설정 때문에 발생하는 경우가 많습니다. 관리자가 연결 문제를 해결하려다가 실수로 오픈 릴레이를 활성화하기도 합니다. SendHQ 무료 도구(https://sendhq.cc/tools)를 사용하면 서버 보안이 취약할 때 흔히 함께 나타나는 DNS 및 인증 레코드의 설정 누락을 찾아낼 수 있습니다.
구체적인 예시
개발자가 Linux 서버에 Postfix를 설치하고, 테스트를 단순화하려고 모든 IP 주소에서의 릴레이를 허용하도록 설정합니다. 봇넷이 열려 있는 이 포트 25를 발견하고, 이 서버를 통해 피싱 이메일 1,000만 통을 보냅니다. 몇 시간 안에 서버 IP가 스팸 발송원으로 표시되고, 이 서버에서 나가는 모든 정상적인 업무 이메일이 550 오류로 반송되기 시작합니다.
예방 방법
오픈 릴레이를 방지하려면 관리자는 SMTP 서버가 인증된 사용자나 특정 신뢰할 수 있는 IP 범위에 대해서만 메일을 릴레이하도록 설정해야 합니다. SMTP AUTH 확장을 구현하면 서버가 외부 수신자 앞으로 온 메일을 수락하기 전에 사용자 이름과 비밀번호를 요구합니다. 릴레이 권한을 정기적으로 점검하고 트래픽 급증을 모니터링하는 것이 보안 유지에 필수적입니다.
팀에서 자주 묻는 질문
오픈 릴레이와 SMTP 릴레이는 같은 것인가요?
아니요. SMTP 릴레이는 서버 간에 메일을 옮기는 일반적인 기능입니다. 오픈 릴레이는 그 기능을 인증 없이 누구나 사용할 수 있는 특정한 비보안 구성입니다.
내 서버가 오픈 릴레이인지 어떻게 확인하나요?
외부 오픈 릴레이 테스트 도구를 사용하거나, 외부 머신에서 내 서버를 SMTP 게이트웨이로 삼아 제3자 주소로 이메일을 보내 보세요.
SPF나 DKIM으로 오픈 릴레이를 막을 수 있나요?
아니요. SPF와 DKIM은 발신자와 메시지 내용을 인증하지만, 서버가 무단 트래픽을 릴레이하도록 설정되는 것을 막지는 않습니다.
1차 출처
- RFC 5321: 단순 메일 전송 프로토콜(SMTP) — RFC Editor
- RFC 4954: 인증을 위한 SMTP 서비스 확장(SMTP Service Extension for Authentication) — RFC Editor
- M3AAWG 모범 사례(Best Common Practices) — M3AAWG