SlideShare a Scribd company logo
Securing your .NET Applications Visit us:  www.ironspeed.com  Download the Free Edition:  www.ironspeed.com/download
Securing your .NET Applications Concentric Rings of Security Firewall Security Medium Trust vs. High Trust IIS Security Authentication Authorization SSL Encryption Database Security SQL Injection Attacks Secure Communications (URL Encryption) Multiple Applications for Internal vs. External Users Best Practices
Concentric Rings of Security No system should rely on a single-level of Security Secure Web Applications through Concentric Rings of Security
Concentric Rings of Security Security should include: Physical (e.g., data center) Network (e.g., Firewall, VPN) Operating System (e.g., Accounts, Trust Levels) Web Server (e.g., IIS Virtual Directory) Web Application (e.g., Authentication, Authorization) Database (e.g., User Accounts) Data (e.g., encrypt sensitive data) Best Practices (e.g., SQL Injection, URL Encryption) You know what to do
Network Security Level Use VPN to secure Internal Systems Use separate machines for Web Server and Database Server
Operating System Level Use .NET Trust Level to secure Operating System access
.NET Trust Levels Full:  Anything that the account running it can do. High: ‘Full trust’ minus calls to unmanaged code (Win32 APIs and COM interop). Medium:  No DB, File I/O, Registry, Reflection or Event logs. Low: Cannot make calls to a database, network, etc. Minimal:  Only trivial processing allowed Modified in the machine-level web.config file
Iron Speed Recommends High Trust for Internal Applications Modified Medium Trust for External Applications Allow Ole DB Reflection Registry File I/O Event Logs (if not hosted)
Web Server Level Every .NET Application runs under specific user credentials Anonymous Impersonation (pass-through)
Web Server – Anonymous Anonymous Security = IIS Virtual Directory configured to run under specific user account Typical for public web applications Internal web applications can use if combined with Active Directory
Web Server – Impersonation IIS Configured to pass-through user credentials Only works with Microsoft Internet Explorer IE passes Windows domain and user to application Fraught with problems Double-hop not allowed by Microsoft Database on different server cannot use Windows Authentication Other browsers do not pass credentials Suited for Internal Applications Does not work for External Applications Alternative Approach: Use Anonymous + Active Directory
Iron Speed Recommends IIS Configured to use Anonymous Access Use IIS_machinename account System account with limited capabilities
Web Application – Authentication Configure most web pages to require Authentication Some web pages may be publicly accessible Multiple choices available Active Directory Windows Authentication Database SharePoint All choices are equally secure
Iron Speed Recommends Use Active Directory if all users internal Use Database if external or extranet application
Web Application – Authorization Use Role-Based Security to Authorize parts of application Use Page-level or Control-level Not sufficient to disable button E.g., do not just disable Edit button – also secure Edit page Use Roles in Query WHERE clauses
Iron Speed Recommends Use any of the role-based security protocols Most customers find they need Application-level control of roles – so use Database Roles – regardless of which Authentication used
Database Security Limit Database Account to query execution Exclude “dbcreator” access to prevent DROP or ALTER Use Database Specific Accounts (instead of Windows Authentication)
Iron Speed Recommends SQL Server: Use SQL Server Authentication Use Separate Database Server
Best Practices – SQL Injection Attacks Text boxes in your application can be used to inject malicious SQL code SELECT *  FROM Customers  WHERE Name = ‘ + SearchTextbox.Text + ’ If user enters:  a’; DELETE FROM Customers WHERE ‘1’ = ‘1 Will delete all customers
Best Practices – SQL Injection Attacks Never trust user input Never use dynamic SQL Never connect to a database using Admin account Encrypt sensitive data in database Use custom error messages
Iron Speed Recommends All user input is quoted End-user should not be allowed to create dynamic SQL Use limited account for connecting to the database
Best Practices – Cross-Site Scripting Attacks Cross-Site Scripting uses JavaScript, HTML, VBScript or other code Inject using regular data entry fields Execution happens when data is displayed if data is not validated and quoted when saved
Iron Speed Recommends Do not allow user to input HTML or JavaScript Use Rich-Text Editor sparingly Validate Rich-Text input  Set HTMLEncodeValue = TRUE Validate using Cross-Site Validators
Best Practices – Secure Communications Browser to Server communications can be easily eavesdropped Use SSL (Secure Sockets Layer) to prevent eavesdropping Purchase SSL Certificate from trusted authority Setup IIS and Virtual Directory to always redirect to SSL site
Best Practices – Secure Communications URL Parameters may also expose data Use URL Encryption or pass data through POST or using Session Encrypt URL Parameters using key based on Session Id Prevents reverse-engineering because each parameter value is encrypted using session based key
Iron Speed Recommends Use SSL (HTTPS) for all secure sites Use URL Encryption for all secure sites
Best Practices – Multiple Applications Develop separate Internal and External Applications Helps secure Internal applications through VPN, Active Directory, etc. External Applications can be secured using Database Users and/or Database Role-Based
Iron Speed Recommends Separate Applications for Internal and External Use
Data Level Encrypt all sensitive data Passwords Social Security Numbers Credit Card Numbers Birth Dates Confidential Numbers like Salary
Iron Speed Recommends One-way encryption for password type fields Encrypt and save Compare with encrypted data rather than decrypting Two-way encryption / decryption for other data
Security Audits Maintain security checklist Regularly audit each ring of security All system changes must be followed by security audits Regularly check System and Event logs Security is not a one-time issue, it is an ongoing endeavor Re-validate upon each application modification/deployment
Iron Speed Designer
Iron Speed Designer Supports Authentication Windows Authentication Database (User table) Active Directory Microsoft SharePoint
Iron Speed Designer Supports Authorization Database (Roles) Active Directory Groups Microsoft Authorization Manager (AzMan) Microsoft SharePoint Groups
Iron Speed Designer Supports SQL Injection Attack Prevention All user input goes through multiple validations and is quoted No dynamic SQL allowed from end user
Iron Speed Designer Supports Cross-Site Scripting Attack Prevention Prevent HTML / JavaScript execution by encoding HTMLEncodeValue = True by default
Iron Speed Designer Supports URL Encryption Turn on in Application Generation Options
Iron Speed Designer Supports Session Timeouts Logout after certain time
Iron Speed Designer Supports Web Server and Database Security Use SSL Security Configure IIS Virtual Directory Settings using specific account Configure Database Accounts
Iron Speed Designer Supports Major Security challenges out-of-the-box Best Practices out-of-the-box Other Security challenges through simple configuration based on system needs
Why use Iron Speed Designer? Speed application development Cut software development costs Reduce testing time Simplify maintenance Built-in Security Application generation =  acceleration
Questions?
Course Materials Download from http://cdn.ironspeed.com/videos/RaziMohiuddin/V71.Security.zip

More Related Content

PPTX
Sql server security in an insecure world
Gianluca Sartori
 
PPT
Secure Web Applications Ver0.01
Vasan Ramadoss
 
PPTX
ASP.NET security vulnerabilities
Aleksandar Bozinovski
 
PPTX
SQL Server Security and Intrusion Prevention
Gabriel Villa
 
PPTX
Web app security
Araf Karsh Hamid
 
PPTX
ASP.NET Web Security
SharePointRadi
 
PPTX
Owasp first5 presentation
Ashwini Paranjpe
 
KEY
SQL Server: Security
LearnNowOnline
 
Sql server security in an insecure world
Gianluca Sartori
 
Secure Web Applications Ver0.01
Vasan Ramadoss
 
ASP.NET security vulnerabilities
Aleksandar Bozinovski
 
SQL Server Security and Intrusion Prevention
Gabriel Villa
 
Web app security
Araf Karsh Hamid
 
ASP.NET Web Security
SharePointRadi
 
Owasp first5 presentation
Ashwini Paranjpe
 
SQL Server: Security
LearnNowOnline
 

What's hot (19)

PDF
CSS17: Houston - Protecting Web Apps
Alert Logic
 
PDF
AJAX Security - LAC2016
Julia Logan a.k.a. IrishWonder
 
PPT
Secure code practices
Hina Rawal
 
PPT
ASP.NET 13 - Security
Randy Connolly
 
PPTX
Web application attacks
hruth
 
PDF
Ajax Security Dangers
drkimsky
 
