前書き

より多くのプライバシーでインターネットを閲覧する理由は、それを達成する方法と同じくらい異なります。

このチュートリアルでは、インターネットブラウジングエクスペリエンスの3つの重要なコンポーネントを保護するために、virtual private network(VPN)をサーバーにセットアップする方法を詳細に説明します。

  • 暗号化されていないトラフィックを保護し、Cookieやその他のトラッカーを防止し、ローカルコンピューターのIPアドレスをマスクすることにより、Webトラフィックをプライベート化します

  • VPNから直接GoogleのDNSサーバーに送信することで、ローカルISPがDNSクエリを記録しないようにします

  • ウイルスと悪意のあるアプリケーションのスキャンとアクセス防止

商用のVPNサーバーを使用するのではなく、独自のVPNサーバーを実行することで、閲覧履歴のログ記録を回避することもできます(そうしない場合)。 最後に、物理的な場所を選択できるため、待ち時間を最小限に抑えることができます。 ただし、VPNの使用は通常、直接インターネット接続を使用するよりも遅くなります。

これを行うには、Debian 8サーバーに次のアプリケーションをインストールして構成します。

  • * http://www.clamav.net/index.html [ClamAV] *は、トロイの木馬、ウイルス、マルウェア、その他の悪意のある脅威を検出するためのオープンソースのウイルス対策エンジンです。

  • * http://www.thekelleys.org.uk/dnsmasq/doc.html [Dnsmasq] *は、DNS(およびその他の)サービスを提供するソフトウェアパッケージです。 DNSキャッシュとしてのみ使用します

  • * http://www.server-side.de/documentation.htm [HAVP] * HTTP AntiVirusプロキシは、ウイルス対策フィルターを備えたプロキシです。 コンテンツをキャッシュまたはフィルターしません。 サードパーティのウイルス対策エンジンですべてのトラフィックをスキャンします。 このチュートリアルでは、 `+ HAVP `を_Transparent Proxy_として使用し、 ` HAVP `と ` Privoxy +`を連結します

  • * https://openvpn.net/index.php/open-source.html [OpenVPN Community Edition] *は人気のあるVPNサーバーです。 信頼されたサーバーへの安全な接続を提供し、DNSサーバー設定をクライアントにプッシュすることもできます。 このチュートリアルでは、_OpenVPN_という用語をVPNサーバーの名前の短縮形として使用します

  • * http://www.privoxy.org/ [Privoxy] *は、公式Webサイトの_プライバシーを強化し、WebページデータとHTTPヘッダーを変更し、アクセスを制御し、広告を削除するための高度なフィルタリング機能を備えた非キャッシュWebプロキシです。およびその他の不快なインターネットjunk_

このチュートリアルを完了すると、次のプライバシーゲートウェイが得られます。

  • 公共のWiFiスポットを使用するときに接続を保護します

  • Webサイトからの広告と追跡機能をブロックします

  • サーバー側のDNS応答をキャッシュすることにより、Webページの読み込み時間を短縮します

  • アクセスしたページとダウンロードしたファイルをスキャンして既知のウイルスを探します

使い方

次の図は、このチュートリアルで設定するVPNを介してWeb要求がたどるパスを示しています。

背景が緑色のレーンは、VPNサーバーのコンポーネントです。 緑のボックスは要求ステップを表し、青と赤のボックスは応答ステップを表します。

image:https://assets.digitalocean.com/articles/3-openvpn-examples/openvpn-final.png [VPNサーバーを介したWeb要求のフローチャート]

コンピューターとプライバシーサーバー間のトラフィックは、VPNトンネルを通過します。 ブラウザでWebページを開くと、要求はVPNサーバーに転送されます。 VPNサーバーでは、リクエストはHAVPにリダイレクトされ、その後Privoxyにリダイレクトされます。

PrivoxyはURLをパターンのデータベースと照合します。 URLが一致する場合、URLをブロックし、有効だが空の応答を返します。

URLがブロックされていない場合、Privoxyは非キャッシュプロキシサーバーとして機能し、DNSを照会してURLのコンテンツを取得します。 DNSクエリは、Dnsmasqによって処理およびキャッシュされます。

HAVPはPrivoxyからコンテンツを受信し、ClamAVを介してウイルススキャンを実行します。 ウイルスが見つかると、エラーページが返されます。

前提条件

次の前提条件を満たしていることを確認してください。

システム要求

構成するサーバーは、CPU、RAM、およびディスク領域で簡単になります。 少なくとも1GBのRAMを搭載したドロップレットを選択します。これは、ブラウジングのニーズに対応するのに十分な帯域幅を提供します。

このチュートリアルで選択するオペレーティングシステムはDebian 8です。 Ubuntuのような他のDebianベースのLinuxディストリビューションでもほぼ同じように機能するはずです。

ライセンス

このチュートリアルで使用されるソフトウェアはすべてDebianリポジトリから入手でき、https://www.debian.org/doc/debian-policy [Debianポリシー]の対象となります。

セキュリティ

このサーバーは、すべてのHTTP要求をインターセプトします。 このサーバーを制御する人は、中間者として行動し、すべてのHTTPトラフィックを監視したり、DNS要求をリダイレクトしたりできます。 サーバーを保護する必要があります。 このセクションの冒頭で説明したチュートリアルを参照して、sudoアクセスとファイアウォールを初期レベルの保護として設定してください。

ステップ1-OpenVPNおよびその他の前提条件のインストール

OpenVPNをまだインストールしていない場合は、今すぐインストールしてください。

チュートリアルhttps://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-debian-8[Debian 8でOpenVPNサーバーをセットアップする方法]をご覧ください。 。

次の手順では、いくつかのパッケージをインストールします。 パッケージインデックスが最新であることを確認するには、次のコマンドを実行してください。

sudo apt-get update

UFWファイアウォールの設定で `+ ssh +`をまだ有効にしていない場合は、次のコマンドで有効にしてください。

sudo ufw allow ssh
sudo ufw enable

ステップ2-Dnsmasqのインストール

この手順では、Dnsmasqをインストールして構成します。 プライバシープロキシサーバーはDnsmasqを使用して、DNSクエリを高速化し、保護します。

Webページに接続するたびに、コンピューターはDNS(ドメインネームシステム)サーバーに問い合わせることにより、そのサーバーのインターネットアドレスを解決しようとします。 コンピューターは、デフォルトでISPのDNSサーバーを使用します。

独自のDNSサーバーを使用すると、次の利点があります。

  • ISPは、接続先のホスト名に関する知識を持ちません。

  • ISPはリクエストを他のサーバーにリダイレクトできません。これは検閲の主な方法の1つです

  • DNSルックアップ速度が向上します

Debianシステムでは、ネームサーバーの設定は `+ / etc / resolv.conf +`という名前のファイルに保存されます。

次のコマンドを使用して、現在のネームサーバー構成を確認します。

cat /etc/resolv.conf

出力:

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4

ご覧のとおり、このシステムのデフォルトのネームサーバーはGoogleのDNSサーバーに設定されています。

次のコマンドで `+ dnsmasq +`をインストールします:

sudo apt-get install dnsmasq

パッケージのインストール後、構成を再度確認します。

cat /etc/resolv.conf

出力:

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

デフォルトのネームサーバーは* 127.0.0.1 *に設定されています。これは、Dnsmasqが実行されるローカルインターフェイスです。

次のコマンドでインストールをテストできます。 出力のクエリ時間に注意してください。

dig digitalocean.com @localhost

出力:

Output. . .

;; Query time:
;; SERVER: 127.0.0.1#53(127.0.0.1)

. . .

次に、同じコマンドを再度実行して、クエリ時間を確認します。

dig digitalocean.com @localhost

出力:

Output. . .

;; Query time:
;; SERVER: 127.0.0.1#53(127.0.0.1)

. . .

2番目のクエリには、キャッシュからの `+ dnsmasq +`が応答します。 応答時間は20ミリ秒から1ミリ秒に短縮されました。 システムの負荷に応じて、キャッシュされた結果は通常1ミリ秒未満で返されます。

ステップ3-ClamAVのインストール

アンチウイルススキャナーをインストールして、既知の悪意のあるダウンロードからVPNが保護されるようにします。

