1 điểm bởi GN⁺ 2025-12-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • Một cách yêu cầu đơn giản để xác định liệu một trang web đứng sau CDN có được lưu trữ trên máy chủ bên trong Iran hay không là dùng yêu cầu curl -i https://domain/boobs.jpg
  • Nếu kết quả trả về là 403 Forbidden và trong phần thân xuất hiện địa chỉ IP dải 10.10.34.x, điều đó có nghĩa là lưu lượng đã đi qua hệ thống lọc nội bộ của Iran trước khi phản hồi
  • Điều này được mô tả là mẫu phản hồi điển hình xuất hiện khi cơ chế lọc kiểm duyệt cơ bản của Iran đang được áp dụng
  • Ngay cả khi có CDN, nếu trang đích thực sự được đặt vật lý bên trong Iran thì rất có khả năng mẫu này sẽ xuất hiện

1 bình luận

 
GN⁺ 2025-12-02
Ý kiến Hacker News
  • Cách này chỉ hoạt động khi reverse proxy hoặc CDN được cấu hình như sau
    Proxy/CDN: HTTPS(443) → máy chủ gốc: HTTP(80)
    Ví dụ, Flexible mode của Cloudflare hoạt động theo kiểu này
    Nếu máy chủ gốc dùng cấu hình TLS đúng cách (kể cả chứng chỉ self-signed) thì cách này sẽ không hoạt động
    Nói cách khác, nó chỉ thành công khi kết nối upstream không được mã hóa
    Để kiểm tra, có thể dùng lệnh sau
    curl [http://www.digiboy.ir/boobs.jpg](http://www.digiboy.ir/boobs.jpg) -v

    • À, lại là Cloudflare. Nó giống như bộ giải mã được triển khai rộng rãi nhất thế giới
    • Giống như vụ DigiNotar, nó cũng hoạt động khi dùng root CA duy nhất được phê duyệt trong National Information Network của Iran
    • Có vẻ điều này không đúng. Reverse proxy hoặc CDN vẫn có thể nhìn thấy toàn bộ URL yêu cầu ngay cả khi máy chủ gốc dùng TLS (trừ khi là mTLS)
      Không rõ việc lọc diễn ra ở proxy/CDN hay ở máy chủ gốc. Cả hai đều có thể
    • Tôi cũng từng triển khai cấu hình tương tự
      client → LB(nginx) → kết thúc TLS ở LB → chuyển tiếp tới nginx backend bằng proxy_pass
      Cấu hình đơn giản đến bất ngờ. Tôi thắc mắc vì sao họ vẫn còn dùng HTTP
      Ngay cả ở nhà tôi cũng đã áp dụng chứng chỉ Let's Encrypt cho mọi domain nội bộ
      Nhân tiện, nginx không hỗ trợ HTTP/2 cho cân bằng tải HTTPS nên tôi đang định chuyển sang haproxy
    • Digiboy là kho báu phần mềm doanh nghiệp. Tôi đã lấy được giấy phép HPE iLO bị bẻ khóa từ đó
  • Tôi thắc mắc cơ chế này hoạt động thế nào với HTTPS
    Các hop trung gian lẽ ra không thể nhìn thấy đường dẫn, vậy điều này có nghĩa là TLS bị kết thúc và proxy ở biên giới Iran sao?
    Nếu vậy thì có nghĩa là mọi trang web trong Iran chỉ được host bằng HTTP, và đó còn là vấn đề lớn hơn nhiều
    Hay là các CA không thể cấp chứng chỉ riêng cho các tổ chức Iran? Kể cả Let's Encrypt?

    • Đây là đang nói về chuyện khác. Vấn đề là phát hiện máy chủ backend nằm trong hay ngoài Iran
      TLS không ngăn mạng backend đọc URL
    • Trước đây, khá nhiều kết nối upstream của Cloudflare là plaintext
      Vì thế CF từng bị chỉ trích là chỉ bọc TLS cho đoạn client–CF còn đoạn CF–server thì vẫn là plaintext
    • Đúng vậy. Trong National Information Network (NIN) của Iran, các trang hợp pháp либо dùng I.R.Iran CA либо đơn giản là dùng HTTP
      Vì việc đăng ký NIN hầu như không có tính ẩn danh, xkcd 538 là một phép so sánh khá phù hợp
  • Tôi tò mò vì sao ai đó lại muốn biết một trang web có được host ở Iran hay không

    • Có lẽ là để nhận diện các trang tuyên truyền nước ngoài
      Khá nhiều trang tin ít tên tuổi lan truyền trên mạng xã hội thực chất là các trang chiến tranh tâm lý từ nước ngoài
      Phương pháp trong bài có thể dùng để đưa các trang đặt tại Iran vào danh sách đen
    • Với doanh nghiệp Mỹ thì giao dịch với Iran là bất hợp pháp
    • Cá nhân tôi cũng không muốn làm ăn với phía đó
    • Cũng có thể liên quan đến các hoạt động biểu tình, nhưng tôi không chắc
  • Tôi muốn biết có trang mẫu nào trả về kiểu phản hồi này không

    • Tôi cũng tò mò về một trang mẫu có thể xử lý thành công yêu cầu này ;)
    • Ví dụ có tehranpich.com, nằm sau Cloudflare
    • Hay là bạn đang hỏi liệu trên Internet có ảnh boobs không? (phản hồi đùa)
  • Vậy có phải Iran đặt reverse proxy ở trước toàn bộ lưu lượng HTTP không?
    Tôi cũng tò mò nội dung của trang web trong iframe là gì

    • Với tường lửa DPI tiêu chuẩn thì như vậy hoàn toàn khả thi. Không có vấn đề gì
  • Trước đây tôi từng thấy cùng bạn bè một ảnh “cảnh báo” trộn tiếng Anh và tiếng Ả Rập
    Nó trông giống như cảnh báo từ cơ quan kiểm duyệt của chính phủ Iran, nên để vui tôi từng cấu hình cho 1% yêu cầu trên forum hiển thị ảnh đó :)

  • Tôi đã đọc bài nhưng vẫn không hiểu chuyện gì xảy ra. Có ai giải thích giúp không?

    • Có lẽ là như thế này
      Khi gửi yêu cầu GET [https://somedomain.com/boobs.jpg](https://somedomain.com/boobs.jpg)
      máy chủ bên ngoài Iran sẽ trả về 404 (Not Found),
      còn máy chủ bên trong Iran thì tường lửa sẽ phát hiện từ “boobs” và chặn yêu cầu bằng 403 (Forbidden)
      Tức là nó bị chặn ở tường lửa trước khi tới webserver
  • Liệu có thể xảy ra vấn đề Scunthorpe không?
    Tôi tự hỏi liệu những người xem chim tìm từ ‘boobies’ có bị chặn kiểu như boobs.jpg không

  • Vậy dải 10.x.x.x có đang được định tuyến công khai bên trong Iran không?
    Tôi cũng thắc mắc vì sao chính phủ không dùng không gian IP riêng của họ

    • Địa chỉ IP rất đắt, ít nhất là ngoài nước Mỹ.
      Có thể họ chỉ đang tái sử dụng sản phẩm lọc dành cho doanh nghiệp thông thường.
      Xét cho cùng, Internet Iran vận hành như một mạng riêng khổng lồ
    • Tôi cũng đã thử với vài trang Iran, nhưng không thấy 403 hay iframe nào
  • Tôi nghĩ có thể mở rộng ý tưởng này bằng cách tạo một danh sách liên kết Wikipedia về nội dung nhân đạo dễ bị chặn trong các chế độ kiểm duyệt
    Ví dụ: sự kiện Thiên An Môn, vụ tham nhũng của Ôn Gia Bảo, email Epstein, v.v.
    Giống như Fast.com của Netflix, một dự án như vậy sẽ biến chính hệ thống kiểm duyệt thành vũ khí chống lại nó