Protecting against gmail dot trick in Discourse

왜 사용하지 않을까요? 이해가 잘 안 됩니다. 그 문제는 해결해 주는데 말이죠.

그렇다면 #marketplace가 가장 적합한 장소일까요?

공식 플러그인보다 제3자가 문제를 일으키는 쪽이 더 나을까요?

절대 공식 플러그인은 아니에요. 제프가 오늘 원한다고 판단하면 제 GitHub 계정에 3줄짜리 코드만 추가하는 정도입니다.

그건 수많은 합법적인 계정의 이메일 로그인을 깨뜨립니다. 제 Gmail 계정도 포함됩니다.

네, 하지만 그 사이트는 사용하지 않는 것 같네요.

전쟁 중에는 일정 수준의 민간인 피해는 허용됩니다. 매일 수천 개의 가짜 플러스 주소 이메일로 홍수처럼 쏟아지는 상황에서, 2%의 사용자가 가입하지 못하는 게 무슨 대수인가요? 이건 Cloudflare의 “공격 중” 모드와 같은 맥락입니다. 일부 legitimate한 사용자가 들어오지 못할 수 있습니다. 더 엄격한 보안을 위해 치러야 할 대가입니다.

질문자의 논리는 Cloudflare의 “공격 중” 모드가 완벽하지 않으므로 존재해선 안 된다는 것이네요 :man_shrugging:

어쨌든, 이 문제가 대규모로 발생하고 있다는 legitimate한 보고를 2건 더 확인해야 조치를 취할 수 있을 것 같습니다.

무례한 질문일 수 있지만, 가입 화면에 reCAPTCHA를 추가하는 것이 더 쉬운 방법 wouldn’t it be?

이들은 보통 인간 스팸러입니다. 2010년에 비해 현재 그 수가 상당히 많습니다. 캡차는 인간 공격자에겐 아무런 효과가 없습니다.

1개의 좋아요

음… 이런 식의 “gmail.com +” 가입 방식은 대부분 봇이 하는 줄 알았는데요…

3개의 좋아요

실제 사람이 아니라 가짜가 아니라, 실존하는 많은 사람들이 자신의 실명과 온라인 계정을 연결하고 싶어 하지 않아서 sharklasers 등(이 서비스를 사용하는) 도구를 이용해 우리 사이트에 가입합니다. 이는 상황별로 다릅니다.

OP(질문자)은 게시글 작성 시 15분 읽기 시간을 신뢰 요구 조건으로 설정하고, 처음 5개 게시글은 편집 권한이 없는 스태프의 승인을 거치도록 하면, 그가 언급한 문제가 즉시 사라질 것이라고 확신합니다.

1개의 좋아요

여기서 반드시 확인하고 싶은 한 가지가 있습니다. 계정 등록에 대해 합리적인 속도 제한(rate limit)이 설정되어 있는지입니다.

단일 IP 주소는 하루에 N개의 계정만 등록할 수 있도록 제한해야 합니다. 하지만 NAT로 인해 많은 사용자가 동일한 IP를 공유하는 경우를 위해 우회 수단 또는 사이트 설정이 필요합니다.

나는 .은 google 기준으로 정규화되기를 선호하지만, +somthing은 그대로 유지되기를 원합니다. 따라서 이 기능을 구현할 계획이라면, 관리자가 원하는 방식을 선택할 수 있도록 해 주세요.

1개의 좋아요

이미 그렇게 되어 있습니다… 여기서 문제는 모사드라는 점입니다. 그들은 사용할 수 있는 IP가 매우 많습니다.

1개의 좋아요

다음 항목들에 대해 레이트 리미터가 적용되고 있음을 확인했습니다:

  • 시간당 이메일 로그인
  • 활성화 이메일 업데이트
  • 활성화 이메일 재전송
  • 2차 인증 수단 목록 조회
  • TOTP 활성화
  • 관리자 로그인

계정 생성에 대해서는 IP당 표준 내장 레이트 리미터 외에는 특정 레이트 리미터가 적용되지 않는 것으로 보입니다.

@markersocial 님이 데이터 탐색기를 설치하여 등록한 대량의 사용자들의 등록 IP 주소를 나열해 줄 수 있을지 궁금합니다. 이들이 100개의 IP 주소에서 유입되는지, 아니면 단 1개의 IP 주소에서만 유입되는지 정확히 알고 싶습니다.

2개의 좋아요

저도 동의하고 싶지만, 구글도 이 문제를 가지고 있습니다. 제가 일했던 대학만 해도 모든 접속이 단일 NAT를 통해 이루어지기 때문에, 한 학급이 Gmail에 가입할 수 없었습니다.

대부분의 실제 문제는 NAT 화이트리스트로 해결될 수 있을 것 같습니다. 합법적인 사용자가 어디에서 오는지 예측할 수 있을 가능성이 높기 때문입니다.

기본값으로 하루에 소수의 IP(또는 설정 가능한 수)를 허용하는 방식이 꽤 안전하다고 생각합니다.

@sam - IP 관련해서 말씀드리자면, 저는 실제로 등록 및 로그인 시 IP 제한을 사용 중이며, 차단된 IP 목록도 방대합니다. 같은 IP에서 대량의 계정을 생성하는 사용자가 문제의 원인이라는 점은 단언컨대 사실이 아닙니다. 사실 그랬으면 차단이 가능했을 텐데 말입니다. 현재로서는 gmail 계정으로 가입하는 모든 경우를 블랙리스트에 올리는 것만이 유일한 차단 방법입니다.

—

@codinghorror 합법적인 서비스 중에는 월 $xxx에 xx,xxx,xxx개의 고유 IP에 접근할 수 있는 곳이 있습니다. 즉, Mossad만이 아니라 누구나 쉽게 대량의 IP를 확보할 수 있다는 뜻입니다. :wink: 이 외에도 대량의 IP 풀을 제공하는 합법적인 서비스가 많으며, 불법적인 랜덤 봇넷 임대 서비스도 존재합니다.

6개의 좋아요

최소 최신 버전으로 업그레이드하는 것을 강력히 권장합니다. 최근 제 챌린지/허니팟 변경 사항 때문에, 이를 위한 스크립트를 작성하는 것이 훨씬 더 번거로워질 테니까요.

또한 여기에서 정기적으로 업데이트를 공유해 주시면 더 많은 정보를 얻을 수 있을 것 같습니다.

지금도 이 문제가 계속되고 있나요?

5개의 좋아요

감사합니다 @sam, 아직 이 문제에 대해 후속 조치를 취하지 못한 점 죄송합니다.

네, 이 트릭(2.5.0.beta1)을 사용하여 여전히 많은 수의 계정을 생성하는 것이 충분히 가능한 것으로 보입니다.

예를 들어, username+{randomstring}@gmail.com 트릭을 사용하여 누군가가 지난 10시간 동안 748개의 계정을 생성했습니다. 이 단일 Gmail 주소에는 이미 수천 개의 계정이 있습니다.

관리자 영역에서 이들을 제거할 수 있는 거의 유일한 방법은 각 계정에 개별적으로 들어가서 정지하고/또는 삭제하는 것입니다. 이 사람은 버튼 하나만 누르면 훨씬 더 많은 계정을 만들 수 있으므로, 이 방법은 현실적이지 않습니다. :drevil:

이들은 사실상 무제한의 IP 공급원을 가진 것 같아서, 이 경우 IP 차단/제한은 거의 무용지물입니다.

또한, Gmail의 마침표(.)와 플러스(+) 트릭을 이용한 가입도 여전히 상당히 많이 발생하고 있습니다.

감사합니다!

3개의 좋아요

@codinghorror 님이 제안한, 중복 Gmail 계정 지원을 비활성화하는 사이트 설정 추가를 지지합니다. 기술적으로는 이 설정을 추가하는 데 15~30분 정도면 충분합니다.

4개의 좋아요

고마워요 @sam - 도움이 될 수 있는 추가 정보를 DM으로 보냈어요~

수년간 이 분야에 대한 광범위한 경험을 바탕으로, 대부분의 자동 스팸봇(전부는 아니지만 압도적 다수)이 동일한 ‘HTTP_USER_AGENT’ 문자열을 사용한다는 점을 알고 있습니다. IP 주소를 위장할 수 있는 일부 스팸봇조차 동일한 'HTTP_USER_AGENT’를 사용하거나, 너무 터무니없는 값을 사용하여 쉽게 감지되도록 하기도 합니다.

그 이유는 대부분의 폭격자(bomber)와 스팸 발송자가 단순히 스팸 봇 소프트웨어를 다운로드하여 실행할 뿐, 실제로 무엇을 하고 있는지 잘 모르기 때문입니다. 물론 예외는 있지만, 99% 이상의 스팸봇은 코딩에 능숙하지 않은 스팸 발송자가 다운로드하여 실행하는 단순한 스크립트/프로그램일 뿐입니다(일반적으로 그들은 코딩 거물이 아니에요).

사실 때로는 이러한 ‘HTTP_USER_AGENT’ 문자열이 매우 뻔하기도 합니다. 물론 이론상으로는 모든 것을 무력화할 수 있지만, 실무적으로 수십 년간 우리의 포럼에서는 (다른 포럼에 비해) 스팸 문제가 매우 적었습니다. 그 이유는 다양한 기준에 기반하여 이메일 주소를 점수화하고, 명백한 스팸은 거부하기 때문입니다(우리는 이를 검토하지 않습니다. 점수가 특정 임계값{신뢰 수준}을 초과하면 등록을 단순히 거부합니다. 왜냐하면 방대한 스팸 DB를 검토하고 싶어 하는 사람은 없으니까요). 또한, 우리는 수많은 이유(수많은 해 동안)로 Akismet을 사용하지 않지만, 그 주제에 대해 멀리까지 이야기하고 싶지는 않습니다 :slight_smile:

그러나 우리의 구형 vB 포럼에서는 이를 매우 쉽게 수정할 수 있는(그리고 실시간으로 좋은 싸움을 벌일 수 있는) PHP 플러그인으로 쉽게 처리합니다. 한때 베이지안 분류기를 사용했지만, 수년간 더 나은 방법을 찾게 되었습니다. 또한 쿠키를 사용하며, 쿠키 정책을 수락한(그리고 우리의 개인정보 보호 정책에 따라 쿠키를 허용하는) 클라이언트에서만 등록을 허용합니다. 물론, 사용자가 등록한 후 쿠키를 읽어서 이를 통해 여러 번의 로그인을 감지할 수도 있습니다. 솔직히 말해서, 이는 대부분의 스팸봇을 막아줍니다. 로켓 과학은 아니며, 솔직히 말해서 일반적으로 "IP 주소 기반"인 것만도 아닙니다.

또한 참고로, 대부분의 스팸봇은 쿠키를 전혀 수락하지 않으므로, 쿠키를 허용하지 않는 클라이언트를 차단하는 것만으로도 큰 도움이 됩니다.

너무 “똑똑하게” 들리지 않기를 바라지만, 저는 이 분야에서 20년 이상을 일해 왔으며, 해당 주제에 대한 학술 논문을 발표했고, 이 영역에서 실시간 사이버 전쟁을 치렀으며, 실시간 사이버 방어 및 스팸 방지 기술에 대해 20년 이상의 경험을 가지고 있으므로, 제가 말하는 내용을 잘 알고 있습니다. 따라서 이러한 기능이 Discourse 앱에 사용할 수 없거나, 계획되어 있지 않거나, 쉽게 코딩할 수 없는 경우, 제 답변을 무리하게 차단하지 말아 주십시오. 감사합니다.

모든 사람을 포용합시다. 특히 사용자를 도우려는 의지가 있는 전문가들을 포함하여요.

감사합니다.

2개의 좋아요

… 30초 후…

:wink: