따라서 VPS 환경을 사용할 때 기본적으로 아웃바운드 SMTP(스패머)를 차단하고 필요할 때 차단을 해제할 수 있어야 합니다.
다음과 같은 스크립트를 발견했습니다.
iptables -I FORWARD 1 -d $VPS_IP -p tcp -m tcp --dport 25 -j DROP
iptables -I FORWARD 1 -s $VPS_IP -p tcp -m tcp --dport 25 -j DROP
그리고
iptables -I FORWARD -p tcp --sport 25 -j DROP
iptables -I FORWARD -p tcp --dport 25 -j DROP
그러나 첫 번째 제어 세트를 통한 차단은 비효율적이며, 특히 IP 범위가 변경될 수 있는 경우에는 더욱 그렇습니다.
따라서 문제는 세트 2(빈 블록)를 사용하는 경우 특정 IP를 어떻게 허용할 수 있느냐는 것입니다. OUTPUT 체인에 뭔가를 추가해야 할 것 같은데, 블랭킷 블록이 먼저 처리되지 않을까요? 아니면 FORWARD에 추가하면 블랭킷 블록이 체인 아래에 있기 때문에 먼저 이동하지 않습니까? 등..
iptables -L은 다음과 같습니다:
[root@server ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
SOLUSVM_TRAFFIC_IN all -- anywhere anywhere
SOLUSVM_TRAFFIC_OUT all -- anywhere anywhere
all -- somedomain anywhere
all -- anywhere somedomain
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain SOLUSVM_TRAFFIC_IN (1 references)
target prot opt source destination
all -- anywhere somedomain
Chain SOLUSVM_TRAFFIC_OUT (1 references)
target prot opt source destination
all -- somedomain anywhere
고마워하는! (답변이 없으면 채용 공고 등이 Coder에 게시됩니다)
답변1
삽입 명령을 사용하여 차단 규칙 전에 규칙을 추가할 수 있습니다. 그러나 인터넷으로 이메일을 보내는 서버는 1개 또는 2개만 있어야 합니다. 필요한 경우 호스트에 방화벽 규칙을 추가하여 메일 서버만 이메일을 보낼 수 있도록 허용하세요. 이렇게 하면 봇을 비활성화하거나 최소한 문제를 기록하고 추적하는 기능을 제공해야 합니다.
보내는 메일 서버를 설정하고 다른 모든 서버가 인터넷으로 이메일을 보내는 것을 차단하는 것이 좋습니다. 이 메일 서버를 네트워크의 모든 호스트에 대한 발신 MTA(메일 전송 에이전트)로 사용하십시오. rDNS, SPF 등을 사용하여 올바르게 구성하십시오. 이메일을 보내지 않는 도메인에는 "-all" 정책이 포함된 SPF 레코드가 있어야 합니다. 내 메모를 봐SPF로 이메일 평판을 보호하세요.
귀하가 대신하여 메시지를 보낼 도메인을 제한하도록 이메일 서버를 구성하세요. 저는 Exim의 ACL 기능이 이 작업에 매우 효과적이라는 것을 알았습니다. 대량의 이메일 발송을 방지하기 위해 제한 규칙을 설치할 수도 있습니다.