プロキシー - みる会図書館


検索対象: UNIX MAGAZINE 2003年6月号
16件見つかりました。

1. UNIX MAGAZINE 2003年6月号

特集 図 14 1 2 3 4 5 00 : 03 : ba : 19 : 01 : af 6 00 : 03 : ba : 19 : 01 : af 7 00 : b0 : d0 : 79 : cd : 4a 255.255.255.255 8 00 : d0 : b7 : 3c : 9f : 9e 255.255.255.255 9 00 : 03 : 47 : 3f : 0d : 11 255 . 255.255.255 10 01 : 00 : 5e : 00 : 00 : 00 11 01 : 00 : 5e : 00 : 00 : 00 12 13 —s 14 ー s 15 16 17 18 19 20 21 22 23 24 2 5 26 2 7 2 8 00 : 03 : ba : 19 : 01 : af 00 : 03 : ba : 19 : 01 : af 255.255.255.255 00 : 03 : ba : 19 : 01 : af 255 . 255.255.255 00 : 03 : ba : 19 : 01 : af 255 . 255.255.255 00 : b0 : d0 : 79 : cd : 4a 255 . 255.255.255 00 : d0 : b7 : 3c : 9f : 9e 255 . 255.255.255 00 : 03 : 47 : 3f : Od : 11 255 .255.255.255 01 : 00 : 5e : 00 : 00 : 00 01 : 00 : 5e : 00 : 00 : 00 ARP テーカレの確認と言聢 SunScreen 3.2 root@exp$ arp —na Net to Device dmf e 1 dmf e0 dmfe0 dmfe0 dmfe0 dmf e 1 dmf e0 Media Tab1e : IP Address 211 . 7 . 178.69 224.0.0.0 224.0.0.0 192. 168. 1 . 202 192 . 168. 1 . 200 192 . 168. 1 . 121 192 . 168. 1 .83 IPv4 Mask Phys Addr F1ags 255 . 255.255.255 SP 255 . 255.255.255 SP 240 . 0 . 0 . 0 240 . 0 . 0 . 0 SM SM root@exp$ arp root@exp$ arp root@exp$ arp 211.7.178.70 00 : 03 : ba : 19 : 01 : af 211.7.178.71 00 : 03 : ba : 19 : 01 : af pub pub Net to Media TabIe: IPv4 Device dmfel dmfel dmfel dmf e0 dmfeO dmfe0 dmfe0 dmfel dmf e 0 IP Address 211.7. 178 . 69 211 . 7 . 178 . 71 211 . 7 . 178.70 224.0.0.0 224.0.0.0 192 . 168. 1 . 202 192 . 168. 1 . 200 192 . 168. 1 . 121 192 . 168. 1 . 83 Mask F1ags Phys Addr 255 .255.255.255 SP SP SP 240 . 0 . 0 . 0 240 . 0 . 0 . 0 SP SM SM 以の乍業で、 NAT 機能を含めて SunScreen カ噫図 66 動作の確認 1 ~ 5 行目 : インターネット上のマシンから、 SunScreen ます、 FTP フロキシーの使い方をみてみよう ( 図 15 ) 。 も、実行例を紹介しておく。 ければならない。プロキシーの重川乍と使い方を示すために もちろん、プロキシーが正常に動いているかも確認しな クセスが・可能かどうかの確認も忘れないようにしよう。 使うとよい。青勺 NAT を用いて公開したサービスへのア どのスキャンツール (Solaris 9 にはイ寸属していない ) を ことを確認するには、フリー・ソフトウェアの nmap な て接続カ甘巨否されるかを確認する。アクセスか拒否される ~ 71 ) への通信において、意図的に公開したポートを除い か、そして、 3 つのグローバル・アドレス ( 211.7.178.69 初に、内部の PC からインターネットにアクセスできる 当然のことながら、設定力鮗ったら動作を確認する。最 りがちなので、よく整理して考えるようにじトけよう。 利用するときは、 ARP やレーティングが分かりにくくな どおりに動作するようになるはすである。とくに NAT を か力しているマシンに対・して FTP 接続を試みる。す るとフロキシーか起動し、簡単なヘルフメッセージか表 示される。 7 行目 : ューザー名として、、、フロキシーのユーサー名@ バックエンド・サーバー名 " を入力する。 こでノヾック ェンド・サーバーを〕尺することもできるが、今回の例 では公開しているのは 1 つだけである。 10 行目 : ノヾスワードとして、、、フロキシーのノヾスワード@ バックエンド・サーバーのパスワード " を入力する。バッ クエンド・サーバーでのユーザー・アカウントは、フロ キシーユーサーを指定したときのアカウントである。 SMTP プロキシーの動作も確認しておこう ( 図 16 ) 。 SMTP をプロキシーで処理すると、バックエンドのメー ルサーバーでは接続元のアドレスによるチェックはできな くなる。内部ネットワークからの発信をすべてリレーする ように設疋していると、思わぬところでオーフンリレーと なってしまう。一時工ラーて接続を拒否する点も、信と しての元成度が不足しているように思える。実用になるの は次のバージョン以降であろう。 UNIX MAGAZINE 2003.6

2. UNIX MAGAZINE 2003年6月号

特集 SunScreen 3.2 ションを流れる PORT 命令や PASV 命令を解釈し、 データ・コネクションに使われるポート番号を把握す る。各ステートエンジンは、 1 つの識別情報 ( バケット 種別やポート番号 ) といくつかのパラメータをとること ができ、それによって動作を調整する。 ・アドレス 1 つ、もしくは複数の IP アドレスを定義する。 1 つ の IP アドレスを示す、、ホストアドレス " と、アドレス 範囲または CIDR 形式のサプネットで連続する IP ア ドレスを示す、、アドレス範囲 " 、それらを用途などでグ ルーフ化した、、アドレスグループ " の 3 不頁がある。 ・スクリーン SunScreen のファイアウォール機能を実装したマシン を表す。パラメータとして、ルーティング・プロトコル の有無や使用するネームサービスの不鶤頁、 HA や CMG の構成、 SNMP の構成パラメータなどがある。 ・インターフェイス SunScreen のファイアウォール機能を実装したマシン のネットワーク・インターフェイスを表す。インター フェイスの種別には、ルーティング・モード、ステル スモード、管理用、 HA 構成のハートピート用、無効の 5 不鶤頁がある。パラメータには、ログや SNMP アラー トの有無 ICMP への応答方法などがある。 ・証ューザー (AuthUser) 山い 個人の言日帯長を定義する。パラメータには、認証去 ( パスワード、 RADIUS 、 SecurID) やユーサーの本名 などがある。認証情報は、管理者やフロキシーユーサー としてログインするときに使用される。 フロキシーユーザー プロキシーを利用するユーサーを定義する。認証ューサ ・オプジェクトと結び付けられて、プロキシーを通 過する権限の有無を確認するために使う。複数のプロキ シーユーサーをグループにまとめることもできる。 ・その他 時刻によって有効 / 無効が切り替わるルールを定義する ための、、時刻オプジェクト " 、 HTTP プロキシーを通 過できる Java アプレットを定義するための、、 Jar 署 名オプジェクト " と、、 Jar ハッシュ・オプジェクト SMTP フロキシーの通過を許可する、、メールリレー オプジェクト " と禁止する、、メールスバム・オプジェク ト " 、 SKIP および IKE で使う、、証明書オプジェク 、 IPsec のキーを手作業で交換するときに使用する IPsec キーオプジェクト " 、 VPN を定義する、、 VPN オプジェクト " などがある。この特集では、これらのオ プジェクトはとりあげない。 表 1 定義済みのサービス ( ( * ) 付きのサービスはステートエンジンに対する独自のパラメータカ甘旨定されている ) サービス名 ah archie aut h automount B ackweb biff bootp cert ificate d iscovery chargen CoolTalk CU See Me daytime daytime-udp discard discard- udp dns echO echo- ud p esp 40 ステートエンジン iptunnel ud p tcp iptunnel udp tcp tcp 、 d ns udp tcp udp tcp ud p-d atagaram tcp 、 udp-datagram tcp udp udp udp-datagram udp pmap-tcp 、 pmap-udp 、 rpc-tcp 、 rpc-udp 識別情報 IP 51 Port 1525 ( * ) Port 113 RPC # 300019 Port 370 ( * ) Port 512 (broadcast) Port 67 (broadcast) ( * ) Port 1640 ( * ) Port 7 Port 7 Port 53 Port 9 Port 9 Port 13 Port 13 Port 19 Port 7648 ~ 7652 Port 6499 ~ 6500 、 13000 UNIX MAGAZINE 2003.6 IP 50

3. UNIX MAGAZINE 2003年6月号

特集 SunScreen 3.2 図 10 FTP プロキシーのユーサーとアクセスルールの定義 authuser add tsuru password={ } description="Proxy user' 1 edit> proxyuser add tsuru auth—user_name="tsuru" backend_user_name=" OP 2 edit> authuser add kame password={ "kame" } description="Proxy user 3 edit> proxyuser add kame auth—user—name=l'kame' 4 edit> proxyuser add ftpusers GROUP 5 edit> proxyuser addmember ftpusers tsuru 6 edit> proxyuser addmember ftpusers kame 7 edit> add rule ftp * mail—ftp ALLOW PROXY-FTP USER ftpusers FTP-ALL 8 edit> SMTP プロキシーとアクセスためのテーカレの定義 図 11 1 edit> add rule smtp * mail—ftp ALLOW PROXY—SMTP 2 edit> mail—spam add 0.0.0.0 .. 255 . 255.255.255 3 edit> mail—spam add wearethespammer.org 4 edit> mail—relay add nspl . com 6 ~ 12 行目 : ルールを確認してみる。匆期設定で定義され たルールか残っているので、これを消去する。 次に、 FTP プロキシーのユーサーとそのアクセスルー ルを定義する ( 図 10 ) 。 1 ~ 2 行目 : 単純なパスワード認証をおこなうプロキシー ューザーを定義するには、パスワードをもつ認証ューサ ーを作成し、プロキシーユーザーと関連づける。 back- end-user-name パラメータでは、ログインするサーバ ーでのユーザー名を指定する。このパラメータを指定し ない場合は、プロキシーユーサー名と同しューサー名で バックエンド・サーバーにログインすることになる。 3 ~ 4 行目 : 同しくパスワードによって認証をおこなうプ ロキシーユーサーを定義する。 5 行目 : FTP プロキシーの利用者を意眛するグループ仕 p ー users を作成する。 6 ~ 7 行目 : 作成したユーサーをグループにまとめておく。 8 行目 : FTP プロキシーを定義する。すべてのマシンか らの接続を受け付ける。プロキシー自体はバックエンド にあらゆるマシンを指定できるが、 ーで朝刃めているの は内部ネットワークの FTP サーバーだけである。プロ キシーはアプリケーション・レベルでの中継をおこなう ので、 FTP サーバーを使うために NAT を利用する必 要はない。 続いて、 SMTP プロキシーとアクセス制御のためのテ ーフルを定義する ( 図 11 ) 。 1 行目 : SMTP プロキシーを定義する。宛先アドレス には、内部ネットワークのメールサーバーを指定する。 RELAY オプションを付けていないので、 maiLrelay テープルによるチェックがおこなわれる。 2 行目 : spam-list にアドレス範囲を登録する。 SMTP プ ロキシーは、接続元の IP アドレスからドメイン名の逆 引きができなかったときにのみ、このリストのアドレス こではすべての IP アドレスを指定 範囲を参照する。 しているため、逆引きかできないアドレスからの接続は すべて拒否することになる 6 。 3 行目 : spam 」 ist にドメイン名を登録する。 SMTP プ ロキシーは、接続兀の IP アドレスを逆引きして得たホ スト名と、 MAIL FROM で示される発信者アドレス をこのリストから検索する。そして、いすれかがリスト に一致した場合は接続を拒否する。 4 行目 :mail-relay に宛先ドメイン名を登録する。 RCPT TO で示される受信者アドレスがこのリストに登録され ていない場合は、接続を拒否する。 最後に、ルールの適用順序を整理しておく。 SunScreen はフィルタルールを順番に適用して通過の可否を決定して いくので、適用頻度がもっとも高いと思われるルールを先 に書いておくとパフォーマンスが多少はよくなるはすであ る。ルールの ) を変更するには、、 move rule れ m" コ こでは図 12 のような ) 仰にした。 マンドを使用する。 定義か完了したら、石忍してからルールを保存し、有効 にする ( 図 13 ) 。 1 行目 : verify コマンドで、ルールに矛盾がないかを石忍 する。 6 DNS の一ヨ勺な動イ不良によって逆引きに失敗した場合も拒否されるの で、そ窈失をよく考えて指定する必要がある。 64 UNIX MAGAZINE 2003.6

4. UNIX MAGAZINE 2003年6月号

特集 SunScreen 3.2 SunScreen をインストールすると、それに関連したプロセ の構成内容、とくにプロキシーの利用の有無によって関連プロ スがいくつも実行されることに気つ、くはすである。 SunScreen SUnSC 「 een のプロセス 05 : 14 . 0 : 00 セスの数は変化するが、今回の例に挙げたマシンでは次のよう になる。 op@exp$ ps —ef lgrep screen root root root て 00t root nobody 237 238 236 2583 279 284 1 1 1 1 1 282 apache —httpd. c onf nobody 285 282 apache—httpd. conf root 282 1 apache—httpd. conf root 2584 1 282 nobody 2846 apache—httpd. conf 0 20 : 30 0 20 : 30 0 20 : 30 0 03 : 23 0 20 : 30. 0 20 : 30 0 20 : 30 0 20 : 30 0 03 : 23. : 41 ・ 40 : 39 : 39 : 39 : 06 pts/l 0 : 41 : 41 ・ 14 ? ・ 06 pts/l 各プロセスがどのような働きをするのかは、 ドキュメントが ないのて推測するしかない。 SunScreen 本来のバケット・フィ ルタリング機能はカーネルに組み込まれるので、ユーサープロ セスはプロキシーや補助的なものばかりのはすである。 自明のことだが、 GUI 管理ツールを使わないのなら httpd を動かす必要はないし、リモートマシンから設定作業をしない autll user_narne 言心燾正・コふーーヨガーー とを示す。 securid : SecurID を用いてユーサー認証をおこなうこ とを示す。 radius : RADIUS を用いてユーサー認証をおこなうこ 名”・証ューサー 説明 : アカウントに関する説明。 を利用できる。 義されていない場合は、パスワードなしでフロキシー ー認証をおこなうことを示す。 オプジェクトで定義したパスワードを用いてユーサ このフィーノレドカゞ定 proxyuser add グループ名 GROUP ・プロキシーユーサー・グループの追加 FTP ログイン名。 FTP アカウント : バックエンドのサーハーにおける UNIX MAGAZINE 2003.6 proxyuser addmember グループ名メンノヾー名 フロキシーユーザー・グルーフ。へのメンノヾーの追加 前 ( 255 文字までの英。 グループ名 : プロキシーユーサー・グループに付ける名 のなら、 Java 工竟て動作している ssadm. Server も不要なよ うである。 VPN を使っていない場合は、 ss-ipsecd を止めて しまってもよいような ファイアウォールとして使うマシンが多くのサーバー機能を 兼ねることはあまりないはすなので、 SunScreen の機能に絞っ てぎりぎりまでチューニングしてみるのもおもしろそうである。 グルーフ名 : メンバーを追加するフロキシーユーサー グルーフの名前。 メンバー名 : グループに追加するメンバーの名前。 ・フロキシーユーサー・グルーフからのメンバーの削除 proxyuser deletemember グノレーフ名メンノヾー名 /usr/lib/sunscreen/lib/ss—timed /usr/lib/sunscreen/lib/ss—ipsecd /usr/lib/sunscreen/lib/ss—logd ・ 00 /usr/lib/sunscreen/proxies/smtpp 」 ava com. sun. sunscreen. internal . ssadm. Server ・ 00 /usr/apache/bin/httpd —f /etc/sunscreen/httpd/ ・ 00 /usr/apache/bin/httpd —f /etc/sunscreen/httpd/ ・ 00 /usr/apache/bin/httpd —f /etc/sunscreen/httpd/ ・ 00 /usr/lib/sunscreen/proxies/ftpp /usr/apache/bin/httpd —f /etc/sunscreen/httpd/ 0 . 0 . 0 . 0 . 0 ・ 04 ・ 00 : 00 0 . 0 . 0 . 0 . ・ 00 グループ名 : メンバーを削除するプロキシーユーサー グノレーフ。の名前。 メンバー名 : グルーフから削除するメンバ ・フロキシーユーサーの削除 proxyuser delete ユーサー名 ューサー名 : 削除するプロキシーユーサー、またはプロ キシーユーサー・グルーフ。の名前。 SMTP プロキシーの樂イ乍 SunScreen カ甘是供する SMTP プロキシーは、糸籠外 ーの名ⅱⅱ。 うえで細織内のメールサーバーに中継する。アクセス制御 からの SMTP トラフィックのアクセス制御をおこなった は、以下の手順でおこなわれる。 59

5. UNIX MAGAZINE 2003年6月号

特集 SunScreen 3.2 Solaris 9 でファイアウォールを作る 長原宏治 TeInet 、 FTP 、 HTTP (HTTPS) 、 SMTP の各プ ロトコルについて、コンテンツ・フィルタとの j 叫が・可 能なフロキシー機能をもっている。フロキシーはアプリ ケーション層でトラフィックを中継するプログラムで、 ューサー認証を強化するだけでなく、内部の IP アドレ スを隠蔽する効果もある。 ・ VPN (Virtual Private Network) SKIP (SimpIe Key-management for lnternet Pro- tocol) または IPsec/IKE による暗号イは支術を用いて、 セキュアな VPN を構築できる。暗号イ支術は、 Sun- Screen か稼動している複数のマシンを 1 台の管理ス テーションで制御する目的でも使用される。 ・ステノレスモード 通常のファイアウォール・システムは一重のルータとし て動作するが、 SunScreen には、ネットワーク・イン ターフェイスがそれ自体の IP アドレスをもたす、一一・種 のプリッジとして動くモードがある。マシンがサービス を受け付ける IP アドレスをもっていないため、セキュ リティが強化されるだけでなく、ネットワークをサプ ネットにうリする必要がないので IP アドレスを有効に 活用できる。ステルスモードに対して、通常の IP アド レスをもつモードを、、ルーティング・モード " と呼 ・ HA (High Availability) 構成への対応 HA 及とは、予備のマシンを用意しておき、下カ中の マシンがダウンしたら、その処理を引き継ぐ仕組みであ る。これに対応することで、 SunScreen システムの信 頼性は大幅に矼 E する。 ・ CMG (CentraIized Management Group) への対応 CMG とは、マスターマシンの設定内容を自重加勺にセカ ンダリマシンにコピーする機能である。これによって、 SunScreen とは何か SunScreen は、バケットレベルでアクセス制御をおこ なうファイアウォール・システムである。 SoIaris8 でも機 能制限版の SunScreen 3.1 Lite カリ用できたが、 Solaris 9 からはすべての機能が使える SunScreen 3.2 が付属す るようになった。 SunScreen には次のような機能がある。 ・ステートフノレのノ、ケットフィノレタ 送信元および宛先の IP アドレスをもとに、バケットの 破棄と通過を柔軟に設定できる。 IP アドレスと UDP/ TCP のホート番号にもとづく単純なバケットフィル タではなく、各セッションの内容を解釈して管理する ステートフルなエンジンを内蔵しており、 FTP のデー タ・コネクションや RPC など、ホート番号カ加勺に 変化するプロトコルにも対応している。 ・ NAT (Network Address Translator) バケットに付けられた IP アドレスを重加勺に変更するこ とで、プライベート・アドレスを使用しているネット ワークからインターネットにアクセスしたり、 ISP や ネットワークの変更によるリナンバー ()P アドレスの 付けなおし ) を最小限に抑えることができる。また、組 織内のネットワーク構造を隠蔽する刻保もある。 れ対 m のアドレス変換をおこなう重加勺な構成にも対応 しているが、 NAPT (Network Address Port Trans- lation) はサホートしていないため、多数のフライベー ト・アドレスを少数のグローバル・アドレスに変換する 場合はポート番号の衝突が発生するおそれがある。 プロキシー 38 UNIX MAGAZINE 2003.6

6. UNIX MAGAZINE 2003年6月号

メンバー名 : サービスグループに追加するサーピスの名 ・サービスグループからのメンバーの削除 delete—member service サーヒ、スグノレープ名メンノヾ ・サーピス名への参照の変更 ( サービス名の変更にともな rename service 変更則の名則変更後の名則 ・サービス名の変更 名前。 メンバー名 : サービスグループから削除するサービスの サービスグルーフ。名 : サービスグルーフ。の名前。 renamereference service 変更前の名則変更後の名 い、旧い名前を参照していたオプジェクトを変更 ) 特集 NONE ( なし。デフォルト ) 、 SunScreen 3.2 ・サービスの削除 delete service 名月リ 名前 : 削除するサービス・オプジェクトの名前 ( 単一 サービス、サービスグループのどちらでもよい ) 。 フィノレタルールのキ果イ乍 具イ勺なアクセス制御を指定するのがルールであり、 の うまでもなく、この定義がもっとも重要である。指定可能 なルールは多岐にわたるため、いくつかの機能に分けて解 説する。 56 したステートエンジンの頂方向になる。 クトの名前。送信元→宛先が、サービスの定義で指定 宛先アドレス : 宛先アドレスを表すアドレス・オプジェ ジェクトの名則。 送信元アドレス : 送信元アドレスを表すアドレス・オプ するセッションは通過か許可される。 トの名前。サービスと送信元・宛先のアドレスかン一致 サービス名 : アクセスを許可するサービス・オプジェク 番号 : ルールを挿入する位置の頂序番号。 [COMMENT コメント ] 宛先アドレス ALLOW CLOG ログ種別 ] CSNMP] insert rule 番号サーヒ、ス名送信元アドレス CCOMMENT コメント ] ALLOW [LOG ログ種別 ] [SNMP] add rule サーピス名送信元アドレス宛先アドレス ・アクセスを許可するフィルタルーノレの追加 LOG ロク種別 : 記録するログの種別 ( 以下のいすれ UNIX MAGAZINE 2003.6 3 ステルスモードではプロキシーは使用できない。 て指定 ) 。 ド ( 以下のいすれか 1 つ、または複数を組み合わせ FTP アクセス制御フラグ : FTP で使用できるコマン Screen を指すように各する。 を利用する場合には、 DNS の MX レコードが Sun- パスワードの入力カ球められる。 SMTP プロキシー プロキシーでは、 Basic 認証を使用してログイン名と @ 目的サーバーのパスワード " を入力する。 HTTP スワードとして、、プロキシーユーサーのパスワード て、、プロキシーユーサー名@ 目的サーバー名 " を、 telnet または ftp でアクセスし 3 、ログイン名とし する場合は、 SunScreen が稼動しているマシンに キシーユーザー名。 TeInet/FTP プロキシーを利用 プロキシーユーサー名 : プロキシーを通過できるプロ したステートエンジンの順方向になる。 クトの名前。送信元→宛先が、サービスの定義で指定 宛先アドレス : 宛先アドレスを表すアドレス・オプジェ ジェクトの名前。 送信元アドレス : 送信元アドレスを表すアドレス・オプ 番号 : ルールを挿入する位置のルール番号。 insert rule : 番号、 [ SMTP アクセス制御フラグ ] メーノレサーノヾー・アドレス ALLOW PROXY_SMTP add rule smtp 送信元アドレス [ HTTP アクセス制御フラグ ] PROXY_HTTP [USER プロキシーユーサー名 ] add rule http 送信元アドレス宛先アドレス ALLOW [ FTP アクセス制御フラグ ] PROXY_FTP [USER プロキシーユーサー名 ] add rule ftp 送信元アドレス宛先アドレス ALLOW 名 ] ALLOW PROXY_TELNET [USER プロキシーユーサー add rule telnet 送信元アドレス宛先アドレス ・アクセスを許可するプロキシールールの〕助日 の文字列 ) 。 COMMENT コメント : ルーノレについての説明 ( 任意 SNMP : SNMP アラートを有効にする。 SESSION ( セッションのみ言剥 SUMMARY ( 要約ログ ) 、 DETAIL ( 言田口クつ、

7. UNIX MAGAZINE 2003年6月号

SunScreen 3.2 図 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 図 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 特集 FTP プロキシーの禾 root@ns$ ftp 211.7.178.69 Connected to 211.7.178.69. 220 ー 220 Name 331 ー 331 Proxy : SunScreen FTP Proxy Version 3.2—fcs Username tO be given as く proxy—user> ) ' く FTP—server—host> Password tO be given as く proxy—password> ' @ ' く FTP—server—password> Ready. ( 211.7.178.69 : op ) : kame@192.168.1.47 Proxy : Authenticate & connect : Password needed tO authenticate 'kame' Password : kame@naisyo 230 ー Proxy: Authentication mapped ) kame ' tO backend user ) op Connecting tO 192 .168 . 1 .47 ( 192.168.1.47 ) ー done . Server: 220 blade FTP server ready. proxy : 0 Ⅱ ) OP Server: 331 Password required for op. Proxy: Supp1ying password t0 server. 230 Server : User op logged in . ftp> SMTP プロキシーの利用 root@ns$ mconnect 211.7.178.69 connecting tO host 211.7.178.69 ( 211.7.178.69 ) , port 25 connection open 250 blade. localnet He110 fire. localnet [ 192 .168 . 1.83 ] , pleased to meet you helo konnichiwa 220 blade. localnet ESMTP SendmaiI 8 . 12.2 + Sun / 8 . 12.2 ; Tue, 18 Mar 2003 01 : 47 : 04 + 0900 (JST) COnneCti011 open connecting t0 host 211.7.178.69 ( 211.7.178.69 ) , port 25 root@ns$ mconnect 211.7.178.69 Ⅱ 0 , spam ! bac OII 455 Sme11s like MAIL FROM : foo@wearethespammer. org 250 blade . localnet He110 fire. localnet [ 192 . 168.1.83 ] , pleased to meet you HELO konnichiwa 220 blade . localnet ESMTP Sendmai1 8 . 12 . 2 + Sun / 8 . 12 . 2 ; Tue , 18 Mar 2003 01 : 19 : 36 + 0900 (JST) 454 Re1ay refused RCPT TO: hiro@example ・ co ・ jp Sender ok 250 2 . 1 . 0 foo@ascii ・ co ・ JP ・ MAIL FROM: foo@ascii ・ co. jp 1 行目 : 重堺乍の確認には telnet コマンドでもよいが、行 単位の入力になるので、 SMTP サーバーと接続するた めの mconnect コマンドのはうか扁集できるぶん楽で ある。 4 行目 : 接続元アドレスのチェックカ鮗ると、プロキシー 経由でバックエンドのメールサーバーか応答する。 6 行目 : バックエンドのメールサーバーは、接続兀を Sun- Screen のマシンであると認識している。 7 ~ 8 行目 : 送信元アドレスとして mail-spam に登録し たドメイン名を指定すると、ステータスコード 455 で 接続カしられる ( しかし、このメッセージはなんとか UNIX MAGAZINE 2003.6 ならないものだろうか・ 9 ~ 18 行目 : 今度は、宛先アドレスとして mail-relay に 含まれないドメイン名を指定してみると、ステータスコ ード 454 で接続が閉しられる。 ログの活用 SunScreen のログ機能 ファイアウォールを言置したら、その活動ログを定期的 に調べ、攻撃やスキャンからネットワークか正しく防御さ れているか、また、不適切なトラフィックが発生していな いかなどを定期的にチェックすべきであろう。ログを検査 しているときに不適切なトラフィックが発見され、原因を 67

8. UNIX MAGAZINE 2003年6月号

特集 SunScreen 3.2 しかできなくなる。 14 ~ 18 行目 : 定義斉みのユーサーとして admin が作成 されている ( ローカルマシン上て管理する場合も、 GUI を用いて設定した際はログインが必要になる ) 。今回は GUI は使わないことにしているので、ユーサーは削除 しておく。 GUI を使う場合は、すくなくともパスワー ドは変更する。 ルールの作成 もっとも重要なルールの定義に進もう。 図 5 のネットワークの内部ネットワーク側では、 192. 168.1.0 / 24 のフライベート・アドレスを使っている。サー ーは 1 ~ 128 の固定アドレスを使用しているが、外部 ノヾ に公開したいのは DNS と Web のサービスを提供する 192.168.1.120 のマシンだけである。もちろん、 FTP お よび SMTP のサーバーとなっている 192.168.1.121 も 公開したいのだが、このマシンには SunScreen のフロキ シー機能を使ってアクセスするため、 IP アドレスを公開 する必要はない。 内部ネットワーク側のアドレスの後半部は、一般ユー ザー向けに DHCP によって PC に自重糖リ当てをおこなっ ている。これらの PC については、重加勺 NAT を用いて インターネットに接続できるようにする。その際、ポート アドレスの重複を防ぐために 2 つのグローバル IP アドレ スを使用する。もちろん、内部ネットワークからインター ネットへの接続はとくに制限を設けないが、インターネッ トから内部ネットワークへの接続は公開サーバーを除いて いっさい禁止する。 これらの条件を SunScreen のルールとして実装するた めにまとめると、次のようになる。 ・ NAT 定義 192.168.1.129 ~ 254 を 211.7.178.69 ~ 70 に動的に マッフする ( 勺 NAT)O 192.168.1.120 を 211.7.178.71 に静的にマッフする ( 静的 NAT による公開 ) 。 ・フィノレタノレーノレ 192.168.1.1 ~ 254 からインターネットへの接続はすべ て許可する。 インターネットから 192.168.1.120 の DNS/Web サ ービスへのアクセスを許可する。 62 ・フロキシー インターネットから 192.168.1.121 のメール / FTP サ ービスへのプロキシー経由でのアクセスを許可する。 これらのルールを ssadm edit コマンドを使って設疋 していこう。最初に、ルール窈旨定で使用するアドレスを まとめて登録する ( 図 7 ) 。ルールは、図 7 の下段に示し た名前を使って記する。 ます、 NAT のルールを記述する ( 図 8 ) 。なお、 NAT を使う場合は、後主のように ARP 応答に関する整が必 要になる。 1 行目 : フライベート・アドレスか割り当てられた PC か 次に、アクセスルールを記する ( 図 9 ) 。このとき、ア 下りの 2 つのルールを定義する必要がある。 71 にマッフする。静的 NAT は単方向なので、上りと ( 192.168.1.120 ) を、グローノヾル・アドレス 211.7.178. 2 ~ 3 行目 :DNS と WWW サービスを提供するサー スを使っている。 避けるために、図 7 で定義した lnternet というアドレ のマシン ) へのアクセスを NAT で変換してしまうのを 可能にするのは簡単である。 PC から exp (SunScreen なら、サーバー ( 192.168.1.1 ~ 128 ) からのアクセスも 義し、グローバル・アドレスへの変換をおこなう。必要 らインターネットにアクセスするために重加勺 NAT を定 UNIX MAGAZINE 2003.6 っているが、ゾーン中幻医はセカンダリ・ネームサーノヾー プ dns は TCP によるゾーン転送も許可するようにな ためのサーヒ、スを定義する。定斉みのサーヒ、スグルー 2 行目 : インターネットから DNS クエリーを受け付ける 識せすにルールを言当すればよい。 る。したがって、フィルタとしては NAT の存在を意 はアドレス変換されたあとでフィルタルールが適用され が適用さオ L 、インターネットから戻ってきたバケット トに向かうバケットはアドレス変換前にフィルタルール ネットへのアクセスを許可する。 PC からインターネッ 1 行目、 8 行目 : 内部ネットワークの PC からインター いように気をつけなけれはならない。 て捨てられるので、必要なトラフィックを誤って遮析しな 1 ) に十分注意する。ルールに一致しないバケットはすべ クセスルールと NAT によるアドレス変換の適用順序 ( 図

9. UNIX MAGAZINE 2003年6月号

SunScreen 3.2 lock-st at us 対象 : ヌ寸象、 対・象・ ヌ寸象 . ・ 対象 : list nat save saveas reload verify aut huser jar-hash 」 ar -S1g logmacro mail-relay mail—spam proxyuser vars SMTP プロキシーが中継する ( または中継を拒否する ) ドメイン名窈助い削除・一覧表示 対、象 :logmacro ssadm logdump コマンドでフィルタ条件として使用するマクロ窈助い削除・一覧表示・表示茅の変更 SMTP プロキシーか受信を拒否するドメインまたはアドレス窈助い削除・一覧表示 対、象 : mail-relay . proxyuser ヌ寸象 :mail-spam SunScreen 変数の追加・削除・一覧表示・表示茅の変更 プロキシーを利用するユーザーとユーザークルーフ。の追加・削除・一 -- ・覧表示・表示囿の変更 表 6 主要なオプジェク動リと操作コマンド 特集 編集の競合を防ぐためのロックの状態を表示 ポリシーに加えた変更を保存 刈、象 :policy ポリシーデータと共通オプジェクトを別々に指定して保存 対、象 :policy 変更を破棄してポリシーを再ロード 対、象 :policy 編集中のデータの整合性をチェック ヌ寸象 :policy 認証ューザー・オプジェクト窈助日・削除・一覧表示・表示判の変更 : aut huser Jar ハッシュ・オプジェクトの助い削除・名前の変更・一覧表示う . 対象 :jar-hash Jar 署名オプジェクトの追加・削除・名前の変更・一覧表示 ・ Jar-s1g オプジェクト address servlce st ateengine accessre mote huser proxyuser mail-relay mail—spam vars * コマンド実行により、 time rule nat accesslocal list interface list address IiSt service IiSt —name service list stateengine 追加 add service add address add interface list -name stateengine list time list—name time list list list list list rule name name accesslocal accessremote add time add rule msert rule add nat lnsert add accesslocal delete t ime delete rule delete nat delete accesslocal 削除 delete interface delete address rename t ime renamereference replace rule renamereference replace nat replace accesslocal / リネーム rename interface renamereference rename address renamereference rename servlce renamereference move nat move accesslocal 国字変更 move rule msert accesslocal accessremote delete accessremote msert accessremote authuser print list aut huser proxyuser print list proxyuser mail-relay list mail-spam list vars print authuser add proxyuser add mail-relay add mail-spam add vars add authuser delete proxyuser delete mail-relay delete mail-spam delet e vars delete 内容力嗄化する可生がある ( 参照している名前カ畯更される ) UNIX MAGAZINE 2003.6 replace accessremote move 、 accessremot e 53

10. UNIX MAGAZINE 2003年6月号

特集、 SunScreen 3.2 図 17 言田なログの言泉をキ諚 root@exp$ ssadm edit lnitial Loaded common objects from Registry version 6 Loaded policy from lnitial version 6 edit> add interface SCREEN exp dmfel ROUTING exp-dmfel LOG SUMMARY edit> 1ist interface SCREEN "exp" "dmfeO" ROUTING "exp_dmfeO" INCOMPLETE SCREEN "exp" "dmfel " ROUTING "exp-dmfel " INCOMPLETE LOG SUMMARY 調べたところサーバーの成疋ミスがみつかったという例も も選べる。言求したバケットは、専用のビューアでさらに 条件を絞り込んで参照できる。この考え方は、 snoop コマ 多い。 ンドでネットワークを流れるバケットを取り込み、あとで SunScreen では、次の 2 不頁のログをとることかでき しつくり角斤する手法に通しるものがある。 る。 このログ機能を有効にするには、ルールを定義する際に ・ネットワーク・トラフィック LOG オプションを指定する。すると、該当するルールに ルールまたはインターフェイスの定義において指定する 一致したバケットがログに言求される。たとえば次のよう ことで、バケットレベルでのログか求できる。バケッ にする。 トレベルでのログは、量か膨大になる可能生がある 8 だ root@exp$ ssadm edit lnitial けでなく、パフォーマンスに与える景彡響もかなり大き Loaded common 0b 」 ects from Registry version 5 Loaded policy from lnitial version 5 い。したがって、デフォルトではオフになっているし、 edit> add rule common * * DENY LOG SUMMARY 日常的にオンにしておくこともお勧めしない。問題を分 これにより、ほかのルールに一一 - ・致せすに捨てられるバケ 析するために、インストール直後や構成の変更後に一時 ットか要約モードで言求されていく。 的にオンにする程度でよいであろう。 あるいはインターフェイス定義に LOG オプションを付 ・各種イベント けると、そのインターフェイスを通過するすべてのバケッ SunScreen の構成変更や認証の成否、プロキシーの動 トのログを残すこともできる。詳細モードでログを言求す イ伏況カ求される。ー己のネットワーク・トラフィッ るとセッションの内容まで再現できるが、そのような月立既 クとは異なり、通常 syslog を使って取得する程度のロ なログを言当求することに意味があるのかは疑問である。 グしか残らない。 広設定ガ去を図 17 に示す。 こでは、ネットワーク・トラフィックのログに絞っ ログの表示 て角見を進める。このロク機能では、ルールに一致して破 SunScreen のログはバイナリ形式のファイルであり、 棄または通過させたバケットを次の 2 つのモードで記録 そのままでは見ることができない。そこでます、ログファ する。 イルを、、 ssadm I 。 g " コマンドで処理して中間ファイルを 作成する。そして、、、 ssadm logdump ' コマンドでその 田 (DETAIL) モード ( バケット全体 ) 内容を分析する。 ・要約 (SUMMARY) モード ( バケットの地頁部分のみ ) ssadm logdump コマンドは、 snoop と同様にノヾケッ ー午可ルールにおいては、 トをフィルタリングして表小する多数のオプションを備え ている。とりあえすログを表示させるには、図 18 のよう ・セッション (SESSION) モード ( セッションの存を に入力する。これは、 I 。 g サプコマンドでログファイルを 標準出力に出力し、 logdump サプコマンドで標準入力か ら取り込んだログを表示する例である。 8 SunScreen では、デフォルトでログのサイズ制限をおこなう幼陏 効になっているため、ディスクカヾ益れる・己はない。とはいっても、記 録しただけて捨ててしまうのではたんなる資源ク馮置いである。 1 三ロ 68 UNIX MAGAZINE 2003.6