特定のサービスにトラフィックが増大した場合の対策とは?
ユーザにサービスを保証する優先制御や帯域制御の技術をQoS(サービス品質)という。最近QoXという使い方が流行のようだ。
・ルータのトラフィック優先制御機能の利用(例:Webサーバへの優先順位を落とす)→サービスに優先順位をつけるということ。
・特定のサービスにルータの帯域制御機能のを利用する(例:Webサーバのポートに帯域の最大値を設定する=64kbpsとか)  
・他のサービスが帯域を利用していない場合は、帯域幅を最大まで利用できる。(帯域制御機能の仕掛け)
・トラフィック優先制御機能や帯域制御機能を利用する場合は、ルータやサーバの機能を利用したり、時には専用の制御装置の導入が必要となる。
・帯域幅の増大(例:回線スピードを上げる)
UDPを使用するアプリケーションの場合は、パケット再送制御がされないため、音声や動画といったマルチメディアコンテンツをストリーミング配信するRTSPの優先度が低いと、コンテンツの質が低下する恐れがある。

RTSP(Real Time Streaming Protocol)とは 
 インターネットやイントラネットなどのTCP/IPネットワーク上で、音声や動画などをリアルタイムに配信するためのプロトコル。RTSPを使うとデータをダウンロードしながらコンテンツを再生する「ストリーミング」が可能となる。RealNetworks社、Netscape Communications社、Columbia大学が共同で策定した。IETFによりRFC2326として勧告されている。

 SNMP(Simple Network Management Protocol)とは?
 SNMPとは、ルータやハブなどの中継機器や、サーバコンピュータ、クライアントコンピュータを、ネットワーク経由で監視・制御するための管理プロトコルである。アプリケーション層に属するプロトコルである。

 管理側の機器をマネージャ、管理する対象機器(クライアントPC、ルータ、ブリッジ)をエージェントという。マネージャはエージェントが持つMIBと呼ばれる管理情報データベースに問い合わせを行なったり、設定の変更を行なうことができる。エージェントは異常発生した場合にはトラップという通知をマネージャに送る。
 なお、SNMPでは、マネージャが管理情報を取得するためにエージェントにコミュニティ名を設定する必要がある。コミュニティ名は、マネージャとエージェントが管理情報をやり取りするうえで、パスワード的な役割を果たしている。従って、類推されやすいコミュニティ名を設定することによって、第三者に情報を公開してしまうことになるので、慎重な設定が必要となる。また、SNMPで使用するTCP及びUDPポート161番、162番(トラップ用)に対し、特定のIPアドレスを持つ機器以外のアクセスを禁止するといった設定も必要不可欠である。SNMPは非常に有用な管理プロトコルだが、設定によっては逆に他者に情報を公開してしまうセキュリティホールになり得ることを、覚えておく必要がある。
  Windows NT/2000 では、エージェント機能は「既定の設定」では標準インストールされない
 SNMPマネージャとSNMPエージェントの関係とは?
 SNMPエージェントは、MIBというデータベースに自らの動作状況をオブジェクトとして保持している。SNMPマネージャは、参照要求(GetResponse)でSNMPエージェント内のMIBを読み取って、各SNMPエージェント状況を把握することができる。
 また、設定要求(SetRequest)により、SNMPエージェントの設定を遠隔地から更新することができる。ただし、SNMPはマネジャーとの通信にUDPを利用しているので、正しく設定できたかどうかは、SNMPエージェントの応答(Response)で確認する必要がある。
 MIB(Management Information Base=管理情報ベース)とは?
 MIBでは、オブジェクトに一意のOID(Object IDentifier=オブジェクト識別子)を割り当てており、OIDツリーのどの階層にどの情報を割り当てるかについては、標準MIB(MIB-II)としてRFCで規定されている。RFC 1156として規定されているMIB1と、RFC 1213で規定されているMIB2があり、現在では後者を使うのが一般的。このOIDという概念は理解しにくい。MIBごとにばらばらに情報が管理されていては、マネージャ側も情報を取り出すことは困難なので、それを管理しやすいようにOIDを定めるようにIETFのRFCを出している。
区分 機能
MIB(標準) インターフェイスの状態、データスループットの統計、トラフィックの負荷、エラーパケット量
プライベートMIB 標準MIBでは扱うことができないメモリーやCPUの利用率サービスの動作状況
 SNMPとICMPの違いは?
 ここに来て、この違いを完璧に理解できない。単語からその違いをまとめてみる。明らかに異なるのだが、記憶の整理ができない。
SNMP ICMP
UDP/IP上で稼動   
Simple Network Management Protocol Internet Control Message Protocol
セッション層以上(アプリケーション層) ネットワーク層
 IETFで標準化されたTCP/IPネットワーク環境での管理プロトコル。管理する側の「SNMPマネージャ」と管理される側の「SNMPエージェント」の2つでMIB(Management Information Base)と呼ばれる管理情報を交換することで、機器の管理が行なわれる。  TCP/IPプロトコルにおいてその機能を補助するために用意された制御用のプロトコル。ICMPは、パケットの転送中において発生した各種のエラーの通知や、動作の確認などを行い、通信中にエラーが発生した場合はエラーが発生した場所(相手先ノードや中継のルータ)から、パケットの送信元のノードに対して逆向きにエラーなどの情報が伝えられる。これにより中間のルータやパケット送信元ノードはエラーが発生したことを知り適切な処理を行なう。
マネージャ、エージェント、標準MIB、プライベートMIB、トラップ
MRTG(Multi Router Traffic Grapher)
TCPDUMP
Ping
Traceroute
 MRTG(Multi Router Traffic Grapher )とTCPDUMPの機能の違いは?
MRTG
(トラフィック量の集計)
 ・ネットワークのトラフィックの状態をWeb ブラウザで視覚的(イメージグラフ化)に把握できる。
 ・ネットワークの大雑把なトラフィックは把握でき、集計機能も有している。
 ・ネットワークのトラフィックも監視できるが、プライベートMIBとの連携により、ディスクの空き容量やCPUやメモリ の使用率も監視できる。
 ・ユーザのネットワークへのログイン状況やネットワークの使用率をも監視できる。
  キャプチャツールとの連携→tcpdump
 ・SNMPマネージャ機能を有している。
 ・SNMPエージェントの情報を定期的に取得し、統計データを表示できる。
 (例:ネットワークの利用率を、年/月/週/日ごとにグラフ化し、Web出力する。)
 ・モデムの状態などユーザ定義の数値(ユーザから受け取って任意の数値)も把握できる。
 ・無料で入手できるソフトである。
<MRTG の限界>
 ・個々のコンピュータ間のトラフィックやどのサービスが多く利用されているかを監視することはできない。
 ・MRTG はUNIX プラットフォームだけでなく、Windows プラットフォームでも動作する。
TCPDUMP
(パケットキャプチャ)
 ・ping /traceroute実行も認識できる。
 ・パケットのキャプチャはコマンドにより実行され、リアルタイムの監視ができる。
 ・TCP 、UDP 、IP、ICMP などのパケットを1 つずつ収集して、ヘッダー情報を分析し、データ部分をキャプチャすることもできる。
 ・特定のコンピュータ間のトラフィックや利用頻度の高いサービスの把握はできるが、データの集計機能はないので、集計するには別途のプログラムが必要である。
 ・Windowsでは、Tcpdumpを移植したWinDumpがある。
 ・具体的には、送受信IP アドレス、プロトコル名、ポート番号、バイト数、アクセス時間、パケット数、パケットサイズ、応答時間を取得することができる。
 ・独自プログラムを作り、フィルタリングすれば、データ部分に含まれるシグネチャを検出するIDS的使い方が出来る。
 もう少し詳しいTCPDUMP!!
メリット  ・TCP 、UDP 、IP、ICMP などのパケットごとのデータ分析が解析できる。
 ・どのサービスが多く利用されているかわかる。
 ・どのコンピュータ間で多く通信が行われているかわかる。
 ・ネットワーク上でボトルネックになっているサービスの検出
 ・トラフィック量の多いコンピュータの検出
 ・パケットのデータ部分をキャプチャすることもできるので、独自のプログラムを使ってフィルタリングすれば、データ部に含まれるシグネチャを検出するといったIDS(Intrusion Detection System=侵入検知システム)的手法を採り入れることも可能である。
デメリット  ・集計結果が膨大な量になる。
 ・データの集計機能はないので、集計するには別途のプログラムが必要である。
 ・リアルタイムにネットワークを監視して、問題を検出するのに適しているが、膨大なトラフィックの中から知りたい情報を取り出すためには、適切なオプションを与えて実行する必要がある。このため、パケットのヘッダー情報に関する知識があることが前提となる。
 ・これはデメリットと言うより限界なのだが、ネットワークがルータ等でセグメント化されている場合や、スイッチングやハブやブリッジがLAN上にある場合は、すべてのパケットをキャプチャすることは出来ない。
 SYSYLOGとは?

 UNIX/Linuxシステムにおいて、プログラム(カーネルを含むこともある)がログを作成するための支援機能として実装しているデーモン。プログラム名から、syslogdと略記されることもある。syslogデーモンを使うことで、各種のプログラムでログを作成する処理が大幅に軽減される。Linuxでは、カーネルメッセージのログ作成にはklogdデーモンを、それ以外のプログラムに対してはsyslogdを使っていることが多い。
 ・/etc/syslog.confで設定する。
 ・設定レベルには、ログファイルへの書き出し、コンソールへの出力、別コンピュータへのログ転送、管理者への通知等がある。
 ・通常は、var/log ディレクトリ以下に保存される。
 ・Windows系プラットフォームでは、「イベントビューア」で、システム、セキュリティ、アプリケーション等のログを閲覧できる。

 SYSLOGの体系図とは?


ログの種類
 ・カーネルログ
 ・認証ログ
 ・サービスログ
 ・ユーザプロセスログ
 ・ルータログ
サービスには、
 DNS、SMTP、POP 

 一般的にサービスはsyslog 経由でログファイルに記録される。FTP などはオプションでsyslog 経由に切り替えることができる。
 サービスのログファイルの記録を行うデーモンからsyslog経由でファイルに記録される。
 ネットワークに障害が発生した時に重要なのはルータログである。
 ログファイルはすぐに肥大化するので、ローテーションプログラムなどで切り分けると良い。バックアップも必要である。
 管理者は、ログファイルのセキュリティ(メールに含まれる個人情報、パーミッション等)にも十分な注意をはらわなければならない。
 syslogでは、「SMTPサーバの不正中継」、「踏み台」は表面化しにくい
 イベントビューアで閲覧できるログとは?
 Windowsには日頃からお世話になっているが、今回の試験に関しては覚えることを多くしている。右図がWindowsXPにインストールされているイベントビューアである。サーバ機能を立てていないので、内容が実にシンプルである。パソコンを購入してから1年が経過しようとしているが、一度ものぞくことのなかった画面である。ちなみに、この画面は、「コントロールパネル」、「管理ツール」、「イベントビューア」で出現する。
