crazy idea to get origin IP in a TLS/SSL3 stream without terminating it.
As a new special load balancer type TLS/SSL:
- replace the SNI TLS extension in the TLS Client Hello with the source IP address.
Why?
[*] its not encrypted or protected beyond a TCP checksum
[*] Apache and maybe other servers have visibility of it in a server variable (Apache SSL_TLS_SNI (undocumented) since 2.2.12
https://issues.apache.org/bugzilla/show_bug.cgi?id=54292)
[*] Its at the beginning of the conversation so its easy(er) to manipulate
A bit of funky u32 firewall rules match the TLS Client Hello packet to push this to a nfqueue.
A small bit of nfqueue code could insert a TLS extension SNI into the packet contain the text representational of the source IP address. The original SNI extension would be lost.
Perhaps another extension could be chosen. After all there is 2^32 of them and ~18 are allocated.
http://www.iana.org/assignments/tls-ext ... values.xmlCrazy idea obviously but it could work.

EDIT: won't work - Client Hello is part of the hash that is validated when Finished Handshake occurs.