[JM:03774] man on WWWでセキュリティ警告が出る件

Back to archive index
IIJIMA Hiromitsu delmo****@denno*****
2022年 6月 2日 (木) 18:35:34 JST


いいじまです。

matsuandさんがウェブサーバに手を入れはじめたので、私のほうでもウェブ関係で前々から気になっていることを一つ。

JMのトップページにある「man on WWW」ですが、検索しようとするとブラウザのセキュリティ警告が出る場合があります。

まだOSDNのシステム上、プロジェクトに参加させてもらえていないので、チケットを上げる代わりにこちらで調査報告とパッチを提出させていただきます。

【再現方法】

1) 比較的新しいブラウザで、https://linuxjm.osdn.jp/ (httpsです)を開く。

2) man on WWW の入力欄に適当なmanpage名(lsでも何でもいいです)を入力し、Enterキーか「Search!」ボタンでsubmitする。

3) そうすると、セキュリティ警告が出る。特にChromeの場合はポップアップではなく、ウィンドウ全部を使って警告が表示される。

4) 比較として、http://linuxjm.osdn.jp/ (生httpのほう)で同じことをやっても警告は出ない。

以上のテストに使用したブラウザは
  ・Windows 版 Google Chrome 本日時点の最新版
  ・iPhone版Safari 最新版(iOS 15.5 のもの)
  ・Waterfox Classic(Firefox 68からforkしたブラウザ)2022年4月のWin64版
です。

【原因と対策】

1) この警告が出る原因は、man on WWW のフォームで「http://linuxjm.osdn.jp/cgi-bin/man.cgi」というURLが決め打ちされていることにあります。そのため、「https→http」の遷移が起きる場合には警告が出てしまいます。

2) 現在このようになっている理由は、大昔にJMのmanページが複数台のサーバでミラーされていた(そしておそらくは大学内部・企業内部向けに私製ミラーの作成も奨励されていた)時代に、CGIを動かすためのデータベースエンジンはマスターサーバーにしか存在しないから、ということでマスターサーバーのホスト名がハードコードされていたものと推測します。

3) 対策としては、フォームの action= に指定するアドレスを次のいずれかに変更すれば解決します。
  a) https://linuxjm.osdn.jp/cgi-bin/man.cgi
  b) //linuxjm.osdn.jp/cgi-bin/man.cgi
  c) /cgi-bin/man.cgi

4) 個人的にはこの中では c 案を推します。理由は以下の通り。

●最近のモダンな環境(TLS1.2に対応した環境)のみを考えるなら a 案が最善です。古めの環境についても、たとえば WindowsXP・Windows7 については Firefox か Chrome で対応可能ですし、OSレベルでTLS1.2に対応するためのパッチもMicrosoftから提供されています。

(なぜXP向けが存在するのかというと、XPベースのPOS機器がまだ現場で運用されているから。一般のXP環境でも少し細工をすればPOSバージョン用のパッチが当たりますし、最近はWindows7向けとXP向けに全く同じDLLファイルが提供されています。) 

ただし、XPより更に古いOSや、最近のものでもAndroidの旧版、このあたりは切り捨てることになります。

●一見したところ b 案で全部解決のように思えますが、実はこの書き方、ドコモのガラケーが正しく認識してくれません。

既にかなり少なくなったガラケーですが、ドコモは2026年3月末まで、ソフトバンクは2024年1月半ばまでサービスを提供し続ける予定とのことですから(auは今年3月末で打切済)、個人的にはこういう中途半端な対応をすべきではないと考えます。

●c 案には、「もし将来的にアクセス需要が増えて、ミラーサーバーを立てるようになったらどうするの?」という懸念が一応あります。

でも考えてみれば、ミラーサーバーが必要になるくらいならそもそもOSDNの共有サーバを追い出されて独自のレンタルサーバーに引っ越しているはずですし、どっちみちその時点でまた修正が必要になります。

逆に c 案だと、JMのサイトが「ホスト名は1つだけで、かつその全部の名前空間を使用できる」という前提さえ崩れなければ、どこに移転してもここの部分の修正は不要になります。

●OSDNの各プロジェクトサイトは、まだ完全https化をしていません。(プロジェクトメンバーが作業するための https://osdn.net/https://osdn.jp/ は既に完全httpsです。)

その状況を踏まえて、当分の間はJMのサイトも生httpを維持し続けるべきだろうと考えます。移行期限は、もしOSDNが完全https化を待ってくれるのであれば、ドコモのガラケー使用期限である2026年3月末を一応の目安にするのが順当と考えます。

●ちなみにGoogle検索では、既にhttpsなサイトに誘導されるようになっています。
https://www.google.com/search?q=linux+jm

【修正】

上記 c 案で実装したパッチをこのメールに添付しました。ついでにおまけとしてスマホ対応のための最小限の修正(HTMLヘッダとスタイルシート)と、細かい修正を加えています。

その「細かい修正」にひとつコメントしておくと、jm_www.m4 の修正では _PLUG マクロと_MIRROR_LIST マクロの定義を丸ごとコメントアウトしました。これらのマクロが既にどこでも使われていないことはgrepで確認済みです。

(ついでにいうと _PLUG マクロでは、貼ってある画像もリンク先のサイトも、どちらもリンク切れです。)

それ以外の「細かい修正」は多分に私の趣味ですので、最終的には皆さまのご意見を元にcommitterさんが判断していただければと思います。

☆ ☆ ☆

以上、ご検討ください。

-- 
飯嶋 浩光/でるもんた・いいじま @ PC 
IIJIMA Hiromitsu, aka Delmonta
Email <delmo****@denno*****>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: www-diff-20220602.zip
型:         application/zip
サイズ:     2595 バイト
説明:       無し
URL:        <https://lists.osdn.me/mailman/archives/linuxjm-discuss/attachments/20220602/e4192f82/attachment.zip>


linuxjm-discuss メーリングリストの案内
Back to archive index