Securing ColdFusion and IIS David T Watts, CTO, Fig Leaf Software 28 July 2001.

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

1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 13: Administering Web Resources.
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 13: Administering Web Resources.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
Chapter 7 HARDENING SERVERS.
1 Configuring Web services (Week 15, Monday 4/17/2006) © Abdou Illia, Spring 2006.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 9: Implementing and Using Group Policy.
Hands-On Microsoft Windows Server 2003 Chapter 2 Installing Windows Server 2003, Standard Edition.
Installing and Configuring a Secure Web Server COEN 351 David Papay.
Module 6: Patches and Security Updates 1. Overview Installing Patches and Security Updates Recent patches and security updates for IIS Recent patches.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 1: Introduction to Windows Server 2003.
16.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 16: Examining Software Update.
11 SHARING FILE SYSTEM RESOURCES Chapter 9. Chapter 9: SHARING FILE SYSTEM RESOURCES2 CHAPTER OVERVIEW Create and manage file system shares and work with.
Principles of Computer Security: CompTIA Security + ® and Beyond, Second Edition © 2010 Baselines Chapter 14.
Module 9 Configuring Server Security Compliance. Module Overview Securing a Windows Infrastructure Overview of EFS Configuring an Audit Policy Overview.
1 Web Server Administration Chapter 3 Installing the Server.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
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.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Configuring a Web Server. Overview Overview of IIS Preparing for an IIS Installation Installing IIS Configuring a Web Site Administering IIS Troubleshooting.
Chapter 7: Using Windows Servers to Share Information.
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 13: Administering Web Resources.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Copyright 2000 eMation SECURITY - Controlling Data Access with
Microsoft Internet Information Services 5.0 (IIS) By: Edik Magardomyan Fozi Abdurhman Bassem Albaiady Vince Serobyan.
Honeypot and Intrusion Detection System
Module 14: Configuring Server Security Compliance
CSU - DCE Internet Security... Privacy Overview - Fort Collins, CO Copyright © XTR Systems, LLC Setting Up & Using a Site Security Policy Instructor:
Course ILT Internet/intranet support Unit objectives Use the Internet Information Services snap-in to manage IIS, Web sites, virtual directories, and WebDAV.
The In’s and Out’s of the IIS 6.0 Migration Tool The In’s and Out’s of the IIS 6.0 Migration Tool Chris Adams Web Platform Supportability Lead Microsoft.
Internet Information Server © N. Ganesan, Ph.D. All Rights Reserved.
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
IIS Security Sridurga Mavram. Contents -Introduction -Security Consideration -Creating a web page -Drawbacks -Security Tools -Conclusion -References.
Database-Driven Web Sites, Second Edition1 Chapter 5 WEB SERVERS.
Module 2: Installing and Maintaining ISA Server. Overview Installing ISA Server 2004 Choosing ISA Server Clients Installing and Configuring Firewall Clients.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
Systems Management Server 2.0: Backup and Recovery Overview SMS Recovery Web Site location: Updated.
Windows NT Based Web Security COSC 573 By:Ying Li.
Module 2: Overview of IIS 7.0 Application Server.
Module 14: Securing Windows Server Overview Introduction to Securing Servers Implementing Core Server Security Hardening Servers Microsoft Baseline.
COSC 513 Operating Systems Project Presentation: Internet Security Instructor: Dr. Anvari Student: Ying Zhou Spring 2003.
Vulnerability Scanning Vulnerability scanners are automated tools that scan hosts and networks for known vulnerabilities and weaknesses Credentialed vs.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Free Powerpoint Templates Page 1 Free Powerpoint Templates Users and Documents.
1 Chapter Overview Creating Web Sites and FTP Sites Creating Virtual Directories Managing Site Security Troubleshooting IIS.
WEB SERVER SOFTWARE FEATURE SETS
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
Implementing Server Security on Windows 2000 and Windows Server 2003 Fabrizio Grossi.
Internet Information Server 6.0 & new management features.
Free Powerpoint Templates Page 1 Free Powerpoint Templates Chapter 4- Server Configuration.
Web Server Security: Protecting Your Pages NOAA OAR WebShop 2001 August 2 nd, 2001 Jeremy Warren.
IS 4506 Windows NTFS and IIS Security Features.  Overview Windows NTFS Server security Internet Information Server security features Securing communication.
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.
NETWORK SECURITY LAB 1170 REHAB ALFALLAJ CT1406. Introduction There are a number of technologies that exist for the sole purpose of ensuring that the.
APACHE Apache is generally recognized as the world's most popular Web server (HTTP server). Originally designed for Unix servers, the Apache Web server.
Microsoft OS Vulnerabilities April 1, 2010 MIS 4600 – MBA © Abdou Illia.
Chapter 7: Using Windows Servers
Implementing a Secure ISA Server
Objectives Differentiate between the different editions of Windows Server 2003 Explain Windows Server 2003 network models and server roles Identify concepts.
Introduction to SQL Server 2000 Security
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 13: Administering Web Resources.
الخطوات المطلوب القيام بها قبل انشاء الموقع
Lesson 16-Windows NT Security Issues
Configuring Internet-related services
Designing IIS Security (IIS – Internet Information Service)
Presentation transcript:

