技術要素 - 10.ネットワーク - 5.ネットワーク応用 - 1.インターネット

Last Update : April 15 2021 13:23:47

     

a. 電子メール

電子メールの送受信は、インターネット上の多くのメールサーバー(SMTPサーバー)が連携することによって動作している。

  1. 電子メールを送信すると、自分のパソコンから自分の所属しているネットワークのメールサーバーにデータが送られる。
  2. 電子メールを受け取ったメールサーバーは、宛先として指定されているサーバーを、インターネット上にあるDNSサーバーを利用して、IPアドレスを取得し、そのサーバーにデータを転送する。
  3. 電子メールを受け取ったサーバーは、受取人が電子メールを取りにくるまで、サーバー内にデータを保管するようになっている。
  4. 電子メールの受取人は、メールサーバーに自分宛ての電子メールを取りに行き、届けられた電子メールを受け取る。

一般的に電子メールの送信や他のサーバーへの転送にはSMTPサーバーが、電子メールの受信にはPOP3またはIMAP4サーバーが使用されている。



MIME 】(Multipurpose Internet Mail Extension)
インターネットの電子メールの規格を拡張して、さまざまな形式を扱えるようにした規格。もともとのインターネットの電子メールでは、米語(US-ASCII)の半角英数字しか扱えず、1行あたり1000文字までという制限がある。そのため、漢字などの2バイト文字や、画像、音声といったバイナリーデータ(添付ファイル)を扱えるように考案された方式。
MIMEでは、BASE64やQuoted-Printableという方法でメールの内容をテキスト(英数字)データに変換する。メールのヘッダーに変換方法や含まれるデータのタイプを記述し、受信側はその情報に基づいてメールの内容を作成時の状態に復元する。MIMEを使うことで、従来からある電子メールのプロトコルや稼働中のサーバーソフトを変更することなく、電子メールの仕様を拡張できる。

  • Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。MIMEによって規定されていて、7ビットのデータしか扱うことの出来ない電子メールにて広く利用されている。具体的には、A–Z, a–z, 0–9 までの62文字と、記号2つ (+ , /) 、さらにパディング(余った部分を詰める)のための記号として = が用いられる。この変換によって、データ量は4/3(約133%)になる[1]。また、MIMEの基準では76文字ごとに改行コードが入るため、この分の2バイトを計算に入れるとデータ量は約137%となる。
  • Quoted-printable(QP encodingとも呼ばれる)は、印字可能な文字(例えば、英数字や等号「=」)を使用した符号化方式であり、8ビットデータを7ビットデータパスで転送するためのものである。インターネット電子メールで使用できるようにするため、Content-Transfer-Encoding として定義されている。
    入力文字列のほとんどがASCII文字である場合は、Quoted-printableで符号化した結果をほとんどそのまま読むことができ、データサイズも小さくなる。

SPF 】(Sender Policy Framework)
メールの送信元アドレスの偽装を防止する技術。電子メールにおける送信ドメイン認証のひとつ。差出人のメールアドレスが他のドメインになりすましていないかどうかを検出することができる。 SPF もしくは SPF認証 とも呼ばれる。
無差別に大量に送られる広告メール(SPAMメール)の抑止につながるとして期待されている。
インターネット上の電子メールに用いられる「SMTP」は、差出人のメールアドレスを誰でも自由に名乗ることができる。これにより、迷惑メール送信者、いわゆる「スパマー」による差出人アドレスの詐称が世界各地で行われ、広告メール(SPAMメール)が利用者を悩ませてきた。
あるドメインのメールを送信することができる正規のサーバのIPアドレスをリストして管理する。そのドメインと無関係なメールサーバを利用して送信元を偽ったメールを送信しようとすると、受信側でそのことを検出して自動的に受け取りを拒否することができる。これにより、SPAM業者が大手プロバイダなどの有名なドメイン名を含むメールアドレスを利用することを防ぐことができるようになる。ただし、多くの企業やプロバイダが参加しなければ効果が上がらず、また、SPFが行うのは「差出人アドレスに記載されたドメイン名を読みとり、正しいメールサーバから送信されているかどうかを検出すること」だけなので、SPAM業者が自前ドメインのメールを送信することは防げない。その場合は、受け取りを拒否するドメインのブラックリストを用意するなど、別の対策を併用する必要がある。

