Ec2 postfix (1)

문학적인유사성·2022년 7월 9일
0

misc.

목록 보기
4/31

25번 포트 추가 하고나서 linux에 postfix 설정 start!

[참고0] http://www.postfix-jp.info
[참고1] https://oxynotes.com/?p=4646#google_vignette
[참고2] https://monkeycomputer.tistory.com/entry/Postfix-메일서버-사용자-인증


cyrus sasl 설치

[참고3] http://www.postfix.org/SASL_README.html#server_cyrus

$ yum install cyrus-sasl
$ cd /etc/sasl2 
$ cat smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login
$ systemctl start saslauthd
$ yum install cyrus-sasl-plain

ssl인증서 생성

$openssl req -new -x509 -nodes -out postfix.pem -keyout postfix.pem -days 365
country Name : JP
state or province name : Tokyo
Locality Name : Tokyo
Organization : company name
organization unit : part
common name : example.co.jp

설정 파일 편집

  1. vi /etc/postfix/main.cf
# 그냥 주석 해제하고 밑에다가 적으면 되는 부분 
myhostname = example.co.jp  # 호스트 이름을 설정 
mydomain = example.co.jp # 로컬 인터넷 도메인 이름 지정
myorigin = $mydomian  # 로컬로 보낸 메일이 어떤 도메인에서 오는 것으로 보이는지 지정
inet_interfaces = all # postfix가 기다리는 인터페이스, 디폴트는 localhost로 내부 교환만 가능하게 되어있음. all로 지정해서 외부와 상호작용 가능하게 만들기 
mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost, $mydomain # +추가하고싶은 A레코드
#메일서버에는 다른 서버에서 온 메일을 중계하는 기능이 있는데, 자신 주소를 설정하지 않으면 메일 루프가 일어난다고 .....
mynetworks = 192.168.0.0/24, 127.0.0.0/8 #자신의 서버를 나타내는  IP를 설정, 부정릴레이에 위험이 있으니 필수!!!!
relaydomains = $mydestination # 릴레이를 허용하는 주소
home_mailbox = Maildir/ #사용자 이름당 메일을 하나의 파일로 저장
smtpd_banner = $myhostname ESMTP unkown # 보안 관점으로 버전 숨기기

# SMTP 인증 설정하기 ( 뒷부분에 추가해야되는 부분)  
smtpd_sasl_auth_enable = yes # 활성화
smtpd_sasl_security_options = noanonymous # 익명 사용자 접근 제한 
smtpd_sasl_local_domain = example.co.jp # 접근자 설정시 도메인 사용 가능 
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination 
#릴레이 관련 설정 mynetwork지정된 사람만, sasl인증된 사람만, 자신에게 혹은 자신으로부터 인경우만 허가 
smtpd_sasl_path=smtpd
smtpd_relay_restrictions = permit_auth_destination, permit_sasl_authenticated

#SSL 설정 하기 (뒷부분에 추가해야되는 부분)
smtpd_tls_security_level=may
smtp_use_tls=yes
smtpd_use_tls=yes
smtp_tls_note_starttls_offer=yes
smtpd_tls_loglevel=1
smtpd_tls_cert_file=/etc/pki/postfix/postfix.pem
smtpd_tls_key_file=/etc/pki/postfix/postfix.pem

# 뒷부분에 추가 
message_size_limit = 10485760 # 메일 최대 크기 
  1. vi /etc/postfix/master.cf
코맨트 삭제 부분 tls와 sasl인증을 위해서 아래 두개 삭제 

smtp      inet  n       -       n       -       -       smtpd
#smtp      inet  n       -       n       -       1       postscreen
#smtpd     pass  -       -       n       -       -       smtpd
#dnsblog   unix  -       -       n       -       0       dnsblog
#tlsproxy  unix  -       -       n       -       0       tlsproxy
#submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=may
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=permit_sasl_authenticated,reject
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       n       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes

설정 끝나고 나면

# echo -ne '\0usrname\0usrpasswd' | base64
~~~~~~~
# telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 example.co.jp ESMTP unkown
auth plain ~~~~~~~여기다가 넣기 
235 2.7.0 Authentication successful
MAIL FROM:~~~~@example.co.jp
250 2.1.0 Ok
RCPT TO:~~~~~~@gmail.com
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
subject: HOMEPAGE TEST
TEST
.
250 2.0.0 Ok <- OK 라는 뜻, 이거나오면 잘되는 것! 
quit
221 2.0.0 Bye
profile
Are you nervous? Don't be

0개의 댓글