1.情報セキュリティ対策の全体像
・情報セキュリティの分類
各種セキュリティ対策技術は、以下2つの観点から分類することができる。
- セキュリティの要素(機密性、完全性、可用性)からの分類
- 機密性・完全性の侵害への対策
- 可用性の低下への対策
- セキュリティ対策の機能・効果からの分類
- 予防の働きをする対策
- 防止・防御の働きをする対策
- 検知・追跡の働きをする対策
- 回復の働きをする対策
2.ホストの要塞化
OSをはじめソフトウェアに内在するバグや設定ミスなどのセキュリティホールを塞ぎ、堅牢な状態にすること。
・ホストの要塞化の概要
- ホスト要塞化のための作業として、以下のようなものがある
- OSやアプリケーションのバージョン最新化
- パッチの適用
- 不要なサービスや機能の停止
・要塞化の必要性
- アプライアンス製品 ⇒ OK
- 汎用的なサーバ製品 ⇒ 不要なサービスが起動、パッチ未適用、最新化されていないなど。。。
・要塞化の重要性
- 例えば、ファイアウォールでWebサーバへのHTTP通信以外を遮断する設定でも、BOF攻撃やSQLインジェクションは防げない。
- まずはWebサーバの要塞化が大切
・要塞化の主な実施項目
- 最適なパーティション設計
- セキュアなファイルシステムの選択
- 最新バージョンのソフトウェアを最小構成でインストールする
- パッチの適用
- 不要なサービスや機能の停止
- 不要なグループ、アカウントの削除及び不要な共有資源の解除
- 推測困難なパスワードの設定、及びパスワードチェック機能の有効化
- ディレクトリ、ファイル、プログラムなどのアクセス権の設定
- ログの設定
3.脆弱性検査
・脆弱性検査の概要
ブラックボックス/ホワイトボックス検査がある。
・脆弱性検査の必要性
ホストの要塞化やファイアウォールで対策しても、作業の抜けや誤りによる脆弱性を確認する。
・脆弱性検査の実施
・脆弱性検査の実施対象と実施方法
・実施対象
- OS/サーバソフトウェア
- Webアプリケーション
・ツールによる検査の有効性と限界
・検査実施後の対処方法
・脆弱性検査実施におけるその他注意点
・ファジングの概要
- ブラックボックス検査手法の一つ。極端に長い文字列や通常使わない制御コードなど、問題を引き起こしそうなデータを大量に送り込み、その応答や挙動を監視する。
4.Trusted OS
セキュリティ機能を強化するとともに、設計仕様書やマニュアル類を整備し、定められた検証テストをクリアしたOSのこと。
・Trusted OSの概要
米国国防総省が定めたセキュリティ評価認証基準である、TCSEC(Trusted Computer System Evaluation Creteria:通称オレンジブック)に代表される「レインボーシリーズ」において、「B DIVISION」以上の要求基準をクリアしたもの。
・SELinuxとは
- Security-Enhanced Linux。セキュリティ機能を強化したLinux。
- rootでも何かしらの制限を受ける。
- SELinuxのセキュリティアーキテクチャはFlask(Flux Advanced Security Kernel)と呼ばれる。
- 柔軟なアクセス制御(Mandatory Access Controll:MAC)を実現する。
- ドキュメントの不備などの理由のため、Trusted OSではない。
・SELinuxにおけるセキュリティ機能
- セキュリティコンテキストによる強制アクセス制御
- TE(Type Enforcement)
- オブジェクトの種類ごとに詳細なパーミッションの集合を定義してアクセス制御を行う。
- セキュリティサーバ
5.ファイアウォール
複数のネットワークセグメント間において、あらかじめ設定されたルール(ACL)に基づいてパケットを中継したり、破棄したりする機能を持つ制御製品。
・ファイアウォールの概要
- 機密性の確保、可用性の向上につながる。
- 正当なものを選別し、不要なものを取り除くことをフィルタリングという。
- ACLに基づいてアクセス制御を行う製品をファイアウォールというが、境界があいまいになりつつある。
・攻撃を検知・防御する技術(製品)の種類
- ファイアウォール
- IPアドレス、ポート番号に基づいてパケットを中継又は遮断する。許可されたプロトコルについては検知できない。
- ネットワーク型IDS(NIDS)
- ネットワークセグメント中を流れるパケットを監視し、ポートスキャン、BOF攻撃、DoS攻撃、不正コマンド発行など、OSやミドルウェアのセキュリティホールを突いた様々な攻撃を検知する。暗号化されたパケットは検知できない。
- ホスト型IDS(HIDS)
- 特定のホストに常駐し、様々な事象を検知する。
- 侵入防御システム(IPS)
- NIDSよりも強力な侵入検知・防御機能を備える。
- ホスト型侵入防御システム
- HIDSと同様、特定のホストに常駐して、攻撃の検知と防御機能を持つ。
- Webアプリケーションファイアウォール
- XSS、SQLインジェクションなど、Webアプリケーションに対する攻撃を検知し、遮断する。
- SSLアクセラレータや負荷分散機能を持つ機種は、SSL/TLSで暗号化されたパケットを復号して攻撃を検知、防御できる。
- サンドボックス
- 実環境から隔離されたセキュアな仮想環境で不審なファイルやURLリンクへのアクセスを実行し、結果を観察して検知する。
- MTAとして動作して不審なメールを遮断、RSTパケットを送ることで不審なWeb通信の遮断もできる。
・ファイアウォールの役割
穴の開いた盾
・ファイアウォールの基本的な構成
- 公開サーバをバリアセグメントに接続
- ファイアウォールによってインターネットから内部ネットワークへのアクセスについてはすべて遮断可能
- バリアセグメント上の公開サーバから内部ネットワークへのアクセスは、一部許可
- 公開サーバへの攻撃や不正アクセスは防げない
- 公開サーバを内部ネットワークに接続
- 公開サーバへのアクセスを最小限に制限することが可能
- インターネットから内部ネットワークの公開サーバ以外のホストへのアクセスはすべて遮断可能
- 公開サーバへの侵入を許すと、そこを経由して内部ネットワーク上の他のホストへ被害が拡大する可能性がある
- 2台のFWに挟まれたDMZに公開サーバを接続
- ファイアウォール1(外側)によって、公開サーバへのアクセスを最小限に制限することが可能
- ファイアウォール1(外側),2(内側)によって、インターネットから内部ネットワークへのアクセスについてはすべて遮断
- DMZから内部ネットワークへのアクセスは最小限に制限する。よって、公開サーバへの侵入を許しても、内部ネットワークへの被害拡大は最小限。
- FWに設けた第三のセグメントに公開サーバを接続
- 3とほぼ同様の機能。コスト面も含め、もっともバランスが取れている。
- セキュリティレベルに応じて複数のDMZを構成
- 4と同様だが、より最適なアクセス制御が可能になり、セグメント分割によりパフォーマンス向上や負荷分散が可能。
・フィルタリング方式から見たFWの種類
- パケットフィルタ型(スタティックパケットフィルタ型)
- パケットのヘッダ情報に含まれるIPアドレス/ポート番号によって中継可否を判断する。
- フィルタリングに使用する情報は、発信元/送信先IPアドレス、プロトコル種別(TCP,UDP,ICMPなど)、パケットの方向、発信元/送信先ポート番号など。
- データ部(ペイロード)はチェックしない。
- OSレベルで処理するため、処理効率が高い。
- 設定が複雑で、ミスが発生しやすい。
- 以下のような条件の場合に適している。
- 接続先のポート番号が固定
- クライアントからサーバ方向にのみセッションが確立される
- 発信元IPアドレス、ポート番号が変換されても問題ない
- ペイロード内にIPアドレス、ポート番号が含まれない
- アプリケーションゲートウェイ型(アプリケーションプロキシ型)
- HTTP,SMTP,FTPなどのアプリケーションプログラムごとに別々のプロキシ(中継専用プログラム)をもち、パケットのアプリケーション層も含めた情報に基づいて中継可否を判断する。
- ペイロードに含まれるコマンドやポート番号などの情報もチェックする。
- 処理がアプリケーションで行われ、1回の要求でクライアント-FW、FW-サーバで別個にコネクションを確立するため、処理効率が低い。
- 新たなプロトコルを追加する場合、専用のプロキシが必要
- ACLが単純で、ミスが発生しにくい。
- サーキットレベルゲートウェイ型
- アプリケーションゲートウェイ型と異なり、トランスポート層(第4層)レベルでコネクションを確立し、クライアントとサーバを結ぶ仮想的な通信路(バーチャルサーキット)を確立する。
- フィルタリングは第3層、第4層レベルの情報に基づいて行われる。
- ペイロードはチェックしない。
- クライアント側がこの方式に対応している必要がある。
- ダイナミックパケットフィルタ型
- 最初にコネクションを確立する方向のみを意識したACLを登録し、実際に要求があると、必要なルールが動的に生成される。
- セッションが終了すると、動的に生成したルールは破棄される。
- 過去の通信の状態が記録されているので、それと矛盾するパケットは不正パケットとして遮断することができる。
- ACL設定ミスは発生しにくい。
- スタティックパケットフィルタで問題になるFTPについても、セキュリティを確保可能。
- ステートフルインスペクション型
- 基本的な仕組みはダイナミックパケットフィルタ型と同じ。
- アプリケーションごとの通信フローなどの情報をもっており、それに基づいてレイヤを限定しないきめ細やかな制御を行う。
- 「ステートフル」とは、個々のセッションの状態を管理して、常にその情報に基づいてフィルタリングを行うという意味。
・アクセス制御のルール設定における考え方
- ポジティブセキュリティモデル:デフォルトではすべて「拒否」、そこに許可するホワイトリストを登録する。ファイアウォールではこちらが必須。
- ネガティブセキュリティモデル:デフォルトではすべて「許可」、そこに拒否するブラックリストを登録する。有害なWebサイトのURLを登録してアクセス制御を行う「コンテンツフィルタリング」などが代表例。
・ファイアウォールのアドレス変換機能
一般的なFWやルータには、グローバルアドレスとプライベートアドレスを相互に変換する機能がある。以下の役割がある。
- 枯渇するグローバルアドレスを有効に活用する。
- 内部ネットワークに接続されたホストのアドレスをインターネットに公開しないことによってセキュリティを高める。
IPアドレスのみを変換する「NAT」、IPアドレスに加えてポート番号も変換する「NAPT」(IPマスカレード)がある。
・NAT(Network Address Translation)
- パケットの中継時に、始点(応答時は終点)IPアドレスを変換する方式。
- 内部⇒外部への中継では、プライベートアドレス⇒グローバルアドレスの変換。逆も然り。
- 内部のホストに対してグローバルアドレスを一つずつ割り当てるため、使用可能なグローバルアドレスの数により、外部に同時にアクセスできるホストの数が制限される。
・NAPT(Network Address and Port Translation)
- パケットの中継時に、IPアドレスとポート番号の両方を変換する方式。IPマスカレードとも呼ばれる。
- ホストごとにユニークなポート番号を割り当てるため、グローバルアドレスの数で同時接続可能なホスト数が制限されることはない。
・ファイアウォールで防御できない攻撃
- OS、プロトコル、ミドルウェアの脆弱性を突いた攻撃
- ポートスキャン
- BOF攻撃
- パスワードクラック
- プロトコルベースのセッションハイジャック
- Webアプリケーションプログラムの脆弱性を突いた攻撃
- XSS
- SQLインジェクション
- OSコマンドインジェクション
- アプリケーションベースのセッションハイジャック
- DoS系の攻撃
- Connection Flood攻撃
- 反射・増幅型DDoS攻撃
- マルウェアの侵入
- コンピュータウィルス
- ワーム
- スパイウェア
- ランサムウェア
- ボット
・ファイアウォールの拡張機能
- パイパフォーマンス ⇒ ASICを搭載している
- ギガビット対応
- マルチホーミング対応
- IPv6対応
- QoS(Quality of Service)
- プロトコルごとに割り当てる帯域の最大値を登録し、それに基づいて帯域制限を行う。
- 高可用性(ハイアベイラビリティ:HA)
- 負荷分散方式
- ホットスタンバイ方式
- 自律負荷分散方式
- 負荷分散機能
- マルチセグメント対応
- アプリケーション層の攻撃に対する防御機能
6.侵入検知システム(IDS)
ネットワークやホストで発生している事象をリアルタイムに監視して侵入や攻撃を検知し、管理者に通知するなどのアクションを実行するシステム。
・侵入検知システムの概要
・IDSの種類と主な機能
- ネットワーク型侵入検知システム(NIDS)
- 設置場所
- バリアセグメントに接続
- DMZに接続
- 内部セグメントに接続
- 検知の仕組み
- シグネチャとのパターンマッチング
- 異常検知(アノマリ検知)
- イベント検知後のアクション
- 通知・記録
- プログラム実行・停止
- ファイルやレジストリの復元(HIDSのみ)
- セッション切断・接続制限機能 ⇒ TCPコネクションは切断可能、UCP/ICMPには無効。ファイアウォールと連携して、ACLを動的に変更するなど
- 設置場所
- ホスト型侵入検知システム(HIDS)
- 主な検知項目
- ログイン成功/失敗
- 特権ユーザへの昇格
- システム管理者用プログラムの起動
- 特定ファイルへのアクセス
- 設定ファイルの変更
- プログラムのインストール
- システムディレクトリに存在するファイルの書き換え/削除
- Webコンテンツの改ざん
- 主な検知項目
・IDSの構成例
- DMZと内部セグメントの監視
- スイッチ接続
- TAP接続
- LB接続
・IDS導入上の留意点
・IDSの機能上の限界及び運用上の課題
- NIDS
- 誤検知への対応
- フォールスポジティブ:不正ではない事象を不正として検知すること
- フォールスネガティブ:本来検知すべき事象を見逃してしまうこと。
- NIDSの処理能力不足によるパケットの取りこぼし
- アプリケーションに対する攻撃を検知できない
- 暗号化されたパケットは解析できない(一部の高性能機種を除く)
- 攻撃は検知できても侵入は検知できない
- 不正アクセスを防御できない
- 正当な権限者による内部犯罪の検知は困難
- ITの発展に合わせた機能拡張が必要
- HIDS
- あくまでOSの基本的な機能がベース
- 1つのHIDSで監視できるのは1台のホストのみ
- 導入によって監視対象ホストの性能や可用性に悪影響を及ぼす可能性がある
- 攻撃の予兆を検知することは困難
- 正当な権限者による内部犯罪の検知は困難
- ホスト環境でのリアルタイム検知の必要性は低い
・IDSの拡張的な機能
- 独自シグネチャの登録機能
- 脆弱性検知による検知品質の向上
- セッション情報の保存・分析による検知品質の向上
- マルチインタフェースモニタリング機能
- SSL/TLSによって暗号化されたパケットの複合
- ハイパフォーマンス、ハイアベイラビリティ、マルチプロトコル対応など
7.侵入防御システム(IPS)
従来のNIDSをインライン接続することで、NIDSと同等の侵入検知機能と、NIDSよりも強力な防御機能を備えた製品
・IPSの概要
・IPSの接続方法とその特徴
- プロミスキャスモード
- 通常のNIDSと同じ接続方式。トラフィックなどに影響を与える可能性は低いが、防御機能のレベルはNIDSと変わらない。
- インラインモード
- IPSがネットワークをいったん遮る形で接続される方式。攻撃や不正アクセスを確実に遮断することが可能。ネットワークの可用性や信頼性に影響を及ぼす可能性も高い。
・IPSの主な機能
- 検知機能
- 遮断機能
- パケットの方向に応じたポリシ設定機能
- VLAN環境での仮想IPS機能
・IPSの構成例
・DMZでのIPSの使用例
・接続拠点間でのIPSの使用例
・特定システムへの経路上でのIPSの使用例
・部門間の接続経路上でのIPSの使用例
・IPSの機能上の限界及び運用上の課題
8.Webアプリケーションファイアウォール(WAF)
XSS、SQLインジェクション、OSコマンドインジェクション、セッションハイジャックなど、Webアプリケーションに対する攻撃を検知・排除することでセキュアなWebアプリケーション運用を実現する製品。リバースプロキシ型のWAFを中心に解説。
・Webアプリケーションファイアウォールの概要
・WAFの種類と主な機能
- リバースプロキシ型
- Webサーバのフロントエンドでリバースプロキシサーバとして動作する。
- ブリッジ型
- ソフトウェア型
・WAFの構成例
・DMZに接続し、公開Webサーバに対する攻撃を防御する例
・クラスタ環境でのWAFの使用例①(ロードバランサ併設型)
・クラスタ環境でのWAFの使用例②(ロードバランサ兼用型)
・WAFの機能上の限界及び運用上の課題
9.サンドボックス
・サンドボックスの概要
サンドボックスとは、実環境から隔離されたセキュアな仮想環境のこと。
・サンドボックス製品の種類と構成
- メール検査型
- Web検査型
- ファイル検査型
- 管理/連携サーバ