個人ドメインのセキュリティ実践
Categories:
はじめに
インターネット時代において、ネットワーク攻撃は日常的なものとなっています。無数の自動化ツールがインターネット上のあらゆる場所をスキャンし、脆弱性を探し続けています。多くの人は大企業だけが攻撃対象になると考えがちですが、攻撃コストの低下とツールの普及により、インターネットに公開されたサービスはすべて攻撃対象になり得ます。
実際の事例分析
スキャン攻撃の実例
Cloudflare 上に展開した小さな展示サイトは、有効な URL が 2 つしかありませんでした:

しかし、それでも継続的にスキャン攻撃を受けました。
当初、他の URL はすべて404を返していましたが、公開当日から香港のホストによるスキャンが始まりました。送信元 IP は毎日変わりますが、ほとんどが香港からのものです。ユーザーの中にも香港 IP からのアクセスがあるため、地域を直接ブロックすることはできません。

上記の URL はすべて何らかの目的を持って試行されたもので、私の worker は/と/logs-collectorのみを処理します。こうした執拗な試行は基本的にすべて脆弱性を探すためのものです。
これでは CF の無料リクエスト数を消費し、ログを汚染してしまうため、良いことではありません。
その後、他のすべてのリクエストに対して200を返すようにし、Host on Cloudflare Worker, don't waste your timeというメッセージを付加しました。

これにより、スキャンは多少減少しましたが、因果関係があるかどうかはわかりません。
自分でホストするサービスの場合、こうしたスキャンが毎日続き、サービスのセキュリティ更新が行われないまま放置されれば、いずれ脆弱性を見つける日が来るでしょう。
攻撃者にとってみれば、毎日定時に試行し続け、攻破できるものがあればラッキーという考えです。基本的に自動化されており、機器や時間のコストは高くありません。
セキュリティ脅威分析
攻撃者の特徴
- 跨国犯罪が一般的で、責任追及が困難
- Nmap、Masscan などのポートスキャンツールが広く使用されている
- 持続的な攻撃で、コストが低い
- ボットネットリソースが豊富で、IP アドレスが頻繁に変化
- 攻撃時間は深夜や祝日を選択することが多い
一般的な攻撃手法
- ポートスキャン
- 開いているポートを大量にスキャン
- 一般的なサービス(SSH、RDP、MySQL など)を特定
- 脆弱性スキャン
- 古いソフトウェアの既知の脆弱性をスキャン
- パスの特徴やファイル名の特徴で特定
- 入力検証の脆弱性を突くために入力を自作して構成
セキュリティ実践
リバースプロキシではなく VPN を使用
ほとんどの人がソフトウェアのアップグレードを怠るため、ドメインを公開しないことが最善です。スキャンはプレフィックスもポストフィックスも構成でき、サブドメインを次々と試します。
例えばサブドメインの重災地:
nas.example.comhome.example.comdev.example.comtest.example.comblog.example.comwork.example.comwebdav.example.comfrp.example.comproxy.example.com- …
これらは思いつきで書いたものですが、自動化攻撃の場合はサブドメインの辞書を用意して自動テストを行うでしょう。
局域網の DNS サーバー(例:AdguardHome)を構築し、そこにドメイン解決を設定し、内網デバイスはすべて固定 IP でアクセスするのが良いでしょう。
DDNS も AdguardHome の API を使用して実装できます。局域網であるため、ドメインは自由に選べます。
エッジセキュリティサービスの利用
サイバーブッダCloudflareについては多くを語る必要はありません。個人利用者が実際に商業的価値のあるプロジェクトを見つけるまで、間違いなく無料でしょう。
国内のサービスは阿里雲のESAです。無料で 3 ヶ月使用でき、通常はルートドメインあたり月額 10 元で 50G のトラフィック制限がありますが、CF の完全無料に比べると紹介する価値は低いです。
セキュリティサービスは一般的に高価ですが、保護しないと攻撃を受けた際の損失は大きく、有料保護を選択すれば日々の「損失」を直接目にすることになります。
エッジセキュリティサービスは一種の保険であり、非常に安価でコストパフォーマンスの高いセキュリティサービスです。専門の人に専門のことを任せる典型的な例です。
エッジセキュリティの主な目的は、自分の本当の IP を隠し、ユーザーがエッジノードにアクセスし、エッジノードが本物の IP へのアクセスを許可するかどうかを判断することです。
本質的には、WAF、CDN、DDoS 防護などを統合した前置リバースプロキシです。ユーザーとサービスの間に第三者が介入するため、ユーザー体験が低下する可能性があります。
CF と ESA の両方を使用していますが、まとめると、最も良い体験をしているユーザーの体験をやや低下させることで、より多くの地域のユーザー体験を向上させることができます。全体としては非常に価値があると言えます。
まとめ
自用サービスの場合は、優先的に VPN を使用することをおすすめします。tailscaleやzerotierが良い選択肢です。DNS サービスが必要な場合は、内網でAdGuardHomeを構築し、公网ではAdGuardPrivateを使用できます。
公開向け、一般ユーザーがアクセスするサービスの場合は、Cloudflareを導入することをおすすめします。大陸のアクセス速度を気にする場合は阿里 ESAを使用します。
このようなセキュリティ実践は参考までに提供したもので、V 站の皆様からのご意見・ご提案を歓迎いたします。