概要#
応用情報技術者試験のテクノロジ系のネットワーク学習メモを集約する。
参考資料#
学習メモ#
リング型配線#
LANの代表的な接続形態(トポロジー)の一つで、全てのノードがリング(輪)のように一方向または双方向に接続される方式
graph LR
%% リング型トポロジー
subgraph リング型トポロジー
A --- B --- C --- D --- A
end
スター型配線#
LANの代表的な接続形態(トポロジー)の一つで、中心となるネットワーク機器(スイッチやハブ)を中心に、各機器が放射状に接続される形態
graph LR
%% スター型トポロジー
subgraph スター型トポロジー
S((スイッチ・ハブ))
A -- 接続 --> S
B -- 接続 --> S
C -- 接続 --> S
D -- 接続 --> S
end
バス形配線#
LANの代表的な接続形態(トポロジー)の一つで、すべてのデバイスが一本の主幹ケーブル(バス)に接続され、データはこのバスを通じて送受信される形式
graph LR
%% バス型トポロジー
subgraph バス型トポロジー
direction LR
A --- B --- C --- D
end
コネクション型通信#
回線を確保したまま通信を行う方式
具体例: 電話・回線交換方式
コネクションレス型通信#
通信前に受信相手を確認せずに一方的にデータを送信する方式。
送信するパケットに宛先を示す情報を付与する必要がある。
具体例: パケット交換方式
TCP(Transmission Control Protocol)#
送信するデータが正確に、かつ送信した順序通りに相手に届くことを保証する、信頼性の高い通信プロトコル
- OSI参照モデルの第4トランスポート層に位置する。
- 信頼性を確保するための確認応答や制御が多いため、UDPに比べて通信速度が遅くなる傾向がある。
- コネクション型通信。3ウェイハンドシェイクで通信経路を確立する。
UDP(User Datagram Protocol)#
データの転送速度やリアルタイム性を重視したプロトコル
- OSI参照モデルの第4トランスポート層に位置する。
- プロトコルがシンプルなため、高速で遅延が少ない通信が可能
- コネクションレス型通信。TCPのような事前のコネクション確立を実施しない。
RDP(Remote Desktop Protocol)#
リモートデスクトップ接続で使用される通信プロトコル
遠隔地からのPC操作、サーバ管理にて使用される。
ポート番号: TCP/3389\
SSL-VPN#
SSLプロトコルを使用したVPN接続方式
- Webブラウザから接続可能、専用クライアント不要の場合もある
- リモートワーク環境での安全な社内ネットワークアクセスにて使用される。
MIME(Multipurpose Internet Mail Extension)#
メールでにて日本語の"2バイトコード"や画像データを送信するための仕組み
使用用途: ASCII文字しか使用できないSMTPを利用したメールで利用される。
IMAPS(IMAP over SSL/TLS)#
メール受信プロトコルであるIMAP(Internet Message Access Protocol)にTLSを組み合わせ、
TLSによって暗号化された通信コネクション上でメール受信を行うプロトコル
補足: バージョン番号を付けてIMAP4Sと表記されることもある。
ポート番号#
ネットワーク上でデータ通信を行う際に、コンピュータ内で動作している
特定のプログラムやサービスを識別するための番号
URLで宛先のポート番号を指定する場合: ホスト名の直後に":"(コロン)と数字で指定する
ウェルノウンポート#
インターネットプロトコルにおいて、特定のサービスやアプリケーション用に予約された標準的なポート番号(0-1023番)\
- IANA(Internet Assigned Numbers Authority)により管理・割り当て
- システム権限(root権限)でのみバインド可能
- 全世界で統一された標準番号
主要なウェルノウンポート一覧#
| プロトコル/サービス | ポート番号 | プロトコル | 用途 |
|---|---|---|---|
| FTP(データ用) | 20 | TCP | ファイル転送のデータ通信 |
| FTP(制御用) | 21 | TCP | ファイル転送の制御コマンド |
| SSH | 22 | TCP | 安全なリモートログイン・暗号化通信 |
| Telnet | 23 | TCP | リモートログイン(平文通信) |
| SMTP | 25 | TCP | メール送信 |
| DNS | 53 | TCP・UDP | ドメイン名前解決 |
| DHCP(サーバ用) | 67 | UDP | IPアドレス自動割り当て(サーバ側) |
| DHCP(クライアント用) | 68 | UDP | IPアドレス自動割り当て(クライアント側) |
| HTTP | 80 | TCP | Web通信(平文) |
| POP3 | 110 | TCP | メール受信 |
| NTP | 123 | UDP | 時刻同期 |
| IMAP4 | 143 | TCP | メール受信(サーバ上でメール管理) |
| SNMP | 161 | UDP | ネットワーク機器管理・監視 |
| SNMP Trap | 162 | UDP | ネットワーク機器からの通知・アラート |
| HTTPS | 443 | TCP | 暗号化Web通信(SSL/TLS) |
DNSレコード#
ドメイン名とIPアドレスを紐づけるなど、インターネット上でドメイン名を管理するための重要な情報
Aレコード (Address Record)#
ドメイン名(ホスト名)をIPv4アドレスに対応付ける、最も基本的なDNSレコード\
- ユーザーがブラウザにウェブサイトのドメイン名を入力した際に、そのサイトが置かれているサーバーのIPアドレスを特定
AAAAレコード (Quad A Record)#
AレコードのIPv6版で、ドメイン名(ホスト名)をIPv6アドレスに対応付ける
- IPv6アドレスでウェブサイトにアクセスするために必要
CNAMEレコード (Canonical Name Record)#
あるドメイン名(エイリアス)を別の正規のドメイン名(Canonical Name)に関連付けるために使用
- 複数のドメイン名を一つのウェブサイトに向けたり、管理を簡素化する
- IPアドレスを直接指定するのではなく、別のドメイン名を指し示す
MXレコード (Mail Exchange Record)#
そのドメイン宛てのメールを配送するメールサーバーを指定するためのレコード
- メールサーバーがどのサーバーにメールを届ければよいかを確認
- 優先度の数値が小さいサーバーから順に配送が試行される
PTRレコード (Pointer Record)#
IPアドレスからドメイン名(ホスト名)を特定するために使用される(逆引き)
- メールサーバーが受信したメールの送信元IPアドレスの信頼性を確認
- なりすましメール対策として利用される。設定が正しくないとメールがスパムとして扱われる可能性がある
OP25B(Outbound Port 25 Blocking)#
ISPが用意したスパムメール対策の仕組み
- ISPが用意したメールサーバーを経由しないメール(高確率でスパムメール)を弾くようになっている。
OP25Bにおけるサブミッションポートの役割#
- OP25Bを回避するための「正規のユーザー専用通用口」
- サブミッションポートは、OP25Bでブロックされるポート25の代替となる、メール送信専用のポートです。ポート番号は587番が標準として定められています。
OP25Bの対象外になる対象#
- 固定IPからの送信
- SMTP-AUTHで認証済ノードからの送信
SPF(Sender Policy Framework)#
メールを送信しようとしてきたメールサーバのIPアドレス情報を検証することで身元検証する技術
SPFの手順#
- 送信側は、送信側ドメインのDNSサーバのSPFレコード(またはTXTレコード)に正当なメールサーバのIPアドレスやホスト名を登録し、公開しておく。
- 送信側から受信側へ、SMTPメールが送信される。
- 受信側メールサーバは、受信側ドメインのDNSサーバを通じて、MAIL FROMコマンドに記載された送信者メールアドレスのドメインを管理するDNSサーバに問い合わせ、SPF情報を取得する。
- SPF情報との照合でSMTP接続してきたメールサーバのIPアドレスの確認に成功すれば、正当なドメインから送信されたと判断する。
プロキシサーバ#
クライアントPCの代理としてWebサイトにアクセスする中継サーバ 利用用途として、「URLフィルタリング」による業務上不要なサイトへの接続禁止などを設定する
URLフィルタリング#
宛先URLをチェックし、許可/禁止リストと照合して通信を検証・フィルタリングする
IEEE 802.11a/n#
無線LAN(Wi-Fi)の技術規格
- 802.11a:5GHz帯、最大54Mbps
- 802.11n:2.4GHz/5GHz両対応、MIMO技術でより高速化
IEEE 802.1Q#
タグVLAN(仮想LAN)の技術規格
用途: ネットワークセグメント分離、VLAN間通信制御
IEEE 802.1X#
LANに接続する端末の認証規格
用途:
- MACアドレス認証
- 認証サーバを用いた端末認証
- 社内LANへの不正アクセス防止
実装: 認証サーバ(RADIUS等)と連携した認証システム
nslookup#
DNSサーバに名前解決を問い合わせ、結果を確認するコマンド
基本形: nslookup <名前> [DNSサーバ]
例: nslookup www.example.com 192.168.11.41\
用途:
- DNS名前解決の動作確認
- DNSサーバの応答性能測定
- ドメイン名とIPアドレスの対応関係確認
類似コマンド: dig(UNIX系)、host(UNIX系)
ping#
宛先への到達可否と遅延(往復時間)を確認するコマンド
用途: 基本的な疎通確認
tracert#
宛先までに経由するルータの一覧と遅延を可視化するコマンド
用途: ネットワーク経路の調査
arp#
IPアドレスとMACアドレスの対応表を表示・更新するコマンド
用途: ARPテーブルの確認・操作
ipconfig#
端末のネットワーク設定の表示・更新するコマンド
用途: ネットワーク設定の確認・変更
DNSキャッシュポイズニング攻撃#
DNSサーバーの「キャッシュ」に偽の情報を意図的に注入(ポイズニング=毒を盛る)することで、
ユーザーを正規のウェブサイトになりすました悪意のある偽サイトへ誘導するサイバー攻撃
DNSの基本的な仕組み#
DNSの通常処理手順
- ユーザーがブラウザに
www.example.comと入力すると、PCは近くのキャッシュDNSサーバー(プロバイダなどが管理)に「www.example.comのIPアドレスは何ですか?」と問い合わせます。 - キャッシュDNSサーバーに答え(キャッシュ)がなければ、目的の情報を管理している権威DNSサーバーに問い合わせに行きます。
- 権威DNSサーバーから正しいIPアドレス (
93.184.216.34) を受け取ります。 - キャッシュDNSサーバーは、そのIPアドレスを一定期間キャッシュ(一時保存)し、ユーザーに返します。次回同じ問い合わせが来た際は、権威DNSサーバーまで聞きに行かずにキャッシュから素早く応答できます。
DNSキャッシュポイズニング攻撃の仕組み#
DNSキャッシュポイズニング攻撃は、上記のステップの2と3の間に割り込みます。
- 攻撃者は、まず標的となるキャッシュDNSサーバーに、まだキャッシュされていないドメイン名(例:
www.victim-bank.com)の問い合わせをさせます。 - キャッシュDNSサーバーが権威DNSサーバーに問い合わせを行っている、ごくわずかな隙を突いて、攻撃者は権威DNSサーバーになりすまし、偽の応答をキャッシュDNSサーバーに送りつけます。
- この偽の応答には、「
www.victim-bank.comのIPアドレスは、攻撃者が用意した偽サイトのIPアドレス (10.0.0.99) です」という嘘の情報が含まれています。 - 攻撃者は、本物の権威DNSサーバーからの応答よりも先に、かつDNSの通信ルール(トランザクションIDなど)に合った偽の応答を送る必要があります。
- キャッシュDNSサーバーがこの偽の応答を信じてしまうと、偽のIPアドレスをキャッシュに保存してしまいます。
- その後、このキャッシュDNSサーバーを利用している一般のユーザーが
www.victim-bank.comにアクセスしようとすると、キャッシュDNSサーバーは汚染されたキャッシュから偽サイトのIPアドレスを返してしまいます。 - ユーザーは、本物の銀行サイトにアクセスしているつもりで、攻撃者が用意したそっくりの偽サイトに誘導され、IDやパスワード、個人情報を盗まれてしまいます。
- 被害例
- フィッシング詐欺:偽の銀行サイトやショッピングサイトに誘導し、ログイン情報やクレジットカード情報を盗み取ります。
- マルウェア感染:偽サイトにアクセスしたユーザーに、ウイルスやスパイウェアなどのマルウェアをダウンロードさせます。
- 通信の傍受:偽のサーバーを中継させることで、メールなどの通信内容を盗聴します。
DNSキャッシュポイズニング攻撃への対策#
DNSキャッシュポイズニングへの対策は、DNSサーバー管理者側と利用者側の両方で実施する。
サーバー管理者側の対策
- DNSソフトウェアの最新化:既知の脆弱性をなくすため、DNSサーバーのソフトウェアを常に最新の状態に保ちます。
- ソースポートランダマイゼーション
- DNSの問い合わせに使う送信元ポート番号をランダム化し、攻撃者が偽の応答を送り込む際の推測を困難にします。
- DNSSEC (DNS Security Extensions) の導入
- DNSの応答に電子署名を付与し、その応答が正当なサーバーから送られ、改ざんされていないことを検証する仕組みです。
- 最も効果的な対策の一つとされています。
利用者側の対策
- 信頼できるDNSサービスの利用:ISPが提供するDNSサーバーや、セキュリティ対策が施されたパブリックDNS(例: Google Public DNS
8.8.8.8, Cloudflare1.1.1.1)を利用することが推奨されます。 - HTTPSの確認:ウェブサイトを訪れた際、URLが「https://」で始まり、ブラウザのアドレスバーに鍵マークが表示されていることを確認します。DNSキャッシュポイズニングによって偽サイトに誘導されても、攻撃者は正規のSSL/TLS証明書を持つことが困難なため、ブラウザが警告を表示することが多くあります。
- セキュリティソフトの導入:不正なサイトへのアクセスをブロックする機能を持つセキュリティソフトを導入し、常に最新の状態に保ちます。
- 信頼できるDNSサービスの利用:ISPが提供するDNSサーバーや、セキュリティ対策が施されたパブリックDNS(例: Google Public DNS
DNSSEC(DNS Security Extensions)#
DNSの応答が「正当な管理者から発信され、途中で改ざんされていないこと」を保証するための拡張機能
- DNSに「電子署名」の仕組みを追加することで、DNSの応答に信頼性を与える技術
DNSSECについて電子署名による応答の保証#
- ドメインの管理者(権威DNSサーバーの管理者)は、秘密鍵と公開鍵のペアを作成します。
- 管理者は、自分の管理するDNSレコード(例: www.example.com のIPアドレス情報)に対して、秘密鍵を使って電子署名を作成します。この署名情報はRRSIGレコードとしてDNSに追加されます。
- 署名の検証に使う公開鍵は、DNSKEYレコードとしてDNSで公開されます。
- DNSの応答を受け取った側(キャッシュDNSサーバー)は、このDNSKEYレコード(公開鍵)を使って、RRSIGレコード(署名)が正しいかどうかを検証します。
- 検証に成功すれば、「このDNSレコードは正当な管理者によって署名され、改ざんされていない」ことが証明されます。