systemdシャットダウン画面でハングアップするSUSEサーバーを診断する
systemdジョブと前回の起動ジャーナルを使用して、遅いサービス、マウント、またはストレージの依存関係を特定し、原因を隠蔽することなく修正します。
シナリオ例:管理者が、小規模な公開ウェブサイトをホストするために、web01という名前の架空のSLES 15サーバーを準備しているとします。目標は、既存のSSH管理パスを維持したまま、TCPポート80でHTTPの受信を許可することです。これはあくまで例であり、テスト結果の報告や、すべてのSLES 15インストールで同じインターフェース名やサービスが利用できるという主張ではありません。
SLES 15 では、firewalldがデフォルトのファイアウォール フレームワークであり、 がfirewall-cmdそれを制御します。まず、アクティブなゾーンを特定し、リモート アクセスを確認します。次に、永続構成でそのゾーンに必要最小限のサービスを追加し、リロードします。SUSE の SLES 15 SP7 セキュリティおよび強化ガイドには、このゾーン ベースのモデルと、ランタイム ルールと永続ルールの違いが記載されています。これらの手順は、firewalld がインストールされ、実行されていることを前提としています。古いアップグレード システムでは、別途移行チェックが必要になる場合があります。
サーバーコンソールまたはネットワークアクセスが中断された場合に復旧可能な管理セッション経由で接続してください。SSHで接続している場合は、ファイアウォールの変更を行う間、そのセッションを開いたままにしてください。firewalldが実行されていることを確認し、どのゾーンがインターフェースを所有しているかを確認してください。
sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-default-zone
最初のコマンドは を報告するはずですrunning。active-zones コマンドは、インターフェースまたは送信元アドレスが割り当てられているゾーンを一覧表示します。複数のゾーンが表示される場合もあります。架空の web01 の例では、publicとインターフェース が報告されたとしますens192。以降のコマンドでは、受信ネットワークインターフェースに割り当てられたゾーンを使用します。インターフェースの名前が であると想定したりeth0、publicが一般的なデフォルトだからといってアクティブであると想定したりしないでください。

サービスが実行されていない場合は、開始する前にその状態を確認してくださいsudo systemctl status firewalld。 標準の SLES 15 インストールでは firewalld はデフォルトでインストールされ有効になっていますが、イメージ プロファイル、アップグレード、またはローカル ポリシーによって異なる場合があります。インストールされているが停止している場合は、現在のポリシーで必要なアクセスが維持されることを確認してから、起動して有効にしてください。sudo systemctl enable --now firewalldリモートで管理されているホストでは、現在のルールが不明なファイアウォールを有効にする前に、コンソール アクセスと SSH の許可を確認してください。
firewalldサービスは、ポートとプロトコルの名前付きバンドルです。開く前にローカル定義を確認してください。
sudo firewall-cmd --info-service=http
sudo firewall-cmd --zone=public --list-all
SLES では、定義済みのhttpサービスは TCP ポート 80 に対応します。ゾーン一覧では、現在許可されているサービスとポートを確認できます。public見つかったアクティブなゾーンに置き換えてください。SSH を使用してサーバーを管理している場合は、ssh先に進む前にそのゾーンで が許可されていることを確認してください。SLES のインストール動作と既存のポリシーは異なる場合があるため、推測に頼るのではなく確認してください。インストールされている SSH デーモンが標準以外のポートでリッスンしている場合、一般的なsshサービスエントリが一致しない可能性があります。まず、デーモンの実際のリッスンポートと既存のファイアウォール ポリシーを確認してください。

Firewalld は、実行時設定と永続設定を別々に管理します。通常のコマンドは、アクティブな実行時ルールのみを変更します。--permanent保存された設定は書き込まれますが、その変更はすぐには有効になりません。web01 の場合、HTTP サービスを、そのパブリック インターフェイスを所有するゾーンに追加します。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
明示的に指定すること--zoneで、ルールが意図しないデフォルトゾーンに適用されるのを防ぎます。リロードすると、永続ルールがランタイムに適用されます。保存されていないランタイムのみの変更はリロード中に破棄されるため、実行する前に、意図的に必要な一時ルールを検査して保存してください。サービスを永続化する前にテストするには、sudo firewall-cmd --zone=public --add-service=httpまず を指定せずに実行します--permanent。正常に動作する場合は、永続ルールを追加してリロードします。ランタイムのみのテストは、リロードまたはファイアウォールの再起動後に失われます。

