Secure SQL Server configuration Pat Larkin Ward Solutions

Slides:



Advertisements
Similar presentations
1 Chapter 8 Fundamentals of System Security. 2 Objectives In this chapter, you will: Understand the trade-offs among security, performance, and ease of.
Advertisements

Module 6: Configuring Windows XP Professional to Operate in a Microsoft Network.
Paula Kiernan Senior Consultant Ward Solutions
Network Isolation Using Group Policy and IPSec Paula Kiernan Senior Consultant Ward Solutions.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 13: Planning Server and Network Security.
Implementing Application and Data Security Fred Baumhardt Senior Consultant – Security and Architecture Microsoft Consulting Services - UK.
System and Network Security Practices COEN 351 E-Commerce Security.
Defense-in-Depth Against Malicious Software Jeff Alexander IT Pro Evangelist Microsoft Australia
Chapter 7 HARDENING SERVERS.
© 2003 Microsoft Limited. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied,
Implementing Application and Data Security Presenter Name Job Title Company.
Implementing Server Security on Windows 2000 and Windows Server 2003 Steve Lamb Technical Security Advisor
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
Essentials of Security Steve Lamb Technical Security Advisor
Jonas Thomsen, Ph.d. student Computer Science University of Aarhus Best Practices and Techniques for Building Secure Microsoft.
Firewall 2 * Essential Network Security Book Slides. IT352 | Network Security |Najwa AlGhamdi 1.
Installing and Configuring a Secure Web Server COEN 351 David Papay.
Database Security Managing Users and Security Models.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Module 9 Configuring Server Security Compliance. Module Overview Securing a Windows Infrastructure Overview of EFS Configuring an Audit Policy Overview.
Avanade: 10 tips for å sikring av dine SQL Server databaser Bernt Lervik Infrastructure Architect Avanade.
Principles of Computer Security: CompTIA Security + ® and Beyond, Second Edition © 2010 Baselines Chapter 14.
Chapter 8 Hardening Your SQL Server Instance. Hardening  Hardening The process of making your SQL Server Instance more secure  New features Policy based.
Securing Windows Servers Using Group Policy Objects
Module 9 Configuring Server Security Compliance. Module Overview Securing a Windows Infrastructure Overview of EFS Configuring an Audit Policy Overview.
Securing Operating Systems Chapter 10. Security Maintenance Practices and Principles Basic proactive security can prevent many problems Maintenance involves.
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
1 Infrastructure Hardening. 2 Objectives Why hardening infrastructure is important? Hardening Operating Systems, Network and Applications.
AIS, Passwords Should not be shared Should be changed by user Should be changed frequently and upon compromise (suspected unauthorized disclosure)
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
Csci5233 Computer Security1 Bishop: Chapter 27 System Security.
Hands-On Microsoft Windows Server Security Enhancements in Windows Server 2008 Windows Server 2008 was created to emphasize security –Reduced attack.
Troubleshooting Windows Vista Security Chapter 4.
Module 14: Configuring Server Security Compliance
Module 2: Installing and Maintaining ISA Server. Overview Installing ISA Server 2004 Choosing ISA Server Clients Installing and Configuring Firewall Clients.
Unit 6b System Security Procedures and Standards Component 8 Installation and Maintenance of Health IT Systems This material was developed by Duke University,
Network and Perimeter Security Paula Kiernan Senior Consultant Ward Solutions.
1 IT420: Database Management and Organization Database Security 5 April 2006 Adina Crăiniceanu
Module 6: Designing Security for Network Hosts
Module 14: Securing Windows Server Overview Introduction to Securing Servers Implementing Core Server Security Hardening Servers Microsoft Baseline.
Database Role Activity. DB Role and Privileges Worksheet.
Chapter 2 Securing Network Server and User Workstations.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 14: Windows Server 2003 Security Features.
Implementing Server Security on Windows 2000 and Windows Server 2003
Module 9: Designing Security for Data. Overview Creating a Security Plan for Data Creating a Design for Security of Data.
Security Technology: A 360° perspective Steven Adler Security Strategist Microsoft EMEA.
TCOM Information Assurance Management System Hacking.
Implementing Application and Data Security Rafal Lukawiecki Strategic Consultant & Director Project Botticelli Ltd
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Security fundamentals Topic 2 Establishing and maintaining baseline security.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Module 12: Responding to Security Incidents. Overview Introduction to Auditing and Incident Response Designing an Audit Policy Designing an Incident Response.
Implementing Server Security on Windows 2000 and Windows Server 2003 Fabrizio Grossi.
Anatomy of a Network Hack: How To Get Your Network Hacked in Ten Easy Steps! Jesper M. Johansson Senior Security Strategist Microsoft Corporation
Implementing Application and Data Security Brjann Brekkan Senior System Engineer Microsoft.
Securing a Host Computer BY STEPHEN GOSNER. Definition of a Host  Host  In networking, a host is any device that has an IP address.  Hosts include.
Unit 2 Personal Cyber Security and Social Engineering Part 2.
SemiCorp Inc. Presented by Danu Hunskunatai GGU ID #
NETWORK SECURITY LAB 1170 REHAB ALFALLAJ CT1406. Introduction There are a number of technologies that exist for the sole purpose of ensuring that the.
.
Basharat Institute of Higher Education
Chapter 6 Application Hardening
Configuring Windows Firewall with Advanced Security
Securing the Network Perimeter with ISA 2004
Introduction to SQL Server 2000 Security
Lesson 16-Windows NT Security Issues
Implementing Client Security on Windows 2000 and Windows XP Level 150
Operating System Hardening
Designing IIS Security (IIS – Internet Information Service)
Presentation transcript:

