II-9-1. スーパーサーバの仕組みと構築・設定方法

リクエストに応じてサービスを割り振るために用意されたスーパーサーバの仕組みについて概説する。さらにスーパーサーバの構築例として、xinetdの導入と設定の手順を示す。telnetやftpによる接続を例として、スーパーサーバの具体的な動作について述べる。

【学習の要点】

* スーパーサーバは、クライアントからの要求に応じて、対応するサービスプログラムに対して起動をかけるプログラムである。

* 代表的なスーパーサーバであるxinetdの設定を行う。

* xinetdではアクセス可能なホストの制限をかける等、セキュリティを考慮した設定を行うことができる。

* telnetやftpによる接続を例にしてスーパーサーバの具体的な動作を理解する。

図II-9-1. スーパーサーバの役割

 

【解説】

1) スーパーサーバとは

ネットワークサーバにて各種サービスを提供するには、クライアントからの要求に応答するためサービスごとにプログラムを起動し常駐させておく必要がある。提供するサービスが増えると常駐するプログラムも増え、常にCPUやメモリが消費された状態となってしまう。

スーパーサーバは、ネットワークサービスへの要求を代表して受け付け、サービスの種類によって対応するサービスのプログラムを起動することで、CPUやメモリの消費を抑えるためのプログラムである。

2) xinetdとは

代表的なスーパーサーバとしてはinetdが利用されていたが、現在ではinetdにセキュリティ機能などの機能拡張を行った、xinetdが利用されている。

xinetdの特徴的な機能としては以下のような点があげられる。

* アクセス可能なクライアントの制御

ホスト名、IPアドレスやネットワークアドレスを指定することにより、アクセスを許可または不許可とするクライアントの指定を行う。

* アクセス可能時間の設定

ネットワークサービスの提供可能な時間帯を設定する。

* 接続回数の制限

同時に起動できるサーバプログラムの数や、1秒あたりの接続数の制限を設定する。

* 独自のログ出力

syslogに出力する他、出力する項目や出力方法をを指定して独自のファイルへの出力を設定する。

3) xinetdの設定

xinetdの設定は、/etc/xinetd.confgと/etc/xinetd.d/以下にあるサービスごとの設定ファイルにて行う。/etc/xinetd.confではxinetdから実行されるプログラム全体に適用する基本的な設定を行い、/etc/xinetd.d/以下にある設定ファイルはプログラムごとに設定を行う。

各ファイルの書式は以下のように記述する。

 
 

service サービス名(または「default」)

{

属性名 代入演算子 設定値

}

 

属性として指定できる項目としては、「プログラム(デーモン)の動作タイプ」「ソケットタイプ」「サービスを実行するユーザ/グループ」「サーバプログラムのパス」「サービスの有効/無効」などがある。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。

フォーラム会員企業専用

記事配信

コンテンツ配信

ユーザログイン