class: title, smokescreen, shelf, no-footer # フィルタリング <div class=footnote> </div> --- class: col-2, compact # 復習: 通信のために必要な情報 - 通信するには5つの情報を指定します | 変数 | 内容 | | --------- | --------- | | SRC_IP | 送信元のIP | | SRC_PORT | 送信元のポート | | DST_IP | 送信先のIP | | DST_PORT | 送信先のポート | | PROTOCOL | プロトコル | ![](/images/network/end-to-end.png) --- class: img-right,compact # 書き方の例: なんでも通す(書きようがない) ![width480px](images/permit-any.png) - 家庭ネットワークの出口は、たいてい、なんでも通しています (デフォルトでは何も考えてない:-) - このばあい図の書きようがないです(w) - しょうがないので「なんでも許可」と書いてあります --- class: img-right,compact # 書き方の例: HTTP/1.0とSMTPのみ許可 ![width480px](images/permit-http,smtp.png) - 右図のように許可する通信を**プロトコル**と**ポート番号**の情報 (例: 80/tcp)とともに書きこんでください - 矢印の方向は「クライアント -> サーバ」としてください - **暗黙の前提として、図に書かれていない通信は拒否している**とします <div class=footnote> このままでは、インターネットが普通には使えませんね?(第4回を復習) </div> --- class: img-right,compact # 書き方の例: ISP側でSMTPのみ禁止 ![width480px](images/permit-any-but-ob25b.png) - SPAM対策で、 ISP側のルータでは、 家庭など誰が使っているかよくわからないネットワークからのメール送信を禁止しています - BフレッツのISP側ルータ(対向ルータ)あたりで右図のようなフィルタをかけます - 参考(図の書き方とは関係ありませんけど、おまけ情報) - 家庭内メールサーバからのメール送信は禁止されているので、 認証して送信を許すとか、なにか考えないといけません - ウエブメールの場合は、そもそもサーバがプロバイダ側にあるので全然ちがう条件ですね --- class: title, smokescreen, shelf, no-footer # 参考: フィルタリング <div class=footnote> 以下、レポートを書くうえで必須情報ではありません </div> --- class: compact # フィルタルールの書き方 <div class=footnote> (脚注)PROTOCOLってそれだけ?と思ったあなたはするどい。ふつう謎のプロトコルは不許可 </div> |アクション|プロトコル|送信元IP|送信元ポート|送信先IP|送信先ポート|オプション| |----------|----------|--------|------------|--------|------------|----------| | PERMIT | TCP,UDP | ANY | ANY | ANY | ANY | | | PERMIT | ICMP | ANY | | ANY | | | | PERMIT | ANY | ANY | | ANY | | | 実際の設定は次のような感じに書きます (メーカーごとに少しずつ流儀が異なります、以下はCISCOっぽい架空の書き方です) ``` 凡例: アクション PROTOCOL SRC_IP SRC_PORT DST_IP DST_PORT [なんでも通す家庭のルータは次のように書けますね] permit tcp any any any any permit udp any any any any permit icmp any any ``` --- class: compact # フィルタルールはインターフェイスと向きごとに書く - (以下、CISCOっぽい人工のルールです) - ルータの外側インターフェイスを Ethernet 0 としています - Ethernet 0に対し、パケットがルータへ向かってくる方向をin、逆がout <br> つまり in は**社外->社内**、out は**社内->社外** - establishedはTCPの(ACKがたっている)状態です。正しいフィルタを書くためにはTCP/IPの動作の詳細を知らないといけないことがわかりますね ``` [社内から社外へHTTPのみを許可 (凡例: ACTION PROTOCOL SRC_IP SRC_PORT DST_IP DST_PORT)] interface Ethernet 0 ip access-group 101 999 in ip access-group 202 999 out access-list 101 permit tcp any any any any established access-list 202 permit tcp any any any 80 access-list 999 deny any any any ``` --- class: compact # フィルタルール: HTTP/1.0とSMTPしか許さない - ルータの外側インターフェイスを Ethernet 0 とします - Ethernet 0に対してルータへ向かってくる方向がin、逆がout <br> つまり in は**社外->社内**、out は**社外->社内** - establishedはTCPの(ACKがたっている)状態です。正しいフィルタを書くためにはTCP/IPの動作の詳細を知らないといけないことがわかりますね ``` [SMTPとHTTPのみを許可 (凡例: ACTION PROTOCOL SRC_IP SRC_PORT DST_IP DST_PORT)] interface Ethernet 0 ip access-group 101 999 in ip access-group 204 999 out access-list 101 permit tcp any any any any established access-list 204 permit tcp any any any 25,80 access-list 999 deny any any any ``` --- class: compact # フィルタルール: OB25B (Outbound Port 25 Blocking) - ISPのルータ(インターネット向きの25/tcpだけ禁止) - Ethernet 1 がBフレッツの反対側にいるルータの対向インターフェイス - inは「社内 -> 社外(インターネット)」 方向 - 25/tcpを禁止するルールでは、ポート番号もあるので、 `deny tcp any any any 25` のように書きます ``` interface Ethernet 1 ip access-group 901 100 in ip access-group 100 out access-list 901 deny tcp any any any 25 access-list 100 permit any any any any any ```