オラクルの最新ルールに則ったJavaの更新とセキュリティ確保

< 1 分(想定読了時間)
オラクルの最新ルールに則ったJavaの更新とセキュリティ確保

2019年1月末以降のJavaアプリケーションのサポートについて、オラクルエンタープライズソフトウェアのサポートをリミニストリートにお任せいただいているお客様からお問い合わせを受けています。この2019年1月末というのは、オラクルが、商用サブスクリプションのないユーザーに対するJava SE 8公開版の更新プログラム提供を停止すると発表している日付です。1
今回の変更についてITAM Reviewは、「企業ユーザーは、Java SE 8を実行しているソフトウェアすべての現状を調査し、翌年のオラクルからの請求額がどれほどになるか検討し始める必要があるだろう」と、報じています。

これは、契約なしに商用機能を使用している可能性があるJavaユーザーの監査をオラクルが強化すると見られる時期と一致します。
当社では、お客様に代わり、これらの問題に対する複数のソリューションを確認しています。対策は以下の通りです。

  • Javaの利用状況すべてを監査し、オラクルの商用ライセンスを必要とするアプリケーションを特定する。
  • 意図せずJavaの商用機能を使用していた場合は、(実務上可能であれば)それらの機能をすぐに無効にし、潜在的なコンプライアンス問題に対して講じた措置を文書化する。
  • 同じOpenJDKコードを使ったオラクル以外のベンダーのJavaランタイムの使用を検討する。これはより有利な条件でサポートされることが多い。
  • Javaアプリケーションのセキュリティが重要な場合は、Javaランタイムの脆弱性を狙った攻撃を防ぐテクノロジーについて調査する。
  • ERPシステム等のエンタープライズアプリケーションで使用されているJavaバージョンの互換性を把握し、調査する

ガートナーが調査書「Oracle’s Focus on Java SE Compliance Can Cost Millions(オラクルによるJava SEコンプライアンス強化により、数百万のコスト発生の可能性も)」で指摘している通り、オラクルがこのテクノロジーに対して定めるライセンス条件は企業ユーザーを混乱させることが少なくありません。 Java SEは、「汎用デスクトップコンピューターとサーバー」での使用向けにこれまで無料配布されてきたJavaの「標準版」をダウンロードするものです。ただ、ガートナーの顧客からは「汎用」の意味が曖昧だという声も上がっています。 Java SE AdvancedとJava SE Advanced Desktopは、追加機能を備えた商用リリースです。

ガートナーによると、オラクルは無料版Java SEに対してセキュリティパッチ等のいくつかの無料更新プログラムを提供しているものの、その期間は限定されており、さらに今後は、新リリースから6ヶ月間に短縮されることになりました。この期間が過ぎると、商用機能を使用しているユーザーは商用契約を締結せざるを得なくなりそうです。新しいJDKは6ヶ月ごとにリリースされ、その間、四半期ごとに更新されます。更新のペースアップは、近年Javaを悩ませているセキュリティホールに対する有効な対策を行っている証左として宣伝されています。

Javaベースのアプリケーションを開発する企業や、ベンダー製のアプリケーションを導入する企業にとっての課題は、商用ライセンスがなければ、アプリケーションが提供段階に入る時期までに、開発の際に使用した特定のJava SE版が更新対象から外れる可能性があり、アップグレードすれば改めてテストをやり直さなければならなくなるという点です。

Javaを幅広く利用している企業は、さらに監査によっても厳しい締め付けを受けます。無料版ユーザーがライセンス条件を超えて使用していることをオラクルが把握した場合、対象ユーザーは商用ライセンス料の支払いを求められる可能性があります。「無料」のJava SEをダウンロードする場合においても、クリックスルー式の契約書を熟読しなかったユーザーがアクティベートした場合に、商用ライセンスが義務付けられることになりかねない機能が盛り込まれていると思われるとガートナーは指摘しています。

企業によるライセンス対象外の使用が見つかった場合、オラクルはその事実を、他のライセンス契約やソフトウェア保守契約の交渉カードとして使う可能性もあります。

Javaライセンスに関する混乱は今に始まったことではありません。2010年のSun Microsystemsの買収に伴ってオラクルがJavaの所有権を獲得する以前ですら、組み込みシステムにおけるJavaの使用についてはウェブ開発向けの使用とは別のライセンス規定が定められており、Sun MicrosystemsのJava開発にける「コミュニティプロセス」は、厳密なオープンソース基準を満たしていませんでした。

最近では、コアJava開発キットを定義するオープンソースのOpenJDKプロジェクトがたしかに存在します。コードと仕様は標準的なオープンソースライセンスの下で公開されていますが、オープンソースプロジェクト自体ではバイナリーディストリビューションを公開していません。
オラクル独自のライセンスクレームは、Windows、MacOS、Solaris、Linux向けのJavaランタイム環境(JRE)のディストリビューションに適用されます。これが「標準」版のJavaです。

原則として、OpenJDKウェブサイト上のコードから独自のJREをコンパイルすることは可能です。Twitterを始めとする数社がそのような措置を取っています。ただし、これにはコンピューターエンジニアリングの相当なスキルが必要です。作成者によりサポートされているOpenJDKのバイナリーディストリビューションは、他にもいくつかあります。その一つであるAzul Systemsは信頼できる代替オプションとしてガートナーの報告書で取り上げられています。

当社としては、御社独自のテクノロジーロードマップを常に最大限制御し、他社条件に誘導されないことをお勧めします。オラクルのJava商用サポートに加入する場合は、その費用に見合った内容を得られるか確認してください。
同時に、選択肢をさらに調べ、Javaの代替オプションを検討することです。リミニストリートのお客様は、当社のストラテジックサービスグループの専門知識を存分に活用して、セキュリティ、ライセンス等に関する追加サポートを受けることができます。

1.以降の更新プログラムは、「(1) Java SEサブスクリプションおよび/またはJava SE Desktopサブスクリプション、(2) Oracle Java SE Advanced、Oracle Java SE Advanced Desktop、 Oracle Java SE Suite、および/またはJava SE Supportのサポート契約、または (3) 別のオラクル製品のみでJava SEを使用する場合のJava SEサポートエンタイトルメントが有効なオラクルのお客様」のみが対象となる予定です。
https://www.oracle.com/technetwork/java/javase/eol-135779.htmlをご確認ください。

※当記事は、2018年12月3日に公開された弊社英語版ブログUpdating And Securing Java Under Oracle’s Latest Rules の日本語訳版です。