メールを受信するメールサーバーが,メール受信時に送信元が正しいかを確認してから受け取るその他の仕組みとして、DKIMとS25Rがあります。


DKIM(domain keys identified mail)
DKIMは、受信メールサーバーが電子署名の仕組みを利用して送信元を確認する仕組みです。
メール送信時に送信側のメールサーバーで、秘密鍵によってメールのヘッダーと本文から、生成した署名情報を送信メールのヘッダに記述し、送信します。
この秘密鍵に対応した公開鍵を、送信元のDNSへ登録しておきます。
そのメールの受信時、受信側メールサーバーは、送信元ドメインのDNSサーバー上に公開されている公開鍵を取得し、電子署名が正規なものかどうかを判定しています。
これによりメールの送信者(ドメイン)とメール本文の正当性(途中経路で改ざんされていないこと)の両方を確認できます。


S25R(selective SMTP Rejection)
受信メールサーバーが、メール中継サーバからのSMTPアクセスは受け入れるが、エンドユーザーコンピュータから直接のSMTPアクセスは拒否する方式。

スパムのほとんどは、実際の送信者を偽装するため、ADSLやケーブルネットワークなどのエンドユーザー用回線につながっている、ボットに感染したエンドユーザーコンピュータから直接送られてきます。
よって、SMTPアクセスをかけてきたクライアントがメール中継サーバかエンドユーザーコンピュータかを判別し、スパムを送ろうとするコンピュータからのSMTP接続そのものを拒否します。

拒否ルールの判断は、逆引きができるかどうかで判断します。
正しいメール中継サーバのほとんどは、逆引きで得られるFQDNを設定されています。IPアドレスから逆引きを試みて、FQDNが帰ってくれば正しいメール中継サーバーと判断できます。FQDNを持たなければ、ダイヤルアップ、ADSL、ケーブルネットワークなどのエンドユーザー用回線であることが多い。
したがって、逆引きFQDNのないIPアドレスからのSMTPアクセスは、少しの例外を除いて拒否してもかまいません。

S25Rは、SMTP接続を拒否するためのルールです。しかし、実際に拒否してしまうと、不都合なこともあります。S25Rに引っかかったサーバーからの送信が、必ずしもスパムというわけではないので、ホワイトリスト以外の救済策がないと、かなり極端な運用方法になってしまいます。
そこでGreylistを併用します。Greylistingとは、SMTP接続をしてきた相手サーバーに対しTemporary Error(450)の応答を返し、リトライを促す運用方法です。
これは相手がまともなサーバーなら一定時間後にきちんとリトライをしてくれるが、スパム用のサーバーならすぐに諦めてしまうことも多い、という経験則に基づいています。これをS25Rに引っかかった相手サーバーに対してのみ適用します。

これにより、次のような運用方法が実現します。

  1. SMTP接続を受けた時、ホストを逆引きし、S25Rのパターンマッチングにかける
  2. S25Rにかからなかったら、SMTP接続を受けつけ、そのままメールを受け取る
  3. S25Rにかかったら、Temporary Errorの応答を返し、リトライを促す
  4. あまりに短い時間で送信を繰り返したサーバーには、再度Temporary Errorを返す。
  5. 一定時間後に再接続して来たものに関しては接続を受け付ける

S25RにかかったサーバーのみをGreylistingすることにより、善良と思われるサーバーからのメールは遅延せず、また、仮にS25Rにかかったとしても、その後のリトライが通常通りなら、一定時間の遅延のみで受け取ることができます。

Greylisting(グレイリスティング)方式
Greylisting方式は、無条件にメールの配送を拒否するBlacklist(ブラックリスト)、無条件に配送を許可するWhitelist(ホワイトリスト)に加えて、判断保留用のGreylist(グレイリスト)を用いる方式です。
この方式では、初めてメールを送信してくるサーバに対して、Temporary Error(450)の応答を返してリトライを促し、一時的な配送拒否を行うとともにGreylistに登録します。
電子メールサーバの規格では、一時的な拒否の際には、ある程度時間を空けて再配送する事が求められており、規格に沿ったメールサーバソフトであれば一般的に15分前後の間を置いて再配送を試みるはずです。
こうして、Greylistに載っているサーバが、通常のメールサーバーであれば、5分以上間を空けて再度メールの送信を試みます。その場合に、初めてメールの配送を許可します。
迷惑メールの送信に利用されるツールは、短時間に大量のメールを捌くため、一時拒否に対して再配送を試みなかったり、一時拒否されると即座に再配送を行うような動きをするものが多く、こうしたメールの大量送信用ツールから送られる迷惑メールを受信前に遮断することが可能です。
また、頻繁にメールをやりとりするメールサーバは、自動的にホワイトリストに登録され、一定期間(現状は35日)は無条件で配送が許可されるようになります。

OP25B 】(Outbound Port 25 Blocking)
ネットワークの境界にあるルータなどの機器で、ネットワーク内から外部のコンピュータのTCPポート25番への通信を禁止すること。
ISPが自社網内のユーザが撒き散らす迷惑メールを封じ込めることを目的として、自社網の動的IPアドレスのホストが網外の SMTPサーバに向けて25番ポートからメールを直送する処理を規制する技術である。
25番ポートはメールの送信に使うSMTPが利用するポートで、これを塞ぐことでメールの送信ができなくなる。
会員がISPのメールサーバでスパムメールを送信しようとする場合は、これを個別に遮断したり会員を退会処分にしたりすることができるが、外部のメールサーバを利用されるとこうした措置を取ることができない。そこで、ネットワークの境界で外部のSMTPサーバへの通信を遮断することにより、会員のコンピュータが外部のメールサーバを利用してスパムメールなどを送ることを根こそぎ防ぐことができる。あくまで外部サーバへの通信を遮断するだけで自ネットワーク内にあるメールサーバへの通信は可能なため、ISPのメールサーバを利用した通常のメールの送受信は影響を受けない。


b. Web

www上のドキュメント(ウェブページ)にアクセスするには、URLを直接指定する、または他のウェブページからハイパーリンクをたどる必要があります。
文書の所在であるURLを指定すると、まずはDNSを通じてウェブサーバーが指定され、HTTPスキームを使用してアクセスされます。
次にブラウザから指定(リクエスト)された文書とそれを補完する要素(CSS、画像、スクリプト言語等)のデータがウェブサーバーからウェブブラウザに送信され、視覚的に表示されます。
指定されたURLがサーバーサイドで動作するプログラムの場合、ウェブサーバー上で一連の処理を終えた結果がウェブブラウザに送信され、表示されることになります。
通信速度が十分でない場合、読み込む文書や画像のファイルサイズが大きい場合やプログラムの処理が複雑な場合は、ウェブブラウザがウェブサーバーにリクエストをしてから表示されるまで時間がかかる場合があり、これを一般に「重たい」と表現します。

  1. URLを指定
  2. DNSによるサーバー指定
  3. 目的のファイルにサーバーサイドプログラムが組み込まれている場合、サーバーで必要な処理をする
  4. ファイルのデータをブラウザへ送信する
  5. ブラウザがユーザーサイドスクリプトの処理をする
  6. ブラウザに表示される

cookie
cookieは、ブラウザに一時的に保存される情報で、Webページを取得する際にサーバー側からヘッダー情報として送信される。また、サーバーはそのクッキー情報にアクセスすることができる。最終訪問日やアクセス数などの情報以外にも、PHPではセッションIDや、自動ログインの仕組みに使用される。
ひとつのCookie機能が記録できる情報は、データが最大4096バイトまで、エントリーが最大300までとなっている。ひとつのコンピュータに対して同じサーバーが付与することのできるCookieは20個までである。20個それぞれに有効期限を設けることが可能である。

CGI 】(Common Gateway Interface)
ウェブサーバ上でユーザプログラムを動作させるための仕組み。
CGIプログラムは、ブラウザ等から得られた情報などをもとにプログラムを実行して、再びブラウザに返すという働きをします。