システムログ  サービスやデバイスドライバの起動のログ
セキュリティログ  ログオン/ログオフ、再起動/シャットダウン、ユーザとグループの管理などドメインユーザマネージャで設定した監査の原則に従い記録。
アプリケーションログ  動作中のアプリケーションに関するログが記録される。
 イベントビューアはログを「閲覧」するソフトで、ログを記録するのはイベントログである。
 Apache Web サーバのログ設定(CLF)
 初歩的(復習)なことであるが、ApcheWebサーバはHTTPヘッダーにアクセスしてログ採取している。
 (CLF一覧)
host ホスト名、IP アドレス request クライアントからのリクエスト内容
ident 接続ユーザの識別情報(ユーザ情報) status 3 桁のレスポンスコード
authuser 認証に使用されたユーザ名 bytes クライアントに配布したオブジェクトのバイト数
date リクエスト日付    
 ・identアイデント=接続ユーザの識別情報のことで、http.confファイルが、”Identitycheck on ”に設定されており、クライアントホストのidentd による応答があった場合だけ記録される。
 ・ログ記録フォーマットを変更したり、別ファイルに保存する機能がある。
 ・HTTP プロキシサーバ経由の元IP アドレスを取得するためには”LogFormat ”を変更し”X-Forwarded-For ”を記録するようにする。
   LogFormat ”%h %1 %u %t \”%r”\” %s %b \”%{X-Forwarded-For\” ”common
  (通常の設定) 「LogFormat "%h %l %u %d \ "%r\ "%>s %b \ "%{Referer}i\ "\ "%{User-Agent}i\ ""combined 」
 ・ログ解析ツールにAnalogがある:Web サーバのログを読み取り解析を行い、ブラウザに出力する。
 不正アクセスの種類と見分け方とその対策は?
 ・不正アクセスとして代表的なものは、・改ざん、・DoS 攻撃、・不正侵入、・不正利用、・システム破壊、・踏み台がある。
 ・防止対策
   ・バージョンアップを心がける。:セキュリティホールにパッチをあて、システム全体のバージョンアップを行う。
   ・危険性のあるサービスは提供しない。リモートログインサービス(=rlogin、rcp、rsh)やNFS の危険性を認識する。 
   ・リモートログインを許可する場合には、リモートログインソフトをSSH に置き換える。
 ・外部からのアクセスを封鎖する。(パケットフィルタリング、プロキシによるアプリケーションゲートウェイ等)
 ・対策としては、ルータやサーバの監視やネットワークのトラフィックを監視する。
  ・TCP 接続要求(SYN )が多い場合はOS に対するDoS攻撃である可能性がある。
  ・指定数以上のバイト数で あればサービスに対する管理者権限の不当な取得である可能性がある。
 
NFS UNIXシステムで利用されるファイル共有システム。Sun Microsystems社によって開発され、UNIX系OSにおける標準的な分散ファイルシステムとなっている。NFSを使うと離れた場所にあるコンピュータのファイルを、あたかも自分のコンピュータにあるファイルのように操作することができる。ファイルを他のコンピュータに提供するコンピュータをNFSサーバ、他のコンピュータにあるファイルを利用するコンピュータをNFSクライアントという。UNIX以外のプラットフォームからも利用することができる。しかし、設定を間違うと、世界中のコンピュータに情報を公開するようなことにもなりかねない。

r系サービス= UNIXホストにリモートマシンからログインするためのコマンド。telnetによるログインと異なり、ログイン時に多少のネゴシエーションが行われる。リモートホスト上の~/.rhostsもしくは/etc/host.equivの設定により、パスワードを指定することなくログインすることもできるが、これが逆にセキュリティ上の弱点になりうるので、rloginの使用を禁止している管理者も多い。
 IDSの詳細は?
IDS (Intrusion Detection System)
=侵入検知システム
 IDS機能が実装されている1台のコンピュータのみを対象に監視する。
NIDS (Network Intrusion Detection System)
=ネットワーク侵入検知システム
 ケーブルを流れるパケットを監視して、ネットワーク経由の侵入や攻撃を検知するシステムで、パケットキャプチャが可能な複数のコンピュータを対象に監視する。
IDSでの異常検出の方法
通常の状態との比較 トラフィック量、CPU/ディスクの利用率を通常の状態と比較して異常を検出する方法で、MRTGといったソフトウェアを導入することで、比較的簡単に実装することができる。
 また、ファイル改ざんのチェックを行う方法として、ディレクトリやファイルのハッシュ値を保存し、定期的に整合性をチェックする方法がある。UNIX系システムでは、md5sumコマンドを使うことでハッシュ値を作成することができる。ただし、システム全体を手動でチェックするのは能率的ではないので、IDSソフトウェアを導入することを考慮した方がよい。代表的なソフトウェアには、UNIX系システムで動作するTripwire(トリップワイヤー)が上げられる。
シグネチャ検出  キャプチャしたパケットからシグネチャと呼ばれる侵入・攻撃のパターンを検出する方法で、この方法を、シグネチャ検出(signature recognition)と呼ぶ。シグネチャ検出では、侵入口を探すポートスキャンやDoS攻撃といった攻撃パターンをシグネチャとしてあらかじめ登録しておく必要がある。また、新たな攻撃方法からネットワークを守るためにも、管理者は常に新しいセキュリティ情報を入手し、シグネチャ登録しておくことが重要である。
 シグネチャ検出によって侵入が検知された場合、ログ記録やパケットの記録が行われるのと同時に、管理者に対して電子メールなどでリアルタイムに通知される。また、IDSシステムによっては、攻撃のレベルに応じて、セッションを切断したり、ネットワークから切り離すといった対策を自動的に行うものもある。
 Snortとは?
  一般的に製品版のIDSシステムは高機能かつ高価なものが多く、個人では入手し難いというのが現状である。無償で入手できるIDSソフトウェアとしては、多くのUNIX系システム及びWindowsプラットフォームで動作するSnortがある。
 ファイル改ざんのチェック方法は?
 不正アクセスが検知された場合のファイルの改ざんチェックには次のものがある。
・ディレクトリやファイルのハッシュ値を保存しておき、現状のものから算出したハッシュ値と比較する。この方法は、不正アクセス云々より定期的に実施するのが望ましい。
・不正アクセスをされてしまった場合は、調査をした上で、バックアップファイルから再インストールするほうが賢明である。ただし、データの復元は面倒臭いだろうなぁ。
・UNIXではmd5sumコマンドでハッシュ値を作成することが出来る。
・システム全体を手動でチェックするのは大変なのでIDSを導入すべきでしょう。代表的なツールにUNIX系システムで動作するTripwireが有名である。
ハッシュ値= 与えられた原文から固定長の疑似乱数を生成する演算手法。生成した値は「ハッシュ値」と呼ばれる。「要約関数」「メッセージダイジェスト」とも呼ばれる。
 Snort(スノート)とTripwire(トリップワイヤ)????
 この二つの単語は、何度出題されても、うろ覚え、やはり機能が完全に理解できていないのだろう。
Snort(スノート)  IDSソフト。フリーのパケットキャプチャツール(=Tcpdump、Windump)
Tripwire(トリップワイヤ)  ・データの改ざんを調査するソフトウェア
 ・ハッシュ値を利用している。(システム全体を手作業でチェックすることなど不可能である。)
 アプリケーションゲートウェイとは?
 アプリケーションゲートウェイは、プロキシサーバによってLAN とインターネットを切り離し、ゲートウェイ上でのアプリケーションのコマンドごとの設定が可能であり、拒否設定したコマンド(例えば、ftpのGET・PUTコマンド等)は中継しないことでLAN を守るファイアウォールの1 つの形態である。下図のような構成で使用される。だだし、アプリケーションごとにきめ細かいアクセス制御ができる半面、プロキシソフトが各アプリケーションに対応している必要がある。
 暗号化の技術!!
 ・SSH (セキュアシェル)
 ・SSL:Netscape Communications 社が開発した、情報を暗号化して送受信するプロトコル。
 ・サーバアプリケーションの署名:サーバが改ざんされていない証明となる。署名と署名者の公開鍵を入手しPGPなど電子署名ソフトを用いてチェックする。
 ・共通鍵暗号方式:DES 、トリプルDES 、IDEA のアルゴリズムがある。
 ・公開鍵暗号方式:RSA などのアルゴリズムがある。
 ・鍵の数(メンバーn人)
  共通鍵暗号方式=n(n−1)÷2
  公開鍵暗号方式=2×n
 チャレンジ/レスポンス方式(=ワンタイムパスワード)とは?
 Digest 認証のチャレンジ/レスポンス方式とは「ワンタイムパスワード(使い捨てパスワード)」のことで、レスポンスコードが使い捨てパスワードとなる。時刻やIP アドレスにより、毎回パスワードが異なる。厳密には少し違うが。
 メールのセキュリティとは?
 これは、テキスト中の文章を丸暗記するしかない。絶対に出題されるぞ。
 sendmail における電子メールの不正中継を防ぐ手立ては、CFの設定を基本設定(SMTPのthird party relay禁止)のままにしておき、中継を許可するドメイン名だけを付け加える方法が有効である。また、POPのログを監視するデーモンに用意し、POPで認証されたIPアドレスを一定時間、データベースに許可リストとして保存し、SMTP を許可するPOP befor SMTPを実施することも有効な手段である。
 メールの第3者中継とは?
 サーバ管理者は、第三者中継を許可するメールサーバをブラックリストとして登録しているデータベースにDNS経由で問い合わせ、そこにリストされているサーバ経由のメールを受信拒否設定できる。sendmailのデフォルト設定では、第三者中継を許可していない。
 このデータベースにはDSBLがある。
 ・ (注)ORBS(=この分野では老舗)は裁判訴訟中につき、閉鎖状態)
 マイクロソフトExchange Serverの踏み台阻止対策は?
 「コントロールパネル」→「管理ツール」→「インターネットインフォメーションサービス」「SMTP 仮想サーバ」「プロパティ」「アクセス」の「中継の制限」