ClamAVをインストールする

ClamAVは、広く使用されているオープンソースのウイルス対策スキャナーです。

ClamAVとそのスキャナーデーモンをインストールします。

sudo apt-get install clamav clamav-daemon

ウイルスデータベースの更新

ClamAVはインストール直後にデータベースを更新し、1時間ごとに更新を確認します。

ClamAVは、データベースの更新ステータスを `+ / var / log / clamav / freshclam.log +`に記録します。 このファイルをチェックして、その自動更新がどのように処理されているかを確認できます。

自動更新が完了するまで待機します。そうしないと、スキャンプロキシ(HAVP)からエラーが発生し、起動しません。

sudo tail -f /var/log/clamav/freshclam.log

アップデートの進行中、現在のステータスが画面に書き込まれます。

OutputFri Jun 19 12:56:03 2015 -> ClamAV update process started at Fri Jun 19 12:56:03 2015
Fri Jun 19 12:56:12 2015 -> Downloading main.cvd [100%]
Fri Jun 19 12:56:21 2015 -> main.cvd updated (version: 55, sigs: 2424225, f-level: 60, builder: neo)
Fri Jun 19 12:56:28 2015 -> Downloading daily.cvd [100%]
Fri Jun 19 12:56:34 2015 -> daily.cvd updated (version: 20585, sigs: 1430267, f-level: 63, builder: neo)
Fri Jun 19 12:56:35 2015 -> Downloading bytecode.cvd [100%]
Fri Jun 19 12:56:35 2015 -> bytecode.cvd updated (version: 260, sigs: 47, f-level: 63, builder: shurley)
Fri Jun 19 12:56:41 2015 -> Database updated (3854539 signatures) from db.local.clamav.net (IP: 200.236.31.1)
Fri Jun 19 12:56:55 2015 ->
Fri Jun 19 12:56:55 2015 -> --------------------------------------

赤でマークされたテキスト「++」が表示されるまで待ちます。

キーボードの `+ CTRL + C +`を押して、テールを終了します。 これにより、コマンドプロンプトに戻ります。

すべてが正常に実行された場合は、* ClamAVの構成*セクションに進むことができます。

(オプション)トラブルシューティング

ウイルスの更新に時間がかかりすぎる場合は、手動で呼び出すことができます。 これは通常の状況では必要ありません。

自動更新サービスを停止します。

sudo service clamav-freshclam stop

アップデーターを手動で呼び出し、その完了を待ちます。 ダウンロードの進行状況はパーセンテージで表示されます。

sudo freshclam

自動更新サービスを開始します。

sudo service clamav-freshclam start

ClamAVを構成する

これで、他のグループがClamAVにアクセスできるようになります。 次の手順でClamAVを使用するようにウイルススキャンプロキシ(HAVP)を構成するため、これが必要です。

お好みのテキストエディターでClamAV設定ファイル `+ clamd.conf +`を編集します。

sudo vi /etc/clamav/clamd.conf

次のパラメーターを「+ true +」に設定します。

/etc/clamav/clamd.conf

AllowSupplementaryGroups

設定を保存して終了します。

`+ clamav-daemon +`を再起動します

sudo service clamav-daemon restart

ステップ4-HAVPのインストール

HAVPはウイルススキャンプロキシサーバーです。 アクセスしたページのすべてのアイテムをスキャンし、悪意のあるコンテンツをブロックします。 HAVPにはウイルススキャナーエンジンは含まれていませんが、かなりの数のサードパーティエンジンを使用できます。 このチュートリアルでは、ClamAVで構成します。

DebianリポジトリからHAVPをインストールします。

sudo apt-get install havp

インストールにはしばらく時間がかかりますので、しばらくお待ちください。

構成ファイルの編集

お気に入りのエディターでHAVPの構成ファイルを読み込みます。

sudo vi /etc/havp/havp.config

ClamAVデーモンでHAVPを実行するには、いくつかの構成オプションを設定する必要があります。

HAVPは、ClamAVライブラリ(デフォルト)またはClamAVデーモンと連携できます。 ライブラリモードには、デーモン(ソケットスキャナー)モードよりも多くのRAMが必要です。 ドロップレットに4 GB以上のRAMがある場合、 `+ ENABLECLAMLIB `を ` true +`に設定し、ライブラリモードを使用できます。

それ以外の場合は、構成ファイルの下部近くにあるこれらの設定を使用します。

/etc/havp/havp.config

ENABLECLAMLIB

. . .

ENABLECLAMD

HAVPのデフォルト設定は、一部のビデオストリーミングサイトに干渉する可能性があります。 HTTP範囲要求を許可するには、次のパラメーターを設定します。

/etc/havp/havp.config

RANGE

インターネット上の多くのコンテンツは画像で構成されています。 画像をベクトルとして使用するエクスプロイトがいくつかありますが、画像をスキャンしないことは多かれ少なかれ安全です。

`+ SCANIMAGES `を ` false `に設定することをお勧めしますが、HAVPで画像をスキャンする場合は、この設定を ` true +`のままにしておくことができます。

/etc/havp/havp.config

SCANIMAGES

画像、ビデオ、および音声のMIMEタイプを持つファイルをスキャンしないでください。 この設定によりパフォーマンスが向上し、ストリーミングビデオコンテンツを視聴できるようになります(VPN全体として十分な帯域幅がある場合)。 この行のコメントを解除して有効にします。

/etc/havp/havp.config

