CDN 뒤에 있는 사이트가 이란에서 호스팅되는지 확인하는 “Boobs check” 기법
(twitter.com/hkashfi)- CDN 뒤에 있는 사이트가 이란 내부 서버에서 호스팅되는지 확인하는 간단한 요청 방법으로,
curl -i https://domain/boobs.jpg요청을 사용 - 요청 결과가 403 Forbidden 이고 본문에 10.10.34.x 대역 IP가 나타나면, 트래픽이 이란 내부 필터링 시스템을 거쳐 응답된 것을 의미함
- 이는 이란의 기본적인 검열 필터링이 적용된 상태에서 발생하는 전형적인 응답 패턴으로 설명됨
- CDN이 있더라도 대상 사이트가 실제 물리적으로 이란 내부에 있을 경우 높은 확률로 이 패턴이 나타남
Hacker News 의견
-
이 동작은 리버스 프록시나 CDN이 다음과 같이 설정되어 있을 때만 작동함
Proxy/CDN: HTTPS(443) → 원본 서버: HTTP(80)
예를 들어 Cloudflare의 Flexible 모드가 이런 방식임
원본 서버가 올바른 TLS 구성을 사용하면(심지어 self-signed 인증서라도) 이 방법은 작동하지 않음
즉, 업스트림 연결이 암호화되지 않았을 때만 성공함
테스트하려면 다음 명령으로 확인 가능함
curl [http://www.digiboy.ir/boobs.jpg](http://www.digiboy.ir/boobs.jpg) -v- 아, Cloudflare라니. 세상에서 가장 널리 배포된 암호 해제기 같음
- DigiNotar 사건처럼, 이란의 National Information Network에서 승인한 유일한 루트 CA를 사용할 때도 작동함
- 이건 사실이 아닌 것 같음. 리버스 프록시나 CDN은 원본 서버가 TLS를 사용하더라도 전체 요청 URL을 볼 수 있음 (mTLS가 아니라면)
필터링이 프록시/CDN에서 일어나는지, 원본에서 일어나는지는 확실치 않음. 둘 다 가능함 - 나도 비슷한 구성을 해봤음
client → LB(nginx) → LB에서 TLS 종료 → proxy_pass로 백엔드 nginx로 전달
설정이 의외로 간단했음. 왜 아직도 HTTP를 쓰는지 의문임
집에서도 모든 로컬 도메인에 Let's Encrypt 인증서를 적용했음
참고로 nginx는 HTTPS 로드밸런싱에서 HTTP/2를 지원하지 않아서 haproxy로 바꾸려는 중임 - Digiboy는 기업용 소프트웨어의 보물창고임. 거기서 불법 복제된 HPE iLO 라이선스를 구했음
-
HTTPS에서는 이런 방식이 어떻게 작동하는지 궁금함
중간 홉들이 경로를 볼 수 없어야 하는데, 이게 이란 국경에서 TLS를 종료하고 프록시하는 걸 의미하는 건가?
그렇다면 이란 내 모든 사이트가 HTTP로만 호스팅된다는 뜻인데, 그건 훨씬 큰 의미를 가짐
혹시 인증기관들이 이란 조직에 사설 인증서를 발급하지 못하게 되어 있는 걸까? Let's Encrypt도 포함해서?- 이건 다른 걸 말하는 것임. 백엔드 서버가 이란 내부인지 외부인지 감지하는 문제임
TLS는 백엔드 네트워크가 URL을 읽는 걸 막지 않음 - Cloudflare 업스트림 중 상당수가 예전에는 평문(plaintext) 이었음
그래서 CF가 클라이언트–CF 구간만 TLS로 감싸고 CF–서버 구간은 평문이라 비판받았음 - 맞음. 이란의 National Information Network(NIN) 에서는 합법적인 사이트들이 I.R.Iran CA를 쓰거나 그냥 HTTP를 씀
NIN 등록이 익명성이 거의 없기 때문에, xkcd 538이 꽤 적절한 비유임
- 이건 다른 걸 말하는 것임. 백엔드 서버가 이란 내부인지 외부인지 감지하는 문제임
-
어떤 이유로 누군가가 사이트가 이란에 호스팅되어 있는지 알고 싶어 하는지 궁금함
- 아마도 외국 선전 사이트를 판별하려는 목적일 것임
SNS에 떠도는 잘 알려지지 않은 뉴스 사이트 중 상당수가 실제로는 외국의 심리전(psy-op) 사이트임
기사에 나온 방법으로 이란 기반 사이트를 블랙리스트에 넣을 수 있음 - 미국 기업은 이란과 거래가 불법임
- 나도 개인적으로는 그쪽과 비즈니스하고 싶지 않음
- 혹시 시위 관련 행동 때문일지도 모르겠지만, 정확히는 모르겠음
- 아마도 외국 선전 사이트를 판별하려는 목적일 것임
-
이런 응답을 반환하는 샘플 사이트가 있는지 궁금함
- 나도 성공적으로 요청이 처리되는 샘플 사이트가 궁금함 ;)
- 예시로 tehranpich.com이 있음. Cloudflare 뒤에 있음
- 혹시 인터넷에 boobs 사진이 있냐는 질문인가? (농담조로 반응함)
-
그렇다면 이란이 HTTP 트래픽 전체 앞단에 리버스 프록시를 두고 있는 걸까?
iframe 안의 웹페이지가 어떤 내용인지도 궁금함- 표준 DPI 방화벽이면 그 정도는 충분히 가능함. 아무 문제 없음
-
예전에 친구들과 함께 영어와 아랍어가 섞인 “경고” 이미지를 본 적이 있음
이란 정부의 검열 부서 경고처럼 보였는데, 재미로 포럼 요청의 1%에 그 이미지를 띄우게 설정했었음 :) -
기사를 읽었는데 무슨 일이 일어난 건지 잘 모르겠음. 누가 설명 좀 해줄 수 있을까?
- 아마 이런 식일 것임
GET [https://somedomain.com/boobs.jpg](https://somedomain.com/boobs.jpg)요청을 하면
이란 외부 서버에서는 404(Not Found)를 반환하지만,
이란 내부 서버에서는 방화벽이 “boobs”라는 단어를 감지하고 요청을 차단해 403(Forbidden)을 반환함
즉, 웹서버까지 전달되지 않고 방화벽에서 걸러짐
- 아마 이런 식일 것임
-
혹시 Scunthorpe 문제가 생기는 건 아닐까?
조류 관찰가들이 ‘boobies’라는 새를 검색하면 ‘boobs.jpg’처럼 차단되는 건지 궁금함 -
그렇다면 10.x.x.x 대역이 이란 내부에서 공용 라우팅되는 걸까?
왜 정부가 자체 IP 공간을 사용하지 않는지도 의문임- IP 주소는 미국이 아닌 이상 비쌈.
아마도 일반 기업용 필터링 제품을 재활용하는 것일 수 있음.
결국 이란 인터넷은 거대한 사설망처럼 동작함 - 나도 몇몇 이란 사이트를 테스트했는데, 403도 iframe도 보지 못했음
- IP 주소는 미국이 아닌 이상 비쌈.
-
이런 아이디어를 확장해서, 검열 정권에서 차단될 가능성이 높은 인도주의 콘텐츠를 모은 위키피디아 링크 목록을 만들면 어떨까 생각함
예: 톈안먼 사건, 원자바오 부패 사건, Epstein 이메일 등
Netflix의 Fast.com처럼, 이런 프로젝트는 검열 체제를 그들 스스로의 무기로 바꾸는 행위가 될 수 있음