で設定することができる。(右図は参考画面)
 F5攻撃とは?
 ファンクション5(F5)キーがブラウザのリロードになっていることを利用した、WWWサーバに対する攻撃をいう。F5キーを押すのと同じ処理を繰り返し、WWWサーバへのアクセスを集中させる。ページリロードを繰り返すだけの単純な方法だが、多人数で攻撃すればWWWサーバをダウンすることも可能となる。
 不正アクセスの申告先
IPA(Information-technology Promotion Agency) 情報処理振興事業協会
JPCERT/CC(JaPan Computer Emergency Response Team/Coordination Center)
JPCERT コーディネーションセンター
 PingとTracerouteとは?
Ping  ・ホストA が同一LAN 内のホストB に対してはpingが成功するが,デフォルトゲートウェイに対しては失敗する場合にはホストA のTCP/IP(ネットマスクやデフォルトゲートウェイ)の設定ミスの可能性が高い。
 ・IP アドレスでは応答があるが,ホスト名では応答がない場合はDNSのエラーと考えられる。
 ・応答時間が長ければネットワークの混雑が考えられる。
 ・パケット損失率が大きい場合はルータへの過負荷ということが考えられる。
 ・ping で取れる情報は次のものがある。
  ・DNS のエラー
  ・ネットワークの混雑状況
  ・経由したルータ数
  ・ルータへの過負荷
  ・ping を実行したコンピュータのTCP/IP の設定不良
