Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Database & SysAdmin
  3. Database
  4. Question about Distributed security for DAL...

Question about Distributed security for DAL...

Scheduled Pinned Locked Moved Database
securitydatabasequestioncsharpasp-net
2 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    jamauss
    wrote on last edited by
    #1

    I thought I would post this question here since it's a pretty good community of experts. The application I am in charge of architecting is an ASP.NET (intranet) web application running on IIS 5 or better - targeted towards .NET environments on Windows 2000 Server and/or Windows 2003 Server. It needs to be able to scale to meet the demand of hundreds or thousands of users (ie. work in a “web farm” environment). I have to be able to support both Oracle and SQL Server as the database that stores the data for the application. Security is an important concern since the application would be getting deployed within organizations that take security fairly seriously. I can count on at least Windows 2000 and at least IE 5.5 being on the desktop, though I’m not sure if the particular browser used to access the application should be much of a concern or not in terms of security. Ok, so here’s what I had in mind: Browser --> IIS --> ASP.NET --> Enterprise Services/COM+ --> SQL Server/Oracle (my thinking is that my data access code would run in the context of a COM+/ES component) I would like to be able to use Impersonation so that I could run the COM+ component under a certain user account (for my app only) and use Trusted_Connection in my connection string to SQL Server/Oracle (with OSAuthent=1; for the Oracle OLEDB driver). My reasons for wanting to do this are that 1) it seems to me like the most secure way to implement the connection and 2) I could use Windows to handle authentication instead of writing my own code to do so. Some questions/concerns I have:

    1. I don’t hear much mention of using this impersonation technique with COM+/ES components. Is it just not well known or are there drawbacks I don’t know about?
    2. I’ve been reading some newsgroup posts and it sounds like when using Impersonation you lose performance gained by connection pooling. Does anyone know if this is true or false?
    3. If the Oracle database is hosted on Unix or Linux, is it still possible to connect using Impersonation?
    4. Should I look at implementing transport-level security (like SSL) when the users authenticate to IIS?
    5. Anything else I should be thinking about in regards to the tiers/architecture of this application?

    Thanks in advance for any time & energy you can lend to me on this. Feel free to use this in your blog (if you have one) if you think it would help get more suggestions from readers or anything like that. Thanks, Jason Mauss

    I 1 Reply Last reply
    0
    • J jamauss

      I thought I would post this question here since it's a pretty good community of experts. The application I am in charge of architecting is an ASP.NET (intranet) web application running on IIS 5 or better - targeted towards .NET environments on Windows 2000 Server and/or Windows 2003 Server. It needs to be able to scale to meet the demand of hundreds or thousands of users (ie. work in a “web farm” environment). I have to be able to support both Oracle and SQL Server as the database that stores the data for the application. Security is an important concern since the application would be getting deployed within organizations that take security fairly seriously. I can count on at least Windows 2000 and at least IE 5.5 being on the desktop, though I’m not sure if the particular browser used to access the application should be much of a concern or not in terms of security. Ok, so here’s what I had in mind: Browser --> IIS --> ASP.NET --> Enterprise Services/COM+ --> SQL Server/Oracle (my thinking is that my data access code would run in the context of a COM+/ES component) I would like to be able to use Impersonation so that I could run the COM+ component under a certain user account (for my app only) and use Trusted_Connection in my connection string to SQL Server/Oracle (with OSAuthent=1; for the Oracle OLEDB driver). My reasons for wanting to do this are that 1) it seems to me like the most secure way to implement the connection and 2) I could use Windows to handle authentication instead of writing my own code to do so. Some questions/concerns I have:

      1. I don’t hear much mention of using this impersonation technique with COM+/ES components. Is it just not well known or are there drawbacks I don’t know about?
      2. I’ve been reading some newsgroup posts and it sounds like when using Impersonation you lose performance gained by connection pooling. Does anyone know if this is true or false?
      3. If the Oracle database is hosted on Unix or Linux, is it still possible to connect using Impersonation?
      4. Should I look at implementing transport-level security (like SSL) when the users authenticate to IIS?
      5. Anything else I should be thinking about in regards to the tiers/architecture of this application?

      Thanks in advance for any time & energy you can lend to me on this. Feel free to use this in your blog (if you have one) if you think it would help get more suggestions from readers or anything like that. Thanks, Jason Mauss

      I Offline
      I Offline
      ian mariano
      wrote on last edited by
      #2

      Reference Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication on the MSDN site. It'll give you plenty of answers! Briefs on Your questions:

      1. See the aforementioned link.
      2. Not sure about that, but impersonation itself is a slight perfomance hit aggregated onto the overall performance. You're switching the user context, so there's an OS hit to set up the impersonation context.
      3. Yes, as long as the impersonated context/calling machine has access to the 'nix box, either as a native user or via username/password.
      4. By all means! Eval your data security needs. Keep in mind that just because you're app is in the intranet doesn't mean it's secure. There's always the possiblity someone will hijack the flow of data (d4mn p4ck3t sn1ff3rz!) from within the organization.
      5. See the aforementioned link.

      Ian Mariano - http://www.ian-space.com/
      "We are all wave equations in the information matrix of the universe" - me

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups