VPNを開始する前に、MacでVPNを使用して侵害を防ぐにはどうすればよいですか?


11

ほとんどの経験豊富なユーザーが聞いたことがあるように、公共の信頼できないWi-FiでMacを使用することは潜在的に有害である可能性があります。Firesheep 1のようなツールを使用すると、暗号化されていない通信を簡単に傍受できます。

フルトンネルVPNを使用してすべての通信を暗号化することは、盗聴に対する魔法の解決策としてよく言及されますが、もちろんそれほど簡単ではありません。

  • VPN接続のプロトコルと構成によっては、接続が簡単に切断される場合があります。(例:TLS vs UDP)
  • パブリックネットワークに接続しても、VPN接続はすぐは確立されません

私は、最後の2つの点が重要であることを考える多くのネットワーク設定は、様々なアプリケーションがすぐに自分のサーバーに話を変更するたびので-私はそれがだと仮定しconfigd、右のことを通知それら?

つまり、VPNトンネルが確立される前に、インターネットを必要とするほとんどの(実行中の)プロセス通信します。

優れたVPNユーザーであるには、2つの要素があります。

  1. それが確立される前に物事が平文で送信されないことを確認します。
  2. VPNに障害が発生した場合、後でクリアテキストで送信されないようにします

パブリックネットワークのMacでVPNを使用して、VPNが起動する前に暗号化されていないトラフィックを制限するにはどうすればよいですか?


これを再検討するのは良いことです-私がリンクした古い質問は、VPNがいつ接続をドロップしたかを知るために、物事を安全に開始するために設定する方法よりも焦点を合わせているようです-したがって、 VPN。
bmike

回答:


2

ネットワークギアの2番目の部分を問題に持ち込む解決策は別にしておきましょう。VPNがこれに失敗した後にトラフィックを停止するという問題についても、関連しますが、別の質問にしましょう。

私はこの問題をユーザー中心の解決策と見なし、OS Xの動作を変更することで簡単に達成できるものではないと考えています。

Macに2つのアカウントを設定します(どちらも管理者アカウントである必要はありませんが、どちらかである場合は、システム設定を変更するために3つ目のアカウントは必要ありません)。

  1. 何も実行せず、VPN接続のみを確立するために存在するシェルアカウント。
  2. VPNで適切に保護された後でのみネットワークにアクセスできるようにするプログラムを実行するメインアカウント。

したがって、ユーザーの簡易切り替えを有効にすると、メインアカウントからログアウトできます。これにより、そのユーザーのプログラムやプロセスがバックグラウンドで実行され続けることがなくなります。ほとんどのOS Xアプリは適切に動作し、画面上にアクティブウィンドウがない場合はネットワークアクセスを一時停止しますが、何も起こらないことを確認するためにこれを永久に監視およびテストする必要があります-ログアウトは維持するのが簡単です。

ここで、上記の「アカウント」をOSに置き換えて、Fusion(またはParallelsまたはその他)のような仮想化システムを実行し、ホストOSがVPN上のすべてを保護した後でゲストOSを起動することもできます。選択するVMソフトウェアによっては、ネットワークを制御することもでき、ゲストOSが実行されている場合でもアクセスをオンまたはオフにすることができます。これは基本的に、最初は考慮しないと述べた追加のハードウェアをシミュレートしています。

これが、旅行や、信頼できないネットワークを使用しているときの安全性を高め、常に伴うリスクを最小限に抑える方法の1つであることを示しています。他の誰かがネットワークを所有している場合-彼らはDNSを所有し、パケットをログに記録し、man-in-the-middle(MITM)攻撃を試み、すべてのパケットを深く検査して、VPNトンネル内を何が流れているかを判断しようとします。


1
これはかなり合理的な答えです。2番目のユーザーアカウントでVMを使用するのは簡単です。OSはセキュリティで保護されていないネットワークトラフィックを許可する場合がありますが、冗長なユーザーアカウントの制限された環境にあるかどうかは問題ではありません。
gentmatt 2013

簡単なボタンがあればいいのにと思いますが、ご覧のとおり、OS Xは稼働中のパスを使用するように設計されているため、カーネルレイヤーでトラフィックの前後を制御するのは簡単ではありません。OSはすべてをシャットダウンするように設計されていませんが、ネットワーク機器はシャットダウンします。
bmike

3

これは完全にMacOS X GUIの外にあるアプローチです。したがって、この問題のアプローチは、ネットワークまたはVPN設定に干渉しません。

IPSEC VPNを使用したいとします(500 / udp == isakmp&50 / ip == espの使用に基づく)。

ipfwVPNを構築するために必要なプロトコルのみを許可する構成ファイルを作成します。

/usr/bin/sudo cat <<____eof >/etc/ipfw.vpn.rules
# VPN trafic contention
#
# DHCP
add 00100 permit udp from any to any src-port bootpc dst-port bootps
# DNS
add 01000 permit udp from me to any dst-port domain
add 01010 permit udp from any to me dst-port domain
# isakmp
add 01050 permit udp from me to any dst-port isakmp
add 01060 permit udp from any to me dst-port isakmp
# esp
add 01100 permit esp from me to any
add 01110 permit esp from any to me
# all other ip go to the central black hole
add 20000 deny ip from any to any
____eof

構文に問題がないことを確認します。

/usr/bin/sudo /sbin/ipfw -n /etc/ipfw.vpn.rules

カーネルにインストールします。

/usr/bin/sudo /sbin/ipfw /etc/ipfw.vpn.rules

OSが再起動できることを確認し、通常のDHCPを通じてIPアドレスを取得します。ほとんどのIPプロトコルがブロックされていることを確認します。

ping www.google.com

もちろん、SSL上でVPNを使用したい場合は、この構成ファイル(isakmp + esp→https)を適合させる必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.