ドットコムマスター ★★ Chapter2


公式テキストの内容をまとめています!!

3.1.1 ルータの設定時に必要となる知識

この章は、3章の復習のような内容でたいしたことはありません。グローバルIPアドレス、サブネットマスクの意味、ルーティングの動作についてまた再び記述されています。

グローバルIPアドレスについて詳しくはこちら↓
グローバルアドレスとプライベートアドレス

サブネットマスクについて詳しくはこちら↓
サブネットマスク

ルーティングについてはこちら↓
ルータ(ルーティング概要)




3.1.2 ルータの付加機能に関する知識

通常、企業内のネットワークにはプライベートIPアドレスが使われることが多いです。しかし、プライベートIPアドレスではインターネットにアクセスすることができません。そのため、プライベートIPアドレスからインターネットにアクセスすることができるグローバルIPアドレスに変換する必要があります。
その変換技術を指して、
NAT(Network Address Translation)やIPマスカレードという用語があります。

NATは、1つのプライベートIPアドレスに対して、1つのグローバルIPアドレスを対応付けて変換を行います。同時に複数のコンピュータがインターネットにアクセスするためには、その数だけグローバルIPアドレスが必要となります。

IPマスカレードとは、TCP/UDPポート番号も変換することによって複数のプライベートIPアドレスと1つのグローバルIPアドレスの対応付けを行うことができます。IPマスカレードを利用すると、複数のコンピュータが同時にインターネットにアクセスするときでも、必要なグローバルIPアドレスは1つで十分です。

NATについて詳しくはこちら↓
ルータ(アドレス変換 NAT)

IPマスカレードについて詳しくはこちら↓
ルータ(アドレス変換 IPマスカレード)

最近、ブロードバンドアクセスが普及しつつあり、ブロードバンドルータを利用している方も多くいらっしゃると思います。
ブロードバンドルータには、ほぼ間違いなく、このIPマスカレードの機能が備わっていますが、各メーカによって用語が異なることがあります。
単純に「NAT」といって、IPマスカレードの機能を指していることもありますし、「NAT+」「NAPT」「マルチNAT」という用語でIPマスカレードのことを意味しているということがあります。
公式テキストでは、きちんと使い分けられているので、テストでもし出題されるとしたら本来の意味で考える必要があると思います。


あと、ちょっと実用上での注意事項です。NATやIPマスカレードのようなアドレス変換技術を利用すると、インターネットからプライベートIPアドレスのLAN内にある特定のホストと通信することができません。そのため、インスタントメッセージなどのピアツーピア型のアプリケーションがうまく動作しないことがあります。
また、FTPなどのアプリケーションデータの中にIPアドレスの情報などを埋め込むアプリケーションでも、うまく動作しなくなるので注意が必要です。



3.2.2 サーバアプリケーション

DNSサーバアプリケーションとして、デファクトスタンダードになっているBINDの設定について説明されています。BINDの入手方法は、多くkのUNIXシステムにデフォルトでインストールされています。
設定方法に関するファイルは次の通りです。

ゾーンファイル
リバースファイル
ループバックファイル
ルートキャッシュファイル
コンフィグレーションファイル


これらのファイルを変更した場合には、BINDを再起動しなければいけません。

【ゾーンファイル】
ゾーンフィルはホスト名からIPアドレスを検索する正引きで利用します。サンプルは、次の通りです。


      example.co.jp. IN  SOA ns.example.co.jp. postmaster.example.co.jp. (
      2000122401  ;Serial
      10800       ;Refresh
      3600        ;Retry
      604800      ;Expire
      86400 )     ;Minimum TTL
      ; Authoritative Name Servers
      example.co.jp.                IN      NS      ns.example.co.jp.
      example.co.jp.                IN      NS      ns-sub.example.co.jp.
      ; Mail eXchanger
      example.co.jp                 IN      MX 10   ns.example.co.jp
      ; Hosts
      sun.example.co.jp.            IN      A       192.168.1.82
      mercury.example.co.jp.        IN      A       192.168.1.83
      vinus.example.co.jp.          IN      A       192.168.1.84
      earth.example.co.jp.          IN      A       192.168.1.85
      mail.example.co.jp.           IN      CNAME   ns.example.co.jp.
      ; Localhost
      localhost.example.co.jp.      IN      A       127.0.0.1
      

