Comments
Description
Transcript
情報ネットワーク
Private IP Address • 情報ネットワーク • Private IP Address NAT, NAPT Firewall IPsec, TLS(SSL) (RFC1631) Network Address Translation • Private IP NetworkとGlobal IP Network を 接続するルータにおいて、 中継時にIPアドレスを相互に書き換える。 ver hlen quality packet識別子 TTL packet length flags 上位protocol 分割番号 checksum source IP Address 拡張部 上位層のデータ Global IP Address • • 今まで説明してきたIPアドレス。 • • だれでも自由に使って良いIPアドレス。割当の申請などが不要。 • Private IP Addressをもつノードは一意に識別できないので、 Global IPネットワーク(=Internet)に接続してはいけない。 インターネット上でユニークでなければならない。 Private IP Address Private IP Addressとして解釈されるIPアドレスの範囲 10. 0. 0.0/8 172. 16.0.0/12 192.168.0.0/16 (Dynamic) NAT Router • 少数のGlobal IP Addressを使い回すため、 • Private側から通信を開始したときに、 • プールしているGlobal IPの数により、同時接続数の上限が決まる。 private IP addressとの対応関係が変化する。 空いてるGlobal Addressを対応付ける。 !"#$!%&$!$! private !"#$!%&$!$( destination IP Address パディング (RFC1918) 使用中 192.168.1.1 !"#$!%&$!$' !"#$!%&$!$" 使用中 192.168.1.7 空き global 157.80.12.21 157.80.12.22 157.80.12.23 (RFC2391) (Network Address Port Translation) NAPT • NAPT 第3層のIPアドレスだけでなく、 第4層のポート番号部分も書き換える。 • • ver hlen IPアドレス:NAPTルータのIPアドレスを使用。 ポート番号:コネクションごとに1024∼65535を使用。 quality packet識別子 TTL 上位protocol 分割番号 拡張部 • • NAPTのGlobal Address1つにマップされる。 同時接続台数に実質的に制限なし。 TCP DST PORT# SEQ# checksum ACK# data offset destination IP Address payload TCP SRC PORT# packet length flags source IP Address パディング ECN code bit checksum • urgent pointer 192.168.1.3:13 (option) (上位層のdata) End-to-Endの原則 通信によって行われるサービスはノード同士の問題である。 Internetは データを運ぶ単なるパイプであり、 通信内容を感知しないし、処理を加えることもない。 Stupid Network 双方向で対称な通信の原則 (Bi-directional Symmetric Communication) • 変換表 window 192.168.1.7:901 192.168.1.7:789 Internet の大原則 • • NAPT 192.168.1.1 payload (上位層のdata) • (RFC2391) 接続ノードは対等であり、双方向に通信できる。 157.80.12.23 private connection 192.168.1.3:13 global,port 157.80.12.23:3452 192.168.1.7:901 157.80.12.23:4439 192.168.1.7:789 157.80.12.23:9872 NAT,NAPTの問題点 • Internetの特徴である End-to-End モデルが崩れる。 • • NAT, NAPTは通信内容をモニターし、干渉する。 Internetの特徴である「対称性,双方向性」が崩れる。 • Private側からは通信を開始することができるが、 Global側からNAPTの内側のノードに対して 通信を開始することができない。 Port Forwarding • Proxy Server(代理サーバ) (外から)特定のポートに届いたパケットを (内側の)指定したIPアドレス, port番号に転送したい。 • NAPTの対応表に、静的なエントリを追加すればよい。 NAPT !"#$!%&$!$! !"#$!%&$!$()!( !"#$!%&$!$")&* 対応表 private connection global,port 192.168.1.1:13 157.80.12.23:3452 • NAT,NAPTを使うと、Private Networkの情報が • NAT/NAPTで行っていることは、 グローバルアドレス同士の変換でも可能である。 • 変換対象 外部に出ていない。 →匿名性の実現? • • 192.168.1.7:901 157.80.12.23:4439 192.168.1.7:789 157.80.12.23:9872 !"#$!%&$!$')"*! !"#$!%&$!$')'&" 社会基盤としてのインターネット • インターネット初期:コンピュータ技術者の道具 • 現在:社会基盤 • 様々な意図を持った様々な利用者層 政府、企業、素人、犯罪者、、、 「社会基盤としてのセキュリティが必要だ」 「技術者の倫理として、事前に 「危ないことが何か」がわかっているならば、 技術の設計段階から対策を考慮に入れておくべきである。」 • 何を、何から、どの程度に守るのか? セキュリティ ポリシー 特定のプロトコルのパケットのみをアドレス変換 部分的なproxyはクライアント側での設定が必要になる。 データに対する脅威 の種類 • みんなで協力して運用しましょう(性善説) • すべてのパケットについてアドレス変換 • • 原因 • • • 自然災害 事故 人為的 保護対象 • • 蓄積された情報 通信されている情報 影響 • • • • 盗難(盗聴) 改ざん 消失(破壊) なりすまし 破 Firewall (Filtering) • • • Packet Filtering 目的: 望ましくない 通信の遮断 • ある特定の技術/装置を指すのではなく さまざまな技術の集合体であることに注意 • 手段: • • Packet Filtering 第3層、第4層の情報に基づいて判断 (IPアドレス,port番号,向きなど) Contents Filtering 第5層以上の情報に基づいて判断 望ましくない ものをすべて挙げるのは難しいので、 原則は遮断とし、 望ましいもの を許可する。 許可するパケットはIP,port番号,向きなどで指定する。 • • • (中継するかどうかなどを) 第5層以上の情報で判断するもの。 • URL解析 • メール本文の解析 リクエストされたURLを解析し、有害サイトの場合には接続しない。 特定のポートのみ許可する 特定の向きのみ許可する deny ip from any to any allow tcp from any to any 80 out via tun0 allow udp from any to 157.80.82.254 53 out via tun0 allow tcp from any to any 25 out via tun0 allow tcp from any to any 110 out via tun0 Contents Filtering • 特定のIPのみ許可する DMZ (DeMilitarized Zone) • 外部の信頼できないネットワークと、 組織内の信頼できるネットワークの 中間に置かれるセグメント • 公開用Webサーバ、メール中継サーバ、 外部用DNSサーバなどを置くことが多い。 FW 受信したメールの本文および添付ファイルをチェックし、 ウィルスメール と判定された場合には添付ファイルを削除する。 FW FW SPAMメールと判定された場合にはspam印を付加する。 DMZ DMZ FirewallとWAP • 暗号技術(Cryptography) WAPをFirewallの内側においてしまうと、 組織外から内部ネットワークに接続されてしまう 危険性が高まる。 • 秘密情報( 鍵 )を知らなければ、 • • 暗号アルゴリズムE,Dは公開されていてもOK. WAP FW 暗号文Cから平文Pを得ることができない 何が守れるか • • • 通信内容がわからない 改ざんができない(破壊はできる) なりすましができない(発信元の保証ができる) 暗号鍵 P 平文 暗号通信 通信内容を秘密にすることができる。 •どの層で暗号化するかによって、様々な技術がある。 data 暗号化 • • • 暗号文 D P 平文 ネットワーク層において暗号化機能を提供する。 上位層に対して透過的にセキュリティを提供できる。 IPsecは、以下の4つの技術の集合体である。 • IKE (Internet Key Exchange): 暗号データ • AH (Authentication Header): 暗号化チェックサムを 付加することにより、発信元の認証と改竄検出するプロトコル。 カプセル化 通信 C data 復号 暗号データ 暗号データ E IPsec (IP security) •カプセル化する時に暗号化を行うことで、 header 復号鍵 FW header 暗号データ 送信者と受信者の間の鍵共有のためのプロトコル。 チェックサムの計算にはIPヘッダも含まれる。 • • ESP (Encapsulating Security Payload):データの機密保持。 IPcomp (IP payload compression) : ESPに先立って圧縮。 IPsec TCP/UDP header data IP header TCP/UDP header data ESP header TCP/UDP header data 4層からのデータ 通常のIPデータグラム VPN • IP header 離れた2つ以上のネットワークを専用線で 接続したのと同じ効果 • • ESP transport mode ESP trailer ESP 認証データ B AH transport mode(送信者の認証のみで、暗号化はなし) IP header AH TCP/UDP header カプセル化により、物理的に離れたセグメントを 単一のセグメントに見せる. IPsecを用いて、第三者からの盗聴防止 B 暗号化 認証対象 A data IP • IETFでRFC2246としてSSLを一般化し標準化したもの。 SSL (Secure Socket Layer) C 暗号化data IP data IP 暗 コネクションをカプセル化して流すことができる。 暗号通信機能をもたないアプリケーションでも暗号通信の恩恵が受けられる。 13453 WWWでの暗号化(HTTPS) data E 暗号文 hostC hostA MUA Netscape社が開発した暗号通信プロトコル TCP/UDP header D A sshで作った暗号通信コネクションの上を、それ以外のアプリケーションの TLS (Transport Layer Security) 4層のペイロードにはめこむ時に行う B sshのTCP port forwarding トランスポート層における暗号化 暗号化の処理は、5層のデータを 192.168.85.0/24 C D 復 認証対象 • • A 192.168.85.0/24 data TLS (SSL) (Virtual Private Network) ssh 110 POP3 server 自分自身の:13453ポートにアクセスすると、 hostC:110ポートに転送するように設定する。 ssh -L 13453:hostC:110 hostB POP3 server sshd hostB