ICMPを拒絶(DoS攻撃からの防御)するサーバもあるので注意が必要である。
Traceroute  ・宛先ホストまでの経路上の問題個所を把握できる。
 ・traceroute を遮断するルータもあるので、そういう場合には使用できない。
 ・Traceroute ではボトルネック(応答しない、反応が遅い)となる部分には「*」が表示される。
 ・コネクションレス通信であるため、往復の経路が非対称になりやすい
ICMPを拒絶(DoS攻撃からの防御)するサーバもあるので注意が必要である。
 PINGの流れを見てみよう!!
C:\ >ping 111.111.111.111
Pinging 111.111.111.111 with 32 bytes of data:(送信されたICMPパケット量)
Reply from 111.111.111.111:icmp_seq=0 bytes=32 time=10ms TTL=128 (受信したICPMパケット量、パケットが通過できるルータ数)
Reply from 111.111.111.111:icmp_seq=1 bytes=32  time<10ms TTL=128 (極めて小さいという意味)
Reply from 111.111.111.111:icmp_seq=2 bytes=32 time=10ms TTL=128  (255-128=127が往復でパケットが通過したルータ数)
・・・・
Ping statistics for 111.111.111.111:
Packets:Sent=5,Received=3 … 損失率が計算が計算できる=2÷5=40%
Approximate round trip times in milli-seconds:
Minimum=0ms,Maximum=30ms,Average=20ms  ネットワークのトラフィック(混み具合)が分かるホスト間のスループット
C:\ >ping www.sinzo.com
Unknown host www.sinzo.com.

(ログの解説)
TTL  255(一般的にはこの数値を利用))からこの値を引いて2で割ると、 2つのホスト間の間にあるルータ(ゲートウェイ)のおよその個数になる。(255−128)÷2=63.5となり、片道、約63のルータを経由したことになる。
time  往復の時間. この値から2つのホスト間の通信速度を見積もることができる。 ネットワークが混雑してくるとこの値は大きくなる。
icmp_seq  この数字が順番通りにならんでいると, ある程度理想的な通信ができていると考えることができる。
損失率  パケット衝突などで消えてしまったパケットの割合。良好な通信ではこの値は0%になる。 値の大きさで通信状態のトラフィック過負荷をみることができる。
 PINGが上手くいった場合にはなにが分かる?
 ・自身のホストのネットワーク設定と稼動
 ・対象ホストのネットワーク設定と稼動
 ・途中のネットワーク/ルータの設定と稼動
以上が揃わなければ、pingコマンドは正常終了しない。
 自分自身にPingしたら?
 自分自身であるループバックアドレス(127.0.0.1)にping を実行して、エコーが返ってこない場合には、自身のTCP/IPが正しくインストールされていないことを示している。
 Pingのエラーメッセージ?(Windows XPの場合)
エラーメッセージ エラー表示の意味 エラー発生原因
Ping Request could not find host
         www.###.ne.jp

UNIXの場合
Unknown host www.###.ne.jp
 指定したホストが見つからない。  ・名前解決の失敗などDNS 関連の問題(DNSの設定ミス)
 ・クライアント端末のネットワーク環境の設定ミス
 DNSサーバへのアクセス障害と考える。
Destination Net Unreachable
 宛先のルートが見つからない。
Destination=目的地,行き先
Unreachable=到着しない
 ・宛先のWebサーバ にいたるまでのルータのルーティング情報が誤っている。
 ・ホストがダウンしている
 ・ホストがネットワークに接続されていない。
 ・ホストが存在しない
 ・ルータがICMPパケットを通さない。
 最も多いエラーだろう
Request timed out  規定時間以内(デフォルトでは1 秒)に応答がない。  ・宛先のWebサーバの停止
 ・クライアント端末のネットワーク環境の設定ミス
 ・ファイアウオールでping が禁止(ICMPパケットの禁止)されている。
 ルーティングなどは正しいが、対象ホストから返答されない場合である。
Network is Unreachable   経路上のルータで経路選択が不可能な状態
 Tracerouteの機能とは?
 ・対象とするコンピュータまでの経路(ルータ名と経由したルータ数)
 ・対象とするコンピュータまでの到達時間
 ・対象とするコンピュータへのアクセスが遅い場合、そこへ至る経路のどこに問題があるのかを知るためのツール。
 ・TTLが0になった際にルータがICMPパケットを送ってくる仕組みを利用している。
 ・トラブルルータ(パケット損失、応答がない等)に関してはアスタリスク=*で表示される。
 ・*の前後にPingコマンドを実行すると多くのデータを集めることが出来る。 
 ・ただし、ICMPに非対応のルータがあったり、往復経路が非対称だったりと、完全に調べれない場合もある。
 ・WindowsにはTracertが用意されている。
 Telnetとは?
 ・サービスを調べることができる。
 ・「telnet +ホスト名(又はIPアドレス)+ポート番号」で接続する。
 ・ポート番号を指定しないと、リモートログイン、ポートスキャンとみなされる。
 ・連続して実行すると、攻撃と誤解されることがあるので注意が必要。ポートスキャンと同じ行為である。
 nslookupとは?
 ・DNS サーバの名前解決を確認するコマンド。
 ・「nslookup +ホスト名」=IP アドレスが返答される。
 ・「nslookup +IP アドレス」=ホスト名が返答される。
 ・nslookupにはオプションを付けて一度だけ問い合わせる方法と、続けて問い合わせる方法(=インタラクティブ)モードの2種類がある。

私はnslookupしか知らないが、最近では、「digコマンド」なるものが主流になりつつある。
 digは、UNIX系OSで使用されるコマンドで、DNS(ドメイン名解決システム)による名前解決の様子について、より詳細な情報を確認することができます。digコマンドでは、検索を行うレコードのタイプや、再帰的な検索の可否、リトライ(再試行)の回数、タイムアウト(時間切れ)、その他、さまざまなオプションを設定することが可能です。また、digコマンドはDNSパケットのヘッダや統計情報、オプション・ビットの情報など詳細な情報を出力します。「dig」は「掘り下げて調べる」という意味の普通の英語です。(ブロードバンド辞典より)
 netstat(ネットスタット)とは?
 ・ネットワークトラブルを速やかに検出するために利用される。状態を統計表示するだけで、実際の設定には別途設定用のコマンドが必要である。
 ・ルーティングテーブル、インターフェイスの状況を、接続状況といったネットワークの状況を調べることが出来る。 
 ・引数なしでnetstatと入力すると、現在アクティブなソケット(ポート番号とIPアドレスの組合せ)を表示する。

(wintowsXPでnetstatを動かした例。一部マスキングがしてある)
 ・netstatに引数”-rn”を設定するとルーティング情報を知ることが出来る。ゲートウェイやネットマスクが上手く設定されていないとパケットは外部に出て行けないので、まずは最初に試してみる価値はある。
 ・netstatに引数”-a”を設定すると
  
 ・まとめでみると
引数 取得情報 特記事項
なし 現在アクティブなソケットの状況 ネットワークの現状を知る
-rn ルーティング情報の取得 まずはゲートウェイやネットマスクの設定確認する
-a 接続待ちのソケットを含めた
ネットワークの状況
・LISTEN:接続待ち状況。ESTABLISHED:接続が確立された状態
・特定なサービスに対する不審な接続を検出する
SYN_SENT状況が多く残っていたら、不正アクセスを受けている可能性が高い。
・サーバ構築直後、Local AddressでLISTENしているサービスで、無駄なものは停止させる。
-n -aの情報をIPアドレスで表示する
-S IP、TCP、UDP、ICMPパケット量を統計表示する SNMPと同じようにトラフィック情報を取得できる。エラーや廃棄されたデータを調べることで、ネットワークのトラブルを検出することが出来る。
 arpとは?
 ・イーサネット通信におけるarpキャッシュを操作するためのコマンドである。
 ・通常は手動でarpを操作することはないが、キャッシュにIPアドレスとMACアドレスが1:1で正しく追加されているかどうかを確認することがある。
