Postfix 만 사용하여 수신 메일의 첨부 파일을 차단하는 방법은 무엇입니까?


9

Postfix와 Dovecot을 실행하는 메일 서버 (CentOS 6.5)가 있습니다

Postfix는 25 번 포트에서 인바운드 메일을 수신하고 587은 아웃 바운드 메일을 수신하고 있습니다.

문제는 PDF 첨부 파일이있는 인바운드 메일 만 차단하려는 경우 PDF 첨부 파일이있는 아웃 바운드 메일이 차단되고 있다는 것입니다.

main.cf 에이 구성 줄이 있습니다.

 mime_header_checks = regexp:/etc/postfix/blocked_attachments

blocking_attachments 파일에는 다음이 포함됩니다.

/name=[^>]*\.(pdf|zip)/ REJECT

따라서 PDF 첨부 파일이있는 수신 메일은 올바르게 차단되지만 PDF로 이메일을 작성할 때 시도하고 보낼 때도 차단됩니다.

수신 첨부 파일 만 필터링하도록 postfix에 알리려면 어떻게해야합니까? 아니면 내가 놓친 것이 있습니까?

답변:


7

나는 당신의 질문이 다음과 같이 다시 쓰여질 것입니다 :

smtpd (포트 25) 및 제출 (포트 587)에 다른 _header_checks를 어떻게 사용합니까?

이 정식 문제는 몇 가지 조건으로 나눌 수 있습니다

  1. smtpd 또는 제출 중 하나에 대해 header_checks를 끄고 싶습니다.
  2. smtpd 및 제출에 대해 다른 header_checks를 실행하고 싶습니다.

1. smtpd 또는 제출 중 하나에 대해 header_checks를 끄고 싶습니다.

예를 들어 제출을 위해 header_checks를 끄고 싶다고 가정합니다 (보내는 이메일) .

해결 방법 1 : receive_override_options 방법

receive_override_options 라는 postfix 매개 변수를 사용할 수 있습니다 . 이 매개 변수를 사용하면 전역 header_check 스위치를 재정의 할 수 있으므로 필터가 실행되지 않습니다. # main.cf header_checks = pcre : / path / to / header_checks

#master.cf
submission inet n       -       n       -       -       smtpd
    -o receive_override_options=no_header_body_checks

주의 사항 : man 5 header_checks에 정의 된 모든 _header_checks 및 body_checks가 해제됩니다 . 꺼질 매개 변수의 완전한 제어에 대해서는 솔루션 2를 참조하십시오.

해결 방법 2 : 여러 정리 서비스 방법

우리는 할 수있는 다중 정리 서비스 기술 로 문제 *_header_checks에 의해 수행되었다 정리 서비스를 제공합니다. amavisd-new tutorial 에서이 설정의 예를 볼 수 있습니다 .

이 구성의 마법 매개 변수는 cleanup_service_name 입니다. 이 매개 변수를 사용하면 각 smtpd 프로세스마다 다른 정리 서비스를 사용할 수 있습니다. 먼저 master.cf에 추가 정리 서비스 (헤더 없음 점검)를 하나 정의합니다.

no-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=

이 정리에서는 필터링을 비활성화하기 위해 빈 mime_header_checks를 정의합니다. 마지막 단계는 제출 서비스에 헤더 없음 확인을 사용하도록 지시하는 것입니다.

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=no-headerchecks 

2. smtpd 및 제출에 대해 다른 header_checks를 실행하고 싶습니다.

이 문제의 경우 위에서 설명한대로 다중 정리 서비스 방법을 사용할 수 있습니다.

먼저 master.cf에 추가 정리 서비스 (두 번째 헤더 검사라고 함)를 하나 정의합니다.

second-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=pcre:/path/to/2ndheaderchecks

이 정리에서는 두 번째 mime_header_checks를 다른 PCRE 테이블에 정의합니다. 마지막 단계는 제출 서비스에게 두 번째 헤더 확인을 사용하도록 지시하는 것입니다.

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=second-headerchecks

노트 :

  • 귀하의 사례는 이 질문 과 유사 합니다. 불행히도 Laurentiu Roescu의 답변은 smtp를 전송으로 사용 하는 발신 메일에 대해 header_checks를 활성화하려는 경우에만 작동합니다 . 좋은 소식은 cleanup데몬 에 대한 그의 첫 문장 이 두 번째 해결책에 대한 아이디어를 제공한다는 것입니다.

  • 에 다른 header_checks, body_checks 및 기타 매개 변수를 정의하려는 경우 다중 정리 서비스 방법을 적용 할 수 있습니다 man 5 header_checks.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.