Category not accepting "anonymous email" from known users

코드를 살펴본 결과, 내 생각에는 다음과 같습니다:

  1. authserv_id가 활성화된 경우
  2. Email::AuthenticationResults는 fail 또는 pass 판정을 내리며, 이는 enqueue 또는 accept 동작으로 이어집니다.
  3. enqueue 동작이 지정된 게시물은 검토/승인 대상으로 표시됩니다(lib/new_post_manager.rb - self.post_needs_approval?)

제 추론이 올바른가요?
이것은 스푸핑 시도가 아마도 검토 단계로 넘어가게 된다는 뜻인가요?

일정 부분 그렇습니다. DMARC가 실패하면 승인 대기열로 전송되지만, DMARC가 완전히 없으면 여전히 통과됩니다.

전진하는 방법 중 하나는 기본적으로 "사이트 운영자가 리스크를 수용한다"는 내용을 담고 있는 명시적인 사이트 설정을 추가하는 것입니다. 이 설정이 활성화되면 이메일 기반 매핑을 허용할 수 있습니다.

1개의 좋아요

버그인지 의도된 동작인지에 대한 논쟁에 대해 조금 혼란스럽습니다. 제 해석으로는 보안상의 이유로, 이메일 주소가 기존에 존재하는 비스테이징(비임시) 사용자와 일치하는 경우 이메일을 통해 새 토픽을 생성하는 것이 허용되지 않는다는 것입니다. 이는 이메일 주소가 위조될 수 있으므로 사용자가 사칭당할 수 있기 때문입니다.

답변(리플)은 허용되는 것으로 보입니다. 이는 주소에 리플 키가 포함되어 있어, 발신자가 알림 이메일의 수신자였음을 증명하고, 따라서 실제 사용자로 볼 가능성이 높기 때문입니다.


이 의도된 동작에 대한 해석이 맞다면, 제가 실제로 겪고 있는 상황과 모순됩니다. 제 사용자에게 해당 카테고리에서 생성할 권한이 있고, 제 등록 이메일 주소에서 해당 카테고리의 email_in 주소로 이메일을 보내면, 이메일 주소가 제 사용자와 매칭되어 제 사용자 이름으로 새 토픽이 생성됩니다.

이것은 제 사용자에게 생성 권한이 있으므로 계정이 없는匿名用户로부터 이메일을 수락 설정이 활성화되어 있는지와 관계없이 발생합니다.

현재 상황은 다음과 같습니다. (匿名用户 이메일 수락이 활성화된 경우)

  1. 사용자 없는 주소에서 이메일 수신; 스테이징(임시) 사용자 생성, 새 토픽 생성.
  2. 스테이징(임시) 사용자 있는 주소에서 이메일 수신; 스테이징(임시) 사용자 매칭, 새 토픽 생성.
  3. 생성 권한이 있는 실제 사용자 있는 주소에서 이메일 수신; 실제 사용자 매칭, 새 토픽 생성.
  4. 생성 권한이 없는 실제 사용자 있는 주소에서 이메일 수신; 실제 사용자 매칭, 새 토픽 거부.

(참고: 방금 4번은 테스트하지 않았습니다) 匿名用户 이메일 수락이 활성화된 경우, 3번과 4번은 항상 동일하게 동작해야 한다고 예상합니다. 사칭을 방지하기 위해 둘 다 거부되는 것이든, 실제 사용자는匿名用户보다 적은 권한을 가져서는 안 된다는 근거로 둘 다 허용되는 것이든, 결과가 달라져서는 안 됩니다.

질문자는 보안된 카테고리(예: 익명 사용자에게조차 표시되지 않는 카테고리)에 관한 것입니다. 그렇다면 현재에는 스테이징된 사용자가 당연히 거부되지 않나요?

네, 제 원래 시나리오에서는 스테이징된/비활성화된 사용자로부터 온 메일은 (받지 않아야 했나요?) 받아지지 않았어야 했습니다.

1개의 좋아요

저희 인스턴스(커밋 20개 뒤처짐, 변경 사항에서 관련 내용을 찾을 수 없음)에서 동작을 확인하기 위해 방금 테스트를 수행했습니다. 신뢰 수준 0(trust level 0) 사용자의 모든 게시물이 승인을 필요로 하도록 설정되어 있었고, 이것이 라우트에 영향을 미칠지 확신이 서지 않아 해당 요소가 개입하지 않도록 테스트 단계를 확장했습니다.

다음 단계들은 모두 관리자 그룹이 보기/답글/생성 권한을 가지고 있으며 다른 권한은 설정되지 않은, 이메일 주소가 지정되어 있고 계정이 없는 익명 사용자의 이메일 허용이 활성화된 카테고리에 관한 것입니다.

">" 기호는 동작(action)이 아닌 효과(effect)를 나타냅니다.

  • 사용자 계정이 없는 주소에서 이메일 전송
  • > 스테이징된 사용자가 생성되고, 새 게시물이 검토 대기열로 이동
  • 게시물 승인
  • > 비공개 카테고리에 새 토픽이 생성됨
  • 스테이징된 사용자의 신뢰 수준을 1로 변경
  • 동일한 주소에서 또 다른 이메일 전송
  • > 비공개 카테고리에 새 토픽이 생성됨

만약 이것이 일어나지 않는다면, 계정이 없는 익명 사용자의 이메일 허용 설정은 everyone 또는 trust_level_0에게 생성 권한이 없는 카테고리에서는 아무런 의미가 없게 됩니다.

이는 OP에서 #4와 동등하다고 생각되며, OP에서는 #3과 #4 모두 새 토픽 생성이 예상되는 것으로 설명하지만 실제로는 #4에서만 생성됩니다.


이전 게시물에서(“현재 상황” 이전) 저는 주로 이 지점을 더 일반적으로 논의하고자 했는데, 이는 현재 작동 방식이 사용자가 사칭되는 것을 보호하기 때문에 #3은 작동해서는 안 된다는 논거를 제시하는 것 같습니다.

그러나 제가 그 게시물에서 설명했듯이, 매칭된 사용자가 생성 권한을 가지고 있는 경우 이러한 보호 장치는 존재하지 않습니다.

1개의 좋아요

3.6.0.beta3-latest에서도 여전히 문제가 발생합니다.

Tor Project 포럼에서는 메일링 리스트를 포럼에 미러링하고 있지만, 메일링 리스트의 미러로 생성된 주제에서 메시지가 누락되는 경우가 빈번합니다. 이 문제는 다른 주제(Unexplained Email::Receiver::InvalidPost errors)에서 트러블슈팅을 거쳐 식별되었습니다.

알려진 사용자와 알려지지 않은 사용자 모두의 메일링 리스트 메시지가 수신될 수 있도록 해결책을 마련할 수 있을까요? 그렇지 않으면 해당 메일링 리스트 미러 카테고리가 제대로 작동하지 않게 되며, 거부된 메시지로 인해 대화를 따라가기 어려워질 수 있습니다.

1개의 좋아요

2026.5.0-latest에서도 여전히 이 문제가 발생합니다.

여기서 SPF/DKIM/DMARC에 의존하는 것이 좋은 방법이라고 생각합니다.