PPTX
OWASP -Top 5 Jagjit
Jagjit Singh Brar
 
PPT
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Brian Huff
 
PDF
Web App Security Presentation by Ryan Holland - 05-31-2017
TriNimbus
 
PPTX
Azure Global Bootcamp 2017 Azure AD Deployment
Anthony Clendenen
 
PDF
SPSNL17 - Secure Collaboration: Start classifying, labeling, and protecting y...
DIWUG
 
PPTX
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
ITProceed
 
PDF
Web Application Security 101
Cybersecurity Education and Research Centre
 
PPTX
Anatomy Web Attack
Kelly Speiser
 
PPT
Writing Secure Code – Threat Defense
amiable_indian
 
PDF
O365Con18 - Compliance Manager - Tomislav Lulic
NCCOMMS
 
PPTX
SQL Server 2012 Security Task
Yaakub Idris
 
PPTX
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
Ajin Abraham
 
PPTX
Spring Security
Boy Tech
 
CSS17: Houston - Protecting Web Apps
Alert Logic
 
AJAX Security - LAC2016
Julia Logan a.k.a. IrishWonder
 
Secure code practices
Hina Rawal
 
ASP.NET 13 - Security
Randy Connolly
 
Web application attacks
hruth
 
Ajax Security Dangers
drkimsky
 
OWASP -Top 5 Jagjit
Jagjit Singh Brar
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Brian Huff
 
Web App Security Presentation by Ryan Holland - 05-31-2017
TriNimbus
 
Azure Global Bootcamp 2017 Azure AD Deployment
Anthony Clendenen
 
SPSNL17 - Secure Collaboration: Start classifying, labeling, and protecting y...
DIWUG
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
ITProceed
 
Web Application Security 101
Cybersecurity Education and Research Centre
 
Anatomy Web Attack
Kelly Speiser
 
Writing Secure Code – Threat Defense
amiable_indian
 
O365Con18 - Compliance Manager - Tomislav Lulic
NCCOMMS
 
SQL Server 2012 Security Task
Yaakub Idris
 
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
Ajin Abraham
 
Spring Security
Boy Tech
 
Ad

Viewers also liked (13)

PDF
Maximizing your coaxial (cable tv) v2
Broto Santoso
 
PDF
Łukasz Lenart "How secure your web framework is? Based on Apache Struts 2"
Pawel Krawczyk
 
PPT
Real Life Information Security
Pawel Krawczyk
 
PDF
RootedCON 2015 - Deep inside the Java framework Apache Struts
testpurposes
 
PPTX
Cyber Threat Hunting with Phirelight
Hostway|HOSTING
 
PPTX
Go Hack Yourself - 10 Pen Test Tactics for Blue Teamers
jasonjfrank
 
PDF
Queue Size Trade Off with Modulation in 802.15.4 for Wireless Sensor Networks
CSCJournals
 
PDF
.Net Hijacking to Defend PowerShell BSidesSF2017
Amanda Rousseau
 
PPTX
SETTING METHOD IN CONSIDERATION OF THE PCI/DSS
hogehuga
 
PDF
Passive infrastructure of FTTH networks: an overview
Luc De Heyn
 
PDF
A very quick introduction to HFC, DOCSIS 3.0 and 3.1
Erik Vloothuis
 
PDF
ColdFusion for Penetration Testers
Chris Gates
 
PPTX
DevOOPS: Attacks and Defenses for DevOps Toolchains
Chris Gates
 
Maximizing your coaxial (cable tv) v2
Broto Santoso
 
Łukasz Lenart "How secure your web framework is? Based on Apache Struts 2"
Pawel Krawczyk
 
Real Life Information Security
Pawel Krawczyk
 
RootedCON 2015 - Deep inside the Java framework Apache Struts
testpurposes
 
Cyber Threat Hunting with Phirelight
Hostway|HOSTING
 
Go Hack Yourself - 10 Pen Test Tactics for Blue Teamers
jasonjfrank
 
Queue Size Trade Off with Modulation in 802.15.4 for Wireless Sensor Networks
CSCJournals
 
.Net Hijacking to Defend PowerShell BSidesSF2017
Amanda Rousseau
 
