SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
Locking Down CF Servers
Pete Freitag, Foundeo Inc.
foundeo.com | hackmycf.com | fuseguard.com
About Pete Freitag
✤ Owner of Foundeo Inc. (Gold Sponsor)
✤ HackMyCF - Remote ColdFusion Security Scanner
✤ FuseGuard - Web App Firewall for CFML
✤ Consulting - Install, Configure, Review, CFML Dev
✤ 18+ Years working with CF
✤ Author of CF9-2016 Lockdown Guides, CFMX Cookbook (SAMs)
✤ blog: petefreitag.com twitter: @pfreitag slack: @foundeo
Our FocusToday
✤ Securing your ColdFusion Server Install
✤ Not covering:
✤ Hardening Your Operating System
✤ Database Security
✤ Securing your Application Source Code
Agenda
✤ Guiding Principals
✤ Installation
✤ Post Installation Lockdown
✤ ColdFusion Administrator Configuration
✤ Tomcat Configuration
Heavily Based on:
✤ ColdFusion 2016 Lockdown Guide: http://bit.ly/cf2016lockdown
✤ ColdFusion 11 Lockdown Guide: http://bit.ly/cf11lockdown
✤ ColdFusion 10 Lockdown Guide: http://bit.ly/cf10lockdown
✤ ColdFusion 9 Lockdown Guide: http://bit.ly/cf9lockdown
✤ This talk assumes CF2016, but is most applies for CF10-11 as well
✤ CF9 and below are no longer supported (no more security patches)
Why Do I need
to Lockdown
my install?
Can't the installer do everything for me?
What is secure?
What tradeoffs are acceptable?
(cc) http://www.flickr.com/photos/toddler/4169974226/
Principal of
Least Privilege
Grant only the minimum permission
required to accomplish a task.
(cc) http://www.flickr.com/photos/dvanzuijlekom/8279837896/in/photostream/
Defense in
Depth
Multiple Layers of Redundant Security.
(cc) http://www.flickr.com/photos/flygraphix/4791988161/
Reduce Attack Surface
ColdFusion
ASP.NET
PHP
DNS
FTP
Web Server
ColdFusion
Web Server
vs.
Reduce Attack Surface
Avoid Defaults
Avoid using defaults for configurable
options such as paths, usernames, etc.
SecurityTradeoffs
✤ Security vs Usability
✤ 5 second session timeout?
✤ Force password change
too frequently.
✤ Security vs Performance
✤ Is HTTP vs HTTPS still a
performance tradeoff? See:
www.httpvshttps.com
✤ Security vs Time / Money
✤ There is often no visible
difference to steak holders
between secure and
insecure.
✤ Security often not viewed
as worthy investment
until it is too late.
Lockdown GuideTips
✤ Time - Be prepared to spend some time performing the steps (2-4
hours, or more)
✤ Test often - most steps that will break something if performed
incorrectly will tell you to test.
✤ Decide - the lockdown guide gives you guidance and instructions but
it does not dictate that every step must be performed. Access the
tradeoffs and implications as you go.
What's New in CF2016 Lockdown
✤ /CFIDE is blocked by web server connectors by default
✤ /CFIDE/scripts moved to /cf_scripts/scripts
✤ Ships with Tomcat 8 instead of Tomcat 7
✤ Rearranged Lockdown Guide to hopefully improve workflow.
Pre-Installation
✤ Lockdown and Patch OS
✤ OS Vendors have Lockdown Guides as well.
✤ https://access.redhat.com/documentation/en-US/
Red_Hat_Enterprise_Linux/6/html/Security_Guide/
✤ Windows Security Compliance Toolkit: http://
technet.microsoft.com/en-us/library/cc677002.aspx
✤ Ensure network firewall in place.
✤ Remove all unnecessary software.
Pre-Installation
✤ Windows: Create multiple
partitions OS, CF, Web Root.
✤ Limits impact of a path
traversal vulnerability.
✤ Create a user account for CF
to run as.
InstallWeb Server
✤ IIS - Install Minimal Role Services:
✤ Common HTTP Features: Default Document
✤ Common HTTP Features: HTTP Errors
✤ Common HTTP Features: Static Content
✤ Health and Diagnostics: HTTP Logging
✤ Security: Request Filtering
✤ Security: IP and Domain Restrictions
✤ Application Development: .NET Extensibility 4.5 (or latest version)
✤ Application Development: ASP.NET 4.5 (or latest version)
✤ Application Development: CGI
✤ Application Development: ISAPI Extensions
✤ Application Development: ISAPI Filters
✤ Management Tools: IIS Management Console
IIS Request Filtering
✤ Block or whitelist URIs
✤ Block or whitelist by file extension
✤ Block or whitelist HTTP verbs
✤ Request Limits
✤ Content Length
✤ URL Length
✤ Query String Length
IIS Request Filtering
Block servlet mapping URIs
✤ /cfform-gateway
✤ /cfform-internal
✤ /rest
✤ /CFIDE/main/rds.cfm
✤ /CFIDE/GraphData.cfm
(cfchart on CF10)
✤ /WSRPProducer
✤ /CFFileServlet
✤ /CFFormGateway
✤ /flashservices/gateway
✤ /flex2gateway
✤ See web.xml
Restrict File Extensions
✤ Can be setup per folder, site or globally for IIS
✤ Whitelist - only serve files in allowed list of extensions
✤ eg: restrict /photos/ folder to only serve jpg, png, gif
✤ eg: global whitelist: cfm, jpg, png, gif, js, css, pdf
✤ Takes time to come up with list but worth it
✤ The /jakarta virtual directory must allow dll extension
✤ Blacklist - do not serve files on blacklist / deny list.
Application Pool Defaults
IIS Identities
✤ Application Pool Identity - user that the IIS process for your site is
running as.
✤ Anonymous Authentication Identity - user that the app pool
impersonates when handling an unauthenticated request for content.
✤ All requests are anonymous unless you enable authentication.
Application Pool Identity
✤ ApplicationPoolIdentity - default, low privilege,
automatically isolates each application pool. Member of
IIS_IUSRS group.
✤ Custom User - if using network shares with
ApplicationPoolIdentity you have to grant entire machine
access to share, so you may opt to create your own user in that
case.
Anonymous Authentication
Identity
✤ IUSR
✤ The default
✤ No isolation between all sites
✤ Implicit member of Users group.
✤ ApplicationPoolIdentity
✤ Provides isolation between sites
✤ Shares identity with Application Pool
Additional IIS Lockdown
✤ Remove unused ASP.NET ISAPI Filters and Handler Mappings
✤ Keep the StaticFile Handler (unless you do not serve js, css,
images, etc)
✤ Keep the ISAPI-dll handler - needed for CF connector.
✤ Remove Response headers such as X-Powered-By: ASP.NET
Configure Apache
✤ Remove modules that you do not use (eg php)
✤ fgrep LoadModule *.conf
✤ Block unused servlet mapping URI's
✤ RedirectMatch 404 (?i).*/flex2gateway.*
✤ File Extension blacklist:
✤ RedirectMatch 404 (?i).*.(jsp|php).*
✤ Run SELinux enforcing mode if possible.

Installation
Installation
Installation
Installation
Install only necessary subcomponents
Installation
Disable unneeded Servlets
Installation
Installation
Installation
Install CF Hotfixes before connecting web server
Installation
Non default port
Installation
Post-Install
✤ Install any/all CF security hotfixes and updates.
✤ Install / Update Web Server connectors
✤ Configure administrator settings.
Accessing CF Administrator
✤ Use Builtin Web Server
✤ Access locally over RDP
✤ SSH Tunnel on Linux
✤ If accessed outside of localhost add TLS / HTTPS
✤ Using webserver (IIS / Apache) - intentionally harder in CF2016
✤ Use dedicated connector / edit uriworkermap.properties
✤ Setup IP Restrictions, SSL, Additional User Auth
Dedicated User Account
✤ Windows: Change Service Log On identity. Otherwise CF runs with
full permission to everything.
✤ Unix: The installer allows you to specify a user to run CF as.
✤ The default nobody user is probably not the best choice as other
services might share this account.
File System Permissions
Path CF User Permissions
Web Server Identity
Permissions
Your Web Root
Read Only
Additional as needed
 Read Only
CF Install Dir Full
Can be restricted further
/cf_scripts 

Read Only
CF Connector Read
Read
Write (Logs)

File System Permissions
✤ /cf_scripts and other directories under CF root can be restricted read
only permission by the cf user to prevent runtime change.
✤ Run CF10-2016 hotfix installer from command line as administrator.
✤ java -jar {coldfusion-home}cfusionhf-updateshotfix_XXX.jar
Update JVM
✤ Update to latest supported JVM (1.8 currently for CF10-2016)
✤ Java 1.6 & 1.7 (as of 4/15) no longer supported by Oracle!
✤ Adobe recommends you run the latest supported JVM (eg 1.8.
{highest number}) instead of specific version numbers.
✤ If using cfsearch or cfhtmltopdf the Add on Services Server has
its own jvm configuration file: jetty/jetty.lax
Sandbox Security
✤ Disable Unnecessary Risks, eg: cfexecute, cfregistry
✤ More flexible on Enterprise but still works on standard.
✤ Test before enabling.
Session Mechanism
Feature J2EE CF
Configure in Application.cfc No Yes
Token size configurable Yes No
Configure in web.xml Yes No
Interoperates with J2EE applications Yes No
SessionRotate No Yes
SessionInvalidate No Yes
CF10-2016/tomcat
web.xml Servlet Mappings
Tomcat
✤ Shutdown port / password
✤ Changing port on windows causes CF service stop to fail.
✤ Connector settings:
✤ connector secret (have to redo when updating connector)
✤ Tomcat 7 Security Configuration Guide: http://tomcat.apache.org/
tomcat-7.0-doc/security-howto.html
ColdFusion Administrator
ColdFusion Administrator
✤ Default ScriptSrc Directory
✤ Setup an alias so /cf_scripts/scripts/ -> /some-
folder/
✤ If you don’t use cfform, cfajaxproxy, etc you can skip.
✤ If you use the builtin web server you need to configure an alias
ColdFusion Administrator
✤ Allowed file extensions for CFInclude tag
✤ Mitigates directory traversal / path injection that leads to code
execution attack.
✤ Comma separated list of file extensions that execute, typically can
be set to just cfm
ColdFusion Administrator
Additional Settings
AdditionalTools
✤ HackMyCF
✤ FuseGuard
✤ CF Unofficial Updater (CF9 and
below)
Questions?
foundeo.com | hackmycf.com | fuseguard.com
Please fill in your evaluations

