🏁
目標
この後のネットワークセキュリティ講義で必要となるネットワークの基礎知識を押さえる
この後のネットワークセキュリティ講義で必要となるネットワークの基礎知識を押さえる
TCP/IPモデル IPアドレス グローバルIPとプライベートIP LAN と WAN CIDR表記とサブネットマスク ブロードキャスト MACアドレスとARP MACアドレス ARP(Address Resolution Protocol) TCP と UDP TCPの3ウェイハンドシェイク UDPの特徴(セキュリティ観点) 主要プロトコル ICMP(Internet Control Message Protocol) DNS(Domain Name System) NTP(Network Time Protocol) ポート番号 代表的なポート番号(Well-known Ports) まとめ
TCP/IPモデル
- インターネットの通信はTCP/IPモデルという階層構造で整理される
- 各層が役割を分担し、上位層は下位層の仕組みに依存する
| 層 | 役割 | 代表的なプロトコル | データの単位 |
|---|---|---|---|
| アプリケーション層 | ユーザーが直接触れるサービス | HTTP, HTTPS, DNS, NTP, SSH | メッセージ |
| トランスポート層 | 端末間のデータ転送制御 | TCP, UDP | セグメント / データグラム |
| インターネット層 | ネットワーク間のルーティング | IP, ICMP, ARP | パケット |
| ネットワークインターフェース層 | 物理的な通信 | Ethernet, Wi-Fi | フレーム |
💡
セキュリティの攻撃は各層で発生します。どの層の話をしているか意識すると、攻撃手法の理解が深まります
IPアドレス
- ネットワーク上の機器を識別するための住所
- IPv4:
192.168.1.1のように8ビットずつ4つに区切った32ビットの数値
グローバルIPとプライベートIP
| 種類 | 用途 | アドレス範囲(例) |
|---|---|---|
| グローバルIP | インターネット上で一意 | 上記以外のアドレス |
| プライベートIP | LAN内でのみ使用 | 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 |
LAN と WAN
- LAN(Local Area Network):社内やビル内など限られた範囲のネットワーク
- WAN(Wide Area Network):地理的に離れた拠点間を結ぶ広域ネットワーク
- MPLS-VPNや専用線などの閉域網もWANの一種(こちらは比較的安全)
- インターネット(公衆網)もWANの一種(こちらは信頼できない)
- セキュリティの文脈では「内部ネットワーク(LAN)は比較的安全、インターネット側は危険」という前提で設計されることが多い
- 近年は内部ネットワークも侵害されうる前提で、アクセスを都度検証する(ゼロトラスト)考え方が広まっている
CIDR表記とサブネットマスク
- IPアドレスはネットワーク部とホスト部に分かれる
- CIDR表記:
192.168.1.0/24→ 上位24ビットがネットワーク部 - サブネットマスク:
255.255.255.0→ 同じ意味 -
/24なら同一ネットワーク内に最大254台(2^8 - 2)のホストを配置できる
❓
10.0.0.0/16 のネットワークには最大何台のホストを配置できるでしょうか? 答え
65,534台(2^16 - 2)
ネットワークアドレス(10.0.0.0)とブロードキャストアドレス(10.0.255.255)を除くため
ブロードキャスト
- 同一ネットワーク内の全端末にパケットを一斉送信する仕組み
- 宛先IPにブロードキャストアドレス(例:
192.168.1.255)を指定する - 攻撃に悪用されることがある(後のセキュリティ講義で扱います)
MACアドレスとARP
MACアドレス
- ネットワーク機器(NIC)に割り当てられた物理的な識別子
-
00:1B:44:11:3A:B7のような48ビットの値 - IPアドレスが「住所」なら、MACアドレスは「名前」のようなもの
- LAN内の通信ではMACアドレスを使って宛先を特定する
ARP(Address Resolution Protocol)
- IPアドレスからMACアドレスを求めるプロトコル
- 通信の流れ:
- 「
192.168.1.20のMACアドレスは?」とLAN内にブロードキャスト(ARP要求) - 該当する端末が「
00:1B:44:11:3A:B7です」と応答(ARP応答) - 応答結果をARPテーブルにキャッシュして次回以降はキャッシュを使う
- 「
sequenceDiagram
participant A as 端末A<br>192.168.1.10
participant Broadcast as LAN内全端末<br>(ブロードキャスト)
participant B as 端末B<br>192.168.1.20
A->>Broadcast: ARP要求「192.168.1.20 のMACアドレスは?」
Note over Broadcast: LAN内の全端末が受信
B-->>A: ARP応答「00:1B:44:11:3A:B7 です」
Note over A: ARPテーブルに<br>192.168.1.20 → 00:1B:44:11:3A:B7<br>をキャッシュ ⚠️
ARPには認証の仕組みがないため、偽の応答を返すことが可能です。これがセキュリティ上の弱点になります
TCP と UDP
- トランスポート層の2大プロトコル
| 特徴 | TCP | UDP |
|---|---|---|
| 接続 | コネクション型(接続確立が必要) | コネクションレス型(確立不要) |
| 信頼性 | 高い(到達確認・再送あり) | 低い(送りっぱなし) |
| 速度 | やや遅い | 速い |
| 用途 | HTTP, SSH, メールなど | DNS, NTP, 動画配信など |
TCPの3ウェイハンドシェイク
- TCPで通信を開始する前に、送信側と受信側で接続を確立する手順
sequenceDiagram
participant C as クライアント
participant S as サーバー
C->>S: ① SYN「接続したい」
S-->>C: ② SYN-ACK「OK、こちらも接続したい」
C->>S: ③ ACK「了解、接続確立」
Note over C,S: データ通信開始 ⚠️
この手順を悪用した攻撃が存在します(SYN Flood)。3ウェイハンドシェイクの仕組みを覚えておいてください
UDPの特徴(セキュリティ観点)
- コネクション確立がないため、送信元IPアドレスの偽装(なりすまし)が容易
- この特徴がさまざまな攻撃に悪用される
sequenceDiagram
participant C as クライアント
participant S as サーバー
Note over C,S: TCPと違い接続確立なし
C->>S: データ送信(送信元IPの検証なし)
Note over S: 送信元IPが本物か<br>確認する手段がない 主要プロトコル
セキュリティ講義で登場するプロトコルを簡単に紹介します。
ICMP(Internet Control Message Protocol)
- ネットワークの疎通確認や障害通知に使用
-
pingコマンドはICMPエコー要求/応答を使っている - ポート番号の概念がない(IP層で直接動作する)
DNS(Domain Name System)
- ドメイン名(例:
example.com)をIPアドレスに変換する - 主にUDPの53番ポートを使用
- 問い合わせは小さいが、応答は大きくなることがある(増幅性)
NTP(Network Time Protocol)
- ネットワーク上の機器の時刻を同期するプロトコル
- UDPの123番ポートを使用
- 小さな要求に対して大きな応答を返す機能がある
ポート番号
- トランスポート層でアプリケーションを識別するための番号(0〜65535)
- IPアドレスが「住所」なら、ポート番号は「部屋番号」
代表的なポート番号(Well-known Ports)
| ポート | プロトコル | 用途 |
|---|---|---|
| 22 | SSH | リモートログイン |
| 53 | DNS | 名前解決 |
| 80 | HTTP | Webサイト(暗号化なし) |
| 123 | NTP | 時刻同期 |
| 443 | HTTPS | Webサイト(暗号化あり) |
💡
ACL(アクセスリスト)を扱う際にポート番号が登場します。上記は最低限覚えておきましょう
まとめ
| 概念 | ポイント |
|---|---|
| TCP/IPモデル | 4層構造。攻撃がどの層で起きるか意識する |
| IPアドレス | グローバル/プライベート、CIDR表記、ブロードキャスト |
| ARP | IP→MACの変換。認証がなく偽装可能 |
| TCP vs UDP | TCPは3ウェイハンドシェイク。UDPは送信元偽装が容易 |
| 主要プロトコル | ICMP, DNS, NTPの役割と特徴 |
| ポート番号 | 22(SSH), 53(DNS), 80(HTTP), 123(NTP), 443(HTTPS) |