Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

어떤 Zimbra SpamAssassin 파일을 수정해야 하나요?

Zimbra Collaboration Suite 8.5 이상 버전에서는 Zimbra 문서에서 SpamAssassin 사용자 지정 규칙 파일을 `.` 디렉터리에 저장하도록 안내하고 있습니다 /opt/zimbra/data/spamassassin/localrules. 확장자가 `.`인 규칙 파일을 .cf해당 디렉터리에 저장할 수 있으며, Zimbra 예제에서는 사용자 지정 규칙을 별도의 파일로 저장합니다. 이전 Zimbra 버전에서는 저장 위치가 다를 수 있으므로 편집하기 전에 서버에서 버전과 디렉터리를 확인하십시오. 패키지 레이아웃은 버전 또는 배포 환경에 따라 다를 수 있습니다.

이 가이드는 사이트 전체에 적용되는 간단한 규칙을 추가하고, 해당 규칙의 구문을 확인하고, 메일 스캔 서비스를 다시 로드하고, 메시지 전달 여부를 확인합니다. 이 가이드는 사용자가 Zimbra MTA를 관리한다고 가정합니다. 여러 MTA 서버를 운영하는 경우, 수신 메일을 스캔하는 각 서버에 파일을 적용하고 SpamAssassin을 다시 로드해야 합니다.

Zimbra의 사용자 지정 SpamAssassin 규칙 가이드에는 로컬 규칙 경로와 zmamavisdctl restart명령이 설명되어 있습니다. 이 스팸 방지 지침은 이전 버전인 ZCS 8 구성과 ZCS 8.5 이상 버전을 구분하여 설명합니다.

사용자 지정 규칙은 무엇을 변경합니까?

SpamAssassin 규칙은 메시지 특징을 감지하고, 기호로 된 규칙 이름을 할당하고, 점수를 부여합니다. SpamAssassin은 이 점수를 다른 테스트 결과와 결합합니다. 그런 다음 Zimbra는 구성된 스팸 처리 임계값을 적용합니다. 규칙 하나만으로는 메시지가 스팸으로 분류되거나 거부되는 것을 보장하지 않습니다. 메시지 점수와 서버 설정도 중요한 요소입니다.

점수를 선택할 때는 이러한 차이점을 고려해야 합니다. 적당한 값으로 시작하여 오탐을 검토하고, 테스트 결과 신호가 신뢰할 만하다고 판단될 때만 값을 높이세요. 스팸 감지에 필요한 점수와 폐기 임계값을 확인하지 않고 다른 예시의 높은 점수를 그대로 복사하는 것은 피해야 합니다.

편집하기 전에 무엇을 확인해야 할까요?

  • 릴리스 및 경로: 사용 중인 Zimbra 버전을 확인하고 해당 파일이 /opt/zimbra/data/spamassassin/localrules존재하는지 확인하십시오. Zimbra 문서에 따르면 이 가이드의 경로는 ZCS 8.5 이상 버전에 적용됩니다. 이전 버전에는 적용되지 않으므로 주의하십시오.
  • 어떤 호스트가 메일을 검사합니까? Amavis/SpamAssassin을 실행하는 모든 MTA를 식별하십시오. 한 서버에 설치된 규칙이 다른 독립적인 MTA에 자동으로 적용되지는 않습니다.
  • 규칙의 의도: 구체적이고 반복 가능한 메시지 신호를 선택하십시오. 추가적인 증거 없이 "무료" 또는 "제안"과 같은 포괄적인 단어와 일치하는 규칙은 피하십시오.
  • 롤백: 파일을 변경하기 전에 기존 파일을 기록해 두십시오. 새 규칙에는 설명적인 새 파일 이름을 사용하고, 기존 .cf파일을 실수로 덮어쓰지 않도록 하십시오.

이는 서버 수준의 사용자 지정 설정이며 사서함 필터가 아닙니다. 구성된 스캐너를 통과하는 모든 사용자의 메일이 영향을 받을 수 있습니다.

간단한 규칙은 어떻게 작성하나요?

headerSpamAssassin은 헤더, 본문 body, uri제목 등의 규칙 유형을 지원합니다 meta. 헤더 규칙은 특정 제목이나 헤더 값이 신호일 때 유용합니다. 본문 규칙은 메시지 내용을 텍스트로 검색합니다. SpamAssassin 설명서에 따르면 일반 본문 규칙은 디코딩된 텍스트를 기반으로 작동하며 기본적으로 제목을 본문의 일부로 간주합니다. 링크에 대한 조건이 필요한 경우에는 URI 규칙을 사용하십시오.

다음은 테스트 메시지의 제목에 고유한 문구가 포함되어 있을 때 작은 점수를 추가하는, 의도적으로 제한적인 예시입니다. 해당 문구를 실제 메일에서 확인한 신호로 대체하십시오. 이 예시는 일반적인 스팸 서명이 아닙니다.

header LOCAL_SUBJECT_REVIEW Subject =~ /\bExample Vendor Alert\b/i
score LOCAL_SUBJECT_REVIEW 2.0
describe LOCAL_SUBJECT_REVIEW Subject contains the review phrase

기호 이름은 고유해야 하며 문자, 숫자 및 밑줄을 사용해야 합니다. 이 header줄은 일치 항목을 정의하고, score일치 시 추가되는 점수를 제어하며, describeSpamAssassin 보고서에 설명을 제공합니다. 설명은 간결하게 작성하고 다른 관리자가 테스트의 목적을 명확하게 이해할 수 있도록 하세요.

SpamAssassin의 구성 참조 문서에는 헤더 및 본문 규칙 구문, 점수 동작, 정규 표현식 세부 정보가 나와 있습니다. 설치된 Zimbra SpamAssassin 버전은 최신 Apache 문서와 다를 수 있으므로, 로컬 환경에서 지원되는지 확인하기 전까지는 최신 규칙 기능을 사용하지 마십시오.

Zimbra 8.5 이상 버전에 규칙을 설치하는 방법은 무엇인가요?

  1. Zimbra 서비스 계정으로 전환할 수 있는 관리자 계정으로 MTA에 연결하세요.
  2. 설치 디렉토리와 로컬 규칙 디렉토리를 확인하세요. 예를 들면 다음과 같습니다.
    su - zimbra
    ls -ld /opt/zimbra/data/spamassassin/localrules
  3. 이미 존재하지 않는 파일 이름을 선택하세요(예: local_subject_review.cf). 먼저 확인하세요.
    ls -l /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
    이미 존재하는 경우, 내용을 확인하고 덮어쓰기 대신 다른 이름을 선택하세요.
  4. 사용자 계정으로 편집기를 사용하여 새 파일을 만들고 zimbra위의 세 줄 규칙을 추가하세요.
    vi /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
  5. 파일을 저장한 다음 소유자와 내용을 확인하세요.
    ls -l /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
    cat /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf

해당 디렉터리가 없는 경우, Zimbra 릴리스 및 문서화된 구성 레이아웃을 중지하고 확인하십시오. 추측된 위치에 유사한 이름의 디렉터리를 생성하지 마십시오. SpamAssassin이 해당 디렉터리를 로드하지 않을 수 있습니다.

어떻게 유효성을 검사하고 다시 로드해야 할까요?

SpamAssassin을 다시 로드하기 전에 구문 검사를 실행하세요. Apache 명령줄 문서에서는 --lint이를 규칙 집합 및 구성 구문 검사로 설명합니다. Zimbra 사용자로, spamassassin --lint해당 실행 파일이 Zimbra 환경에 있는 경우 실행하세요. 명령을 찾을 수 없거나 Zimbra 구성을 로드하지 못하는 경우, 번들로 제공되는 실행 파일을 찾아 해당 릴리스에 맞는 구성 경로를 사용하세요. 관련 없는 시스템 설치를 대상으로 테스트하지 마세요. 린트 검사 결과가 깨끗하다고 ​​해서 구문이 틀렸다는 의미는 아닙니다. 패턴이 의도한 메시지와 일치한다는 것을 보장하는 것은 아닙니다.

SpamAssassin의 명령어 참조에서 lint 옵션에 대해 설명합니다. 유효성 검사가 성공하면 해당 zimbra사용자 계정으로 Amavis를 다시 시작하여 스캐너가 변경된 규칙을 로드하도록 하십시오.

zmamavisdctl restart

Zimbra의 사용자 지정 규칙 예제에서는 이 서비스 명령을 사용합니다. 여러 MTA가 설치된 환경에서는 해당 스캐너마다 파일 배포 및 서비스 재시작을 반복해야 합니다. 사용 중인 릴리스에서 다른 서비스 명령을 사용하는 경우 해당 릴리스의 Zimbra 설명서를 참조하십시오.

규칙이 제대로 작동하는지 어떻게 알 수 있나요?

사용자가 사용하는 동일한 수신 경로를 통해 제어된 테스트 메시지를 전송합니다. 규칙에 명시된 제목 문구를 그대로 사용하여 한 메시지를 전송한 다음, 제목 문구를 제외한 유사한 메시지를 전송합니다. 전송된 메시지의 원래 헤더, 특히 및 점수 기여도를 검사합니다 X-Spam-Status. LOCAL_SUBJECT_REVIEW두 메시지를 비교하고 Zimbra가 각 메시지를 전송한 위치를 검토합니다.

해당 규칙이 의도한 테스트에만 나타나고 총점이 예상대로 처리되는 경우 이 결과는 유용합니다. 테스트 이름이 없는 경우, 메시지가 이 MTA를 통과했는지, 파일 이름이 .로 끝나는지 .cf, 파일이 올바른 localrules 디렉터리에 있는지, 스캐너가 성공적으로 다시 시작되었는지, 그리고 샘플이 실제로 정규 표현식과 일치하는지 확인하십시오. 메일 클라이언트가 일반 보기에서 진단 헤더를 숨길 수 있으므로 메시지 원본 또는 전체 헤더를 열어 확인하십시오.

규칙이 오탐을 발생시키거나 일치하지 않으면 어떻게 될까요?

  • 정상적인 메시지가 너무 많이 일치합니다. 점수를 낮추거나 정규 표현식을 좁히세요. 점수를 높이기 전에 원하는 메일과 원치 않는 메일 예시를 모두 사용하여 테스트하십시오.
  • 일치하는 메시지가 없습니다. 정확한 헤더 이름, 대소문자를 구분하지 않는 정규 표현식, 이스케이프 처리, 파일 확장자, 경로 및 서비스 재시작을 확인하십시오. URL의 경우 uri본문 규칙이 최적의 테스트라고 가정하기보다는 규칙을 평가하십시오.
  • Lint에서 오류가 발생했습니다. 표시된 줄을 수정하고 Lint를 다시 실행한 후 재시작하십시오. 잘못된 사용자 지정 규칙으로 인해 구성 문제가 발생하거나 예상되는 테스트가 로드되지 않을 수 있습니다.
  • 규칙은 표시되지만 메일이 받은 편지함에 남아 있는 경우: 추가된 점수가 설정된 스팸 임계값을 초과하지 않으면 이는 정상적인 현상일 수 있습니다. 전체 X-Spam-Status점수 및 로컬 처리 임계값을 검토하십시오.

롤백하려면 추가한 사용자 지정 파일만 제거한 다음 Amavis를 다시 시작하십시오. 기존 파일을 변경한 경우 저장된 복사본을 복원하고 구성을 검증한 후 다시 로드하십시오. 향후 관리자가 다시 확인할 수 있도록 규칙의 목적, 점수, 테스트 메시지 및 롤백 파일 이름을 포함하는 간단한 변경 로그를 유지하십시오.

버전 및 동작 제한

Zimbra에서 제공하는 경로 지침은 ZCS 8.5 이상 버전을 명시적으로 다루며, 이전 버전에 대해서는 다른 레이아웃을 설명합니다. 번들로 제공되는 SpamAssassin 버전과 임계값은 설치 환경에 따라 다릅니다. 유효한 규칙이라도 메시지 형식, 릴레이, 메일 흐름 경로에 따라 다르게 동작할 수 있습니다. 설치된 릴리스의 문서를 확인하고, 제어된 경로에서 테스트하며, 규칙 텍스트만 보고 판단하기보다는 메시지 헤더와 실제 오탐 샘플을 기반으로 결과를 판단하십시오.

