최소 접미사 master.cf

최소 접미사 master.cf

현재 또 다른 Postfix MTA를 배포 중이며 이번에는 master.cf불필요한 서비스를 줄이고 비활성화하여 잠재적인 공격 표면을 줄이고 프로세스에 대해 더 잘 이해하고 싶습니다.

MTA는 가상 사용자로부터 이메일을 수신하여 적절한 maildir로 전달하고 마지막으로 인증된 사용자로부터 메일을 중계해야 합니다.

OpenSMTPd(전체 구성을 단일 15줄 파일로 표현할 수 있음)로 전환하는 것은 현재로서는 불가능하므로(milter 지원 없음) Postfix를 사용하고 있습니다.

문제의 공포:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache

최소 구성을 설명하는 매뉴얼 페이지는 없으며 각 서비스의 매뉴얼 페이지는 모듈이 필요한지 여부를 실제로 알려주지 않습니다. 끝없는 시행착오).

현재 실패한 시도는 다음과 같습니다(제출 포트는 생략되었으며 지금은 메일 배달만 작동시키려고 합니다).

smtp inet n - - - - smtpd
cleanup unix n - - - 0 cleanup
qmgr unix - - - 300 1 qmgr
rewrite unix - - - - - trivial-rewrite
proxymap unix - - - - - proxymap
virtual unix - n - - - virtual
anvil unix - - - - 1 anvil
local unix - n - - - local

수신된 모든 메일은 Postfix를 다시 시작할 때만 (maildir로) 전달된다는 점만 제외하면 작동합니다. 그리고 저는 이것이 불완전하고 반송을 처리할 수 없다고 확신하므로 여전히 답변을 찾고 있습니다.

답변1

나는 당신에게 서비스를 제거하는 것을 권장하지 않습니다기본 master.cf. 당신은 최소한의 구성을 시도했을 때 그것에 물렸습니다.

postfix에 많은 서비스가 있는 이유 중 하나는보안. 장점 중 하나는 특정 작업을 수행하기 위해 별도의 데몬/서비스로 실행되는 postfix입니다. 따라서 postfix는 masterpostfix 서비스별로 권한과 권한을 조정할 수 있습니다. 예를 들어qmgr(8) 데몬외부 세계와 통신하지 않으며 chrooted 환경에서 고정된 낮은 권한으로 실행될 수 있습니다.

어쨌든 비활성화할 수 있는 postfix 서비스가 무엇인지 알기 위해 끝없는 시행착오를 겪을 시간이 없습니다. 그래서 일부 서비스에 대한 정보를 제공하고 이를 여러 그룹별로 그룹화합니다.

# INPUT SERVICE
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup

# PROCESSING SERVICE
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite

# OUTPUT SERVICE
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp

# HELPER
# Generate bounce
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce

# For postfix recipient/sender verification See www.postfix.org/ADDRESS_VERIFICATION_README.html
verify    unix  -       -       n       -       1       verify

# Outgoing Connection manager 
scache    unix  -       -       n       -       1       scache

# TLS Cache Manager
tlsmgr    unix  -       -       n       1000?   1       tlsmgr

# maintains statistics about client connection counts or client request rates
anvil     unix  -       -       n       -       1       anvil

# Needed by mailq command
showq     unix  n       -       n       -       -       showq

# Needed by postqueue -f
flush     unix  n       -       n       1000?   0       flush

# Proxymap
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap

관련 정보