Skip to content

Commit 2c01902

Browse files
docs: add security options for TLS verification and unsafe HTML handling
1 parent 40d26ce commit 2c01902

File tree

2 files changed

+35
-20
lines changed

2 files changed

+35
-20
lines changed

doc/app-behavior-config.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,30 @@ email:
8686
uri: "smtp://user@example.com:password@smtp.example.com:587"
8787
secure: "STARTTLS" # "None", "SSL", "STARTTLS"
8888
mime-type: "text/plain" # "text/plain", "multipart/alternative" (HTMLへの変換は自動的に行います。)
89+
90+
# セキュリティオプション (開発環境専用、詳細は下記セクション参照)
91+
security:
92+
ignore_tls_errors: false # TLS証明書検証をスキップ
93+
allow_unsafe_html: false # HTMLサニタイゼーションを無効化
94+
```
95+
96+
### Email セキュリティオプション
97+
98+
次の機能は、セキュリティの一部を意図的に無効化するものです。
99+
その危険性を理解している場合のみ有効にしてください。
100+
101+
#### `email.security.ignore_tls_errors`
102+
103+
SMTP/IMAP接続時のTLS/SSL証明書検証をスキップします。
104+
自己署名証明書、証明書が期限切れのテスト用途としての場合に使用します。
105+
106+
#### `email.security.allow_unsafe_html`
107+
108+
Markdownメールに埋め込むHTMLコンテンツのサニタイゼーションを無効化します。
109+
この機能を無効化する場合には、細心の注意を払って送信するメールペイロードを確認してください。
110+
悪意あるコンテンツは、配信された場合あなただけでなく他の第三者にも被害を及ぼす可能性があるほか、
111+
あなたのドメインやメールアドレス、IPアドレスの評判が損なわれる可能性もあります。
112+
89113
```
90114

91115
## 2. 環境変数マッピング
@@ -128,6 +152,14 @@ CI/CDパイプラインやコンテナ環境での利用を想定し、すべて
128152
| `reporter.consent.share_with_third_parties` | `DOWNFORCE_CONSENT_SHARE_THIRD` | 第三者共有の同意 (true/false) |
129153
| `reporter.consent.identity_to_third_parties` | `DOWNFORCE_CONSENT_ID_THIRD` | 第三者への身元開示 (true/false) |
130154

155+
### Email セキュリティ
156+
157+
| YAMLキー | 環境変数 | デフォルト | 説明 |
158+
| ---------------------------------- | -------------------------------------------- | ---------- | ------------------------------ |
159+
| `email.security.ignore_tls_errors` | `DOWNFORCE_EMAIL_SECURITY_IGNORE_TLS_ERRORS` | `false` | TLS証明書検証をスキップ |
160+
| `email.security.allow_unsafe_html` | `DOWNFORCE_EMAIL_SECURITY_ALLOW_UNSAFE_HTML` | `false` | HTMLサニタイゼーションを無効化 |
161+
162+
131163
## 3. 参照
132164

133165
- ターゲット設定: `evidence.yaml` (コマンドライン引数 `-c` で指定)

internal/appconfig/config.template.yaml

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -72,24 +72,7 @@ email:
7272
secure: "" # "None", "SSL", "STARTTLS"
7373
mime_type: "text/plain" # "text/plain", "multipart/alternative" (HTMLへの変換は自動的に行います。)
7474

75-
# セキュリティオプション
76-
# これらのオプションは開発環境でのテストやトラブルシューティング用です。
77-
# 本番環境では絶対に有効にしないでください。
75+
# セキュリティオプション (開発環境専用、詳細はドキュメント参照)
7876
security:
79-
# ignore_tls_errors: 自己署名証明書やTLS検証エラーを無視する
80-
# WARNING: TLS/SSL証明書の検証をスキップします。
81-
# 中間者攻撃の対象になるため、開発環境でのみ使用してください。
82-
# 使用例: DOWNFORCE_EMAIL_SECURITY_IGNORE_TLS_ERRORS=true
83-
ignore_tls_errors: false # default: false (TLS検証は強制)
84-
85-
# allow_unsafe_html: Markdownで埋め込むHTMLのサニタイゼーションを無効化する
86-
# WARNING: 信頼できないソースからのHTMLが埋め込まれた場合、
87-
# XSS (クロスサイトスクリプティング) などのセキュリティリスクが生じます。
88-
# HTMLコンテンツのソースが完全に信頼できる場合のみ有効にしてください。
89-
# 使用例: DOWNFORCE_EMAIL_SECURITY_ALLOW_UNSAFE_HTML=true
90-
allow_unsafe_html: false # default: false (HTML自動エスケープ)
91-
92-
# 環境変数による設定例:
93-
# export DOWNFORCE_EMAIL_SECURITY_IGNORE_TLS_ERRORS=true
94-
# export DOWNFORCE_EMAIL_SECURITY_ALLOW_UNSAFE_HTML=true
95-
# down-force email draft --preview
77+
ignore_tls_errors: false # TLS証明書検証をスキップ (WARNING: 開発環境のみ)
78+
allow_unsafe_html: false # HTMLサニタイゼーションを無効化 (WARNING: XSSリスク)

0 commit comments

Comments
 (0)