443 ポートを活用する
443 ポートで https / ssh / openvpn / wireguard を全部の待受ができたらいいなと思った。
フリーWiFiが443 / 53 /80 以外のポートを使わせてくれない事が非常に多い。公衆無線LANでポート監視やるのは流石にまずいと思うんだけど。実際やられてるんだから仕方ない。あまり監視をしちゃうと、某国みたいにVPNのイタチごっこが始まるので本当に勘弁してほしい。
よろしい、ならば抵抗してみよう。
sslh 最新版が UDP に対応
sslh の最新版(1.22)がUDPに対応していた
最新版コードを持ってきて ビルドする
git clone https://github.com/yrutschle/sslh.git cd sslh make
UDP にも対応させる
UDPはfork でパケットを流せないらしいので、select コールで使うらしい
./sslh-select -F /etc/sslh.conf
/etc/sslh.conf
verbose: 0; foreground: true; inetd: false; numeric: false; transparent: true; timeout: 1; user: "sslh"; pidfile: "/var/run/sslh/sslh-select.pid"; # Change hostname with your external address name. listen: ( { host: "192.168.1.222"; is_udp: false; port: "443"; }, { host: "192.168.1.222"; is_udp: true; port: "443"; } ); protocols: ( { name: "ssh"; service: "ssh"; host: "127.0.0.1"; port: "8022"; is_udp: false; fork: true; }, { name: "openvpn"; host: "localhost"; port: "1194"; }, { name: "tls"; host: "127.0.0.1"; port: "443"; alpn_protocols: [ "h2", "http/1.1", "spdy/1", "spdy/2", "spdy/3" ]; is_udp: false; fork: true; log_level: 0; tfo_ok: true }, # wireguard { name: "regex"; host: "192.168.1.21"; log_level: 2; is_udp: true; fork: false; port: "11945"; regex_patterns: [ "\x01\x00\x00\x00" ]; } );
wiregaurd は regexで
regex_patterns: [ "\x01\x00\x00\x00" ];
これで、wireguardのパケットを識別できるらしい。識別できるってことはブロックされちゃうってことでもあるけど、そこまで流行ってないwireguardだ、これでしばらく通信できそうな気はする。
UDP と TCP を同時リッスンするポイント
リッスンをudp/tcp と2つかくことが設定ポイントになる。
listen: ( { host: "192.168.1.222"; is_udp: false; port: "443"; }, { host: "192.168.1.222"; is_udp: true; port: "443"; } );
UDP サポートについて
UDPは本家のマニュアルに記載が追加されていた。
https://github.com/yrutschle/sslh/blob/master/doc/config.md#udp
UDPがサポートされたのは2021/08 の 1.22 リリース前後のようです。
443 ポートで隠す?
暗号化通信をしていたとしても、SNIでドメイン名は丸見えだし、IPアドレスは隠せない。
そうなると、必然的にVPNを使うことになる。TLSでトンネルを掘るとか、HTTPSで Proxy Connectをすることになる。
となると、TLS通信を監視する必要が出てくる。そのためにカスペルスキーのようなソフトでTLSの監視を行うことになる。
となると、すべての通信はLocalhost経由になり、監視されることになり、証明書を信用できなくなる。本当にそれは望んだ自由な社会なのだろうか。
IPv6でIP範囲指定が難しくなり、すべての端末がグローバルアドレスになりつつある現代でローカルネットやPC管理を前提としたセキュリティは崩壊寸前かもしれない。