2020年4月から、小中学校でのプログラミング授業の必須化になったことから、
プログラミングに興味を持ったり、アプリ開発に挑戦したりと、
プログラミングを使った技術者が今後増えると思います。
特にシステムやアプリの開発者を目指すことはとても良いことですが、
これらは完成、運用開始してようやく終わったと思ってはいけません。
使われているプログラミング言語やフレームワークのバージョンアップに伴い、
古いバージョンのサポートを行わない、いわゆるEOL(End Of Life)が発生します。
もし、開発に使われているプログラミング言語のバージョンが既にEOLになっていたら、
いくつか問題が出てきてしまいます。
今回は、プログラミング言語の古いバージョンがEOLになった場合、どのような問題が発生するのか?
EOLを迎える前にするべき対策は何かをまとめてみたいと思います。
古いバージョンがEOLになった場合に起こる問題
■脆弱性に対応できない
本来、プログラミング言語自体、フレームワークにバグが存在したり、ウイルスに感染しやすい等の脆弱性が
発見されることがあります。公式サイトでは、これらの問題に対して修正したものを
新しいマイナーバージョンとして提供されます。
もし、古いバージョンがEOLを迎えてしまったら、バグや脆弱性が見つかっても修正はしてくれません。
その古いバージョンで作られたシステムやアプリがあったら、
利用者が不正に利用して悪用されてしまうかもしれません。
■新しい技術に対応できない
上記の通り、EOLを迎えたバージョンに対しては、これ以上修正されることはありません。
これは、今後新しい技術が登場しても、その古いバージョンでは対応できないことを意味しています。
新しいセキュアな通信が登場したとしても、それが対応できないようでは脆弱性を作ってしまうことになります。
■利用するシステムやフレームワークの要件に満たなくなる
システムやフレームワークを利用する際には、必ずシステム要件が存在します。
要件の中には、プログラミング言語のバージョンはこれ以上という条件もあります。
古いバージョンがその要件に満たしていないと、使用する際にエラー等が出てきて利用することができません。
それがEOLとなれば、なおさらです。
こういった問題とまとめてみると、システムやアプリを開発するときは、
プログラミング言語の最新バージョンを利用するのが普通の考えですが、
年月が経つに伴い、最新バージョンもいずれEOLを迎えることになります。
ではEOLを迎える前にどのような対策が必要でしょうか?
EOLを迎える前にするべき対策
■最新バージョンのリリース情報を確認する
EOLを迎える際に、必ず「代わりにこのバージョンを利用してください。」みたいな、
公式サイトのニュース情報が出ているはずです。
開発途中であっても、利用しているプログラミング言語のバージョンがEOLを迎えるようであれば、
最新のバージョンを検討してみてください。
■別のプログラミング言語、フレームワークを検討する
もし、EOLのお知らせがあり、かつ公式サイトの活動を終了するような情報があれば、
別のプログラミング言語、もしくは別のフレームワークを検討するべきです。
フレームワークといえば、JavaのフレームワークSeasar2が2016/9/26にてEOLとなりました。
情報としては古いのですが、当時は別のフレームワークであるSpring FrameworkやPlayなどに
切り替えを検討していたはずです。
■脆弱性の発生を防ぐための対策を行う
それでも、EOLのプログラミング言語やフレームワークを利用するのであれば、
今後脆弱性の情報が見つかり次第、その対策を検討しないといけません。
ネットワーク上の不要な通信を遮断したり、可能性のあるリスクを洗い出して対策したり、
発生を最小限に抑えましょう。
システムやアプリを開発する際は、使用するプログラミング言語のバージョン、
およびフレームワークがEOLになっていないかを確認しましょう。
開発中や完成したものであっても、いつEOLになるのかを常にチェックしましょう。
Comment
現在、コメントはありません。