すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:Alibaba Cloud Linuxのユーザー名前空間のセキュリティ強化

最終更新日:Dec 11, 2024

Linuxはユーザー名前空間機能をサポートしています。 この機能により、プロセスは異なるユーザーIDとグループIDを異なるユーザー名前空間に持ち、権限を分離できます。 ただし、ユーザー名前空間機能を有効にすると、システムに対する特権エスカレーション攻撃のリスクが高まります。 攻撃者は、システムの脆弱性を悪用して特権権限を取得し、システム権限制御をエスケープする可能性があります。 このトピックでは、Alibaba Cloud Linux 2および3オペレーティングシステムのユーザー名前空間のセキュリティ強化を設定する方法について説明します。 カーネルパラメーターを変更して、特定のビジネスシナリオに対応できます。

ユーザー名前空間のセキュリティ強化の設定

ビジネス要件に基づいて次のパラメーターを設定し、リスクを軽減できます。

  • user.max_user_namespacesパラメーターを設定して、各レベルの親名前空間の下に作成できる子名前空間の最大数を指定します。

  • e kernel.us ners_max_levelパラメーターを設定して、名前空間の最大ネスト深度を指定します。

  • CAP_SYS_ADMIN権限を持たない非特権ユーザーに名前空間を作成する権限を付与するには、kernel.unprivileged_userns_cloneパラメーターを設定します。

user.max_user_namespaces

説明

値0は、ユーザー名前空間機能が無効になっていることを示し、名前空間が作成されないようにします。

  • 各レベルの親名前空間の下に作成できる子名前空間の最大数を照会します。

    • /procインターフェイス

      cat /proc/sys/user/max_user_namespaces
    • sysctlインターフェイス

      sysctl -n user.max_user_namespaces
  • 各レベルの親名前空間の下に作成できる子名前空間の最大数を指定します。

    <namespaces> を、各レベルの親名前空間の下に作成する子名前空間の最大数に置き換えます。 たとえば、名前空間の作成を無効にする場合は、<namespaces> パラメーターを0に設定します。

    • /procインターフェイス

      sudo sh -c 'echo <namespaces> > /proc/sys/user/max_user_namespaces'
    • sysctlインターフェイス

      sudo sysctl -w user.max_user_namespaces=<namespaces>

kernel.us erns_max_level

制限事項

  • カーネルバージョン4.19.91-27以降のAlibaba Cloud Linux 2

  • カーネルバージョン5.10.134-12以降のAlibaba Cloud Linux 3

説明

e kernel.usのerns_max_levelパラメータの有効値: 0 ~ 33。 値0は、ユーザー名前空間機能が無効であることを示します。 デフォルト値: 33。ネイティブカーネルの動作と一致します。

  • 名前空間の最大ネスト深度を照会します。

    • /procインターフェイス

      cat /proc/sys/kernel/userns_max_level
    • sysctlインターフェイス

      sysctl -n kernel.userns_max_level
  • 名前空間の最大ネスト深度を指定します。

    <levels> を、ネストされたユーザー名前空間の最大レベル数に置き換えます。 たとえば、ユーザー名前空間機能を無効にする場合は、<levels> パラメーターを0に設定します。

    • /procインターフェイス

      sudo sh -c 'echo <levels> > /proc/sys/kernel/userns_max_level'
    • sysctlインターフェイス

      sudo sysctl -w kernel.userns_max_level=<levels>

kernel.unprivileged_userns_clone

制限事項

  • カーネルバージョン4.19.91-27以降のAlibaba Cloud Linux 2

  • カーネルバージョン5.10.134-12以降のAlibaba Cloud Linux 3

説明

非特権ユーザーが名前空間を作成できるようにすると、特権エスカレーション攻撃のリスクが高まる可能性があります。 kernel.unprivileged_userns_cloneパラメータの有効値:

  • 1: CAP_SYS_ADMIN権限を持たない非特権ユーザーは、ネイティブカーネルの動作と一致する名前空間を作成できます。

  • 0: CAP_SYS_ADMIN権限を持たない非特権ユーザーは、名前空間を作成できません。 この場合、CAP_SYS_ADMIN権限を持つ特権ユーザーのみが名前空間を作成できます。

  • CAP_SYS_ADMIN権限を持たない非特権ユーザーが名前空間を作成できるかどうかを照会します。

    • /procインターフェイス

      cat /proc/sys/kernel/unprivileged_userns_clone
    • sysctlインターフェイス

      sysctl -n kernel.unprivileged_userns_clone
  • CAP_SYS_ADMIN権限を持たない非特権ユーザーがビジネス要件に基づいて名前空間を作成できるかどうかを指定します。

    • /procインターフェイス

      echo 0 > /proc/sys/kernel/unprivileged_userns_clone
    • sysctlインターフェイス

      sysctl -w kernel.unprivileged_userns_clone=0