Securing ColdFusion and IIS David T Watts, CTO, Fig Leaf Software 28 July 2001

What’s this presentation about?  This is an overview of what needs to be done to secure a Windows NT/2000 server running IIS and ColdFusion applications.  This presentation is neither complete (it doesn’t discuss everything that should be done) nor adequate (it doesn’t cover each step in fullest detail).  This presentation only covers securing the application server itself, and doesn’t cover general network security issues, or physical security issues.

General security concepts  Successful security requires a “layered” approach – reliance on a firewall isn’t enough. Each network device and service should be secured to the extent possible.  There is no such thing as “fully” secure.  Security is a process – you can’t simply “secure a server” and be done with it.  Security and convenience are directly opposed. You’ll need to determine what level of convenience you can do without, and what level of security you need.  “Security by obscurity”, by itself, is no security at all – if the service is publicly accessible, it will be found!

Current state of affairs  There have been many successful attacks against IIS servers recently: sadmind worm (“F**k USA Government”) “Code Red” worm (“Hacked by chinese –  IIS exploit code is readily available.  Common IIS exploits depend on well-known vulnerabilities.

What does “IIS” stand for? It Isn’t Secure

Can IIS be secured?  The default installation of IIS is designed to provide many types of functionality.  Most of this functionality is unused by most IIS users.  Production IIS installation requires removal/disabling of unnecessary functionality.  Secure IIS installation also requires secure OS configuration.

What’s covered within this presentation?  Determining the appropriate level of security  OS configuration  IIS configuration  CF configuration  CF application security issues  Database configuration  Security maintenance

How much security?  Is the server a production server?  Is it connected to the public internet?  What is the value of the data it uses?  What is the value of the service it provides?  How much integration with other network services does it need?  Can this server, if compromised, be used to compromise more valuable assets?

What are the threats?  Attacks against the OS: - denial-of-service - NetBIOS  IIS vulnerabilities: - script reading - ISAPI vulnerabilities  CF service vulnerabilities: - access to RDS - access to CF Administrator - vulnerability within API extensions  CF application vulnerabilities: - manipulation of data within HTTP requests - inclusion of code within HTTP requests

Threat manifestations  Automated attacks (sadmind, “Code Red”)  Directed attacks

Securing NT/2000  General concepts  Disk configuration  Networking  ACLs  Services

OS security – general concepts  Securing a Windows server for connection to the internet requires that it be configured with as little software as possible, and that each application have as few rights as possible.  Default installation options for Windows, on the other hand, are aimed at providing maximum functionality at the expense of network security.  The server should be configured offline if possible, since it can be attacked during the configuration process!

No escape from sadmind!

Disk configuration  The server should have separate partitions for system, applications, and data.  All partitions should use NTFS.

Networking  The minimum necessary set of networking protocols and services should be installed and enabled.  On servers directly exposed to the internet, SMB functionality (NetBIOS over TCP/IP, Win2K Direct Host) should be disabled.  If possible, the server should be configured as a stand- alone server, rather than as a domain member. It should NEVER be a domain controller!

Access Control Lists (ACLs)  Every resource within Windows – files and registry keys, for example – can be secured by editing the ACLs for the resource.  For filesystems, ACLs are typically inherited from parent containers, so it’s best to set ACLs on filesystem roots before installing additional software.  Filesystem roots should have strict permissions (Administrators, SYSTEM).  NTFS 5 (used in Win2K and NT 4 SP4+) has interfaces that allow ACLs to be very strictly controlled.

ACL interface

More about ACLs  Registry ACLs should also be set. This can be done with regedt32.exe.  Microsoft provides several tools for easy configuration of ACLs based on how the server will be used.

Services  Unnecessary services should be disabled.  In NT/2K, services run by default within the SYSTEM security context, which allows them full control over the server, but no network rights. Because services run as SYSTEM, if a service can be forced to run hostile code, that code will run with those administrative rights. For those services that can be configured to run as specific users instead of SYSTEM, this should be done.

Configuring IIS  During the installation, no samples or documentation should be installed.  After installation, many things need to be done to secure IIS.  Unnecessary ISAPI applications should be removed from all virtual servers.

ISAPI applications and virtual directories

Configuring IIS, cont’d  Unused ISAPI extensions should be removed.

Configuring IIS, cont’d  IIS web-based administrative functionality should be disabled, or limited to secure access (via SSL, for example). Since all administration can be done from the console using the MMC interface, disabling/deleting the Administrative Web Site is usually a good idea.  Log files should be moved to somewhere other than the system partition.  FrontPage extensions should be uninstalled if not used.  Content indexing should be disabled if not used.  Unless executables specifically need to be run, only scripts should be allowed to run.  IIS configuration can be done at a general level, or to individual virtual servers. When done generally, it will apply to all virtual servers that you later create.

Configuring IIS, cont’d  Once IIS has been configured, the Metabase should be backed up from within the IIS MMC. If you want to use the Metabase settings on another server, you can use the Metabase editor available from the Microsoft site.  Be aware that upgrades and service pack installations may undo changes you made to IIS; you’ll have to redo them.  Configuration can be automated using WSH scripts. Sample WSH scripts can be found in the AdminSamples directory installed by default within inetpub.  IIS 6 will replace the Metabase with a text-file configuration.

More on IIS  Because IIS is integrated with OS security, IIS must run within the SYSTEM security context. When IIS receives an HTTP request, that request is run within the security context of the connected user (if a login is required) or as the “anonymous user”, which by default is mapped to the account IUSR_MACHINENAME.  Because IIS logins are mapped to OS logins, Basic Authentication should be avoided if possible, unless used through SSL.  Additional IIS services, such as FTP and SMTP, should not be installed if possible.  The web root directory should be located on a separate partition.

Securing CF  Sample applications and documentation should not be installed.  The CF service, by default, runs as SYSTEM. This should be changed to a less-privileged user account.  RDS should be disabled if possible.  RDS and CF Administrator are both web applications. Access to both should be controlled as strictly as possible.  To secure access to RDS, apply permissions to the file {webroot}\main\ide.cfm. Note that removing the file and/or the directory completely won’t prevent RDS access!

Patching the CF API extensions  Macromedia recently released a patch for all versions of CF prior to version 5 to address a vulnerability in the CGI and API stubs used by the web server to communicate with the CF service.  While details on the vulnerability haven’t been released by Macromedia, a vulnerability within the stubs could potentially allow retrieval of files from arbitrary locations on the filesystem.  The vulnerability probably exists within the libraries used by the stubs, which would explain why CF 5 isn’t vulnerable.

CF application vulnerabilities  No data returned by the browser should be trusted! (Form, URL, CGI, Cookie)  Use data-type checking whenever possible. (Val(), CFQUERYPARAM, CFSTOREDPROC)  Filter input for code (<>, JavaScript).  For a guide to input filtering, look at the CERT site and the input filters available from the Developers Gallery.

Database security  Database servers should not be accessible from the internet. In an ideal configuration, the application server will have separate NICs for public and private traffic.  Database logins should be used to minimize database access rights whenever possible. These logins should be used within application server data source configurations, which themselves should be limited to minimum execution rights.  Stored procedures can be used as a database interface; if used exclusively, access can be granted only for those procedures, preventing direct access to tables.  Access to extended stored procedures should be minimized.

Maintaining security  Check application logs.  Check system logs.  Use read-only filesystems when possible.  Use file checksumming utilities (Tripwire) to track changes to files.  Apply patches as necessary.

Resources  General information about ACLs can be found at:  Useful ACL diagnostic tools NTFileMon, NTRegMon:  Security checklists for IIS 4 and 5, as well as lots of other stuff:  SecurityFocus IIS security checklist:  NTBugTraq OS and IIS patchlists:  Configuring CF to run as a different user:  NSA Windows 2000 Security Recommendations:  SecureIIS:  Tripwire: