前書き

新しいサーバーの最低限の構成をセットアップした後、ほとんどの場合に強く推奨される追加の手順がいくつかあります。 このガイドでは、推奨されているがオプションの手順に取り組むことにより、サーバーの構成を継続します。

前提条件と目標

このガイドを開始する前に、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04 [Ubuntu 14.04 initial server setup]ガイドを実行する必要があります。 これは、ユーザーアカウントを設定し、権限の昇格を「+ sudo +」で設定し、セキュリティのためにSSHをロックダウンするために必要です。

上記のガイドを完了したら、この記事を続けることができます。 このガイドでは、オプションの推奨コンポーネントの構成に焦点を当てます。 これには、ファイアウォール、ネットワークタイムプロトコルの同期、およびスワップファイルを使用してシステムをセットアップすることが含まれます。

基本的なファイアウォールの構成

ファイアウォールは、サーバーに基本レベルのセキュリティを提供します。 これらのアプリケーションは、承認したポート/サービスを除き、サーバー上のすべてのポートへのトラフィックを拒否する責任があります。 Ubuntuには、ファイアウォールポリシーの設定に使用できる「+ ufw +」というツールが付属しています。 私たちの基本的な戦略は、オープンにする正当な理由がないすべてのものをロックすることです。

ファイアウォールを有効化または再ロードする前に、ポリシーの例外を定義するルールを作成します。 まず、リモート管理のアクセスを維持できるように、SSH接続の例外を作成する必要があります。

SSHデーモンはデフォルトでポート22で実行され、デフォルトが変更されていない場合、 `+ ufw +`は名前でルールを実装できます。 したがって、SSHポートを*変更*していない場合は、次を入力して例外を有効にできます。

sudo ufw allow ssh

SSHデーモンがリッスンしているポートを変更した場合は、実際のポート番号とTCPプロトコルを指定して許可する必要があります。

sudo ufw allow /tcp

これは最低限のファイアウォール構成です。 SSHポートのトラフィックのみが許可され、他のすべてのサービスにはアクセスできなくなります。 追加のサービスを実行する予定がある場合は、必要な各ポートでファイアウォールを開く必要があります。

従来のHTTP Webサーバーの実行を計画している場合、ポート80へのアクセスを許可する必要があります。

sudo ufw allow 80/tcp

SSL / TLSを有効にしてWebサーバーを実行する場合は、そのポートへのトラフィックも許可する必要があります。

sudo ufw allow 443/tcp

SMTP電子メールを有効にする必要がある場合は、ポート25を開く必要があります。

sudo ufw allow 25/tcp

例外の追加が完了したら、次を入力して選択内容を確認できます。

sudo ufw show added

すべてが正常に見える場合、次のように入力してファイアウォールを有効にできます。

sudo ufw enable

選択を確認するように求められるので、続行する場合は「y」を入力します。 これにより、作成した例外が適用され、他のすべてのトラフィックがブロックされ、起動時にファイアウォールが自動的に開始するように構成されます。

後で構成する可能性のある追加サービスのポートを明示的に開く必要があることに注意してください。 詳細については、https://www.digitalocean.com/community/tutorials/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and-debian-の記事をご覧ください。 cloud-server [UFWファイアウォールの設定]。

タイムゾーンとネットワークタイムプロトコルの同期を構成する

次の手順は、サーバーのローカライズ設定を設定し、ネットワークタイムプロトコル(NTP)同期を構成することです。

最初のステップでは、サーバーが正しいタイムゾーンで動作していることを確認します。 2番目の手順では、システムクロックをNTPサーバーのグローバルネットワークによって維持される標準時刻に同期するようにシステムを構成します。 これは、非同期クロックから生じる可能性のあるいくつかの矛盾した動作を防ぐのに役立ちます。

タイムゾーンを構成する

最初のステップは、サーバーのタイムゾーンを設定することです。 これは、 `+ tzdata +`パッケージを再設定することで実現できる非常に簡単な手順です。

sudo dpkg-reconfigure tzdata

サーバーの地理的地域を選択できるメニューシステムが表示されます。

image:https://assets.digitalocean.com/articles/1404_optional_recommended/choose_country.png [Ubuntu select region]

エリアを選択すると、サーバーに適した特定のタイムゾーンを選択できるようになります。

image:https://assets.digitalocean.com/articles/1404_optional_recommended/choose_timezone.png [Ubuntu select timezone]

選択したタイムゾーンを使用するようにシステムが更新され、結果が画面に出力されます。

Current default time zone: 'America/New_York'
Local time is now:      Mon Nov  3 17:00:11 EST 2014.
Universal Time is now:  Mon Nov  3 22:00:11 UTC 2014.

次に、NTPの構成に進みます。

NTP同期を構成する

タイムゾーンを設定したら、NTPを構成する必要があります。 これにより、コンピューターが他のサーバーと同期し続けることができ、正しい時間を使用する操作の予測性が向上します。

NTP同期には、Ubuntuのデフォルトリポジトリからインストールできる「+ ntp +」というサービスを使用します。

sudo apt-get update
sudo apt-get install ntp

UbuntuでNTP同期を設定するために必要なことはこれだけです。 デーモンはブートのたびに自動的に起動し、システム時間を継続的に調整して、1日を通してグローバルNTPサーバーに合わせます。

NTPサーバーの詳細については、ここをクリックしてください。

スワップファイルを作成する

Linuxサーバーに「スワップ」を追加すると、システムは実行頻度の低いプログラムのアクセス頻度の低い情報をRAMからディスク上の場所に移動できます。 ディスクに保存されたデータへのアクセスは、RAMへのアクセスよりもはるかに遅くなりますが、多くの場合、スワップを使用可能にすることは、アプリケーションの存続とクラッシュの違いになります。 これは、システムでデータベースをホストする予定がある場合に特に便利です。

Note

スワップ領域の最適なサイズに関するアドバイスは、参照するソースによって大きく異なります。 一般に、システムのRAMの量と同じか2倍の量が、適切な出発点です。

`+ fallocate `ユーティリティを使用して、スワップファイルに使用するスペースを割り当てます。 たとえば、4ギガバイトのファイルが必要な場合、次のように入力して、 ` / swapfile +`にあるスワップファイルを作成できます。

sudo fallocate -l  /swapfile

ファイルを作成した後、ファイルへのアクセスを制限して、他のユーザーまたはプロセスがそこに書かれているものを見ることができないようにする必要があります。

sudo chmod 600 /swapfile

これで、適切な権限を持つファイルが作成されました。 スワップ用にファイルをフォーマットするようにシステムに指示するには、次のように入力します。

sudo mkswap /swapfile

次に、次のように入力して、スワップファイルを使用できることをシステムに伝えます。

sudo swapon /swapfile

システムはこのセッションでスワップファイルを使用していますが、システムファイルを変更して、サーバーがブート時に自動的にこれを行うようにする必要があります。 これを行うには、次のように入力します。

sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

この追加により、システムはブート時にスワップファイルを自動的に使用する必要があります。

ここからどこへ行く?

これで、Linuxサーバーの非常に適切な開始セットアップができました。 ここから、行くことができる場所がかなりあります。 最初に、現在の構成でサーバーのスナップショットを作成できます。

現在の構成のスナップショットを撮る

構成に満足しており、将来のインストールのベースとして使用したい場合は、DigitalOceanコントロールパネルからサーバーのスナップショットを取得できます。 2016年10月から、スナップショットの費用は、ファイルシステム内の使用済みスペースの量に基づいて、ギガバイトあたり月額0.05ドルです。

スナップショットの準備をするには、コマンドラインからサーバーをシャットダウンします。 実行中のシステムのスナップショットを取得することは可能ですが、電源を切ると、ファイルシステムの一貫性がより確実になります。

sudo poweroff

これで、DigitalOceanコントロールパネルで、サーバーの[スナップショット]タブにアクセスしてスナップショットを作成できます。

image:https://assets.digitalocean.com/articles/1404_optional_recommended/snapshots.png [DigitalOcean snapshot]

スナップショットを作成した後、作成プロセス中にイメージの[マイスナップショット]タブからスナップショットを選択することにより、そのイメージを将来のインストールのベースとして使用できます。

image:https://assets.digitalocean.com/articles/1404_optional_recommended/use_snapshot.png [DigitalOcean use snapshot]

追加のリソースと次のステップ

ここから、パスはサーバーで何をしたいかに完全に依存します。 以下のガイドのリストは完全なものではありませんが、ユーザーが次に検討するより一般的な構成の一部を表しています。

結論

この時点までに、新しいサーバーの強固な基盤を構成する方法を知っている必要があります。 うまくいけば、あなたもあなたの次のステップのための良いアイデアを持っている。 サーバーに実装できるアイデアについては、サイトを自由に探索してください。