「/etc/hosts」ファイルの記述が原因で Substack エディタにエラーが発生
(scalewithlee.substack.com)- Substack エディタで特定のシステムパスを入力すると ネットワークエラー が発生
- Webアプリケーションファイアウォール(WAF) がこうしたパスをブロックするのは、パストラバーサル攻撃 や コマンドインジェクション攻撃 を防ぐため
- セキュリティ と ユーザビリティ のバランスが重要な問題として浮上
- 技術ライター のための、より良い解決策が必要
- 代替パス を使うことで問題を回避できる
/etc/h*sts が Substack エディタを妨げるとき: Webコンテンツフィルタリングの冒険
謎のネットワークエラー
- DNS解決に関する技術記事を執筆中に 予期しないエラー が発生
/etc/h*stsパスを入力すると ネットワークエラー が発生し、自動保存に失敗- Substack のステータスページでは 正常稼働中 と表示
調査開始
- 特定のファイルパスを入力したときに エラー が発生し、パスを変形すると 正常動作
/etc/h*stsのようなパスではエラーが起きる一方、変形したパスでは問題なし
内部で何が起きているのか?
- ブラウザの開発者ツールで 403 Forbidden レスポンスを確認
- Cloudflare が関与
Webアプリケーションセキュリティフィルタを理解する
WAF の簡単な説明
- Webアプリケーションファイアウォール(WAF) は Webサイトの 警備員 のような役割
- 疑わしいリクエストを ブロック する
パストラバーサル攻撃: なぜ警戒されるのか
- パストラバーサル攻撃 は機密性の高いシステムファイルにアクセスしようとする試み
/etc/h*stsのようなパスは 攻撃対象 になりうる
コマンドインジェクション: もう1つのセキュリティ問題
- コマンドインジェクション攻撃 はシステムコマンドの実行を誘発する
- システムパスへの言及があると、フィルタが ブロック する可能性がある
謎は深まる: 歴史的な例
- 他の Substack 投稿で類似のパス使用例を発見
- フィルタリングの挙動がある時点で 変更 された可能性
セキュリティ対ユーザビリティ: 繊細なバランス
- Substack のフィルタは 保護 のためのものだが、技術ライター にとっては 障害 になる
- 改善の余地 がある: 明確なエラーメッセージ、技術的内容の認識、文書化された回避策の提供
HTTPレスポンスを見てみる
- APIレベルで 403 Forbidden ステータスコードを確認
技術コンテンツプラットフォームのための、より良い解決策
- コンテキストに応じたフィルタリング: コードブロックや技術的な議論の中でシステムパスを認識する
- 明確なエラーメッセージ: 「ネットワークエラー」ではなく、セキュリティフィルタによるブロックであることを説明する
- 文書化された回避策: 機微なパスをどう議論するかの方法を提供する
結論: セキュリティと技術ライティングの交差点
-
Substack エディタの問題は、セキュリティ と 技術ライティング における複雑な課題を浮き彫りにしている
-
セキュリティフィルタによって攻撃パターンに見えるものが、実際には 正当なコンテンツ である場合もある
-
代替パス を使うことで問題を解決可能
-
類似のフィルタリング問題を他のプラットフォームで経験したことがあるか、コメントで共有してほしい
1件のコメント
Hacker Newsの意見
CDNでWAFルールを設定する人たちは、技術コンテンツを扱うサイトやサービスを十分に理解していないことが多い。CloudflareだけでなくAkamaiでも同じ問題が起きる
/etc/hostsや/etc/passwdのようなものがブロックされるECプラットフォームに関する逸話を思い出す。誰かがメモリリークのあるWebショップを実装し、ログに"OutOfMemoryException"という文字列が現れたらアプリを再起動することで対処していた
/etc/hostsや/etc/./hostsもブロックするのだろうか。これは失敗するしかないモグラたたきのように思える。ハッカーのほうが賢く、しかも執念深いので、実証済みのセキュリティにだけ頼るべきだSubstackが技術系ライター向けにこの状況をどう改善できるかについての意見
Webセキュリティにおける保護と使いやすさの緊張関係を示す興味深い例を強調している
競技プログラミングチームを教えていたときに起きた問題。C++の型やキーワードがコードに現れると403エラーになった
社内レッドチームがXSSやその他のインジェクション攻撃の試行を含むデータを投稿したときに起きた問題
古い問題がまた現れた。これはScunthorpe問題と呼ばれる
OpenRouterで似た問題を経験した。OpenRouterはさまざまなLLMを利用できる単一エンドポイントを提供するサービスだ
コンテンツフィルタリングは文脈に大きく依存すべきだ。WAFがフィルタリングすべき対象から切り離されていると問題が起きる