11.07.2015 Views

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

352 Part III: Building Secure <strong>Web</strong> <strong>Application</strong>sDesign ConsiderationsBefore you begin to develop remote components, there are a number of issues toconsider at design time. The key security considerations are:● Do not expose remoted objects to the Internet.●●Use the HttpChannel to take advantage of ASP.NET security.Use the TcpChannel only in trusted server scenarios.Do Not Expose Remoted Objects to the InternetYou should only host remoted objects on middle-tier application servers that are notdirectly accessible from the Internet, <strong>and</strong> that are only accessible from front-end <strong>Web</strong>applications <strong>and</strong> <strong>Web</strong> services. If you need to expose functionality provided by aremoted object to Internet clients, use a <strong>Web</strong> service to wrap the middle-tier object<strong>and</strong> expose the <strong>Web</strong> service to the Internet.Use the HttpChannel to Take Advantage of ASP.NET <strong>Security</strong>If security is your primary concern, use ASP.NET to host remoted objects. This allowsyou to take advantage of the authentication, authorization, <strong>and</strong> securecommunication features provided by ASP.NET <strong>and</strong> IIS. For example, you can useWindows authentication <strong>and</strong> use SSL to provide privacy <strong>and</strong> for the integrity ofrequests <strong>and</strong> responses sent over the network.Use the TcpChannel Only in Trusted Server ScenariosIf you use the TcpChannel with a custom host process for performance reasons,remember that no built-in authentication services exist.For this reason, you should only use the TcpChannel in trusted server scenarios,where the upstream <strong>Web</strong> application or <strong>Web</strong> service authenticates <strong>and</strong> authorizesthe original callers before it calls your middle-tier remoted components. To securethis scenario, use IPSec for machine-level authentication <strong>and</strong> secure communication.The IPSec policy should only permit traffic from the nominated <strong>Web</strong> server(s) to themiddle-tier remote component host. This trusted server scenario is shown inFigure 13.3.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!