Más contenido relacionado

La actualidad más candente

Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Gavin Pickin
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git togetherColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMSColdFusionConference
 
Command Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationCommand Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationColdFusionConference
 
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016Gavin Pickin
 
Expand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSExpand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webColdFusionConference
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionColdFusionConference
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the worldColdFusionConference
 
Intro to JavaScript Tooling in Visual Studio Code
Intro to JavaScript Tooling in Visual Studio CodeIntro to JavaScript Tooling in Visual Studio Code
Intro to JavaScript Tooling in Visual Studio CodeColdFusionConference
 

La actualidad más candente (20)

Command box
Command boxCommand box
Command box
 
Realtime with-websockets-2015
Realtime with-websockets-2015Realtime with-websockets-2015
Realtime with-websockets-2015
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
 
Realtime with websockets
Realtime with websocketsRealtime with websockets
Realtime with websockets
 
Locking Down CF Servers
Locking Down CF ServersLocking Down CF Servers
Locking Down CF Servers
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
 
Command Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationCommand Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, Automation
 
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
 
Expand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSExpand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWS
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
ColdFusion builder plugins
ColdFusion builder pluginsColdFusion builder plugins
ColdFusion builder plugins
 
Testing Automaton - CFSummit 2016
Testing Automaton - CFSummit 2016Testing Automaton - CFSummit 2016
Testing Automaton - CFSummit 2016
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world
 
