新しいCentOS7サーバーの追加の推奨手順

提供:Dev Guides
移動先:案内検索

序章

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

前提条件と目標

このガイドを開始する前に、CentOS7初期サーバーセットアップガイドを実行する必要があります。 これは、ユーザーアカウントを設定し、sudoを使用して特権の昇格を構成し、セキュリティのためにSSHをロックダウンするために必要です。

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

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

ファイアウォールは、サーバーに基本レベルのセキュリティを提供します。 これらのアプリケーションは、承認したポート/サービスを除いて、サーバー上のすべてのポートへのトラフィックを拒否する役割を果たします。 CentOSには、firewalldというファイアウォールが付属しています。 firewall-cmdというツールを使用して、ファイアウォールポリシーを構成できます。 私たちの基本的な戦略は、オープンを維持する正当な理由がないものをすべてロックダウンすることです。 最初にfirewalldをインストールします。

sudo yum install firewalld

firewalldサービスには、現在の接続を切断せずに変更を加える機能があるため、例外を作成する前にオンにすることができます。

sudo systemctl start firewalld

サービスが稼働しているので、firewall-cmdユーティリティを使用して、ファイアウォールのポリシー情報を取得および設定できます。 firewalldアプリケーションは、「ゾーン」の概念を使用して、ネットワーク上の他のホストの信頼性にラベルを付けます。 このラベル付けにより、ネットワークをどれだけ信頼するかに応じて、さまざまなルールを割り当てることができます。

このガイドでは、デフォルトゾーンのポリシーのみを調整します。 ファイアウォールをリロードすると、これがインターフェイスに適用されるゾーンになります。 まず、承認されたサービスのファイアウォールに例外を追加する必要があります。 サーバーへのリモート管理アクセスを保持する必要があるため、これらの中で最も重要なのはSSHです。

SSHデーモンが実行されているポートをnotで変更した場合は、次のように入力して名前でサービスを有効にできます。

sudo firewall-cmd --permanent --add-service=ssh

サーバーのSSHポートを変更した場合は、新しいポートを明示的に指定する必要があります。 また、サービスが利用するプロトコルを含める必要があります。 新しいポートを使用するためにSSHサーバーがすでに再起動されている場合にのみ、次のように入力してください。

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-port=4444/tcp

これは、サーバーへの管理アクセスを維持するために最低限必要なものです。 追加のサービスを実行する予定がある場合は、それらのサービスに対してもファイアウォールを開く必要があります。

従来のHTTPWebサーバーを実行する場合は、httpサービスを有効にする必要があります。

sudo firewall-cmd --permanent --add-service=http

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

sudo firewall-cmd --permanent --add-service=https

SMTP電子メールを有効にする必要がある場合は、次のように入力できます。

sudo firewall-cmd --permanent --add-service=smtp

名前で有効にできる追加のサービスを表示するには、次のように入力します。

sudo firewall-cmd --get-services

終了すると、次のように入力することで実装される例外のリストを確認できます。

sudo firewall-cmd --permanent --list-all

変更を実装する準備ができたら、ファイアウォールをリロードします。

sudo firewall-cmd --reload

テスト後、すべてが期待どおりに機能する場合は、起動時にファイアウォールが開始されることを確認する必要があります。

sudo systemctl enable firewalld

後で構成する可能性のある追加のサービスについては、ファイアウォールを(サービスまたはポートを使用して)明示的に開く必要があることに注意してください。

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

次のステップは、サーバーのローカリゼーション設定を調整し、ネットワークタイムプロトコル(NTP)同期を構成することです。

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

タイムゾーンを設定する

最初のステップは、サーバーのタイムゾーンを設定することです。 これは、timedatectlコマンドを使用して実行できる非常に簡単な手順です。

まず、次のように入力して、利用可能なタイムゾーンを確認します。

sudo timedatectl list-timezones

これにより、サーバーで使用可能なタイムゾーンのリストが表示されます。 サーバーに適したリージョン/タイムゾーン設定が見つかったら、次のように入力して設定します。

sudo timedatectl set-timezone region/timezone

たとえば、米国東部標準時に設定するには、次のように入力します。

sudo timedatectl set-timezone America/New_York

選択したタイムゾーンを使用するようにシステムが更新されます。 これは、次のように入力して確認できます。

sudo timedatectl

NTP同期を構成する

タイムゾーンが設定されたので、NTPを構成する必要があります。 これにより、コンピューターを他のサーバーとの同期を維持できるようになり、正しい時刻に依存する操作の予測可能性が高まります。

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

sudo yum install ntp

次に、このセッションのサービスを開始する必要があります。 また、サーバーが起動するたびに自動的に開始されるように、サービスを有効にします。

sudo systemctl start ntpd
sudo systemctl enable ntpd

これで、サーバーはシステムクロックを自動的に修正して、グローバルサーバーに合わせます。

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

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

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

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

sudo fallocate -l 4G /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コントロールパネルで、サーバーの[スナップショット]タブにアクセスしてスナップショットを作成できます。

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

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

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

結論

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