Web ビーコン
Webビーコンとは、WebページやHTML形式の電子メールに埋め込まれた非常に小さなサイズの画像データのこと。Webページを閲覧したり、メールをプレビューしたりすると、画像ファイルを取得するためにWebサーバーへのアクセスが発生するため、そのサーバーでアクセスが把握できる。

セッションID
セッションを簡単に説明すると「サーバ内に情報を保存し、複数ページ間で共有する」仕組みのことです。
Webアプリケーションを使ってセッションを利用すると、自動的にセッションIDと呼ばれる一意のIDが発行されます。このセッションIDはセッションに登録されたデータに紐付けられるとともに、クッキーに保存されます。セッションIDが登録されたブラウザは、Webアプリケーションにアクセスする際にセッションIDを送信するため、サーバ側ではこのIDを確認することで一連のアクセスであることが認識できるようになります。

HTTPS
httpでやり取りされるデータは第三者が閲覧したり改ざんしたりすることができます。そこでデータを暗号化し、第三者から保護する目的でhttpsが開発されました。
httpsはSSL/TSLという技術で送受信される情報に鍵をかけ、サーバーとクライアントだけに配布します。そのために必要なのが「SSLサーバー証明書(SSL証明書)」。SSL証明書を発行し、サイトのサーバーにインストールすることでhttps化が行えます。

