내 서버가 해킹당했고 인터넷을 통해 많은 스팸이 전송되었습니다. 내가 한 첫 번째 일은 postfix를 종료하고 나가는 포트 25를 닫은 다음 웹사이트, postfix 대기열을 정리하고 postfix를 완전히 재설정하는 데 시간을 보내는 것이었습니다.
SASL 인증 및 TLS 강제 적용과 같은 Postfix SMTPD에 대한 많은 제한 사항을 활성화했습니다.
하지만 저는 PHP 함수가 SMTPD를 호출하고 이메일이 대기열 에 들어가게 되므로 (그리고 모든 SMTPD 보호를 우회하기 때문에) mail()
SMTPD에 신경 쓰지 않는다고 생각합니다 .sendmail
maildrop
incoming
나는 그것이 어떻게 작동하는지 더 잘 이해하기 위해 Postfix 데몬과 큐에 대한 작은 스케치를 만들었습니다.
다음 설정을 원합니다.
- sendmail이 외부 수신자에게 이메일을 전달하는 것을 방지하지만 로컬 사용자에게 이메일을 전달하는 것을 허용하고 "외부" 매핑인 경우에도 /etc/aliases의 매핑을 따를 수 있도록 허용합니다.
내 목표는 최종 사용자가 로컬 SMTPD에 직접 연락할 수밖에 없고 smtpd_client_restrictions = permit_sasl_authenticated, reject
내 구성으로 인해 강제로 로그인하도록 하는 것입니다.
답변1
이것은 답변의 일부일 뿐입니다.
허용되는 로컬 사용자를 결정하는 방법은 다음과 같습니다 sendmail
.
- 파일 만들기/etc/postfix/sendmailAllowedUsers, 허용된 각 사용자에 대해 한 줄에 "User OK"를 입력합니다.
authorized_submit_users = hash:/etc/postfix/sendmailAllowedUsers
가입하다마스터 파일- 달리기
postmap /etc/postfix/sendmailAllowedUsers
- 달리기
postfix reload
이것은 내 질문에 대한 부분적인 답변일 뿐입니다.이메일을 보내그리고우편목록에 없는 사용자를 대상으로 하는 명령은 내가 원하는 것이 아닙니다.
모든 사람이 사용할 수 있도록 하고 싶지만 sendmail
로컬 수신자만 사용할 수 있습니다.