Lightsail で実行されている Linux サーバーを保護するためのベストプラクティスは何ですか。

最終更新日: 2021 年 10 月 28 日

Linux を実行している Amazon Lightsail インスタンスのシステム管理者です。データを保護するために使用できるサーバーセキュリティのベストプラクティスは何でしょうか。

解決方法

Linux サーバーのセキュリティに関する基本的なベストプラクティスを以下に示します。これらは Linux サーバーのセキュリティにとって重要な考慮事項ですが、すべてを完璧に包含したリストではないことをご了承ください。複雑な設定が多数ありますので、お客様の特定の要件や使用例に基づいて、ローカルのシステム管理者チームが設定し、対処する必要があります。

  • Linux サーバーとのデータ通信を暗号化します。
    ファイル転送には SCP、 SSH、rsync、または SFTP を使用します。FTP、Telnet などのサービスは安全ではないため、使用は避けてください。安全な (HTTPS) 接続を維持するには、サーバーに SSL 証明書をインストールして構成します。
  • Linux の脆弱性を最小限に抑えるためにソフトウェアを最小化し、定期的にセキュリティ監査を実行します。
    ソフトウェアやパッケージから脆弱性を取り込むことを避けるため、不要なソフトウェアをインストールしないようにしてください。可能であれば、不要なパッケージをすべて特定して削除します。
  • Linux カーネルとソフトウェアを最新の状態に保ちます。
    セキュリティパッチの適用は、Linux サーバーを維持する上で重要な部分です。Linux には、システムを最新の状態に保つために必要なツールがすべて用意されています。Linux では、バージョン間のアップグレードも容易です。すべてのセキュリティ更新プログラムをできるだけ早く確認して適用し、利用可能な最新のカーネルに更新するようにしてください。yum、apt-get、dpkg など、お使いの Linux ディストリビューションに基づくそれぞれのパッケージマネージャを使用して、すべてのセキュリティアップデートを適用します。
  • Linux セキュリティ拡張機能を使用します。
    Linux には、誤った設定や侵害されたプログラムから保護するために使用できるさまざまなセキュリティ機能が搭載されています。可能であれば、SELinux やその他の Linux セキュリティ拡張機能を使用して、ネットワークやその他のプログラムに制限をかけてください。例えば、 SELinux は Linux カーネル用のさまざまなセキュリティーポリシーを提供します
  • ルートログインを無効にします。
    root ユーザーとしてログインしないことがベストプラクティスです。必要な場合は、 sudo を使用してルートレベルのコマンドを実行する必要があります。Sudo は、他のユーザーや管理者と資格情報を共有することなく、システムのセキュリティを大幅に強化します。
  • SS または netstat を使用してリッスンしているネットワークポートを検索し、他のすべてのポートを閉じるか制限します。
    システムのネットワークインターフェースでどのポートがリッスンしているかに注意を払うことが重要です。これは ss または netstat を介して行うことができます。開いているポートは、侵入された証拠である可能性があります。
  • Linux サーバーで Lightsail ファイアウォールと OS レベルのファイアウォールの両方を設定して、セキュリティレベルを強化します。
    Lightsail ファイアウォールを使用してトラフィックをフィルタリングし、サーバーに必要なトラフィックのみを許可します。OS レベルファイアーウォールは、Linux カーネルが提供するファイアーウォールを設定するためのユーザースペースのアプリケーションプログラムです。お使いの Linux ディストリビューションに応じて、iptablesufwfirewalld などをご利用いただけます。
  • システムアカウンティングには auditd を使用します。
    Linux はシステム監査のために auditd を提供しています。Auditd は、監査レコードをディスクに書き込みます。また、システムログイン、認証、アカウント変更、SELinux 拒否など、さまざまなシステムアクティビティをモニタリングします。これらのレコードは、管理者が悪意のあるアクティビティや不正アクセスを識別するのに役立ちます。
  • 侵入検知システム (IDS) をインストールします。
    IDS として fail2ban や denyhost を使用します。Fail2BAN と denyhost は、ログファイルをスキャンしてログイン試行の失敗回数を検出し、悪意のあるアクティビティの兆候を示している IP アドレスをブロックします。
  • 定期的にバックアップを作成します。
    詳細については、Snapshots in Amazon Lightsail を参照してください。
  • ファイルやディレクトリの読み取り、書き込み、実行のアクセス許可 (777) をユーザー、グループ、その他に提供しないようにします。
    chmod を使用すると、Web ルートディレクトリや document-root などのファイルやディレクトリへのアクセスを制限できます。権限を編集して、許可されたユーザーのみにアクセス権を付与します。