# 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 chown root:adm /var/log/iptables service rsyslog restart