ステータス:非推奨

この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.

代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

序章


インターネットにサービスを公開することは常にリスクですが、多くの場合、そもそもサーバーを使用する理由のすべてです。 開いているポートや公開されているサービスは、悪意のあるユーザーや自動化されたスクリプトによる非常に多くの調査やアクセスの試みにさらされる可能性があります。

一部のサービスは(サイトをホストするWebサーバーのように)公に利用できるようにするためにアクセス可能なままにする必要がありますが、他のサービスは1人または数人の許可されたユーザーのみが使用することを目的としており、他のユーザーは使用できません(SSHなど)。 最良のシナリオでは、これらのサービスは十分に保護されていますが、実際に使用したい場合にのみアクセスできます。

シングルパケット認証は、特殊な暗号化されたパケットがリスニングサービスに送信されるまで、ファイアウォールがサービスへのアクセスをブロックできるようにする方法です。 サービスがこのパケットを検証すると、ファイアウォールルールを即座に変更して、必要なポートを公開します。

fwknopと呼ばれるツール(Firewall Knock Operatorの略)を使用して、これらのパケットを解釈し、ファイアウォールルールを変更できます。 このガイドでは、Ubuntu12.04システムでfwknopサーバーとクライアントを構成します。 これにより、特に要求されるまでSSHサーバーをシールドできます。

1つのVPSにfwknopサーバーをインストールします


この構成では、Ubuntu12.04VPSインスタンスが2つあることを前提としています。 また、IPアドレスの利用も機能するはずですが、サーバーVPSを指すドメイン名があると想定します。 DigitalOcean ドメイン名の構成についてサポートが必要な場合は、ここをクリックしてください。

サーバーマシンで、apt-getを使用してfwknopサーバーコンポーネントをインストールします。

sudo apt-get update
sudo apt-get install fwknop-server

インストール中に、サービスと関連コンポーネントを構成するためのいくつかの質問が表示されます。

質問がある最初のコンポーネントはpostfixです。 「インターネットサイト」を選択し、次のセクションでドメイン名を入力します。

次に、安全性の低いキーシステムを使用して、デフォルトでfwknopがSSHポートを保護するかどうかを尋ねられます。 「はい」を選択して、サービスがいくつかのパラメーターを構成するようにします。 少し後で、より安全な設定に切り替えます。

保護するインターフェイスを選択します。 通常、これは「eth0」になります。 最後に、暗号に使用する暗号化キーを選択します。 これは後で変更するので、何を入れても構いません。 それが1語であることを確認してください。そうでない場合、構成はエラーになります。

fwknopクライアントを他のVPSにインストールします


クライアントとして使用するVPSに、クライアントコンポーネントをインストールする必要があります。 これは、他のマシンに送信する暗号化されたパケットを作成するシステムの一部です。

sudo apt-get update
sudo apt-get install fwknop-client

この時点では、クライアント部分は構成を必要としません。

GPGキーを構成する


パケット転送の認証を提供するためにGPGキーを使用します。 これは非対称暗号であるため、クライアントマシンとサーバーマシンの両方でこれらの手順を実行する必要があります。 GPGはデフォルトでインストールする必要があります。

各マシンで、次のように入力してキーを生成します。

gpg --gen-key

これはあなたにいくつかの情報を尋ねます。 ほとんどの質問では、デフォルトを受け入れても安全です。

パスフレーズを提供して確認します。 その後、キーを作成するのに十分なランダム情報を生成するのに少し時間がかかります。

次に、生成した各キーのパブリックIDを書き留めるか、コピーする必要があります。 次のように入力すると、これらを取得できます。

 gpg --list-keys
  /home/test/.gnupg/pubring.gpg

pub 2048R / 111111112014-01-09uidクライアント [email protected] サブ2048R/C1C26BA6 2014-01-09