Skip Headers
StorageTek Tape Analytics 管理ガイド
リリース 2.0
E53287-01
  目次に移動
目次
索引に移動
索引

前
 
次
 

A サービス拒否攻撃の防止

この章では、STA サーバーに対する Denial of Service (DoS) 攻撃の防止方法について説明します。ライブラリの初期構成が終了してから、この手順を実行します。IPTables の構成後、STA が正常にライブラリのモニターを続けていることを確認する必要があります。


注:

次の手順はオプションで、情報提供のために記載されています。サイトのセキュリティーはお客様の責任で確保してください。

A.1 概要

サーバーを DoS 攻撃から防御するため、Linux の iptables ソフトウェアを構成し、ポートまたは IP アドレス (あるいはその両方) をフィルタするルールを作成します。STA の構成に基づいて、Oracle ではルールを UDP 162 と STA 管理対象サーバーを実行しているポート値に適用することをお勧めしています。


注:

STA で使用されているデフォルトポート値など、ポート情報については、『STA インストールおよび構成ガイド』の「ポート構成」セクションを参照してください。

iptables サンプルスクリプトを使用して、サーバーの入力ルールを定義し、接続を試みるホストを次の条件に基づいてブロックできます。

  • 特定の Ethernet インタフェース

  • 特定のポート

  • 特定のプロトコル

  • 指定された時間内のリクエスト数。

時間内でホストの接続数が超過すると、残りの時間内のそのホストによる以降の接続がブロックされます。

A.2 iptables ルールの構成

iptables ルールを構成するには:

  1. iptables サンプルスクリプト のソースをテキストエディタにコピーします。

  2. 環境に合わせて次の変数を変更します。

    • INTERFACE

      攻撃を監視する Ethernet インタフェースを定義します

    • PORT

      攻撃を監視するポート番号を定義します

    • PROTO

      プロトコルを定義します (tcp または udp)

    • HITS および TIME

      サーバーをブロックするのに妥当と考えられる一定時間内のリクエスト数 (HITS) と秒数 (TIME) を指定します。

  3. スクリプトをシステムに保存して実行します。

    新しいルールが iptables に追加され、すぐに有効になります。

A.3 iptables サンプルスクリプト

次は iptables サンプルスクリプトです。

# The name of the iptable chain
CHAIN=INPUT
# The ethernet interface to watch for attacks
INTERFACE=eth0
# The port number to watch for attacks
PORT=80
# The protocol (tcp or udp)
PROTO=tcp
# A server that sends HITS number of requests within TIME seconds will be blocked
HITS=8
TIME=60
# Log filtered IPs to file
touch /var/log/iptables.log
grep iptables /etc/syslog.conf 1>/dev/null 2>&1
if [$? -ne 0 ]; then
 echo kern.warning /var/log/iptables.log >>
 /etc/syslog.conf
 echo touch /var/log/iptables.log >> /etc/syslog.conf
 /etc/init.d/syslog restart
fi
# Undo any previous chaining for this combination of chain, proto, hits, and time
/sbin/iptables -L $CHAIN |grep $PROTO |grep $HITS |grep $TIME 1>/dev/null 2>&1
if [$? -eq 0 ]; then
 R=0
 while [$R -eq 0 ]; do
 /sbin/iptables -D $CHAIN 1 1>/dev/null 2>&1
 R=$?
 done
fi
# Logging rule
/sbin/iptables --append $CHAIN --jump LOG --log-level 4
# Interface rule
/sbin/iptables --insert $CHAIN --proto $PROTO --dport $PORT --in-interface $INTERFACE --match state --state NEW --match recent --set
# Blocking rule
/sbin/iptables --insert $CHAIN --proto $PROTO --dport $PORT --in-interface $INTERFACE --match state --state NEW --match recent --update --seconds $TIME --hitcount $HITS --jump DROP