要件は、企業のVPNとほぼ同じように見えます。インターネットアクセス(およびおそらく他のアクセス)の目的で、ラップトップをホームネットワーク上にあるように見せたいとします。
私はIPsecVPNを使用していません。正しく構成すれば正常に機能するはずですが、pfSenseのOpenVPNサーバーとWindows、LinuxのOpenVPNクライアント、およびAndroid =何年もの間、OpenVPN側のガイダンスを提供します。
まず、推奨される読み物: https://doc.pfsense.org/index.php/VPN_Capability_OpenVPN -リモートアクセスサーバーセクションが必要です--- https://www.highlnk。 com/2013/12/configuration-openvpn-on-pfsense / -ウィザードをスキップして、ウィザードの後に表示される通常の設定タブに直接移動できます。 - https://openvpn.net/index.php/open-source/documentation/howto.html -pfSenseのGUIは、構成ファイルの大部分を書き込むだけであることに注意してください。キーまたは3つを生成します。
さて、それが私が信じていることなので、高セキュリティ設定のためのいくつかの推奨事項
- pFsense、システム、証明書マネージャー
- VPN用のCAを作成します
- 署名にはSHA256またはSHA512を使用し、2048または4096ビットのRSAキーを使用します。
- ALIX(500Mhzシングルコア、256MBのRAM)でも、4096ビットのキーで問題ないことがわかりました。
- 理想的には、「VPN1Home_CA_2014Dec」のような名前を付けます。
- 後で、次のHeartbleedエクスプロイトによって証明書の再生成が必要になったとき、またはベビーモニターなど、別の目的で別のVPNが必要になったときに、これが必要になります
- VPNの「サーバー」証明書を作成します
- 署名にはSHA256またはSHA512を使用し、2048ビットまたは4096ビットのRSAキーを使用します。
- 作成したCAにCAを設定します
- 理想的には、「VPN1Home_Server_2014Dec」のような名前を付けます
- あなたのラップトップ、あなたの電話、そしてあなたが望む他のもののための「クライアント」証明書を作成してください
- CAのCRL、証明書失効リストを作成します
- 空のままにしておくこともできますが、後で証明書を取り消す必要がある場合に備えて、VPNに1つ設定しておくこともできます。
- pfSenseでは、Services-> OpenVPN
- WANインターフェース
- デフォルトを使用するよりも、エフェメラル範囲(49152〜65535)のポートを選択するのが好きです https://en.wikipedia.org/wiki/Ephemeral_port
- チェックマークTLS認証
- TLS Authは、私がHeartbleedにそれほど関心を持っていなかった理由です。
- それがあなたのための鍵を作成させてください
- DHパラメーターの長さ2048または4096
- ALIX(500Mhzシングルコア、256MBのRAM)でも、4096ビットのキーで問題ないことがわかりました。
- 暗号化アルゴリズム
- わかりました、ALIX(500Mhzシングルコア、256MBのRAM)ではAES-128を使い続けます
- クライアントがサポートするものに応じて、好きな長さでCamelliaまたはAESをここで選択します。
- 明らかに、ネットワークを設定します
- リダイレクトゲートウェイをチェックする必要があります。これは、「redirect-gatewaydef1」オプションを制御するオプションです
- つまり、VPNを介してすべてのトラフィックを送信します。
- これにより、すべてのラップトップトラフィックがpfSenseボックスに送信され、次にインターネットに送信されます。
- インターネットデータ転送のほとんどが圧縮可能でない限り、圧縮を使用しないでください
- 必要がない限り、クライアントが互いに話すことを許可しないでください
- 詳細:入力
- 注:純粋な証明書ベースのセキュリティを使用している場合は、pfSenseユーザーを作成する必要はありません
- pfSenseで、DNS転送/リゾルバーが設定されていることを確認します。
- pfSenseで、ファイアウォールルールを設定および/または検証します
- WANインターフェース
- 上で選択したポートで、インバウンド、TCPまたはVPNに一致するUDPのいずれか。
- 作業が完了するまで、そしておそらくその後も、ロギングをオンにします。
- OpenVPNインターフェース
- vPNクライアントに割り当てたIP範囲で、DNS(53)上のUDPをトンネルネットワークのx.y.z.1アドレスに渡し、クライアントがVPNを介してDNSを取得できるようにします。
- vPNクライアントに割り当てたIP範囲で、NTP(123)のUDPをトンネルネットワークのx.y.z.1アドレスに渡して、クライアントがVPNを介して時刻を同期できるようにします。
- 少なくとも問題が解決するまで、これらのログオンをオンにします
- あなたのクライアントのために
- 必要に応じて、OpenVPNクライアント構成をエクスポートするpfSenseパッケージを使用できます
- バイナリパッケージをダウンロードすることもできます
- Android:OpenVPN for Android by Arne Schwabe
- Windows:OpenVPNコミュニティクライアント
- Linux:ディストリビューションのOpenVPNパッケージを使用する
- 次のファイルが必要になります:
- システム、Cert Manager、CA、CAの証明書のみ
- キーをダウンロードしないでください!!!証明書のみ
- 好きな名前を付けてください。おそらく、すでに作成したわかりやすい名前です。
- 「caca.crt」クライアント設定行で使用されます
- 明らかに、ca.crtを説明的なファイル名に置き換えてください。
- システム、証明書マネージャー、証明書、クライアント証明書、およびキー
- はい、これについては、キーも
- 好きな名前を付けてください。おそらく、すでに作成したわかりやすい名前です。
- 「certclient.crt」クライアント構成行で使用されるクライアント証明書
- 明らかにclient.crtを説明的なファイル名に置き換えてください。
- 「certclient.key」クライアント構成行で使用されるクライアントキー
- 明らかにclient.keyをあなたの説明的なファイル名に置き換えてください。
- サービス、OpenVPN、VPN、TLS共有キー
- テキストボックスからテキストファイルにコピーして貼り付けるだけです。テキストファイルのデフォルト名は「ta.key」です。
- 「tls-authta.key1」クライアント構成行で使用されます
- 明らかにta.keyをあなたのファイル名に置き換えてください。
- GUIを使用するか、適切と思われるように.confファイルを自分で編集して、必要に応じて構成を編集します
- サーバーで設定したパラメーターと一致します。参照が役立つか、pfSenseのOpenVPNサーバー構成ファイルを検索して単にそれを読むことができます。 tls-authの1と0を除いて、ほとんどの暗号パラメータは両方で同じです。
- tls-cipher を追加することを忘れないでください
写真はとても役に立ちました。それを見ることができなくなった人にとって、望ましい「仮想」構成は次のようになりました。
インターネット| pfSense |ラップトップ
私が提案しているactual構成は次のとおりです。
インターネット(pfSenseの場所から来る)| pfSense |インターネット(OpenVPN接続のみ)|ラップトップ
役立つ場合と役に立たない場合がある追加のリンク: http://pfsensesetup.com/video-pfsense-vpn-part-three-openvpn-pt-1/