サーバー構築 セキュリティ TCP/IP基礎 TIPS 書籍 ブログ リンク

Web全体 サイト内検索

 セキュリティ予備知識
セキュリティの必要性
攻撃のパターン
トロイの木馬の種類と仕組み
 ファイアーウォール導入編
ファイアーウォールとは?
セキュリティポリシーの策定
パケットフィルタリングとその凡例
Zone Alarmのインストール
Zone Alarmの設定
SygatePersonal Firewallのインストール
SygatePersonal Firewallの設定
SPF 「Advanced Rules」の設定
 セキュリティ強化実践編
NetBIOS over TCP/IPを無効にする
ブラウザのセキュリティ対策
Microsoft Outlookのセキュリティ強化
Spybotによるスパイウェアの駆除
スパイウェアの駆除(文献古いです)
プロキシ(代理)サーバーを利用する
トロイの木馬の駆除
診断サービスを利用する
 ウィルス対策編
ウィルスの基礎知識
 最新ウィルス情報
IPAセキュリティセンター
Symantec Security Response
Trend Micro
McAfee
 セキュリティ診断 関連サイト
PC Flank
Sygate Online Services
Symantec Security Check
Shields Up!!
パーソナルセキュリティ研究所
 FIREWALL DOWNLORD
Zone Alarm
Zone Alarm(日本語化)
ZoneLog Analyser
Sygate Personal Firewall
Agnitum Outpost Firewall
Tiny Personal Firewall
Tiny Personal Firewall(日本語化)
Norton Personal Firewall(体験版)
Kerio Personal Firewall
BlackICE Defender
At Guard
 関連 DOWNLORD
Ad-Aware
Ad-Aware(定義アップデート)
Spybot -S&D
The Proxomitron(日本語サイト)
AVG Anti-Virus
 




パケットフィルタリングとは、ルータやファイヤーウォールなどを経由して行われる通信(データ・パケット)に対して、IPアドレスやポート番号などの情報によって、送られてきたパケットを中継(許可)するべきか、それとも遮断(拒否)するべきかの判断を行う機能です。パケットフィルタリングを活用する目的はあくまで、セキュリティを確保するという点にあります。具体的な例を挙げると、掲示板荒らしなどに出くわした際に、ある特定のIPアドレスの相手とは一切通信を行わないようにしたり、または、条件のかなった特定の相手、またはアプリケーションとのみ通信をおこなうといった制限をかけることができるのです。インターネット側(WAN側)から送られてきたデータ・パケットをLAN側でどのように判断するかをネットワークの管理者が任意に設定することができるようになります。また、これとは反対にLAN側からWAN側への不正なデータの流出を防ぐこともでき、トラフィックの増大や予期せぬ異常な課金を未然に防ぐといった目的もあります(参考:「パケットフィルタリングの限界」)。




◎パケットフィルタリング






■サーバー機の鉄則

パケットフィルタリングの方法は用途によって様々で、主に2通りの方法に分類されます。第1に、「全ての通信を遮断し、必要な通信だけを透過させる」方法で、第2に、「全ての通信を透過させ、特定の通信だけを遮断する」というものです。どちらも同じように思えるかもしれませんが、パケットフィルタリングの基本は前者の「全ての通信を遮断し、必要な通信だけを透過させる」です。

特にサーバーを公開する場合は、サーバー機はサーバー・サービスのみに徹する必要があり、クライアントマシンとして利用しないことが鉄則であるとされています。というのも、クライアント・アプリケーションを利用するにはいくつもの「穴」をあける必要があり、危険を伴うからです。これについては、ポート番号について言及する必要がありますが(参考:「ポート番号とは?」)、例えば、クライアントマシンから外部のWebサーバーにアクセスする場合、httpのポートが80番だからといって、サーバとクラインアントが80番同士で通信をするわけではありません。Webブラウザは基本的に「1024-4999」のポートをランダム(動的)に使用して、サーバーのポート80番と通信を行います。これによって1台のコンピュータで複数のアプリケーションを利用できるようにしてるのです。このようにサーバー機をクライアントマシンとして利用できるようにすると1025番以上のポートを開ける必要があり、そのポートから「バックドア」を仕掛けられてしまう可能性があります(参考:「トロイの木馬の種類と仕組み」)。バックドアを仕掛けられると、不正アクセスの対象となり、ネットワーク攻撃という攻撃はほぼすべて受けてしまうことになります。





なお、サーバー機をサーバー・サービスのみに徹すると不便であるという場合は、ルータのフィルタリング機能を利用して、応答パケットに含まれるACKフラグを利用してある程度制限を緩和することもできます(コードビットを制御できないルータもあります)。つまり、ACKフラグを含まない(SYNフラグを含んでいる)パケットを遮断し、ACKフラグが立っているパケットのみを通過させるように設定すれば、LAN側からの要求に対する応答パケットだけに限定することもできるようになります。(参考:「TCPとUDP/両プロトコルの相違」)。


■遮断するべきポート番号

実際にポートを閉じるアプローチにはふたつの種類があり、「危険なポートを遮断する」場合と「使用するポートのみ透過する」場合です。「使用するポートのみ透過する」場合はサービスとして起動させたい各種通信サービスのポートを開ける設定を行います。サーバーを公開する方はWWWは80番、SMTPサーバーは25番といった具合です。以下に遮断するべきポート番号と代表的なサービスポート番号を記しておきます。なお、NBT(137−139)を遮断する理由については「NetBIOS over TCP/IPを無効にする」も参考にしてください。因みに、ルータを持っていない方は、パーソナルファイアーウォールソフトを導入して不要なポートを強制的に閉鎖するという手もあります。このようにすれば、パソコン上でサービスが機能していても、ファイアーウォールがそこへのデータ通過を許可しないので、結果として停止してあるのと同じことになります。

ポート サービス名 プロトコル 備考
23 Telnet TCP/UDP ネットワークにつながれたコンピュータを遠隔操作するための標準方式。後述の「ルータに対するTelnet拒否」を参考にしてください。
135 DCE endpoint resolution
TCP/UDP RPC(Remote Procedure Call)に利用されるポートで、ネットワーク上の異なるマシンで処理を実行する手続き。
137 NETBIOS Name Service TCP/UDP NetBIOS名(マシン名)からIPアドレスを導き出す「名前解決」に使用される。「NetBIOS名前サービス」とも呼ばれます。
138 NETBIOS Datagram Service
UDP ネットワーク・コンピュータの一覧を得る「ブラウジング」に使用される。「NetBIOSデータグラム・サービス」とも呼ばれます。
139 NETBIOS Session Service
TCP ファイル/プリンタ共有に使用されます。「NetBIOSセッション・サービス」とも呼ばれます。
445 Microsoft-DS
TCP/UDP Windows 2000/XPであらたに加わったダイレクト・ホスティングSMBサービスのことで、ネットワークを通じてファイル共有やプリンタ共有を実現するプロトコルのこと。

◎フィルタリングルール設定
No. 方向 送信元IPアドレス 宛先IPアドレス プロトコル 送信元ポート番号 宛先ポート番号 ACT
1 WAN→LAN 0.0.0.0/0 0.0.0.0/0 TCP/UDP 23 * 破棄
2 LAN→WAN 0.0.0.0/0 0.0.0.0/0 TCP/UDP * 23 破棄
3 WAN→LAN 0.0.0.0/0 0.0.0.0/0 TCP/UDP 135 * 破棄
4 LAN→WAN 0.0.0.0/0 0.0.0.0/0 TCP/UDP * 135 破棄
5 WAN→LAN 0.0.0.0/0 0.0.0.0/0 TCP/UDP 137-139 * 破棄
6 LAN→WAN 0.0.0.0/0
0.0.0.0/0 TCP/UDP * 137-139 破棄
7 WAN→LAN 0.0.0.0/0 0.0.0.0/0 TCP/UDP 445 * 破棄
8 LAN→WAN 0.0.0.0/0 0.0.0.0/0 TCP/UDP * 445 破棄



■代表的なサービスポート例

ポート サービス名 プロトコル 備考
53 domain UDP DNS
25 smtp TCP メール送信
110 pop メール受信
20 ftp-data TCP データ転送
21 ftp(controll) データ・コントロール
119 nntp TCP ニュースグループ
80 http TCP 通常
443 https 暗号化
123 ntp UDP 時刻同期。
1080 socks   ソケット通信
7000 VDO Live UDP VDO Live
7000 IRC TCP IRC
Real Playerに関しては「RealNetworks RealSystem のファイヤーウォール サポート」を参照してください。
Yahoo!Messangerのボイスチャットに関しては「Yahoo! ヘルプ - オーディオ・セットアップ・ウィザード」を参照してください。





攻撃を仕掛ける場合や踏み台として利用する場合に代表的な手法として使われているのがIPアドレスの偽装(IPスプーフィング)です。その中でも特にプライベートアドレスやループバックアドレス(127.0.0.1)を偽装する場合が多く見受けらます。プライベートアドレスはLANなどの閉じたネットワークで利用するアドレスであり、一般にこのアドレスが書かれているパケットがインターネット上を流れることはありません。また、ルータが受け取るIPアドレスでループバックアドレスが発信元であるパケットもあり得ないため、これも拒否するようにしてください。以下のフィルタリングルールはコマンドラインでフィルタ設定する場合の例です(参考:「グローバルアドレスとプライベートアドレス」)。

■フィルタリングルール

ip filter 1 reject 10.0.0.0/8 * * * *
ip filter 2 reject 172.16.0.0/12 * * * *
ip filter 3 reject 192.168.0.0/24 * * * *
ip filter 4 reject 127.0.0.1 * * * *

※上記のフィルタリングルールは、WAN側からLAN側に対してだけではなく、LAN側からWAN側に対しても設定するようにしてください。





◎フィルタリングルール設定
No. 方向 送信元IPアドレス 宛先IPアドレス プロトコル 送信元ポート番号 宛先ポート番号 ACT
9 WAN→LAN 10.0.0.0/8   * * * 破棄
10 WAN→LAN 172.16.0.0/12
  * * * 破棄
11 WAN→LAN 192.168.0.0/16   * * * 破棄
12 WAN→LAN 127.0.0.1   * * * 破棄
13 LAN→WAN
10.0.0.0/8 * * * 破棄
14 LAN→WAN
172.16.0.0/12 * * * 破棄
15 LAN→WAN   192.168.0.0/16 * * * 破棄
16 LAN→WAN   127.0.0.1 * * * 破棄





ICMPを利用した「Pingコマンド」に応答しないことによってコンピュータの存在そのものをインターネット上から仮想的に隠蔽することができます。つまり、外部から見た場合、コンピュータの電源が入っていない状態、もしくはインターネットに接続していないのと同じ状態となるため、セキュリティが高まります。ただし、ルータによっては、ICMPそのものを拒否してしまうこともあり、 LANからの「ping」も通さない可能性もあります。設定を行うにはWAN側からLAN側への「ping」を禁止し、LAN側からWAN側への「ping」を許可しておく必要があります(参考:「ICMPとは?」)。その際は、ICMPメッセージのうち、ICMP EchoとEcho Replyをフィルタリングします。もしよくわからないという方はWAN側からLAN側へのping応答そのものを遮断するように設定してください。以下のフィルタリングルールはコマンドラインでフィルタ設定する場合の例です。


■フィルタリングルール

ip filter 8 reject * * icmp-info * *



◎フィルタリングルール設定
No. 方向 送信元IPアドレス 宛先IPアドレス プロトコル 送信元ポート番号 宛先ポート番号 ACT
17 WAN→LAN 0.0.0.0/0 0.0.0.0/0 ICMP * * 破棄






ルータに対してTelnetを許可していると、仮にルータが乗っ取られてしまった場合に重大な問題が発生します。ルータは、サイトに対するあらゆるパケットが通過するので、ルータを乗っ取られてしまうと、そのサイトのあらゆるデータを参照することができ、いかなる攻撃を仕掛けることも可能となってしまいます。ルータを踏み台として他サイトへの侵入も試みることができるようになるため、必要がない限りはルータに対するTelnetは拒否するように設定しなくてはなりません。この時に、複数台のコンピュータを同時に使用している場合は、LAN側からのみ許可するように設定してください。また、Windowsに付属するNetMeetingやシマンテックのpcAnywhereなど、遠隔地にあるコンピュータをリモートコントロールできるアプリケーションを使用する際には注意する必要があり、こうしたソフトのポートが乗っ取られてしまうと、リモートコントロールの機能がそのままスパイウェアとして使われてしまう恐れもできてきます。以下のフィルタリングルールはコマンドラインでフィルタ設定する場合の例です。


■フィルタリングルール

ip filter 6 reject * 192.168.0.1 tcp,udp * 23

※なお、赤色の部分はルータのIPアドレスを指定してください。





残念ながら、パケットフィルタリングは万能ではありません。パケットフィルタリングで防ぐことのできる攻撃はいくつもある不正アクセス攻撃の一部でしかありません。なぜなら、パケットフィルタリングは通過を許可しているパケットの中身についてはなんら関与しないからです。つまり、普通にHTTP80番を通ってきたパケットが正常なパケットであるか、不正なパケットであるかを判断することはできないのです。通過を許可しているパケットを利用した攻撃(アタッカーは通常、許可されているサービスポートを狙って攻撃します)についてはなんら効果を発揮しません。パケットフィルタリングを施したからといって油断せず、限界を知った上での新たな不正アクセス防止策を実施する必要があります。

◎パケットフィルタリングで防げない不正アクセスの手口
手口
WebやDNSなどの公開サービスのセキュリティホール
CGIプログラムミスによるセキュリティホール
ブラウザのセキュリティホールを突いた受動的な攻撃
サービス停止攻撃(DDoS、DoS攻撃)
メールの不正中継
メール爆弾
掲示板荒らし
コンピュータウィルス
Web経由、メール経由によるトロイの木馬型ウィルス
RASサーバーやVPNなど内部LANの裏口
ルータやOSに付属するフィルタリング自体のバグ




 

Copyrights©KORO 2002-08 All Rights Reserved.Since 02/08/15 | サイトのプライバシーポリシー