Secure SQL Server configuration Pat Larkin Ward Solutions

Session Prerequisites Understanding of network security essentials Hands-on experience with Windows® 2000 Server or Windows Server™ 2003 Experience with Windows management tools Hands-on experience with SQL Server 2000 and management tools Level 300

Agenda Introduction Protecting the application layer Protecting SQL Server

Defense in Depth Using a layered approach:  Increases an attacker’s risk of detection  Reduces an attacker’s chance of success Policies, Procedures, & Awareness OS hardening, update management, authentication, HIDS Firewalls, VPN quarantine Guards, locks, tracking devices Network segments, IPSec, NIDS Application hardening, antivirus ACL, encryption User education Physical Security Perimeter Internal Network Host Application Data

Why Application Security Matters Perimeter defenses provide limited protection Many host-based defenses are not application specific Most modern attacks occur at the application layer

Why Data Security Matters Secure your data as the last line of defense Configure file permissions Configure data encryption  Protects the confidentiality of information when physical security is compromised

Application Server Best Practices Configure security on the base operating system Apply operating system and application service packs and patches Install or enable only those services that are required Application accounts should be assigned minimal permissions Apply defense-in-depth principles to increase protection Assign only those permissions needed to perform required tasks

Defense in Depth EfficiencyContinuity Performance Tuning SQL Server Policies Capacity Management Security Storage Management Hardware Upgrades Performance Monitoring Disaster Recovery Support Antivirus Event Monitoring Change Management Security Policies Firewall Issues SQL Server Policies AD Group Membership UPS Recovery Testing Availability Monitoring Availability Management Group PoliciesBackup

Agenda Introduction Protecting the application layer Protecting SQL Server

Basic Security Configuration Apply service packs and patches  Use MBSA to detect missing SQL updates  Use SQL Critical Update Kit Disable unused services  MSSQLSERVER (required)  SQLSERVERAGENT  MSSQLServerADHelper  Microsoft Search  Microsoft DTC

What MSBA typically checks on SQL Server Too many members of the sysadmin fixed server role. Granting of right to create CmdExec jobs to roles other than sysadmin. Blank or trivial passwords. Weak authentication mode. Excessive rights granted to the Administrators group Incorrect ACLs on SQL Server data directories. Plain-text sa password in setup files Excessive rights granted to the guest account. SQL Server running on a system that is also a domain controller. Improper configuration of the Everyone group, providing access to certain registry keys. Improper configuration of SQL Server service accounts. Missing service packs and security updates

Common Database Server Threats and Countermeasures SQL Server Browser Web App Unauthorized External Access SQL Injection Password Cracking Network Eavesdropping Network Vulnerabilities Failure to block SQL ports Configuration Vulnerabilities Over-privileged service account Week permissions No certificate Web App Vulnerabilities Over-privileged accounts Week input validation Internal Firewall Perimeter Firewall

Database Server Security Categories Network Operating System SQL Server Patches and Updates Shares Services Accounts Auditing and Logging Files and Directories Registry ProtocolsPorts SQL Server Security Database Objects Logins, Users, and Roles

Network Security Restrict SQL to TCP/IP Harden the TCP/IP stack Restrict ports

Operating System Security Isolate SQL from all other server roles Configure the SQL Server service account with the lowest possible permissions Delete or disable unused accounts Secure authentication traffic

Logins, Users, and Roles Use a strong system administrator (sa) password Remove the SQL guest user account Remove the BUILTIN\Administrators server login Do not grant permissions for the public role

Access & Permission Models

Alternate Model

Files, Directories, and Shares Use NTFS (EFS) & non system volumes Verify permissions on SQL Server installation directories Verify that Everyone group does not have permissions to SQL Server files Secure setup log files Secure or remove tools, utilities, and SDKs Remove unnecessary shares Restrict access to required shares Secure registry keys with ACLs

SQL Security Set authentication to Windows only If you must use SQL Server authentication, ensure that authentication traffic is encrypted

Authentication Modes

SQL Auditing Log all failed Windows login attempts Log successful and failed actions across the file system Enable SQL Server login auditing Enable SQL Server general auditing

Securing Database Objects Remove the sample databases Secure stored procedures Secure extended stored procedures Restrict cmdExec access to the sysadmin role

Using Views and Stored Procedures SQL queries may contain confidential information  Use stored procedures whenever possible  Use views instead of direct table access Implement security best practices for Web-based applications

Restrict Remote Administration Restrict number of Windows Administration accounts Restrict the tools  Internet services manager  Terminal Services  SQL Server Enterprise Manager – restrict to a single windows user Restrict the computers using IPSec

Securing Web Applications Validate all data input Secure authentication and authorization Secure sensitive data Use least-privileged process and service accounts Close all unneeded DB connections Configure auditing and logging Use structured exception handling

Knocking Down The Side Door //Three mistakes in this statement alone: SqlConnection conn = new SqlConnection(); conn.ConnectionString = "data source=PYN-SQL;" + "data source=PYN-SQL;" + "initial catalog=pubs;" + "initial catalog=pubs;" + "user id=sa;" + "user id=sa;" + "password=password;" + "password=password;" + "persist security info=True;“+ "persist security info=True;“+ "packet size=4096"; "packet size=4096";conn.Open(); //Don't do this at home folks: SQL Query Composition string strQuery; strQuery = "select * from Users where UserName = '" + username.Text + "' and Password ='" + "' and Password ='" + password.Text + "';"; Completely un- validated user input! Oh, that’s bad, not using DSNs Worse, privileged user… …with a lame password

But Wait It Gets Better int rowCount = ds.Tables["Users"].Rows.Count; if(rowCount > 0) // If we get back something... { //...we must be succesfully logged in Session["LoggedIn"] = true; // Store the username in a session variable Session["username"] = username.Text;... Label... private void Page_Load(object sender, System.EventArgs e) {... Username.Text = Session["username"].ToString(); } This is the user name from the form Which we cross-site script onto the page!

Top Ten Things to Protect SQL Server Install the most recent service pack Run MBSA Configure Windows authentication Isolate the server and back it up Check the sa password Limit privileges of SQL services Block ports at your firewall Use NTFS Remove setup files and sample databases Audit connections

Next Steps 1. Stay informed about security  Sign up for security bulletins:  Get the latest Microsoft security guidance: 2. Get additional security training  Find online and in-person training seminars:  Find a local CTEC for hands-on training:

For More Information Microsoft Security Site (all audiences)  TechNet Security Site (IT professionals)  MSDN Security Site (developers) 

Questions and Answers