定義済みのサービスではなく単一のポートが必要な場合は、ポートとプロトコルの両方を指定してください(例:)--add-port=8080/tcp。これは、アプリケーションが実際にそのポートでリッスンする場合にのみ行ってください。ファイアウォールの許可は、Webサーバーの起動、クラウドセキュリティグループルールの作成、またはアップストリームルーターの設定を行うものではありません。すべてのネットワーク層でトラフィックを許可する必要があります。
実行中および保存済みの設定を確認してください。
sudo firewall-cmd --zone=public --list-services
sudo firewall-cmd --permanent --zone=public --list-services
sudo firewall-cmd --check-config
出力にはhttp両方のサービスリストが含まれている必要があり、構成チェックはエラーを報告せずに完了する必要があります。また、たとえば を使用してアプリケーションがローカルでリッスンしていることを確認しsudo ss -lntp、目的のネットワーク上のクライアントからサイトをテストしてください。ファイアウォールリストはルールを確認するものであり、エンドツーエンドの到達可能性を確認するものではありません。DNS、クラウドファイアウォール、ルーティング、およびWebサーバー自体がリクエストをブロックまたは失敗させる可能性があります。

HTTP が不要になった場合は、保存済みのルールを削除して再読み込みしてください。sudo firewall-cmd --permanent --zone=public --remove-service=httpその後、sudo firewall-cmd --reload実行時リストと永続リストを再確認してください。単一のアクセス問題を解決するために、すべてのルールをフラッシュしたり、信頼できるゾーンに切り替えたりすることは避けてください。これらの広範囲にわたる変更は、無関係なサービスに悪影響を与える可能性があります。
リリース固有のガイダンスについては、SUSE SLES 15 SP7 セキュリティおよび強化ガイドを参照してください。firewalld のバージョンごとのコマンドの動作については、アップストリームのfirewall-cmd ドキュメントと、ランタイム構成と永続構成のリファレンスを参照してください。利用可能なオプションは、特定の SLES サービス パックに同梱されている firewalld のバージョンによって異なる場合があるため、コマンドが利用できない場合は、ローカルのヘルプを確認してください。firewall-cmd --help
systemdジョブと前回の起動ジャーナルを使用して、遅いサービス、マウント、またはストレージの依存関係を特定し、原因を隠蔽することなく修正します。
firewall-cmd を使用してアクティブゾーンを検査し、HTTP を安全に許可し、SSH アクセスを維持し、SLES 15 でルールが再読み込み後も有効であることを確認します。
PAMの障害が発生した原因を、サービス、アカウントポリシー、またはIDプロバイダーに特定し、正常に動作する管理者セッションを維持しながら、適切なSLES構成を修復します。
セキュアブートを無効にせずに、カスタムSLES 15カーネルモジュールをロードします。実行中のカーネルと一致させ、.koファイルに署名し、MOKキーを登録し、ロードが成功したことを確認します。
NextcloudのファイルとMariaDBをまとめてバックアップし、cronを使って暗号化されたResticスナップショットをスケジュール設定し、稼働中のサーバーにリスクを負わせることなく復旧を検証します。
Zimbra Community Editionの個々のメールボックスをエクスポートし、そのTGZバックアップを検証し、既存のメールを上書きすることなく、不足しているアイテムを復元します。
システムツリーの準備、ブート統合、デプロイメントチェック、ロールバックなど、仮想マシン上でDebianベースのOSTreeデスクトップを作成およびテストする方法を学びます。
Keycloakとトークン認証を使用してJitsi Meetルームを開始できるのは承認済みのアカウントのみとし、必要に応じてゲスト参加も可能にする。
ONLYOFFICE DocSpaceをActive DirectoryまたはOpenLDAPに接続し、ユーザーとグループを安全にインポートし、アカウントフィールドをマッピングし、信頼性の高い同期をスケジュールします。
ONLYOFFICE Document Serverにカスタムフォントをインストールし、永続的なDockerマウントと直接コピーを比較し、フォントリストを再構築して、結果を検証します。