サイバー攻撃からサーバーを守る

各サーバーの状態を定期的に監視できるツールの利用が有効

技術的対策

これらのサイバー攻撃で、企業がなすべき対策としては、次の3つが考えられる。

  • ネットワーク経由の侵入を防ぐ入口対策(ファイアウォール、IDS等)
  • クライアントPCがマルウェアに感染しないよう、ソフトウェアを最新に保ち、マルウェア対策を徹底する。
    また、組織内のクライアントPCの状況を監視する
  • サーバーの脆弱性対策や監視を行う

上記のうち、1については、以前から行われてきた対策であるが、近年、標的型攻撃などで、電子メールやUSBデバイス経由のマルウェアの侵入が増加しているため、完全な対策ではない。

2のクライアントPC対策は、組織を脅威から防衛するためには非常に重要な対策である。セキュリティの分野でよく使われる、「weakest link」という言葉がある。これは英語のことわざ、「The strength of the chain is in the weakest link.(鎖の強さはその環の一番弱いところで決まる)」に由来する。すなわち、システムの安全性は、そのシステム中のもっとも弱い要素で決定されるということである。逆に言うと、そのシステムのもっとも弱い部分以上には安全にならない。組織の中で一つでも十分な対策がされていないPCがあれば、仮にそのPCがマルウェアに感染したり、乗っ取られたりしてしまうと、そこから組織ネットワーク内のサーバー、クライアントPCがすべて危険に晒(さら)されてしまう。従って、組織内ネットワーク、システムをセキュリティ的に強靱(きょうじん)に保つには、すべてのPCのOSやアプリケーションソフトウェアのパッチ、ウイルス定義データを常に最新にしておく運用を行う必要がある。また、正しく運用されているかを監視するクライアント資産管理ソフトウェアを導入することも重要である。

しかし、クライアント管理を行ったとしても、セキュリティが万全になる訳ではない。パッチやウイルス定義が提供されていない未知の脆弱性をついた、「ゼロデイ攻撃」を受け、被害にあってしまう危険がある。このような場合、3のサーバーを含めた対策が必要になってくる。

サーバー対策で、より安全に

サーバー側でのサイバー攻撃対策としては、次に挙げる対策法が考えられる。

サーバーのOSやWebサーバー等のソフトウェアパッチ等を常に最新の状態にする
外部から直接アクセスできないサーバーだからといって、対策を怠ってはならない。クライアントPCがマルウェア感染した場合、GumblarのようにPCを経由してサーバーが攻撃され、脆弱性を利用して情報が窃取されるなどの被害にあってしまう。サーバーにおいてもクライアント同様、十分な対策が必要になる。
アプリケーションの脆弱性を排除する
2012年の遠隔操作攻撃や、2009年、2012年に起きた大規模なWebサイト改ざん攻撃は、Webアプリケーションのクロスサイトリクエストフォージェリの脆弱性や、クロスサイトスクリプティングの脆弱性をつかれてWebサイトが被害にあっている。1の場合と同様、イントラネットだから直接攻撃されないという考えは危険である。アプリケーションの脆弱性検査を行う、セキュアなアプリケーション開発を行う等、アプリケーションの脆弱性についても周到な注意を払うことが必要である。
最小特権の原則に基づいたアクセス管理を行う

最小特権の原則とは、プログラムに資源へのアクセスや動作に必要な必要最小限の権限しか与えない原則のことである。不必要に大きな権限を与えると、そのプログラムが悪用されたり、乗っ取られたりした場合、権限昇格をしなくてもさまざまな権限でプログラムが実行可能なため、被害の及ぶ影響が大きくなってしまう。

Linuxにおけるrootアカウント(WindowsではAdministrator)は、サーバーの管理に十分な権限を持っているが、必要最小限ではない。rootアカウントでプログラムを実行する場合、本当にその権限が必要かどうかを考慮する必要がある。より小さい権限で実行可能であれば、その権限のみを与えられたアカウントでの実行がより望ましい。

また、SELinuxのようなセキュアOSを用いることによって、ポリシーに従ったよりきめ細かなアクセス制御が可能になる。

必要なログを採取し、何か起きた場合に分析、対応可能にする

13 の対策を行ったとしても、それらをすり抜けて攻撃が成功してしまうリスクは、ゼロとは言い切れない。何か起きてしまった場合に、その原因を分析、特定し、迅速に適切な処置を行う。あるいは証拠として保全するために、必要なログ(OS、ネットワーク、アプリケーションログ)を採取することが望ましい。

ログ採取にあたっては、5W1H、すなわち、いつ誰が何に対して何をした、という情報を残すことが重要である。前項でrootアカウントについて述べたが、管理用アカウントとしてrootを使う問題は権限のほかにもう一つある。それは、何か問題となる操作がログに残っていたとしても、そのアカウントがrootの場合、「誰がやったのか」特定できなくなる問題である。このような場合、やはりrootではなく、使用者によってアカウントを使い分け、そのアカウントを操作ログに残すのが望ましい。

また、重要なイベントでは、必ずログを採取することが重要である。サイバー攻撃に用いられたイベントがログに残っていなくては、後で問題の特定が困難になる。

サーバーの状態を監視し、異常の兆候や発生を検知可能にする
このようなログを採取することは事後対策として重要だが、攻撃を受けてだいぶ時間がたってからログを精査するのでは手遅れになってしまう場合もある。できるだけ早急に異常を検知し、しかるべき対策をこうじるのが望ましい。場合によっては、攻撃の兆候を検知して未然に攻撃を防止することもできるかもしれない。その意味でサーバーの定常的な監視は重要である。このような監視には、クライアントの監視と同様に、各サーバーの状態を定期的に監視できるツールの利用が有効である。

サイバー攻撃は年々手段が巧妙化しており、政府機関だけではなく民間企業においても、もはや人ごとの脅威ではない。サイバー攻撃の脅威に対抗するには、組織内のクライアント、サーバー双方に対しての全体的なセキュリティ対策管理、徹底が重要になる。セキュリティの問題はその知識や経験がなければなかなか難しいが、企業のセキュリティ担当者にとって、本記事が参考になれば幸いである。

(「SKYSEA Client View NEWS vol.38」 2014年9月掲載)
ページのトップへ
ささいなご質問にも専門スタッフがお答えします!導入相談Cafe 詳しくはこちら