Restful API's with ColdFusion
Restful API's with ColdFusionRestful API's with ColdFusion
Restful API's with ColdFusion
 
Intro to JavaScript Tooling in Visual Studio Code
Intro to JavaScript Tooling in Visual Studio CodeIntro to JavaScript Tooling in Visual Studio Code
Intro to JavaScript Tooling in Visual Studio Code
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 

Destacado

Multiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqMultiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqColdFusionConference
 
Dependency Injection Why is it awesome and Why should I care?
Dependency Injection Why is it awesome and Why should I care?Dependency Injection Why is it awesome and Why should I care?
Dependency Injection Why is it awesome and Why should I care?ColdFusionConference
 
Get Gulping with Javascript Task Runners
Get Gulping with Javascript Task RunnersGet Gulping with Javascript Task Runners
Get Gulping with Javascript Task RunnersColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISColdFusionConference
 
Refactor Large applications with Backbone
Refactor Large applications with BackboneRefactor Large applications with Backbone
Refactor Large applications with BackboneColdFusionConference
 
Language enhancements in cold fusion 11
Language enhancements in cold fusion 11Language enhancements in cold fusion 11
Language enhancements in cold fusion 11ColdFusionConference
 
Bring Order to the Chaos: Take the MVC Plunge
Bring Order to the Chaos: Take the MVC PlungeBring Order to the Chaos: Take the MVC Plunge
Bring Order to the Chaos: Take the MVC PlungeColdFusionConference
 
Hey my web app is slow where is the problem
Hey my web app is slow where is the problemHey my web app is slow where is the problem
Hey my web app is slow where is the problemColdFusionConference
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server DatabasesColdFusionConference
 

Destacado (20)

This is how we REST
This is how we RESTThis is how we REST
This is how we REST
 
Multiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqMultiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mq
 
Cold fusion is racecar fast
Cold fusion is racecar fastCold fusion is racecar fast
Cold fusion is racecar fast
 
Sql killedserver
Sql killedserverSql killedserver
Sql killedserver
 
My charts can beat up your charts
My charts can beat up your chartsMy charts can beat up your charts
My charts can beat up your charts
 
Dependency Injection Why is it awesome and Why should I care?
Dependency Injection Why is it awesome and Why should I care?Dependency Injection Why is it awesome and Why should I care?
Dependency Injection Why is it awesome and Why should I care?
 
Workflows and Digital Signatures
Workflows and Digital SignaturesWorkflows and Digital Signatures
Workflows and Digital Signatures
 
Get Gulping with Javascript Task Runners
Get Gulping with Javascript Task RunnersGet Gulping with Javascript Task Runners
Get Gulping with Javascript Task Runners
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Garbage First & You
Garbage First & YouGarbage First & You
Garbage First & You
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
 
Java scriptconfusingbits
Java scriptconfusingbitsJava scriptconfusingbits
Java scriptconfusingbits
 
Refactor Large applications with Backbone
Refactor Large applications with BackboneRefactor Large applications with Backbone
Refactor Large applications with Backbone
 
2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd
 
Language enhancements in cold fusion 11
Language enhancements in cold fusion 11Language enhancements in cold fusion 11
Language enhancements in cold fusion 11
 
Bring Order to the Chaos: Take the MVC Plunge
Bring Order to the Chaos: Take the MVC PlungeBring Order to the Chaos: Take the MVC Plunge
Bring Order to the Chaos: Take the MVC Plunge
 
Marketing for developers
Marketing for developersMarketing for developers
Marketing for developers
 
Relationships are hard
Relationships are hardRelationships are hard
Relationships are hard
 
Hey my web app is slow where is the problem
Hey my web app is slow where is the problemHey my web app is slow where is the problem
Hey my web app is slow where is the problem
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 

