合格するための情報処理安全確保支援士対策 ネットワーク基礎技術編

どうもこんにちは。2023年4月から新卒でSIer上場企業で働いております、sirroと申します。
昨年10月にデータベーススペシャリスト試験に合格し、今年は10月に情報処理安全確保支援士試験の合格を目指しています。

というわけで本記事では、情報処理安全確保支援士試験対策として出題範囲に必要な知識についてまとめていきます。
今回は「情報セキュリティ」に絞って執筆いたしました。

本記事の内容については、こちらの参考書を基に記載しておりますので、当参考書も是非ご購入して学習の効率を高めてください。

https://x.com/DB_sirro_SE/status/1780603983209599146


# 1.TCP/IP

### OSI基本参照モデル
・・ネットワークでの通信に必要なプロトコルを7つの階層に分けてまとめたモデル。各層の役割は以下。
⚫︎アプリケーション層(第７層)・・通信に使うアプリケーション。
⚫︎プレゼンテーション層(第6層)・・データの表現方法を、通信に適した形式にする。
⚫︎セション層(第５層)・・通信するプログラム間で会話を行う。
⚫︎トランスポート層(第４層)・・コンピュータ内でどのアプリケーションと通信するのかを管理する。また、通信の信頼性を確保する。
⚫︎ネットワーク層(第３層)・・データが始点から終点まで届くように管理する。
⚫︎データリンク層(第2層)・・ネットワーク上でデータが直接接続された通信機器まで配送されるよう管理する。
⚫︎物理層(第１層)・・物理的な接続を管理する。デジタルデータの電気信号への変換など。

### TCP/IPプロトコル群
TCPとIPを中心に実際のアプリケーションい実装することを考えて作られた。各層の役割は以下。
⚫︎アプリケーション層・・OSI基本参照モデルのセション層以上に対応。アプリケーションプログラムの中で実現されるサービスを実行させる。
⚫︎トランスポート層・・OSI基本参照モデルのトランスポート層に対応。TCPやUDPが代表的なプロトコル。
⚫︎インターネット層・・OSI基本参照モデルのネットワーク層に対応。IPが代表的なプロトコル。
⚫︎ネットワークインターフェース層・・OSI基本参照モデルのデータリンク層、物理層に対応。

### TCP/IPプロトコル群でのパケット通信
・・アプリケーション層で作成されたデータをトランスポート層のTCPに送ると、TCPヘッダが付加され、そのデータをインターネット層に送ると、IPヘッダが付加される。このような上位層のデータをまとめてヘッダをつけることをカプセル化という。


### IPの3つの役割

1.IPアドレスでの識別・・IPアドレスを使って通信相手を識別する。
2.経路制御(ルーティング)・・宛先ホストまでパケットを届けるためにパケットを順番に転送する仕組み。
3.IPパケットの分割と再構築・・データリンクごとに異なる最大転送単位に合わせてパケットを分割する。分割されたパケットは、宛先ホストに到達した時点で一つにまとめられる。

### ネットワークアドレスとホストアドレス
ネットワークアドレス・・ネットワークごとに割り当てられるアドレス。
ホストアドレス・・同じネットワーク内で重ならないようにホストごとに割り当てるアドレス。


### ブロードキャストアドレスとマルチキャストアドレス
ブロードキャストアドレス・・同一ネットワーク内の全てのホストにパケットを送信するためのIPアドレス。ホストアドレス部を全て1にする。
マルチキャストアドレス・・必要としているグループにのみパケットを送信するためのIPアドレス。クラスDのIPアドレスを使用。

### ARP
宛先ホストのIPアドレスを手掛かりに、次に送るべき機器のMACアドレスを調べるプロトコル。

### NAT
IPヘッダに含まれるIPアドレスを別のIPアドレスに変換する技術。

### NAPT
一つのIPアドレスでポート番号を変えることで、複数台のホストの同時接続を可能にしたもの。


# 2.LAN/WAN

### LAN
ローカルエリアネットワーク。一つの施設内など、ユーザが自分で管理できる範囲で利用するネットワーク。

### WAN
ワイドエリアネットワーク。都市間や国際間など、広い範囲に及ぶネットワーク。電気通信事業者が管理する。

### CSMA/CD方式
以下の手順で通信を管理する。

1.Carrier Sense・・誰も使っていなければ利用可能
2.Multiple Access ・・ データを全員に向けて送る
3.Collision Detection ・・ 衝突が起こったら検出して再送

### LAN間接続装置

#### ①リピータ
電気信号を増幅して整形する装置。

#### ②ブリッジ
データリンク層の情報(MACアドレスなど)に基づき、通信を中継するかどうか決める装置。

#### ③ルータ
ネットワーク層の情報(IPアドレスなど)に基づき、通信の中継先を決めて転送する装置。

#### ④ゲートウェイ
トランスポート層以上でデータを中継する必要がある場合に使用する装置。



　　
### スイッチングハブ

MACアドレスをもとにフレームの中継を制御。下記のような機能がある。

⚫︎MACアドレス・・同じデータリンクないでのノードを識別するために用いられるアドレス。

⚫︎オートネゴシエーション・・接続端末同士の通信速度・通信方式の選択を自動で行う機能。

⚫︎Automatic MDI/MDI-X・・ネットワーク機器のイーサネットポートが、相手のポートタイプを判別して自分のポートタイプを自動的に変えて接続するための機能。

⚫︎スパニングツリー・・ループを持たない木構造のネットワーク。

⚫︎リンクアグリゲーション・・複数の接続ケーブルを論理的に一本にする仕組み。

### CSMA/CA方式
通信終了後にランダムな長さの待ち時間(バックオフ制御時間)をとり、しばらく待ったあとで送信を開始する方式。

### IEEE 802.11
IEEEが策定する無線LANの標準規格。以下の代表的技術がある。

①MIMO
・・送信側と受信側で複数のアンテナを用意して送受信を行うことで、高速化を実現する方式。
②MU-MIMO
・・特定の端末へ向けて電波を送るビームフォーミング技術を利用し、MIMOを発展させた機能。
③OFDM
・・隣あう周波数の搬送波同士の位相をお互いに直交させることで周波数分割を行う。
④OFDMA
・・OFDMの搬送波を分割し、複数ユーザの通信を可能とする。


### RTS/CTS方式
データ通信を行う前に端末がRTSという制御フレームの送信を行い、それを受信したアクセスポイントが全端末に向けてCTSを送信し、CTSを受信した端末は指定された時間送信を抑止する方式。

### ZigBee
複数のセンサを協調させるセンサネットワークを目的とする通信規格。消費電力が少なく安価で、最大65536個の端末間を繋ぐことが可能。


# 3.アプリケーションプロトコル

### HTTPメッセージ
・・以下の二種類がある。

①リクエスト・・メソッドを記述するリクエストライン、リクエストヘッダ、メッセージボディの3つで構成。
・リクエストライン・・メソッド、リクエストURI、HTTPバージョンで構成。
・リクエストヘッダ・・リクエストに関する追加情報を提供するためのキーと値のペア。
・メッセージボディ・・送信するデータ。

②レスポンス・・ステータスコードを記述するステータスラインとレスポンスヘッダ、メッセージボディの3つで構成。
・ステータスライン・・HTTPバージョン、ステータスコード、説明句の3つで構成。
・レスポンスヘッダ・・レスポンスに関する追加情報を提供するためのキーと値のペア。
・メッセージボディ・・リクエストの結果として返されるデータ。

### Cookie
・・Webアプリケーションで、通信しているユーザの情報を続けて管理するために使用される。
クライアントのリクエストに対しサーバがレスポンスを返す際、HTTPレスポンスヘッダのSet-Cookieに値を設定して送る。次にクライアントがリクエストを送るときに、HTTPリクエストヘッダのCookieでクッキーの値を返すことで、一連の通信が続いていることを判断できる。

