Dikemas Kini 1 bulan lalu
IMAP 이전에는 받은 편지함이 하나의 '장소'였습니다. 컴퓨터 한 대에 존재했고, 이메일을 읽으려면 그 컴퓨터 앞에 가야 했습니다. 직장 데스크톱에서 메시지를 다운로드하면, 그 메시지는 다른 모든 곳에서 사라졌습니다. 노트북에서는 볼 수 없었고, 스마트폰은 아직 존재하지 않았지만, 설령 있었다 해도 소용없었을 것입니다.
이것이 POP3—Post Office Protocol이었습니다. 메일 서버는 우체국 사서함 같았습니다. 직접 찾아가서 우편물을 집어 들고 집으로 가져오는 방식이었죠. 한 번 다운로드하면 메시지는 서버에서 사라졌습니다. 컴퓨터 한 대만 쓴다면 괜찮지만, 두 대를 쓰고 싶어지는 순간 쓸모없어졌습니다.
IMAP은 정반대의 방식을 택했습니다. 메시지는 항상 서버에 남습니다. 이메일 클라이언트는 메일을 다운로드하는 것이 아니라 '보는' 것입니다. 영화를 다운로드하는 것과 Netflix에서 스트리밍하는 것의 차이를 생각해보세요. 영화는 한 곳에 존재하지만, 어떤 화면에서도 볼 수 있습니다.
이 방식은 이메일을 물리적인 장소에서 하나의 '개념'으로 바꾸었습니다. 스마트폰에서 이메일을 읽으면, 노트북에서도 읽음으로 표시됩니다. 태블릿에서 폴더를 만들면, 모든 기기에 나타납니다. 웹메일에서 무언가를 삭제하면, 모든 기기에서 사라집니다.
이 모든 일이 포트 143에서 일어납니다.
IMAP의 작동 방식
이메일 클라이언트가 포트 143에 접속하면, 메일 서버와 대화를 시작합니다. 이것은 단순한 연결 확인이 아닙니다—몇 시간씩 열려 있을 수 있는 지속적인 연결입니다.
먼저 클라이언트가 인증을 합니다. 사용자 이름과 비밀번호(또는 OAuth 토큰)를 전송하여 접근 권한이 있음을 증명합니다.
그런 다음 무엇이 있는지 확인합니다. "어떤 폴더가 있나요? 받은 편지함에 메시지가 몇 개인가요? 마지막으로 확인한 이후 새로운 것은 무엇인가요?" 서버는 현재 사서함 상태로 응답합니다.
그 후에는 무엇이든 할 수 있습니다. 본문 전체를 다운로드하지 않고 메시지 헤더만 가져오거나, 폴더 간에 메시지를 이동하거나, 특정 조건에 맞는 이메일을 검색하거나, 읽음 또는 별표 표시를 할 수 있습니다. 모든 작업은 서버에서 이루어집니다. 클라이언트는 다른 곳에 존재하는 메일을 들여다보는 창일 뿐입니다.
IDLE 명령어: 스마트폰 알림이 즉시 오는 이유
IDLE 없이는 이메일 클라이언트가 서버에 계속 물어봐야 했습니다. "새 메일 있어요? 지금은요? 이제는요?" 이런 폴링 방식은 대역폭을 낭비하고, 배터리를 소모하고, 그래도 지연이 생깁니다.
IDLE은 이 관계를 뒤집습니다. 클라이언트가 서버에 말합니다. "기다리고 있을게요. 뭔가 생기면 알려주세요." 그리고 기다립니다. 연결은 열린 채로, 침묵 속에서, 거의 아무것도 소비하지 않습니다.
새 이메일이 도착하는 순간, 서버는 기다리고 있는 클라이언트에게 즉시 알립니다. 지연도 없고, 불필요한 폴링도 없습니다.
이것이 푸시 이메일입니다. 마법이 아닙니다—기다릴 줄 아는 클라이언트와 때맞춰 말할 줄 아는 서버가 있을 뿐입니다.
어디든 따라오는 폴더
IMAP은 메시지만 동기화하는 것이 아닙니다—전체 폴더 구조를 동기화합니다. 노트북에서 "Work/Projects/2024"를 만들면, 스마트폰에도 나타납니다. 태블릿에서 메시지를 그 폴더로 이동하면, 모든 기기에서 이동이 반영됩니다.
이 프로토콜은 파일 시스템처럼 폴더를 계층 구조로 다룹니다. 서버는 구분자(보통 "/"나 ".")를 사용해 폴더를 중첩시켜, 모든 클라이언트에 완벽하게 복제되는 깊은 구조를 만들어냅니다.
IMAP은 특수 목적 폴더도 정의합니다. 클라이언트가 어느 폴더가 휴지통인지 보낸 편지함인지 추측할 필요 없이, 서버가 직접 알려줍니다. "이게 임시 보관함이에요. 이게 스팸함이에요." 폴더 이름이 프랑스 서버에서 "Brouillons"라고 되어 있어도, 스마트폰은 임시 보관함이 어디인지 압니다.
포트 143의 문제점
포트 143을 통해 전송되는 모든 것은 평문으로 이동합니다. 비밀번호, 메시지, 전체 이메일 기록—네트워크를 감시하는 누구든 읽을 수 있습니다.
카페 Wi-Fi에서 공격자가 로그인 정보를 가로채 나중에 계정에 접근할 수 있습니다. 당신이 읽는 모든 메시지를 읽을 수 있습니다. 메시지가 당신에게 도달하기 전에 내용을 수정할 수도 있습니다.
이것은 이론적인 이야기가 아닙니다. 포트 143은 신뢰할 수 없는 네트워크에서는 절대 사용해서는 안 됩니다.
포트 993: 암호화된 버전
포트 993은 IMAPS—첫 번째 바이트부터 TLS 암호화로 감싸진 IMAP을 사용합니다. 협상도 없고, "암호화되지 않은 상태로 시작해서 나중에 업그레이드"도 없습니다. 즉시 암호화되고, 암호화된 상태를 유지합니다.
로그인 정보가 보호됩니다. 메시지 내용은 외부인이 읽을 수 없습니다. TLS 인증서는 가짜 서버가 아닌 실제 서버와 통신하고 있음을 검증합니다.
현대적인 이메일 서비스는 기본적으로 포트 993을 사용합니다. 많은 서비스에서 포트 143을 완전히 비활성화했습니다. 이메일 클라이언트가 올바르게 설정되어 있다면, 이미 암호화를 사용하고 있을 것입니다—굳이 잘못 설정하지 않는 이상 위험에 노출되지 않습니다.
포트 143이 여전히 존재하는 경우
일부 조직에서는 네트워크 자체가 신뢰할 수 있고 암호화 오버헤드가 문제가 되는 내부 네트워크를 위해 포트 143을 유지합니다. TLS를 처리할 수 없는 레거시 시스템에서 필요할 수 있습니다. 암호화되지 않은 트래픽을 직접 볼 수 있어 테스트에 유용할 때도 있습니다.
모두 예외적인 경우들입니다. 인터넷을 통한 일반적인 이메일에는 포트 993만이 책임감 있는 선택입니다.
IMAP이 바꾼 것
"클라우드"라는 말이 쓰이기 전에, IMAP은 우리의 받은 편지함을 하드 드라이브에서 서버로 옮겼습니다. 이메일을 어디서나, 어떤 기기에서도 접근할 수 있게 만들었고, 언제나 떠났던 자리 그대로 이어서 볼 수 있었습니다.
포트 143은 그 기능을 제공합니다. 포트 993은 안전하게 제공합니다. 같은 프로토콜, 같은 기능—하나는 전송하는 모든 것을 노출시키고, 다른 하나는 보호합니다.
보호되는 쪽을 사용하세요.
IMAP에 관한 자주 묻는 질문
이메일이 모든 기기에 나타나는 이유는 무엇인가요?
IMAP은 메시지를 한 기기에 다운로드하는 대신 서버에 보관합니다. 모든 기기가 동일한 서버에 연결하여 동일한 사서함을 봅니다. 한 기기에서 메시지를 읽거나, 삭제하거나, 정리하면 그 변경사항이 서버에 반영되고 모든 곳에서 동일하게 보입니다.
포트 143과 포트 993의 차이점은 무엇인가요?
두 포트 모두 동일한 기능으로 IMAP을 실행합니다. 포트 143은 모든 것을 평문으로 전송합니다—네트워크에 있는 누구든 읽을 수 있습니다. 포트 993은 연결을 TLS 암호화로 감싸서 도청자로부터 로그인 정보와 메시지를 보호합니다.
포트 143을 사용해야 할 때가 있나요?
인터넷이나 신뢰할 수 없는 네트워크에서는 안 됩니다. 비밀번호와 접근하는 모든 이메일이 그대로 노출됩니다. 대신 포트 993을 사용하세요. 포트 143의 유일한 합법적 용도는 암호화 오버헤드가 문제가 되고 네트워크 자체가 보안이 유지되는 격리된 내부 네트워크에서입니다.
새 이메일이 오면 스마트폰이 즉시 알 수 있는 방법은 무엇인가요?
이메일 앱은 IMAP의 IDLE 명령어를 사용하여 서버와 연결을 계속 유지합니다. "새 메일 있어요?"를 반복해서 묻는 대신, "뭔가 생기면 알려주세요"라고 말하고 기다립니다. 메일이 도착하는 순간, 서버는 기다리고 있는 앱에 즉시 알립니다.
Adakah halaman ini membantu?