IT

ホストレベルのセキュリティ【LPIC level1】

目次

  • ホストレベルのセキュリティ
  • スーパーサーバの設定と管理
  • xinetdの設定(/etc/xinetd.confの主なパラメータ、/etc/xinetd.d以下の設定ファイルの主なパラメータ)
  • TCP Wrapperによるアクセス制御(/etc/hosts.allowと/etc/hosts.deny)
  • 開いているポートの確認
  • SUIDが設定されているファイル

ホストレベルのセキュリティ

セキュリティに完璧はありませんが、可能な限りセキュリティを高める努力は必要です。

セキュリティを高めるためには、外部と内部からの侵入に対するセキュリティを高める必要があります。

スーパーサーバの設定と管理

ネットワークを通じてサービスを提供しているサーバは、デーモンと呼ばれる常駐プログラムです。

デーモンは常時メモリ上に待機していて、クライアントからの要求を監視しています。

使用されていない状態の時も、メモリなどのリソースを消費しています。

常駐するデーモンの数が多くなると、待機中のデーモンが消費するシステムリソースもそれだけ大きくなります。

これを解決する為に、サーバプログラムを管理するスーパーサーバーが開発されました。

スーパーサーバは、他のサーバプログラムに代わってサービス要求を監視し、接続が確立した時点で本来のサーバプログラムに要求を引き渡します。

必要な時だけ個々のサーバプログラムを起動することで、メモリなどのシステムリソースを効率的に使うことが出いると言うメリットがあります。

xinetdの設定

xinetdの設定は、全体的な設定を行う/etc/xinetd.confファイルと、xinetd.dディレクトリ(通常は/etc/xinetd.d)以下にあるサービスごとの設定ファイルから構成されます。

/etc/xinetd.confの主なパラメータ

パラメータ説明
instances各サービスの最大デーモン数
log_typeログの出力方法
log_on_success接続を許可した時にログに記録する内容
log_on_failure接続を拒否した時にログに記録する内容
cps1秒間に接続できる最大コネクション数と、限度に達した場合にサービスを休止させる秒数
includedirサービスごとの設定ファイルを収めるディレクトリ

/etc/xinetd.d以下の設定ファイルの主なパラメータ

パラメータ説明
disableサービスの有効/無効(noで有効)
socket_type通信のタイプ(TCPはstream、UDPはdgram)
waitウェイトタイム
userサービスを実行するユーザー名
serverサーバプログラム(デーモン)へのフルパス
server_argsサーバプログラム(デーモン)に渡す引数
log_on_failure接続を拒否した時にログに記録する内容
nice実行優先度
only_from接続を許可する接続元
no_access接続を拒否する接続元
access_timesアクセスを許可する時間帯

TCP Wrapperによるアクセス制御

ネットワークサービスのアクセス制御を集中的に行うには、TCP Wrapperを使います。

TCP Wrapperデーモンであるtcpdデーモンは、telnetdやftpdなどのサーバプログラムに代わってサービス要求を受け取った後、設定に基づいてチェックを行い、接続が許可された場合はそれぞれのサーバプログラムに処理を引き渡します。

設定ファイルは/etc/hosts.allow及び/etc/hosts.denyです。

/etc/hosts.allowと/etc/hosts.deny

TCP Wrapperはまず、/etc/hosts.allowをチェックし、ファイルに記述された条件に合致すれば、その時点でアクセスを許可します。

この場合、/etc/hosts.denyファイルは参照されません。

/etc/hosts.allowに合致する条件がなければ、次に/etc/hosts.denyをチェックします。

このファイルに記述された条件に合致すれば、その時点でアクセスは拒否します。

条件にマッチしなかったものはアクセスが許可されます。

開いているポートの確認

サーバプロセスを起動すると、そのプロセスは特定のポートを開いて接続を待ち受けます。

攻撃者は、開いているポートが分かれば、外部からそのポートに接続し、情報収集や攻撃を試みることが出来ます。

開いているポートを最小限にとどめることで、セキュリティを高めることが出来ます。

開いているポートを確認するには、netstatコマンドやssコマンド、lsofコマンドを使います。

SUIDが設定されているファイル

所有者がrootユーザーであるプログラムにSUID(Set User ID)を設定すると、一般ユーザーが実行した場合でも、そのプログラムはroot権限で動作します。

最後まで読んで頂き、ありがとうございました。

他の分野へ移動できる全体ページへは下記リンクから移動できます。