댓글 남기기

ownCloud 서버에서 공개 링크 만료일을 제한하는 방법

ownCloud 서버에서 공개 링크 만료일을 제한하는 방법

ownCloud 서버 공개 링크의 최대 만료일을 설정하고, 해당 만료일이 영향을 미치는 공유 폴더를 파악하고, 오래된 링크를 간과하지 않고 정책을 검증하세요.

Zimbra GAL 자동 동기화 구성 방법 및 작동 여부 확인

Zimbra GAL 자동 동기화 구성 방법 및 작동 여부 확인

Zimbra GAL 자동 동기화를 구성하고, 폴링 간격을 설정하고, 테스트 동기화를 강제로 실행하고, 타임스탬프를 확인하고, 오래된 내부 또는 외부 LDAP 연락처 문제를 해결합니다.

ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

ownCloud Infinite Scale에 대한 LDAP 기반 로그인을 구성하고, 사용자 및 그룹을 매핑하고, 내장 또는 외부 OIDC를 선택하고, 자격 증명을 보호하고, 안전하게 인증을 확인할 수 있습니다.

ownCloud 10 Classic에서 ownCloud Infinite Scale로 마이그레이션하는 방법

ownCloud 10 Classic에서 ownCloud Infinite Scale로 마이그레이션하는 방법

지원되는 migrate-to-ocis 앱을 사용하여 ownCloud Classic 10에서 Infinite Scale로의 마이그레이션을 계획하세요. 전송되는 데이터와 전송되지 않는 데이터, LDAP 필수 조건, 명령어 및 전환 점검 사항에 대해 알아보세요.

Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

Zimbra에서 사용자 지정 SpamAssassin 규칙을 로드하는 위치, .cf 규칙을 작성하고 유효성을 검사하는 방법, Amavis를 재시작하는 방법, 메시지 헤더를 테스트하는 방법, 그리고 안전하게 롤백하는 방법을 알아보세요.

Zimbra CE에서 개별 사서함을 백업하고 복원하는 방법

Zimbra CE에서 개별 사서함을 백업하고 복원하는 방법

zmmailbox를 사용하여 개별 Zimbra CE 사서함을 백업하고 복원할 수 있습니다. 메타데이터가 포함된 ZIP 아카이브를 내보내고, 유효성을 검사하고, 스테이징 계정에서 안전하게 복구를 테스트할 수 있습니다.

ownCloud oCIS에서 사용자별 스토리지 할당량을 구성하는 방법

ownCloud oCIS에서 사용자별 스토리지 할당량을 구성하는 방법

ownCloud Infinite Scale 사용자의 개인 공간 할당량을 설정하는 방법, 이를 프로젝트 공간 및 전역 제한과 구분하는 방법, 그리고 역할별로 신규 사용자에게 기본값을 할당하는 방법을 알아보세요.

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제를 진단하려면 서비스 상태, SIP 및 ESL 리스너, NAT 주소, 방화벽 규칙 및 로그를 확인하십시오.

ownCloud 모바일 앱의 "연결 거부됨" 오류를 해결하는 방법

ownCloud 모바일 앱의 "연결 거부됨" 오류를 해결하는 방법

ownCloud 모바일 앱 연결 거부 오류를 해결하려면 서버 URL, HTTPS 포트, 웹 서버, 방화벽, 프록시, TLS 및 신뢰할 수 있는 도메인을 확인하세요.

자체 호스팅 Matrix 서버에서 사용자 등록을 제한하는 방법

자체 호스팅 Matrix 서버에서 사용자 등록을 제한하는 방법

Synapse에서 새로운 Matrix 계정을 제어하는 ​​다양한 방법을 비교해 보세요. 공개 등록 비활성화부터 사용 제한 토큰 발급까지, 구성 예시 및 확인 방법을 안내합니다.