SOAレコード 最初に記述するレコードです。シリアル番号や、リフレッシュ間隔、TTLなどを設定します。
NSレコード NSレコードは、ドメインのネームサーバを指定します。この例では、2つのネームサーバ(プライマリとセカンダリ)を指定しています。
MXレコード MXレコードはメールサーバを指定します。後ろの数字によって、複数のメールサーバが存在するときの優先度を表します。数字が小さい方が優先されます。
Aレコード A(Address)レコードは、ホスト名に対するIPアドレスの対応付けです。
CNAMEレコード ホストに別名をつけるためのものです。この例では、"mail.example.co.jp"という別名が"ns.example.co.jp"につけられています。



【リバースファイル】
IPアドレスからホスト名を検索する逆引きに利用します。

      0.168.192.in-addr.arpa. IN  SOA ns.example.co.jp. postmaster.example.co.jp. (
      2000122401  ;Serial
      10800       ;Refresh
      3600        ;Retry
      604800      ;Expire
      86400 )     ;Minimum TTL
      
      ; Authoritative Name Servers
      0.168.192.in-addr.arpa.       IN      NS      ns.example.co.jp.
      0.168.192.in-addr.arpa.       IN      NS      ns-sub.example.co.jp.
      ; Hosts
      20.168.192.in-addr.arpa.      IN      PTR     ns.example.co.jp.
      30.168.192.in-addr.arpa.      IN      PTR     www.example.co.jp.
      

SOAレコード ゾーンファイルと同じ意味を持ちます。
NSレコード ドメインのネームサーバを指定するレコードです。
PTRレコード PTRレコードは、ホスト名とIPアドレスの対応付けを記述しています。



【ループバックファイル】
自分自身を定義するファイルです。

      0.0.127.in-addr.arpa. IN  SOA ns.example.co.jp. postmaster.example.co.jp. (
      2000122401  ;Serial
      10800       ;Refresh
      3600        ;Retry
      604800      ;Expire
      86400 )     ;Minimum TTL
      
      0.0.127..in-addr.arpa.       IN      NS      ns-sub.example.co.jp.
      1.0.0.127..in-addr.arpa.     IN      PTR     localhost.
      

【ルートキャッシュファイル】
世界中にあるルートネームサーバのIPアドレスを書き記したファイルです。ルートネームサーバはA〜Mの13台存在しています。

【コンフィグレーションファイル】
どの情報ファイルを参照するのか、どういった条件で参照可能にするのかといった情報が記述されています。


レコードが正しく登録されているかどうかの確認は、nslookupコマンドを使います。(※ただし、Windows98やMEでは使えません)


BINDの設定については、「@IT」の以下のリンクも大変参考になります。http://www.atmarkit.co.jp/flinux/rensai/bind02/bind02.html




3.2.3 DNSの拡張設定

組織が大きくなると必然的に、コンピュータの数も増え、ホスト名も増えていきます。増えてきたホスト名をひとつのドメインとして管理すると、更新作業が頻繁に発生するなど、効率が悪くなってしまいます。
そこで、管理の負荷を軽減するために既存のドメインの下にあらたにサブドメインを作成して、ホスト名の登録や管理などを運用を委任することがあります。このことを
「権限委譲」と呼んでいます。

名前解決の仕組み自体は、サブドメインがあってもなくても変わりません。自分が管理していないホスト名に対する要求がきた場合には、ルートから順番にたどっていくことになります。



3.2.4 セキュリティ対策


まず、第1のセキュリティ対策として、どのようなサーバアプリケーションでも同じことですが、発見されたセキュリティホールは必ずふさぐようにしましょう。
そのためには、管理者は常にセキュリティ情報をチェックして、
最新のパッチを適用しておかなければいけません。

そして、DNSでのセキュリティ対策としてゾーン転送の制限を行います。ゾーン転送とは、DNSサーバ同士でゾーンファイルを転送することを指しています。
ゾーン転送で、すべての情報を転送してしまうと知られたくない情報が漏洩してしまう可能性があるので、
セカンダリDNSサーバ以外にはゾーン転送を許さないような設定を行います。




3.3.1 メールサーバの役割と動作


電子メールのやり取りは、広く知られているように送信と受信で利用するプロトコルが異なります。

SMTP:メール送信
POP:メール受信


SMTPでメールを送りたい相手が利用しているメールサーバまで送信し、相手がメールサーバにログインして、自分宛てのメールをダウンロードすることによって最終的にメールが相手のもとに届けられるようになります。

電子メールについてくわしくはこちら↓
電子メール


SMTPの挙動は次のようになっています。

1.TCPコネクションの確立
2.HELLOの送信(クライアント→サーバ):ホスト名を知らせる
3.サーバはホストに対して何らかの制限事項があるかをチェック
4.MAIL FROMの送信
5.サーバは送信元に対して何らかの制限事項があるかをチェック
6.RCPT TOの送信
7.サーバは送信先に対して何らかの制限事項があるかをチェック
8.DATAの送信
9.サーバはメール本文を受け付ける体制に
10.メール本文と終了コマンドを送信
11.サーバはメールの受付を完了
12.QUITの送信
13.TCPコネクションの終了


POPの挙動は次のようになっています。

1.TCPコネクションの確立
2.ユーザ名の要求
3.ユーザ名の返答
4.パスワードの要求
5.パスワードの返答
6.サーバでパスワードの確認
7.STATの送信
8.サーバはユーザへ、届いているメールの数と未読メールの数、大きさを通知
9.LISTの送信
10.サーバは順番にクライアントにメールの番号とサイズを送信
11.RETRコマンド
12.サーバはメールサイズとともに要求されたメールを送る
13.クライアントはピリオドのみの行まで受信。サーバ上のメールを削除する
設定であれば、DELEコマンドを送信
14.サーバは以下同様の動作
15.クライアントも同様に受信
16.最後にQUITコマンド
17.TCPコネクションの終了




3.3.2 サーバアプリケーション

メールサーバのアプリケーションとして、
「Sendmail」「Qpopper」が有名です。どちらもUnixで動作するサーバアプリケーションですね。

Sendmail:Unix上で動作するSMTPサーバアプリケーション。http://www.sendmail.org/ から入手可能です。専用のインストールパッチコマンドが用意されていて、これを実行することによってインストールすることができます。
Sendmailの設定は、「sendmail.cf」という設定ファイルをカスタマイズして行います。これはいろんな設定ができるのですが、
「難しい」と有名ですね。


Qpopper:Unix上で動作するPOPサーバアプリケーション。Qpopperの一次配布先からダウンロードすることができます。Qpopperは「inetd」経由で起動するので、「inetd.conf」という設定ファイルを更新する必要があります。
インストールしたら設定を行います。ですが、設定する項目はほとんどありません。実際にメールクライアントでアクセスすることによって確認することができます。




3.3.3 メールサーバの拡張設定

