D-STAR Gateway のハッキング対策 (iptables)
Back
HOME
以前から有ったのですが、最近特にポートサーチなどハッキングの量が増えています。そこで D-STAR Gateway に関しても自動でファイアウォールを設定するスクリプトを配布することが予定されています。
いずれ、推奨される nftables に移行されると思いますが、取り敢えず iptables のルールファイル作成スクリプトがハッキング防止効果を確認後、配布できるよう準備中です。
Copyright © 2026- Created by JARL D-STAR委員会 YASUDA Satoshi 7M3TJZ
=MEMO= DDモードをサポートしているリピータの場合、/etc/dsgwd.conf の #GW_DTPORT=40001 の '# ' を削除して有効にした上でリスタート(又は再起動)したください。
スクリプトを実行してファイアウォールをインストール
すでに iptables をご利用の方は、/etc/iptables/rules.v4 をバックアップしてください。
① 次のコマンドを実行してファイアウォールの環境をインストールします。
AlmaLinux
dnf makecache
curl http://app.d-star.info/rpm/dnf/gw_firewall | bash
CentOS
curl http://app.d-star.info/rpm/yum/gw_firewall | bash
残念ながら当方には CentOS のテストマシンが有りませんので、もし何か問題が有りましたら
Forum (非公開)
又は、software(@)mail.d-star.info にご連絡ください。
Raspberry Pi OS
curl http://app.d-star.info/debian/bookworm64/rpi-GW/gw_firewall | bash
② ファイアウォール (iptables) は
すぐに有効になることはありません。
/etc/iptables/rules.v4 と言うファイアウォールのルールを定義したファイルが出来ます。
iptables がインストールされていない場合は、関連ファイルとともにインストールされます。
ルールファイル (rules.v4) が出来て居たらすること
① /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ポートの追加に関しては編集が必要です。)
③ さらに、
恒久的に独自ルールを既定ルールにしたいと言う方向けには、
完全ルールを /etc/iptables/rules.v4.org というファイルにすれば、以後
jpip_setup や jpip_reset を実行しても、そのルールが反映されます。
ルールファイル (rules.v4) に基づいて iptables を有効にする
① SSH で実行される方は rules.v4 の内容に間違いなく、使用中の SSH ポートが含まれているか、念を入れて確認してください。
② curl の実行で /usr/local/bin/ に
jpip_setup がインストールされています。これを実行してください。
jpip_setup
このコマンドは、curl 直後の再起動によっても実行されます。
いきなり再起動する場合は次の項目をよく読んでください。
(註:/etc/iptables/domestic.save が存在する場合は再起動してもルールが適用されませんのでコマンドを使用してください。)
③ iptables が有効になっているか確認します。
iptables -L -n
再起動時に自動実行されること
① reboot した時、もし
SSH が効かなくなってしまったら(ほぼ起こりません)5分待ってください。
curl 実行時に jpip_setup と供にインストールされている jpip_reset と jpip_purge の機能によって、5分後 iptables によるセキュリティ・ルールが解除されます。
② この場合、再度 SSH ポートが合致しているかなどを確認の上再起動し直してみてください。
③ SSH に問題が無ければ、以後 iptables が解除されないよう次の作業をします。
nano /usr/local/bin/jpip_reset
GNU nano
:
:
# 正常に動作が行われることが確認出来た場合は、
# 下記行をコメントアウトもしくは削除すること
# その後、PCを再起動
#at now+5 min -f /usr/local/bin/jpip_purge
最終行をコメントアウト(又は削除)してください。
この時点では iptabels が有効になっていない状況なので、もう一度再起動します。
④ 最後にもう一度 iptables が有効になっているか確認します。
iptables -L -n
これですべての作業が終了です。以後 iptables によって異常なアクセスは拒否されます。
運用管理については
ファイアウォール (iptables) を管理するをご覧ください。
Back
HOME

この 作品 は
クリエイティブ・コモンズ 表示 - 非営利 - 改変禁止 4.0 国際 ライセンス
の下に提供されています。
English
Powered by