問題一覧
1
プロトコルとは?
コンピュータやネットワーク機器などの電子機器が相互に通信する際に用いられる通信規約
2
SMTPとは?
SimpleMailTransferProtocol。電子メールの送受信に使用される通信プロトコル。 利用者の操作するメールソフト(メールクライアント)からメールサーバにメッセージの送信を依頼する際や、メールサーバ間でメッセージを転送する際にシステム間で交わされる要求や応答のデータ形式、伝送手順などを定めている。
3
ESMTPとは?
ESMTPはExtended Simple Mail Transfer Protocolの略称で、SMTPを拡張したプロトコル。ESMTPはSMTPに追加の機能を提供する。ESMTPはSMTPと互換性があるため、既存のメールシステムに容易に導入できる。また、ESMTPはSMTPでは不可能だった機能を提供することで、メール送信の信頼性や効率を向上させることができる。ESMTPの主な機能として、メッセージサイズの拡張、8ビットMIMEの対応、SMTP認証、TLSによる暗号化通信などがある。これらの機能により、大容量のメールを送信したり、メールの内容を保護したりすることが可能になる。
4
MIMEとは?
Multipurpose Internet Mail Extensions (多目的なインターネットのメールの拡張)の略語。 MIME は、もともとテキストしか送れないインターネットの電子メールを、音声や画像なども送れるように、多目的に拡張したもの。
5
TLSとは?
SSL(Secure Sockets Layer)と同じくインターネット上のウェブブラウザとウェブサーバ間でのデータの通信を暗号化し、送受信させる仕組みで、SSLの進化バージョンにあたる。
6
SSLとは?
Webサイトとそのサイトを閲覧しているユーザとのやり取り(通信)を暗号化するための仕組み。 1.ブラウザ:SSL通信をリクエストする 2.サーバー:SSL証明書を送付する 3.ブラウザ:電子署名の検証により「SSL証明書に記載されたドメイン」と「通信先のドメイン」が同じであることを確認する 4.ブラウザ/サーバー:SSL通信を行うために共通鍵を交換する 5.ブラウザ/サーバー:共通鍵を使って送受信するデータを暗号化・復号してSSL通信を成立させる
7
SSL証明書による通信の暗号化の仕組みとは?
1.パソコンのWebブラウザで、企業サイトにアクセス(通信先サーバーへ接続要求) 2.通信先サーバーからSSL証明書と公開鍵が送られてくる 3.Webブラウザは、あらかじめ登録されている認証局の証明書を使って、SSL証明書を検証 4.有効なSSL証明書であった場合は、「共通鍵(セッションキー)」を生成 5.共通鍵は、SSL証明書に含まれる「公開鍵」で暗号化し、通信先サーバーに返送する。 6.返送された「共通鍵」は、通信先サーバー側で保持している「秘密鍵」で復号され、取り出される ここまでの手順で、自分のWebブラウザと、通信先サーバーで同じ共通鍵を保有している状態になる。この後は、共通鍵を使って暗号化通信を開始する手順。 7.Webサーバーは、共通鍵で通信データを暗号化し、通信先サーバーに送る 8.通信先サーバーは、先ほど復元した共通鍵で通信データを復元して、データを取得する
8
SSLサーバ証明書とは?
https通信を行うサーバーが持っている電子証明書です。ウェブサイトの「運営者の実在性を証明」し、クライアントとサーバ間で「暗号化通信」を行うためのもので、認証局という場所で発行される。
9
証明書の役割とは?
・サイト運営者の実在性の証明 証明書を発行する際に認証局(第三者機関)により、ドメイン名の利用権や組織の実在性が確認されます。信頼性の高い証明書を導入していれば、サイトの信頼を高めることができます。証明書は改竄しても、検証時にバレるため偽造できず、なりすましサイトの対策にもなります。 ・暗号化通信 証明書を利用することで、サーバーとクライアントで暗号化通信(HTTPS通信)が行えます。証明書に含まれる公開鍵を使ってHTTPS通信のセッションを確立します。通信内容の盗聴を防ぐことができる。
10
証明書が発行されるまでの流れとは?
証明書を発行するのは認証局(CA: Certification Authority)という機関です。まずサーバの管理者が、認証局に証明書を発行するリクエストを送ります。このリクエストを証明書署名リクエストやCSR(Certificate Signing Request)といいます。CSRはエンコードされたテキストファイルで、申請する会社の組織名・所在地・ドメイン名・公開鍵などの情報が含まれています。認証局はCSRを受け取ると、「ドメイン名の利用権」や「組織の実在性」の認証を行います。その時の認証レベルによって、証明書の種類が異なります。
11
証明書の種類とは?
証明書には、大きく三つ種類があります。証明書の種類によって信頼性は異なりますが、暗号化強度などは全て同じです。 ・DV証明書 ドメイン認証 : DV(Domain Validated) DV証明書を発行する際には、メール認証やDNS認証により、ドメインの使用権のみが確認されます。組織の実在性は確認されません。個人でも発行でき低価格で、申請後すぐに発行可能です。「AWS ACM」や「Let's Encrypt」は無料でDV証明書を発行できます。 ・OV証明書 実在証明型 : OV(Organization Validated) OV証明書の発行では、ドメインの使用権と運営組織が法的に実在することも認証します。政府など第三者機関が公開しているデータベースなどを照会することで、組織の実在を確認します。また電話で証明書の申請意思を確認します。誰でも発行できるわけではないためDV証明書よりも信頼性は高くなります。しかし、DV証明書より料金は高く、証明書発行までに多少時間もかかります。 ・EV証明書 実在証明拡張型 : EV(Extended Validation) ドメインの使用権や、運営組織が法的・物理的に実在することを認証します。事業の存在、申請責任者など、OV証明書よりさらに多くの項目を確認します。EV証明書発行にはOV証明書よりも、多くの料金と時間がかかります。EV証明書は認証項目が多い分、最も信頼性の高い証明書になります。
12
認証局が行うCSRへの署名や、クライアントが行う証明書の検証とは、どのように行われるのか?
・署名 まずCSRのデータをハッシュ関数にかけてハッシュ値を算出します。次にCSRのハッシュ値を署名生成鍵(秘密鍵)で暗号化します。その暗号化したハッシュ値と、元のCSRを合わせたデータが「署名済み証明書」となります。 署名済み証明書の発行後は、サーバーに証明書のインストールが行われます。このサーバーに対してクライアントがアクセスすると、署名済み証明書の検証が行われます。証明書の検証では、正当な証明書であるか、改竄されていないか、などが確認されます。 ・検証 署名済み証明書を受け取ったクライアントは、署名済み証明書に含まれるCSRのデータからハッシュ値を算出します。次に暗号化されたハッシュ値を検証鍵(公開鍵)で復号します。CSRから算出したハッシュ値と、復号したハッシュ値を比較することで検証を行います。一致すれば正しいサーバーとして認識されます。反対に、もし証明書に改竄があればハッシュ値が一致せず、クライアントのブラウザに警告が表示されます。
13
署名生成鍵と検証鍵とは?
・署名生成鍵 検証鍵(公開鍵)と対応する署名生成鍵(秘密鍵)は認証局が持っていて、厳重に保管されています。署名生成鍵がもし流出した場合は、不正な証明書が発行されてしまいます。 署名生成鍵が流出した場合はOSの緊急アップデートなどで、その認証局のルート証明書が無効化されます。また証明書失効リスト(CRL)という、無効にした証明書の一覧があります。不正が疑われる証明書は認証局が管理するCRLに登録されて利用できなくなります。 ・検証鍵 証明書の検証でクライアントは検証鍵を使っていますが、どうやって検証鍵を手に入れたのでしょうか。 認証局は様々な企業、組織が運営しており多数存在しています。企業が新しいパブリック認証局を作ろうと思うと、WebTrust for CAという認証局監査法人に認められる必要があります。その後、例えばMicrosoftなどの監査要件を満たし、信頼できる認証局と見なしてもらえたとします。すると、Windowsに認証局のルート証明書をPC出荷時からデフォルトでインストールしてくれます。この認証局のルート証明書の中に検証鍵が含まれています。WindowsのブラウザやOSに、認証局のルート証明書がインストールされることで初めて、その認証局で発行したSSL証明書が使えるようになります。
14
ルート認証局と中間認証局とは?
ルート認証局 ルート認証局は、自身の証明のため、自分自身で署名したルート証明書を発行します。このルート証明書はPCに出荷時よりインストールされています。また、ルート認証局は中間認証局に対して、中間証明書を発行します。中間証明書は、ルート証明書に含まれる検証鍵で検証が行えます。 ・中間認証局 認証局が階層構造をとると、証明書も階層構造になります。中間認証局は、中間証明書を持っています。中間認証局はサーバーからCSRを受け取ると、SSL証明書と中間証明書の2つを結合して返しています。
15
階層構造をとる証明書の検証フローとは?
中間認証局で発行した証明書をインストールしているサーバーに接続すると、クライアントは中間証明書とSSL証明書を受け取ります。 中間証明書に署名しているのは、ルート認証局です。そのため、PCにインストール済みのルート証明書に含まれる検証鍵(公開鍵)を使って、中間証明書の検証が行われます。この検証により、中間証明書に改竄がないことが確認できました。次に、中間証明書に含まれる検証鍵を使って、SSL証明書を検証します。SSL証明書にはHTTPS通信を行うための公開鍵が含まれています。
16
RFCとは?
Request for comments。インターネットといったキーワードで関連づけられて広く公開しておくべきだと思われる情報を公開するための管理された文書シリーズ。
17
TCP\IP参照モデルとは?
インターネット上でデータをやり取りするための階層的なフレームワークを提供します。このモデルは、データの送受信を円滑に行うために、4つの主要な階層から構成されています。これらの階層は、アプリケーション層、トランスポート層、インターネット層、ネットワークインターフェース層です。各層は特定の機能を持ち、連携してインターネット上でのデータの流れを管理します。
18
OSI参照モデルとは?
コンピュータネットワークで様々な種類のデータ通信を行うために機器やソフトウェア、通信規約(プロトコル)などが持つべき機能や仕様を複数の階層に分割・整理したモデルの一つ。 異機種間のデータ通信を実現するためのネットワーク構造の設計方針「OSI」(Open Systems Interconnection)に基づき、通信機能を7階層に分けて各層ごとに標準的な機能モジュールを定義している。
19
アプリケーション層とは?
プロトコルの機能階層の一つで、特定の具体的なシステムやサービスに必要な機能を実装するための層。OSI参照モデルでは第7層、TCP/IP階層モデルでは第4層に位置する。HTTPやFTP、SMTP、POP3など用途に応じて多種多様なプロトコルが存在する。 利用者が操作するソフトウェアが提供する具体的な機能についての仕様や通信手順、データ形式などを定めている。OSIモデルではプレゼンテーション層以下のデータ処理および伝送システムと利用者の橋渡しを行う階層で、ユーザーインターフェースの提供が主な役割となる。 TCP/IPではトランスポート層のTCPやUDPなどを利用して通信を行うプロトコルはすべてアプリケーション層であり、電子メール、Web、ファイル共有、ディレクトリサービス、ターミナルなど、システムやサービスごとに個別に必要な機能を実装したプロトコルが定義されている。
20
HTTPとは?
WebサーバとWebクライアントの間でデータの送受信を行うために用いられるプロトコル(通信規約)。Webページを構成するHTMLファイルや、ページに関連付けられたスタイルシート、スクリプト、画像、音声、動画などのファイルを、データ形式などのメタ情報を含めてやり取りすることができる。
21
FTPとは?
インターネットなどのTCP/IPネットワークでファイル転送を行うことができるプロトコル(通信規約)。 FTPサーバ、FTPクライアントの二種類のソフトウェアを用い、両者の間で接続を確立し、クライアントからの要求に基づいてファイルを送受信することができる。サーバ側ではアカウント名とパスワードによる利用者の認証を行い、それぞれの利用者に許可された権限や領域(ディレクトリ)で送受信が行われる。 データ本体のコネクションはサーバ側からクライアントの指定したポートへ接続を開始する「アクティブモード」(ポートモード)と、制御用と同様にクライアント側から接続を開始する「パッシブモード」(PASVモード)がある。 サーバもクライアントも同じネットワークに接続され直接双方向に通信可能な状況ではアクティブモードを用いるが、家庭や企業の内部ネットワークでプライベートIPアドレスを使用している機器がインターネット上のサーバにアクセスする場合など、クライアントに外部から接続を確立することができない場合はパッシブモードを用いる。
22
pop3とは?
インターネットなどのTCP/IPネットワークで標準的に用いられる、電子メール(eメール)を受信するための通信規約(プロトコル)の一つ。 利用者が自分宛ての電子メールを保管しているメールサーバにアクセスし、新しいメールが届いているか調べたり、手元のメールソフトに受信する通信手順やデータ形式を定めている。
23
プレゼンテーション層とは?
プロトコルの機能階層の一つで、データの表現形式を規定したもの。OSI参照モデルの第6層(レイヤ6/L6)に位置する。通信に用いられるデータの暗号化や圧縮、ファイル形式やデータ形式、文字コードの定義や形式間の変換などの役割を果たす。
24
セッション層とは?
プロトコルの機能階層の一つで、連続する対話的な通信の開始や終了、同一性の維持などの管理を行うためのもの。OSI参照モデルの第5層(レイヤ5/L5)に位置する。 利用者の操作する末端のアプリケーション間を結びつけて状態を共有し、対話的な処理を行う一連の通信を「セッション」(session)という。セッション層のプロトコルは認証やログインなどセッションの開始・確立、ログアウトなどのセッション終了・切断、また、中断されたセッションの再確立などの手続きやデータ形式を定めている。
25
トランスポート層とは?
プロトコルの機能階層の一つで、データの送信元と送信先の間での制御や通知、交渉などを行い、二者間のデータの運搬に責任を追うもの。OSI参照モデルでは第4層、TCP/IP階層モデルでは第3層にあたる。 トランスポート層のプロトコルは上位層から送信データを受け付けて制御情報などと共に下位層へ引き渡し、下位層から受信データを受け取って制御情報などを取り去って上位層へ引き渡す。この階層の制御情報は原則として発信元と送信先しか必要としないため、伝送途上で参照・改変されることは稀である。 この階層の主な役割としては、エラー検出・訂正と再送制御、コネクション(仮想的な専用通信路)の確立、データの並び順の整列(順序制御)、フロー制御、輻輳制御、アプリケーションの識別(OSIではセッション層の役割)などである。UDPのように、これらの一部をあえて実装しないことによって伝送速度の向上を図っているプロトコルもある。
26
フロー制御とは?
データ通信において、受信側の処理が追いつかずにデータを取りこぼしたりするのを防ぐため、通信状況に応じて送信停止や速度制限などの調整を行う機能のこと。 二つの機器間でデータのやり取りを行う場合、相手から受信したデータはバッファメモリにいったん記録され、その後プロセッサから読み出されて処理される。このとき、送信が速過ぎてバッファからあふれそうになったり、受信側が何らかの処理に忙しくてデータの処理を進められない場合などに、送信側の機器にこれを通知して、送信を一時中断したり、速度を低下させたりする。こうしたデータの流れの調整をフロー制御という。
27
輻輳制御とは?
通信ネットワークに許容量を超える伝送要求が殺到して混雑状態になる輻輳(ふくそう)を回避、緩和するために行われる通信制御。 通信ネットワークには回線の伝送速度や中継機器の処理性能、同時に処理できる接続数などの能力に上限があり、末端の装置から容量を超える通信要求が一斉に行われると道路の渋滞に似た「輻輳」と呼ばれる混雑状態となる。悪化すると広域的な麻痺状態である「輻輳崩壊」に至ることもある。 輻輳制御はこれを未然に回避し、あるいは輻輳が始まったことを検知して緩和するために行われる制御である。電話回線網などの場合には通信事業者が交換設備を監視・制御し、災害発生などで輻輳の兆しを検知すると周囲の加入者からの発信を強制的に抑止する(通話制限)といった方策で対応することが多い。 コンピュータネットワークなどの場合には、ネットワークスイッチやルータなどの中継機器、発信・受信を行う端末がそれぞれ輻輳制御のための仕組みを備えている。TCP(Transmission Control Protocol)における輻輳制御がよく知られており、通信状態を監視して一度に送信するデータ量(ウィンドウサイズ)を動的に増減させることで、伝送路の容量を最大限活かした高速な通信と輻輳の抑止を両立する。
28
ネットワーク層とは?
プロトコルの機能階層の一つで、単一の、あるいは相互接続された複合的なネットワークの上で末端から末端までデータを送り届ける役割を担うもの。OSI参照モデルでは第3層、TCP/IP階層モデルでは第2層で、IP(Internet Protocol)が該当する。 この階層の主な役割は、物理ネットワーク同士を結びつけ、全体を一つの論理的なネットワークとして相互に通信可能な状態にすることである。具体的には、ネットワーク全体を通して整合的で体系的なアドレス(識別番号)の割り当て、データの伝送経路の管理や選択(ルーティング)、データの送受信単位の変換や調整、優先制御などである。
29
データリンク層とは?
プロトコルの機能階層の一つで、回線やネットワークで物理的に繋がれた二台の機器の間でデータの受け渡しを行うもの。OSI参照モデルでは第2層、TCP/IP階層モデルでは第1層にあたり、イーサネット(Ethernet)やWi-Fiがよく知られる。 この層の主な役割は、直に接続されて信号の送受信が可能な別の機器(二地点間の回線の場合は相手方)へ上位のプロトコルから依頼されたデータを確実に伝送することである。具体的には、通信相手の識別や認識、伝送路上の信号の衝突の検知や回避、データの送受信単位(フレーム)への分割や組み立て、伝送途上での誤り検知・訂正などである。
30
物理層とは?
通信ネットワークの階層モデルの最下層で、装置や伝送媒体の物理的な形状や仕様、信号形式などを定めた規約。 一対の機器間で電気信号や光信号、無線(電波・赤外線・可視光線)信号などを用いてビット単位のデジタル信号の送信・受信ができるようにする。具体的には、ケーブルやアンテナ、端子(コネクタ)の形状や仕様、データと信号の変換方式、信号の変復調方式などが定義される。
31
TCPとは?
インターネットなどのIPネットワークで、IP(Internet Protocol)の上位層であるトランスポート層のプロトコル(通信規約)として標準的に使われるものの一つ。 ネットワーク層(インターネット層)のIPと、HTTPなど各用途ごとに固有のアプリケーション層のプロトコルの橋渡しをするもので、ポート番号という識別番号を用いて、各IPデータグラムが運んでいるデータがどの上位プロトコルのものであるかを識別し、担当のソフトウェアに振り分けることができる。 TCPはコネクション型のプロトコルで、接続相手との通信の開始時に「スリーウェイハンドシェイク」と呼ばれる3段階から成る制御情報のやり取りを行い、通信相手の状況を確認して仮想的な伝送路(TCPコネクション)を確立する。一連のデータ伝送が終わると伝送路を切断して通信を終了する。 二者間で制御情報を双方向にやり取りすることで、送信したデータが受信側に到着したかどうかを確かめる「確認応答」、受信側が伝送途上でのデータの欠落や破損を検知して送信側に再送を要求する「再送制御」、送信時に通し番号を割り当てて到着順が入れ替わっても受信側で本来の順序に並べ直す「順序制御」などの機能が利用できる。
32
UDPとは?
インターネットなどのIPネットワークで、IP(Internet Protocol)の上位層であるトランスポート層のプロトコル(通信規約)として標準的に使われるものの一つ。 仮想的な伝送路の確立(ハンドシェイク)を行わないコネクションレス型のプロトコルで、送信先が確実にデータを受領したかを確認したり、データの欠落を検知して再送したり、受信データを送信順に組み立て直すといった制御を行わず、データを「送りっぱなし」にする。 このため、UDP自体はデータの配達に関して特に信頼性を保証しないが、このような制御を行わない分だけ転送効率が高く、遅延が発生しにくい。データに多少の損失が生じても高速性や即時性(リアルタイム性)を重視する用途(通話、放送など)、信頼性はアプリケーション層で確保するためとにかくシンプルにデータを伝送してほしい用途などで用いられる。 UDPでのデータの送信単位は「データグラム」(UDPデータグラム)で、前半8バイトが制御情報を記したヘッダ、残りの後半部分が伝送するデータ本体(アプリケーション層から伝送を依頼されたデータ)であるペイロードとなる。ヘッダ構造は極めてシンプルで、先頭から2バイトずつ送信元ポート番号、宛先ポート番号、(データグラム全体の)データ長、チェックサム(誤り検出符号)となっている。
33
ペイロードとは?
パケットやデータグラムなどのデータの送受信単位のうち、宛先などの制御情報を除いた、相手に送り届けようとしている正味のデータ本体のことをペイロードという。 現代の通信システムでは、データをパケットやデータグラム、フレームなどの一定の長さの送受信単位に分割してそれぞれ伝送する。これは先頭部分が制御情報を記したヘッダ部、続けてペイロード、必要に応じて末尾にパディングという構成になっている。パティングは全体の長さを特定の数の倍数に合わせるための「詰め物」となる無意味なデータである。
34
ICMPとは?
インターネットなどのIPネットワークで用いられるプロトコル(通信規約)の一つで、IP通信の制御や通信状態の調査などを行なうためのもの。 IPデータグラムのペイロード部に積載される「ICMPメッセージ」と呼ばれる短いメッセージを送受信して、相手方へ問い合わせや通知を行なうことができる。メッセージは先頭から順に「タイプ」(8ビット)、「コード」(8ビット)、「チェックサム」(16ビット)、「データ」(可変長)で構成される。データの長さはタイプによって異なる。 よく使われるメッセージには、通信可能なら応答するよう要求する「ICMPエコー要求」(echo request/タイプ8コード0)や、それに対する返答である「ICMPエコー応答」(echo reply/タイプ0コード0)、相手方に到達できない場合にその理由を経路途中のルータなどが送信元に知らせる「到達不能通知」(destination unreachable/タイプ3、コードで詳細を通知)などがある。 ICMPは通信の相手方や、相手方までの経路の状態を調べるために用いられる。ネットワーク管理者などがトラブル発生時に調査や診断のために用いる「pingピング」や「tracerouteトレースルート」などのコマンド(プログラム)はICMPの仕組みを用いて実装されている。
35
IPとは?
複数の通信ネットワークを相互に接続し、データを中継・伝送して一つの大きなネットワークにすることができる通信規約(プロトコル)の一つ。 IPではネットワークに接続された個々のネットワークやホスト(機器)に固有の識別番号である「IPアドレス」(IP address)を割り当て、これを宛先や送信元に指定して通信を行う。現在普及しているIPv4(IP version 4)では32ビットのアドレスが用いられ、最大で約42億台の機器が同じネットワークに参加できる。 同じネットワーク上ではアドレスに重複があってはならないため、インターネットで用いられるグローバルIPアドレスについては管理団体が申請に基づいて発行する形を取っている。これとは別に組織内ネットワークのみで使用されるプライベートIPアドレス(ローカルIPアドレス)用のアドレス領域が定められており、構内ネットワーク(LAN)などで自由に使うことができる。
36
MTUとは?
通信機器などが一度に送信できる最大のデータ量。また、その設定値。送りたいデータの量がMTUを超える場合はMTUごとに分割して複数回に分けて送信する。イーサネット(Ethernet)では1500バイトまでと規定されている。 一般にMTUが大きいほど効率的にデータを送ることができ、実質的な転送速度を向上させることができるが、ノイズが多いなど通信品質が低い環境では逆にMTUが小さいほうがエラーによる再送などが減って転送効率が高まることもある。 通信相手までの経路上に複数の回線や中継機器などが存在し、それらのMTUが異なる場合、経路全体をデータを分割せずに送信することができる最大のデータ量を「経路MTU」(path MTU)という。データを送信する前に経路MTUを調べることを「経路MTU探索」(PMTUD:Path MTU Discovery)という。 これに対し、受信側が一度に受信できる最大のデータ量は「MRU」(Maximum Receive Unit)という。MTUは相手のMRUを超えることはできない。MTUもMRUも機器や回線の物理的な上限は決まっているが、実際の値は上限を超えない範囲で利用者が設定できる場合が多い。
37
SNMPとは?
IPネットワーク上のルータやスイッチ、サーバ、端末など様々な機器をネットワーク経由で遠隔から監視・制御するためのプロトコル(通信規約)の一つ。組織内の構内ネットワーク(LAN)の管理でよく用いられる。 管理者が操作や管理のために用いるソフトウェアを「SNMPマネージャ」、監視や制御の対象となる個々の機器に導入されるソフトウェアを「SNMPエージェント」という。管理対象の機器が複数のサブシステムに分かれている場合は、機器を代表する「マスターエージェント」と機能ごとに動作する「サブエージェント」が置かれる場合もある。 SNMPでは主にこの両者の間の通信手順や送受信されるデータ形式などを定めている。仕様が標準化されており、メーカーや機種と問わず共通して利用することができるが、データモデルの一部はメーカー固有の情報を含むため、同じメーカーの製品間でしか認識できない場合もある。デフォルトではSNMPマネージャはUDPの162番ポートで、SNMPエージェントはUDPの161番ポートで接続を受け付ける。 SNMPマネージャは管理者による操作や設定に基づいて、SNMPエージェントに情報の送信要求や設定項目の変更要求などを送る。SNMPエージェントはこれに応えて要求された情報を返信したり、設定変更の結果を通知したりする。この動作をポーリングという。一方、故障など緊急時にはエージェント側からマネージャへ能動的に発信を行う「SNMPトラップ」が用いられる。
38
NTPとは?
TCP/IPネットワークを通じて現在時刻の情報を送受信するプロトコル(通信規約)の一つ。時刻情報を配信するサーバと時刻合わせを行うクライアント間、およびサーバ間の通信方法を定めている。 NTPはコンピュータ間で時刻情報をやり取りする方式を定めており、通信時の遅延を計測して補正する仕組みも提供する。標準のポート番号としてUDPの123番を使用する。 インターネット上には時報のように現在時刻を配信するNTPサーバ(タイムサーバ)がいくつも公開・運用されている。パソコンなどで動作するNTPクライアントはサーバから時刻情報を取得し、コンピュータ内部の時計(RTC)を正しい時刻に調整することができる。 NTPにはこのようなクライアント-サーバ間の通信の他に、時刻サーバ間で時刻情報を調整したり、上位サーバから下位サーバへの階層構造を構成・管理する機能なども定義している。 NTPサーバは「Stratum」(ストラタム)と呼ばれる階層構造を形成しており、最上位から順に「Stratum 1」「Stratum 2」のように呼ぶ。 最上位のStratum 1は原子時計や電波時計、特殊なGPS受信機など時刻源(「Stratum 0」とも呼ばれる)となる機器に直結されている。安定的に運用するため一般には公開せず、限られた下位サーバからのみ参照できるようにしていることが多い。 Stratum 2以下のサーバは自らは時刻源を持たず、上位階層のサーバからNTPで時刻データを受信して自らの時刻を正確に維持する。Stratum 3や4などより下位のサーバへ時刻を提供し、クライアントからの問い合わせにも応答する。
39
DNSとは?
インターネットなどのIPネットワーク上でドメイン名(ホスト名)とIPアドレスの対応関係を管理するシステム。利用者が単なる番号列であるIPアドレスではなく、日常使っている言語の文字を組み合わせた認識しやすいドメイン名でネットワーク上の資源にアクセスできるようにする。 IPネットワークでは「IPアドレス」と呼ばれる数値列で個々のコンピュータやネットワークを識別するが、DNSを使えば人間にとって親しみやすい文字や記号を組み合わせて「ドメイン名」(domain name)と呼ばれる別名をつけることができる。ドメイン名が単一の機器を指し示す場合は「ホスト名」(host name)とも呼ばれる。 各ドメイン名について、ホスト名とIPアドレスの対応関係や管理情報などを記録し、一定の通信手順に基づいてどこからでも容易に参照できるようにした世界規模の分散型データベースがDNSである。そのための通信規約(プロトコル)や交換データ形式などの仕様を定めた標準規格のこともDNSという。 IPアドレスとドメイン名 例えば、ある企業が「198.51.100.1」というIPアドレスの割り当てを受けてWebサーバと電子メールサーバを運用する場合、WebサイトのURLは「https://198.51.100.1/」のように、代表メールアドレスは「info@198.51.100.1」のような表記になる。 これは人間にとっては覚えたり伝達したり入力したりしにくく、接続事業者を切り替えるなどしてIPアドレスが替わるとこれらのアドレスもすべて変更となり、記録物を書き直したり関係者に改めて通知・告知しなおさなければならなくなってしまう。 そこで、「example.co.jp」というドメイン名を取得し、ホスト名として「www.example.co.jp」を「198.51.100.1」に、「~@example.co.jp」のメールアドレスを管理するメールサーバのアドレスを「198.51.100.1」に対応付けておけば、Webサイトを「https://www.example.co.jp/」のように、メールアドレスを「info@example.co.jp」のように表記することができるようになる。 DNSサーバとクライアント ドメイン名の情報を管理し、外部からの問い合わせに応答するコンピュータやソフトウェアのことを「DNSサーバ」(DNS server)、サーバへの問い合わせを行いDNS情報を参照・利用する側のコンピュータやソフトウェアを「DNSクライアント」(DNS client)あるいは「DNSリゾルバ」(DNS resolver)という。 ドメイン名とIPアドレスの対応関係をサーバへの問い合わせによって明らかにすることを「名前解決」(name resolution)と呼び、ドメイン名から対応するIPアドレスを求めることを「正引き」(forward lookup)、逆にIPアドレスからドメイン名を割り出すことを「逆引き」(reverse lookup)という。 ドメイン名の階層構造 ドメイン名は実世界の住所表示のように広い領域を指す名前から順に範囲を狭めていく階層構造になっており、「www.example.co.jp」のように各階層の識別名を「.」(ドット)で区切って表記する。あるドメイン名の配下に設けられた下位のドメイン名を「サブドメイン」(subdomain)という。 上の例の「jp」のように一番右が最上位階層の「トップレベルドメイン」(TLD)で、以下、左に向かって「co」を「セカンドレベルドメイン」(SLD:Second Level Domain)、「example」を「サードレベルドメイン」(3LD:Third Level Domain)のように呼び、順に指し示す範囲が狭くなっていく。 権威DNSサーバと権限委譲 あるドメイン名についての情報を管理するDNSサーバを「権威DNSサーバ」あるいは「DNSコンテンツサーバ」という。権威サーバはそのドメイン名についての情報の発信元で、外部からの問い合わせに応答してホスト名に対応するIPアドレスなどを回答する。 上位ドメインの権威サーバは配下のすべてのドメイン名の情報を一元管理しているわけではなく、下位ドメインの権威サーバに管理権限を委譲し、自身はその所在(IPアドレス)のみを把握している。下位ドメインについての問い合わせには「このアドレスのサーバに聞くように」という回答を返す。 再帰問い合わせによる名前解決 「www.example.co.jp」の名前解決を行うためには、まず全世界に十数か所あるDNS全体を統括する「ルートサーバ」(root server)に「jp」ドメインの権威サーバの所在を訪ね、そのサーバに「co.jp」ドメインの権威サーバの所在を訪ね、そのサーバに「example.co.jp」の権威サーバの所在を…という具合に左端のホスト名が解決されるまで問い合わせを再帰的に繰り返す必要がある。 この問い合わせ手順を末端のDNSクライアントが毎回行っていたのではサーバとクライアント、途中のネットワークの負荷や無駄が大きすぎるため、通常はインターネット接続事業者(ISP)などが用意した「DNSキャッシュサーバ」が各クライアントからの問い合わせを代行し、結果を一定期間保存して同じ問い合わせに代理で応答するという運用が行われる。 一般の利用者がコンピュータのネットワーク設定などで指定する「DNSサーバ」(プライマリDNSサーバ、セカンダリDNSサーバ)は、各ドメイン名を管理している権威サーバではなく、このDNSキャッシュサーバである。なお、キャッシュサーバに頼らずクライアントソフトが自ら再帰問い合わせを行って名前解決することも差し支えなく、ネットワーク管理者などが調査のために行うことがある。
40
ウェルノウンポートとは?
IPによる通信で利用されるTCPやUDPのポート番号のうち、著名なサービスやプロトコルが利用するために予約されている0番から1023番のこと。 ポート番号のうち、0番から1023番までに含まれる多くの番号は特定のサービスやプロトコルが利用することが広く知られており、これを「ウェルノウンポート」という。現在は正式には「システムポート」に改称されているが、この呼称はあまり広まっていない。 特に有名なのは、HTTPの80番やFTPの20番と21番、SSHの22番、SMTPの25番、POP3の110番、DNSの53番、NTPの123番、HTTPSの443番などである。4番、6番、8番のように何も割り当てられていないものもある。新しいプロトコルやサービスは1024番以降を利用することが慣例となっている。 インターネットの各種資源の管理や割り当てを行うICANN(Internet Corporation for Assigned Names and Numbers)傘下のIANA(Internet Assigned Number Authority)では各ポート番号の用途を登録しており、ウェルノウンポートやレジスタードポート(1024~49151番)の用途をネット上で公開している。インターネットで公開するサーバはその番号を当該サービス、プロトコルで利用することが推奨されている。 ただし、サーバ上でどのサービスをどのポートで動作させるかはソフトウェアによって設定できるようになっていることが多く、必ずしもウェルノウンポートでなければそのサービスを起動・利用できないわけではない。実際、HTTPのプロキシサーバなど、特殊な用途のためにわざと本来とは別のポート番号でサービスを提供する場合もある。
41
ポート番号とは?
インターネットで標準的に用いられるプロトコル(通信規約)であるTCP/IPにおいて、同じコンピュータ内で動作する複数のソフトウェアのどれが通信するかを指定するための番号。単に「ポート」と略されることもある。 IPにはネットワーク上で機器を識別・指定するIPアドレスという番号が定められており、データの送信元や宛先を記述することができるが、これだけでは通信内容が何のプロトコルで、機器上のどのプログラムが扱えば良いかを通信相手に伝えることができない。このため、TCPやUDPにはプロトコルや対象プログラムを識別・指定する番号としてポート番号が用意されている。 ポート番号は16ビットの値で、通常は0から65535までの符号なし整数として表記する。TCPとUDPのそれぞれについて用意されており、「TCP/80」「UDP/123」のようにTCPとUDPの別を併記する。TCPとUDPで同じ番号が同じ用途に与えられ、どちらにするか通信時に選択できる場合もある。URL(URI)の一部として指定する場合は「http://www.example.com:80/」「https://192.168.1.1:443/」のようにホスト名やIPアドレスの末尾にコロン(:)を付して追記する。 用途の登録 どのポート番号を何に利用するかは、通信する二者の交渉と合意により任意に設定・変更できるが、インターネットで用いられる識別番号や識別名の登録・管理を行っているIANA(ICANN)では、一部のポート番号について推奨される用途を登録・公開している。 0番から1023番を「ウェルノウンポート」(well-known port numbers)というが、近年これは「システムポート」(system port numbers)に改名された。1024番から49151番までは「レジスタードポート」(registered port numbers:登録済みポート)あるいは「ユーザーポート」(user port numbers)という。 49152番以降はどのように用いても自由な番号で、クライアントなどが一時的な通信のために用いることが多いため「エフェメラルポート」(ephemeral:一時的な)あるいは「動的ポート」(dynamic port numbersとも呼ばれる。 著名なポート番号のうち特に2桁や3桁の番号のいくつかは、広く普及しているアプリケーション層のプロトコルの標準ポート番号として用いられている。例えば、TCP/20~21はFTP、TCP/22はSSH、TCP/23はTelnet、TCP/25はSMTP、UDP/53はDNS、UDP/67~68はDHCP、TCP/80はHTTP、TCP/110はPOP3、TCP/123はNTP、UDP/137~138とTCP/139はNetBIOS、TCP/143はIMAP4、TCP/443はHTTPS、TCP/587はSMTPサブミッションポートなどとなっている。
42
レジスタードポートとは?
1024番から49151番までが「レジスタードポート」「登録済みポート」(registered ports)あるいは「ユーザーポート」(user ports)と呼ばれ、インターネット資源の管理団体であるIANA(Internet Assigned Numbers Authority)が用途の受付・登録を行っている。 IANAでは登録を受理したポート番号と用途の一覧を公開しており、登録されたアプリケーションやプロトコル、サービスなどでの利用を推奨しているが、技術的には登録された用途以外に使用することもできる。
43
エフェメラルポートとは?
IPネットワークで使われるTCPやUDPのポート番号のうち、特定の用途やプロトコルによって固定的に使用することが想定されておらず、どのようなソフトウェアやプロトコルからも自由に利用することができるもの。また、一時的な用途のために動的に占有・使用されるポート。“ephemeral” とは「短命な」の意。 多くのプロトコルや通信システムでは、サーバ側のポートはあらかじめ規格などで決められた特定の番号を用いるよう定められているが、クライアント側のポート番号は特に定めがない場合が多い。 このとき、クライアント側は特に用途の決まっていないエフェメラルポートの中から適当に一つを選んでその場での通信のために用いる。通信が終わるとポートの占有は解放され、別のソフトウェアや用途で使用できるようになる。 具体的にどのような番号の範囲をエフェメラルポートとして用いるかはシステムによって異なる。ポート番号の用途の登録を受け付けているIANA(Internet Assigned Number Authority)では49152~65535番を “The Dynamic and/or Private Ports” の名称で私的あるいは動的に用いる範囲と定義しており、FreeBSDや最近のWindowsなどはこの範囲を利用する。
44
IMAP4とは?
インターネットなどのIPネットワークで標準的に用いられる、電子メール(eメール)を受信するための通信規約(プロトコル)の一つ。利用者が自分宛ての電子メールを保管しているメール受信サーバにアクセスし、新着を確認したり一覧から必要なものを選んで手元に受信する手順を定めている。 IMAP IMAPでは原則として、届いたメールをメールサーバ上にメールアドレス(アカウント)ごとに設けられた専用の保存領域(メールボックス)で管理する。利用者はサーバからメールの一覧を取得して必要な物を選択し、手元のコンピュータにダウンロードして閲覧する。 サーバ上で各メールの既読状態の管理、フォルダを用いた分類などを行なうこともでき、添付ファイルなどで容量が大きい場合などにメールの一部だけ(ヘッダ部分だけ、本文だけなど)受信する機能もある。メールをサーバ側で管理するため、一つのアドレスを複数のコンピュータから利用することも容易である。 POPとの比較 メール受信プロトコルとしてよく用いられるものには「POP」(POP3:Post Office Protocol)もあるが、POPではサーバにアクセスする度に届いているメールをすべて手元にダウンロードし、クライアント側でメールの保管や分類などの管理を行う。 IMAPはサーバ側でメールを保管するため、クライアント起動後に素早く新着や一覧を確認することができる。常に決まった端末を使うとは限らない場合(学校のコンピュータルームなど)や、一人で複数のコンピュータから利用する場合などにも適している。 ただし、サーバ側にメールの保管領域が大量に必要となるため、システムによっては受信容量の上限が厳しく制限され、古いメールを頻繁に削除しなければすぐに制限を超過して受信できなくなってしまう場合もある。
45
NetBIOSとは?
ソフトウェアがコンピュータのネットワーク機能を利用するための標準的な規約(API)を定めた規格の一つ。コンピュータに内蔵されたNIC(LANカード)などのハードウェアを制御し、外部の機器と通信を行うためのコマンドや引数の形式などを定めている。 ソフトウェアは個々の通信用ハードウェアの仕様に対応しなくても、NetBIOSで定められた規約に従ってハードウェアへ指示を出すことで通信機能を利用することができる。 非常にシンプルな仕様で、ネットワーク上の機器の登録や管理、特定の相手とのコネクションレス型(データグラム型)通信、コネクション型(セッション型)通信の3つの機能を利用することができる。Windowsネットワークの基礎として長年利用されており、ファイル共有やプリンタ共有などもNetBIOSの機能を呼び出して実現している。 ネットワーク上の機器はNetBIOS名と呼ばれる16バイト(半角英数字16文字)の固有の識別符号で認識される。Windowsでは通常、「コンピュータ名」として設定される文字列がNetBIOS名として使用される(末尾1バイトは属性を表すため利用者が任意に入力できるのは15文字まで)。
46
ダイナミックポートフィルタリングとは?
ファイアウォールなどが中継するパケットをフィルタ(選別)する手法の一つで、一時的なルールを動的に適用するもの。内部から発信したパケットに対する応答パケットを識別して通過させるために用いられる。 ファイアウォールはネットワークの境界で内外の通信を中継・監視し、管理者が指定したルールに基づいてパケット通過の可否を判断する。この機能をパケットフィルタリングという。攻撃に利用されやすいポート番号への外部からのアクセスを拒否するといった仕組みを構築できる。 通常のフィルタ機能では、管理者が通信を許可あるいは拒否する条件を一件ずつ指定し、固定的なルールで通過の可否を判断する。WebブラウザとWebサーバの通信のように、外部からの応答パケットの宛先ポート番号が接続ごとに毎回変動する場合には、これを通過させるためにルールをかなり緩和しなくてはならなくなる。 ダイナミックパケットフィルタリングは一時的なルールを自動的に追加したり削除する機能で、内部から発信した要求パケットへの応答パケットは必ず通過させるようにルールを適用する。内部のWebブラウザがパケットを発信すると、対応する応答を通過させるルールが一時的に追加され、通信が終了するとルールは削除される。
47
パケットフィルタリングとは?
通信機器やコンピュータの持つネットワーク制御機能の一つで、外部から受信したデータ(パケット)を管理者などが設定した一定の基準に従って通したり破棄したりすること。ルータなどの中継装置はパケットの転送時に、コンピュータなどの端末は自分宛てのパケットの着信時に行う。 受信したIPパケットやその中のTCPパケット、UDPデータグラムのヘッダ部分などを解析し、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコルの種類などの情報を取得する。これを元に、あらかじめ設定された条件と比較して、パケットを通過させるか破棄するかを判断する。条件の指定は「列挙した条件に適合するもの以外すべて通過」と「列挙した条件に適合するもの以外すべて破棄」のいずれかの方式で行う。 どのような条件によって通過あるいは破棄させるかは機器やネットワーク管理者が任意に設定することができるが、当該組織のネットワーク運用ポリシーに照らして、最低限通過させる必要のあるパケット以外は破棄するという設定にすることが多い。外部からの攻撃に悪用されることを極力防ぐためである。
48
ファイアウォールとは?
ネットワークの境界に設置され、内外の通信を中継・監視し、外部の攻撃から内部を保護するためのソフトウェアや機器、システムなどのこと。 一般的な構成では、ファイアウォールに内部ネットワーク(LAN)の回線とインターネットなど外部ネットワーク(WAN)の回線を両方つなぎ、内部と外部の境界をまたぐ通信が必ずファイアウォールを通過するようにして、ファイアウォールが一定の基準に従って不正と判断した通信を遮断する。 サーバコンピュータ上でソフトウェアとして動作するものと、専用の通信機器(アプライアンス)として提供されるもの、ルータなどのネットワーク機器の機能の一つとして統合されているものがあり、防御対象や規模などに応じて選択する。パソコン向けのセキュリティソフトやオペレーティングシステム(OS)にはファイアウォール機能が含まれることもある。 パケットフィルタリング方式 ファイアウォールが通信の可否を判断する方式には様々なものがあるが、最も一般的なのは「パケットフィルタリング」(packet filtering)と呼ばれる方式で、内外を通過するパケットの制御情報(ヘッダ)を読み取り、あらかじめ指定された条件に基づいて通過か破棄かの判定を行う。 よく用いられる条件として、送信元IPアドレス、宛先IPアドレス、プロトコルの種類(ICMP/UDP/TCP)、送信元ポート番号、宛先ポート番号、通信の方向(内部→外部/外部→内部)などがあり、これらの組み合わせによって可否を指定することができる。 形式的な判定だけでなく、TCPコネクションの状態などを一定の過去まで記録しておき、過去の通信と辻褄の合わない奇妙な制御情報が記載されたパケットが届くと攻撃の試みであるとみなして拒絶する「ステートフルパケットインスペクション」(SPI)など、高度な判断が可能な製品もある。 他の方式 パケットフィルタ方式は原則としてIP(Internet Protocol)の制御情報を利用するが、トランスポート層のTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のレベルで通信の中継を行うものを「サーキットレベルゲートウェイ」という。SOCKSなどが該当し、通過や遮断の制御だけでなく、NATのようにプライベートIPアドレスとグローバルIPアドレスの変換なども行う。 また、さらに上位のHTTPなど個別のアプリケーション層のプロトコルの制御情報を用いて通信制御を行うものは「アプリケーションレベルゲートウェイ」という。プロキシサーバなどが該当し、アドレス変換やコンテンツのキャッシュ、ウイルスチェックなどの機能も合わせて提供される。 パーソナルファイアウォール 家庭などでパソコンに導入する個人向けの製品は「パーソナルファイアウォール」(PFW:Personal Firewall)と呼ばれる。パソコンと外部の機器とのネットワーク通信を監視し、あらかじめ指定された条件に基づいて許可された通信以外を遮断する。 単体の製品やフリーソフトウェアがあるほか、セキュリティソフトウェア企業などでは、アンチウイルスソフトなどと共に統合セキュリティソフトウェア(「○○インターネットセキュリティ」といった製品)の機能の一部として提供している場合がある。Windowsでは標準で内蔵されている「Windows Defenderにパーソナルファイアウォール機能が組み込まれている。
49
SOCKSとは?
ネットワーク境界の機器が内外の通信を中継するためのプロトコル(通信規約)の一つ。 企業などの内部ネットワークとインターネットなどの境界にコンピュータや通信機器を設置し、直接インターネットに接続できない内部のコンピュータに代わって、「代理」としてインターネットとの接続を行うシステムを構築することができる。 SOCKSサーバ(sockd)は内部ネットワークのクライアントと外部のサーバの間でTCPあるいはUDP(SOCKSv5のみ)による通信を中継する。TCP/UDPを利用して通信する上位層のプロトコルに制限はなくHTTPプロキシより汎用的に利用できるが、アプリケーション側がSOCKSによる通信に対応している必要がある。 許可された利用者しか通信できないよう利用者の認証を行ったり、使用できるプロトコルを制限したり、SOCKSサーバ間を接続して多段階の中継を行うこともできる。接続を中継する方向も選択でき、一種のファイアウォールとして使用したり、外部から許可された利用者のみ内部のサーバと通信できるリモートアクセスに応用することもできる。