안녕하세요,
2022년 2월 15일부터 16일 사이, 자체 호스팅 중인 DigitalOcean Discourse 인스턴스에서 흥미로운 현상을 발견했습니다. 아래 그림에 보이는 것처럼, 일일匿名用户 수가 하루 약 1,000명에서 하루 평균 10,000명으로 급증했습니다. 이 원인을 파악하기 위해 여러 방법을 시도해 보았지만, 아직까지 결론을 내리지 못했습니다.
이 수치를 우리 콘텐츠의 조회수나 Google Search Console, Google Analytics의 통계와도 일치시킬 수 없었습니다. 로그도 확인해 보았지만, 특이한 점은 발견되지 않았습니다.
이러한 현상의 원인이 무엇일지 아이디어를 주실 수 있을까요?
저희 커뮤니티: https://community.world-like-home.com/
도움 주시면 감사하겠습니다.
osioke
(Osioke Itseuwa)
3월 8, 2022, 2:29오후
2
귀하의 특정 사이트에 맞춰 답변하는 것은 거의 불가능하거나 까다로운 일입니다. 그러나 원인을 파악하기 위해 시작할 수 있는 작업은 대시보드의 크롤러 보고서를 확인하여 크롤러로 인한 문제인지 살펴보는 것입니다.
또한, 제목을 더 설명적으로 수정했습니다
감사합니다 @osioke
하지만 크롤러 때문이었다면, discourse가 이를 명시적으로 표시해 줄 거라고 기대했거든요? 제가 뭔가 놓치고 있는 건 아닌지 궁금합니다.
@Jagster discourse에서 봇을 익명 사용자로 집계할 수 있을까요?
Falco
(Falco)
3월 8, 2022, 3:57오후
5
요청을 수행하는 주체가 스스로 “일반” 사용자인지 봇인지를 식별합니다. 이는 명예에 기반한 시스템으로, 이로 인한 장단점이 모두 존재합니다.
봇 생태계에서 악의적인 행위자의 대부분은 자신을 봇으로 식별하지 않고 “일반” 사용자로 위장하여 요청을 보내며, 이러한 경우 디스코스가 취할 수 있는 조치는 거의 없습니다.
명령줄 사용에 익숙하다면 서버에 로그인하여 다음 명령을 사용하여 대부분의 요청이 어디서 오는지 추적할 수 있습니다:
cd /var/discourse/shared/standalone/log/var-log/nginx/
grep " 200 " access.log | awk '{print $4}' | sort | uniq -c | sort -r
Jagster
(Jakke Flemming)
3월 8, 2022, 5:21오후
6
물론, 봇이 자신을 사용자라고 식별하는 것만 있으면 됩니다. 사용자 에이전트를 변경하는 것은 정말 단순한 일이에요 — 심지어 브라우저도 할 수 있죠. 그리고 디스코스는 알려진 UA를 사용하는 봇만 알고 있을 뿐입니다.
물론 더 높은 트래픽의 사이트에 당신을 향한 링크가 있는 경우, 그들도 실제 사용자가 될 수 있습니다.
pfaffman
(Jay Pfaffman)
3월 8, 2022, 7:33오후
7
제 추측은 거기에 업로드된 PDF가 다른 곳에 링크되어 있어 많은 사람들이 직접 다운로드하고 있는 것이 아닐까 하는 것입니다. 혹시 그 PDF가 악성 행위자에 의해 업로드되어 어떤 이유로든 많은 트래픽을 발생시키고 있는 건가요?
감사합니다, @pfaffman . 하지만 PDF에는 문제가 없어요. 실제로 제가 직접 업로드했거든요. 그냥 그 그림을 보여준 건, Discourse가 표시하고 있는 수천 명의 익명 사용자와는 아무런 상관관계가 없다는 점을 나타내기 위해서였습니다.
네, 감사합니다.
@Falco 감사합니다.
제공해 주신 명령줄 덕분에 요청 수 급증의 원인이 된 IP를 추적할 수 있었습니다. 지금은 크롤러를 차단할지 결정하기 전 까지 관측을 계속할 예정입니다.
Ed_S
(Ed S)
3월 9, 2022, 6:40오후
9
참고로 제 경우, 액세스의 대부분은 메시지 버스 엔드포인트에 대한 POST 요청입니다. 즉, 아마도 사용자의 브라우저에서 발생한 요청일 것입니다. 어떤 경우에는 1분에 한 번, 다른 경우에는 그보다 훨씬 더 자주 발생합니다.
"POST /message-bus/<hash>/poll?dlp=t HTTP/1.1"
Falco
(Falco)
3월 9, 2022, 6:42오후
10
실제로 대부분의 Discourse 사이트에서 이러한 요청이 많이 발생하지만, 페이지뷰로 집계되지 않으므로 대시보드의 “통합 페이지뷰” 차트에 반영되지 않습니다. 따라서 이 주제는 약간 벗어난 내용이라고 할 수 있습니다.
Ed_S
(Ed S)
3월 9, 2022, 6:57오후
11
좋은 지적입니다. 파이프에 grep -v POST를 추가해 보시면 어떨까요?