ネットワークセキュリティの基礎を学習した話(ファイアウォール・IDS/IPS・プロキシ・VPNまで)
はじめに
情報処理安全確保支援士試験の対策として、ネットワークセキュリティの基礎知識を学習したのでまとめます。TCP/UDPの違いから、ファイアウォール、WAF、IDS/IPS、プロキシ、VPN、IPsecまで整理しました。
TCPとUDP
インターネットはIPというプロトコル(ルール)のもとで通信している。ただしIP自体は「データを確実に送る」ことまでは考慮していない。その役割を担うのがTCP。
- TCPを使うとデータ量が増え、時間もかかる
- リアルタイム性が求められる通信ではUDPが使われる
TCP
確実に相手にデータを届けるためのプロトコル。データ送信前に3ウェイハンドシェイクでコネクションを確立する。
- クライアントからサーバへ SYN(通信してもいいですか)
- サーバからクライアントへ ACK+SYN(いいですよ/こちらも通信していいですか)
- クライアントからサーバへ ACK(いいですよ)
この3ステップでコネクションが確立する。データはパケットに分割して送られ、受信側はシーケンス番号で順序を管理し、確認応答番号で次に欲しいデータを要求する。
UDP
コネクションレス型で、信頼性の保証はない。その分軽量でリアルタイム性に優れる。音声通信や小さいデータのやり取りに適している。
ファイアウォール
外部ネットワークからの攻撃などから、DMZ(Webサーバなどの公開領域)や内部ネットワーク(業務サーバなど)を守る仕組み。
- フィルタリングルールは上から番号順に適用され、指定した条件のアクセスのみを許可し、それ以外は拒否する
- 拒否したアクセスのログは膨大になりやすいため、ログを取らない運用も多い
ダイナミックパケットフィルタリング
リクエストパケットに対応する戻りのパケットだけを通過させる機能。内部→外部への通信が発生した際に、通信先の外部IP・ポート番号を一時的に記憶し、その通信に対する戻りのパケットだけを動的に許可する。
WAF(Web Application Firewall)
Webアプリケーションの脆弱性を悪用した攻撃からWebサイトを保護する仕組み。
- ファイアウォール(FW)がIPアドレスやポート番号をもとに通信を監視・制御するのに対し、WAFはアプリケーションレベルで監視する
- SQLインジェクションやクロスサイトスクリプティングなどから防御できる
- 既知の攻撃パターンにしか対応できない
- ホワイトリスト方式とブラックリスト方式がある
- HTTPS通信を監視したい場合は、SSLアクセラレーション機能でHTTPSの暗号通信を復号する必要がある
IDS(Intrusion Detection System:侵入検知システム)
サーバやPCのログ、ネットワーク上のパケットを監視し、脅威を含む通信を検知した場合に内容を確認して管理者に通知する仕組み。原則として防御は行わない。
ホスト型IDS
監視対象の機器にインストールするタイプ。導入・運用は手間だが、確実に監視できる。
ネットワーク型IDS
- 設置のための通信断や、IDS自体の不具合がネットワーク全体の通信に影響することがある
- そのためミラーポートを利用したプロミスキャスモード(自分宛て以外の通信も受信できるモード)で運用する
- ネットワーク型IDSはHTTPS通信を監視できない
- IDSは検知レベルのチューニングが重要
IPS(Intrusion Prevention System:侵入防止システム)
ホスト型・ネットワーク型の両方が存在する。ネットワーク型IPSはIDSと異なりプロミスキャスモードが使えず、通信経路上に直接設置するインラインモードでしか運用できない。
IDS/IPSの必要性(ゼロトラスト)
ファイアウォールの内側(社内ネットワークなど)であっても、ウイルスや悪意のある人間が既に侵入している可能性がある。そのため、内部ネットワークであっても無条件に信用しないというゼロトラストの考え方に基づき、IDS/IPSが必要とされる。
検知方式と誤検知
検知方式
- ミスユース型:既知の攻撃パターンで判別する方式。導入しやすい
- アノマリー型:普段と異なる通信を判別する方式。判定のための学習に時間がかかる
誤検知
- フォールスネガティブ(見逃し)とフォールスポジティブ(誤検知)はトレードオフの関係にある
プロキシ
クライアントとサーバの間に立ち、両者の通信を「代理」するサーバ(単なる中継ではない点がポイント)。
- キャッシュ機能:同じサーバへの代理要求があれば、キャッシュから応答できる
- クライアント隠蔽:インターネット側からクライアントの存在を隠せる
- フィルタリング:不適切な接続先へのアクセスを制限できる
- 認証機能:感染端末と攻撃者端末との通信を遮断できる
フォワードプロキシ
クライアント側に立ち、クライアントの代わりに外部サーバへアクセスする、一般的な意味でのプロキシ。
リバースプロキシ
インターネット側からの通信を代理するプロキシ。
- インターネット側から見て、実際のサーバの情報を隠せる
- 設定次第で、サーバ群への通信を分散できる(負荷分散)
VPN
インターネット上に仮想的な専用線を構築し、特定の人だけが利用できるようにする仕組み。認証・暗号化・改ざん検知を実現できる。
- インターネットVPN:インターネット回線を利用してVPN接続する方式。低コスト
- IP-VPN:通信事業者が用意した閉域網を利用する方式。よりセキュアで安定するが、コストは高い
IPsec
インターネットVPNで利用される、安全な通信を実現するための構造(Security Architecture for Internet Protocol)。
通信モード
- トランスポートモード:クライアントにVPNソフトをインストールし、エンドツーエンドで暗号通信を行う。送信データ自体は暗号化されるが、宛先のIPヘッダは暗号化されないため、誰宛ての通信かは分かってしまう
- トンネルモード:VPN機器がIPヘッダを含めて暗号化し、新たなIPヘッダを付け直す方式。トランスポートモードよりセキュア
主な構成要素
| 要素 | 役割 |
|---|---|
| AH(Authentication Header) | 認証と改ざん検知を行う。暗号化通信ができない環境で利用 |
| ESP(Encapsulating Security Payload) | 認証・暗号化・改ざん検知をあわせて行う |
| IKE(Internet Key Exchange) | 暗号通信に使う鍵情報の交換に利用 |
IPsecでは、IKEによって確立された**SA(Security Association)**というコネクション上で通信が行われる。
- ISAKMP SA:鍵交換などの制御用に使う、双方向の通信
- IPsec SA:実際の暗号通信に利用される。片方向ずつ確立される
おわりに
FW・WAF・IDS/IPSはそれぞれ見ている層(IP/ポート、アプリケーション、通信全体のふるまい)が違うだけで、「内部も含めて信用しすぎない」という発想でつながっていると感じました。引き続き学習を進めていきます。