• 検索結果がありません。

3.  構築

3.5.  セキュリティポリシーの定義

3.5.4.  FTP サーバー

ftp サーバーは、Trusted Solaris にも標準でインストールされているが、本書ではファ イルを圧縮しながら転送する機能や IP アドレス単位のアクセス制限等、anonymous FTP と して有効な多くの機能が携わっている wu‑ftpd(Washington University FTP daemon)を利用し て FTP サーバーを設定する手順を説明する。 

(1) ディレクトリ構造 

今回、wu‑ftpd のインストールするにあたって、ディレクトリおよびファイルの保存先を 以下のように定義した。 

  Ⅰ‑163  Copyright © 2003 IPA, All Rights Reserved.

表 3‑91 ディレクトリの作成 

#  ディレクトリ  ファイル  備考 

1 ftpaccess  2 ftpconversions  3 ftpgroups  4 ftphosts  5 

/usr/local/wu‑ftpd/etc 

ftpusers 

Wu‑FTPD の設定ファイル 

6 ftpcount  7 

/usr/local/wu‑ftpd/bin 

ftpwho 

8 ckconfig  9 ftprestart  10 ftpshut  11 privatepw  12 

/usr/local/wu‑ftpd/sbin 

xferstats 

管理コマンドプログラム 

13 /var/ftp/  *  14 /var/ftp/bin/  *  15 /var/ftp/etc/  *  16 /var/ftp/lib/  *  17 /var/ftp/pub/  * 

Anonymous 用のホームディレクトリ

(2) コンパイル 

執筆時の wu‑ftpd の最新ソースファイルは、wu‑ftpd‑2.6.2 となっている。これを 公式サイト(http://www.wu‑ftpd.org)等からダウンロードし/usr/local/pkg に保存し ているものとする。Trusted Solaris 標準の ftpd では、ユーザの SL 範囲のみログイ ンを可能にしたり、役割でのログインは不可能になっている。wu‑ftpd においてもこ れらの制限を加えるため、configure を実行する際に PAM(Pluggable Authentication  Module)を有効にする必要がある。インストールは primaryadmin[admin̲low]でおこ なった。また、インストール後、設定ファイルを/usr/local/wu‑ftpd/etc に用意する 必要があるが、サンプルが用意されているのでこれを利用することにする。 

  Ⅰ‑164  Copyright © 2003 IPA, All Rights Reserved.

リスト 3‑122 コンパイル 

$ sh 

# cd /usr/local/pkg 

# gzcat wu‑ftpd‑2.6.2.tar.gz │ tar xvf ‑ 

# cd wu‑ftpd‑2.6.2 

# ./configure ‑‑prefix=/usr/local/wu‑ftpd 

‑‑with‑etc‑dir=/usr/local/wu‑ftpd/etc ‑‑enable‑pam 

# make 

# make install 

# cd doc/examples 

# cp ftpgroups ftphosts ftpusers /usr/local/wu‑ftpd/etc   (3) ユーザおよびグループの追加 

anonymous で利用するユーザを作成する必要がある。このユーザは、特にセキュリ ティ属性等は必要はないので primaryadmin でコマンドラインで作成する。 

リスト 3‑123 ユーザおよびグループの追加(ftp) 

# useradd ‑d /var/ftp ‑s /bin/false ‐g 60001 ftp   

(4) anonymous 環境の設定 

ここでは、anonymous における環境を設定する。wu‑ftpd 自体の詳細な設定内容の説 明は割愛し、ls コマンドのみ利用できるようにする。Anonymous でログインした場合、

chroot を行い ftp ユーザのホームディレクトリ/var/ftp が/となる。そのため、ls 等 必要なコマンド、ライブラリは/var/ftp 以下にディレクトリを作成しファイルをコ ピーする必要がある。今回作成したディレクトリは/var/ftp/usr/lib、/var/ftp/bin/

である。必要に応じて、/var/ftp/etc 等のディレクトリ等も作成して頂きたい。また、

コンテンツを保存するディレクトリ/var/ftp/pub も用意した。 

  Ⅰ‑165  Copyright © 2003 IPA, All Rights Reserved.

リスト 3‑124 anonymous の設定 

$ sh 

# mkdir /var/ftp 

# cd /var/ftp 

# mkdir bin pub 

# mkdir ‐p usr/lib 

# cp ‐p /usr/bin/ls bin/ls 

# chmod 111 bin/ls 

# cp ‐p /usr/lib/ld.so.1 /usr/lib/libc.so.1 /usr/lib/libdl.so.1 usr/lib/ 

(5) セキュリティポリシー 

図に示すのは、その際のイメージ図である。ここでは、特に FTP のポリシーという のは定義せず、他のサーバと同様のラベル情報を利用した。 

ADMIN_LOW PUBLIC ADMIN_HIGH

services

contents conffile in.ftpd 全ての

ネットワークアクセス に対する許可範囲

  図 3‑32 セキュリティポリシーのイメージ図 

今回の FTP サーバーは、anonymous のみの利用を想定しファイルのアップロードは 禁止し、ダウンロードのみ許可する。そのため、外部からの応答は[PUBLIC  Services]

で行い、コンテンツは[ADMIN̲LOW]で保存する。また、 表 3‑92 に示すサービス用プ ロセス属性値を inetd プロファイルに追加する。 

  Ⅰ‑166  Copyright © 2003 IPA, All Rights Reserved.

表 3‑92 サービス用プロセス属性値 

ファイル名  user  group label  clearance 特権 

/usr/local/wu‑ftpd/sbin /in.ftpd 

N/A N/A N/A  N/A  net̲privaddr  proc̲setid  proc̲chroot  sys̲config   

(6) セキュリティ属性の設定 

インストールしたすべてのファイルに許容特権を付与する。設定は、primaryadmin でおこなう。 

表 3‑93 許容特権の設定(primaryadmin) 

# find /usr/local/wu‑ftpd ‑type f ‑exec setfpriv ‑s ‑a all {} ¥;  

 

(A) inetd.conf の設定 

ftpd は、inetd を利用して動作するため、/etc/inetd.conf を以下のように編集を おこなう。 

表 3‑94 inetd.conf の設定 

#ftp stream  tcp6  nowait,trusted,setaudit  root /usr/sbin/in.ftpd in.ftpd  ftp  stream  tcp   nowait,trusted,setaudit  root 

/usr/local/wu‑ftpd/sbin/in.ftpd in.ftpd ‑a   

以上の inetd の設定が完了すると、inetd の再起動を行う。 

表 3‑95 inetd の再起動 

# pkill ‐HUP inetd   

(B) ネットワーク属性定義 

次のネットワークに関わるセキュリティ属性を適用する。なお、設定手順につい てはそれぞれに、3.4.7.1(2)(A)、3.4.7.2(2)(A)、3.4.7.3(2)(A)に記載している。 

  Ⅰ‑167  Copyright © 2003 IPA, All Rights Reserved.

 

表 3‑96 インターフェース属性 

#  Interface  Mini Label  Max Label  Label  Clearance  1 hme0  PUBLIC  PRIVATE 

services 

PUBLIC  services 

PUBLIC  services  表 3‑97 テンプレート属性 

#  Template  Mini Label  Max Label  Label  Clearance  1 public̲services PUBLIC 

services 

PUBLIC  services 

PUBLIC  services 

PUBLIC  services  表 3‑98 ネットワーク属性 

#  Host/Wildcard  Hostname  IP Address  Prefix Length Template  1 Wildcard  N/A  0.0.0.0  N/A  public̲services 

  Ⅰ‑168  Copyright © 2003 IPA, All Rights Reserved.