# apt install ipset
# apt install netfilter-persistent # apt install iptables-persistent # apt install ipset-persistent
# bin/ipset-update
# bin/iptables-update
# bin/all-save
変更が必要な場所
# ホワイトリストの国(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
各スクリプトに必要な firewall 設定を記述する。 基本は、50_public.sh に、外部公開するポートの設定を追記していけば良い。
/etc/rsyslog.conf
# rule の初めの方に以下を記載する。 :msg, contains, "blacklist" -/var/log/iptables/blacklist.log :msg, contains, "stealth_scan_attack" -/var/log/iptables/stealthscan.log :msg, contains, "ping_of_death_attack" -/var/log/iptables/pingofdeath.log :msg, contains, "syn_flood_attack" -/var/log/iptables/synflood.log
/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 service rsyslog restart