florianutz.ubuntu1804_cis

Ubuntu 18.04 CIS STIG

ビルドステータス Ansibleロール

Ubuntu 18.04のマシンをCISに準拠させる設定を行います。デフォルトでレベル1と2の問題が修正されます。

このロールはシステムに変更を加えます。これにより、システムが壊れる可能性があります。これは監査ツールではなく、監査後に使用する修正ツールです。

重要なインストール手順

ansible-galaxyコマンドを使ってインストールしたい場合、以下のように実行する必要があります:

ansible-galaxy install -p roles -r requirements.yml

この内容をrequirements.ymlファイルに追加します:

- src: https://github.com/florianutz/Ubuntu1804-CIS.git

これはCIS Ubuntu Benchmark v2.0.1 - 2020年3月1日に基づいています。

このリポジトリはMindPointGroupが作成した作業から派生しています。

要件

このプレイブックを実行する前に、これらの変更がシステムに影響を与えないか慎重にタスクを確認してください。

ロール変数

デフォルトのmain.ymlで定義されている変数が多数あります。最も重要な内容を以下に示します。

ubuntu1804cis_notauto: システムを壊す可能性が高いため、通常自動化したくないCISチェックを実行します(デフォルト:false)

ubuntu1804cis_section1: CIS - 一般設定(セクション1)(デフォルト:true)

ubuntu1804cis_section2: CIS - サービス設定(セクション2)(デフォルト:true)

ubuntu1804cis_section3: CIS - ネットワーク設定(セクション3)(デフォルト:true)

ubuntu1804cis_section4: CIS - ロギングおよび監査設定(セクション4)(デフォルト:true)

ubuntu1804cis_section5: CIS - アクセス、認証、および認可設定(セクション5)(デフォルト:true)

ubuntu1804cis_section6: CIS - システムメンテナンス設定(セクション6)(デフォルト:true)

SELinuxのすべての機能を無効にする

ubuntu1804cis_selinux_disable: false

サービス変数:
サーバーがこれらのサービスを実行し続けることが許可されるかどうかを制御します。
ubuntu1804cis_avahi_server: false  
ubuntu1804cis_cups_server: false  
ubuntu1804cis_dhcp_server: false  
ubuntu1804cis_ldap_server: false  
ubuntu1804cis_telnet_server: false  
ubuntu1804cis_nfs_server: false  
ubuntu1804cis_rpc_server: false  
ubuntu1804cis_ntalk_server: false  
ubuntu1804cis_rsyncd_server: false  
ubuntu1804cis_tftp_server: false  
ubuntu1804cis_rsh_server: false  
ubuntu1804cis_nis_server: false  
ubuntu1804cis_snmp_server: false  
ubuntu1804cis_squid_server: false  
ubuntu1804cis_smb_server: false  
ubuntu1804cis_dovecot_server: false  
ubuntu1804cis_httpd_server: false  
ubuntu1804cis_vsftpd_server: false  
ubuntu1804cis_named_server: false  
ubuntu1804cis_bind: false  
ubuntu1804cis_vsftpd: false  
ubuntu1804cis_httpd: false  
ubuntu1804cis_dovecot: false  
ubuntu1804cis_samba: false  
ubuntu1804cis_squid: false  
ubuntu1804cis_net_snmp: false  
サーバーをメールサーバーとして指定

ubuntu1804cis_is_mail_server: false

システムネットワークパラメータ(ホストのみまたはホストとルーター)

ubuntu1804cis_is_router: false

必須のIPv6

ubuntu1804cis_ipv6_required: true

AIDEの設定

ubuntu1804cis_config_aide: true

AIDEのcron設定
ubuntu1804cis_aide_cron:
  cron_user: root
  cron_file: /etc/crontab
  aide_job: '/usr/sbin/aide --check'
  aide_minute: 0
  aide_hour: 5
  aide_day: '*'
  aide_month: '*'
  aide_weekday: '*'  
環境にX Windowsが必要な場合は'true'に設定

ubuntu1804cis_xwindows_required: no

クライアントアプリケーションの要件
ubuntu1804cis_openldap_clients_required: false
ubuntu1804cis_telnet_required: false
ubuntu1804cis_talk_required: false  
ubuntu1804cis_rsh_required: false
ubuntu1804cis_ypbind_required: false
時間同期
ubuntu1804cis_time_synchronization: chrony
ubuntu1804cis_time_synchronization: ntp

ubuntu1804cis_time_synchronization_servers:
  - uri: "0.pool.ntp.org"
    config: "minpoll 8"
  - uri: "1.pool.ntp.org"
    config: "minpoll 8"
  - uri: "2.pool.ntp.org"
    config: "minpoll 8"
  - uri: "3.pool.ntp.org"
    config: "minpoll 8"
- name: "スコア | 1.1.5 | PATCH | /tmpパーティションにnoexecオプションを設定"

未実装です。/tmpにnoexecを設定するとaptが中断されます。/tmpにはパッケージインストール中の実行可能スクリプトが含まれています。


1.5.3 | PATCH | シングルユーザーモードに認証が必要であることを確認

デフォルトでは無効になっていますが、これはrootのためのランダムなパスワードを設定することにになります。有効にするには以下を設定します:

ubuntu1804cis_rule_1_5_3: true

ランダムパスワード以外を使用するには:

ubuntu1804cis_root_password: '新しいパスワード'
3.4.2 | PATCH | /etc/hosts.allowが設定されていることを確認
ubuntu1804cis_host_allow:
  - "10.0.0.0/255.0.0.0"  
  - "172.16.0.0/255.240.0.0"  
  - "192.168.0.0/255.255.0.0"    
ubuntu1804cis_firewall: firewalld
ubuntu1804cis_firewall: iptables
5.3.1 | PATCH | パスワード作成要件が設定されていることを確認
ubuntu1804cis_pwquality:
  - key: 'minlen'
    value: '14'
  - key: 'dcredit'
    value: '-1'
  - key: 'ucredit'
    value: '-1'
  - key: 'ocredit'
    value: '-1'
  - key: 'lcredit'
    value: '-1'

依存関係

Ansible は、バージョン2.4から2.7まで(2.8は未対応)

例プレイブック

- name: サーバーの強化
  hosts: servers
  become: yes

  roles:
    - Ubuntu1804-CIS

このリポジトリのタスクを実行するには、最初にリポジトリの一つ上の階層にこのファイルを作成します (つまり、プレイブックの.ymlファイルとUbuntu1804-CISディレクトリは隣接している必要があります)、 次にdefaults/main.ymlファイルを確認し、実行したくないルール/セクションを無効にします。

このファイルをsite.ymlと命名したと仮定し、以下のコマンドを実行します:

ansible-playbook site.yml

タグ

変更内容を細かく制御するための多くのタグが用意されています。

タグを使用する例:

    # サイトの監査とパッチを適用
    ansible-playbook site.yml --tags="patch"

ライセンス

MIT

プロジェクトについて

Ansible role to apply Ubuntu 18.04 CIS Baseline

インストール
ansible-galaxy install florianutz.ubuntu1804_cis
ライセンス
mit
ダウンロード
121.1k
所有者