引数 特記事項
-A Windowsの場合に”-a”をつける
-d キャッシュからホスト名(IPアドレス)を引数にして削除する (例:arp -d host08.test.co.jp)
-s キャッシュにホスト名(IPアドレス)とMACアドレスを引数にして追加する (例:arp -s host08.test.co.jp 00.00.00.00.00.00)
 whoisとは?

 whoisプロトコルを使用してwhoisデータベースにアクセスすることで情報を得ることの総称。Webサイト上やコマンドラインによって情報が提供されるのが一般的である。IPアドレスやドメイン名に関し、このサービスを利用することによって、その登録者に関する情報を入手することができる。登録者に関する情報は、インターネットの自立的安定運用に欠かせない情報である。
 ・whoisコマンドで自分で問い合わせるか、NICやレジストラのWebサイトの検索サービスを利用する。
 ・whoisコマンドを使う場合は、"-h"オプションの後にトップレベルドメインを管理しているwhoisデータベース用のサーバを指定する必要がある。
  (例:whois -h "whois.nic.ad.jp" "example.co.jp"
下図は、JPRSのWHOISでyahoo.co.jpのDNSを検索した結果である。

(抜粋)
JP ドメイン名登録情報の取り扱い等に関する規則

株式会社日本レジストリサービス
公開: 2002年 3月31日 実施: 2002年 4月 1日

第1条(目的)  この規則は、株式会社日本レジストリサービス(以下「当社」という)が 保有するJPドメイン名登録情報(以下「登録情報」という)の管理およびその公開ならびに開示に関する事項を定める。

第2条(個人情報の取り扱い)   当社は、個人情報に関しては、インターネットの健全な利用と個人情報の保護の調整に努め、取り扱うものとする

第8条(開示情報の開示理由)  当社は、開示申請に基づく開示情報の開示の理由が下記各号のいずれにも 該当しないと認める場合、開示情報の開示を拒絶することができる。
(1)インターネットの接続障害を解消または通知するために必要な場合
(2)当該ドメイン名に関連するサービスについて情報が必要な場合
(3)不正アクセス行為に関連する処理のために情報が必要な場合
(4)当該ドメイン名に関連する知的財産権の処理のために情報が必要な場 合
 よくあるトラブルとは?(ケーブル関連)
・ケーブルの挿し忘れ等の単純なミスも疑ってみる。
・時には断線ということもであるので、予備のケーブルは用意しておく必要がある。
・ネットワークインターフェース(ハブもルータも)の状態はLEDランプの点滅で確認する。
 よくあるトラブルとは?(機器不良関連)
 ・機器の物理的な不良も考慮に入れなくてはならない。
 ・ルータやハブにトラブルがあると、それにつながっている全てのコンピュータが影響を受ける。
 ・OSやファームウェアに問題がある場合もある。
 ・トラフィックの増大や攻撃により、ルータがハングアップすることがある。
 ・ルータのセキュリティホールを狙った攻撃も存在する。
 ・ルータ設定のバックアップをとっておき、すぐに元に戻せるようにしておくこと。
 ・機器のランプ点滅やログ情報を確認する。
 ・サーバが過負荷によりたびたびハングアップする場合は、適切なセキュリティ対策が施されているか確認する。
 よくあるトラブルとは?(クライアント端末設定関連)
 ・特定の一台がネットワークに接続できない場合は、まず、ネットワークインターフェースの設定ミスである。
  その場合は、IPアドレス、サブネットマスク、デフォルトルートといった基本的なネットワーク設定事項を確認する。
 ・DHCPでネットワーク情報を所得しているのにネットワークに接続できない場合は、DHCPで割当てているIPアドレスの範囲を越えているかもしれない。割当てたIPアドレス以上のIPアドレスを割り当てられるかどうかは謎である。恐らく割当ててしまうのだろう。
 ・DHCP利用で、多くのユーザがネットワークに接続できないのは、DHCP側に問題がある。
 ・ネットワーク上でTCP/IP以外のAppleTalk、NetBEUI のプロトコルを利用している場合は、そちらの設定も併せて調べてみる。
 ・AppleTalk、NetBEUI で問題なく接続出来て、インターネットに接続できない場合は、物理的障害ではなく、TCP/IPの設定に問題がある。
 よくあるトラブルとは?(ルーティング関連)
 ・ルータの初期設定段階でのルーティング不良はよくある。
  この場合は、IPアドレス、サブネットマスク、デフォルトルートといった基本情報を確認する。
 ・ルーティングテーブルに複数の経路を設定している場合は、どのネットワーク間で問題が起こっているのかを確かめる。設定を修正する必要がある場合もある。
 ・上流ネットワークに問題が発生した場合は、適切な経路がたどれないので、tracerouteで問題が生じているルータを特定する必要がある。
 よくあるトラブルとは?(フィルタリング関連)
 ・ルータやファイアウオールにパケットフィルタリング設定する時に誤ると通信障害が発生する。
 ・新しいフィルタリング設定を修正する場合は、セキュリティポリシーにも関わってくるので、予め利用者に対しては通知しておく必要がある。
 よくあるトラブルとは?(名前解決関連)
 ・DNSに設定ミスがあると、Webもメールもその他サービスも全て利用できなくなる。
 ・特定のドメインにアクセス出来ない場合は、そのドメインを管理しているDNSサーバに障害が発生している。
 ・IPアドレスでアクセス出来るのにドメイン名でアクセス出来ない場合は、名前解決に問題がある。
 ・自ネットワーク内のDNSにキャッシュされている古い情報を参照していてアクセス出来ない可能性もある。その場合は、nslookupにより直接DNSサーバに問い合わせる必要がある。
 ・自ネットワークで管理している名前解決が上手くいかない場合は、正引きゾーンファイル、逆引きゾーンファイルでIPアドレスが上手く関連付けられているかを確認する。電子メールだけに問題が生じている場合は、MXレコードを確認する。
 ・セカンダリDNSに上手くゾーン転送されない場合あは、DNS設定ファイルの確認と、正引きゾーンファイル、逆引きゾーンファイルのSOA(Start Of Authority)を確認する。
 ・DNS関連の変更は、事前に利用者に通知しなければならない。
 よくあるトラブルとは?(サーバ関連)
 ・通常、サーバ上には複数のサービスが動いているので、問題はサービスごとに切り分けて対処する必要がある。
 ・アクセスの増加や攻撃にいつも目を光らせておく。日頃から、SNMPでトラフィックを監視するといったことも必要となる。
 ・netstatコマンドでエラーパケットを検出することも必要である。
 ・tcpdumpで特定のサービスに対する負荷を計測する必要がある。
 ・各サービスに不正アクセスを受けていないかどうか監視する。
 ・サーバのメンテナンス等は、事前に利用者に通知しなければならない。
 トラブル原因の特定
 Webサーバ関係のトラブルは、Webサーバログを確認する。アクセスログにはレスポンスコードが含まれているので、レスポンスコードが”200”以外をチェックする。
 詳細説明(←クリック
コード 内容 意味 チェック方法
401 Unauthorized アクセス権限がない  ・.htaccessファイルの設定を調べる
 ・Web サーバ設定ファイルでアクセスの許可/不許可の設定を調べる。
403 Forbidden
(=禁じられた)
リクエストの不許可  ・ホスト単位の認証の設定を調べる
 ・パーミッションの設定を調べる
 ・Web サーバ設定ファイルでインデックスファイルのファイル名を省略したアクセスが有効かを調べる。
404 Not Found リソースが存在しない  ・パスが正しいか確認する。
500 Internal Server Error サーバ内部エラー  ・CGIプログラム(構文エラー、改行コードエラー等)に問題がありサーバ内部エラーを表しているので、エラーログを調べる。
 パーミッションにおけるsuEXECとは
 suEXEC 機能を使用すると、Apache ユーザは WWW サーバを実行しているユーザ ID とは 異なるユーザ ID で CGI や SSI を実行することができる。具体的には、ユーザディレクトリで CGI を動作させる場合は、そのユーザ ID で動作するので、他人のファイルを壊すようなことはない。また、通常モードでは CGI が生成するファイル等は、WWWサーバのユーザ ID ( nobody等 ) になってしまい、一般ユーザ権限では削除や書き換えができないため、削除するとなると管理者が root で代行して削除する等、管理が煩わしくなるが、suEXEC 環境では、これらのファイルはそのユーザの ID になるので、例えば、FTP で削除したりできるようになり、ユーザにホームディレクトリの管理を任せることが可能になる。
 具体的には、ディレクトリやファイルのパーミッションを変更することになる。
 なお、suEXECを含めてコンパイルされたサーバの場合、ディレクトリやファイルに対して一般ユーザによる不要な書き込みや実行権限があると、サーバ内部エラーを起こす。suEXECのエラー内容は、アクセスログやエラーログとは別のログファイルに記録されるので、それを参考にする。
 ウ〜難しい。理解度10%程度。ひねった問題には全く対応できず。
 さっぱり分からん.htaccess設定とは?
 実務経験がないとこれほど情けない結果になるのか。まずは、インターネットで単語の概要を拾ってみた。
 ・CGIプログラムを使用する場合には、htaccessファイルに設定を記述しておく必要がある。
 ・Apache でユーザによる.htaccessファイルの設定はユーザのホームディレクトリ(例えば public_ html)に対して、AllowOverride(上書き許可)オプションが有効となっていないと反映されない。
 ・特定のディレクトリに.htaccessファイルがある場合、Web サーバは設定ファイルの内容を記述されている内容で上書きする。さらに、サブディレクトリにも.htaccessファイルがあると、さらに、その内容を上書きをする。要するにサブディレクトリが優先する。
 ・.htaccessファイルの構文エラーはApache の起動時にはチェックされないため、.htaccessファイルの記述が誤っていると、そのディレクトリ以下のどのファイルにアクセスしてもエラーとなる。
 ・CGIプログラム自体に問題がないのに”500”もしくは"Internal=内部の Sever Error”と表示されるときは、htaccessファイルの記述(構文)を疑ってみる必要がある。
 
 いまさら、ファイル名の書き方?
 リソースがサーバ上に存在するのに、レスポンスコード404 (Not Found)が表示される場合には、ファイル名が正確か否かを確認しなければならない。今更、こんなことを迷っていては、先が思いやられる。
 ・UNIX ではファイル名は大文字と小文字を区別し、空欄文字の使用も可能である。しかし、URLでは空白文字は認められないためエラーとなることがある。
 ・Windows ではファイル名は大文字と小文字の区別はしないが、Windows からUNIX へFTPする場合には、大文字と小文字の扱いに気をつけなければならない。現実に困ったことがあった。
 ・Webサーバ上で使用するファイルは小文字で統一することに決めておいた方が良い。
 ・インターネット上では、次のような文字はファイル名に使用できない。日頃から、HPを作成しているが、意外と知らない。”危ない文字は使わない程度”にしか考えていないので、いざというときの知識にはなっていない。
使用できない文字 使用出来る文字 参考画像
 ・全角数字  
 ・全角アルファベット 
 ・空白文字 
 ・半角カタカナ
 ・スラッシュ
 ・半角アルファベット
 ・半角数字
 ・ハイフン
 文字コードと改行コードの丸暗記
 文字化けする原因としては、プラットフォームの文字コード・改行コードやテキスト中の文字コード・改行コードが違う場合が上げられる
 ・Webブラウザの自動選択機能により文字化けは避けられる。それでも文字化けは起こりうる。
 ・<meta>タグで、使用文字コードを明示的に宣言しておけば、問題は回避できる。
 ・それでも、CGIプログラム中の文字コードが適切でない場合は文字化けする。
 ・HTMLファイルは改行コードが間違っていても、Webブラウザ上では問題なく表示される。
 ・ただし、Perlのようなスクリプト言語で書かれたCGIプログラムは、レスポンスコード=500で異常終了する。
 ・Webサーバのエラーログに"Premature end of script headers:"とある場合は、改行コードが原因でCGIが動かない可能性がある。
 ・テキストファイルをBinaryモードでFTPすると、改行コードは制御文字として転送され、変換されないことに注意が必要である。

プラットフォーム 文字コード 改行コード 16進表記 10進表記
UNIX EUC-JP LF OA 10
Windows Shift−JIS CR+LF 0DOA 10+13
Macintosh Shift−JIS CR 0D 13
 ・「CR」(Carriage Return : 行頭復帰)と「LF」(Line Feed : 改行)
 ・htmlでは、改行コードが間違っていてもWebブラウザーが自動で認識してくれる。しかし、CGIではレスポンスコード500で異常終了する
  「Premature end of script headers:」