<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.crowehorwath.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Crowe Solutions Architecture Blog : security</title><link>http://www.crowehorwath.com/cs/blogs/solutions/archive/tags/security/default.aspx</link><description>Tags: security</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>Web Application Security – beyond authentication and authorization</title><link>http://www.crowehorwath.com/cs/blogs/solutions/archive/2008/03/05/web-application-security-beyond-authentication-and-authorization.aspx</link><pubDate>Wed, 05 Mar 2008 19:57:00 GMT</pubDate><guid isPermaLink="false">733c1265-83be-4492-a5ff-7e2be949a514:204</guid><dc:creator>Daan De Brouckere</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.crowehorwath.com/cs/blogs/solutions/rsscomments.aspx?PostID=204</wfw:commentRss><comments>http://www.crowehorwath.com/cs/blogs/solutions/archive/2008/03/05/web-application-security-beyond-authentication-and-authorization.aspx#comments</comments><description>&lt;p&gt;How much time do you usually spend securing a new system? Does security play a major role in your software architecture? How much security is enough?&lt;/p&gt;
&lt;p&gt;Securing web applications traditionally consists of two components referred to as authentication and authorization. Authentication is wrapped up in the log-in process, during which your system needs to identify the user or other system attempting to gain access. Application developers will create log-in pages or leverage Single Sign-On solutions to address the authentication issue. In addition, HTTPS will be used to encrypt the communication between your end-users and the system. Authorization, on the other hand, is the process by which the system verifies that a user (or external system) has the permission to execute a particular function within the system. This may be addressed by implementing a role-based security model.&lt;/p&gt;
&lt;p&gt;Is this enough? Well… that all depends on what kind of system you need and what kind of legal implications apply (such as HIPAA).&lt;/p&gt;
&lt;p&gt;Security must be addressed in each of the following phases of the software development lifecycle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Requirements&lt;br /&gt;&lt;/strong&gt;During requirements gathering and scope definition, one must understand what the security requirements are. Don’t just ask for them, but lead with questions and what-if scenarios.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Architecture and Design&lt;br /&gt;&lt;/strong&gt;When defining your architecture, consider the different components that will be needed to provide adequate security. Will security be encapsulated as part of each module, or will the modules in the middle tiers assume that a different tier has taken care of security? &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Development&lt;br /&gt;&lt;/strong&gt;Have you identified secure coding practices as part of your coding standards such as minimizing the attack surface and establishing security defaults?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Testing&lt;br /&gt;&lt;/strong&gt;Have you planned for security testing that addresses common attacks and checks for vulnerabilities?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deployment&lt;br /&gt;&lt;/strong&gt;Is your connection from application to database running with more privileges than necessary? Is the right security infrastructure in place, including firewalls and intrusion detection systems?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;As you’re evaluating your current system or building the next generation of products, please take a moment to think about security beyond authentication and authorization. I’m not suggesting that every system needs to be secured like Fort Knox, but rather that you consciously think about the appropriate level of security for your system and document it as part of your system architecture and development process.&lt;/p&gt;
&lt;p&gt;There are many references out there to help you improve software security. I would recommend the &lt;a class="" href="http://www.owasp.org/" target="_blank"&gt;Open Web Application Security Project&lt;/a&gt; (OWASP) to start.&lt;/p&gt;&lt;img src="http://www.crowehorwath.com/cs/aggbug.aspx?PostID=204" width="1" height="1"&gt;</description><category domain="http://www.crowehorwath.com/cs/blogs/solutions/archive/tags/architecture/default.aspx">architecture</category><category domain="http://www.crowehorwath.com/cs/blogs/solutions/archive/tags/security/default.aspx">security</category></item></channel></rss>