24.2. selinux RHEL システムロールを使用した SELinux ネットワークポートラベルの管理


標準以外のポートでサービスを実行する場合は、このポートに対応する SELinux タイプラベルを設定する必要があります。これにより、サービスが標準以外のポートでリッスンしようとする際に、そのサービスへの許可が SELinux によって拒否されなくなります。selinux RHEL システムロールを使用すると、このタスクを自動化し、ポートにタイプラベルをリモートで割り当てることができます。

前提条件

手順

  1. 次の内容を含む Playbook ファイル (例: ~/playbook.yml) を作成します。

    ---
    - name: Managing SELinux
      hosts: managed-node-01.example.com
      tasks:
        - name: Set http_port_t label on network port
          ansible.builtin.include_role:
            name: redhat.rhel_system_roles.selinux
          vars:
            selinux_ports:
              - ports: <port_number>
                proto: tcp
                setype: http_port_t
                state: present
    Copy to Clipboard

    サンプル Playbook で指定されている設定は次のとおりです。

    ports: <port_number>
    SELinux ラベルを割り当てるポート番号を定義します。複数の値はコンマで区切ります。
    setype: <type_label>
    SELinux タイプラベルを定義します。

    Playbook で使用されるすべての変数の詳細は、コントロールノードの /usr/share/ansible/roles/rhel-system-roles.selinux/README.md ファイルを参照してください。

  2. Playbook の構文を検証します。

    $ ansible-playbook --syntax-check ~/playbook.yml
    Copy to Clipboard

    このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。

  3. Playbook を実行します。

    $ ansible-playbook ~/playbook.yml
    Copy to Clipboard

検証

  • http_port_t ラベルが割り当てられているポート番号を表示します。

    # ansible managed-node-01.example.com -m shell -a 'semanage port --list | grep http_port_t'
    http_port_t      tcp     80, 81, 443, <port_number>, 488, 8008, 8009, 8443, 9000
    Copy to Clipboard
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat