web-dev-qa-db-ja.com

HTTPSを隠していないIPSECIKEv2

Linux strongSwan U5.3.5/K4.4.0-116-generic on Ubuntu 16.04 with IOS 11IKEv2clientを使用しています。

クライアント(IOS 11)で接続が正常に確立され、IPチェックWebページにアクセスした場合(例: myip.comには、VPNサーバーのアドレスが表示されます。

ただし、HTTPS用に同じサーバー上のカスタマイズされたポートに接続すると、IKEv2が確立されていても、邪悪なNATファイアウォールによってブロックされる可能性があることがわかりました。

私の理解では、IPSECはポート500/4500を介してトンネルを作成し、すべてのトラフィックを暗号化します。したがって、私の会社または他の(国レベルの)ファイアウォールは異なるトラフィックをどのように区別するのでしょうか?つまり、httpsリクエストを任意のポートにドロップします。

IPアドレスを使用して直接アクセスしようとしました。つまり、 https://xx.xx.xx.xx:12345 ですが、違いはないようです。

私の疑いは、このトンネルはエンドツーエンド(私のiPhoneからサーバー)のトンネルではないということです。私のiPhoneが遅れているのでNATどういうわけか、私のIOSから私の会社のゲートウェイへの接続は暗号化されていません。これが理由ですか?

これがipsec.confconnです:

config setup
    cachecrls=yes
    uniqueids=yes
    charondebug=""

conn %default
    keyingtries=%forever
    dpddelay=30s
    dpdtimeout=120s


conn IKEv2-EAP-TLS
    auto=add
    type=tunnel
    keyexchange=ikev2
    dpdaction=clear
    dpddelay=300s
    authby=pubkey
    left=%SERVERIP%
    leftid=%SERVERIP%
    leftsubnet=0.0.0.0/0
    leftcert=vpnSrvCert.der
    leftsendcert=always
    right=%any
    rightid=%any
    rightsourceip=10.10.10.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightauth=eap-tls

[更新]試行錯誤の末、その理由はBillThorが説明したことだと思います。検閲のないWIFI環境で、同じ(IKEv2)サーバー1のHTTPSポートに接続すると、それは別個のTCPリンク)であることがわかりました。

一方、打ち切られたWIFI内から別のL2TP server2(HTTPSではない)に接続すると、元のserver1のHTTPSポートに正常に接続できました。

1
chrisky

VPNトラフィックは、パケット検査によって、またはこの場合は使用中のポートによってのみ簡単に検出されます。あなたの会社があなたが何をしようとしているのか、何をしているのかを知っている可能性は十分にあります。

VPNへの接続に使用しているのと同じIPアドレスに到達しようとすると、VPNに送信されません。少なくとも、VPNサーバーのアドレスは直接接続されています。 VPNは、VPNで使用されていないポートの宛先をルーティングできる場合があります。

右側が10.0.0.0/8プライベートアドレススペースにあるため、IPアドレスはユーザー側でネットワークアドレス変換を受けます。同じLAN上の複数のデバイスが同じリモートVPNサーバーに接続している場合、これは破損する傾向があります。

ブラウザのトラフィックを常にVPNにルーティングする場合は、VPN経由で到達可能なアドレスでプロキシサーバーを使用するようにブラウザを構成する必要があります。アドレスがローカルIPアドレスとして表示されている場合は、VPNを通過しています。

4
BillThor