OpenVASによる脆弱性プレ診断事例

 

2022年5月25日に以下の条件でインストールしたサイトを脆弱性診断する。

・環境: AWS東京リージョン

・OS: AlmaLinux8.6 (AMIからインスタンス作成)

・Webサーバ: Apache httpd 2.4.37(AlmaLinux)

・PHP: php-fpm 7.4.19

・アプリ: Wordpress 6.0

 

動作確認後にプレ診断実施した結果、以下の脆弱性候補が検出された。

1.The web server has the following HTTP methods enabled: TRACE

CVSS: 5.8(Midium)

Apacheではデフォルトで「HTTP TRACEメソッド」有効なことによる。

2.The remote SSH server supports the following weak KEX algorithm(s):

diffie-hellman-group-exchange-sha1 | Using SHA-1

CVSS: 5.3(Midium)

アルゴリズムの危殆化のため無効となったことによる。

3.The remote SSH server supports the following weak client-to-server encryption algorithm(s):

aes128-cbc/aes256-cbc

CVSS: 4.3(Midium)

アルゴリズムの危殆化のため無効となったことによる。

4.It was detected that the host implements RFC1323/RFC7323.

    CVSS: 2.6(Low)

TCPタイムスタンプ自体はデフォルトでON。環境によって無効化が推奨される。

 

最新のリリースで構成していても、サービス構築後には脆弱性診断の実施が有効である例となっている。

脆弱性とリスク管理

Japan Vulnerability Notes/脆弱性レポート 一覧 (jvn.jp)では、日本で使用されているソフトウェアなどの脆弱性関連情報とその対策情報が提供されている。

情報システム全般の脆弱性関連情報なので多岐に亘るが、Webサイトの安全な運用に必要な脆弱性情報も提供されており、該当する場合には対応を検討する。これはWebサイト運用におけるリスク管理の基本と言える。

Webサイトを構成するプラットフォームの脆弱性は、脆弱性のある機能を実際に使っていて、サイバー攻撃の手段がある場合にセキュリティ上の脅威となる。顕在化した脆弱性によるセキュリティ上の脅威が明らかになった場合には、総合的な視野からのリスク管理が求められる。

該当する脆弱性をついたサイバー攻撃により、財産的価値のある情報の漏洩、個人情報の漏洩、サービス停止など大きな被害が想定される場合には緊急の対策を検討する。緊急ではない場合でも、対策に要するコスト、期間を見積り、想定される被害とのトレードオフを勘案して、対策時期、対策範囲を判断することになる。

脆弱性レポートの見落としなどで潜在化した脆弱性は脆弱性診断で顕在化できることがある。脆弱性診断はリスク管理の一コマではあるが、被害の発生を防ぐ効果は大きい。新たにWebサイトをリリースする際には必須であり、その後もできるだけ頻繁に実施を継続することが望ましい。

ウェブサイトの攻撃兆候検出

情報処理推進機構(IPA)がウェブサイトの攻撃兆候検出ツール iLogScannerを無償提供している。 iLogScannerにウェブやsshなどのアクセスログを入力すると、サイバー攻撃と思われる痕跡を検出し、一部の痕跡については攻撃が成功したか否かを判定してくれる。サイトがサイバー攻撃を受けていないか、その兆候を定期的に確認することができる。 本サイトで紹介している脆弱性プレ診断は、このツールではサイバー攻撃の兆候として検知され、結果レポートが以下のように報告される。

iLogScanner – 解析結果レポート

解析結果

  • 終了ステータス:完了
  • 解析日時:2022/05/06 14:45
  • 解析対象ファイル:ssl_access_log
  • 解析指定日付:
  • 解析対象日付:2022/05/06 – 2022/05/06
  • 解析レベル:詳細
  • 検出数  :
    1205

検出したWebサイトへの攻撃について、下記に詳細を記述します。

検出対象脆弱性

攻撃があったと思われる件数

攻撃が成功した可能性の 高い件数

SQLインジェクション

304

0

OSコマンドインジェクション

0

ディレクトリトラバーサル

352

クロスサイトスクリプティング

538

その他

0

詳細レベルで検出したWebサイトへの攻撃について、下記に詳細を記述します。

検出対象項目

攻撃があったと思われる件数

同一IPアドレスからの攻撃の可能性

11

アクセスログに記録されないSQLインジェクションの可能性

0

Webサーバの設定不備を狙った攻撃の可能性

 

PUTメソッドの設定不備

0

FrontPage Server Extensionsの設定不備

0

Tomcatの設定不備

0

解析結果ログ

#解析結果ログの見方 #—————————————————————- #[ログファイル名] #[行番号] [脆弱性種別] [攻撃が成功した可能性が高い] [該当するアクセスログ] [シグネチャ対応コード] #—————————————————————- #※ 各項目はタブ区切りになります #※ 攻撃が成功した可能性が高い場合、「●」がつきます #以下、解析結果ログ ssl_access_log-20220424 12846 クロスサイトスクリプティング – … – – [06/May/2022:04:36:57 +0000] “GET /Web/SA2/ScriptList.do?gui_pagenotableData=><script>alert(document.cookie)</script> HTTP/1.1” 404 196 B958  

脆弱性診断の前に

OpenVAS脆弱性スキャン – Platinum Web Engineering (pgw.jp)に紹介したように、オープンソースの自動脆弱性診断ツールを利用することで、あまりコストをかけずに脆弱性診断をすることができる。

但し、脆弱性診断はサイバー攻撃に類似したアクセスをすることになるので、事前に以下の点に留意し、関連するシステムの技術担当者への了解を得て実施日時を調整するなどの準備が必要となる。

・デフォルトの診断条件で毎秒10回程度のアクセスが1時間程度継続する

・ログ・メッセージとアラート・メッセージが表示されることがある

・ファイアウォールおよび侵入検知および防止システムにアラートが表示され、また、侵入防御対策がトリガーされる場合がある

・ターゲットシステムやスキャンされたネットワークの性能が不十分な場合、サービス拒否 (DoS) 攻撃に似た状況に陥る可能性がある

・アプリケーションが脆弱な場合、障害やクラッシュを引き起こす可能性がある

いずれも実際にサイバー攻撃された場合に起こる事象なので、実際に攻撃を受ける前に予め知っておくことは、脆弱性対策の第一歩となる。

OpenVASのレポート

米国国立標準技術研究所 (NIST) は、米国脆弱性情報データベースNational Vulnerability Database (NVD) 
を運営している
。NVDは脆弱性情報の詳細情報を提供するためのデータリポジトリで、自動処理のための標準化されたデータが提供されている。

OpenVASのレポートには、共通脆弱性識別子CVE(Common Vulnerabilities and Exposures)番号、共通プラットフォーム一覧CPE(Common Platform Enumeration)番号、共通脆弱性評価システムCVSS(Common Vulnerability Scoring System)値、が診断の結果として記載される。

CVEで命名された脆弱性情報の詳細情報をNVDで提供する分担になっており、レポートに記載されたCVE番号のリンクから具体的な脆弱性の情報を検索することができる。

JPCERT/CC情報処理推進機構(IPA)が共同で管理している脆弱性情報データベース(JVN iPedia)は、日本国内製品、日本に流通している製品を対象範囲に含み、内容も日本の一般向けとして公開されている。

JVN iPediaにも登録されている脆弱性については、OpenVASのレポートのCVE番号を脆弱性情報データベース(JVN iPedia)で検索することで、日本語での情報を得ることができる。

脆弱性対策情報データベースJVN iPedia に関する活動報告レポート

脆弱性対策情報データベースJVN iPediaの登録状況 [2022年第1四半期(1月~3月)]:IPA 独立行政法人 情報処理推進機構)が公開されている。

この3カ月で新たに3,780件が登録され、累計では141,482件となっている。

内容は多い順に、クロスサイトスクリプティング、 領域外メモリへの書き出し、不適切な権限管理、不適切な入力確認、解放済みメモリの使用、となっている。

ソフトウェア製品の既知となった脆弱性による被害をふせぐため、脆弱性が解消されている製品へのバージョンアップやアップデートを行う必要がある。

本レポートでは、主に製品開発者に注意が呼びかけられているが、Webサイトの運営者から製品開発者へ働きかけることも必要かもしれない。

Webサイトの運営者としては、自サイトの脆弱性診断を継続的に行って、新たな脆弱性に該当するソフトウェアについては製品開発者に確認するなどの営みが望まれる。

継続的なウェブサイト脆弱性対策

情報処理推進機構(IPA)「見える化」ツール&データベースで、脆弱性の理解・対策に関する情報が入手できる。

ウェブサイトの運用上特に重要な、お知らせ、注目すべき脆弱性、脆弱性の新着情報は脆弱性対策情報データベース JVN iPediaから入手できることも紹介されている。例えば、2022年2月10日 新規のお知らせでは、「セキュリティ強化に伴うTLS 1.0/1.1無効化のお知らせ」があり、これはほぼ全てのウェブサイトで対応が必要な事項となっている。

新着情報は多岐に亘っていて、自サイトで対応が必要なものは必ずしも多くない。それでも時折、自サイトも対象になる危険な脆弱性が報告される。ここに報告されている脆弱性が自サイトに該当するかは定期的に、できれば常時、確認し、重大なものには対応する必要がある。 報告されている脆弱性が自サイトに該当するかの確認には診断ツールやサービスを利用することができる。「ウェブサイト脆弱性診断」で検索すれば多くの情報が得られる。脆弱性の「常時確認」をするのであればオープンソースの自動診断ツールもあるので、その利用を検討する。

脆弱性診断ツールはweb・スマホなどのアプリケーションの脆弱性を診断する「アプリケーション診断」ツールと、それを実行するサーバやネットワーク機器・OSやミドルの脆弱性を診断する「プラットフォーム診断」ツールとに大別される。以下は、無料で利用可能な「プラットフォーム診断」ツールの例を挙げる。

Nessus: オープンソースで開発されていた脆弱性スキャナ。有料化されているが、脆弱性に関する学習目的での利用に無料版(Nessus® Essentials )が提供されている。

OpenVAS: 「Nessus(ネサス)」から派生した製品で、コミュニティ版(Greenbone Enterprise TRIAL)は無料で提供されている。無料で利用可能な脆弱情報配信(Greenbone Community Feed)にサービスレベルの保証はないが、2022年4月現在、用途・利用期間に特に制限はない。 14日間は有料版の脆弱情報配信(Greenbone Enterprise Feed)が利用できる。その他、debian系LINUX、Redhat系LINUXに導入可能。

Vuls: MyJVN API を利用して「脆弱性対策情報データベース JVN iPedia」を検索し、日本語のレポートを確認できる。

但し、自動診断ツールの結果は自サイトに影響しないケースも、誤検知もある。自動診断ツールで新たに発見された脆弱性の自サイトへの影響度合いや、対策の必須度、緊急度などは、自サイトの構築ベンダ、あるいは運用ベンダに相談することになる。

OpenVAS脆弱性スキャン


スキャンターゲットとスキャン内容の設定は、ログイン後にメニューのScans>New Taskとする。ターゲットは脆弱性練習台のホストowaspbwa。


ScanTargetは、項目の右端新規マークから設定する。


それぞれsaveする。

スキャン開始は、以下のtaskリストからowaspbwaを選択し、▷マークをクリックして開始する。


statusマークがNew>Requested>0%と変遷してスキャン開始が確認できる。

ローカルのホストでもしばらくかかるので、何もしないでいるとログイン画面に戻ってしまう。ログアウトしてもスキャンは継続しているので、終わったころに再度ログインするくらいでちょうど。

レポート確認は、メニューのScans>Reportsとする。


owaspbwaを選択しDate列の青字日付をクリックすると、概要が表示される。


Resultsタブをクリックすると脆弱性のリストが深刻度順に表示される。


黒メニュー下のアイコン列のダウンロードボタンをクリックすると、結果レポートをダウンロードできる。


PDF出力したので、以下のようなレポートが得られる。


最初の項目は以下のように記載されている。


  

OpenVASをAlma LINUXに導入する

OpenVASをRed Hat LINUXに導入する手順が紹介されていた。多数紹介されている中では新しく、最もシンプルだった。

Hyper-V上にAlma LINUX8.5をサーバとして構築して、以下の手順で実際に導入した。 4月24日、Version 21.4.3。

# sudo dnf update -y

# sudo dnf install wget -y

# sudo dnf config-manager –set-enabled powertools

# sudo dnf install epel-release.noarch -y

# sudo dnf update -y

# wget -q -O – https://updates.atomicorp.com/installers/atomic | sudo sh

# sudo dnf install gvm -y

# sudo sed -i ‘s/=enforcing/=disabled/’ /etc/selinux/config

# reboot

# gvm-setup

紹介されている手順はここまで。
このサーバにhttpsでアクセスするとOpenVASのダッシュボードが利用できる。

但し、実際には追加で以下の手順が必要だった。OpenVASを利用しなれている方には常識なのかもしれない。

# mkdir /var/run/gvm

# chown gvm:gvm /var/run/gvm

# sudo -Hiu gvm gvmd –get-users –verbose
admin xxx6e69-d013-478d-abb8-062cc7f3yyyy

# sudo -Hiu gvm gvmd –modify-setting 78eceaec-3385-11ea-b237-28d24461215b –value xxxx6e69-d013-478d-abb8-062cc7f3yyyy

# sudo -Hiu gvm gvmd –get-scanners
zzzz9003-5fc2-4037-a479-93b44021zzzz OpenVAS /run/ospd/ospd-openvas.sock 0 OpenVAS Default

最後のOpenVAS Defaultがタスクを構成する時に選択するスキャナ名になっている。

運用開始後、脆弱性情報の現行化には以下コマンドを実施する。

# sudo -Hiu gvm greenbone-feed-sync –type GVMD_DATA

# sudo -Hiu gvm greenbone-feed-sync –type SCAP

# sudo -Hiu gvm greenbone-feed-sync –type CERT
(これはSCAP終了後に実施する)

Proudly powered by WordPress | テーマ: Baskerville 2 by Anders Noren

ページ先頭へ ↑