こんにちは。皆様に安全・安心・快適なインターネットセキュリティ環境を提供すべく昼夜問わず活動中のモリイです。
突然ですが、皆さまはオープンソース・ソフトウェアを扱う機会はありますか? マイナビニュースの読者であることを考えると、各所で用いている方も多いのではないでしょうか。
しかし、オープンソース・ソフトウェアは基本的に「自己責任」で利用するものであるため、知識がない状態で使うことはリスクを伴います。特にシステムのセキュリティにおいてはそれが顕著です。
例えばデフォルトインストールを実行すると、必要のないパッケージやサービスが混入している場合があります。それらのパッケージの中には、脆弱性を含んでいたり、あるいはシステム稼働ポリシー上のセキュリティの観点から望ましくないものが存在していたりすることがあり、そのままの設定では危険です。
そこで本記事では、オープンソース・ソフトウェア(Linuxおよび同梱ソフトウェア)をインストールする際に留意すべき7つの設定について解説します。いずれもセキュリティリスクを軽減するうえで有効ですので、ぜひ頭に入れておいてください。
なお、以下では、オープンソース・ソフトウェアの例としてCentOS 6、およびそこにデフォルトで取り込まれているソフトウェアを取り上げます。ただし、Scientific Linux、Red Hat Enterprise Linuxなど、他のディストリビューションにも応用可能ですので参考になさってください。
[1] バージョンの確認
最初の確認項目はバージョンです。
ごく当たり前のことですが、セキュリティを保つためには、OSが提供する最新版へアップデートし続けてください。
CentOS 6 の2014年7月14日現在の最新版は下のとおりです。
- Kernel : 2.6.32-431.20.3.el6
- Apache : 2.2.15-30.sl6
- PHP : 5.3.3-27.el6_5
- MySQL : 5.1.73-3.el6_5
※ nginxはOS標準ではないため、本稿では解説の対象外としています。nginxをインストールする際は、nginx更新のリポジトリを使います。
CentOS 6のPHPやMySQLは、ベースバージョンがだいぶ古くなっていますので、新しいバージョンを入れたい場合は、Software Collectionsのものを入れてください。
注意しなければいけないのは、ソースからコンパイルするのは最終手段だということです。ソースから入れるということは、それ以後は手動で最新版へ更新し続けなければならないということですので、よほどのことがない限り行わない方が良いでしょう。
Software Collections だと2014年7月14日現在の最新版は下のとおりです。
- PHP : php54-php-5.4.16-7.el6
- MySQL : mysql55-mysql-5.5.32-2.el6
自動更新を有効にするなら 「yum-cron」 を入れてください。コマンドは下のとおりです。
yum install yum-cron
chkconfig yum-cron on
service yum-cron start