인증을 위해 OSX 키체인과 함께 fetchmail(또는 다른 이메일 그래버)을 어떻게 사용할 수 있나요?

인증을 위해 OSX 키체인과 함께 fetchmail(또는 다른 이메일 그래버)을 어떻게 사용할 수 있나요?

내가 읽은 많은 fetchmail 튜토리얼에서는 이메일 계정 비밀번호를 일반 텍스트로 구성 파일에 넣는 것이 안전하다고 말합니다. 하지만 나는 레이어를 통한 보안을 선호한다[***어리석은 예:* 내 터미널이 작동 중인데 그런 어리석은 이메일을 의심하는 사람이 다가와 간단히 "grep -i pass ~/.*"라고 입력하면 이런, 내 기지가 모두 그 사람의 것입니다! 특히 내 이메일 제공업체가 openid를 사용하는 경우(또는 은행에 동일한 비밀번호를 사용할 만큼 멍청한 경우)]**.

이제 (sendmail과 반대되는) msmtp를 사용하면 OSX 키체인을 사용하여 인증할 수 있습니다. 키체인을 사용할 수 있는(또는 적어도 MD5 비밀번호를 사용할 수 있는) 무료/오픈 소스 이메일 '그래버'가 있습니까?

답변1

POP3를 통해 메일을 검색하는 것으로 충분하다면 우수한 서비스를 살펴보십시오.엠팝. msmtp와 동일한 작성자가 제작했으며 인증 자격 증명 저장을 위한 OSX 키체인도 지원합니다.

IMAP4의 경우 아주 좋은 것을 사용할 수 있습니다오프라인IMAP다음을 사용하여 OSX 키체인에 연결합니다.윌리엄 스노우 오르비스(William Snow Orvis)의 파이썬 후크.

나는 개인적으로 다운로드 속도, 기능 세트, 구성 등으로 인해 fetchmail보다 이러한 도구를 선호하지만 마일리지는 다를 수 있습니다.

답변2

간단한 유틸리티 관점에서 보면 키체인을 사용할 수 있습니다. security(1)추가적인 주의 사항이 있는 매뉴얼 페이지 전체를 읽어보시기를 강력히 권장합니다 .

키체인 프로그램이나 명령줄을 통해 비밀번호를 입력할 수 있습니다.

# WARNING: exposes password in ps(1), history(1), etc.
$ security add-internet-password -a $USER -s pop3.example.com -w 'Mellon!'

다음을 사용하여 이를 추출할 수 있습니다.

# Note: by default, first use will prompt
$ security find-internet-password -s pop3.example.com -a $USER -g

만약 너라면항상 허용, security(1)추가 메시지 없이 이러한 자격 증명을 가져올 수 있습니다. 이는 시스템에 위험을 초래할 수 있습니다. 그러나 시작하기 전에 항상 비밀번호를 묻는 메시지를 표시하도록 선택할 수 있습니다.

마지막으로 이를 사용하여 fetchmail사용할 비밀번호를 설정하는 스프링보드 스크립트로 호출을 래핑할 수 있습니다.

user=$USER
server=pop3.example.com
# WARNING: insecure tmpfile creation and usage
# As [DAM][1] mentions, see mkstemp(3)
tmpfile=/tmp/fetchmailrc.$$ 

password=$(security find-internet-password -s $server -a $USER -g 2>&1 \
           | perl -ne '/password: "(\S*)"/ and print $1')

# create temporary fetchmailrc and pass to fetchmail, etc...
cat <<EoF > $tmpfile
poll $server with proto POP3 and options no dns
  user $user with pass '$password' is $user here 
  options keep mda '/usr/bin/procmail -d %T'
EoF

fetchmail -d -f $tmpfile
rm -f $tmpfile

이것은 비밀번호와 함께 명백한 파일이 남아 있지 않도록 하려는 귀하의 명시된 목표를 달성했지만 저는 그렇게 했습니다.보안 위험에 유의하세요고려해야 할 이 구성이 여전히 존재합니다.

답변3

키체인이 일반 텍스트 비밀번호 해제를 허용하는 경우 가능하지만 서버가 자체 형식(보통 일반 텍스트)으로 MD5 비밀번호를 원하기 때문에 로컬로 MD5 비밀번호를 해제할 수는 없습니다.

답변4

@메디나,

"tmpfile=/tmp/fetchmailrc.$$" 대신 가능하다면 mktemp(1)를 사용하는 것이 좋습니다.

관련 정보