SETTING METHOD IN CONSIDERATION OF THE PCI/DSS
hogehuga
 
Passive infrastructure of FTTH networks: an overview
Luc De Heyn
 
A very quick introduction to HFC, DOCSIS 3.0 and 3.1
Erik Vloothuis
 
ColdFusion for Penetration Testers
Chris Gates
 
DevOOPS: Attacks and Defenses for DevOps Toolchains
Chris Gates
 
Ad

Similar to Securing Your .NET Application (20)

PPTX
Security asp.net application
ZAIYAUL HAQUE
 
PPT
Bh Win 03 Rileybollefer
Timothy Bollefer
 
PPT
Application Security Part 1 Threat Defense In Client Server Applications ...
Greg Sohl
 
PPT
IEEE KUET SPAC presentation
ahsanmm
 
PDF
Web application security (eng)
Anatoliy Okhotnikov
 
PDF
OWASP Top 10 List Overview for Web Developers
Benjamin Floyd
 
PPTX
Web Application Security - DevFest + GDay George Town 2016
Gareth Davies
 
PPTX
Secure practices with dot net services.pptx
Knoldus Inc.
 
PDF
How to Harden the Security of Your .NET Website
DNN
 
PDF
Security .NET.pdf
Abhi Jain
 
PPTX
Security guidelines for web development
kumar gaurav
 
PPTX
00. introduction to app sec v3
Eoin Keary
 
PDF
CNIT 129S: Securing Web Applications Ch 1-2
Sam Bowne
 
PPTX
Application Security-Understanding The Horizon
Lalit Kale
 
PPTX
Application Security - Myth or Fact Slides
dfgrumpy
 
PDF
Professional Aspnet 20 Security Membership And Role Management Stefan Schackow
asnermaurihg
 
PDF
web application security
ahmed sami
 
PPT
Web application development_dos_and_donts
huynhvanphuc
 
PPS
Application Security Review 5 Dec 09 Final
Manoj Agarwal
 
PPTX
So Your Company Hired A Pentester
NorthBayWeb
 
Security asp.net application
ZAIYAUL HAQUE
 
Bh Win 03 Rileybollefer
Timothy Bollefer
 
Application Security Part 1 Threat Defense In Client Server Applications ...
Greg Sohl
 
IEEE KUET SPAC presentation
ahsanmm
 
Web application security (eng)
Anatoliy Okhotnikov
 
OWASP Top 10 List Overview for Web Developers
Benjamin Floyd
 
Web Application Security - DevFest + GDay George Town 2016
Gareth Davies
 
Secure practices with dot net services.pptx
Knoldus Inc.
 
How to Harden the Security of Your .NET Website
DNN
 
Security .NET.pdf
Abhi Jain
 
Security guidelines for web development
kumar gaurav
 
00. introduction to app sec v3
Eoin Keary
 
CNIT 129S: Securing Web Applications Ch 1-2
Sam Bowne
 
Application Security-Understanding The Horizon
Lalit Kale
 
Application Security - Myth or Fact Slides
dfgrumpy
 
Professional Aspnet 20 Security Membership And Role Management Stefan Schackow
asnermaurihg
 
web application security
ahmed sami
 
Web application development_dos_and_donts
huynhvanphuc
 
Application Security Review 5 Dec 09 Final
Manoj Agarwal
 
So Your Company Hired A Pentester
NorthBayWeb
 

More from Iron Speed (12)

PPT
Build Database Applications for SharePoint!
Iron Speed
 
PPT
Get a Little Help with Your Help Desk Application
Iron Speed
 
PPT
Build Database Applications for SharePoint
Iron Speed
 
PPT
Building a CRM Application
Iron Speed
 
PPT
Best Practices for Database Schema Design
Iron Speed
 
PPTX
Build .NET Applications with Reporting and Dashboard
Iron Speed
 
PPT
Best Practices for Database Schema Design
Iron Speed
 
PPT
Demo: Iron Speed Designer Version 8.0 Released
Iron Speed
 
PPTX
Onshore Software Development At Offshore Prices
Iron Speed
 
PPTX
SharePoint Meets Database
Iron Speed
 
PDF
Iron Speed Designer Fact Sheet
Iron Speed
 
