SLES 15マシンをSUSE Managerオフラインに登録する方法
同期チャネル、ブートストラップリポジトリ、アクティベーションキー、および検証済みのSaltブートストラップワークフローを使用して、インターネットアクセスなしでSLES 15をSUSE Managerに登録します。
Secure Boot が有効になっている SLES 15 にカスタム カーネル モジュールをロードするには、実行するカーネルに合わせてモジュールをビルドし、完成した.koファイルを信頼できる署名証明書で署名し、その証明書をマシン オーナー キー (MOK) として登録してから、モジュールをロードしますmodprobe。MOKは、SUSE の shim と Linux カーネルが Secure Boot モジュールの検証に信頼できるローカルで管理される証明書です。署名が拒否された場合の回避策として Secure Boot を無効にしないでください。以下の手順は、マシンを制御し、再起動時にキーの登録を承認できる管理者向けです。
このガイドは、SUSEのSLES 15 SP7管理ドキュメントおよびSUSEのカーネルモジュールパッケージングガイダンス(2026年10月6日確認済み)に基づいています。コマンドでは、acme_driverモジュール名の例として を使用していますが、必要に応じて接尾辞を除いた実際のモジュール名に置き換えてください.ko。これらはコマンド例であり、テスト済みのホストからの出力ではありません。

この方法は、実行中のカーネルとは別に提供されるカスタムのアウトオブツリーモジュールに対して、ターゲットのSLESカーネル用にビルドを再構築または取得でき、サーバーに証明書を登録できる場合に使用します。これは、SUSE Secure Bootおよびshimパス経由で起動するシステムに適用されます。ベンダーが公式のSLES 15ドライバパッケージを提供している場合は、まずそのサポートされているインストールおよび署名手順を使用してください。ベンダーのパッケージは、手動でコピーするよりもカーネルの互換性とアップデートを適切に処理できる場合があります。
セキュアブートはブートチェーンを検証し、カーネルは適用ポリシーに基づいてロード可能なモジュールの署名もチェックします。モジュールは署名されていても、異なるカーネルABIをターゲットにしている場合、不足しているシンボルに依存している場合、または間違ったアーキテクチャ向けにビルドされている場合は、ロードに失敗する可能性があります。逆に、カーネルと一致しているからといって、署名されていないモジュールが信頼できるとは限りません。署名は信頼性を確保するものであり、互換性を確立したり、コードの安全性を証明したりするものではありません。
uname -rとを使用して、実行中のカーネルとセキュアブートの状態を確認しますmokutil --sb-state。そのカーネルフレーバーに対応するカーネル開発ファイルとツールチェーンを使用してモジュールをビルドします。パッケージ名と必要なファイルは、SLES サービスパック、カーネルフレーバー、ビルド方法によって異なるため、ターゲットシステムで有効になっているリポジトリと照合して確認してください。保護された署名システム上で、秘密鍵とDERエンコードされたX.509証明書を作成します。SUSEのカーネルモジュールパッケージングに関するガイダンスでは、codeSigning現在のSLES 15サービスパックで拡張鍵の使用が推奨されています。この例では、OpenSSLと分かりやすい証明書名を使用します。
openssl req -new -x509 -newkey rsa:2048 -sha256 \
-keyout module-signing.key \
-out module-signing.der -outform DER -nodes \
-days 4745 -addext "extendedKeyUsage=codeSigning" \
-subj "/CN=Custom Module Signing/"
chmod 600 module-signing.key
この-nodesオプションでは秘密鍵が暗号化されないため、ファイル権限とストレージ管理が重要になります。秘密鍵を汎用サーバーにコピーしたり、パッケージに埋め込んだりしないでください。組織のポリシーで暗号化された鍵、ハードウェアによる署名、鍵のローテーション、または異なる証明書ライフサイクルが要求されている場合は、そのポリシーと署名ツールの要件に従ってください。module-signing.der公開鍵を登録するシステムにのみ転送してください。