Similar a Locking Down CF Servers

Cf Summit East 2018 Scaling ColdFusion
Cf Summit East 2018 Scaling ColdFusionCf Summit East 2018 Scaling ColdFusion
Cf Summit East 2018 Scaling ColdFusionmcollinsCF
 
Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Conrad Cruz
 
Aeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringAeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringConrad Cruz
 
Setting up your Multi Engine Environment - Apache Railo and ColdFusion
Setting up your Multi Engine Environment - Apache Railo and ColdFusionSetting up your Multi Engine Environment - Apache Railo and ColdFusion
Setting up your Multi Engine Environment - Apache Railo and ColdFusionGavin Pickin
 
Gert Vanthienen Presentation
Gert Vanthienen PresentationGert Vanthienen Presentation
Gert Vanthienen Presentationguest27deb47
 
Webinar Slides: New Tungsten Dashboard - Overview, Installation and Architecture
Webinar Slides: New Tungsten Dashboard - Overview, Installation and ArchitectureWebinar Slides: New Tungsten Dashboard - Overview, Installation and Architecture
Webinar Slides: New Tungsten Dashboard - Overview, Installation and ArchitectureContinuent
 
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...Continuent
 
"Running CF in a Shared Hosting Environment"
"Running CF in a Shared Hosting Environment""Running CF in a Shared Hosting Environment"
"Running CF in a Shared Hosting Environment"webhostingguy
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsAlessandro Pilotti
 
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Tatsuhiko Miyagawa
 
How to test if Cloudflare is running live for your website
How to test if Cloudflare is running live for your websiteHow to test if Cloudflare is running live for your website
How to test if Cloudflare is running live for your websiteVu Long Tran
 
Nginx, PHP, Apache and Spelix
Nginx, PHP, Apache and SpelixNginx, PHP, Apache and Spelix
Nginx, PHP, Apache and SpelixHarald Zeitlhofer
 
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get DiagnosticsBoris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get DiagnosticsShapeBlue
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on SteroidsSiteGround.com
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End PerformanceChris Love
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folksNicolas Martignole
 
Tumbleweed intro
Tumbleweed introTumbleweed intro
Tumbleweed introRich Helton
 
01 overview-and-setup
01 overview-and-setup01 overview-and-setup
01 overview-and-setupsnopteck
 
Less and faster – Cache tips for WordPress developers
Less and faster – Cache tips for WordPress developersLess and faster – Cache tips for WordPress developers
Less and faster – Cache tips for WordPress developersSeravo
 

Similar a Locking Down CF Servers (20)

Cf Summit East 2018 Scaling ColdFusion
Cf Summit East 2018 Scaling ColdFusionCf Summit East 2018 Scaling ColdFusion
Cf Summit East 2018 Scaling ColdFusion
 
Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)
 
Aeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringAeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filtering
 
Setting up your Multi Engine Environment - Apache Railo and ColdFusion
Setting up your Multi Engine Environment - Apache Railo and ColdFusionSetting up your Multi Engine Environment - Apache Railo and ColdFusion
Setting up your Multi Engine Environment - Apache Railo and ColdFusion
 
Gert Vanthienen Presentation
Gert Vanthienen PresentationGert Vanthienen Presentation
Gert Vanthienen Presentation
 
Webinar Slides: New Tungsten Dashboard - Overview, Installation and Architecture
Webinar Slides: New Tungsten Dashboard - Overview, Installation and ArchitectureWebinar Slides: New Tungsten Dashboard - Overview, Installation and Architecture
Webinar Slides: New Tungsten Dashboard - Overview, Installation and Architecture
 
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
Training Slides: Basics 106: Tungsten Dashboard Overview, Installation and Ar...
 
"Running CF in a Shared Hosting Environment"
"Running CF in a Shared Hosting Environment""Running CF in a Shared Hosting Environment"
"Running CF in a Shared Hosting Environment"
 
Websockets
WebsocketsWebsockets
Websockets
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance Optimizations
 
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
 
