스팸 방지 · 2 min read · Oct 24, 2025
그레이리스트 - Debian 및 Ubuntu에서 Postgrey와 Postfix로 스팸 방지하기
그레이리스트에 대해 들어본 적이 있나요?
스팸이 귀하의 받은 편지함에 도달하는 것을 방지하는 방법은 여러 가지가 있으며, 가장 인기 있는 방법은 아마도 SpamAssassin일 것입니다. 그레이리스트는 SA와 같은 스팸 필터링 소프트웨어를 대체하지는 않지만, 스팸에 대한 강력한 첫 번째 장벽 역할을 하여 시스템에 들어오는 스팸의 양을 줄이는 데 기여합니다. 이는 Postfix의 다른 모든 스팸 방지 기능에 추가로 보아야 합니다.
받은 편지함의 스팸 양을 줄이는 명백한 이점 외에도, 바이러스 스캐너와 SpamAssassin의 작업량을 줄여줍니다. 스팸 필터링과 바이러스 스캔은 CPU 집약적인 작업이며, 문 앞에서 스팸을 차단하면 하드웨어 요구 사항이 줄어들어 비용을 절감할 수 있습니다.
그레이리스트는 간단히 말해 누군가 귀하의 메일 서버에 메일을 전달하고자 할 때 - 나중에 다시 오세요 - 라고 응답하는 것을 의미합니다. 이는 모든 RFC 준수 메일 서버가 수행하는 작업이며, 다시 돌아오면 메일이 수락됩니다. 대부분의 스팸 발송자와 스팸 소프트웨어는 준수하지 않으며 다시 시도할 만큼 인내심이 없습니다. 이 방법이 얼마나 효과적인지 놀랄 것입니다. 어쨌든 아래 링크를 따라가면 이에 대해 정말 배울 수 있습니다. 항상 장단점이 있으니 프로덕션 서버에 적용하기 전에 숙고하세요.
그레이리스트의 여러 구현이 있으며 대부분의 서버에서 수행할 수 있습니다. Debian에서 Postgrey와 함께 MTA로 Postfix를 실행하는 방법을 보여드리겠습니다. 이 가이드의 단계는 Debian 3.1 (sarge)부터 8 (jessie)까지 모든 Debian 버전에서 작동합니다.
Postgrey 설치하기
작동하는 Postfix 설치가 있다고 가정합니다.
apt-get을 사용하여 Postgrey를 설치하면 요구 사항이 자동으로 처리됩니다. 그러나 소스에서 설치하는 경우 수동으로 확인해야 합니다.
Postgrey의 요구 사항은 다음과 같습니다:
- Perl >= 5.6.0
- Net::Server (Perl 모듈)
- IO::Multiplex (Perl 모듈)
- BerkeleyDB (Perl 모듈)
- Berkeley DB >= 4.1 (라이브러리)
apt를 사용하여 Postgrey 패키지를 설치하는 것을 추천합니다.
먼저, 다음 명령어로 Postgrey 패키지를 설치합니다:
apt-get -y install postgrey이 명령어는 귀하의 머신에 Postgrey 서버를 설치합니다. 일부 설정을 변경하고 싶을 수 있습니다. 그레이리스트의 가장 성가신 점은 메일 전달에 지연을 부과한다는 것입니다. 기본값인 5분 지연이 너무 길다고 생각되면 1분으로 설정할 수 있습니다. 이를 변경하려면 /etc/default/postgrey를 편집하세요. 기본값을 다음과 같이 변경합니다:
POSTGREY_OPTS="--inet=127.0.0.1:10023"다음과 같이:
POSTGREY_OPTS="--inet=127.0.0.1:10023 --delay=60"그러나 모든 것이 예상대로 작동하는 것을 확인한 후에만 기본값을 변경하는 것이 좋습니다. 또한 지연 시간을 줄이면 그레이리스트의 효율성이 감소한다는 점도 주목할 가치가 있습니다. 지연 시간을 1시간으로 늘리면 스팸에 대한 저항력이 강해지지만 사용자 인내심에도 더 큰 부담이 될 것입니다. :)
이제 다음 명령어로 Postgrey 정책 서버를 시작합니다:
service postgrey start이제 Postgrey 정책 서비스가 포트 10023에서 실행되고 있어야 합니다.
이제 Postfix를 Postgrey를 사용하도록 구성해 보겠습니다.
Postfix 구성하기
Postfix 구성 파일은 /etc/postfix에 있습니다. /etc/postfix/main.cf를 편집하고 smtpd_recipient_restrictions에 check_policy_service inet:127.0.0.1:10023를 추가합니다. 다음과 비슷하게 보일 것입니다:
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:10023이제 Postfix 구성을 다음 명령어로 다시 로드하기만 하면 됩니다:
postfix reload간단하고 좋습니다. 편안히 앉아 스팸이 없는 것을 즐기세요 :)
//Erk
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.