モジュールは、 で示されるカーネルリリースと完全に一致するものに対してビルドしてください。ソースプロジェクトのビルド手順によって、必要なコンパイラ、ヘッダー、および構成が決まります。すべてのカスタムモジュールに適合する単一のビルドコマンドはありません。カーネルの不一致を診断する必要がある場合は、でuname -r結果を確認してください。vermagicmodinfo
コンパイルおよびパッケージングまたはストリッピング処理が完了した後、最終モジュールファイルに署名します。SUSE の署名ヘルパーについては、以下のドキュメントを参照してください/usr/lib/rpm/pesign/kernel-sign-file。次の例では、PKCS#7 フォーマットと SHA-256 ダイジェストを使用しています。
/usr/lib/rpm/pesign/kernel-sign-file -i pkcs7 sha256 \
module-signing.key module-signing.der acme_driver.ko
ヘルパーは、システム上の SUSE 署名統合から利用可能である必要があります。ヘルパーが見つからない場合は、任意の署名コマンドを使用するのではなく、公式の SLES/KMP ドキュメントと有効化されたリポジトリでサポートされている署名設定を確認してください。モジュール署名がファイルに追加されます。署名後にモジュールを削除、編集、再圧縮、またはその他の方法で変更しないでください。このような変更は署名を無効にする可能性があります。最終的な署名手順を繰り返せるように、元のビルド成果物を保持してください。

SLESサーバー上で、module-signing.derrootユーザーが読み取れる場所に公開証明書を配置し、登録キューに追加します。
mokutil --root-pw --import module-signing.der
mokutil --list-new
SUSE のドキュメント--root-pwでは、root パスワードを使用して保留中の登録を承認する方法として説明されています。import コマンドは証明書をキューに追加しますが、すぐに登録するわけではありません。サーバーを再起動します。MokManager で、[ディスクからキーを登録]を選択し、証明書を選択して登録を確認し、要求された承認を完了します。メニューの文言は、shim/MokManager のバージョンによって若干異なる場合があります。登録画面にアクセスできない場合は、ブート パスを確認し、コンソールへのアクセスを手配してください。import コマンドが成功したからといって、証明書が登録されたと決めつけないでください。
サーバー起動後、登録済みリストにキーが表示されていることを確認してください。
mokutil --list-enrolled

mokutil --list-new保留中の登録要求を表示します。
署名済みのファイルを、実行中のカーネルの extra-modules ディレクトリにコピーし、依存関係マップを更新して、名前でモジュールを要求します。起動したカーネルが異なる場合は、実際のカーネルリリースに置き換えてください。
release=$(uname -r)
install -D -m 0644 acme_driver.ko \
"/lib/modules/$release/extra/acme_driver.ko"
depmod -a "$release"
modprobe acme_driver
modprobeはモジュールの依存関係を解決するため、一般的に よりも推奨されますinsmod。ドライバが提供する実際のデバイスまたは機能をテストしてください。コマンドが成功しただけでは、ハードウェアが正しく動作していることを証明できません。モジュールを起動時にロードする場合は、 などのファイルにモジュール名を独自の行に追加します/etc/modules-load.d/acme_driver.conf。SLES は、これらの設定ファイルに systemd のモジュールロードメカニズムを使用します。

modprobe。役立つチェック項目は以下のとおりです。
mokutil --list-enrolled
modinfo -F signer /lib/modules/$(uname -r)/extra/acme_driver.ko
lsmod | grep acme_driver
journalctl -k -b | tail -n 80
modinfo -F signerモジュールに埋め込まれた署名者のメタデータを表示します。これだけでは、証明書が登録されていることや、実行中のカーネルが署名を受け入れたことを証明するものではありません。modprobeセキュアブートが有効になっている状態で正常に動作し、カーネルログの検査とデバイスの機能チェックが行われる方が、より有用な証拠となります。図に表示されているターミナル出力は、コマンドと出力例であり、この記事のために実行されたテストのレポートではありません。
| 症状 | チェックすべき事項 |
|---|---|
Key was rejected by serviceまたは署名関連の読み込みエラー | このモジュールに署名した証明書がに登録されていることを確認しますmokutil --list-enrolled。モジュールが最終変更後に署名されたことを確認しますjournalctl -k -b。 |
Invalid module format | モジュールをvermagicと比較しますuname -r。実行中のカーネルとそのフレーバーに合わせて再ビルドします。 |
Unknown symbolまたは未解決の依存関係 | 適切なビルド環境と必要な関連モジュールを確認し、depmod -aインストール後に再度実行してください。 |
Module not found | ファイル名、モジュール名、カーネル固有の宛先ディレクトリ、および依存関係マップを確認してください。に渡される名前はmodprobe通常、を省略します.ko。 |
SUSEはモジュールがサポートされているかどうかも追跡しており、サポートされていないモジュールをロードすると、カーネルのサポート状態や汚染状態に影響を与える可能性があります。このポリシーは署名検証とは別個のものです。サポートされていないモジュールの設定を変更しても、署名キーは登録されず、拒否された署名も修復されません。サポート対象の運用システムでこのポリシーを変更する前に、SUSEのサポートガイダンスを確認してください。

あるカーネルリリース向けに構築されたモジュールは、次のカーネルリリースと自動的に互換性があるとは限りません。カーネルのアップデート後、対応するビルド環境をインストールし、新しいカーネルABI向けにモジュールを再ビルドし、最終ファイルに署名し、そのカーネルのモジュールツリーにインストールし、依存関係情報を更新してください。署名証明書が引き続き信頼されている場合は、通常、再度登録する必要はありません。代替またはローテーションされた証明書には、独自の登録と承認が必要です。無人起動時ロードに頼る前に、新しいカーネルとモジュールを一緒にテストしてください。
定期的なアップデートに耐えなければならないフリートやドライバーについては、ドライバーとサポートモデルに適合するSUSEのカーネルモジュールパッケージ(KMP)アプローチなど、再現性のあるパッケージングワークフローを使用してください。パッケージングによってカーネルごとのビルドと署名手順を整理できますが、適切なキー保護、モジュールの互換性、MOKの信頼性、およびアップデートテストの必要性がなくなるわけではありません。SLES 15のサービスパックと組織でサポートされているカーネルライフサイクルの詳細については、ドキュメントを参照してください。

/etc/modules-load.dモジュールが再構築され、インストール済みのカーネル用に署名された後、1行のエントリで起動時のロードを要求できます。同期チャネル、ブートストラップリポジトリ、アクティベーションキー、および検証済みのSaltブートストラップワークフローを使用して、インターネットアクセスなしでSLES 15をSUSE Managerに登録します。
Ubuntu 24.04 でサスペンド後に Wi-Fi が切断される問題のトラブルシューティング: アップデート、無線ブロックと NetworkManager の確認、省電力テスト、ログの検査、修正の検証。
ALSAデバイスを診断し、WirePlumberのバッファ、サンプルレート、および直接ALSA設定を安全に調整することで、Ubuntu 24.04におけるパチパチ音、ブーンというノイズ、および歪んだ音を修正します。
カスタムSLES 15カーネルモジュールに署名する方法、MOKに証明書を登録する方法、セキュアブートでモジュールをロードする方法、結果を検証する方法、およびカーネルのアップデートを処理する方法を学びます。
SLES 15 上に KVM をセットアップし、libvirt のネットワークとストレージを設定し、仮想マシンを作成し、自動起動を有効にし、ホストの再起動後に確実に起動することを確認します。
Configure a WireGuard point-to-site VPN on Debian 12 with wg-quick, IPv4 forwarding, nftables NAT, client profiles, systemd startup, and verification.
Audit SLES 15 against the current DISA STIG, review OpenSCAP findings, test remediations, and document exceptions before production rollout.
SUSE Linux Enterprise Server 上で SAP HANA のグローバルおよびステートメントメモリ制限を設定する方法、HANA の制限を SUSE MemoryLow と比較する方法、そして各変更を安全に検証する方法を学びましょう。
Gooroom OSのブラウザ分離の仕組みを学び、信頼できるURLとブロックされたURLのポリシーを準備し、GPMSの設定を調整し、構築したシステムの設定を確認します。
インストール前に、HamoniKR 8.0のシステム要件、Lite版とフルエディションの要件、および古い64ビットノートパソコンとの互換性に関する実用的チェックを確認してください。