SKIPMIME image/* video/* audio/*

変更するパラメーターがもう1つあります。

このパラメーターは、成功したリクエストを + / var / log / havp / access.log +`にあるログファイルに記録しないようにHAVPに指示します。 アクセスログをチェックしてHAVPが動作しているかどうかを確認する場合は、デフォルト値( `+ true +)のままにします。 実稼働環境では、パフォーマンスとプライバシーを改善するために、このパラメーターを「+ false +」に設定します。

/etc/havp/havp.config

LOG_OKS

変更を保存して、ファイルを終了します。

ユーザー設定

ClamAVを他のグループからアクセスされるように設定したことを覚えていますか?

ここで、* clamav ユーザーを havp *グループに追加し、HAVPがClamAVにアクセスできるようにします。 次のコマンドを実行してください。

sudo gpasswd -a clamav havp

出力:

OutputAdding user clamav to group havp

グループへの変更を有効にするには、 `+ clamav-daemon +`を再起動する必要があります。

sudo service clamav-daemon restart

HAVPを構成したので、次のコマンドで開始できます。

sudo service havp restart

サービス再起動コマンドはサイレントモードで完了する必要があります。コンソールにメッセージが表示されないはずです。

ログを確認する

HAVPは、ログファイルを `+ / var / log / havp `ディレクトリに保存します。 エラーおよび初期化メッセージは、 ` error.log +`ファイルに記録されます。 このファイルを確認することにより、HAVPのステータスを確認できます。

sudo tail /var/log/havp/error.log

`+ tail +`コマンドはファイルの最後の数行を表示します。 HAVPが正常に開始された場合、次のような出力が表示されます。 もちろん、日付と時刻はシステムの次のようになります。

Output17/06/2015 12:48:13 === Starting HAVP Version: 0.92
17/06/2015 12:48:13 Running as user: havp, group: havp
17/06/2015 12:48:13 --- Initializing Clamd Socket Scanner
17/06/2015 12:48:22 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature)
17/06/2015 12:48:22 --- All scanners initialized
17/06/2015 12:48:22 Process ID: 3896

ステップ5-HAVPのテスト

このセクションでは、HAVPが実際にウイルスをブロックしていることを確認します。

上記のログには、「+ EICARウイルステスト」と呼ばれるものが記載されています。

初期化時に、HAVPは、特別に構築されたウイルス署名を使用してウイルススキャナエンジンをテストします。 すべてのウイルススキャナーソフトウェアは、この(無害な)署名を含むファイルをウイルスとして検出します。 EICARの詳細については、http://www.eicar.org/86-0-Intended-use.html [EICAR Intended Use]ページで入手できます。

EICARファイルを使用して独自の手動テストを行い、HAVPとClamAVがそれをブロックすることを確認しましょう。

`+ wget +`コマンドラインユーティリティを使用して、EICAR Webページからファイルをダウンロードします。

まず、プロキシを使用せずにEICARテストファイルをダウンロードします。

wget http://www.eicar.org/download/eicar.com -O /tmp/eicar.com

サーバーは、文句なしにファイルをダウンロードします。

Outputconverted 'http://www.eicar.org/download/eicar.com' (ISO-8859-1) -> 'http://www.eicar.org/download/eicar.com' (UTF-8)
--2015-06-16 13:53:41--  http://www.eicar.org/download/eicar.com
Resolving www.eicar.org (www.eicar.org)... 188.40.238.250
Connecting to www.eicar.org (www.eicar.org)|188.40.238.250|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 68 [application/octet-stream]
Saving to: '/tmp/eicar.com'

/tmp/eicar.com       100%[=====================>]      68  --.-KB/s   in 0s

2015-06-16 13:53:41 (13.7 MB/s) - '/tmp/eicar.com' saved [68/68]

ご覧のとおり、 `+ wget +`は、ウイルスシグネチャを含むテストファイルを、苦情なしにダウンロードしました。

次に、新しく設定したプロキシを使用して同じファイルをダウンロードしてみましょう。 環境変数 `+ http_proxy +`をHAVPアドレスとポートに設定します。

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicar.com -O /tmp/eicar.com

出力:

Outputconverted 'http://www.eicar.org/download/eicar.com' (ISO-8859-1) -> 'http://www.eicar.org/download/eicar.com' (UTF-8)
--2015-06-25 20:47:38--  http://www.eicar.org/download/eicar.com
Connecting to 127.0.0.1:8080... connected.
Proxy request sent, awaiting response... 403 Virus found by HAVP
2015-06-25 20:47:39

プロキシはダウンロードを正常に傍受し、ウイルスをブロックしました。

EICARは、ZIP圧縮ファイル内に隠されたウイルス署名ファイルも提供します。

次のコマンドを使用して、HAVPがZIPアーカイブ内のファイルをスキャンすることをテストできます。

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicarcom2.zip -O /tmp/eicarcom2.zip

出力:

Outputconverted 'http://www.eicar.org/download/eicarcom2.zip' (ISO-8859-1) -> 'http://www.eicar.org/download/eicarcom2.zip' (UTF-8)
--2015-06-25 20:48:28--  http://www.eicar.org/download/eicarcom2.zip
Connecting to 127.0.0.1:8080... connected.
Proxy request sent, awaiting response... 403 Virus found by HAVP
2015-06-25 20:48:28

HAVP(ClamAVを使用)が再びウイルスを検出しました。

ステップ6-Privoxyのインストール

これまで、Webページでウイルスをスキャンするようにプロキシサーバーを構成しました。 広告とトラッキングCookieはどうですか? このステップでは、Privoxyをインストールして構成します。

次のコマンドを使用して、Privoxyをインストールします。

sudo apt-get install privoxy

Privoxyの設定はファイル `+ / etc / privoxy / config +`にあります。 Privoxyの使用を開始する前に、2つのパラメーターを設定する必要があります。

好みのエディターで構成ファイルを開きます。

sudo vi /etc/privoxy/config

次に、コメントを外して、次の2つのパラメーターを設定します。

/ etc / privoxy / config

listen-address

. . .

hostname

パラメータ `+ listen-address `は、どのIPおよびポートでprivoxyを実行するかを決定します。 デフォルト値は ` localhost:8118 `です。これを「+127.0.0.1:8118」に変更します。

パラメーター `+ hostname +`は、Privoxyが実行およびログするホストを指定します。これをサーバーのホスト名またはDNSアドレスに設定します。 任意の有効なホスト名を指定できます。

次に、新しい構成でPrivoxyを再起動します。

sudo service privoxy restart

ステップ7-HAVPをPrivoxyにチェーンする

HAVPとPrivoxyはどちらも本質的にHTTPプロキシサーバーです。 クライアントがHAVPからWebページをリクエストすると、このリクエストがPrivoxyに転送されるように、これら2つのプロキシを_チェーン_します。 Privoxyは要求されたWebページを取得し、プライバシーの脅威と広告を削除し、HAVPは応答をさらに処理し、ウイルスと悪意のあるコードを削除します。

HAVP構成ファイルをお気に入りのテキストエディターにロードします。

sudo vi /etc/havp/havp.config

次の行のコメントを解除し(行の先頭にある「#」文字を削除します)、以下に示すように値を設定します。 PrivoxyはIP `+ 127.0.0.1 `およびポート ` 8118 +`で動作します。

/etc/havp/havp.config

PARENTPROXY
PARENTPORT

変更を保存して、ファイルを終了します。

変更を有効にするためにHAVPを再起動します。

sudo service havp restart

`+ Use parent proxy:127.0.0.1:8118 +`メッセージに注意して、HAVPのエラーログを確認します。

sudo tail /var/log/havp/error.log

出力:

Output17/06/2015 12:57:37 === Starting HAVP Version: 0.92
17/06/2015 12:57:37 Running as user: havp, group: havp
17/06/2015 12:57:37
17/06/2015 12:57:37 --- Initializing Clamd Socket Scanner
17/06/2015 12:57:37 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature)
17/06/2015 12:57:37 --- All scanners initialized
17/06/2015 12:57:37 Process ID: 4646

これでプロキシサーバーの構成が完了しました。 EICARウイルステストでもう一度テストしてみましょう。

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicarcom2.zip -O /tmp/eicarcom2.zip

設定が良好な場合は、 `+ ERROR 403:Virus found by HAVP +`メッセージが再び表示されるはずです。

ステップ8-OpenVPNサーバーのDNSオプションの設定

OpenVPNサーバーのデフォルト設定は私たちのニーズには十分ですが、もう少し改善することは可能です。

OpenVPNサーバーの構成ファイルをテキストエディターで読み込みます。

sudo vi /etc/openvpn/server.conf

OpenVPNは、デフォルトでOpenDNSのサーバーを使用するように構成されています。 GoogleのDNSサーバーを使用するように変更する場合は、「+ dhcp-option DNS +」パラメーターを次のように変更します。

新しい行を追加します + push" register-dns "+。一部のWindowsクライアントはDNSサーバーを使用するために必要になる場合があります。

また、VPNに接続しているときにIPv6をブロックするには、新しい行 `+ push” block-ipv6 “+`を追加します。 (IPv6トラフィックは、VPNサーバーをバイパスできます。)

このセクションは次のようになります。

/etc/openvpn/server.conf

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "register-dns"
push "block-ipv6"

複数のクライアントが同じ_ovpn_ファイルに接続できるようにする場合は、次の行のコメントを解除します。 (これは便利ですが安全ではありません!)

/etc/openvpn/server.conf

duplicate-cn

OpenVPNサービスを再起動して、変更を有効にします。

sudo service openvpn restart

ステップ9-透過プロキシの構成

クライアント(ブラウザ)とインターネット間のHTTPトラフィックを傍受するようにプライバシーサーバーを設定します。

パケット転送を有効にする

サーバーがプロキシサーバーにHTTPトラフィックを転送するには、パケット転送を有効にする必要があります。 OpenVPNセットアップチュートリアルで既に有効にしているはずです。

次のコマンドで構成をテストします。

sudo sysctl -p

変更されたパラメーターが以下のように表示されます。 表示されない場合は、OpenVPNチュートリアルをもう一度ご覧ください。

Outputnet.ipv4.ip_forward = 1

UFWを構成する

OpenVPNクライアントから発信されたHTTPパケットをHAVPに転送する必要があります。 この目的のために `+ ufw +`を使用します。

まず、OpenVPNクライアントからのトラフィックを許可する必要があります

sudo ufw allow in on tun0 from 10.8.0.0/24

OpenVPNチュートリアルでは、 `+ / etc / ufw / before.rules`ファイルを変更し、OpenVPNのいくつかのルールを追加する必要があります。 次に、同じファイルを再確認し、透過プロキシのポートリダイレクトを構成します。

sudo vi /etc/ufw/before.rules

以下に示すように、OpenVPN構成に追加した行を変更します。 赤の線を追加します。

/etc/ufw/before.rules

# START OPENVPN RULES
# NAT table rules
*nat

:POSTROUTING ACCEPT [0:0]


# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

ファイアウォール構成をリロードします。

sudo ufw reload

UFWのステータスを確認します。

sudo ufw status

出力:

OutputStatus: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
1194/udp                   ALLOW       Anywhere
Anywhere on tun0           ALLOW       10.8.0.0/24
22                         ALLOW       Anywhere (v6)
1194/udp                   ALLOW       Anywhere (v6)

HAVPの透過モードを有効にする

前の手順では、すべてのHTTPパケットがHAVPを通過するように強制しました。 この構成は、_透明プロキシ_と呼ばれます。

`+ HAVP +`をそのように設定する必要があります。

sudo vi /etc/havp/havp.config

以下のパラメーターを設定します。

/etc/havp/havp.config

TRANSPARENT

HAVPサービスを再起動します。

sudo service havp restart

これでサーバーを使用する準備が整いました。

ステップ10-クライアント構成のテスト

クライアント(Windows、OS X、タブレットなど)で、クライアントをOpenVPNサーバーに接続します。 オリジナルのOpenVPNチュートリアルと同じ `+ .ovpn +`ファイルを使用できることに注意してください。すべての変更はサーバー側で行われます。

VPN接続が確立された後、OpenVPNクライアントログに優先DNS設定が表示されるはずです。 次のサンプルは、IOSクライアントから取得したものです。

DNS Servers
   8.8.8.8
   8.8.4.4
Search Domains:

Tunnelblickを使用すると、次のような行が表示される場合があります。

Changed DNS ServerAddresses setting from '8.8.8.8 208.67.222.222 8.8.4.4' to '8.8.8.8 8.8.4.4'

設定をテストするには、ブラウザで[EICARテストページ](http://www.eicar.org [www.eicar.org])に移動し、EICARテストファイルのダウンロードを試みます。 * HAVP-Access Denied *ページが表示されます。

  • + http:// www.eicar.org / download / eicarcom2.zip +

  • + http:// www.eicar.org / 85-0-Download.html +

画像:https://assets.digitalocean.com/articles/3-openvpn-examples/havp-denied.png [HAVP-アクセス拒否]

ステップ11-トラブルシューティング

このセクションは、いくつかの一般的な問題のトラブルシューティングに役立ちます。

ビデオを視聴できない、またはお気に入りのサイトを使用できない

Privoxyは、サイトの読み込みが遅すぎる場合に、より厳密でないように構成できます。 この動作は、 `+ user.action +`設定ファイルで設定されます。

お気に入りのテキストエディターでユーザーアクションファイルを読み込みます。

sudo vi /etc/privoxy/user.action

ファイルの最後に移動し、次のコンテンツに必要な追加のサイトアドレスを追加します。

/etc/privoxy/user.action

{ fragile -deanimate-gifs }
.googlevideo.com
.youtube.com
.imgur.com

これらの変更後、Privoxyを再起動する必要はありません。 ただし、ブラウザのキャッシュをクリアして、数回更新する必要があります。

それでも問題が発生する場合は、ホワイトリストに登録されたドメインをHAVPホワイトリストファイルに追加します。 ホスト名が一致する場合、HAVPはこのファイルをチェックし、ウイルススキャンを実行しません。

vi /etc/havp/whitelist

ファイルの最後にサイトを追加します。

/ etc / havp / whitelist

# Whitelist Windowsupdate, so RANGE is allowed too
*.microsoft.com/*
*.windowsupdate.com/*

インターネットの頻繁な使用中にブラウザが応答しなくなる

複数のWebページを一度に開くと、サーバーのメモリでは、HAVPがすべてのリクエストをスキャンするのに十分でない可能性があります。

DropletのRAMを増やしたり、スワップメモリ​​を追加したりできます。 VPSで仮想メモリ(スワップファイル)を構成する方法を参照してください。 ] 論文。

ブラウジングエクスペリエンスにVPNを追加すると、ほとんどの場合、待ち時間が長くなることに注意してください。

結論

このチュートリアルに従えば、VPNの使用を次のレベルに引き上げて、プライバシーとセキュリティをブラウジングできます。