情報システム管理

情報システム管理
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
お疲れ様でした