ここで紹介する設定内容は
T-com.txt
としてここ置いてあります。
TE4121C用です。
この設定内容を使用する場合は一旦ディスクに保存し、これをTE4121Cのルーター設定画面からリストアしてください。
接続IDとパスワードはご自分のものを設定してください。
ADSL 8Mbpsサービスでは住友電工のADSLモデムルータ「MegaBit Gear TE4121C」が T-comや eAccessなどで採用されています。
そこで皆が悩むIPフィルタリングについて、その設定方法を記載することにします。
ここに記述した内容はそのまま「TE4111C」にも適用できます。
-
IPフィルタについて
インターネットという大海には恐ろしい敵がいっぱいいます。
この敵は攻撃(アタック)を仕掛けてあなたのホスト(パソコンのこと)のデータを改竄したり、操作不能にしようといつも時期を伺っています。
これらのアタックを受けにくくするのがIPフィルタの主な目的です。
セキュリティを確保するために設定するIPフィルタリングは以下の方針で行うこととします。
-
基本的に外部(WAN)からTCPコネクションが開始できないようにします。
すなわち、内部(LAN)からWANに対して開始するTCP/IPリクエストに対してのリプライパケットは受け取るが、WANからLANに対して開始するTCPリクエストは受け付けないようにします。
-
LANにある資源(リソース)はWANに見せないようにします。
-
LANで動作しているWindows用ポートのパケットはWANに出さないようにします。
また逆にWANからのWindows用ポートのパケットもLANに入れないようにします。
-
ポート
UNIXの世界でアプリケーションソフトはこのポート番号に対応して動作します。
例えばWWWアプリケーションのポート番号は80です。
TCPプロトコルでポート番号80のパケットが届くと、このパケットデータはWWWアプリケーションソフト(例えば apatchなどの httpd(httpデーモン))に渡されます。
-
デーモン
UNIXの世界でメモリ上に常駐しているプログラムのことを言います。
(注)
TCP/IPというのはUNIXの世界で発展したプロトコルなので、これを理解するにはUNIXの知識も必要です。
正しい理解はUNIXを避けてはできません。
-
IPフォワードについて
IPフィルタはWANとLANの間にいるルーター(TE4121C)に指示して指定パケットの通過を拒否して「非通過」にすることです。
非通過となったパケットは捨てられます。
これに対してある条件の元でパケット通過を積極的に指示することがあります。
例えば、LAN内に設置したWWWサーバーをWAN側(インターネット)に公開したい場合などです。
この時に設定するのがIPフォワードなのです。
TE4121Cの場合は、IPフィルタもIPフォワードも同じ「IPフィルタ」という画面で設定します。
IPフィルタの場合は動作(アクション)を「非通過」とし、IPフォワードの場合は「通過」とします。
(注)
TE4121Cのルーター機能だけを使ったLAN構成の場合、LAN内のホストと外部に公開するサーバーが同一LANに混在することになります。
このままサーバーをWANに公開するのは非常に危険なことです。
と言うのはサーバーソフトでセキュリティが完璧なものはほとんどないので、サーバーがハッキングされると、その同一LAN上にあるホストも全てサーバー経由ハッキングされる可能性があるためです。
どうしてもWANにサーバーを公開したければ、TE4121CにはWAN公開するサーバーを直結し、もう1台ルーターを追加してこれのWAN側は TE4121Cに直結してLAN側に内部LANを構築するようにネットワークを分けてしまいましょう。
私からの助言です。
TE4121CのIPフィルタ画面での設定項目は以下のようになっています。
(優先度)(I/F)(IP-SA)(IP-DA)(プロトコル)(SP)(DP)(アクション)
このような設定が32個設定できます。
-
優先度
優先度の高いものから順にパケットと設定条件が合うかをチェックします。
条件が合致すると(アクション)で指定した動作を実行します。
条件が合致したらそこでチェックは終わりです。
設定を全部チェックしても条件が合致しなかったら、そのパケットは通過します。
-
I/F
インタフェースです。
「WAN-in」「WAN-out」「LAN-in」「LAN-out」の4種類が指定できます。
- 「WAN-in」とはWANからTE4121Cへの入力
- 「WAN-out」とはTE4121CからWANへの出力
- 「LAN-in」とはLANからTE4121Cへの入力
- 「LAN-out」とはTE4121CからLANへの出力
上記では「WAN-in」などと表現しましたが、TE4121Cでは「接続先1からの受信」「接続先1へ送信」「LANから受信」「LANへ送信」と日本語で表示されます。
この日本語表現が理解するのに邪魔をします。
インタフェースはどこでフィルタをかけるかというインターフェースの場所を示すものなのに、この日本語表現だとアクションを示すような曖昧な表現となっているのです。
正しい日本語にしてほしいです。
私だったら「WAN受信入口」「WAN送信出口」などとしますがね。
-
IP-SA
ソースIPアドレスです。
form〜to〜の from側のIPアドレスです。
I/Fが「WAN-in」「LAN-out」の場合WANのIPアドレスを指定します。
I/Fが「WAN-out」「LAN-in」の場合LANのIPアドレスを指定します。
「xx.xx.xx.xx/xx」の表記とします。
「0.0.0.0/0」は全てのIPアドレスという意味になります。
例えば「192.168.1.0/24」と記述すると「192.168.1.0〜192.168.1.255」を意味し、「192.168.1.0/32」と記述すると「192.168.1.0」だけを意味します。
-
IP-DA
ディスティネーションIPアドレスです。
form〜to〜の to側のIPアドレスです。
I/Fが「WAN-in」「LAN-out」の場合LANのIPアドレスを指定します。
I/Fが「WAN-out」「LAN-in」の場合WANのIPアドレスを指定します。
「xx.xx.xx.xx/xx」の表記とします。
「0.0.0.0/0」は全てのIPアドレスという意味になります。
例えば「192.168.1.0/24」と記述すると「192.168.1.0〜192.168.1.255」を意味し、「192.168.1.0/32」と記述すると「192.168.1.0」だけを意味します。
-
プロトコル
TCP, UDP, ICMPなどのプロトコルを指定します。
「*」を指定すると全てのプロトコルを意味します。
-
SP
ソースポート番号です。
form〜to〜の from側のポート番号です。
I/Fが「WAN-in」「LAN-out」の場合WANのポート番号を指定します。
I/Fが「WAN-out」「LAN-in」の場合LANのポート番号を指定します。
「*」を指定すると全てのポート番号を意味します。
「137-139」と書くと137,138,139のポート番号を指定したことになります。
「www」と書くとポート番号80を指定したことになり、「www」の代わりに「80」と書いても構いません。
-
DP
ディストネーションポート番号です。
form〜to〜の to側のポート番号です。
I/Fが「WAN-in」「LAN-out」の場合LANのポート番号を指定します。
I/Fが「WAN-out」「LAN-in」の場合WANのポート番号を指定します。
「*」を指定すると全てのポート番号を意味します。
「137-139」と書くと137,138,139のポート番号を指定したことになります。
「www」と書くとポート番号80を指定したことになり、「www」の代わりに「80」と書いても構いません。
-
アクション
以上で説明した各設定項目が合致した時にどうするかということを記述します。
「通過」「非通過」のいずれかが設定できます。
(IP-SA)(IP-DA)(プロトコル)(SP)(DP)での項目で何をチェックしているのかと言うと、(I/F)を通過しようとしているパケットのヘッダーを評価しているのです。
TCP/IP等のヘッダーにはこれらの情報があります。
以上を纏めると、この4つのケースがあることになります。
それでは実際に設定をしてみます。
WANからのアタックに対するセキュリティを確保するために設定します。
ですから設定する場所は「WAN-in」または「WAN-out」で良いです。
WANから見てLANをステルスに設定します。
(WAN-in)(0.0.0.0/0)(0.0.0.0/0)(ICMP)(*)(*)(非通過)
pingはICMPというプロトコルを使います。
よって、上記はWANからの全てのICMPパケットを遮断します。
WANからTCPコネクションを開始できないようにする。
(WAN-in)(0.0.0.0/0)(0.0.0.0/0)(TCP-SYN)(*)(*)(非通過)
細かい説明は省きますが、TCPヘッダでSYNフラグが立っているとTCPコネクションの開始リクエストになります。
このリクエストパケットを遮断します。
この2つの設定でWANからLANがステルスになります。
更に念のため、TE4121C宛のWWWとFTPのパケットも遮断します。
これは、TE4121Cにはルータ設定のためのWWWサーバーと、ファームウェア更新のためのFTPサーバーを持っているので、これをWANからステルスにするのです。
上記の2つの設定をしていれば、外部からTCPコネクションを開始できないので、この設定なしでも大丈夫のはずですが、あくまでも念のため蛇足としてやるものです。
(WAN-in)(0.0.0.0/0)(自分宛)(TCP)(*)(WWW)(非通過)
TE4121C宛FTPの遮断
(WAN-in)(0.0.0.0/0)(自分宛)(TCP)(*)(20-21)(非通過)
ポート番号20,21はFTPを示します。
ここで「IP-DA」に記述した「自分宛」とはTE4121Cそのものをさします。
自分=TE4121CのWWWまたはFTPサーバー
です。
-
Windows専用パケットをWAN側に撒き散らさないようにします。
ポート番号137,138,139,445を遮断します。
(WAN-out)(0.0.0.0/0)(0.0.0.0/0)(*)(*)(137-139)(非通過)
(WAN-out)(0.0.0.0/0)(0.0.0.0/0)(*)(*)(445)(非通過)
WAN側からのWindows専用パケットも受け取らないようにします。
(WAN-in)(0.0.0.0/0)(0.0.0.0/0)(*)(137-139)(*)(非通過)
(WAN-in)(0.0.0.0/0)(0.0.0.0/0)(*)(445)(*)(非通過)
次にプライベートアドレスを使用したWANとの通信を禁止します。
(WAN-in)(10.0.0.0/8)(0.0.0.0/0)(*)(*)(*)(非通過)
(WAN-in)(172.16.0.0/12)(0.0.0.0/0)(*)(*)(*)(非通過)
(WAN-in)(192.168.0.0/16)(0.0.0.0/0)(*)(*)(*)(非通過)
(WAN-out)(0.0.0.0/0)(10.0.0.0/8)(*)(*)(*)(非通過)
(WAN-out)(0.0.0.0/0)(172.16.0.0/12)(*)(*)(*)(非通過)
(WAN-out)(0.0.0.0/0)(192.168.0.0/16)(*)(*)(*)(非通過)
以上を纏めると以下のような設定になります。
これだけやっておけばセキュリティレベルはかなり上がったはずです。
(70)(WAN-out)(0.0.0.0/0)(0.0.0.0/0)(*)(*)(137-139)(非通過)
(71)(WAN-out)(0.0.0.0/0)(0.0.0.0/0)(*)(*)(445)(非通過)
(72)(WAN-in)(0.0.0.0/0)(0.0.0.0/0)(*)(137-139)(*)(非通過)
(73)(WAN-in)(0.0.0.0/0)(0.0.0.0/0)(*)(445)(*)(非通過)
(80)(WAN-in)(10.0.0.0/8)(0.0.0.0/0)(*)(*)(*)(非通過)
(81)(WAN-in)(172.16.0.0/12)(0.0.0.0/0)(*)(*)(*)(非通過)
(82)(WAN-in)(192.168.0.0/16)(0.0.0.0/0)(*)(*)(*)(非通過)
(83)(WAN-out)(0.0.0.0/0)(10.0.0.0/8)(*)(*)(*)(非通過)
(84)(WAN-out)(0.0.0.0/0)(172.16.0.0/12)(*)(*)(*)(非通過)
(85)(WAN-out)(0.0.0.0/0)(192.168.0.0/16)(*)(*)(*)(非通過)
(90)(WAN-in)(0.0.0.0/0)(自分宛)(TCP)(*)(20-21)(非通過)
(91)(WAN-in)(0.0.0.0/0)(自分宛)(TCP)(*)(WWW)(非通過)
(92)(WAN-in)(0.0.0.0/0)(0.0.0.0/0)(TCP-SYN)(*)(*)(非通過)
(93)(WAN-in)(0.0.0.0/0)(0.0.0.0/0)(ICMP)(*)(*)(非通過)
最初の数字は優先度です。
コメント
-
pingについて
上記の設定をするとWANからのpingを受け付けなくなると同時に、LANからWANに対してのpingも実行できなくなります。
もし、LANからWANに対してのpingを実行をする場合は一時的に上記の優先度93の設定を優先度0にすることで実行可能になります。
-
FTPについて
上記の設定をすると一部のFTPクライアントが動作しなくなったり、ファイル名表示が非常に遅くなることがあります。
解決方法には以下があります。
-
TE4121C用の
T-com.txt
をTE4111Cで使うには
この「T-com.txt」に記述されている「vc_pcr:0="16Kbps"」を「vc_pcr:0="8Kbps"」に書き換えるか、この行を削除します。
これでたぶんTE4111Cでリストアできると思います。(私はTE4111Cを持っていないので確認できませんので推定です。結果を誰か教えてください。)