私はCloudflareを使用しています。IPv4そしてIPv6Cloudflare が所有していない IP からマイサーバーへのすべての接続をブロックするリストです。
sudo ufw status
サーバーでこれを実行すると、次のような結果が得られます。
Status: active
To Action From
-- ------ ----
80,443/tcp ALLOW 173.245.48.0/20 # Cloudflare IP
80,443/tcp ALLOW 103.21.244.0/22 # Cloudflare IP
80,443/tcp ALLOW 103.22.200.0/22 # Cloudflare IP
80,443/tcp ALLOW 103.31.4.0/22 # Cloudflare IP
80,443/tcp ALLOW 141.101.64.0/18 # Cloudflare IP
80,443/tcp ALLOW 108.162.192.0/18 # Cloudflare IP
80,443/tcp ALLOW 190.93.240.0/20 # Cloudflare IP
80,443/tcp ALLOW 188.114.96.0/20 # Cloudflare IP
80,443/tcp ALLOW 197.234.240.0/22 # Cloudflare IP
80,443/tcp ALLOW 198.41.128.0/17 # Cloudflare IP
80,443/tcp ALLOW 162.158.0.0/15 # Cloudflare IP
80,443/tcp ALLOW 104.16.0.0/13 # Cloudflare IP
80,443/tcp ALLOW 104.24.0.0/14 # Cloudflare IP
80,443/tcp ALLOW 172.64.0.0/13 # Cloudflare IP
80,443/tcp ALLOW 131.0.72.0/22 # Cloudflare IP
80,443/tcp ALLOW 2400:cb00::/32 # Cloudflare IP
80,443/tcp ALLOW 2606:4700::/32 # Cloudflare IP
80,443/tcp ALLOW 2803:f800::/32 # Cloudflare IP
80,443/tcp ALLOW 2405:b500::/32 # Cloudflare IP
80,443/tcp ALLOW 2405:8100::/32 # Cloudflare IP
80,443/tcp ALLOW 2a06:98c0::/29 # Cloudflare IP
80,443/tcp ALLOW 2c0f:f248::/32 # Cloudflare IP
ただし、telnet xxx.xxx.xxx.xxx 80
ローカルコンピュータ(xxx.xxx.xxx.xxxサーバーのIP)で実行すると、次の結果が表示されます。
Trying xxx.xxx.xxx.xxx...
Connected xxx.xxx.xxx.xxx.
だから私はブロックされていないようです。私のローカルIPがリストにないので、ブロックする必要があります。私は何が間違っていましたか?
アップデート1:
同じテストを実行し、私のIPがホワイトリストに含まれていないことを確認するために別のサーバーを展開しました。結果は同じです。
アップデート2:
これにより、tracepath xxx.xxx.xxx.xxx
次の結果が表示されます(IPとドメインが非難されます)。
1?: [LOCALHOST] pmtu 1472
1: <MyComputerName>.mshome.net 0.576ms
1: <MyComputerName>.mshome.net 0.365ms
2: 10.0.0.1 0.790ms
3: my.isp.provider.com 8.934ms
4: <My.Public.IP.Address> 9.595ms asymm 5
5: no reply
6: an.isp.that.i.dont.know.com 33.937ms
7: same.isp.that.i.dont.know.com 46.866ms asymm 6
8: the.isp.that.i.dont.know.com 45.673ms asymm 5
9: <IP.Owned.By.Cloud.My.Provider> 42.138ms asymm 7
10: no reply
11: no reply
12: no reply
13: no reply
14: no reply
15: no reply
16: no reply
17: no reply
18: no reply
19: no reply
20: no reply
21: no reply
22: no reply
23: no reply
24: no reply
25: no reply
26: no reply
27: no reply
28: no reply
29: no reply
30: no reply
Too many hops: pmtu 1472
Resume: pmtu 1472
答え1
サーバーをロックするIPの代わりにCloudflare認証プールを使用することをお勧めします。
IPが同じままであることを保証できないため、cronjobを実行してcloudlfareからIPを取得し、ファイアウォールを更新する必要があります。また、元の IP を知っている場合は、Cloudflare サイトを介してその DNS に引き続き接続できます。これにより、IPホワイトリストセキュリティ対策を簡単に無効にすることができます。
Cloudflare 開発者ドキュメントで認証されたインポートに関する情報を見つけることができます。 https://developers.cloudflare.com/ssl/origin-configuration/authenticated-origin-pull/
答え2
問題は、Dockerが公開されているポートを開くがUFWには表示されないことです。申し訳ありません。 Dockerについては言及していません。私はそれがそれに関連していると想像することはできません。
このスレッドを参照してください。https://serverfault.com/questions/962012/ufw-not-blocking-incoming-traffic