OS [Linux]Postfix 설명 및 설정
페이지 정보
작성자 LeeHyongDong 아이디로 검색 전체게시물 댓글 0건 조회 12,378회 좋아요 0회 작성일 22-02-28 11:15본문
0. 테스트 환경
- RHEL
7.9
- Centos 7.9
1. Postfix 소개
Postfix는 전자메일을 송수신하는 무료 오픈소스 메일 전송 에이전트(MTA)로 IBM의 보안 전문가가 만든 메일 서비스이다.
최초의 postfix는 뉴욕의 IBM Thomas J.Watson Research Center에서 Wietse Venema에 의해 1997년에 작성되었으며
1998년 12월에 처음 발매된 postfix는 2021년을 기점으로 제작자 및 기타 기여자들에 의해 적극적으로 개발되고 있다.
RHEL 5버전까지 Sendmail이 기본 메일서버 데몬으로 설치되었으나 RHEL 6버전 이후 Postfix가 기본 메일서버로 사용되고있다.
2. Postfix와 sendmail의 비교점
1. Postfix는 sendmail에 비해 비교적 손쉬운 설정이 가능하다.
2. postfix는 sendmail과 비교했을때 보안측면에서 뛰어나게 설계 되었다.
3. Postfix는 빠른 메일 처리속도를 염두에 두고 설계되어 sendmail에 비해 메일 송수신 속도가 빠르다.
3. Postfix 포트
기본 SMTP 포트는 25번 포트를 사용하며
SSL 보안 적용시 465포트를 사용한다.
4. Postfix 설치
Postfix는 RHEL, CentOS의 경우 기본으로 설치되어 따로 설치할 필요가 없다.
5.Postfix 설정
postfix는 기본 설정 파일에 많은 설정값이 있지만 메일서버를 구축할때 변경하는 설정을 위주로 설명함.
/etc/postfix/main.cf 설정
- host 및 domain설정
myhostname = posttest # 내 호스트네임
mydomain = posttest.co.kr # 내 도메인 네임
myorigin = $mydomain # 도메인 네임을 사용하여 메일을 송수신 할경우 mydomain 설정
inet_interfaces = all # 모든 interface의 메일을 수신
inet_protocols = all # ipv4와 ipv6 설정
- mydestination 설정
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
메일을 최종 목적지 설정으로 해당 설정에서 $mydomain값을 제거하면 외부 메일의 수신이 안된다.
- mynetworks 설정
mynetworks_style = host
mynetworks = 192.168.11.0/24, 127.0.0.0/8
mynetworks는 신뢰할 수 있는 네트워크로 해당 네트워크 주소로 들어오는 메일을 허용한다.
mynetworks_style은 총 3개의 설정으로 class, subnet, host가 있으며
class는 동일한 IP 클래스에서 들어오는 SMTP 클라이언트 메일을 수신
subnet은 로컬 시스템과 동일한 하위 IP 네트워크에 있는 SMTP 클라이언트 메일 수신
host는 로컬 SMTP 클라이언트 메일만 수신
하지만 mynetworks의 설정이 우선으로 처리되어 mynetworks_style의 설정은 무시될 수 있다.
- relay 설정
relay_domains = $mydestination
"신뢰할 수 있는" 클라이언트(IP 주소는 $mynetworks와 일치)에서 모든 대상으로,
"신뢰할 수 없는" 클라이언트에서 $relay_domains와 일치하는 대상으로 또는 발신자 지정 라우팅이 있는 주소를 제외한 하위 도메인.
기본 relay_domains 값은 $mydestination 이다.
- home_mailbox
user의 홈 디렉토리에 수신 메일 저장폴더 지정 (마지막 / 필수)
기본 설정 이외 추가 설정
- postfix 배너 설정
# smtpd telnet 접속하면 보여주는 배너
smtpd_banner = mytest banner
- 메일 수신함과 메시지 사이즈 설정 (defaults)
message_size_limit = 10485760
mailbox_size_limit = 1073741824
따로 설정을 하지 않을 경우 유저당 메일박스가 50M 메일 사이즈가 10M로 제한된다.
# 이후 dovecot과 연동설정을 위한 사용자 인증설정
smtpd_sasl_type = dovecot # sasl 인증 대상
smtpd_sasl_path = private/auth # dovecot 인증 방식
smtpd_sasl_auth_enable = yes # Postfix SMTP 서버에서 SMTP 인증을 활성화
smtpd_sasl_security_options = noanonymous
# 항상 최소한 noanonymous옵션을 설정하십시오. 그렇지 않으면 Postfix SMTP 서버가 낯선 사람에게 제대로 인증된 클라이언트와 동일한 권한을 부여할 수 있습니다.
smtpd_sasl_local_domain = $myhostname # 도메인 부분이 없는 SASL 로그인 이름에 도메인 이름(또는 기타 문자열)을 추가할 수 있습니다
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
# SASL 인증 SMTP 클라이언트가 원격 대상으로 메일을 보낼 수 있습니다.
메일 테스트
- 테스트 메일
mail -s "email test" <테스트 메일 받을 주소>
mail 명령어로 발신이 정상인지 확인
입력후 Ctrl+D 입력 하여 발송
- 메일 수신
메일함을 확인해보면 정상적으로 메일이 온것을 확인할 수 있다.
댓글목록
등록된 댓글이 없습니다.