Lesson 3
サーバーの種類
目次
Lesson 3
Chapter 1
Webサーバー
レッスン1では、サーバーには役割(機能)によって様々なサーバーの種類があることを学びました。 このレッスンでは様々な機能を持つサーバーを1つずつ学習していきましょう。
まずは現代の生活では欠かせない、情報の収集や様々なサービスを提供する「Webサーバー」から学びましょう。
Webサーバーとは
Webサーバーとは、クライアント(Webブラウザ)からのリクエストに応じて、Web上のデータを送り返すサーバーのことです。
Webブラウザから「〇〇のファイルを下さい」というリクエストに応答して、「〇〇のファイルを送ります」といったレスポンスを返します。
HTTPとHTTPS
HTTP(Hypertext Transfer Protocol)とは、Webサーバーと接続するためのプロトコル(仕様)です。
プロトコルはこのあと何度も登場する言葉なので、「通信するときに決められている約束事」と覚えましょう。
HTTPの情報のやり取りは常に、クライアントからのリクエストに対してサーバーが応答(レスポンス)を返します。1つのリクエストには1つのレスポンスを返すルールになっています。
HTTPをSSLで暗号化したプロトコルに「HTTPS(HTTP over SSL)」があります。SSLについてはレッスン3-3で学習します。
Webサーバーで行う処理
WebブラウザからWebサーバーにアクセスするとき、アドレスバーに「http://www.example.co.jp/sample/index.jp」のようなアドレスを指定してアクセスしています。
このアドレスのことを「URL(Uniform Resource Locator)」と呼びます。「URL」は目的のファイルやプログラムの在処を表しています。
リクエストをWebサーバーが受け取ると、指定されたファイルが静的なコンテンツなのか、動的なコンテンツなのかで処理が変わります。
- 静的コンテンツ
- 動的コンテンツ
静的なコンテンツのリクエストを受け取ると、WebサーバーはWeb上に保存されているファイルを返します。 保存されているファイルを返すだけなので、誰かに更新されない限りは同じ内容が表示されることになるため静的コンテンツと呼ばれます。
動的なコンテンツのリクエストを受け取ると、Webサーバーはリクエストされたプログラムを実行してコンテンツやデータを生成し、その生成したコンテンツやデータを返します。 リクエストした内容により表示内容が変わるので動的コンテンツと呼ばれます。
Webサーバーの種類
Webサーバーの機能を提供するにはコンピュータにソフトウェアのインストールが必要です。Webサーバーの代表的なソフトウェアを確認しましょう。
有名なものでは「Apache」「Nginx(エンジンエックス)」「IIS(Internet Information Services)」があります。
名称 | メリット | デメリット |
---|---|---|
Apache |
無料で利用可能 マルチプラットフォーム 機能拡張が容易 重い処理が得意 |
メモリの大量消費 同時処理数が増えると耐えられない |
Nginx |
無料で利用可能 マルチプラットフォーム 同時接続処理に特化 ロードバランサー機能による負荷分散 |
重たいデータの扱いには不向き 単体で完結させるのは難しい |
IIS |
マイクロソフト製品との親和性が高い GUIで操作可能 安定性が高い サポートを受けられる |
WindowsOS以外では動作しない |
クライアント側のソフトウェア
クライアント側で利用するソフトウェアには、グーグルの「Chrome」、Mozillaの「Firefox」、マイクロソフトの「Edge」などが有名です。
Webサーバーが動的コンテンツを処理する場合、単独では処理できないため、ほかのサーバーと共同で処理を遂行します。
次のチャプターではWebサーバーと共同で動作するWebアプリケーションサーバーを学習しましょう。

