ColdFusion Docker Image Released

CFDockerTweet

On April 25, 2018, Adobe released the long awaited, official, Docker Image for ColdFusion 2016! ColdFusion 2018’s image is in the works.

I am excited about this primarily for two reasons:

#1 Development: we can create a docker image that can possibly be passed around to developers either as general use or specific to a customer’s setup. This has the potential to speed up “ramp-up time” for developers when beginning a new client workload.

#2 Fix AWS AMI’s: The current AMI solution on AWS is bleak. You’re limited to operating systems that are either the wrong flavor of Linux for you or an outdated Windows Server version. You are also stuck with the inability to upgrade the OS or ColdFusion. I’m hoping this makes its way into the AWS container library that you can lease month-to-month, both in the Standard and Enterprise flavors.

docker-cloud-serversAdobe choose the JFrog container repository over Docker Hub “due to licencing and distribution issues”. This seems to be a common theme with Adobe, but at least it’s out there. You can find these repos at https://bintray.com/eaps/coldfusion.

As of 4/26/2018, you will find the following images:

  • ColdFusion Server (2016)
  • ColdFusion Addons (2016)
  • ColdFusion API Manager (2016)
  • ColdFusion API Manager Addons (2016)

The “ColdFusion Server” contains the “barebones” only. It runs the bundled “built-in” web server (normally port 8500).

You’d then normally want to connect Apache or IIS to ColdFusion using wsconfig. However that’s not possible, in the common sense, here. The reason being is that you’re in a container that has no real access to the outside space, including your webserver services.

So in this case you’ll need to treat this as a distributed setup. You’ll need to copy some files, including wsconfig, onto your Apache file system – likely in another container. From there you’ll run wsconfig and connect it to the “remote” ColdFusion instance. There are some basic instructions at http://blogs.coldfusion.com/setting-up-coldfusion-in-distributed-envionment/ and Adobe says they will work on an official instruction set. I also plan on posting my own instructions. I don’t think this will work with IIS without a hack, but this is definitely something I’d want. The majority of web servers we maintain are IIS.

When you run the ColdFusion container, you are able to pass in a limited set of environment variables. They range include items such as password, secure profile, external session info, addons, and a startup script.

The setup script will be a .CFM file that calls the admin object. Here you will script items such as datasources. However, as far as I know, not all admin functions are available via the API. One of the major benefits of running containers is to have a disposable environment that can easily be recreated. In order to do this, you must be able to script out all your configuration. I would also like to see all settings be available in the environment variables as that’s what it’s intended for. Using a script is more or less a hack that needs additional maintenance.

Another method is mounting a volume for configuration files such as JVM.config and neo-*.xml files. I have to experiment with this to figure out how that would work.

The third method would be to mount a directory that has CAR archives into “/data” and configurations in the archive would be automatically imported during container setup. However this is a rather static method and not easy to manage. However according to Immanual Noel, on 4/27/2018, Adobe is having an issue importing DSN’s and scheduled tasks in this fashion and are currently working on this issue.

The final method would be to use Ortus’s CFConfig CLI. You could pass in a JSON string and let it build out the configuration. This might actually be one of the best ways to do it. I’m hoping Adobe’s implementation catches up to this quickly though. Ortus has great open source products for ColdFusion, but this shouldn’t be required.

The “ColdFusion Addons” container runs SOLR and PDF services. The “.NET” service will not exist as it is a Linux container. I would have preferred separating out the services though due to the container pattern of one service per container. This extends the ColdFusion container.

According to Adobe, they are not going to create a Windows container at this point due to performance issues they saw. But the great thing about Docker on Windows is that it’s capable of running both Windows and Linux containers. It’s very rare that I need to run .NET, however that does leave my 2 points out in the cold if a customer uses it.

In conclusion, I look forward to testing this out and perhaps implementing this solution where it makes sense.

Other resources to read:

  • https://www.cutterscrossing.com/index.cfm/2018/4/18/Adventures-in-Docker-Land

Password Spraying

In a statement release by Homeland Security yesterday, TA18-086A: Brute Force Attacks Conducted by Cyber Actors, they indicate that brute force attacks using a “password spraying method” is increasing. Here’s a copy:


National Cyber Awareness System:

 

TA18-086A: Brute Force Attacks Conducted by Cyber Actors

03/27/2018 06:00 PM EDT

 

Original release date: March 27, 2018

Systems Affected

Networked systems

Overview

According to information derived from FBI investigations, malicious cyber actors are increasingly using a style of brute force attack known as password spraying against organizations in the United States and abroad.

On February 2018, the Department of Justice in the Southern District of New York, indicted nine Iranian nationals who were associated with the Mabna Institute for computer intrusion offenses related to activity described in this report. The techniques and activity described herein, while characteristic of Mabna actors, are not limited solely to use by this group.

The Department of Homeland Security (DHS) and the Federal Bureau of Investigation (FBI) are releasing this Alert to provide further information on this activity.

Description

In a traditional brute-force attack, a malicious actor attempts to gain unauthorized access to a single account by guessing the password. This can quickly result in a targeted account getting locked-out, as commonly used account-lockout policies allow 3-to-5 bad attempts during a set period of time. During a password-spray attack (also known as the “low-and-slow” method), the malicious actor attempts a single password against many accounts before moving on to attempt a second password, and so on. This technique allows the actor to remain undetected by avoiding rapid or frequent account lockouts.

Password spray campaigns typically target single sign-on (SSO) and cloud-based applications utilizing federated authentication protocols.  An actor may target this specific protocol because federated authentication can help mask malicious traffic.  Additionally, by targeting SSO applications, malicious actors hope to maximize access to intellectual property during a successful compromise.

Email applications are also a target.  In those instances, malicious actors would have the ability to utilize inbox synchronization to (1) obtain unauthorized access to the organization’s email directly from the cloud, (2) subsequently download user mail to locally stored email files, (3) identify the entire company’s email address list, and/or (4) surreptitiously implements inbox rules for the forwarding of sent and received messages.

Technical Details

Traditional tactics, techniques, and procedures (TTP’s) for conducting the password-spray attacks are as follows:

  • Use social engineering tactics to perform online research (i.e., Google search, LinkedIn, etc.) to identify target organizations and specific user accounts for initial password spray
  • Using easy-to-guess passwords (e.g., “Winter2018”, “Password123!”) and publicly available tools, execute a password spray attack against targeted accounts by utilizing the identified SSO or web-based application and federated authentication method
  • Leveraging the initial group of compromised accounts, download the Global Address List (GAL) from a target’s email client, and perform a larger password spray against legitimate accounts
  • Using the compromised access, malicious actors attempt to expand laterally (e.g., via Remote Desktop Protocol) within the network, and perform mass data exfiltration using File Transfer Protocol tools such as FileZilla

Indicators of a password spray attack include:

  • A massive spike in attempted logons against the enterprise SSO Portal or web-based application. Using automated tools, malicious actors attempt thousands of logons, in rapid succession, against multiple user accounts at a victim enterprise, originating from a single IP address and computer (e.g., a common User Agent String). Attacks have been seen to run for over two hours
  • Employee logons from IP addresses resolving to locations inconsistent with their normal locations

Typical Victim Environment

The vast majority of known password spray victims share some of the following characteristics [1][2]:

  • Use SSO or web-based applications with federated authentication method
  • Lack multifactor authentication (MFA)
  • Allow easy-to-guess passwords (e.g., “Winter2018”, “Password123!”)
  • Use inbox synchronization allowing email to be pulled from cloud environments to remote devices
  • Allow email forwarding to be setup at the user level
  • Limited logging setup creating difficulty during post-event investigations

Impact

A successful network intrusion can have severe impacts, particularly if the compromise becomes public and sensitive information is exposed. Possible impacts include:

  • Temporary or permanent loss of sensitive or proprietary information
  • Disruption to regular operations
  • Financial losses incurred to restore systems and files
  • Potential harm to an organization’s reputation