メーリングリスト
読者の皆さんも、いくつかメーリングリストに入っている方もたくさんいると思います。(ちなみに、ぼくはB'zや情報処理試験のメーリングリストに入っています)
メーリングリストとは、
あらかじめ1つのメールアドレスに対して、複数のメールアドレスの関連付けています。その1つのメールアドレスにメールを送信することによって、同時に複数のアドレスに配信できることになります。

メーリングリストを実現するための、アプリケーションとして有名なものにUNIX用の「Majordomo」、Windows NT/2000用のExchange Serverの追加パッケージの「AutoDL」などがあります。
「Majordomo」では、ユーザの追加もユーザからのリクエストに従って、自動で行うことができます。



3.3.4 セキュリティ対策

メールサーバ、特にSMTPサーバを運用する上では
メールの不正中継を行わないように対策しておく必要があります。
もし、メールの不正中継に対して適切な対策を行っていないと、
スパムメールの中継に利用されてしまって、社会的な信用を失ってしまう恐れもあります。

メールの不正中継の対策は、難しいものではありません。単純に、
送信先もしくは送信元メールアドレスに自分のドメインが含まれているかどうかをチェックすればいいだけです。もしも自分のドメインが送信先もしくは送信元メールアドレスに含まれていないメールは、不正中継を狙ったものである可能性があります。そうしたメールを転送しないように設定を行えばいいです。

このような設定が正しく行われているかどうかを確認するために次のようなサイトがあります。

MTA configuration checkers


こういったサイトを利用すると不正中継の有無を簡単に確認することができます。

また、本来関連のないPOPとSMTPを関連付けて、認証できるようにするための
「POP before SMTP」と呼ばれる機能があります。これは、POPで認証しないとSMTPでメールを送信できないようにするためのものです。最近では、多くのプロバイダがこの「POP before SMTP」を採用しているようです。

POPで認証するときは、通常はクリアテキストでパスワードが送られていきます。ですから、POPのパケットをキャプチャするとパスワードがわかってしまいます。
これを防ぐためにパスワードを暗号化する「APOP(Authenticated POP)」があります。ただし、APOPを利用するためには、クライアントアプリケーションとサーバアプリケーションの両方が対応していないと機能しないので、まだそれほど普及しているとは言えません。



3.4.1 Webサーバの役割

WWW(World Wide Web)は、インターネットの代名詞ともいえるほどですね。インターネットといえば、ホームページを見ることと思っている方もたくさんいることでしょう。
WWWによって、世界中の情報を発信したり検索することができます。情報は、Webサーバに格納されたHTMLファイルに記述されています。HTMLはハイパーテキストというほかの文書へのリンクを含んだ文書構造のことを指しています。

Webサーバに格納されたHTMLファイルをブラウザによって見ることができますが、HTMLファイルを転送するためのプロトコルがHTTP(Hyper Text Transfer Protocol)です。

HTTPについては、以前のメルマガで解説しホームページにもアップしているので、詳しくはそちらを参照してください。

WWWその1
WWWその2
WWWその3




3.4.2 サーバアプリケーション

『Apache』

いちばん有名なWebサーバアプリケーションは「Apache(アパッチ)」でしょう。現在、5割以上のWebサーバがApacheだと言われています。Apacheは主にUNIX上で動作しますが、Windwos版のApacheもあります。
Apacheの特徴は、

・フリーであり、UNIXをはじめとしてさまざまなプラットフォームで利用可能
・柔軟な設定が可能
・安定して高速に動作
・モジュールというプラグインを使い、さまざまな機能を追加する

という点があります。


Apacheの
設定ファイルの標準的な名前は「httpd.conf」です。このファイルの中で設定すべき基本的な項目として、次のようなものがあります。

ServerType Webサーバのタイプです。
DocumentRoot Webコンテンツを置くためのディレクトリを指定します。
ServerAdmin サーバ管理者の連絡用のメールアドレスを記述します。
DirectoryIndex ファイル名が省略された場合の、デフォルトのファイル名を指定します。


『IIS』

マイクロソフトのWindows NT/2000 Serverに標準で添付されているWebサーバアプリケーションです。IISは主に中小規模のネットワークなどでの情報共有を目的として開発されていましたが、大規模なネットワークでも対応できるようになってきています。

ただし、IISは標準の設定では、セキュリティよりも利便性を重視したものになっているので、
セキュリティレベルが低いです。また、セキュリティ上のバグが多くあり、クラッカーにとって標的にしやすいWebサーバです。そのため、IISを運用する場合には、標準の設定ではなくきちんとセキュリティを考慮した設定を行い、セキュリティパッチをきちんと適用しておくことが大事です。




3.4.1 Webサーバの拡張設定

Webサーバは、単純にHTMLファイルを格納するだけでなくさまざまな拡張設定によって
よりダイナミックでインタラクティブなWebページを提供することができるようになります。

『CGI』
Common Gateway Interfaceの略です。ユーザの要求に応じて、ダイナミックにWebページを生成することができます。通常は、Perlを用いて記述します。CGIの例としては、Webページに設置する掲示板がありますね。


『SSI』
Server Side Includeの略です。SSIによって、HTMLの中に何らかの実行プログラムを埋め込むことが可能です。


『データベースとの連携』
WebサーバとRDBMS(Remote DataBase Management System)を連携させて、さまざまなサービスを提供するサイトも増えています。最近増えているのが、Webサーバを主体とした3階層クライアントサーバ型のシステムですね。クライアントは、ブラウザだけあればよくて、Webサーバに対して何らかの処理をHTTP経由で要求します。Webサーバ上でアプリケーションを動作させ、データベースサーバなどにアクセスして、処理結果をHTMLとしてクライアントに返すというシステムです。


『マルチドメイン(バーチャルドメイン)』
1台の物理的なWebサーバを複数のバーチャルなWebサーバに見せかけることができるという技術です。最近、独自ドメインを利用できるWebホスティングサービスがありますが、このバーチャルドメインの技術を使って実現しているものがあります。



3.4.5 セキュリティ対策

Webサーバへは、Webページの改ざんやWebサーバへのサービス停止を狙ったアタックなどいろいろな攻撃が行われています。また、たくさんのセキュリティホールが発見されています。もしも、
セキュリティホールが発見されたら、対策のためのパッチを速やかに適用することが大事なポイントです。

また、Webサーバ上でCGIやSSIを利用するとセキュリティが甘くなってしまうことがあります。CGIやSSIの利用は、ポリシーを明確にしてどのように運用していくのかということを決めておかなければいけません。




3.5.1 FTP

FTPは、File Transfer Protocolの略です。ファイルを転送するために利用されていて、「ネットワークのおべんきょしませんか?」などのホームページのコンテンツをWebサーバにアップロードするときにも、FTPを使っています。

FTPの詳しい動作については、すでにメールマガジン、ホームページで解説済みですので、以下のリンクをご覧ください。

FTP(File Transfer Protocol)その1
FTP(File Transfer Protocol)その2



3.5.2 TELNET

TELNETは、遠隔地のコンピュータにリモートログインするためのプロトコルです。TELNETによって、わざわざサーバやルータなどのネットワーク機器の前に行くことなく、状態を確認したり、設定の変更を行ったりすることができます。

TELNETについても、すでにメールマガジン、ホームページで解説していますので、詳細は以下のリンクを参照してください。

Telnet



3.5.2 DHCP

TDHCPとは、Dynamic Host Configuration Protocolの略でIPアドレスなどのTCP/IPの通信に必要となる各設定を自動化するためのプロトコルです。クライアントコンピュータに手動でIPアドレスなどの設定を行うと、台数が増えてくると大変ですし、設定ミスやIPアドレスの利用が非効率になってしまうことがあります。DHCPによって、自動化するとこういった問題点を解決するこ
とができるようになります。

DHCPの詳しい動作については、以下のリンクを参照してください。

DHCP(Dynamic Host Configuration Protocol)その1
DHCP(Dynamic Host Configuration Protocol)その2
DHCP(Dynamic Host Configuration Protocol)その3




メールマガジンの購読はこちら↓

『ネットワークのおべんきょしませんか?』 を購読しませんか?
めろんぱん E-mail




(C) Copyright 2000-2002 Gene All Right Reserved