• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 317
  • Last Modified:

Anyone a security guru out there WCF question.

Hello all,

I need some opinions on this and education really as I continue to research.    I work at a company where we have sensitive data in a core Intranet based application in-house of course.   The backend is a SQL Server database.    There is a need to expose externally to some vendors some of the data within the core system as well as 'provide' us some data we would be inserting or updating to a few tables.   We created a service layer to eventually be able to expose some of our service call methods such as gets etc. external to our application.  So I have a few questions I am concerned about and need to understand better:

- Is it good practice to have a second database that only has data relevant to the external based system to have that separation.  My thinking is this is kind of getting away with secure WCF messaging so this would be a waste of time.   If they can compromise a second database why not the first etc.   Then the idea would be replication etc. to move data back and forth to our core database.   This is the main question that came up as the core database has a lot of sensitive data.  

- Not sure where we would be 'hosting' this external application but of course it would be on the DMZ so it can be exposed.   Any thoughts or use case scenarios on this is it WCF with certificate based security etc.

Anyway I know this is a loaded question but looking to understand it better because of the personal data we need to be careful is not exposed.   I am not a WCF guru and have used in the past here and there.

Thanks for any information, links etc. you can provide.
0
sbornstein2
Asked:
sbornstein2
1 Solution
 
apeterCommented:
From the application side using below would secure your request coming in.

*  Request comes over https
*  Each request comes with a custom authentication in the header which you can share with your clients


From db level you can have this setting. This way it is like a second database, logically.
*You can create separate views for this application to get data.
* Also create a separate database user that will used in above application and they have permission only to these views.

same thing can be done in "asp.net web api"(Rest based HTTP Call), just in case if you are just starting...

Hope this gives a start.
0
 
Bob LearnedCommented:
With 4.5, the Windows Identity Foundation (WIF) was fully integrated into the framework.  The WCF Security Token Service works with certificates to sign the tokens.

WCF Security Token Service
http://msdn.microsoft.com/en-us/library/ee748498.aspx

Here is some good reading material on WCF security:

Fundamentals of WCF Security
http://www.codemag.com/article/0611051
0

Featured Post

A Cyber Security RX to Protect Your Organization

Join us on December 13th for a webinar to learn how medical providers can defend against malware with a cyber security "Rx" that supports a healthy technology adoption plan for every healthcare organization.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now