MindPointGroup.ubuntu18_cis

UBUNTU18 CIS

Ubuntu18マシンをCIS準拠に設定する

CIS Ubuntu1804ベンチマーク v2.1.0に基づく


Org Stars Stars Forks followers Twitter URL

Ansible Galaxy Quality Discord Badge

Release Branch Release Tag Release Date

Main Pipeline Status

Devel Pipeline Status Devel Commits

Issues Open Issues Closed Pull Requests

License


サポートを探していますか?

Lockdown Enterprise

Ansibleサポート

コミュニティ

質問をしたり、機能について話し合ったり、他のAnsible-Lockdownユーザーとチャットしたりするために、Discordサーバーに参加してください。


注意事項

このロールはシステムに変更を加えますが、意図しない結果をもたらす可能性があります。これは監査ツールではなく、監査後に使用する修正ツールです。

チェックモードはサポートされていません!ロールはチェックモードでエラーなく完了しますが、サポートされておらず、注意が必要です。準拠チェックにはUBUNTU18-CIS-Auditロールまたはコンプライアンススキャナーを使用してください。

このロールは、クリーンインストールのオペレーティングシステムに対して開発されました。既存のシステムに適用する場合は、必要なサイト固有の変更についてこのロールを確認してください。

リリースバージョンを使用するには、メインブランチと関係するリリースを指定してください。


CISのセキュリティレベルに合わせる

CISのレベル1またはレベル2の制御のみを実行することができます。 これはタグを使用して管理されます:

  • level1_server
  • level1_workstation
  • level2_server
  • level2_workstation

mainのデフォルトに見つかる制御もこれを反映させる必要があります。これは、監査コンポーネントを使用してテストを行う場合の制御です。

前のリリースからの移行

CISリリースには常に変更が含まれていますので、新しい参照や利用可能な変数を確認することを強くお勧めします。これはansible-lockdownの初期リリース以来、大きく変わりました。 これはpython3と互換性がありますが、デフォルトのインタプリタが見つかる場合に限ります。これには、システムを適切に構成する前提条件が含まれています。

詳細はChangelogで確認できます。

監査(新機能)

これはdefaults/main.ymlファイル内の変数run_auditでオンまたはオフにすることができます。デフォルトではfalseですので、詳細はWikiを参照してください。デフォルトファイルは、ansibleロールで有効にされた制御のみをチェックするためにgossチェックを設定します。

これは、可能な限り構成の準拠や実行中の設定をチェックするための非常に軽量で迅速なチェックです。

新しい監査形式が開発されました。それは、gossという小さな(12MB)Goバイナリと関連する設定を使用してチェックを行います。インフラや他のツールを必要としません。 この監査は、設定が正しい状態であることをチェックするだけでなく、実行中の状態でもそれが実行されているかどうかを確認し、false positiveを削減することを目的としています。

UBUNTU18-CIS-Auditを参照してください。

監査の例

これは、選択肢が有効になっているVagrantイメージに基づいています。例:GUIなしまたはファイアウォールなし。 注意:監査中は、構成と実行状態を確認するために、より多くのテストが実行されます。


ok: [default] => {
    "msg": [
        "修正前の結果は:['合計時間: 5.454秒', 'カウント: 338, 失敗: 47, スキップ: 5']。",
        "修正後の結果は:['合計時間: 5.007秒', 'カウント: 338, 失敗: 46, スキップ: 5']。",
        "詳細は/var/tmpで確認できます。",
        ""
    ]
}

PLAY RECAP *******************************************************************************************************************************************
default                    : ok=270  changed=23   unreachable=0    failed=0    skipped=140  rescued=0    ignored=0

ドキュメンテーション

要件

一般的な要件:

  • Ansibleの基本的な知識。以下は、Ansibleに不慣れな場合の参考文献です。

  • 機能するAnsibleやTowerがインストールされ、設定され、稼働していること。これには、すべての基本のAnsible/Tower設定、必要なパッケージのインストール、インフラのセットアップが含まれます。

  • このロール内のタスクを通読して、各制御が何を行っているか理解してください。タスクの中には、破壊的であり、運用中のシステムに意図しない結果をもたらす可能性があります。また、defaults/main.ymlファイル内の変数にも慣れてください。

技術的依存関係:

  • 監査を使用する場合、gossバイナリとコンテンツをシステムにダウンロードまたは追加するためのアクセス (コンテンツをシステムに取得する方法の他のオプションもあります)
  • Python3
  • Ansible 2.10.1以上
  • python-def
  • libselinux-python

ロールの変数

このロールは、エンドユーザーがタスク自体を編集する必要がないように設計されています。すべてのカスタマイズは、defaults/main.ymlファイルまたはプロジェクト、ジョブ、ワークフロー内のエクストラ変数を使用して行うべきです。

タグ

追加の制御精度のために多くのタグが利用可能です。各制御には、レベル、スコアの有無、関連するOS要素、パッチか監査か、ルール番号など、独自のタグセットがあります。

以下は、このロール内の制御のタグセクションの例です。この例では、実行をservicesタグの付いたすべての制御をスキップするように設定すると、このタスクはスキップされます。逆に、servicesタグの付いた制御のみを実行することもできます。

      tags:
      - level1-server
      - level1-workstation
      - scored
      - avahi
      - services
      - patch
      - rule_2.2.4

コミュニティの貢献

私たちは、コミュニティの皆さんがこのロールに貢献することを歓迎します。以下のルールをお読みください。

  • あなたの作業は、個別のブランチで行われます。変更をマージする意図のあるすべてのコミットに対して、Signed-offおよびGPG署名を確認してください。
  • すべてのコミュニティプルリクエストは、develブランチに取り込まれます。
  • develへのプルリクエストでは、コミットがGPG署名されていること、Signed-offされていること、機能テストが行われていることを確認します。
  • 変更がマージされ、詳細なレビューが完了した後、認可されたメンバーが変更をメインブランチにマージし、新しいリリースを作成します。

知られている問題

cloud0init - バグのため、/varにnoexecが追加されると動作が停止します。 ubtu18cis_rule_1_1_3_3

bug 1839899

パイプラインテスト

利用するもの:

  • ansible-core 2.16
  • ansibleコレクション - 要件ファイルに基づいて最新バージョンを取得
  • develブランチを使用した監査を実行
  • これはdevelにプルリクエストがあるときに自動的に行われるテストです。

追加の機能

  • pre-commitをテストし、ディレクトリ内から実行できます。
pre-commit run
インストール
ansible-galaxy install MindPointGroup.ubuntu18_cis
ライセンス
mit
ダウンロード
998
所有者
Ansible Lockdown is a security baseline automation project sponsored by Mindpoint Group.