집에 설치되어 있는 넷기어 유무선 라우터가 최근 iPhone과 iPad의 접속이 매끄럽지 못하고 접속을 튕겨내는 등의 작동이 이상해서 라우터의 로그를 메일로 받아볼 필요가 생겼다. 넷기어 라우터 셋팅에 SMTP서버와 사용자 ID를 설정하면 주기적으로 메일을 받아 볼 수 있는 기능이 있는데 SSL/TLS는 지원하지 않기 때문에 직접 GMail로 메일을 받아 보기 위해서 몇가지 작업이 필요했다. 로컬네트워크에 보안기능이 없는 SMTP서버를 설치하고 다시 GMail로 퍼워드 시키는 방법도 있기는 하지만 가장 간편한 방법으로 stunnel을 택했다. stunnel은 보안기능이 구현되어 있지 않은 네트워크 종단에 암호화 통신을 제공하는 일종의 Proxy다.
[1] 넷기어라우터 —-(plain)—> GMail (SSL/TLS)
[2] 넷기어라우터 —-(plain)—> 로컬메일서버(SMTP)/퍼워드 —-(SSL/TLS)—-> GMail
[3] 넷기어라우터 —-(plain)—> stunnel —-(SSL/TLS)—-> GMail
#1. stunnel.pem 생성
개인키와 자체인증서를 만든다.
openssl genrsa -out ./private.pem
openssl req -new -x509 -key private.pem -out ./cacert.pem -days 1095
private.pem과 cacert.pem의 바디를 stunnel.pem으로 합친다.
#2. stunnel 셋업
중략
cert = /Users/xxxx/stunnel.pem
중략
[smtps]
accept = 25
connect = smtp.gmail.com:465
#3. stunnel 실행
sudo stunnel ./stunnel.conf