Lesson 3
Chapter 2
Webアプリケーションサーバー
このチャプターではWebサーバーが動的コンテンツのリクエストを受け取ったときに、プログラムを実行する役割を担うWebアプリケーションサーバーについて学習しましょう。
動的なコンテンツを生成するWebシステムの多くは、「Webサーバー」「Webアプリケーションサーバー(APサーバー)」「データベースサーバー(DBサーバー)」の3層構造になっています。 Webサーバーとデータベースサーバーの間で、架け橋となる機能を提供しているサーバーがWebアプリケーションサーバーです。
Webアプリケーションサーバーの基本機能にはデータベースへの接続機能があります。 Webサーバーが動的なコンテンツのリクエストを受け取ると、Webアプリケーションサーバーでプログラムを実行し、データベースのデータを取得したり保存したりして動的なコンテンツを生成します。 そして生成したコンテンツをWebサーバーがクライアントに返します。
Webアプリケーションサーバーの種類
Webアプリケーションサーバーは実行できるプログラム言語(フレームワーク)によって種類が変わります。
代表的なソフトウェアを確認しましょう。
Webサーバーとして使用されている「IIS」と「Apache」はWebアプリケーションサーバーとして利用することもできます。
種類 | 特徴 |
---|---|
Apache Tomcat | 「Java EE」に準拠したJavaアプリケーションを実行可能 |
IIS |
「.NET Framework」で開発したアプリケーションを実行可能 ※「.NET Framework」はC#、F#、Visual Basicで記述されます。 |
Apache | 拡張モジュールをインストールすることで「PHP」や「Python」を実行可能 |
フレームワーク
フレームワークとは、アプリケーション開発において、効率よく開発するために、よく利用される機能をあらかじめ用意した枠組みのことです。 有名なソフトウェアにはJavaのフレームワーク「Spring Framework」、JavaScriptのフレームワーク「Vue.js」などがあります。
このチャプターではWebアプリケーションサーバーを学習しました。次のチャプターではSSLサーバーについて学習しましょう。