クライアントとウェブサーバの間では、下記の手順1~4および図 1 のようなやり取りが行われます。

  1. クライアントがセキュアなウェブサイト(https:// ~)へアク セスし、SSL 暗号化通信で接続を要求します。このときクライ アントは、自身が使用可能な暗号化の仕様(暗号方式、鍵長、 圧縮方式)をウェブサーバへ伝えます。ウェブサーバは、クラ イアントから提示された暗号化使用から実際に利用するものを 選択して、クライアントへ通知します。
  2. ウェブサーバは、自分の身分を証明する SSL サーバ証明書を クライアントへ送ります。クライアントは SSL サーバ証明書を 受け取り、クライアントに「信頼される認証局」としてあらかじ め登録されている認証局(CA)の証明書(これをルート証明 書と呼ぶ)を用いて SSL サーバ証明書の署名検証を行います。 またクライアントは、SSL サーバ証明書からウェブサーバの公 開鍵を取得します。
  3. 正しくルート証明書へのチェーンを辿って署名検証が完了する と、クライアントはウェブサーバの公開鍵を用いてプリマスタ シークレット(共通鍵を生成する基となる乱数データ)を暗号 化し、ウェブサーバへ送付します。ウェブサーバは自分の秘密 鍵を用いて、プリマスタシークレットを復号します。
  4. 3で共有されたプリマスタシークレットを基にクライアントと ウェブサーバで同じ共通鍵を生成および共有し、以降のセッショ ンではこの共通鍵を用いて暗号化・復号して通信を行います。

c. ファイル転送(FTP)

FTP(File Transfer Protocol)は、インターネット上のファイルを送受信するためのプロトコル。
FTPサーバーに接続することで、特定の場所にあるファイルをダウンロードしたり、特定の場所にファイルをアップロードしたりすることができる。
FTPの特徴は,転送するファイルに制約がないことで,テキストデータもバイナリデータも元のまま転送できる。

サーバで提供するサービスの中で 2 つのポートを標準で用いるサービスは、FTP だけである。FTP では、制御用のポートと実際のデータを転送するポートの 2 つを用いる。クライアントから FTP サーバに対して要求があった場合は、21番ポートの制御用のポートでTCPコネクションをオープンしコマンドのやり取りを行い、その後、データ転送用のポートを用いてファイル転送を行う。標準のサーバでは、制御用ポートに 21 番ポートを割り当て、データ転送用ポートに 20 番を割り当てることになっている。これらのポートは Well-known ポート含まれ、設定をむやみに変えてしまうことは原則として許可されていない。 FTP によるデータ転送モードには、2 種類存在する。データ転送用コネクションをどちらからオープンするかで種類がある。

  • アクティブモード
    アクティブモードでは、通常の制御用ポート、データ送信用ポートを利用しサーバからクライアントに対してコネクションを張る転送モードである。
    1. クライアントから FTP サーバの 21 番ポートに対してセッション要求を送信し、セッションを確立し、ログインする。
    2. クライアントからファイル転送要求を送信し、サーバから許可が与えられる。
    3. クライアントは、自分が使っているポート番号をサーバに送信し、制御用ポートでの通信が終了する。
    4. サーバは、クライアントから得たポート番号にデータ送信ポート 20 番を使ってセッションを確立する。
    5. サーバは要求されたファイルを転送し、セッションを閉じる。
    サーバからコネクションを張りに行くこの方法では、第三者による「なりすまし」が可能であり、必ずしも安全ではない。また、NAT を用いて複数のコンピュータを 1 つに見せかけている場合や、ルータなどでパケットフィルタリングなどを行いセキュリティを確保している場合はこのモードによるファイル転送が不可能となる。

  • パッシブモード
    パッシブモードは、クライアント側からコネクションを張りに行くのでアクティブモードのような危険性が少なく、現在一般的に用いられる転送方法である。この方法は、インターネットをするときに用いているブラウザでも取り入れられている。
    1. クライアントから FTP サーバの 21 番ポートに対してセッション要求を送信し、セッションを確立し、ログインする。
    2. クライアントからファイル転送要求を送信し、サーバから許可が与えられる。
    3. サーバは任意に決めたデータ転送ポート番号をクライアントに送信しセッションを閉じる。
    4. クライアントは、サーバから得たポート番号に対してコネクションを張る。
    5. サーバは要求されたファイルを転送し、セッションを閉じる。

FTPでは、データ転送用コネクションが確立されるのが必ずしもFTPサーバとFTPコマンドを起動した端末との間である必要はない。他の2つの端末間でのファイル転送を別の端末のFTPにて行うことも可能(1つのFTPクライアントから同時に2つのFTPサーバに接続し、2つのFTPサーバ間でファイルを転送する場合に、片方のサーバをPORTでオープンし、もう片方をPASVでオープンする)。ただし、そのためにはその2端末に適応したユーザであることと、送信元ファイルと受信先ディレクトリへのアクセス権が必要となる。その際、自端末と他の2端末の間に制御コネクションが開かれ、他の2端末間にデータ転送用コネクションが開かれることとなる。これを第三者転送と言う。


d. 検索エンジン

WWWでは、インターネット上のWWWサーバーから情報を閲覧することができるが、ほしい情報のWWWサーバーのURLがわからなければ、情報にたどり着くことができない。
そのため、WWWサーバーにどのような情報が保存されているのかキーワードなどで検索するための仕組みが必要である。
インターネット上の多くのWWWサーバーの情報を入手しておき、キーワードなどで検索し、キーワードに一致するWWWサーバーのURLを教えてくれる仕組みが検索エンジンである。
検索エンジンの種類には、ディレクトリ型・ロボット型・全文検索型の3つがある。

  • ディレクトリ型
    Webページのタイトルや内容をカテゴリ別に登録しておき、調べたいときには、そのカテゴリをたどっていくことで目的のサーバーにたどり着くようになっている。
  • ロボット型
    検索ロボットと呼ばれるプログラムを使用し、インターネット上のWWWサーバーの情報を自動的に収集し、キーワード登録してある。
  • 全文検索型
    Webページのすべてのデータから収集したデータを登録しておき、検索時にキーワードと一致するか検索する仕組み。

【 ウェブ スクレイピング 】
WebサイトからWebページのHTMLデータを収集して、特定のデータを抽出、整形し直すことである。
ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。ウェブ・クローラーあるいはウェブ・スパイダーとも呼ばれる。


  [ 例題 ] 
  1. 平成30年度秋期 問34  電子メール
  2. 平成27年度春期 問35  電子メール MIME
  3. 平成26年度春期 問33  プロトコル
  4. 平成25年度秋期 問36  プロトコル MIME
  5. 平成23年度秋期 問44  電子メール セキュリティ対策
  6. 平成22年度秋期 問41  電子メール
  7. 平成21年度春期 問42  Webビーコン
  8. 平成21年度秋期 問38  プロトコル
  9. 平成19年度春期 問67  Webビーコン
  10. 平成19年度秋期 問36  cookie


     

www.it-shikaku.jp