#author("2020-05-10T23:23:58+09:00","","")
#author("2020-05-10T23:57:06+09:00","","")
#navi2(Raspberry Pi/Ubuntu Server,toc,prev,next)
----
#contents
----
*Firewall 設定 [#i6409ce5]

** 必要なソフトウェアのインストール [#gadb83f7]
+複数のIPをまとめて管理するために ipset をインストールします。
 # apt install ipset
+起動時に自動的に、ipset, iptables を反映するために netefilter-persistent をインストールします。
 # apt install netfilter-persistent
 # apt install iptables-persistent
 # apt install ipset-persistent


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


*** zone.conf [#ob7f8fa2]
変更が必要な場所
 # ホワイトリストの国(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/ 配下 [#x02bb1ac]
各スクリプトに必要な firewall 設定を記述する。
基本は、50_public.sh に、外部公開するポートの設定を追記していけば良い。


*ログ出力設定 [#x1c1f33f]

**ログ出力先変更 [#ndb986de]
/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/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 の下に記載すること。


**ログのローテーション [#z847fe1a]
/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
 }


** 設定反映 [#j9f2bc1d]
 mkdir /var/log/iptables
 chown root:adm /var/log/iptables
 service rsyslog restart
----
#navi2(Raspberry Pi/Ubuntu Server,toc,prev,next)
トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS