PROXY v2 fingerprint/mTLS forwarding: end-to-end integration test against the real Harper consumer

Đang mở
#29 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
rust
Lĩnh vực
networking, security, testing

Hướng nghiên cứu

Bắt đầu bằng việc xem xét harness test:integration hiện có của symphony và tài liệu PROXY v2 trong README, sau đó xác nhận các điều kiện tiên quyết trong #27 và HarperFast/harper#1858. Thêm một tích hợp Harper thực sự bao quát TLS/mTLS, HTTP và MQTT, xác thực bằng chứng chỉ được chuyển tiếp, cùng các fingerprint JA3/JA4; được xem là hoàn tất khi toàn bộ wire contract được xác minh end-to-end.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Follow-up from @hdbjeff's review on #23 (documentation/assurance point) and the mTLS forwarding work in #27.

What's missing

Symphony's PROXY v2 TLV emission (JA3 0xE0 / JA4 0xE1 fingerprints, and mTLS client-cert chain 0xE2 + SSL/authority/ALPN TLVs from #27) is currently covered only by symphony-side encoder tests — we assert the bytes symphony writes, not that the intended consumer reads them correctly.

The consumer is Harper, whose PROXY v1/v2 decoder lands in HarperFast/harper#1858 (shared decoder + withProxyProtocol for MQTT/raw sockets, synthesized getPeerCertificate). The two sides agree on a wire contract (TLV type numbers, SSL verify semantics, DER-leaf-first chain ordering) that nothing tests jointly.

Proposed

Once symphony #27 and harper #1858 both merge, add an integration test that:

  1. Stands up a real Harper instance behind symphony (TLS termination + mTLS on a route with sourceAddressHeader: 'proxyProtocolV2').
  2. Connects a client with a CA-signed client cert.
  3. Asserts Harper authenticates the request via the forwarded cert (HTTP and MQTT paths) and sees the correct fingerprint — i.e. the full wire contract round-trips.

This belongs wherever the cross-repo harness lives (symphony's test:integration already pulls Harper as a dev-dep, or a harper-side integration test). Documenting the expected consumer / trust boundary / TLV encoding in the README (partially done in #27) is the lighter-weight half of the same ask.

Blocked on: #27, HarperFast/harper#1858.

🤖 Filed by Claude Fable 5 on Kris's behalf

Ngôn ngữ chính
Rust
Star
1
Fork
0
Merge trung bình
19 giờ 12 phút
Pull request đã merge (30 ngày)
13

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của HarperFast/symphony

Tất cả issue của HarperFast/symphony

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.