PHPでメールフォームを作成しています。
以下質問させて下さい。
1.WEBサイトからメールサービスへの通信について、セキュリティ対策する必要は
ありますでしょうか。WEB画面については以下対策を行っております。
・クロスサイトスクリプティング(XSS)
・クロスサイトリクエストフォージェリ(CSRF)
・クリックジャッキング
2.1つ1つセキュリティ対策をするよりも、既に存在するメール送信ライブラリを
使用したほうが良いとの回答を見ました。
これはライブラリを使用すれば、個々のセキュリティ対策の実装は不要
ということでしょうか。
https://teratail.com/questions/134736
今のところライブラリは、PhpMailerを使用予定です。
【補足】
・PHPMailerがサポートしているセキュリティ対策は調べてみましたが、
見つける事ができませんでした。
・作成するメールフォームは、送信先は固定でPHPソース内にべた書きする予定です。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/02 06:26
回答3件
0
1.WEBサイトからメールサービスへの通信について、セキュリティ対策する必要はありますでしょうか。
Webサイトとメールサービスは別のサーバーということでしょうか。もし別の場合、Webサーバーとメールサービスはどうやってつなぐのでしょうか? (1)Webサーバーにもメールサーバーがありそれを中継する、(2)Webアプリケーションからダイレクトにメールサービスと通信する。
「通信について、セキュリティ対策する必要はあ」るかという質問ですが、微妙なラインですね。TLSによる暗号化をした方がよいと思いますが、「必要」とまでは言えないと思います。
WEB画面については以下対策を行っております。
・クロスサイトスクリプティング(XSS)
・クロスサイトリクエストフォージェリ(CSRF)
・クリックジャッキング
加えてメールヘッダインジェクション対策は必須ですが、PHPMailer側で対策されているかもしれません。これは調べないとわからないです。どちらの場合でもアプリケーション側で対策しておけば安心です。
これら以外に、メールフォームの悪用対策というのがありますが、メールフォームというものは元々悪用できるものなので、どこまでやるかは難しいところですし、要件次第というところもあります。
2.1つ1つセキュリティ対策をするよりも、既に存在するメール送信ライブラリを
使用したほうが良いとの回答を見ました。
これはライブラリを使用すれば、個々のセキュリティ対策の実装は不要
ということでしょうか。
https://teratail.com/questions/134736
今のところライブラリは、PhpMailerを使用予定です。
参照されている回答をみましたが、「1つ1つセキュリティ対策をするよりも、既に存在するメール送信ライブラリを使用したほうが良いとの回答」はないように思います。どの回答・どの文を指していますか?
メール送信ライブラリでできるセキュリティ対策はメールヘッダインジェクションくらいですし、それはライブラリの仕様・実装次第です。そのほかの対策はアプリケーション側で対応する必要があります。
また、PHPMailerは過去に危険な脆弱性が発見されているので、最新版を使うことを確認してください。これはどのライブラリを使う場合にも言えることですが。
投稿2018/08/01 00:51
総合スコア11705
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/02 07:01
2018/08/02 08:24
2018/08/02 08:27
2018/08/02 11:06
2018/08/03 06:49
0
ベストアンサー
メールフォームは、一般的な Web アプリと違い、以下のような特徴を持ちます。
・個人認証を行わない状態で使用することが多い
・スパムの発射台として利用されると被害が大きい
・メールという別アプリケーションを使用するため、そちらの知識が必須
最低限、上記を満たすメールフォームの機能は以下のとおりです。
・連続投稿対策
・外部からの直接投稿対策
・メールアドレスの実在検証
これに加えて
・送信サーバのセキュアな設定
も必要となります。
メールフォームは、きちんとセキュリティ要件を整理しておかないと他人に対して迷惑をかけてしまいます。
この要件定義のハードルはそれほど低くありません。
実際の攻撃を知っていないと対策できないですし、オープンにされた情報は少ないです。
また、アプリケーションをまたいだ要件対応が必要となるため、ライブラリでは対応はできません。容易に実装するのであれば、自身の必要とする要件をきちんと定義し、送信サーバを含むメールフォームの SaaS を比較して導入することをオススメします。
メールフォームに関しての学習をしたいと言うことであれば、まずはメールの仕組みから学習してください。どちらかと言うと、送信サーバをセキュアに保つことのほうが、闇が深いことに気がつけると思います。
で、送信サーバがセキュアに保てた後の話になりますが、メールフォームに関して、包括的な実践ライブラリは見たことがないです。連続投稿対策がネックになっており、こちらは自前で実装する必要があります。
あまり参考になる情報はありませんが、私は匿名掲示板の要件を参考にしました。
いろいろ書きましたが、自動返信を行わなければ、かなり楽ができます。
参考まで。
投稿2018/08/01 01:18
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/02 07:55
退会済みユーザー
2018/08/02 09:21
2018/08/03 06:40
0
ユーザーがweb上で入力したものが自分(サーバー側の指定した人)に送られるなら
多少のやんちゃをされても被害を被るのは自分だけなので問題ないでしょう
これがweb入力したもの宛先が不特定多数を指定できるならスパムの温床になります
投稿2018/08/01 00:48
総合スコア116468
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。