吉田さま
早速のご回答どうもありがとうございます。
HTML上、絶対パスとなっている事を確認できました。
もう一度脆弱性検査を実行致します。
吉田さま、お世話になっております。
MicroFocusの検査でありますが、HTMLソース分析をしているようです。
Moodleの設定ではユーザプロファイルを非表示など、個人情報を含むものは全てOFF設定を行いました。
画面上非表示になっているのですが、HTMLソース上URLが出力されていてURLのクエリストリングにユーザIDがあります。
これを他のIDに変更しても閲覧できなくする設定で回避を行おうとしております。
結果はもう少々お時間を頂きたいと思います。
別途ご教示頂きたいのですが、ロールに関する権限設定を狭めてしまった行った影響で、
コース作成者が概要などの入力時にHTMLエディタが使用できなくなってしまい、常にプレーンテキストのテキストエリアで編集するように
なってしまいました。
HTMLエディタの使用権限を与えるにはどのような権限設定にするべきか、ご教示頂けないでしょうか。
お手数をおかけいたしますがよろしくお願いいたします。
***追伸***
何処かの文献でプリファレンスから設定を行う旨を拝見いたしました。
の施策を行っていたため
3.をデフォルト値へ戻したのですが「評定」しか表示されませんでした。
吉田さま
言葉足らずで済みませんでした。
プリファレンスページのプログラムはインストールの状態から変更しておりません。
参考文献は下記を閲覧しておりました。
吉田さま
ご回答ありがとうございます。
>「プリファレンスページにアクセスると、空白となってしまい諸処プリファレンスリンクが表示されないよう>になっています」とのことですが、ウェブブラウザに表示されるページすべてが空白になっていますでょ>うか?
はい、空白のページとなっております。
HTMLソースには各種リンクが記載されておりますが画面上は空白です。
このページですが、一瞬リンクのようなものが表示されます。"F5"キーを押してブラウザを更新するとかすかに諸処プリファレンスリンクが表示されますがブラウザ上は空白となります。
>また、プリファレンスページへのアクセス時にウェブサーバ (ISS) のログに何らかのエラーは出力され>ていませんでしょうか?
はい。エラーは出力されておりませんでした。
直接ブラウザのアドレスに、http://xxxxxx/seminart/user/editor.php?id=xx と指定すると
エディタプリファレンス画面は開くことができます。
このプリファレンスページと、プラグインのエディタはあまり関連がないのでしょうか。
今このサイトで入力しているテキストエディタが表示されると幸いでございます。
> このプリファレンスページと、プラグインのエディタはあまり関連がないのでしょうか。
関係は薄いと思います。
「プリファレンス」ページが空白になるトラブルを解消するため、下記4つの方法をお試しになってはいかがでしょうか。
ユーザのパーミッションに関わる設定を変更しただけでプリファレンス画面が空白になるとは考え難いため、非標準プラグインまたはWAF (Web Application Firewall) が影響していると思われます。
非標準プラグインを無効にするか、WAFの動作を一旦停止してプリファレンス画面が空白になるか確認されても宜しいかと思います。
また、「テキストエディタが正常に機能(表示)しない」に関しましては「管理 > サイト管理 > 開発 > デバッグ」ページで下記設定にすることで原因を特定できるエラーメッセージが表示される場合があります。
吉田さま
お世話になっております。
テキストエディタが本来表示される画面にてブラウザのDevToolを立ち上げて観察していたところ
以下の様に404エラーが生じておりました。
>Failed to load resource: the server responded with a status of 404 (Not Found)
>https://xxxxx/seminarp/theme/yui_combo.php/3.17.2/handlebars-compiler/handlebars-compiler-min.js&m/1512978560/core/handlebars/handlebars-min.js&3.17.2/timers/timers-min.js&3.17.2/querystring-stringify/querystring-stringify-min.js&m/1512978560/editor_atto/editor/editor-min.js&m/1512978560/editor_atto/menu/menu-min.js&m/1512978560/editor_atto/plugin/plugin-min.js&m/1512978560/atto_collapse/button/button-min.js&m/1512978560/atto_title/button/button-min.js&m/1512978560/atto_bold/button/button-min.js&m/1512978560/atto_italic/button/button-min.js&m/1512978560/atto_unorderedlist/button/button-min.js&m/1512978560/atto_orderedlist/button/button-min.js&m/1512978560/atto_link/button/button-min.js&m/1512978560/atto_image/button/button-min.js&m/1512978560/atto_media/button/button-min.js&m/1512978560/atto_managefiles/button/button-min.js&m/1512978560/atto_underline/button/button-min.js&m/1512978560/atto_strike/button/button-min.js&m/1512978560/atto_subscript/button/button-min.js
>https://xxxxx/seminarp/theme/yui_combo.php/m/1512978560/atto_superscript/button/button-min.js&m/1512978560/atto_align/button/button-min.js&m/1512978560/atto_indent/button/button-min.js&3.17.2/arraylist/arraylist-min.js&3.17.2/widget-parent/widget-parent-min.js&3.17.2/widget-child/widget-child-min.js&3.17.2/tabview-base/tabview-base-min.js&3.17.2/node-focusmanager/node-focusmanager-min.js&3.17.2/tabview/tabview-min.js&3.17.2/array-extras/array-extras-min.js&m/1512978560/atto_equation/button/button-min.js&m/1512978560/atto_charmap/button/button-min.js&m/1512978560/atto_table/button/button-min.js&m/1512978560/atto_clear/button/button-min.js&m/1512978560/atto_undo/button/button-min.js&m/1512978560/atto_accessibilitychecker/button/button-min.js&m/1512978560/atto_accessibilityhelper/button/button-min.js&m/1512978560/atto_html/button/button-min.js
>https://xxxxx/seminarp/theme/yui_combo.php/3.17.2/datatype-xml-parse/datatype-xml-parse-min.js&3.17.2/io-xdr/io-xdr-min.js&3.17.2/io-form/io-form-min.js&3.17.2/io-upload-iframe/io-upload-iframe-min.js&3.17.2/queue-promote/queue-promote-min.js&3.17.2/io-queue/io-queue-min.js&3.17.2/event-mousewheel/event-mousewheel-min.js&3.17.2/event-resize/event-resize-min.js&3.17.2/event-hover/event-hover-min.js&3.17.2/event-touch/event-touch-min.js&3.17.2/event-move/event-move-min.js&3.17.2/event-flick/event-flick-min.js&3.17.2/event-valuechange/event-valuechange-min.js&3.17.2/event-tap/event-tap-min.js&3.17.2/event-simulate/event-simulate-min.js&3.17.2/node-event-html5/node-event-html5-min.js&3.17.2/async-queue/async-queue-min.js&3.17.2/gesture-simulate/gesture-simulate-min.js&3.17.2/node-event-simulate/node-event-simulate-min.js&m/1512978560/core/notification/notification-confirm-min.js&m/1512978560/editor_atto/rangy/rangy-min.js&3.17.2/handlebars-base/handlebars-base-min.js
>Uncaught TypeError: Cannot read property 'Editor' of undefined
> at editsection.php?id=1506&sr:803
> at YUI._notify (yui-moodlesimple-min.js:9)
> at YUI.T (yui-moodlesimple-min.js:9)
> at e.Loader._finish (yui-moodlesimple-min.js:16)
> at e.Loader._onFailure (yui-moodlesimple-min.js:16)
> at e.Loader.p (yui-moodlesimple-min.js:17)
> at e.Loader.onFailure (yui-moodlesimple-min.js:17)
> at s._finish (yui-moodlesimple-min.js:12)
> at s._next (yui-moodlesimple-min.js:12)
> at s._progress (yui-moodlesimple-min.js:13)
物理Pathを見てみたのですが
theme\yui_combo.php\の下に"3.17.2"や"m" のディレクトリは存在していませんでした。
以前にMicrofocusより脆弱性を指摘されていた「スタイルシートの指定が絶対パスになっていない」
の対処方法として、
>Moodle設定ファイル (config.php) に下記設定行を追加してください。
>$CFG->yuislasharguments = 1;
をご教示頂いておりました。
もしかしてこの影響があるのではないかと思い
>$CFG->yuislasharguments = 1;
をコメントアウトしたところ、本来のテキストエディタを表示することが可能となりました。
どうもお騒がせ致しました。
ところで、このconfig設定を元に戻すことにより、スタイルシートが絶対パスではなくなってしまうため
再度MicroFocusの脆弱性に引っかかってしまう事になりそうです。
お手数をお掛けいたしますが、別の手段はございますでしょうか。
なにとぞ宜しくお願い致します。
吉田さま
ご案内ありがとうございます。デフォルトのまま(ON)となっておりました。
Moodleアプリケーションの構造上の修正は不可能という事でしょうか。
以前ご教示頂いた
>Moodle設定ファイル (config.php) に下記設定行を追加してください。
>$CFG->yuislasharguments = 1;
にて「絶対パスになっていない」の脆弱性は対応可能でした。
その副作用として分かっている範囲では
・テキストエディタが正常に表示されない
・コースの"編集"、"活動またはリソースを追加する"のリンクが張られていない (FireFox以外に出現する)
・FireFoxで、"活動またはリソースを追加する"からファイルリソースを選択後の画面でのアップロードができないクルクルが表示されたまま
が分かっております。他のMoodleアプリケーションで「絶対パス」に関しての脆弱性は検知されておりませんでしょうか。
下記ページでご確認ください。
[Moodle Security announcements]
https://moodle.org/mod/forum/view.php?f=996&showall=1
["absolute path" Moodle Tracker]
https://tracker.moodle.org/secure/QuickSearch.jspa?searchString=absolute+path
吉田さま
スタイルシートの絶対パス化を実現しようと思い、関連PHPを調査しておりました。
app\Lib\outputrequirementslib.phpの
function get_yui3lib_headcss()の
$code .= '<link rel="stylesheet" type="text/css" href="'.$this->yui3loader->local_comboBase.'rollup/'.$CFG->yui3version.'/yui-moodlesimple' . $yuiformat . '.css" />';
の'.$this->yui3loader->local_comboBase.'rollup/部を絶対パスに置き換えてみました。
$CFG->yuislashargumentsは使用しなくてもスタイルシートは絶対パスへ、その他の部分はシステム依存に出来るかと思った次第です。
テストを行っていますが今のところ問題なく稼働しております。