Lesson 3
Chapter 3
SSLサーバー
普段、なにげなく利用しているインターネットですが、インターネットには様々な脅威が潜んでいるのを忘れてはいけません。 このチャプターでは、通信中に発生する可能性がある脅威からデータを守るための機能を持つSSLサーバーについて学んでいきましょう。
SSLとは
SSL(Secure Sockets Layer)とは、Webサイトとそのサイトを閲覧しているユーザーとの通信を暗号化したり認証したりするプロトコルです。
SSLサーバーは私たちに安全な通信を提供しています。
今、自分が見ているWebサイトがSSLによって守られているかどうかを確認することができます。
WebブラウザのアドレスバーのURLを見てみましょう。
チャプター1でも説明しましたが、HTTPをSSLで暗号化したプロトコルがHTTPSです。
そのため、URLが「https」で始まっているWebサイトは通信がすべて暗号化されていることが分かります。
その他にも、Chromeの例ではアドレスバーの左側に鍵マークが表示されるようになります。
SSLで守ることができる脅威
インターネットで、もっとも被害が多い脅威に「改ざん」「なりすまし」「盗聴」があります。
- 「改ざん」通信中のデータを書き換える行為
- 「なりすまし」他人名義で不正アクセスを行う行為
- 「盗聴」データ情報などを盗み見る行為
SSLを利用することで、このような脅威を防止することができます。
脅威 | 防止内容 |
---|---|
改ざん | データをやりとりするときに、送信側と受信側で「ハッシュ値」(固定サイズのデータ)を計算します。同じハッシュ値ならデータが変わっていないと分かります。 |
なりすまし | 「デジタル証明書」を使用します。デジタル証明書を見てサーバーの身元を確認することによって防止します。 |
盗聴 | データを「暗号化」して守ります。暗号化によって第三者からの盗聴を防止します。 |
SSLは、どのような処理を行い脅威を防止しているのか具体的に確認していきましょう。
ハッシュ値
ハッシュ値を計算するには「ハッシュ関数」という関数を使用します。
ハッシュ関数は、入力データを一定の手順で計算して、入力データの長さに関わらず、決まった長さ(固定サイズのデータ)を出力する関数です。
ハッシュ関数は、入力データが同じなら必ず同じハッシュ値を出力します。少しでも違う場合は、異なるハッシュ値が出力されます。
また、ハッシュ値から元のデータに戻すことは非常に困難とされています。
このような特徴を利用して、送信側と受信側でハッシュ値を計算して、同じハッシュ値ならデータが変わっていないことが確認できます。
デジタル証明書
SSLは、デジタル証明書で通信相手が本物かどうかを確認します。そのため、SSLサーバーには必ずデジタル証明書をインストールする必要があります。
デジタル証明書のインストール手順
①対象サーバーで秘密鍵と公開鍵を作成(コマンドを実行することで簡単に作成可能)して、公開鍵を「CSR(証明書署名要求)」として「認証局(CA局)」という第三者機関に提出します。
②認証局は与信判断したあと、CSRに「デジタル署名」というお墨付きを与え「デジタル証明書」として返します。
③認証局から返ってきた「デジタル証明書」を対象サーバーにインストールします。
デジタル証明書をインストールすることで、自らが本物であることを証明できるようになり、データを暗号化した通信を行うことが可能になります。
暗号化
盗聴を防ぐための暗号化には、データを暗号化するための「暗号化鍵」と、暗号を解除するための「復号鍵」が必要です。 クライアントとサーバーの暗号化鍵・復号鍵の持ち方によって2種類の暗号化方式に分かれます。
- 共通鍵暗号化方式
- 公開鍵暗号化方式
「共通鍵暗号化方式」は、暗号化鍵と復号鍵に同じ鍵を使用する暗号化方式です。
クライアント側とサーバー側であらかじめ鍵を共有しておくことで、暗号化と復号を行います。
単純な仕組みのため処理に負荷はかかりませんが、どのように鍵を配送するかの「鍵配送問題」を考慮する必要があります。
「公開鍵暗号化方式」は、暗号化鍵と復号鍵に別の鍵を使用する暗号化方式です。
サーバーで暗号化鍵と復号鍵のペアを作成します。ある暗号化鍵で暗号化したデータは、ペアの復号鍵でしか復号できない関係になっています。
サーバー側に復号鍵を「秘密鍵」として保持し、クライアント側は暗号化鍵としてインターネット上に公開されている「公開鍵」を使用してデータを暗号化してサーバーに送ります。
共通鍵暗号化方式の鍵配送問題はなくなりますが、複雑な処理になるので負荷が高くなります。
SSLの暗号化通信にはこの2つの暗号化方式を組み合わせて行われます。
最初に公開鍵暗号化方式を使用してサーバーとクライアントで共有する鍵を交換したあとに、共通鍵暗号化方式を利用してデータをやり取りすることで、鍵配送問題と処理にかかる負荷の高さの両方を解決しています。
⑤でサーバーがクライアントの共通鍵を取得するまで処理を「SSLハンドシェイク」と呼ばれています。
SSLサーバーの種類
SSLサーバーの代表的なソフトウェアを確認しましょう。
- OpenSSL
- IIS
オープンソースで利用できる代表的なSSLサーバーソフトウェアです。 WebサーバーのApacheにモジュールをインストールして、Apacheと連携して使用するのが一般的です。
Windows Serverに標準で同梱されているIISもSSLサービスを提供します。
Windows Server用のSSLサービスです。
このチャプターではSSLサーバーを学習しました。次のチャプターではDNSサーバーについて学習しましょう。

