s_tajima:TechBlog

渋谷で働くインフラエンジニアのTechブログです。

OpenSCAPの検証/導入編

SCAPとは

  • SCAP(Security Content Automation Protocol)とはNISTによって管理されている規格。
  • エンタープライズシステムのセキュリティメンテナンスの標準化のためにつくられたもの。
    • パッチの存在確認の自動化
    • システムのセキュリティ設定の確認
    • 不正アクセスの痕跡の調査
    • ...等

OpenSCAPとは

  • SCAPの構成要素は脆弱性や設定等のセキュリティデータを伝えるための、複数の複雑なデータ変換フォーマットを含む。
  • 歴史的な理由から、これらの情報に適切なフォーマットで問い合わせをするツールはほとんどなかった。
  • そのようなツールの欠落は、SCAPを使ってもらうことの障壁になっていた。
  • OpenSCAPプロジェクトは、SCAPへのアクセシビリティを向上させることを目的としている。
  • OpenSCAPは、以下のコンポーネントで構成される。
  • 以下の仕様書をサポート
    • XCCDF: The Extensible Configuration Checklist Description Format (ver. 1.2)
    • OVAL®: Open Vulnerability and Assessment Language (ver. 5.11)
    • Asset Identification (ver. 1.1)
    • ARF: Asset Reporting Format (ver. 1.1)
    • CCE™: Common Configuration Enumeration (ver. 5.0)
    • CPE™: Common Platform Enumeration (ver. 2.3)
    • CVE®: Common Vulnerabilities and Exposures
    • CVSS: Common Vulnerability Scoring System (ver. 2.0)
  • OpenSCAPは、SCAPの仕様に含まれない機能も実装している。

OpenSCAPの使い方

インストール

ソースコードによるコンパイル もしくは 使用しているLinuxディストリビューションに合わせた既存のビルドを使うことができます。
今回はCentOS6系による検証なので、yumを使ってインストールします。

$ sudo yum install openscap-utils openscap-content

$ rpm -qa | grep openscap
openscap-0.9.3-1.el6.x86_64
openscap-content-0.9.3-1.el6.noarch
openscap-utils-0.9.3-1.el6.x86_64

使い方

SCAP Contentの情報表示

oscap infoを使うと、OVALファイルやXCCDFファイルのようなSCAP Contentの情報を確認できます。

$ oscap info scap-rhel6-oval.xml
Document type: OVAL Definitions
OVAL version: 5.8
Generated: 2011-03-06T12:00:00-04:00
Imported: 2012-12-13T00:09:05
$ oscap info scap-rhel6-xccdf.xml
Document type: XCCDF Checklist
Checklist version: 1.1
Status: draft
Generated: 2011-10-12
Imported: 2012-11-15T21:10:41
Resolved: false
Profiles:
    RHEL6-Default

スキャン

XCCDFによるスキャンを行います。
今回は以下の手順を参考に、Red Hatのセキュリティチームが提供してくれているOVALファイル, XCCDFファイルを使います。
http://www.open-scap.org/page/Documentation#How_to_run_vulnerability_scan_on_Red_Hat_Enterprise_Linux

  • OVALファイル, XCCDFファイルの取得
$ wget http://www.redhat.com/security/data/metrics/com.redhat.rhsa-all.xccdf.xml 
$ wget http://www.redhat.com/security/data/oval/com.redhat.rhsa-all.xml 
  • スキャンの実行
# oscap xccdf eval --results results-xccdf.xml --report report-xccdf.html com.redhat.rhsa-all.xccdf.xml 
# oscap oval  eval --results results-oval.xml  --report report-oval.html  com.redhat.rhsa-all.xml

--resultsオプションを付けてスキャンを実行すると、結果のXMLファイルが生成されます。
スキャンの結果を機械的に利用したい場合には、このオプションを使うといいでしょう。

--reportオプションを付けてスキャンを実行すると、結果のHTMLファイルが生成されます。
人間が確認する場合には適当なウェブサーバを立ち上げる等してこのHTMLファイルを見るといいでしょう。
尚、レポートは、以下のようなフォーマットで出力されます。
https://mpreisle.fedorapeople.org/openscap/report-xccdf.html
https://mpreisle.fedorapeople.org/openscap/report-oval.html

以上、OpenSCAPの説明と簡単な使い方の説明でした。