여기에서 새로운 CentOS8 설치를 실행하면 MTA는 Amavis에 연결된 Postfix입니다. 저는 Amavis가 (내부) DKIM에 의해 서명된 후 ORIGINATING(포트 587/Postfix에서 10026/Amavis를 통해 들어오는 커밋)의 메시지를 Amavis(포트 10024)에 삽입하기를 원합니다. 그러나 포트 10024는 25/Postfix에서 들어오는 smtp 연결을 수신하도록 이미 할당되어 있으므로 SELinux 구성에서 이를 송신 포트로 추가할 수 없습니다.
메시지 흐름:
- 25/smtp -> 접미사 -> smtp-amavis/10024
- 10024 -> 아마비스: 스캔 -> 10025
- 10025 -> 접미사 -> 배달
- 587/제출->Postfix->smtp-amavis/10026
- 10026 -> Amavis Origin: 스캐닝 및 DKIM 서명 -> smtp-amavis/10024
내가 겪고 있는 문제는 SELinux가 마지막 스트림의 메시지를 포트 10024의 smtp-amavis(Amavis에서 Amavis로)로 다시 공급하는 것을 허용하지 않는다는 것입니다. 해당 포트는 이미 수신용으로 할당되어 있기 때문입니다.
[root@services amavisd]# semanage port -l | grep 1002
amavisd_recv_port_t tcp 10026, 10024
amavisd_send_port_t tcp 10027, 10025
spamd_port_t tcp 783, 10026, 10027
흥미롭게도 SELinux는 amavisd_recv_port_t 및 amavisd_send_port_t에 각각 추가했을 때 spamd에 포트 10026, 10027이 할당되는 것에 대해 불평하지 않았습니다.
[root@services amavisd]# semanage port -lC
SELinux Port Type Proto Port Number
amavisd_recv_port_t tcp 10026
amavisd_send_port_t tcp 10027
이 문제를 어떻게 해결할 수 있나요? SELinux에서는 10024를 송신 포트로 추가하는 것도 허용하지 않기 때문입니다.
[root@services amavisd]# semanage port -a -t amavisd_send_port_t -p tcp 10024
ValueError: Port tcp/10024 already defined
아니면 제가 완전히 잘못된 길을 가고 있는 것일 수도 있습니다., 그리고 제출된 메시지는 포트 10024를 통해 Amavis로 피드백되어서는 안 됩니다(SELinux 문제가 아니라 Amavis 문제가 됩니다)? 초기 Amavis 구성의 경우 제출된 메시지를 OpenDKIM에 의한 (외부) DKIM 서명을 위해 다음과 같이 포트 10027로 전달하십시오:
# forward to a smtpd service providing DKIM signing service
#forward_method => 'smtp:[127.0.0.1]:10027',
forward_method => 'smtp:[127.0.0.1]:10024',
따라서 마지막 프로세스는 다음과 같습니다.
- 10026 -> Amavis 시작: 스캔 -> OpenDKIM@10027: 서명 -> 전달
하지만 OpenDKIM은 아직 CentOS8에서 사용할 수 없으며(이전에는 EPEL 저장소를 통해 사용 가능) Amavis는 이제 제가 사용하려는 내부 DKIM 서명 서비스를 지원합니다.
그래서 저는 두 가지 방법이 있다고 생각합니다.
- 커밋 스트림에서 기본 smtp 스트림으로 다시 DKIM 서명 메시지를 공급할 수 있도록 SELinux를 구성합니다(이 다소 순환적인 설정이 작동한다고 가정).
- 원래 Amavis 구성을 유지하십시오. 즉, 나가는(예: 커밋) 메시지를 전달하려면 포트 10027 뒤에 서비스가 있어야 함을 의미합니다.
어느 길로 가야 하며 무엇을 해야 합니까?
답변1
나는 가장 확실한 해결책을 찾았습니다(잘못된 온라인 레시피에 따라): Amavis ORIGINATING 흐름을 포트 10025에 다시 공급하여 Postfix가 전달하도록 하는 것입니다(따라서 Amavis에 의해 별도로 처리된 후 25/smtp 및 587/제출 흐름을 수렴합니다). 이는 또한 Amavis의 메시지가 더 이상 자체적으로 피드백될 필요가 없기 때문에 SELinux 문제를 우회합니다.
이제 전체 구성표는 다음과 같습니다.
- 25/smtp -> 접미사 -> smtp-amavis/10024
- 10024 -> 아마비스: 스캔 -> 10025
- 10025 -> 접미사 -> 배달
- 587/제출->Postfix->smtp-amavis/10026
- 10026 -> Amavis Origin: 스캐닝 및 DKIM 서명 -> 10025