Lesson 3
Chapter 4
DNSサーバー
DNSサーバーとは、「100.10.0.1」のようなドット(.)区切りの4つの数字で表すIPアドレスと、「www.example.co.jp」のようなドメイン名を変換する仕組みを提供するサーバーです。 このチャプターではDNSサーバーについて学習しましょう。
DNSとは
DNS(Domain Name System)とは、IPアドレスとドメイン名を紐づけ、相互に変換するシステムです。
IPアドレスはネットワークに接続されたサーバーを識別するための番号で、ドメインはIPアドレスと紐づけて登録することにより、登録したドメインを使用して対応するIPアドレスのサーバーに接続できるようになります。
ドメイン名
ドメイン名は「www.example.co.jp」のようにドット(.)区切りの文字列になっています。
この文字列は「www」「example」「co」「jp」に分類されて、1つ1つの文字列を「ラベル」といいます。
そして右側から順に「jp」を「トップレベルドメイン」、「co」を「第2レベルドメイン」、「example」を「第3レベルドメイン」…といい、一番左の「www」はホスト名と呼びます。
ラベルを右側から順に追っていくことで対象のIPアドレスを管理しているサーバーにたどり着けるようになっています。
ドメイン名は起点となる「ルート」から枝分かれするツリー構造になっていて、これを「ドメイン名空間」と呼びます。
DNSサーバーの種類
DNSサーバーは「キャッシュサーバー」と「コンテンツサーバー」の2種類に分かれます。
- キャッシュサーバー(フルサービスリゾルバー)
- コンテンツサーバー(ネームサーバー)
キャッシュサーバーはクライアントから最初に問い合わせを受けるサーバーで、クライアントに代わってインターネットに問い合わするサーバーです。 クライアントがインターネットにアクセスするときに使用されています。 一度確認したドメイン名とIPアドレスの対応状況をキャッシュして、同じドメイン名の場合はキャッシュしているIPアドレスを返します。
キャッシュサーバーにIPアドレスがキャッシュされていない場合はコンテンツサーバーに問い合わせをします。
その中でも最初に問い合わせをするサーバーを「ルートサーバー」と呼び、世界に13台しかないDNSサーバーの親ともいえる存在です。
「www.example.co.jp」を例に、このドメイン名を管理しているコンテンツサーバーをたどっていきましょう。
ドメイン名からIPアドレスが見つかるまでの流れ
①クライアントからキャッシュサーバーに問い合わせする。
②キャッシュサーバーがルートサーバーに問い合わせして、「jp」を管理しているサーバーを教えてもらう。
③「jp」を管理しているサーバーから「co」を管理しているサーバーを教えてもらう。
④「co」を管理しているサーバーから「example」を管理しているサーバーを教えてもらう。
⑤「example」を管理しているサーバーから「www」を管理しているサーバーを教えてもらう。
⑥「www」を管理しているサーバーから「www.example.co.jp」に対応するIPアドレスを教えてもらう。
⑦キャッシュサーバーがクライアントにIPアドレスを伝える。
各階層のコンテンツサーバーが自ら管理するドメインの範囲を「ゾーン」と呼び、ドメイン名からIPアドレスまで辿りつく一連の動作のことを「名前解決」と呼びます。
このチャプターではDNSサーバーを学習しました。次のチャプターではプロキシサーバーについて学習しましょう。

