OpenSCAP : インストール2022/07/01 |
SCAP (Security Content Automation Protocol) 標準に基づいたシステムのセキュリティ監査や脆弱性スキャンが可能な OpenSCAP のインストールです。
SCAP の概要は以下を参照ください。
⇒ https://www.ipa.go.jp/security/vuln/SCAP.html OVAL (Open Vulnerability and Assessment Language) ⇒ 脆弱性を評価するための標準化された仕様 XCCDF (Extensible Configuration Checklist Description Format) ⇒ XML フォーマットのセキュリティ設定チェックリスト OCIL (Open Checklist Interactive Language) ⇒ ユーザーとの質疑応答を解釈するフレームワーク CPE (Common Platform Enumeration) ⇒ ハードやソフト等を識別するための命名基準 CCE (Common Configuration Enumeration) ⇒ 各セキュリティ項目にユニーク ID を割り当てる仕様 CVE (Common Vulnerabilities and Exposures) ⇒ 個別製品の脆弱性に割り当てられた一意の識別番号 CVSS (Common Vulnerability Scoring System) ⇒ 脆弱性を評価してスコアでランク付けするメトリクスシステム |
|
[1] | OpenSCAP コマンドラインツール および Linux 向けのセキュリティポリシーが定義された SCAP Security Guide をインストールします。 |
[root@dlp ~]# dnf -y install openscap-scanner scap-security-guide
|
[2] | SCAP Security Guide は [/usr/share/xml/scap/ssg/content] 配下にインストールされます。 |
[root@dlp ~]# ll /usr/share/xml/scap/ssg/content/ total 300008 -rw-r--r--. 1 root root 20969763 Jun 9 18:10 ssg-centos7-ds-1.2.xml -rw-r--r--. 1 root root 20970105 Jun 9 18:10 ssg-centos7-ds.xml -rw-r--r--. 1 root root 13787923 Jun 9 18:09 ssg-centos7-xccdf.xml -rw-r--r--. 1 root root 22289156 Jun 9 18:10 ssg-centos8-ds-1.2.xml -rw-r--r--. 1 root root 22289498 Jun 9 18:10 ssg-centos8-ds.xml -rw-r--r--. 1 root root 14480558 Jun 9 18:10 ssg-centos8-xccdf.xml -rw-r--r--. 1 root root 591 Jun 9 18:08 ssg-firefox-cpe-dictionary.xml -rw-r--r--. 1 root root 3885 Jun 9 18:08 ssg-firefox-cpe-oval.xml -rw-r--r--. 1 root root 277332 Jun 9 18:08 ssg-firefox-ds-1.2.xml -rw-r--r--. 1 root root 277332 Jun 9 18:08 ssg-firefox-ds.xml -rw-r--r--. 1 root root 47457 Jun 9 18:08 ssg-firefox-ocil.xml -rw-r--r--. 1 root root 65954 Jun 9 18:08 ssg-firefox-oval.xml -rw-r--r--. 1 root root 144854 Jun 9 18:08 ssg-firefox-xccdf.xml -rw-r--r--. 1 root root 1231 Jun 9 18:08 ssg-jre-cpe-dictionary.xml -rw-r--r--. 1 root root 6349 Jun 9 18:08 ssg-jre-cpe-oval.xml -rw-r--r--. 1 root root 219353 Jun 9 18:08 ssg-jre-ds-1.2.xml -rw-r--r--. 1 root root 219353 Jun 9 18:08 ssg-jre-ds.xml -rw-r--r--. 1 root root 34672 Jun 9 18:08 ssg-jre-ocil.xml -rw-r--r--. 1 root root 44155 Jun 9 18:08 ssg-jre-oval.xml -rw-r--r--. 1 root root 121469 Jun 9 18:08 ssg-jre-xccdf.xml -rw-r--r--. 1 root root 6768 Jun 9 18:10 ssg-rhel6-cpe-dictionary.xml -rw-r--r--. 1 root root 93922 Jun 9 18:10 ssg-rhel6-cpe-oval.xml -rw-r--r--. 1 root root 22934702 Jun 9 18:10 ssg-rhel6-ds-1.2.xml -rw-r--r--. 1 root root 22935173 Jun 9 18:10 ssg-rhel6-ds.xml -rw-r--r--. 1 root root 733916 Jun 9 18:10 ssg-rhel6-ocil.xml -rw-r--r--. 1 root root 2335663 Jun 9 18:10 ssg-rhel6-oval.xml -rw-r--r--. 1 root root 7439626 Jun 9 18:10 ssg-rhel6-xccdf.xml -rw-r--r--. 1 root root 10135 Jun 9 18:09 ssg-rhel7-cpe-dictionary.xml -rw-r--r--. 1 root root 124400 Jun 9 18:09 ssg-rhel7-cpe-oval.xml -rw-r--r--. 1 root root 22186207 Jun 9 18:09 ssg-rhel7-ds-1.2.xml -rw-r--r--. 1 root root 22186549 Jun 9 18:09 ssg-rhel7-ds.xml -rw-r--r--. 1 root root 1629296 Jun 9 18:09 ssg-rhel7-ocil.xml -rw-r--r--. 1 root root 4763301 Jun 9 18:09 ssg-rhel7-oval.xml -rw-r--r--. 1 root root 14595795 Jun 9 18:09 ssg-rhel7-xccdf.xml -rw-r--r--. 1 root root 13099 Jun 9 18:09 ssg-rhel8-cpe-dictionary.xml -rw-r--r--. 1 root root 124400 Jun 9 18:09 ssg-rhel8-cpe-oval.xml -rw-r--r--. 1 root root 23307942 Jun 9 18:10 ssg-rhel8-ds-1.2.xml -rw-r--r--. 1 root root 23308284 Jun 9 18:10 ssg-rhel8-ds.xml -rw-r--r--. 1 root root 1785009 Jun 9 18:09 ssg-rhel8-ocil.xml -rw-r--r--. 1 root root 5204724 Jun 9 18:09 ssg-rhel8-oval.xml -rw-r--r--. 1 root root 15155753 Jun 9 18:09 ssg-rhel8-xccdf.xml # 各コンテンツの概要を表示するには以下 [root@dlp ~]# oscap info /usr/share/xml/scap/ssg/content/ssg-centos8-ds-1.2.xml Document type: Source Data Streamre/xml/scap/ssg/content/ssg-centos8-ds-1.2.xml Imported: 2022-06-09T18:10:12 Stream: scap_org.open-scap_datastream_from_xccdf_ssg-rhel8-xccdf-1.2.xml Generated: (null) Version: 1.2 Checklists: Ref-Id: scap_org.open-scap_cref_ssg-rhel8-xccdf-1.2.xml Status: draft Generated: 2022-06-09 Resolved: true Profiles: Title: PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8 Id: xccdf_org.ssgproject.content_profile_pci-dss Referenced check files: ssg-rhel8-oval.xml system: http://oval.mitre.org/XMLSchema/oval-definitions-5 ssg-rhel8-ocil.xml system: http://scap.nist.gov/schema/ocil/2 https://access.redhat.com/security/data/oval/com.redhat.rhsa-RHEL8.xml.bz2 system: http://oval.mitre.org/XMLSchema/oval-definitions-5 Checks: Ref-Id: scap_org.open-scap_cref_ssg-rhel8-oval.xml Ref-Id: scap_org.open-scap_cref_ssg-rhel8-ocil.xml Ref-Id: scap_org.open-scap_cref_ssg-rhel8-cpe-oval.xml Dictionaries: Ref-Id: scap_org.open-scap_cref_ssg-rhel8-cpe-dictionary.xml |
[3] | [oscap] コマンドでシステムをスキャンします。 結果は HTML 形式のレポートで出力可能なため、任意のコンピューターで内容を確認し、可能な限り [pass] できるよう対応するとよいでしょう。 |
# xccdf : [xccdf] モジュールを指定
# ⇒ 指定可能なモジュール : info, xccdf, oval, ds, cpe, cvss, cve, cvrf # [--profile] : プロファイルを指定 # ⇒ 指定可能なプロファイルは [2] で確認した [Profiles] リスト # [--results] : 結果ファイルの出力先 # [--report] : HTML レポートの出力先 # [--fetch-remote-resources] : 最新データをダウンロード oscap xccdf eval \ --profile xccdf_org.ssgproject.content_profile_pci-dss \ --results ssg-centos8-ds-1.2.xml \ --report ssg-centos8-ds-1.2.html \ --fetch-remote-resources \ /usr/share/xml/scap/ssg/content/ssg-centos8-ds-1.2.xml Downloading: https://access.redhat.com/security/data/oval/com.redhat.rhsa-RHEL8.xml.bz2 ... ok --- Starting Evaluation --- Title Verify File Hashes with RPM Rule xccdf_org.ssgproject.content_rule_rpm_verify_hashes Result pass Title Verify and Correct File Permissions with RPM Rule xccdf_org.ssgproject.content_rule_rpm_verify_permissions Result pass Title Install AIDE Rule xccdf_org.ssgproject.content_rule_package_aide_installed Result fail Title Build and Test AIDE Database Rule xccdf_org.ssgproject.content_rule_aide_build_database Result fail Title Configure Periodic Execution of AIDE Rule xccdf_org.ssgproject.content_rule_aide_periodic_cron_checking Result fail Title Configure BIND to use System Crypto Policy Rule xccdf_org.ssgproject.content_rule_configure_bind_crypto_policy Result pass Title Configure System Cryptography Policy Rule xccdf_org.ssgproject.content_rule_configure_crypto_policy Result pass Title Configure Kerberos to use System Crypto Policy Rule xccdf_org.ssgproject.content_rule_configure_kerberos_crypto_policy Result pass Title Configure Libreswan to use System Crypto Policy Rule xccdf_org.ssgproject.content_rule_configure_libreswan_crypto_policy Result pass Title Configure OpenSSL library to use System Crypto Policy Rule xccdf_org.ssgproject.content_rule_configure_openssl_crypto_policy Result pass Title Configure SSH to use System Crypto Policy Rule xccdf_org.ssgproject.content_rule_configure_ssh_crypto_policy Result pass Title Install Intrusion Detection Software Rule xccdf_org.ssgproject.content_rule_install_hids Result pass Title Make sure that the dconf databases are up-to-date with regards to respective keyfiles Rule xccdf_org.ssgproject.content_rule_dconf_db_up_to_date Result notapplicable ..... ..... |
[4] |
スキャンした結果を元に、[fail] と判定された項目について修正スクリプトを生成することもできます。
基本的には、ほぼ全ての [fail] 項目に対しての修正ロジックが生成されます。
また、システムの設定を変更し、セキュリティ設定が厳しくなるため、運用中のサーバーに対して実行する場合は重々注意しましょう。
ただし、[/home] や [/var] などのパーティションは分ける、などといった項目は、ディスク容量との兼ね合いがあるため、自動修正はされません。 さらに、[/tmp] や [/var] などの各マウントポイントに [noexec] や [nosuid] などのオプションを付加せよという項目等は、パーティションを分けていることが前提となるため、分けていない場合は修正スクリプトを実行しても修正はされません。 |
# [3] で出力した結果の [Result ID] を確認 [root@dlp ~]# oscap info ssg-centos8-ds-1.2.xml | grep "Result ID" Result ID: xccdf_org.open-scap_testresult_xccdf_org.ssgproject.content_profile_pci-dss # 修正スクリプト生成
# [--fix-type] : 修正スクリプトのタイプを指定 : デフォルトは Bash # ⇒ 指定可能なタイプ ⇒ bash, ansible, puppet, anaconda, ignition, kubernetes, blueprint # [--output] : ファイルの出力先 # [--result-id] : 確認した [Result ID]
[root@dlp ~]#
[root@dlp ~]# oscap xccdf generate fix \
--fix-type bash \ --output ssg-centos8-ds-1.2-remediation.sh \ --result-id xccdf_org.open-scap_testresult_xccdf_org.ssgproject.content_profile_pci-dss \ ssg-centos8-ds-1.2.xml total 19160 -rw-------. 1 root root 1349 Feb 18 2021 anaconda-ks.cfg -rw-r--r--. 1 root root 4093426 Jul 29 11:03 ssg-centos8-ds-1.2.html -rwx------. 1 root root 805485 Jul 29 11:04 ssg-centos8-ds-1.2-remediation.sh -rw-r--r--. 1 root root 14709313 Jul 29 11:02 ssg-centos8-ds-1.2.xml # 修正スクリプト実行 [root@dlp ~]# ./ssg-centos8-ds-1.2-remediation.sh ..... ..... Remediating rule 75/77: 'xccdf_org.ssgproject.content_rule_chronyd_or_ntpd_specify_multiple_servers' Remediating rule 76/77: 'xccdf_org.ssgproject.content_rule_sshd_set_keepalive_0' Remediating rule 77/77: 'xccdf_org.ssgproject.content_rule_sshd_set_idle_timeout' # 再度チェック実行 [root@dlp ~]# oscap xccdf eval \ --profile xccdf_org.ssgproject.content_profile_pci-dss \ --results ssg-centos8-ds-1.2_after-remediation.xml \ --report ssg-centos8-ds-1.2_after-remediation.html \ --fetch-remote-resources \ /usr/share/xml/scap/ssg/content/ssg-centos8-ds-1.2.xml |
修正スクリプト実行後、多くの [fail] 項目が改善されたことが分かります。 |
Sponsored Link |