우선, 거의 10년 된 이 게시물을 다시 꺼내는 것이 죄송합니다. 하지만 진심으로 이게 다른 사람들에게는 아무런 문제가 되지 않는다는 사실이 믿기지 않습니다.
결국 저는 클라우드플레어(Cloudflare) 뒤에 호스트 서버와 그 IP 주소를 숨기는 데 성공했고, 몇 시간 동안 검색한 끝에 포트 스캐너가 IP 주소를 통해 포럼을 우연히 발견하지 못하도록 클라우드플레어에서 유입되는 네트워크 트래픽만 허용하는 설정도 마쳤습니다. 제게 보안은 정말로 매우 중요합니다. 메일 서버는 외부에 있고 거의 모든 것이 보호되어 있지만, 누군가 게시물에 미끼 이미지만 넣으면 Discourse가 이를 직접 다운로드하여 임베드하거나 비슷한 일이 발생하는 것은 농담이 아닙니다. 이 기능을 비활성화하는 방법을 어디에서도 찾을 수 없었습니다. 미리보기로 사용된다고 알려진 원박스(oneboxes)조차도, 이 값을 0으로 설정해도 아무런 효과가 없었습니다. IP 로깅 픽셀이 즉시 임베드되어 공격자에게 호스트의 IP를 노출시킬 수 있었기 때문에, 이 경우 클라우드플레어의 보호는 완전히 무용지물입니다. 서비스를 제대로 보호하는 것이 아니면 아예 보호하지 않는 것이 나을 정도입니다. 공격자가 5분도 안 걸려 가입하고 이미지를 게시함으로써 호스트의 실제 IP를 알아낼 수 있다면, 클라우드플레어가 우리에게 무슨 소용이 있겠습니까?
오늘 몇 시간 동안 AI, Tor, torsocks를 사용해서 시도해 보았지만, 제대로 된 적이 거의 없습니다. 보통 env 설정에서 무언가를 건드리기만 하면 재빌드(rebuild)가 곧바로 충돌합니다. 만약 누군가 이 방법을 성공적으로 적용해 보셨다면, 제발 그 방법을 공유해 주시기를 간절히 부탁드립니다. 대부분 재빌드가 실패하는 이유는 GitHub에 대한 접근이 작동하지 않기 때문인데, 아마도 GitHub에서는 Tor 트래픽을 차단하고 있기 때문일 것입니다.
그리고 만약 Discourse가 링크를 사전에 로드하는 기능을 단순히 비활성화할 수 있다면, 이런 상황은 애초에 발생하지 않았을 것입니다.
감사합니다! 플러그인을 추가하고 discourse를 재빌드한 후, 첫 번째와 두 번째 체크박스를 선택하면 프록시를 사용하도록 강제되는 줄 알았습니다(프록시가 설정되어 있는지 여부는 상관없이). 하지만 프록시 정보를 입력하든, 값이 비어 있어 두 체크박스만 활성화되어 있든 상관없이 여전히 VPS IP 주소로 트래킹 픽셀이 로드됩니다.
지금은 이 일을 포기하기로 했습니다. 너무 오래 고생했습니다. 처음에는 그렇게 어렵지 않을 것이라 생각했는데, 지금은 SOCKS와 SOCKS5 같은 프록시 관련 주제들로 인해 조금 혼란스러운 상태입니다. app.yml의 env 섹션에 몇 가지 매개변수나 설정만 추가하면 간단히 해결될 줄 알았는데,看来 커스텀 솔루션에 훨씬 더 많은 시간을 투자해야 할 것 같습니다. 왜냐하면 일반적으로 프록시를 통해 아웃바운드로 예를 들어 https://check.torproject.org/api/ip와 같은 주소로 curl을 사용해 연결을 시도할 때 어려움을 겪고 있기 때문입니다. 따라서 프록시에 대해 훨씬 더 깊이 파고들어야 했을 것 같습니다.
제가 아는 모든 방식으로 호스트 IP를 숨길 수 있었다면 좋았을 텐데, Discourse처럼 강력한 포럼 플랫폼을 사용하는 대가인 것 같습니다. Discourse에는 수많은 설정 옵션이 있습니다. 사용자가 제공한 외부 리소스를 가져오지 않거나, 더 일반적으로 말해 링크와 미리보기를 미리 로드하지 않도록 하는 기능을 요청할 수 있을까요? 여기에서 요청 전용 서브포럼을 찾지 못했습니다
네, 하지만 Discourse를 업데이트하거나 다시 빌드한 후에도 프록시 설정이 유지되기를 바랍니다. Docker를 다루는 것은 다소 까다로울 수 있습니다.