Lesson 3
Chapter 5
プロキシサーバー
このchapterでは、プロキシサーバーについて学んでいきます。プロキシとは一体何なのでしょうか? プロキシとは英語で「proxy」と書き、日本語に訳すと「代理」や「代理人」のことを指します。 では、プロキシサーバーは何を代理するのでしょうか? プロキシサーバーはクライアントがインターネットへアクセスする際に、その通信を代理で行うサーバーです。
プロキシサーバーの役割
通信を代理してもらうことにより、どのようなメリットがあるのか確認していきましょう。
- 匿名性を高める
- 通信を一元的に管理できる
- キャッシュによる表示の高速化
- セキュリティを強化する
WebサイトにアクセスするとクライアントのIPアドレスがサイト運営側に渡ります。 しかし、プロキシサーバーを介してアクセスすることで、クライアントのIPアドレスではなくプロキシサーバーのIPアドレスが送信されるため、匿名性を高めることができます。 匿名性を高めることにより、悪意のあるサイトからの情報の搾取などのリスクを軽減することに繋がります。
企業がプロキシサーバーを利用するメリットとして、通信を一元的に管理できることがあります。 誰がどのサイトにアクセスしようとしていたのかを「アクセスログ」で確認できたり、業務に不要なサイトへのアクセスを制限したりすることなども可能です。
プロキシサーバーはアクセスしたサイトのファイルなどをキャッシュとして保存します。 とくに企業など複数人で使用する場合、誰かがアクセスしたサイトをキャッシュして、他の人が同じサイトにアクセスしようとしたときにキャッシュ情報を使用してサイトを表示することが可能です。 キャッシュ機能はインターネット回線を効率的に利用できるようになります。
Webサイトへのアクセスを制限する「URLフィルタリング」や、ウィルス対策の「アンチウィルス」など、セキュリティを強化することが可能です。
※セキュリティ対策としてのプロキシについてはレッスン4-2で詳しく解説します。
プロキシの種類
プロキシには目的に合わせて4種類のプロキシがあります。種類 | 特徴 |
---|---|
フォワードプロキシ | 主にクライアント側に設置され、クライアントPCからのアクセスを仲介します。 セキュリティを高める効果が期待できます。 |
リバースプロキシ | サーバー側に設置され、主にWebサーバーにアクセスしてくる通信を制御するために利用されます。 不正アクセスからサーバーを守ったり、アクセスが集中した場合に負荷分散を行う役割があります。 |
キャッシュサーバー | キャッシュサーバーにはWebサイトに設置されている動画や画像などのコンテンツを保持しておきます。 2回目以降に同じサイトへアクセスする際には、キャッシュサーバーからクライアントPCへサイト情報を返します。 |
通過型プロキシ | 通過型プロキシはネットワーク側で設定するプロキシです。 主に社内ネットワークの出入口に設置して、通信を一元的に管理する目的で利用されます。 |
サーバー側に設置する「リーバースプロキシ」の代表的なソフトウェアとして、Webサーバーでも登場した「Apache」と「Nginx」があります。
Apacheはモジュールを使ってプロキシ機能を有効化、Nginxは設定ファイルを作成することでプロキシ機能を利用することができます。
プロキシサーバーを利用する際の注意事項
プロキシサーバーには様々なメリットがありますが、利用する前に安全なプロキシサーバーなのか確認が必要です。 安全でないプロキシサーバーを利用してWebサイトにアクセスしてしまうと、IDやパスワードなどが抜き取られてしまう可能性もあります。 特に無料で利用できる公開プロキシサーバーには注意が必要です。 また、プロキシサーバーを経由して目的のWebサイトにアクセスするので、直接アクセスするよりも通信速度が低下するデメリットもあります。
このチャプターではプロキシサーバーを学習しました。次のチャプターではメールサーバーについて学習しましょう。

Lesson 3
Chapter 6
メールサーバー
メールサーバーとはメールの送受信を行うサーバーです。 郵便局が配送元からメールを受け取り、配送先へ届けるのと同じような役割を担います。 メールサーバーには、メールを送信するときに使用する「SMTPサーバー」と、受信のときに使用する「POP3サーバー」の2つがあります。 それぞれどのような役割なのかを学んでいきましょう。
SMTPサーバーの役割
SMTPサーバーとは「SMTP(Simple Mail Transfer Protocol)」というプロトコルを利用してメールを送信する役割のサーバーです。
SMTPサーバーがどのような処理を行っているのか、例として、社内ネットワークから宛先アドレス「xxx@example.co.jp」にメールを送信するときの一連の流れを見ていきましょう。
- メールを送信
- 宛先のドメイン名のSMTPサーバーを探す
- 宛先のSMTPサーバーにメールを送信
- 受信した宛先のSMTPサーバーはユーザーごとにメールを振り分ける
利用者がメールを送信すると、まず自社のSMTPサーバーにメールが届きます。
自社のSMTPサーバーがメールを受け取ると、宛先アドレスの「@」より後ろのドメイン名「example.co.jp」を見て、そのドメイン名のSMTPサーバーを探します。
ドメイン名からSMTPサーバーを探すときは、チャプター4で学んだDNSを使用して名前解決を行います。そして見つかったIPアドレスのSMTPサーバーへメールを送信します。
メールを受け取った宛先のSMTPサーバーは、宛先アドレスの「@」マークより前のユーザー名「xxx」を見て、ユーザーごとに用意されているメールボックスにメールデータを格納します。
ここまでがSMTPサーバーの役割で、ここから宛先のユーザーにメールを届けるのは「POP3サーバー」の役割になります。
POP3サーバーの役割
POP3サーバーとは「POP3(Post Office Protocol version 3)」というプロトコルを使用してメールデータを転送するサーバーです。
受信側のユーザーが、メールを受け取れる状態のときにメールを転送する役割を担います。
先ほどのSMTPサーバーからの例の続きを確認しましょう。
- メールソフトを起動してPOP3の認証を行う
- メールボックスに届いているメールをコピー
- メールを転送
受信者は、メールソフトを起動して、あらかじめPOP3の認証情報を入力しておきます。 これにより、任意のタイミングでメール受信をリクエストしたり、メールソフトが自動で新しいメールが届いているか確認できます。
POP3の認証に成功していると、メールボックスに届いているメールをコピーして受信者のPCに転送します。
SMTPがデータを送信したいときに送信する「プッシュ型」のプロトコルなのに対し、POP3はデータを受け取れるときにだけ受け取る「プル型」のプロトコルです。
なぜこのような違いがあるのでしょうか?
メールを受け取る側のユーザーは、いつメールが届くのか分かりません。PCの電源がオフの場合もあります。
もし、SMTPだけでメール送信が完了してしまうと、PCの電源がオフのときに届いたメールを受け取ることができません。
このような状態を防ぐために、プッシュ型で送信したメールを、プル型で受け取る仕組みになっています。
では、メール送信から受信までの一連の流れを図で確認しましょう。
SMTPサーバーのセキュリティ対策
SMTPサーバーは通常、認証機能を持っていないため、他のユーザーになりすましてメールを送信することが出来てしまいます。 この問題を防止するために「SMTP AUTH(SMTP認証)」と「POP before SMTP」があります。
- SMTP AUTH
- POP before SMTP
SMTP AUTH(SMTP Authentication)とは、メールを送信する前にユーザーIDとパスワードで認証します。 メールを送信する前に認証することにより、広告メールやウィルスメールなどの無差別な迷惑メールの送信を規制します。
メールを送信する前にPOP3サーバーで認証を行います。認証が成功したら、一定時間だけそのユーザーからのメールをSMTPサーバーから送信することを許可します。 これにより、メールサーバーは常に認証されたメールだけを送信することになり、不正なメール送信を規制します。
POP3サーバーのセキュリティ対策
POP3サーバーは、メールソフトから受け取ったユーザーIDとパスワードで認証します。認証に成功するとメールデータを転送します。 しかし、POP3はパスワードの暗号化機能を備えていないため、通信中のどこかで盗聴される危険性もあります。 この問題に対応するために「APOP(Authenticated Post Office Protocol)」と「POP3S(POP over SSL)」があります。
- APOP
- POP3S
APOP(Authenticated Post Office Protocol)とは、POP3の認証にパスワードの暗号化機能を追加したプロトコルです。 ただし、APOPではメール本文を暗号化する機能はないため、より安全なPOP3Sなどを使用することが推奨されています。
POP3S(POP3 over SSL/TLS)とは、SSLを使用して、POP3の認証情報とメール本文を両方とも暗号化する機能を持つプロトコルです。
※TLSは、SSLの名称が変更になり現在のバージョンでは「TLS」に変わっています。
ですが、SSLの名称が広く定着しているため「SSL/TLS」などと併記することが多いです。
メールサーバーの種類
メールサーバーの機能を提供するソフトウェアを「MTA(mail transfer agent)」と呼びます。 以下の表で、代表的な種類をご紹介します。
名称 | 特徴 |
---|---|
sendmail |
長い歴史を持つMTA。考えられる機能のほぼすべての機能が盛り込まれている。 いろいろな機能をあとから追加していったことにより、設定が難しいという問題が発生。 |
qmail |
sendmailの悪い点を改善する目的で作成されたMTA。 設定ファイルが簡潔・容易で管理しやすい。セキュリティや処理能力が高い。 「Maildir形式」という1通のメールを1つのファイルで保管する形式を採用。 |
Postfix |
sendmailとの互換性の高さが特徴。 qmailの「Maildir形式」を採用し、sendmailやqmailのいいとこ取りの設計。 |
Exchange Server |
Windows Serverで動作するメールサーバーとしての機能も持つソフトウェア。 Active Directoryのアカウントを一元管理できて、Active Directoryで作成したユーザーは自動的にメールが使用可能。 |
メールはSMTPでメールボックスに届けられ、POP3でメールボックスから取り出す仕組みになっているので、一般的にSMTPサーバーとPOP3サーバーが1台のサーバーにインストールされています。
このチャプターではメールサーバーを学習しました。次のチャプターではFTPサーバーについて学習しましょう。

