情報システム管理 5. ネットワークとファイアウォール 水野嘉明 本日の内容 1. ネットワーク TCP/IPの 基本 2. ファイアウォール ファイアウォールによるセキュリ ティの保護について 2 本日の内容 1. ネットワーク 1.1 TCP/IP 1.2 IPアドレスとネットマスク 1.3 IPアドレスの割り当て 1.4 ポート番号 1.5 ネットワークの設定 2. ファイアウォール 3 1. ネットワーク サーバは、必ずネットワークに接続さ れる インターネットは、 世界中のコンピュ-タネットワーク を相互に接続した ネットワーク 4 1.1 TCP/IP インターネットのプロトコルには、 TCP/IP が使用されている Transmission Control Protocol / Internet Protocol 5 1.1 TCP/IP プロトコル (protocol)とは、 『通信規約』 データの形式 データ送受信の手順 などの約束事 多岐にわたる機能を分類するため、 階層化 されている 6 1.1 TCP/IP TCP/IP の階層構造 応用層 (SMTP,POP3, HTTP,FTP など) トランスポート層(TCP) インターネット層(IP) ネットワーク インタフェース層 7 1.1 TCP/IP OSI参照モデル ネットワークに必 要な機能を、7つ の階層に分けて 定義している ISO(国際標準 化機構)が制定 応用層(アプリケーション層) プレゼンテーション層 セッション層 トランスポート層 ネットワーク層 データリンク層 物理層 OSI 参照モデル 8 1.1 TCP/IP TCP/IPとOSI参照モデルの対応 トランスポート層(TCP) インターネット層(IP) ネットワーク インタフェース層 応用層 プレゼンテーショ ン層 セッション層 トランスポート層 ネットワーク層 データリンク層 物理層 TCP/IP OSI 参照モデル 応用層 (SMTP,POP3, HTTP,FTP など) 9 1.1 TCP/IP パケット交換 (インターネット層の通信) ネットワーク同士は、ルータを介し てつながっている パケット交換方式 データをパケットと呼ばれる単位 に区切り、 「バケツリレー式」で受け渡す 10 1.1 TCP/IP ルータ ルータ ルータ (パケット) パケット交換の様子 11 1.1 TCP/IP パケット交換(バケツリレー)に必要 な情報 IPアドレス ホストの区別 ネットマスク ネットワークアドレスを計算 ルーティング情報 受取ったパケットの転送先 12 1.2 IPアドレスとネットマスク IPアドレス ネットワークに接続されたホストを 一意に識別するための数値 IPv4では32ビット、IPv6では128 ビット (いまだ主流は IPv4) IPv4では、0~255の数値4ヶを ピリオドで区切って表示 例) 160.30.21.110 13 1.2 IPアドレスとネットマスク IPアドレスは、ネットワークアドレス 部とホストアドレス部に分かれる 例) 160.30.21.110 ネットワークアドレス ホストアドレス (ネットワークアドレスは、可変長。 これは、16ビットの場合) 14 1.2 IPアドレスとネットマスク 例) 160.30.21.110 ネットワークアドレス ホストアドレス ネットワークアドレス ネットワークを識別 ホストアドレス ネット内のホストを識別 15 1.2 IPアドレスとネットマスク ネットマスク (サブネットマスク) ネットワークアドレスの長さを示す ネットワークアドレス部を1とした ビット列 例1) 255.255.0.0 例2) IPアドレスとあわせて、 160.30.21.110/16 という表記も可 ネットワークアドレスの長さ=16ビット 16 1.2 IPアドレスとネットマスク IPアドレス 192.168.10.6 ネットマスク 255.255.255.128 の時 11000000 10101000 00001010 00000110 192 . 168 . 10 . 6 11111111 11111111 11111111 10000000 255 . 255 . 255 . 128 ネットワークアドレス ホスト アドレス 17 1.2 IPアドレスとネットマスク ホストアドレス部が、全て0および全て1 のアドレスは、特殊用途に使われる 一般のホストに割り付けることができ るのは、その他のアドレス 例) ネットワークアドレス 192.168.10.0 サブネットマスク 255.255.255.128 ⇒192.168.10.1 ~ 192.168.10.126 が使用可 18 1.2 IPアドレスとネットマスク 以前は、IPアドレスは、5つのアドレ スクラス に分類されていた クラスA~クラスCが通常使われる (クラス D、E は特殊用途用) ホストアドレス部の長さが、クラス により決まっている (ネットワークの規模が異なる) 19 1.2 IPアドレスとネットマスク アドレスクラスA~C クラス 規模 ホスト部 アドレスの範囲 A 大 24 ビット B 中 16 ビット 128.0.0.0~191.255.255.255 C 小 8 ビット 192.0.0.0~223.255.255.255 0.0.0.0~127.255.255.255 20 1.3 IPアドレスの割り当て IPアドレスは、勝手には決められな い 衝突(重複)が起こっては困る 世界中でユニーク 21 1.3 IPアドレスの割り当て グローバルIPアドレス 世界中で一意なIPアドレス 日本では、JPNICという組織が割 り当てを行っている JPNIC プロバイダ ユーザ 22 1.3 IPアドレスの割り当て プライベートIPアドレス アドレスの枯渇が問題 ローカルなネットワーク内では、厳 密な(世界中での)一意性は保証し なくても良い ローカルなネットワーク内だけで通 用するIPアドレスを割り振る 23 1.3 IPアドレスの割り当て プライベートIPアドレスは、ネット ワーク外に出してはならない (ネットワーク外と通信できない) ローカルな ネットワーク ルータ インターネット 24 1.3 IPアドレスの割り当て プライベートIPアドレスでは、外部 にアクセスできない 外にアクセスするときは、NAT等 の技術を使用する (後日解説する予定) サーバは、通常グローバルIPアド レスを用いる 25 1.3 IPアドレスの割り当て 推奨されるプライベートIPアドレス プライベートでも、どんなIPアドレ スを使っても良いわけではない クラスA 10.0.0.0 ~10.255.255.255 クラスB 172.16.0.0 ~172.31.255.255 クラスC 192.168.0.0 ~192.168.255.255 26 1.3 IPアドレスの割り当て 固定IPアドレスと動的アドレス 通常、サーバのIPアドレスは固定 PCなどは、接続するごとにIPアド レスを割り当てることが可能 ⇒ DHCP を用いる (後日解説) 27 1.4 ポート番号 1台のホスト上で、複数のプログラム が同時に通信を行う ポート番号により、サービス(アプ リケーション)を区別する クライアント ブラウザ 80番ポート Webサーバ メーラ 25番ポート メールサーバ 28 1.4 ポート番号 IPアドレスでホストを特定し、ポート 番号でその中のサービス(アプリ ケーション)を指定する IPアドレス+ポート番号=ソケット 0~1023番は、インターネット上で よく使用されるサービスに割り当てら れている ⇒ ウェルノウン ポート番号 29 1.4 ポート番号 代表的なウェルノウンポート番号 サービス 機能 番号 Web 80 Webサーバ FTP 20 ファイル転送(データ) FTP 21 ファイル転送(コマンド) SSH 22 リモートホストの操作(暗号化) Telnet リモートホストの操作 23 DNS 53 ホストの名前解決 SMTP 電子メールの配信 25 POP3 メールサーバからの受信 110 30 1.5 ネットワークの設定 ifconfig コマンド ネットワークインターフェースに、I Pアドレスとネットマスクを設定する $ ifconfig if ipaddr [mask] $ ifconfig [if [option]] if : インターフェース名 ipaddr: IPアドレス mask: ネットマスク指定 31 1.5 ネットワークの設定 ifconfig コマンドの例 $ ifconfig eth0 eth0 の設定を表示 $ ifconfig eth0 down eth0 を停止 (up にて起動) 32 1.5 ネットワークの設定 ifconfig コマンドの例 $ ifconfig eth0 192.168.11.4 netmask 255.255.255.0 eth0 にIPアドレスとネットマスクを設定 33 1.5 ネットワークの設定 ルーティングテーブル IPパケットを送信する時に、 「どこ宛のパケットはどのルータに 送ればよいか」 といった経路情報を記したテーブ ル 34 1.5 ネットワークの設定 route コマンド ルーティングテーブルの管理 経路情報の追加/削除/変更/表示 $ route com target [option] $ route [option] com : コマンド (add / del) target: 対象のネットワーク / ホスト 35 1.5 ネットワークの設定 routeコマンドの例 $ route add default gw mango-gw デフォルト経路を追加する $ route add -net 192.57.66.0 netmask 255.255.255.0 ネットワーク 192.57.66.x を追加する 36 1.5 ネットワークの設定 routeコマンドの例 $ route del -net 192.57.66.0 ネットワーク 192.57.66.x を削除する 37 1.5 ネットワークの設定 routeコマンドの表示例 デフォルトゲートウェイ 38 1.5 ネットワークの設定 netstat コマンド ネットワークの状態や統計情報を一 覧表示する $ netstat [option] option なし: 有効な接続のみ表示 -a : すべての接続を表示 -s : 統計情報を表示 -r : ルーティングテーブルを表示 39 本日の内容 1. ネットワーク 2. ファイアウォール 2.1 スーパデーモンによる制御 2.2 ファイアウォールとは 2.3 パケットフィルタ 2.4 アプリケーションゲートウェイ 2.5 DMZとファイアウォール 40 2. ファイアウォール セキュリティのためには、無条件に通 信を許すことはできない ⇒ 通信相手や通信内容等によって、 アクセス制限 スーパデーモンでのアクセス制御 パケットフィルタ型ファイアウォール アプリケーションゲートウェイ 41 2.1 スーパデーモンによる制御 xinetdによるアクセス制御 利用を許可する/禁止するホス ト・ドメインを指定 利用可能な時間帯を指定 NICによる制限 コネクション数の制限 ログについての設定 など 42 2.1 スーパデーモンによる制御 xinetdの設定ファイル 全てのサービスに共通の設定 /etc/xinetd.conf ファイル 各サービス個別の設定 /etc/xinetd.d/ ディレクトリ配下 のサービス名と同名のファイル (例: /etc/xinetd.d/telnet ) 43 2.1 スーパデーモンによる制御 xinetdの設定ファイル / ─ etc ┬─ xinetd.conf │ └─ xinetd.d ── telnet rsync swat : 44 再掲 2.1 スーパデーモンによる制御 inetd + TCPWrapper inetd には、xinetdのようなアクセ ス制御機能はない TCP Wrapper というアクセス制御 プログラムと組み合わせて利用 少々古いが、まだ現役 (KNOPPIXでは inetdを使用) 45 2.1 スーパデーモンによる制御 TCP Wrapper の設定 設定ファイルは、/etc/hosts.allow および /etc/hosts.deny hosts.allowには、アクセスを許可す るホストを書く hosts.denyには、アクセスを拒否す るホストを書く 46 2.1 スーパデーモンによる制御 1. /etc/hosts.allow で許可されている ホストは許可 2. 上記で許可されず/etc/hosts.deny で拒否されているホストは拒否 3. 両方に記述のないホストは許可 47 2.1 スーパデーモンによる制御 設定の記述方法 daemon_list : host_list [:command ] daemon_list 制御するサービス名 hosts_list 制御対象のホスト名、IPアドレス 48 2.1 スーパデーモンによる制御 command シェルコマンド、または、拡張コ マンド (ALLOW、DENY等) 注:拡張コマンドALLOW、DENYを 用いると、/etc/hosts.allowのみで アクセス制御を記述することがで きる 49 2.1 スーパデーモンによる制御 hosts.allow サンプル ① ② ③ ④ 50 2.1 スーパデーモンによる制御 ① inetdによる telnetの起動を、IPアドレ ス192.168.11.* のホストに許可 ② sshによるアクセスを、すべてのホス トに対して許可 ③ ローカル(KNOPPIXが動作している 本体)では、すべての動作を許可 ④ ①~③以外は、すべて禁止 51 2.2 ファイアウォールとは 「外敵を防ぐ最初の砦」 インターネット 内部ネットワーク ファイアウォール 52 2.2 ファイアウォールとは 組織内ネットワーク(「信頼できるネッ トワーク」)とインターネット(「信頼で きないネットワーク」)の間で、出入り するパケットを監視 インターネット (信頼できない) ? FW 内部ネットワーク (信頼できる) 53 2.2 ファイアウォールとは 決められたルールをもとに、パケット を通したり破棄したりする ルールは、ユーザーの ポリシー (ネットワークをどのように運用した いかという考え方・ルール)に従い 作成される 54 2.2 ファイアウォールとは ファイアウォールには2種類 パケットフィルタリング 型 IPアドレス、ポート番号などによ り判断 アプリケーションゲートウェイ 型 通信を中継するプロキシプログ ラムを使用する 55 2.3 パケットフィルタ では、データは「パケット」を 単位として送受信される パケットには以下の情報がある 送信元のIPアドレス 送信元ポート番号 宛先のIPアドレス 宛先のポート番号 TCP/IP 56 2.3 パケットフィルタ これらの情報を基に、パケットその ものの通過を制御するのが パケット・フィルタリング シンプルで高速な処理 ルールの定義が煩雑 57 2.3 パケットフィルタ IPアドレス a.b.c.d 以外からは拒否 IPアドレスa.b.c.d からは許可 サーバ SSHサーバ パケット・ フィルタ Webサーバ FTPサーバ (動作していない) ポート20は拒否 ポート80は許可 58 2.3 パケットフィルタ パケットフィルタ型ファイアウォールソ フトウェアは、多数ある ipfw UNIX全般 IPFilter UNIX全般 PF BSD iptables Linux ipchains Linux 59 2.3 パケットフィルタ iptablesは、パケットが通過する経路 上に、5つのチェイン を設けている 【INPUT】 【FORWARD】 【OUTPUT】 【PREROUTING】 【POSTROUTING】 60 2.3 パケットフィルタ 5つのチェインとパケットの流れ PREROUTING 入ってくる パケット 出て行く パケット ルーティング (経路)の 決定 FORWARD POSTROUTING INPUT ローカル プロセス OUTPUT 61 2.3 パケットフィルタ iptablesは、このチェインを監視し て 『このパケットは通さない』 『このパケットは通す』 などの処理を行う 注: その他、NAT(後日) のための 機能もある 62 2.3 パケットフィルタ iptables コマンド $ iptables -A chain名 パラメータ -j 処理方法 どのチェインを どのようなパケッ トが通過する時に どう処理するか 63 2.3 パケットフィルタ (iptables コマンド例) $ iptables -A INPUT -p tcp --dport 80 -j ACCEPT ・-A : ルールの追加 ・INPUT : 入力パケットが対象 ・-p tcp : TCPプロトコル ・--dport 80 : 80番ポート(Webサーバ) ・-j ACCEPT: パケット受信の許可 64 2.3 パケットフィルタ iptables コマンドによる設定は、再 起動により リセットされる ⇒ コマンドによりセーブしなければ ならない $ invoke-rc.d iptables save filename $ iptables-save > filename セーブする場所は、ディストリビューション により異なる (/etc/sysconfig/iptables等) 65 2.4 アプリケーションゲートウェイ プロキシ (proxy)とは 「代理人」 内部ネットワークと外部(インター ネット)との境界で、内部のホスト /ソフトウェアの代わりに、外部と の接続を行うホスト/ソフトウェア 66 2.4 アプリケーションゲートウェイ アプリケーションゲートウェイ プロキシを利用することにより、内 部ネットワークを外部から切り離す 外部との通信は、すべてプロキシ が仲立ちする 内部からはプロキシとだけ通信 プロキシが通信内容をチェック ⇒ 不正アクセス、侵入行為 67 2.4 アプリケーションゲートウェイ プロキシは、プロトコルを理解し チェックする 例: URLチェック ウィルスチェック 情報漏洩の検出 68 2.4 アプリケーションゲートウェイ サービスのプロトコル毎に、個別に ゲートウェイプログラムを用意する必 要がある 煩雑 高度な機能を実現できる 69 2.4 アプリケーションゲートウェイ クライアント 内部 外部 Webサーバ プロキシ http要求 サーバ 要求を 中継 クライアントからは、プロキシサーバ がWebサーバに見える 70 2.5 DMZとファイアウォール DMZ DeMilitarized Zone:非武装地帯 外部のネットワーク(インターネッ ト)と、内部ネットワークの間に設け られた緩衝地帯 外部に公開するサーバを、DMZに 置く (⇒外部からのアクセスを、こ の領域だけに限定する) 71 2.5 DMZとファイアウォール DMZの構成例 (1) サーバ インターネット FW FW DMZ 内部ネットワーク 72 2.5 DMZとファイアウォール DMZの構成例 (2) サーバ インターネット FW DMZ 内部ネットワーク 73 2.5 DMZとファイアウォール セキュリティ設計上の注意 ファイアウォールが万能というわけ ではない 各レベルでのセキュリティを併用 することにより、安全性が高まる 74 【課題4】 telnet により、Windowsからログインす る VMWARE+KNOPPIX には、 Windowsとは別の独自IPアドレスが 自動的に割り振られている 「課題3」の inetdが動いていないと、 telnetは動かない (iptablesの設定は、当面不要) 75 【課題4】 KNOPPIX上では、 ifconfig コマンドにて、IPアドレスを 確認する /etc/hosts.allow ファイルを編集し、 Windowsからの telnetを可能にする (rootで作業しなければならない) 【課題4】 Windowsにて、TeraTerm を用いて KNOPPIXにログインする ユーザ名は、「課題1」で作成した自 分名のユーザとする ログイン画面をキャプチャし、Word ファイルに貼り付ける Wordのファイル名を report4.docx とし manabaのレポート4に提出する 77 【課題4】 注: TeraTerm KNOPPIXのIPアドレス telnetを 使う 78 【課題4】 ログインすると、こんな画面になる はず 79 【課題4】 画面キャプチャは、 Fn + Alt + PrintScreen (3つのキーを同時に押す) Wordのファイル上で、貼り付け (Ctrl+V) 80 次回の予定 1. セキュリティについて セキュリティの必要性、クラッカー の攻撃手段、など 2. セキュリティ対策 どのようにして、セキュリティを 守るか 81 お疲れ様でした
© Copyright 2024 ExpyDoc