【P4D 2026.1】アップグレード前の確認事項
目次
概要
P4D 2026.1 以降では、「Secure by Default」の思想に基づき、セキュリティに関連する構成可能変数について、初期状態からメーカーの推奨値が強制的に有効化されるようになりました。
過去のバージョンで存在していたリスクについては CVE-2026-6043 として公開されています。
Important security update: Secure by default
変更点(P4D 2026.1 以降)
P4D 2026.1 では、以下のセキュリティ設定がデフォルトで適用されます。
| 構成可能変数 | 推奨値 | 内容 |
|---|---|---|
security | 4 | P4サーバーのセキュリティレベルを設定します。 強力なパスワードを要求し、レプリカサーバーおよび、リモートディポ接続時に認証済み service ユーザーの使用を必須にします。 |
dm.user.noautocreate | 2 | 自動ユーザー作成の動作を制御する設定です。 新規ユーザーの作成を super 権限を持つユーザーのみに制限します。 |
dm.user.setinitialpasswd | 0 | 初期パスワードの動作を制御する設定です。 初期パスワードの設定を super 権限を持ったユーザーのみに制限します。 |
dm.user.resetpassword | 1 | パスワード付きで作成された新規ユーザーに対し、初回コマンド実行前のパスワード変更を必須にする設定です。 |
run.users.authorize | 1 | 未認証ユーザーによる p4 users コマンドの実行を禁止する設定です。 |
dm.info.hide | 1 | 未認証ユーザーによる p4 info コマンド実行時、以下の情報を非表示にする設定です。Server name Server address Server uptime Server license ip address |
dm.user.hideinvalid | 1 | 存在しないユーザー名に対してもパスワード入力を要求する設定です。 |
dm.keys.hide | 2 | keys 情報の登録および、参照を admin 以上の権限をもつユーザーのみに制限する設定です。 |
server.rolechecks | 1 | サーバー間通信時の role 検証を有効化する設定です。 すべての P4 サーバーに対して server.id の設定を必須にします。 |
security については、設定されている値が 4 未満の場合、P4D アップグレード(p4d -xu コマンド実行)時、強制的に設定値が変更されます。
未設定の状態でご利用いただいている場合、デフォルト値の変更により挙動が変化します。
アップグレード前に p4 configure show <構成可能変数名> コマンドを実行して設定状況を明示的に確認して比較ください。
重要な影響
P4D 2026.1 では、従来の「暗黙的な動作」に依存したスクリプトが動作しなくなる可能性があります。
以下エラーが発生する可能性があります。
Perforce password (P4PASSWD) invalid or unset
User unknown
Access for user 'remote' has not been enabled
事前確認
super 権限を持った管理ユーザーに強力なパスワードを設定する(最重要)
security=4 が設定されるため、パスワード未設定、アルファベット小文字のみのパスワード、8文字未満のパスワードを使用している場合、管理ユーザーがログインできない状態となる可能性があります。
P4D アップグレード前に、super 権限を持った管理ユーザーにパスワードを設定し、ログインできることを確認ください。
リモートディポの利用有無を確認する
security=4 の設定では、リモートディポのファイルを参照するために service タイプのユーザーが必要になります。
これまでは P4 サーバー側で暗黙的に使用されるユーザー情報により参照されていましたが、これが禁止となります。
これに伴い以下対応が必要です。
- 参照先の P4 サーバーで、 service タイプのユーザーを作成し、パスワードを設定する
- 参照先の P4 サーバーでプロテクションテーブルに service タイプのユーザーが参照するための権限を設定する
- リモートディポを作成している P4 サーバーで p4 -u <serviceUser に設定したユーザー名> -p <参照先の P4PORT> login を実行して P4TICKETSを作成する
- リモートディポを作成している P4 サーバーで構成可能変数 serviceUser に、参照先の P4 サーバーへのアクセス権が設定された service タイプのユーザー名を設定する
スクリプトや自動化処理におけるログインの実装を確認する
security=4 の設定では、P4PASSWD や -P オプションを使用したログインが禁止されます。
ログイン時に作成されるチケット(P4TICKETS)の有効期限を無期限とするグループにユーザーを所属させた後、ログインを実行ください。
チケットの有効期限については以下をご参照ください。