SSLをサイトに取り組むことによって入力されたサイトの情報を安全にデータベースへ登録することができると思うのですが、登録されたデータベースの情報を守るのにSSLだけでは不十分でしょうか。
メールフォームのデータをSSLでデータベースへ登録し保存したいと検討中です。
ですが、その情報を抜き取られないかとても不安です。
具体的にやっている対処方法などあれば教えていただきたいです。(素人でもできるものであれば・・)
お願いいたします。
SSLはあくまでユーザとサーバ間の通信路の安全を保証するものであって、通信路での盗聴や改ざんや詐称を防ぐもので、サーバ上のデータを守るものではありません。
色々ありますが、とりあえず上記の1と2に関しては最低限必要だと思います。
SSLはネットワークの途中経路を暗号化通信する事で、安全にデータの送受信ができるものであって、
データベースの情報を守るのはSSLではないですね。
通信経路よりもサーバに不正侵入されないようにする、とか、
扱うPCへも適切にアクセス制限を施す、データを持ち出されないようにする、
といった所まで気を使う必要があるかと思います。
ご回答ありがとうございます。
レンタルサーバで不特定多数を相手にする場合にできること/すべきこと
(1)SSLで通信内容の傍受を難しくする
(2)データベースへの保存は暗号化して解読を難しくする
MySQLのENCODE関数を使用して暗号化
http://allabout.co.jp/internet/database/closeup/CU20070208A/inde...
MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.10.2 暗号化関数と圧縮関数
http://dev.mysql.com/doc/refman/5.1/ja/encryption-functions.html
特定多数であれば接続回線経路を限定するという手も併用したりするがよほどの場合である
いずれにしてもプログラムミスや操作ミスなどでIDやパスワードがもれる可能性のほうが格段に高いことは心しておかなければならない
ご回答ありがとうございます。
SSLはあくまでユーザとサーバ間の通信路の安全を保証するものであって、通信路での盗聴や改ざんや詐称を防ぐもので、サーバ上のデータを守るものではありません。
色々ありますが、とりあえず上記の1と2に関しては最低限必要だと思います。
ご回答ありがとうございます。
SSLでクライアントとWebサーバの通信路の暗号化は確保されます。
DBのデータを守るということで考えると、
・サイト上のPHPスクリプトなどは安全か
formなどでSQLインジェクションされるような設計になっていないか。
管理画面など収集した内容を表示できるようなページを作ったとした場合に安全な設計か
パスワードが単純なものであったり、ユーザ名がrootだったり推測しやすいものは問題
管理などは必要なアクセス制限を掛けるのが前提
phpmyadminをデフォルトでrootパスワードなしで置いていたりするのはもってのほかです。
・DBへのアクセスにパスワードをちゃんとつける
・サーバそのもののセキュリティ
telnetを使っている。やめたほうがいい。
sshを使っている。rootでのログインは禁止、アクセスできるアドレスに制限を掛ける。パスワードよりも公開鍵のほうがいい。
サーバ上で動作しているアプリケーションにセキュリティホールが無いか。
受け取ったメールフォーム。メールそのものについても考えると、
ノートパソコンでpopしている場合、持ち出したノートパソコンを忘れるかもしれない。
複数人でフォームの内容を見ている場合、他のパソコンからの情報漏えいの可能性
いろいろとでてきます。
きりがないかもしれませんが、対策できることはやっておいて損はないと思います。
ご回答ありがとうございます。
データベースへアクセスするポート(MySQLなデフォルトで3306)に外部からアクセス不要であればファイアウォールで閉じておく
サーバー上のファイアウォールでも閉じておいて
ルーターのファイアウォールでも閉じておくのがよいと思います。
更に、DBMS側でも、LAN内からの接続だけでよければ
DBユーザー設定時に、アクセス元を制限しておく
ご回答ありがとうございます。
PHPでSQLインジェクションに気をつけてください。
通常はこの程度しかされてません。
また、DBに格納するデータ自体に暗号をかけてしまうという手法があります。
そうすれば、DBからデータを取り出せたとしても、暗号状態ですので
復号する必要があります。
でもここまでしてるところはあまりないですね。
ご回答ありがとうございます。
ご回答ありがとうございます。