Lesson 3
Chapter 7
FTPサーバー
FTPサーバーはサーバーとクライアント間でファイルの送受信を行うサーバーです。 Webサーバーに、作成したHTMLファイルをアップロードしたり、更新したりするときにもよく使用されています。 このチャプターでは、FTPサーバーについて学習しましょう。
FTPとは
FTP(File Transfer Protocol)とは、サーバーとクライアントの間でファイル転送を行う際に必要なプロトコルです。
Webサーバーにファイルを送受信するほかにも、不特定多数の人にファイルを配布したりすることも可能です。
FTP通信を行うためには、クライアントとサーバーの両者にソフトウェアのインストールが必要です。
ファイル転送の仕組み
FTPを利用してファイル転送を行う場合、FTPサーバーとFTPクライアントの間でコネクションを構築してファイルの転送を行います。
コネクションには制御用と転送用の2つのコネクションを使用します。
- コントロールコネクション
- データコネクション
制御用のコネクションで、認証機能やコマンドの制御を行います。
データを送受信するコネクションです。
この中でも特にコントロールコネクションの「認証機能」が重要です。 認証を行うことで、ユーザーごとにファイルを保管するスペースを分けて、別のユーザーのファイルを見えないようにしたり、ユーザーごとに読み取り・書き込みのアクセス権限を付与したりすることができます。
anonymous FTP(匿名FTP)
通常FTPを利用するには予め利用者登録を行い、認証情報を取得して、FTPサーバーに接続する際にユーザーIDとパスワードを入力する必要があります。
それとは別に、利用者登録をおこなっていないユーザーでも自由に接続できる「anonymous FTP」という機能もあります。
FTPサーバーで「anonymous FTP」を有効にすると、ユーザーは「anonymous」というユーザーIDと任意のパスワード(一般的にはメールアドレスを使用)で、FTPサーバーに接続することが可能になります。
この機能は、不特定多数のユーザーにプログラムやデータを配布したい場合などに利用されています。
FTPサーバーの種類
FTPサーバーの代表的なソフトウェアを確認しましょう。
名称 | 特徴 |
---|---|
vsFTPD |
セキュリティが高く、安定性に優れている。 無償で利用可能。高機能ではないが軽くて高速。 |
ProFTPD |
単独のデーモン(常駐プログラム)として動作。 セキュリティが高い。 |
IIS | Windows環境ではIISに機能を組み込むことでFTPサーバーとしても動作。 |
クライアント側にインストールする代表的なソフトウェアに「FFFTP」や「NextFTP」などがあります。 また、WebブラウザでもFTPを利用することができます。 Webブラウザで利用する場合、アドレスバーに「ftp://」から始まるアドレスを入力すると、FTPサーバーとやり取りすることが可能です。
暗号化
FTPは認証機能を備えていますが、データの暗号化機能は備えていません。そのため、転送されるデータは丸裸の状態でネットワークを流れます。
セキュリティを考慮したい場合
・「FTPS(FTP over SSL)」FTPをSSLで暗号化したプロトコル
・「SFTP(SSH File Transfer Protocol)」FTPをSSHで暗号化したプロトコル
など、別のプロトコルへの移行が必要です。
このチャプターではFTPサーバーについて学習しました。次のチャプターではNTPサーバーについて学習します。

