Firewall 設定

必要なソフトウェアのインストール

  1. 複数のIPをまとめて管理するために ipset をインストールします。
    # apt install ipset
  2. 起動時に自動的に、ipset, iptables を反映するために netefilter-persistent をインストールします。
    # apt install netfilter-persistent
    # apt install iptables-persistent
    # apt install ipset-persistent

設定

  1. filefirewall.tar.gz をダウンロードし、任意のディレクトリに解凍する。
  2. 解凍後の conf 配下のファイルを適宜修正する。(各ファイルの説明は下記参照)
  3. ipset 情報を生成するため、ipset-update を実行する。
    # bin/ipset-update
  4. iptables の設定を反映するため、iptables-update を実行する。
    # bin/iptables-update
  5. 自動起動できるようにするため all-save を実行する。
    # bin/all-save

zone.conf

変更が必要な場所

# ホワイトリストの国(2文字形式)を設定する。(空白区切りのリスト)
WHILTE_LIST_COUNTRIES=( "jp" )

# ブラックリストの国(2文字形式)を設定する。(空白区切りのリスト)
BLACK_LIST_COUNTRIES=( "cn" "kr" "ru" "kp" )

# 信頼できるリモートアドレス
# SSH アクセスを許可するアドレスを追加してください。
TRASTED_LIST=${ZONE_DIR}/trasted-list.zone
IPSET_ZONE_FILES=("${IPSET_ZONE_FILES[@]}" "${TRASTED_LIST}")
cat <<EOF > ${TRASTED_LIST}
~この部分に信頼できるIPアドレスを記載する。~
49.212.93.121
EOF

conf/rule.d/ 配下

各スクリプトに必要な firewall 設定を記述する。 基本は、50_public.sh に、外部公開するポートの設定を追記していけば良い。

ログ出力設定

ログ出力先変更

/etc/rsyslog.d/40-iptables.conf

# 以下を記載する。
# iptables 用ログ
:msg, contains, "blacklist"     -/var/log/iptables/blacklist.log
& stop
:msg, contains, "stealth_scan_attack" -/var/log/iptables/stealthscan.log
& stop
:msg, contains, "ping_of_death_attack" -/var/log/iptables/pingofdeath.log
& stop
:msg, contains, "syn_flood_attack" -/var/log/iptables/synflood.log
& stop

※/etc/rsyslog.conf に RULE がある場合は、RULE の下に記載すること。

ログのローテーション

/etc/logrotate.d/rsyslog

~(省略)~
/var/log/messages
/var/log/iptables/blacklist.log
/var/log/iptables/stealthscan.log
/var/log/iptables/pingofdeath.log
/var/log/iptables/synflood.log
{
    rotate 4
    weekly
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        invoke-rc.d rsyslog rotate > /dev/null
    endscript
}

設定反映

mkdir /var/log/iptables
chown root:adm /var/log/iptables
service rsyslog restart


添付ファイル: filefirewall.tar.gz 354件 [詳細]
トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS