インターネットルーターでポートを開く必要がありますが、そのポートを簡単に検索または列挙することを望まないとします。
ハッカー/会社が開いているポートをスキャンするのを防ぐ方法は?
答え1
/etc/config/firewall
以下を編集して追加します。
config include
option enabled '1'
option type 'script'
option path '/etc/firewall.user'
option fw4_compatible '1'
- 次の内容でファイルを作成します
/etc/firewall.user
。
set -x # enable verbose mode
nft add set inet fw4 scanner { type ipv4_addr\; flags timeout\; timeout 24h\; }
nft add set inet fw4 good { type inet_service\; elements = { \
5000, \
10000 \
}}
nft add set inet fw4 known { type ipv4_addr\; flags constant, interval\; elements = { \
35.203.210.0/24, \
35.203.211.0/24, \
45.128.232.0/24, \
64.62.156.0/24, \
64.62.197.0/24, \
65.49.1.0/24, \
94.156.71.0/24, \
107.170.0.0/16, \
123.254.109.0/24, \
152.32.128.0/17, \
162.142.125.0/24, \
162.216.149.0/24, \
162.216.150.0/24, \
162.243.0.0/16, \
167.94.138.0/24, \
167.94.145.0/24, \
167.94.146.0/24, \
185.180.143.0/24, \
185.242.226.0/24, \
192.241.128.0/17, \
193.163.125.0/24, \
198.235.24.0/24, \
198.199.96.0/20, \
199.45.154.0/24, \
206.168.32.0/22, \
205.210.31.0/24 \
}}
nft insert rule inet fw4 input_wan ip saddr @scanner counter log drop
nft insert rule inet fw4 input_wan tcp dport \!= @good ct state new tcp flags \& \(fin\|syn\|rst\|ack\) == syn update @scanner { ip saddr }
nft insert rule inet fw4 input_wan ip saddr @scanner update @scanner { ip saddr }
nft insert rule inet fw4 prerouting ip saddr @scanner counter log drop
nft insert rule inet fw4 prerouting ip saddr @known counter drop
ユーザーファイアウォールスクリプトを実行可能としてマークします。
chmod +x /etc/firewall.user
これでルールを適用できます
fw4 restart
。
説明メモ
- このセットには、すべてのホストで開いているポートのリストを除いて、
@scanner
すべてのポートを開こうとするIPが含まれています。@good
私のWiFiルーターはかなり古くて弱く、グループ内の多くのレコードを十分に迅速に処理できないため、24時間後に期限切れになります。これを24h
次のように変更できます7d
。それはあなた次第です。 - この
@known
グループは私が一週間ほど集めたものです。ポートスキャンが完了したネットワーク。 - これをテストしてみてください
OpenWRT 23.xx
。将来のバージョンでは機能しない可能性があります。
重要な情報
- ホワイトリスト内のIPアドレスのポートのみを開くと、ルールセット全体が重複します。ただし、時には旅行をして不明な場所からホームネットワークにアクセスする必要があるため、この規則が設定されます。
- 別の解決策は、ポートバンピングをイネーブルにすることです。ただし、スマートフォンなどのデバイスでこの技術を使用することは、常にマイナーまたは不可能ではありません。特に、技術に慣れていない他の人が使用できるようにポートをLANに転送する必要がある場合は、そうです。