clr/h in tokyo #9 ~ windows および linux os...

Post on 16-Apr-2017

599 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Windows および Linux OS が持つファイアウォール機能をおさらいしてみよう

2016/03/19CLR/H in Tokyo #9

こげさか

アジェンダ

はじめに ファイアウォールとは Windows OS が持つファイアウォール機能 Linux OS が持つファイアウォール機能 ファイアウォール機能の設定に関する Tips まとめ

2

はじめに

自己紹介

こげさか (kogesaka) 小賀坂 優 (Yu Kogasaka)

株式会社インターネットイニシアティブ (IIJ) 所属 Microsoft MVP for Cloud and Datacenter Management

(Jan 2012 - Dec 2016) Blog 、 SNS

Blog: 焦げ log (http://kogelog.com/) Twitter: @kogesaka (https://twitter.com/kogesaka/) Facebook: kogesaka (http://www.facebook.com/kogesaka)

4

セッションの目的とゴール

セッションの目的 ファイアウォールとは何か概要について説明します Windows OS 、 Linux OS が持つファイアウォール機能について

説明します セッションのゴール

ファイアウォールの概要について理解ができる Windows OS 、 Linux OS が持つファイアウォール機能について

理解ができる Windows OS 、 Linux OS が持つファイアウォール機能を用いて

設定ができる

5

注意事項

以下の OS を対象としています Windows Server 2012 R2 Windows 10 OpenLogic 6.7 (CentOS ベース ) OpenLogic 7.2.1511 (CentOS ベース ) Ubuntu Server 15.10

以下の OS は対象外 Mac OS FreeBSD SUSE Linux, etc…

6

注意事項

Oracle Linux 、 Red Hat Enterprise Linux については、諸般の事情で対象外としています Azure Virtual Machines 上に Red

Hat Enterprise Linux インスタンスをデプロイしたらゴリラパンチくらいました | 焦げ log http://kogelog.com/2016/02/18/201602

18-01/

7

Azure の無償利用枠でテンプレートからOracle Linux 、 Red Hat Enterprise

Linux を稼働すると、サブスクリプションが

無効化されます。

ファイアウォールとは

そもそもファイアウォールって何?

インターネットや外部ネットワークからの攻撃や不正アクセスから管理ネットワーク、およびネットワーク内のコンピューターを防御するためのハードウェアやソフトウェア

9

FW

攻撃者

インターネット

管理ネットワーク 外部ネットワーク

攻撃

Webアクセス

不正アクセス

ファイアウォールの種類

大きく分けて 3 種類 パケット フィルタリング型 サーキット ゲートウェイ型 アプリケーション レベル ゲートウェイ型

10

種類 特徴

パケット フィルタリング型

• ネットワーク層でのフィルタリングを実施。• ファイアウォールに流れてくるパケットに対し、 IP アドレスやポート番

号などの条件 (ACL) で通信の可否を制御

サーキットゲートウェイ型

• トランスポート層でのフィルタリングを実施。• TCP のセッション単位で任意のポートに関する通信の可否を制御• クライアント側で専用ソフトウェアが必要

アプリケーション レベルゲートウェイ型

• アプリケーション層でのフィルタリングを実施• プロキシとして動作し、アプリケーションごとの挙動やデータを監視する• プロキシが各アプリケーションに対応している必要がある

ステートレスとステートフルについて

ステートレスの場合、通過させたパケットに対する戻りのパケットについても考慮・設定する必要がある (FTP など )

ステートフルの場合、通過させたパケットのセッション情報(IP アドレスやポート番号など ) を一定期間記憶、内容を判断、動的に戻りのパケットを通過させる

11

ステートレスの場合 ステートフルの場合

クライアントFTP サーバー

クライアントFTP サーバー

Port 21 Port 21

Port 20 Port 20

データ コネクション用 ポートを手動で開放・設定する必要がある

状態テーブル

状態テーブルを元に判断、該当するセッションに対し、

データ コネクション用 ポートを開放

セッション情報を記憶

ファイアウォールの現状

ファイアウォールの機能だけではセキュリティ対策は不十分 標的型攻撃など

統合脅威管理 (UTM: Unified Threat Management) 複合的な機能をハードウェアおよびソフトウェアに持たせることで、

ネットワーク、 Web 、メール、アプリケーションに対して効率的かつ包括的に保護する管理手法 ファイアウォール IDS / IPS Web フィルタリング メール フィルタリング ウィルス対策 , etc…

12

パーソナル ファイアウォールについて

OS 標準で組み込まれている、もしくはソフトウェアを追加することでコンピューター自身を防御する機能 個人用 PC や小・中規模オフィスのコンピューターでの使用を想定 セキュリティ強化・確保のためにウィルス対策ソフトウェアと

連携する場合もあり 提供する主な機能

パケット フィルタリング 送信元 / 送信先 プロトコル アプリケーション ( プロセス、サービス )

13

パーソナル ファイアウォールって必要?

エンドポイントであるコンピューターを防御する最後の砦 万一攻撃・不正アクセスが管理ネットワーク内に進入された場合でも

防御、被害を最小限に食い止める

14

FW

攻撃者

インターネット

管理ネットワーク 外部ネットワーク

攻撃

感染・乗っ取り

二次感染や被害を最小限に抑える

パーソナル ファイアウォールって必要?

万一、感染や乗っ取りが発生しても踏み台として活動、攻撃させないようにする Outbound 設定を行うことで防御が可能

15

FW

攻撃者

インターネット

管理ネットワーク 外部ネットワーク

攻撃

感染・乗っ取り

他サーバーに攻撃させない

Windows OS と Linux OS との違い

提供される基本的な機能 ( パケット フィルタリング ) に違いはない ポート制御 (入力 (Inbound) 、出力 (outbound)) 送信元 (source) 、送信先 (destination) の IP アドレスを指定した制御 アプリケーション ( プロセス、サービス ) 単位での制御

ファイアウォール を使用する場合の考え方が異なる Windows OS : エンドポイント ベース

NIC に対して 決定したネットワークの場所に対応するプロファイル ( ルール ) を適用

ノート PC など Windows モバイル端末で効果を発揮 Linux OS : ゲートウェイ・エンドポイント兼用

用途によってゲートウェイとしても、パーソナル ファイアウォールとしても使用可能

16

Windows OS が持つファイアウォール機能

Windows OS 標準のファイアウォール機能

Windows ファイアウォール Windows XP SP2 / Windows Server 2003 で実装 条件指定によるパケット フィルタ (Inbound のみ設定可 )

プロトコル( TCP / UDP / ICMP)ごとのフィルタリング プログラムおよびサービスごとのフィルタリング

ドメイン プロファイルと標準プロファイルの 2 種類をサポート ログの出力可 (1 つのみ、許可 / 拒否 ) GUI 、 netsh firewall コマンドから設定可能

18

Windows OS 標準のファイアウォール機能

セキュリティが強化された Windows ファイアウォール Windows Vista / Windows Server 2008 から実装 Windows Server OS では、 RRAS によるパケット・フィルタも利

用可 条件指定によるパケット フィルタ (Inbound / Outbound 設定可 ) ドメイン プロファイルとプライベート プロファイル、パブリック

プロファイルの 3 種類をサポート プロファイルごとにログ出力可 (許可 / 拒否 ) GUI 、 netsh advfirewall コマンドから設定可能

19

Windows OS 標準のファイアウォール機能

セキュリティが強化された Windows ファイアウォール Windows 7 / Windows Server 2008 R2 で追加された新機能

Windows ファイアウォールとの統合 ( プロファイルの扱いに関する改良 ) netsh advfirewall コマンドの改良

Windows 8 / Windows Server 2012 で追加された新機能 IPsec トランスポート モード用のインターネット キー交換バージョン 2

(IKEv2) のサポート ネットワーク上の Windows ストア アプリの分離 Windows ファイアウォール用の Windows PowerShell コマンドレット

20

ネットワークの場所について

NIC に対して適用する Windows ファイアウォールのプロファイルを決定する重要な要素

NIC がネットワークとして動作する際に決定される ネットワークの場所は 3 種類

プライベート ネットワーク パブリック ネットワーク ( ゲストまたはパブリック ネットワーク ) ドメイン ネットワーク

ドメインに参加している場合

21

プロファイルとネットワークの場所について

モバイル PC を使用する場合22

モバイル PC

接続パターン ネットワークの場所と適用するプロファイル

社外にてモバイル Wi-Fi を使ってインターネット サービスに接続

パブリック ネットワーク

会社で LAN ケーブルを接続、ドメインにログイン

ドメイン ネットワーク

自宅で LAN ケーブルを接続、インターネット サービスに接続

パブリック ネットワーク or プライベート ネットワーク

モバイル Wi-Fi 経由で会社の VPN に接続

Wi-Fi:パブリック ネットワークVPN:プライベート ネットワーク

付属 NIC に LAN ケーブルを接続、ドメインにログインUSB NIC 経由で LAN ケーブルに接続

付属 NIC:ドメイン プロファイルUSB NIC:ドメイン プロファイル   ( ドメイン コントローラと通信可能な場合 )

管理画面

[ サーバー マネージャー ] – [ツール ] – [ セキュリティが強化された Windows ファイアウォール ] から確認

23

管理画面

プロファイルごとに設定が可能24

各プロファイルともに、 ・ファイアウォールの状態:有効 ・受信接続:ブロック ・送信接続:許可 NIC の割り当てが可

管理画面

プロファイルごとに設定が可能25

既定では「%systemroot%\system32\LogFiles\Firewall\pfirewall.log」に保存される。ログがいっぱいになったらファイル名に「 .old」を付与、現状ログ含め、計 2世代保存する。

既定では「 4,096KB (4MB)」最大「 32,767KB (約32MB)」

管理画面

プロファイルごとに設定が可能26

以下の条件をすべて満たした場合に通知が表示される ・このオプションがオン ・対象プログラムに対する既存のブロック規則または  許可規則がない ・プログラムが Windows ファイアウォールの既定の  動作でブロック

管理画面

設定したポリシーのエクスポートやインポート、復元などが可能

27

管理画面

ファイアウォールに設定されている内容が確認可能28

[列の追加と削除 ] からカスタマイズ可能

フィルタによる表示が可能

ポリシーの適用状況が確認可能

アプリケーションによってはインストール時にルールを追加

管理画面

表示 ( 設定 ) 可能な項目 名前 グループ プロファイル 有効 操作 優先 プログラム ローカル アドレス

29

リモート アドレス プロトコル ローカル ポート リポート ポート、 etc…

ルールの作成

対象となる規則を選択、 [新しい規則 ] から作成可能 プログラム ポート 事前定義

OS 上で事前に定義されているテンプレートを用いて設定する場合に使用

カスタム サービスに対して設定する

場合に使用

30

グループ ポリシーでの管理

グループ ポリシーによる管理が可能31

[ コンピューターの構成 ] – [ ポリシー ] - [ 管理用テンプレート ] –

[ ネットワーク ] – [ ネットワーク接続 ] –

[Windows ファイアウォール ] は XP SP2 、 2003 の設定

netsh advfirewall を用いた管理

OS のバージョンによってはサポートされていないコマンドがあるので注意 dump など

32

Windows PowerShell を用いた管理

Windows PowerShell からファイアウォールの設定が可能 ファイアウォール設定の一覧を表示するには、「 Get-Command -Name “*-NetFirewall*”」を実行

全体の一覧を表示するには、「 Get-Command –Module NetSecurity」を実行

33

Demo

セキュリティが強化された Windows ファイアウォール

34

注意事項

セキュリティが強化された Windows ファイアウォールでは、

設定した内容が即時反映される テストモードなし 設定内容によってはリモート環境から接続できなくなる恐れあり

Azure VM など、クラウド上に存在する仮想マシンは特に注意

35

【補足】ネットワークの場所の選択

Windows 7 だとこんな感じで設定可能でした36

パブリックネットワーク

プライベートネットワーク

【補足】ネットワークの場所の選択

Windows 8, 8.1 / Windows Server 2012, 2012 R2 では設定箇所が変更となっています。 [PC 設定 ] - [ ネットワーク ] - [接続 ] -「ネットワーク デバイ

ス」※デスクトップ エクスペリエンスは有効にする必要がある

37

オンにすると「プライベート ネットワーク」、オフにすると「パブリック ネットワーク」※NIC が複数あっても設定できるのは 1つの NIC だけ

【補足】ネットワークの場所の選択

Windows 10 でも設定箇所が変更となっています。 [ スタート ] メニュー - [ 設定 ] - [ ネットワークとインターネット ]

– [ イーサネット ] - 「ネットワーク デバイス」※Wi-Fi 接続の場合は [ イーサネット ] は [Wi-Fi] となる

38

オンにすると「プライベート ネットワーク」、オフにすると「パブリック ネットワーク」※NIC が複数あっても設定できるのは 1つの  NIC だけ

【補足】ネットワークの場所の選択

Windows 8 以降は PowerShell (Set-NetConnectionProfileコマンドレット ) で変更可能

39

【補足】コントロール パネルでの管理画面

[ コントロール パネル ] – [ システムとセキュリティ ] – [Windows ファイアウォール ] からも確認・管理可能 Windows XP SP2 / Windows

Server 2003 とほぼ同様の管理画面

設定した内容は [ セキュリティが強化された Windows ファイアウォール ] に反映されるようになっている

[ セキュリティが強化された Windows ファイアウォール ] からの設定を推奨

40

[ セキュリティが強化された Windows ファイアウォール ] の管理画面が起動

【補足】コントロール パネルでの管理画面

[Windows ファイアウォールを介したアプリまたは機能を許可 ] アプリケーションおよび

機能に対して着信許可の設定が可能

発信許可およびポート指定での設定不可

41

【補足】コントロール パネルでの管理画面

[ 通知設定の変更 ] すべての着信接続のブロック設定 ブロックした際の通知設定

Windows ファイアウォールの有効化または無効化 各プロファイルごとに Windows

ファイアウォールの有効化、無効化の設定

42

Linux OS が持つファイアウォール機能

Linux OS 標準のファイアウォール機能

Linux ディストリビューションごとに提供される標準のファイアウォールのパッケージは異なる OpenLogic 6.7 (CentOS ベース )

iptables, ip6tables OpenLogic 7.2.1511 (CentOS ベース )

firewalld Ubuntu Server 15.10

ufw gufw

44

iptables, ip6tables パケット フィルタリングおよび NAT を設定

設定内容は「 /etc/sysconfig/iptables」に格納されている サーバ起動時にサービスを開始 (IPv4)

sudo chkconfig iptables on サービスの開始 (IPv4)

sudo /etc/init.d/iptables start サービスの確認 (IPV4)

sudo /etc/init.d/iptables status

45

iptables, ip6tables 設定内容の確認 (IPv4)

sudo iptables –L ルールの追加 (IPv4 、 RDP で使用するポートを追加する場合 )

sudo iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT

追加したルールの保存 (IPv4) sudo service iptables save

追加したルール設定を反映 (IPv4) sudo service iptables restart

46

firewalld 「ゾーン」と呼ばれるファイアウォール設定ファイルを作成、

NIC 毎に割り当てる ゾーンは既定で 9 つ

drop 、 block 、 public 、 external 、 dmz 、 work 、 home 、 internal 、 trusted

各ゾーンの設定ファイルは「 /etc/firewalld/zones」内の xml ファイル

iptables 、 ip6tables と異なり動的に設定を追加・反映 iptables 、 ip6tables の場合、設定ファイルを読み込み直す

( 一旦すべての IP 接続を破棄 )

47

firewalld サーバ起動時にサービスを開始

sudo systemctl enable firewalld サービスの開始

sudo systemctl start firewalld サービスの確認

systemctl status firewalld

48

firewalld NIC に割り当てられているゾーンを確認

firewall-cmd --get-active-zones すべてのゾーンの設定内容を確認

firewall-cmd --list-all-zones ゾーン「 public」にルールの追加

(RDP で使用するポートを追加する場合 ) sudo firewall-cmd --permanent --zone=public --add-port=3389/tcp

追加したルール設定を反映 sudo firewall-cmd --reload

設定内容を確認 firewall-cmd --list-all-zones

49

ufw iptables を簡単に設定するツール

ufw の有効化 sudo ufw enable

※次回起動からファイアウォールが動作 ルールの追加 (SSH を追加する場合 )

sudo ufw allow ssh ルールの追加 (RDP で使用するポートを追加する場合 )

Sudo ufw allow 3389/tcp 追加したルール設定を反映

sudo ufw reload 設定内容を確認

sudo ufw status verbose

50

gufw iptables を簡単に設定するツール

「 Sudo agt-get install gufw」 でインストールする必要あり※ Gtk 、 Gdk 、 WebKit も必要

プロファイルを作成、設定可能 ufw で設定した内容は編集不可

削除は可能 即時反映しないっぽい?

反映させる設定が見当たらない再読み込みが必要かも

51

ファイアウォール機能の設定に関する TIPS

アプリケーションが使用するポートの確認

全体的な情報は IANA (Internet Assigned Numbers Authority) が管理しているサイトから入手可能 Service Name and Transport Protocol Port Number Registry

http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

アプリケーション独自で設定しているものもあるため、提供元のサイトなどから確認 Active Directory および Active Directory ドメイン サービスの

ポートの要件 https://technet.microsoft.com/ja-jp/library/dd772723(v=ws.10).aspx

etc…

53

ポートの開放状況ってどうやって確認する?

ポート スキャナー ツールを用いて確認する※他者が管理しているサーバーに対して実施すると、不正アクセスと 判断される可能性があるので、使用する際は十分注意すること !! Nmap

Windows OS 、 Linux OS 以外にも Mac OS 版などが提供されている CUI 版と GUI 版が存在 実行には管理者権限が必要

PortQry Windows OS のみ提供 CUI 版と GUI 版が存在 local モードで実行する場合、管理者権限が必要

54

使用しているポートおよびアプリケーションの確認 Netstat コマンドを用いて確認する

Windows OS の場合 netstat –anob 実行には管理者権限が必要

Linux OS の場合 netstat –anp 実行には管理者権限が必要

55

まとめ

参考 URL 基礎知識 ファイアウォールの仕組み

http://www.soumu.go.jp/main_sosiki/joho_tsusin/security_previous/kiso/k01_firewall.htm

5 分で絶対に分かる: 5 分で絶対に分かるファイアウォール http://www.atmarkit.co.jp/ait/articles/0203/01/news002.html

コンピューターを保護 : ファイアウォール、インターネット セキュリティ - Microsoft セキュリティ https://www.microsoft.com/ja-jp/security/pc-security/firewalls-

whatis.aspx

57

参考 URL Windows Firewall

https://technet.microsoft.com/ja-jp/network/bb545423.aspx セキュリティが強化された Windows ファイアウォールの概

要 https://technet.microsoft.com/library/hh831365.aspx

セキュリティが強化された Windows ファイアウォールのロードマップを理解する https://technet.microsoft.com/library/dd772715(ws.10).aspx

セキュリティが強化された Windows ファイアウォール ファースト ステップ ガイド https://technet.microsoft.com/ja-jp/library/cc748991(v=ws.10)

.aspx

58

参考 URL iptables – Wikipedia

https://ja.wikipedia.org/wiki/Iptables Red Hat Enterprise Linux 7 がやってきた [ 防御壁編 ] - 第

1回 新ファイアウォールの firewalld とは : Itpro http://itpro.nikkeibp.co.jp/atcl/column/14/072400026/0724000

01/ 第 353回 Ubuntu のソフトウェアファイアウォール ufw の

GUI,Gufw再入門 : Ubuntu Weekly Recipe | gihyo.jp http://gihyo.jp/admin/serial/01/ubuntu-recipe/0353

59

おちまい ( ・ θ ・ )ノ

top related