PPT
Getting Started with Iron Speed Designer
Iron Speed
 
Build Database Applications for SharePoint!
Iron Speed
 
Get a Little Help with Your Help Desk Application
Iron Speed
 
Build Database Applications for SharePoint
Iron Speed
 
Building a CRM Application
Iron Speed
 
Best Practices for Database Schema Design
Iron Speed
 
Build .NET Applications with Reporting and Dashboard
Iron Speed
 
Best Practices for Database Schema Design
Iron Speed
 
Demo: Iron Speed Designer Version 8.0 Released
Iron Speed
 
Onshore Software Development At Offshore Prices
Iron Speed
 
SharePoint Meets Database
Iron Speed
 
Iron Speed Designer Fact Sheet
Iron Speed
 
Getting Started with Iron Speed Designer
Iron Speed
 

Recently uploaded (20)

PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Software Development Methodologies in 2025
KodekX
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Doc9.....................................
SofiaCollazos
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 

Securing Your .NET Application

  • 1. Securing your .NET Applications Visit us: www.ironspeed.com Download the Free Edition: www.ironspeed.com/download
  • 2. Securing your .NET Applications Concentric Rings of Security Firewall Security Medium Trust vs. High Trust IIS Security Authentication Authorization SSL Encryption Database Security SQL Injection Attacks Secure Communications (URL Encryption) Multiple Applications for Internal vs. External Users Best Practices
  • 3. Concentric Rings of Security No system should rely on a single-level of Security Secure Web Applications through Concentric Rings of Security
  • 4. Concentric Rings of Security Security should include: Physical (e.g., data center) Network (e.g., Firewall, VPN) Operating System (e.g., Accounts, Trust Levels) Web Server (e.g., IIS Virtual Directory) Web Application (e.g., Authentication, Authorization) Database (e.g., User Accounts) Data (e.g., encrypt sensitive data) Best Practices (e.g., SQL Injection, URL Encryption) You know what to do
  • 5. Network Security Level Use VPN to secure Internal Systems Use separate machines for Web Server and Database Server
  • 6. Operating System Level Use .NET Trust Level to secure Operating System access
  • 7. .NET Trust Levels Full: Anything that the account running it can do. High: ‘Full trust’ minus calls to unmanaged code (Win32 APIs and COM interop). Medium: No DB, File I/O, Registry, Reflection or Event logs. Low: Cannot make calls to a database, network, etc. Minimal: Only trivial processing allowed Modified in the machine-level web.config file
  • 8. Iron Speed Recommends High Trust for Internal Applications Modified Medium Trust for External Applications Allow Ole DB Reflection Registry File I/O Event Logs (if not hosted)
  • 9. Web Server Level Every .NET Application runs under specific user credentials Anonymous Impersonation (pass-through)
  • 10. Web Server – Anonymous Anonymous Security = IIS Virtual Directory configured to run under specific user account Typical for public web applications Internal web applications can use if combined with Active Directory
  • 11. Web Server – Impersonation IIS Configured to pass-through user credentials Only works with Microsoft Internet Explorer IE passes Windows domain and user to application Fraught with problems Double-hop not allowed by Microsoft Database on different server cannot use Windows Authentication Other browsers do not pass credentials Suited for Internal Applications Does not work for External Applications Alternative Approach: Use Anonymous + Active Directory
  • 12. Iron Speed Recommends IIS Configured to use Anonymous Access Use IIS_machinename account System account with limited capabilities
  • 13. Web Application – Authentication Configure most web pages to require Authentication Some web pages may be publicly accessible Multiple choices available Active Directory Windows Authentication Database SharePoint All choices are equally secure
  • 14. Iron Speed Recommends Use Active Directory if all users internal Use Database if external or extranet application
  • 15. Web Application – Authorization Use Role-Based Security to Authorize parts of application Use Page-level or Control-level Not sufficient to disable button E.g., do not just disable Edit button – also secure Edit page Use Roles in Query WHERE clauses
  • 16. Iron Speed Recommends Use any of the role-based security protocols Most customers find they need Application-level control of roles – so use Database Roles – regardless of which Authentication used
  • 17. Database Security Limit Database Account to query execution Exclude “dbcreator” access to prevent DROP or ALTER Use Database Specific Accounts (instead of Windows Authentication)
  • 18. Iron Speed Recommends SQL Server: Use SQL Server Authentication Use Separate Database Server
  • 19. Best Practices – SQL Injection Attacks Text boxes in your application can be used to inject malicious SQL code SELECT * FROM Customers WHERE Name = ‘ + SearchTextbox.Text + ’ If user enters: a’; DELETE FROM Customers WHERE ‘1’ = ‘1 Will delete all customers
  • 20. Best Practices – SQL Injection Attacks Never trust user input Never use dynamic SQL Never connect to a database using Admin account Encrypt sensitive data in database Use custom error messages
  • 21. Iron Speed Recommends All user input is quoted End-user should not be allowed to create dynamic SQL Use limited account for connecting to the database
  • 22. Best Practices – Cross-Site Scripting Attacks Cross-Site Scripting uses JavaScript, HTML, VBScript or other code Inject using regular data entry fields Execution happens when data is displayed if data is not validated and quoted when saved
  • 23. Iron Speed Recommends Do not allow user to input HTML or JavaScript Use Rich-Text Editor sparingly Validate Rich-Text input Set HTMLEncodeValue = TRUE Validate using Cross-Site Validators
  • 24. Best Practices – Secure Communications Browser to Server communications can be easily eavesdropped Use SSL (Secure Sockets Layer) to prevent eavesdropping Purchase SSL Certificate from trusted authority Setup IIS and Virtual Directory to always redirect to SSL site
  • 25. Best Practices – Secure Communications URL Parameters may also expose data Use URL Encryption or pass data through POST or using Session Encrypt URL Parameters using key based on Session Id Prevents reverse-engineering because each parameter value is encrypted using session based key
  • 26. Iron Speed Recommends Use SSL (HTTPS) for all secure sites Use URL Encryption for all secure sites
  • 27. Best Practices – Multiple Applications Develop separate Internal and External Applications Helps secure Internal applications through VPN, Active Directory, etc. External Applications can be secured using Database Users and/or Database Role-Based
  • 28. Iron Speed Recommends Separate Applications for Internal and External Use
  • 29. Data Level Encrypt all sensitive data Passwords Social Security Numbers Credit Card Numbers Birth Dates Confidential Numbers like Salary
  • 30. Iron Speed Recommends One-way encryption for password type fields Encrypt and save Compare with encrypted data rather than decrypting Two-way encryption / decryption for other data
  • 31. Security Audits Maintain security checklist Regularly audit each ring of security All system changes must be followed by security audits Regularly check System and Event logs Security is not a one-time issue, it is an ongoing endeavor Re-validate upon each application modification/deployment
  • 33. Iron Speed Designer Supports Authentication Windows Authentication Database (User table) Active Directory Microsoft SharePoint
  • 34. Iron Speed Designer Supports Authorization Database (Roles) Active Directory Groups Microsoft Authorization Manager (AzMan) Microsoft SharePoint Groups
  • 35. Iron Speed Designer Supports SQL Injection Attack Prevention All user input goes through multiple validations and is quoted No dynamic SQL allowed from end user
  • 36. Iron Speed Designer Supports Cross-Site Scripting Attack Prevention Prevent HTML / JavaScript execution by encoding HTMLEncodeValue = True by default
  • 37. Iron Speed Designer Supports URL Encryption Turn on in Application Generation Options
  • 38. Iron Speed Designer Supports Session Timeouts Logout after certain time
  • 39. Iron Speed Designer Supports Web Server and Database Security Use SSL Security Configure IIS Virtual Directory Settings using specific account Configure Database Accounts
  • 40. Iron Speed Designer Supports Major Security challenges out-of-the-box Best Practices out-of-the-box Other Security challenges through simple configuration based on system needs
  • 41. Why use Iron Speed Designer? Speed application development Cut software development costs Reduce testing time Simplify maintenance Built-in Security Application generation = acceleration
  • 43. Course Materials Download from http://cdn.ironspeed.com/videos/RaziMohiuddin/V71.Security.zip

Editor's Notes

  • #45: These days, with everyone under pressure to do more with less and to make shorter and shorter schedules, application generation offers a new option.