Solution

Recommended Mitigations

To help deter this style of attack, the following steps should be taken:

  • Enable MFA and review MFA settings to ensure coverage over all active, internet facing protocols
  • Review password policies to ensure they align with the latest NIST guidelines and deter the use of easy-to-guess passwords
  • Review IT Helpdesk password management related to initial passwords, password resets for user lockouts, and shared accounts. IT Helpdesk password procedures may not align to company policy, creating an exploitable security gap
  • In addition, many companies offer additional assistance and tools the can help detect and prevent password spray attacks, such as the Microsoft blog released on March 5, 2018 (link below):

https://cloudblogs.microsoft.com/enterprisemobility/2018/03/05/azure-ad-and-adfs-best-practices-defending-against-password-spray-attacks/

Reporting Notice

The FBI encourages recipients of this document to report information concerning suspicious or criminal activity to their local FBI field office or the FBI’s 24/7 Cyber Watch (CyWatch). Field office contacts can be identified at www.fbi.gov/contact-us/field. CyWatch can be contacted by phone at (855) 292-3937 or by e-mail at CyWatch@ic.fbi.gov. When available, each report submitted should include the date, time, location, type of activity, number of people, and type of equipment used for the activity, the name of the submitting company or organization, and a designated point of contact. Press inquiries should be directed to the FBI’s national Press Office at npo@ic.fbi.gov or (202) 324-3691.

References

ST05-12 – Supplementing Passwords

Heading to MuraCon

69EF409D-B9C9-4404-AE6152196A4E039D_W354_H295At CF Webtools we not only support customers that use Mura CMS but we use it ourselves on our website at cfwebtools.com.

This year CF Webtools is proud to sponsor MuraCon!

Nick Devre and myself will be attending both the “Pre-Con Content Manager’s Training” on April 4th and the conference on April 5th to the 6th.

We will have direct access to industry experts to talk to them about challenges that we have run into along with collaborating with other community professions. This will allow us to provide our customers with great support and integration for their companies.

The conference will focus on storytelling, flow and Docker (containers). Other topics include themes, CSS, JavaScript, API, Slatwall, React, Alexa, Rest, Swagger, OAuth, ColdFusion and more!

Add a comment if you’ll be there and be sure to say hi!

CF Summit 2017 – Part 2

Starting from Part 1 of my “CF Summit 2017” series I will dive into some of my conversations with Adobe and more “Application Monitoring Suite” details.

The Adobe Team

20171117_101210Let me start out by saying that I know a number of people, myself included, enjoyed having the ColdFusion engineering team on-site at the conference. I want to thank them for the long trip from India which appears to be at least a 24 hour trip one-way. I could barely stand the 3 hour cattle flight from Omaha on Southwest. Those seats were great when I was a kid half my current size – but they never seemed to take into account that American adults actually sit in those seats too!

I spent a bit of time speaking with Anit Kumar, the Technical Support Manager, who was very welcoming of what I had to say. A number of people also wanted his attention, so I also spoke a bit to Vamseekkrishna Nanneboina, the Quality Engineering Manager. Continue reading

CF Summit 2017 – Part 1

My co-worker at CF Webtools, Wil Genovese, and myself were fortunate to attend the Adobe ColdFusion 2017 Summit this year.

The primary focus of the event was on “Aether”, the next version of ColdFusion, which will be known as “ColdFusion 2018”. The primary topic surrounding Aether was the API Manager, Containerization (Docker), security by default and a new “Application Performance Monitoring Suite”.

20171116_101311

Continue reading

AWS Certified – So What?

Telerik.Web.UI.WebResourceI’ve taken the courses, I have practical experience, I paid the exam fee and I past the test. That makes me an “Amazon Web Services (AWS) Certified Solutions Architect – Associate”. Wow what a mouthful, but what does that mean to you?

Per AWS, I have “experience designing distributed applications and systems on the AWS platform”.

Yes, but what does that mean?

