C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

安全なDBの配信方法

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■83662 / inTopicNo.1)  安全なDBの配信方法
  
□投稿者/ ちゅん (1回)-(2017/04/01(Sat) 10:57:08)

分類:[.NET 全般] 

C#でクライアントアプリケーションを作成しユーザー(社員など)に配布し、
アプリケーションで必要なDBを数日に1回、下記の手順で配布しています。
 ランダムURLのFTPサーバーに公開
 →メール通知
 →各自がDLして更新
しかし更新作業をしてくれない人が多すぎるので、
今後を自動更新できるようなシステムに作り変えたいと考えています。

FTPサーバーの活用したものを試作したのですが、
・C#はコードを復元できるので、パスワードが特定できる。
・パケットキャプチャによる接続文字列の特定ができる。
ということもあり断念しました。

かといって匿名FTPや固定名称のHTTPでは退職者にもDLされる危険性があります。
社員別にアカウントを作ると相当な手間が発生します。

アプリケーションの所有者のみに安全に配信するにはどのような手法を取れば良いと思いますか。
引用返信 編集キー/
■83666 / inTopicNo.2)  Re[1]: 安全なDBの配信方法
□投稿者/ WebSurfer (1206回)-(2017/04/01(Sat) 12:06:08)
No83662 (ちゅん さん) に返信

DB は配布しないで DB サーバーに保持し、クライアントは DB サーバーに Web API 経由で
アクセスして利用するという方向に進むことは検討の余地はないでしょうか?
引用返信 編集キー/
■83667 / inTopicNo.3)  Re[2]: 安全なDBの配信方法
□投稿者/ ちゅん (2回)-(2017/04/01(Sat) 14:27:55)
No83666 (WebSurfer さん) に返信
> ■No83662 (ちゅん さん) に返信
>
> DB は配布しないで DB サーバーに保持し、クライアントは DB サーバーに Web API 経由で
> アクセスして利用するという方向に進むことは検討の余地はないでしょうか?

なるほど。
そうするとDBのアクセスパスワードをどう保存するかが問題ではないでしょうか。
コード上に記載、設定ファイルに保存、暗号化をしてもC#はコードが復元可能なので少し知識がある人なら簡単に特定されてしまいます・・・。

ただしインターネットに公開できるデータベースサーバーを所有していないため今のところできません。
(今のレンタルサーバーにはWEB、メール、FTPしかありませんでした・・・。)
またITに投資をしてくれない会社なので新たに借りるのも難しいと思います。
引用返信 編集キー/
■83668 / inTopicNo.4)  Re[3]: 安全なDBの配信方法
□投稿者/ WebSurfer (1207回)-(2017/04/01(Sat) 14:34:21)
No83667 (ちゅん さん) に返信

> そうするとDBのアクセスパスワードをどう保存するかが問題ではないでしょうか。
> コード上に記載、設定ファイルに保存、暗号化をしてもC#はコードが復元可能なので少し知識がある人なら簡単に特定されてしまいます・・・。

例えば SQL Server を使って DB へのログインは Windows 認証を使えばその問題は解消します。

SQL Server 認証でも ID と Password のやり取りは DB サーバーと Web サーバーの間だけになる
し、暗号化も可能なので、クライアントからは見えないようにできるはずです。
引用返信 編集キー/
■83669 / inTopicNo.5)  Re[3]: 安全なDBの配信方法
□投稿者/ WebSurfer (1208回)-(2017/04/01(Sat) 14:39:44)
No83667 (ちゅん さん) に返信

最初に書いておくべきでしたが、

クライアント ⇔ DB サーバー

ではなくて、

クライアント ⇔ (Web サービス or WCF or Web API) ⇔ DB サーバー

という前提で提案しています。
引用返信 編集キー/
■83670 / inTopicNo.6)  Re[4]: 安全なDBの配信方法
□投稿者/ ちゅん (3回)-(2017/04/01(Sat) 15:32:33)
No83668 (WebSurfer さん) に返信
> ■No83667 (ちゅん さん) に返信
>
>>そうするとDBのアクセスパスワードをどう保存するかが問題ではないでしょうか。
>>コード上に記載、設定ファイルに保存、暗号化をしてもC#はコードが復元可能なので少し知識がある人なら簡単に特定されてしまいます・・・。
>
> 例えば SQL Server を使って DB へのログインは Windows 認証を使えばその問題は解消します。
>
> SQL Server 認証でも ID と Password のやり取りは DB サーバーと Web サーバーの間だけになる
> し、暗号化も可能なので、クライアントからは見えないようにできるはずです。

いずれも経験の無い技術ばかりなので私にできるかどうか分かりませんが、一度試してみたいと思います。
引用返信 編集キー/
■83671 / inTopicNo.7)  Re[4]: 安全なDBの配信方法
□投稿者/ ちゅん (4回)-(2017/04/01(Sat) 15:43:38)
解決とお礼付け忘れました。
ありがとうございました!
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