トップ > 技術ナレッジのアーカイブ > 脱 PPAPへの挑戦 EDRを守る三つのセキュリティインフラ構築の実践(2)~UFW「Uncomplicated Firewall」編

2022.03.03

脱 PPAPへの挑戦 EDRを守る三つのセキュリティインフラ構築の実践(2)UFW「Uncomplicated Firewall」編

#メール #サイバーセキュリティ #フィッシング #スパイウェア #Saas #マルウェア

UFW「Uncomplicated Firewall」

Firewallの設定について解説します。このFireWall 「Uncomplicated Firewall」はUbuntuにデフォルトで導入されているため導入が比較的簡単だと思われます。
この章ではUFWのブラックリスト登録・ホワイトリスト登録の方法について説明していきたいと思います。

ブラックリスト登録・ホワイトリスト登録の方法

まずFW(ufw)は先述した通りデフォルトで導入されているためinstallする必要はありません。
FWのホワイトリスト・ブラックリスト登録の設定の前に起動方法や状態の確認方法について記述します。

FWの有効化

  1. #sudo ufw enable

FWの状態を確認するコマンド

  1. #sudo ufw status verbose

FWの無効化

  1. #sudo ufw disable

上述の「FWの状態を確認するコマンド」を実行し、
ホワイトリストの場合には
default:deny
と表示されていれば問題ありません。
ブラックリストの場合には
default:allow
と表示されていれば問題ありません。

次にホワイトリスト、ブラックリストについてです。
ホワイトリスト・ブラックリストの設定方法の前にこの二つの違いについて説明したいと思います。

ホワイトリストとは

あらかじめ「安全な対象」をリストへ定義して、対象外となるIPアドレスからのアクセスを受け付けないことでサイバー攻撃を防ぐ手法のことを言います。
定義した安全な対象からのみからしかアクセスを受け付けないため、未知の脆弱性にも担保されますが不特定多数とのやり取りが必要なサービスではリスト載っていない対象はアクセスできないため利便性が欠けるためクローズドなサービスで使用することに長けています。

ブラックリストとは

ホワイトリストとは反対であらかじめ「危険な対象」をリストへ定義して危険な対象以外からのIPを受け付けることでサイバー攻撃を防ぐ手法のことを言います。
不特定の多数とのアクセスが必要なサービスにおいて決められた相手としか通信ができないホワイトリスト方式よりも利便性が高いです ただしブラックリスト方式はは既知の脆弱性には対応できますが、発見された未知の脆弱性には使用しているセキュリティ製品の未知の脆弱性に対応したブラックリストを更新するまで対応できないという弱点があります。

アクセスを許可するコマンド「ホワイトリスト」の設定

続いてホワイトリストの設定です。
UFWはデフォルトでは全てのIPからのアクセスをブロックしています。
そのためホワイトリスト方式を使用する場合には許可したいIPアドレスやポート番号を設定することで完了します。

注意点:ルールの順番について

ホワイトリストではルールを追加する順番がとても大事です。
UFWではデフォルトですべてのリクエストをブロックした後で追加で許可するIPやポート番号を指定します。

1.IPアドレスによるホワイトリストの登録方法

  1. #sudo allow from <IPアドレス>

2.サブネットによるホワイトリストの登録方法

  1. #sudo allow from <IPアドレス/サブネット>

3.IPアドレスとポートによるホワイトリストの登録方法

  1. #sudo allow from <IPアドレス> to any port <ポート>

4.IPアドレスとポートとプロトコルによるホワイトリストの登録方法

  1. #sudo allow from <IPアドレス> to any port <ポート> proto <TCP/UDP>

特定のIPからのアクセスを禁止する「ブラックリスト」の設定

ブラックリストの設定は上記で上げた通り最初全てのIPからのアクセスがブロックされているためすべてのIPのアクセスを許可した後にアクセスをブロックする特定のIPを設定する必要が有ります。
ですので、まずは以下のコマンドで全てのIPを許可します。

  1. #ufw default allow

1.IPアドレスによるブラックリストの登録方法

特定のIPからのアクセスをブロックします。

  1. #sudo deny from <IPアドレス>

2.IPアドレスとポートによるブラックリストの登録方法

特定のIPとポートへのアクセスをブロックします。

  1. #sudo deny from <IPアドレス> to any port <ポート>

3.FWルールを表示するコマンド

FWが動いているかを確認します。

  1. #sudo ufw status numbered

4.FWルールを削除するコマンド

ブラックリストに追加したIPやポートの設定を削除して通信が行える状態にします。

  1. #sudo ufw delete <ルール番号>

ICMPレスポンスを無効にするコマンド

Icmp(ping)を無効化することでホストとして発見されなくなるため、攻撃者によるPortScanを防ぐ効果があります。
まずはicmpの設定ファイルを開きます。開くと以下のような記述になっています。

次に以下のような記述がされいる部分を書き換えることでpingをブロックすることができます。


変更前

  1. # ok icmp codes for INPUT
  2. -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
  3. -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
  4. -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
  5. -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

変更後

  1. # ok icmp codes for INPUT
  2. -A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
  3. -A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
  4. -A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
  5. -A ufw-before-input -p icmp --icmp-type echo-request -j DROP

ログについて

ネットワークに何か攻撃を受けた際はFirewallのログを確認する必要があります。ログは以下のディレクトリに保存されます。
ログは他のアクセスロガーにインポートできます。
/etc/ufw.log

  1. Feb 4 23:33:37 hostname kernel: [ 3529.289825] [UFW BLOCK] IN=eth0 OUT= MAC=00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd SRC=444.333.222.111 DST=111.222.333.444 LEN=103 TOS=0x00 PREC=0x00 TTL=52 ID=0 DF PROTO=UDP SPT=53 DPT=36427 LEN=83

このログは他のアクセスロガーにインポートできます。

閉じる