Lesson 3
Chapter 8
NTPサーバー
NTPサーバーは、ネットワーク上のあらゆる機器に時刻を配信するサーバーです。
トラブルが発生したときに最も重要になる情報が時刻です。
サーバーやネットワーク機器の時刻がずれていると、発生した事象を時系列に並べることができず、情報を整理できなくなってしまいます。
NTPを有効化しておくことで、NTPサーバーと自動で通信して時刻が同期されるようになります。
NTPとは
NTP(Network Time Protocol)とは、ネットワークに接続されたコンピュータや各種機器の時刻同期に使用されるプロトコルです。
クライアントからの「今、何時ですか?」という問い合わせに対して、「今、〇〇時です」という時刻を返します。
また、信頼性よりも即時性が必要なため、TCPより高速に転送できるUDP【ポート番号:123番】を使用しています。
ポート番号:123番は「ウェルノウンポート(システムポート)」と呼ばれる、特定のサービスやプロトコルが利用する固定のポートの1つです。
NTPの階層構造
NTPサーバーは「Stratum(ストレイタム)」という値を使用した階層構造になっています。
原子時計やGPSなどの正確な時刻源を「Stratum0」と定義して、この時計と物理的に直結しているNTPサーバーが「Stratum1」になります。Stratum1のNTPサーバーを「Primaryサーバー」と呼びます。
Primaryサーバーから階層を下るごとに「Stratum2」「Stratum3」…と数字が大きくなり、16以上は信頼できない時刻ソースとされ利用できません。
NTPクライアントは、受信した時刻でそのまま同期せず、NTPサーバーとの往復の通信時間を計算して時刻を補正する仕組みになっています。
公開NTPサーバー
NTPで時刻同期するときは、公開しているNTPサーバーに接続します。上位層のStratumの方が正確な時刻を持っているので、なるべく上位層のStratumでネットワークの距離が近いNTPサーバーを選ぶのが良いとされています。
NTPサーバーの種類
NTPサーバーで代表的なソフトウェアはUNIX系OSの「ntpd」「chrony」、Windows系OSの「w32time(Windows Time サービス)」があります。 大本の時刻源になるのは、研究機関などで運用されている原子時計などに接続されたコンピュータだけなので、NTPソフトウェアのほとんどはサーバー側・クライアント側両方の機能を持ち合わせています。 NTPサーバーを設置したい場合は、対象コンピュータの設定を変更することで設置可能です。
このチャプターではNTPサーバーについて学習しました。次のチャプターではファイルサーバーについて学習します。

Lesson 3
Chapter 9
ファイルサーバー
ファイルサーバーとは、ネットワーク上で別のコンピュータとファイルを共有したり、データをやり取りするために使用するサーバーです。
ファイルサーバーを使用することで、複数のクライアントが1つのファイルを扱うときに発生する恐れのある「更新の不整合」を妨げるだけでなく、社内におけるファイルの展開や共有をスムーズに行うことができるようになります。
アクセス権
ファイルサーバーを利用するにあたって重要な設定の1つがアクセス権です。
アクセス権を設定しない場合、誰でも社内の内部情報や機密文書を閲覧できてしまいます。また、意図的ではなくとも重要な文書を変更・削除してしまう可能性があります。
このようなことを防ぐためにアクセス権を設定します。
アクセス権には次の3つの種類があります。アクセス権が許可されていない場合はアクセスすることができません。
種類 | アクセス権 |
---|---|
フルコントロール |
ファイルの読み取り(閲覧) ファイルの作成・上書き ファイルの削除 ファイル・フォルダの一覧表示 フォルダの作成・削除 ファイル・フォルダに対するアクセス権設定 |
変更 |
ファイルの読み取り(閲覧) ファイルの作成・上書き ファイルの削除 ファイル・フォルダの一覧表示 フォルダの作成・削除 |
読み取り |
ファイルの読み取り(閲覧) ファイル・フォルダの一覧表示 |
ファイルサーバーはActive Directoryなどのディレクトリサービスと連携することにより、個々のファイルやフォルダに対して、個人やグループごとにアクセス権を設定することができます。
NAS(Network Attached Storage)
NASは、ファイルサーバーの機能に特化したストレージです。 サーバー用のコンピュータを用意しなくても、LANケーブルで接続するだけでファイルサーバーとして利用できます。 そのためコストを抑えることができます。
ファイルサーバーの種類
Windows Serverでは、標準機能としてファイル共有サービスが利用できます。
UNIX系サーバーOSでは「Samba」があります。SambaはUNIX系コンピュータでWindowsのネットワーク機能を実現するソフトウェアです。
最新のSambaを導入すると、Windowsのファイルサーバーと同じ機能を利用できるだけでなく、Active Directoryも利用することも可能になります。
以上、本レッスンではサーバーの様々な機能を学習しました。
次のレッスンでは大切なデータを守るセキュリティについて学習していきましょう。