How to test if Cloudflare is running live for your website
How to test if Cloudflare is running live for your websiteHow to test if Cloudflare is running live for your website
How to test if Cloudflare is running live for your website
 
Nginx, PHP, Apache and Spelix
Nginx, PHP, Apache and SpelixNginx, PHP, Apache and Spelix
Nginx, PHP, Apache and Spelix
 
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get DiagnosticsBoris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
 
Tumbleweed intro
Tumbleweed introTumbleweed intro
Tumbleweed intro
 
01 overview-and-setup
01 overview-and-setup01 overview-and-setup
01 overview-and-setup
 
Less and faster – Cache tips for WordPress developers
Less and faster – Cache tips for WordPress developersLess and faster – Cache tips for WordPress developers
Less and faster – Cache tips for WordPress developers
 

Más de ColdFusionConference

API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016ColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusionConference
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxColdFusionConference
 
Everyones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionEveryones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionColdFusionConference
 
Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application developmentColdFusionConference
 

Más de ColdFusionConference (19)

Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandbox
 
Everyones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionEveryones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusion
 
Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application development
 
Bring api manager into your stack
Bring api manager into your stackBring api manager into your stack
Bring api manager into your stack
 
Dependency Injection
Dependency InjectionDependency Injection
Dependency Injection
 

Último

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Locking Down CF Servers

  • 1. Locking Down CF Servers Pete Freitag, Foundeo Inc. foundeo.com | hackmycf.com | fuseguard.com
  • 2. About Pete Freitag ✤ Owner of Foundeo Inc. (Gold Sponsor) ✤ HackMyCF - Remote ColdFusion Security Scanner ✤ FuseGuard - Web App Firewall for CFML ✤ Consulting - Install, Configure, Review, CFML Dev ✤ 18+ Years working with CF ✤ Author of CF9-2016 Lockdown Guides, CFMX Cookbook (SAMs) ✤ blog: petefreitag.com twitter: @pfreitag slack: @foundeo
  • 3. Our FocusToday ✤ Securing your ColdFusion Server Install ✤ Not covering: ✤ Hardening Your Operating System ✤ Database Security ✤ Securing your Application Source Code
  • 4. Agenda ✤ Guiding Principals ✤ Installation ✤ Post Installation Lockdown ✤ ColdFusion Administrator Configuration ✤ Tomcat Configuration
  • 5. Heavily Based on: ✤ ColdFusion 2016 Lockdown Guide: http://bit.ly/cf2016lockdown ✤ ColdFusion 11 Lockdown Guide: http://bit.ly/cf11lockdown ✤ ColdFusion 10 Lockdown Guide: http://bit.ly/cf10lockdown ✤ ColdFusion 9 Lockdown Guide: http://bit.ly/cf9lockdown ✤ This talk assumes CF2016, but is most applies for CF10-11 as well ✤ CF9 and below are no longer supported (no more security patches)
  • 6. Why Do I need to Lockdown my install? Can't the installer do everything for me? What is secure? What tradeoffs are acceptable? (cc) http://www.flickr.com/photos/toddler/4169974226/
  • 7. Principal of Least Privilege Grant only the minimum permission required to accomplish a task. (cc) http://www.flickr.com/photos/dvanzuijlekom/8279837896/in/photostream/
  • 8. Defense in Depth Multiple Layers of Redundant Security. (cc) http://www.flickr.com/photos/flygraphix/4791988161/
  • 11. Avoid Defaults Avoid using defaults for configurable options such as paths, usernames, etc.
  • 12. SecurityTradeoffs ✤ Security vs Usability ✤ 5 second session timeout? ✤ Force password change too frequently. ✤ Security vs Performance ✤ Is HTTP vs HTTPS still a performance tradeoff? See: www.httpvshttps.com ✤ Security vs Time / Money ✤ There is often no visible difference to steak holders between secure and insecure. ✤ Security often not viewed as worthy investment until it is too late.
  • 13. Lockdown GuideTips ✤ Time - Be prepared to spend some time performing the steps (2-4 hours, or more) ✤ Test often - most steps that will break something if performed incorrectly will tell you to test. ✤ Decide - the lockdown guide gives you guidance and instructions but it does not dictate that every step must be performed. Access the tradeoffs and implications as you go.
  • 14. What's New in CF2016 Lockdown ✤ /CFIDE is blocked by web server connectors by default ✤ /CFIDE/scripts moved to /cf_scripts/scripts ✤ Ships with Tomcat 8 instead of Tomcat 7 ✤ Rearranged Lockdown Guide to hopefully improve workflow.
  • 15. Pre-Installation ✤ Lockdown and Patch OS ✤ OS Vendors have Lockdown Guides as well. ✤ https://access.redhat.com/documentation/en-US/ Red_Hat_Enterprise_Linux/6/html/Security_Guide/ ✤ Windows Security Compliance Toolkit: http:// technet.microsoft.com/en-us/library/cc677002.aspx ✤ Ensure network firewall in place. ✤ Remove all unnecessary software.
  • 16. Pre-Installation ✤ Windows: Create multiple partitions OS, CF, Web Root. ✤ Limits impact of a path traversal vulnerability. ✤ Create a user account for CF to run as.
  • 17. InstallWeb Server ✤ IIS - Install Minimal Role Services: ✤ Common HTTP Features: Default Document ✤ Common HTTP Features: HTTP Errors ✤ Common HTTP Features: Static Content ✤ Health and Diagnostics: HTTP Logging ✤ Security: Request Filtering ✤ Security: IP and Domain Restrictions ✤ Application Development: .NET Extensibility 4.5 (or latest version) ✤ Application Development: ASP.NET 4.5 (or latest version) ✤ Application Development: CGI ✤ Application Development: ISAPI Extensions ✤ Application Development: ISAPI Filters ✤ Management Tools: IIS Management Console
  • 18.
  • 19. IIS Request Filtering ✤ Block or whitelist URIs ✤ Block or whitelist by file extension ✤ Block or whitelist HTTP verbs ✤ Request Limits ✤ Content Length ✤ URL Length ✤ Query String Length
  • 21. Block servlet mapping URIs ✤ /cfform-gateway ✤ /cfform-internal ✤ /rest ✤ /CFIDE/main/rds.cfm ✤ /CFIDE/GraphData.cfm (cfchart on CF10) ✤ /WSRPProducer ✤ /CFFileServlet ✤ /CFFormGateway ✤ /flashservices/gateway ✤ /flex2gateway ✤ See web.xml
  • 22. Restrict File Extensions ✤ Can be setup per folder, site or globally for IIS ✤ Whitelist - only serve files in allowed list of extensions ✤ eg: restrict /photos/ folder to only serve jpg, png, gif ✤ eg: global whitelist: cfm, jpg, png, gif, js, css, pdf ✤ Takes time to come up with list but worth it ✤ The /jakarta virtual directory must allow dll extension ✤ Blacklist - do not serve files on blacklist / deny list.
  • 24. IIS Identities ✤ Application Pool Identity - user that the IIS process for your site is running as. ✤ Anonymous Authentication Identity - user that the app pool impersonates when handling an unauthenticated request for content. ✤ All requests are anonymous unless you enable authentication.
  • 25. Application Pool Identity ✤ ApplicationPoolIdentity - default, low privilege, automatically isolates each application pool. Member of IIS_IUSRS group. ✤ Custom User - if using network shares with ApplicationPoolIdentity you have to grant entire machine access to share, so you may opt to create your own user in that case.
  • 26. Anonymous Authentication Identity ✤ IUSR ✤ The default ✤ No isolation between all sites ✤ Implicit member of Users group. ✤ ApplicationPoolIdentity ✤ Provides isolation between sites ✤ Shares identity with Application Pool
  • 27. Additional IIS Lockdown ✤ Remove unused ASP.NET ISAPI Filters and Handler Mappings ✤ Keep the StaticFile Handler (unless you do not serve js, css, images, etc) ✤ Keep the ISAPI-dll handler - needed for CF connector. ✤ Remove Response headers such as X-Powered-By: ASP.NET
  • 28. Configure Apache ✤ Remove modules that you do not use (eg php) ✤ fgrep LoadModule *.conf ✤ Block unused servlet mapping URI's ✤ RedirectMatch 404 (?i).*/flex2gateway.* ✤ File Extension blacklist: ✤ RedirectMatch 404 (?i).*.(jsp|php).* ✤ Run SELinux enforcing mode if possible.

  • 36. Installation Install CF Hotfixes before connecting web server
  • 39. Post-Install ✤ Install any/all CF security hotfixes and updates. ✤ Install / Update Web Server connectors ✤ Configure administrator settings.
  • 40. Accessing CF Administrator ✤ Use Builtin Web Server ✤ Access locally over RDP ✤ SSH Tunnel on Linux ✤ If accessed outside of localhost add TLS / HTTPS ✤ Using webserver (IIS / Apache) - intentionally harder in CF2016 ✤ Use dedicated connector / edit uriworkermap.properties ✤ Setup IP Restrictions, SSL, Additional User Auth
  • 41. Dedicated User Account ✤ Windows: Change Service Log On identity. Otherwise CF runs with full permission to everything. ✤ Unix: The installer allows you to specify a user to run CF as. ✤ The default nobody user is probably not the best choice as other services might share this account.
  • 42. File System Permissions Path CF User Permissions Web Server Identity Permissions Your Web Root Read Only Additional as needed
 Read Only CF Install Dir Full Can be restricted further /cf_scripts 
 Read Only CF Connector Read Read Write (Logs)

  • 43. File System Permissions ✤ /cf_scripts and other directories under CF root can be restricted read only permission by the cf user to prevent runtime change. ✤ Run CF10-2016 hotfix installer from command line as administrator. ✤ java -jar {coldfusion-home}cfusionhf-updateshotfix_XXX.jar
  • 44. Update JVM ✤ Update to latest supported JVM (1.8 currently for CF10-2016) ✤ Java 1.6 & 1.7 (as of 4/15) no longer supported by Oracle! ✤ Adobe recommends you run the latest supported JVM (eg 1.8. {highest number}) instead of specific version numbers. ✤ If using cfsearch or cfhtmltopdf the Add on Services Server has its own jvm configuration file: jetty/jetty.lax
  • 45. Sandbox Security ✤ Disable Unnecessary Risks, eg: cfexecute, cfregistry ✤ More flexible on Enterprise but still works on standard. ✤ Test before enabling.
  • 46. Session Mechanism Feature J2EE CF Configure in Application.cfc No Yes Token size configurable Yes No Configure in web.xml Yes No Interoperates with J2EE applications Yes No SessionRotate No Yes SessionInvalidate No Yes CF10-2016/tomcat
  • 48. Tomcat ✤ Shutdown port / password ✤ Changing port on windows causes CF service stop to fail. ✤ Connector settings: ✤ connector secret (have to redo when updating connector) ✤ Tomcat 7 Security Configuration Guide: http://tomcat.apache.org/ tomcat-7.0-doc/security-howto.html
  • 50. ColdFusion Administrator ✤ Default ScriptSrc Directory ✤ Setup an alias so /cf_scripts/scripts/ -> /some- folder/ ✤ If you don’t use cfform, cfajaxproxy, etc you can skip. ✤ If you use the builtin web server you need to configure an alias
  • 51. ColdFusion Administrator ✤ Allowed file extensions for CFInclude tag ✤ Mitigates directory traversal / path injection that leads to code execution attack. ✤ Comma separated list of file extensions that execute, typically can be set to just cfm
  • 53. AdditionalTools ✤ HackMyCF ✤ FuseGuard ✤ CF Unofficial Updater (CF9 and below)
  • 54. Questions? foundeo.com | hackmycf.com | fuseguard.com Please fill in your evaluations