### HTTP認証
①ベーシック認証・・利用者IDとパスワードを用いる認証。盗聴が可能。
②ダイジェスト認証・・利用者IDとパスワードを用い、パスワードを秘匿化するためにハッシュを用いる。

### WebSocket
HTTPを用いてサーバとクライアントが一度コネクションを確立した後は、必要な通信を全てコネクション内で独自のプロトコルで軽量に行うことで、双方向での通信を容易にする技術。

### CORBA
分散環境でオブジェクト間のメッセージをやり取りするための標準規格。異なる機種のコンピュータ同士で、様々なプログラム言語で書かれたソフトウェアを相互利用することが可能。

### Webサービスの中核となる技術
①SOAP・・ソフトウェア同士がメッセージ交換を行うためのプロトコル。
②WSDL・・Webサービスを利用するためのインタフェースを記述する技術。
③UDDI・・Webサービスを公開および検索する技術。

### WebDAV
Webサーバに対して直接ファイルのコピーや削除を行うことができ、HTTPだけで全てのコンテンツ管理を完了できるプロトコル。


### SMTP
メール配送のプロトコル。

### SMTPリクエストの主なコマンド

・HERO ・・通信開始。
・EHLO ・・通信開始(拡張版HELO)
・MAIL FROM： ・・送信者。
・RCPT TO： ・・受信者の指定。
・DATA ・・メール本文の送信。
・QUIT ・・終了。

### 主なSMTPリプライ

・250 ・・要求された処理の終了。
・354 ・・メールデータの入力開始。 
・451 ・・問題が発生したため処理中断。
・500 ・・文法誤り

### 主なメールヘッダ

・From ・・差出人アドレス。複数のアドレスが設定可能。
・Sender ・・実際の差出人のアドレス。複数設定は不可。
・To ・・宛先アドレス。複数のアドレスが設定可能。
・Cc ・・カーボンコピー先のアドレス。複数のアドレスが設定可能。
・Subject ・・メール件名。
・Reply-To ・・メールの返信先。指定されていない場合Fromを使用。
・Date ・・メールの作成日時。
・Received ・・メールを転送したメールサーバの情報。
・Received-SPF ・・SPFのドメイン認証結果。

### POP
サーバ上にあるメールを全てクライアントにダウンロードするプロトコル。

### POPのコマンド

・USER ・・ユーザ名の送信。
・PASS ・・パスワードの送信。
・APOP ・・APOPを使った認証。
・LIST ・・メールの確認、一覧表の取得。
・RETR ・・メールのメッセージ取得。
・QUIT ・・終了。

### POPのリプライ

・+OK ・・正常
・-ERR ・・エラー発生

### IMAP
メールを全てダウンロードせず、サーバ側で管理するプロトコル。

### FQDN
ホスト名とドメイン名を全て含んだ名前。

### リゾルバ
DNSサーバに対して、IPアドレスに対応するドメイン名、又はドメイン名に対応するIPアドレスを問い合わせるクライアントソフトウェア。

### DNSの資源レコード
IPアドレス以外の問い合わせの内容について、以下のような資源レコードで区別する。

・A ・・ホストのIPアドレス
・CNAME ・・ホストの別名に対する正式名
・PTR ・・IPアドレスの逆引き用ポインタ
・MX ・・メールサーバのホスト名

### コンテンツサーバ
DNSのレコードを保持し、DNS問い合わせに答える。

### キャッシュサーバ
クライアントからの問い合わせに代理で応答し、問い合わせ結果をキャッシュに格納する。

### プライマリサーバ
DNS情報の大元。

### セカンダリサーバ
プライマリサーバに定期的に問い合わせ、情報が更新されている場合コピーを行う。(ゾーン転送)

