Back
以前から有ったのですが、最近特にポートサーチなどハッキングの量が増えています。そこで D-STAR Gateway に関しても自動でファイアウォールを設定するスクリプトを配布することが予定されています。
いずれ、推奨される nftables に移行されると思いますが、取り敢えず iptables のルールファイル作成スクリプトがハッキング防止効果を確認後、配布できるよう準備中です。
Copyright © 2026- Created by JARL D-STAR委員会 YASUDA Satoshi 7M3TJZ
スクリプトを実行してファイアウォールをインストール
-
すでに iptables をご利用の方は、/etc/iptables/rules.v4 をバックアップしてください。
- 次のコマンドを実行してファイアウォールの環境をインストールします。
- ファイアウォール (iptables) はすぐに有効になることはありません。
AlmaLinux
curl http://app.d-star.info/rpm/dnf/gw_firewall | bash
Raspberry Pi OS
curl http://app.d-star.info/debian/bookworm64/rpi-GW/gw_firewall | bash
/etc/iptables/rules.v4 と言うファイアウォールのルールを定義したファイルが出来ます。iptables がインストールされていない場合は、関連ファイルとともにインストールされます。
ルールファイル (rules.v4) が出来て居たらすること
-
但し、この項目はすでに iptables を利用されている方以外は読み飛ばしてください。
- /etc/iptables/rules.v4 の内容を良く確かめ、既存のTCPに関する設定が漏れていた場合次のようにしてください。
- /etc/iptables/extra_port というファイルを作成します
内容はTCPポートの羅列です。(例:8080,8089) Last Heard をお使いの方は 8080 を記入してください。例のように2つ以上の場合、最後にコンマは付けないでください。
尚、Last Heardでも表示出来るようにしている「管理用WEB」の各ポートについてはインストール時に作成された rules.v4 を確認の上、 記載されていない場合(変更されている場合含む)は extra_port に追記してください。
この時点で、iptables に精通されている方は rules.v4 の内容で不要なポート等を削除することも可能です。(逆にUDPポートの追加に関しては編集が必要です。)
ルールファイル (rules.v4) に基づいて iptables を有効にする
- SSH で実行される方は rules.v4 の内容に間違いなく、使用中の SSH ポートが含まれているか、念を入れて確認してください。
- curl の実行で /usr/local/bin/ に jpip_setup がインストールされています。
- iptables が有効になっているか確認します。
これを実行してください。
# jpip_setup
このコマンドは、curl 直後の再起動によっても実行されます。いきなり再起動する場合は次の項目をよく読んでください。(註:/etc/iptables/domestic.save が存在する場合は再起動してもルールが適用されませんのでコマンドを使用してください。)
# iptables -L -n
再起動時に自動実行されること
- reboot した時、もし SSH が効かなくなってしまったら(ほぼ起こりません)5分待ってください。
- この場合、再度 SSH ポートが合致しているかなどを確認の上再起動し直してみてください。
- SSH に問題が無ければ、以後 iptables が解除されないよう次の作業をします。
- 最後にもう一度 iptables が有効になっているか確認します。
curl 実行時に jpip_setup と供にインストールされている jpip_reset と jpip_purge の機能によって、5分後 iptables によるセキュリティ・ルールが解除されます。
# nano /usr/local/bin/jpip_reset
GNU nano
: : # 正常に動作が行われることが確認出来た場合は、 # 下記行をコメントアウトもしくは削除すること # その後、PCを再起動 #at now+5 min -f /usr/local/bin/jpip_purge
最終行をコメントアウト(又は削除)してください。
この時点では iptabels が有効になっていない状況なので、もう一度再起動します。
# iptables -L -n
これですべての作業が終了です。以後 iptables によって異常なアクセスは拒否されます。

0 件のコメント:
コメントを投稿