AWS has somewhere around 104 different services. These range from simple email to virtualized servers to “serverless” computing to big data processing and everything in between.

As a Solutions Achitect I know how to navigate the roadmap that makes up “AWS town”. When we speak, I strive to understand your existing resources and how they are used or what your requirements may be for a new project. I take that information and convert those requirements into a plan that utilizes AWS services. This could be a “all-in” approach or a mixed on-premise / AWS approach depending upon your needs.

I then implement that plan. I have much experience moving resources to AWS or creating those resources from scratch. If I lack expertise in what you need, I will either utilize my resources to understand how to accomplish what is needed or find another resource that can make it happen. Continue reading

The Grandparents Went Mobile

“My friends have an iPad, I’m going to get one this weekend.”

“My friends have an iPhone, I’m going to send my nephew to get me one this weekend.”

Those are the sentences I heard from my 80ish year-old grandmother over the past year. She’s from South Korea and survived the Korean and Vietnam wars. She’s, to this day, very smart and can list off your birthday, phone number and her doctor’s address with little thought. Give her a math problem and she’s whip the answer right back at you.

My grandfather was, in general, an engineer. He had his HVAC and plumbing master licenses and might as well of had his electrical master license. He not only owned a HVAC and plumbing supply shop on the North side of Omaha but also a computer shop that specialized in AutoCAD. His home office is a library of floppy disks and DVDs of every software you’d never use. He helped fund and setup a high school’s technology program and computerized building HVAC systems he owned on using those green terminal screens and 1200-baud modems. This was all after he retired from the Navy and civil Engineering.

But as he also hit his 80’s, now being 90, his desktops and laptops started to see the dust slowly covering them. Software and hardware started to evolve quicker than he had interest in anymore. Now his day’s consist of watching black and white western TV series.

My grandmother, on the other hand, found that should could no longer ask her husband to search the Internet for information, send emails and print off legal documents. She never really learned how to operate a Windows machine because her husband liked doing that for her so much. It was his “thing”.

Then came the iPad. She found that she could send emails, fill out online forms and do research on the Internet using this ultra portable 10″ screen. It didn’t require a cord to use; no keyboard; no mouse. It was very basic. She could push email or Safari icons and they would just work. She could even wireless print. She no longer needed her “complicated” laptop to do much of anything except write legal documents and fill in financial spreadsheets. It was perfect for her.

She now has an iPhone and loves using it to make phone calls or even send a SMS here and there. Likely because of the “bling” and “peer” factors. So then I showed her maps, camera and photos. It was exactly what she wanted. So simple.

So what’s the point of this blog post? User experience.

She uses these devices because they are not overly complicated, even though you could make them as such if you wanted to.

But let’s take a step further.

The doctor’s office has online forms to fill out. She tried filling them out using her iPad but the doctor’s office told her they didn’t receive the information they needed. She was frustrated… and I can see why.

I came over and started filling out the forms on her iPad. Even though the site worked on the iPad, it was defiantly a desktop-centric site. The form labels were hard to read as they took up multiple lines and ran into each other. The form fields were small. It was almost impossible to exit the date picker widget after I selected the date. And there were form fields that I had no idea where to get that information, yet they were required.

In today’s world if you are creating a public website you should highly consider creating a mobile-first responsive site. Take this experience. My 80ish year-old grandmother and her peers use iPads and iPhones. Not laptops and desktops. Even on a podcast the other day, the speaker was saying the funny looks his son gives him when he tries to show him his desktop setup. He’s just always on a mobile device.

In reality, I use my mobile phone for looking up quick stuff like what a medication does or the address for a auto-repair shop. I don’t own a tablet, outside of a dedicated one for my dart board. I use my work desktop and home laptop for all the “real work”.

So in conclusion, when building or maintaining a public facing website, it’s very important to be mobile friendly and responsive to serve your experience to the many generations and different devices. If you don’t they’ll just go somewhere else, or worse, call you because you’re their only option and can’t use the site you’ve invested so much money in.