### DHCP
配布するIPアドレスを一元管理し、クライアントのIPアドレスなどの設定を自動化するためのプロトコル。以下４パケットで通信を行う。
①DHCP発見パケット・・IPアドレスなどの設定情報を要求する。ブロードキャストでネットワーク全体に向けて送信。
②DHCP提供パケット・・DHCPサーバが、提供可能なIPアドレスなどの情報を設定しユニキャストで送信する。
③DHCP要求パケット・・DHCP提供パケットで受け取った情報を使用することを要求する。ブロードキャストで送信し、複数DHCPサーバがから提供を受けた場合他のDHCPサーバには要求しないことを同時に通知する。
④DHCP確認応答パケット・・DHCPサーバから、DHCP要求パケットに対する許可をユニキャストで通知する。

#### DHCPサーバから提供される情報
・サブネットマスク
・デフォルトゲートウェイ
・DNSサーバ
・ホスト名
・プリントサーバ

### FTP
異なるコンピュータ間でのファイル転送を実行するプロトコル。制御用とデータ転送用の二つのTCPコネクションを利用する。

### SNMP 
TCP/IPネットワーク上でネットワーク管理を行うプロトコル。UDP上で動作。
ネットワークを管理する側をマネージャ、管理される側をエージェントとし、次の３種類の通信をサポートする。

①動作チェック
マネージャからのget-requestに対してエージェントが応答する。get-next-requestで次々と情報を要求し、取得していく。
②設定変更
マネージャの設定要求に対し、エージェントが設定変更し、正常終了かどうかを応答。
③イベント通知
エージェントから、あらかじめ閾値を設定しておいた異常な状態になった時にtrapでイベント通知を行う。他のSNMP通信はポート番号161で行うが、trapのみ162で行う。

#### MIB
階層構造のデータベース。SNMPでやりとりされる情報。

# 4.仮想化とクラウド

### 仮想化
コンピュータの物理的な構成と、それを利用する際の論理的な構成を自由に対応させる考え方。以下の種類がある。

#### サーバ仮想化
ハードウェアである物理サーバと仮想化ソフトウェアを使って、論理的なイメージである仮想サーバを構築する。

#### クライアント仮想化
仮想環境を構築するサーバ上でPCの構成情報などについて仮想化ソフトウェアを使って管理する。

#### 仮想ネットワーク
同一物理サーバ内でそれぞれの仮想サーバの仮想NICへの通信を制御するために必要。

### SDN
ネットワークの構成や機能、性能などをソフトウェアだけで動的に設定する技術。以下の3層で構成。

1.アプリケーション層・・APIを通してネットワークの様々な処理をプログラムする。
2.コントロール層・・機器を制御する中心部となるレイヤ。インフラストラクチャ層のネットワーク機器のそれぞれの違いを吸収して抽象化した機能とし、アプリケーション層に提供する。
3.インフラストラクチャ層・・実際にデータ転送を行うネットワーク機器のレイヤ。

#### OpenFlow
各フレームが持つMACアドレスやVLANタグ、IPアドレス、ポート番号のような特徴をフローとして扱い、経路を柔軟に制御できるようにするための標準化規格。
制御用とパケット処理用でネットワークが分離しており、制御用のネットワークはコントロールプレーン、パケット処理用のネットワークはデータプレーンと呼ばれる。コントロールプレーンでは、OpenFlowコントローラと呼ばれる機器を用意し、経路制御などの管理機能を実行する。データプレーンでは、OpenFlowスイッチと呼ばれる機器がパケットのデータ転送を行う。

### NFV
ネットワーク機器の機能を仮想マシンとして実現する方式。サーバではなくネットワーク機器を仮想化する。設備投資や運用コストの低減が可能。


### クラウドコンピューティング
ソフトウェアやデータなどを、ネットワークを通じてサービスという形で必要に応じて提供する方式。次のようなサービス形態がある。
・SaaS・・ソフトウェアをサービスとして提供。
・PaaS・・OSやミドルウェアなどのプラットフォームを提供する。
・IaaS・・ハードウェアやネットワークなどのインフラを提供する。

### IDaaS
クラウドでアイデンティティ管理を行うサービス。ID、パスワードなどの認証情報や、利用できるサービスやリソースなどの認可情報を一元管理する。

### ゼロトラスト
社内外全てを「信用できない領域」として、すべての通信を検査し認証を行うという考え方。