Home > Ask the Software Quality Experts > Application Security Questions & Answers > Authentication and authorization for Web applications
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

Authentication and authorization for Web applications

Ramesh Nagappan EXPERT RESPONSE FROM: Ramesh Nagappan

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


>
QUESTION POSED ON: 01 August 2007
I developed a Web application and I put in place some authentication and authorization methods. Each works properly on my local system. But my question is, will this setting be enough to work on the Internet? Or do I have to use some other tool or software to give authentication and authorization there?

>
EXPERT RESPONSE

Defining authentication and authorization mechanisms for application access doesn't guarantee end-to-end security of an application whether it resides within a local system or made accessible over a network. Authentication and authorization mechanisms just contribute to verifying the user's identity. These mechanisms confirm the user is who he or she claims to be and define what actions the user is allowed to perform after granting access to the system. In addition, you would need to ensure the confidentiality and integrity of the communication and data exchanged during the application access and also to ensure non-repudiation and accountability make sure all actions are logged and available for audit.

Software security:
Creating a secure login page with Java

How to create a secure login page using ASP.NET

OWASP Guide to Building Secure Web Applications and Web Services: Session Management

Prior to your application deployment, make sure that all the Web-based deployment and its security requirements of your application runtime environment (ex. J2EE or Microsoft .NET) and its target host system are addressed and made available to your application. Here is a list of best practices you must consider for your Web deployment:

  1. Minimize and harden the operating system. That is, running the Web and application server. Ensure that all unsolicited and untrusted services are disabled.


  2. Make sure the application deployed Web server or Application server resides in a DMZ (Firewall) environment. Use a stateful firewall inspection to keep track of all Web-tier transmissions and protocol sessions.


  3. Secure Web server user permissions and administrative controls with appropriate access control mechanisms and privileges. All administration tasks must be carried out in an encrypted and trusted communication.
  4. Secure all incoming and outgoing communication to the Web server using HTTP over SSL/TLS (HTTPS) protocol. Enforce strong encryption with stronger ciphers.


  5. Make sure that you don't flip back to HTTP from a HTTPS session.


  6. Disallow all direct access to the application, make sure the application resides on a server accessed via a reverse proxy or Network address translation (NAT) -based IP addresses. Use certificates for server-to-server communication.


  7. Encrypt all application specific properties accessible to the Web server and stored on local disks.


  8. Make sure to verify and validate all input and output form fields and its request/responses. Track all user sessions by identifying the user and the host destination originating the request and receiving the responses.


  9. Log and audit all user actions, security and business functions.


  10. Make sure to set session timeouts for all active sessions and also logout the user from all residual sessions after session expiry.


Sound Off! -   Be the first to post a message to Sound Off!


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Application Security
How to prevent anti-DNS pinning attacks
Open source application security testing tools
Java application security features and measures
Web application security testing basics
Password recovery with .NET 2.O using C#
Free load and performance testing tools
The most effective time to do security testing
Finding backdoor threats within applications
SPML and SAML enhance application security in different ways
How to implement security in Java EE and Java ME

Building security into the SDLC (Software development life cycle)
Application security enters uncharted regions
How to prevent XPath injection
Developers get bigger role in software quality, security
InfoSecurity 2008 Threat Analysis, Chapter 4: XSS Theory
How to prevent anti-DNS pinning attacks
Java application security features and measures
Microsoft's Michael Howard: Security must be a part of every application
How to get developers to buy into software security
Password recovery with .NET 2.O using C#
How to address security during requirements gathering

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice

About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2006 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts