Sandstorm Blog

Sean

Now more than ever, digital security is something that needs a thoughtful approach.

From Yahoo! to the DNC, large, high-profile security breaches are filling the news and making security a hot topic for everyday conversation. There are so many hacks that even data visualizers are struggling to make sense of them all. Which is why 2017 will be the year that companies finally realize the value and necessity of security for their digital properties.

Whether cause or effect, our increasing reliance on technology correlates with the spike in frequency, size, and severity of security breaches. At Sandstorm®, we're big fans of Steve Gibson and his podcast Security Now, where he talks about the race to keep up with new security threats. With each new security improvement developers release, hackers are ready to uncover weaknesses. Over the years, this has brought us to a place where both the threats—and the necessary defenses against those threats—have reached a level of complexity that can seem daunting.

From Convenience to Security

The complexity and automated nature of modern attacks has changed the industry’s view on the lengths hackers are willing to go to. Now, we have to assume that there is always someone looking to exploit opportunities and weaknesses.

While these are just a few examples of the risks and remediations that companies need to consider, they illustrate the many different attack vectors that developers need to address. The trick is to do the following:

  • Define the requirements
  • Identify the risks and determine the solutions
  • Design a highly functional application that still puts the user first

Trend #1: Rise of the Botnets

Botnets are a major reason for the increase in security issues. As an industry, we’ve known for some time about the danger of improperly patched or unsecure computers and servers that get infected with malware. But in the last few years, risk has increased exponentially due to the prominence of the Internet of Things (IOT). We have an explosion of internet-connected devices (light bulbs, refrigerators, dishwashers, teddy bears) with many of them rushed to market without regard for security.

Night of the Living Malware

Malware programs target these vulnerable systems to create zombie armies of infected computers that work together to feed on sites. The most recent and well known is the Murai botnet, the code of which was released as open source and has since spawned a plethora of derivations. That's right; you heard me. They’re multiplying, evolving, and getting smarter like a creature out of a bad horror movie.

How bad is it? Projections as of 2016 suggested that 35% of all internet traffic consisted of malicious bots. That's a lot of zombies wandering around looking for your server's brains.

GhostBot in the Machine

Another recent example is GiftGhostBot. This attack came to light in March 2017. Bots are brute forcing the pages that allow customers to check the balance on their gift cards. These bots keep guessing gift card numbers (at an estimated rate of four billion requests per hour) until they get one that has a remaining balance. They can then use that gift code to steal from the gift card holder.

What makes this GiftGhostBot particularly sinister is its sophistication. First, the attack is distributed across multiple compromised devices, servers, and computers—which means there’s no way to track and block these requests by IP. Second, the bots have been set up to use over 740 different user agent profiles, meaning they masquerade as different browsers and operating systems to confuse attempts to filter out their traffic. Vendors might add CAPTCHAs or completely remove these pages to remediate the issue. This is just another example of the exponential scale and complexity of attacks that have shifted the conversation towards security.

What You Can Do

  1. Your best defense is keeping your systems up-to-date. Apply security updates to all technology in your ecosystem in a timely manner (including websites, servers, computers, employee mobile devices, etc.).
  2. Be sure to spend the time to review all new features and components of your digital products with an eye for potential vulnerabilities. Always overestimate the lengths someone would go.
  3. When in doubt, engage a knowledgeable specialist to help review your security configuration.

Trend #2: Are You a Robot? – Identifying Friend From Foe

If you’re thinking this is all about the rise of the machines, you might (or might not) be happy to hear that humans still play an important role in threatening your business’s security. While botnets have increased the quantity of attacks, the level of sophistication for attacks has also dramatically increased. In some areas, malicious entrepreneurs have even turned to crowdsourcing to enhance automated attacks. Take CAPTCHA as an example. When those annoying pictures were too much for some bots to circumvent, unscrupulous companies paid real people to fill them out. Bots passed the CAPTCHAs back to humans whose answers were fed back to the bots so they could proceed with their attack.

Invisible ReCAPTCHA

This resulted in concerns with the CAPTCHA as a solution for determining bot from human. While still used, it was understood that this solution is not 100% effective. Recently, however, Google updated their reCAPTCHA service with their new Invisible reCAPTCHA. Maybe you’ve seen this: It’s a simple checkbox that says “I am not a robot.” Because so much information on your behavior has been compiled by Google, it can compare your digital fingerprints and activity against its vast repository of analytics to determine if you’re a real person. Or that’s the theory anyway; the new service has just rolled out and we're excited to see how it matures.

Mollom

Mollom is another service we recommend, specifically for Drupal projects. It takes form submissions on your site and checks the content to see if it looks like bot-generated content. If it does, the content is flagged. This technique analyzes content to protect against spam, relying on the consolidation of massive amounts of examples to understand how to proceed.

What You Can Do

  1. You can do is realize that identifying bots is not as straight-forward as it seems. They have gotten very good at pretending to look like real users performing real actions on your site.
  2. Shift your thinking to a place where you assume that hackers and spammers are probably smarter (or at least more persistent) than you. Look at each element of your digital products as a place where a bot might pretend to be a human and consider what they might be able to do.
  3. Layer different preventative techniques. Don't assume that one fix is enough and have a contingency plan for is a bot does get past your defenses.

Trend #3: Moving to SSL

Another major trend for 2017 will be the push for secure socket layer (SSL or HTTPS) traffic for everything. This has been an important shift for security in the last few years. Previously, SSL was only considered important for highly sensitive data, but a few things have pushed us into a world where regular HTTP traffic is considered unsecure.

Man in the Middle

First, a number of tools have come out that make watching the traffic of someone else on your network very easy to do. This allows a person to see the sites you are visiting and even steal your username and password. This is generally referred to as a man-in-the-middle attack resulting in session hijacking. Traffic over HTTPS helps to protect against that because your browser and the server are essentially communicating via a secret language that only they can understand.

Man on the Side

Second, browsers pulling in content over regular HTTP can't 100% confirm where the content they’re displaying came from. There have been a few complicated attacks over the past few years where malware was sent to site visitors instead of the assets they were expecting. This is generally referred to as a man-on-the-side attack. The attempted attack on GitHub in 2015 is an example of this. Moving towards HTTPS traffic gives the browser certainty that the content it received is the one it was expecting.

Pushing the Transition

If you’re thinking all of that sounds scary, you're not alone. Google agrees and has started to roll out changes to the Chrome browser—you've probably noticed that grayed out "not secure" message near the URL. Additionally, if you log in to a site over regular HTTP, you may also notice a red "not secure" message. This is meant to push websites towards SSL, and it’s only the start. Google has announced additional plans to clearly mark all traffic as not secure going forward.

What You Can Do

  1. Work with your hosting provider or website developer to purchase an SSL certificate from a reputable vendor.
  2. Have those same partners review your SSL configuration to confirm that you’re using strong protocols and ciphers that have not been deemed to be compromised.
  3. You may also need to review your site to confirm that you don't have any mixed content errors, which is when HTTPS pages are referencing insecure HTTP resources.
  4. While you're at it, complete a full review of your server configuration.
  5. A full penetration test or security scan may also be a good investment.

How Sandstorm Can Help

This is just the start of the conversation and we've only covered a few topics. Whether you’re moving your current website to SSL or want to ensure your new website is developed with the latest security in mind, we utilize the technology and techniques that make sure you’re protected.

This blog was posted by Sean on April 13, 2017.
Sean Fuller

About the Author

Sean Fuller

As Technology Director, Sean is a hands-on developer and technical lead on projects. He works with design and strategist teams from kick off through launch to plan, design and execute technical solutions for client projects. 

THIS FILE WAS POSTED UNDER: 
this file was posted under: 
Sean
Consider your options when comparing Content Management Systems

[This is second post of a series on choosing a CMS. Check out Part 1, and learn about the importance of your goals and requirements in the process]

Now that you have a solid set of requirements for your content management system (CMS), you can start to explore some different options. To narrow the conversation, it's sometimes helpful to consider them as a balance between simplicity versus flexibility.

5 approaches from simple to flexible

1: No development needed

Starting on one side, you'll find the most simple subscription-based solutions that require no development and minimal setup. As an example, think of a blogging site for which you just need to create an account. The options are limited. It doesn't give you much more than a running list of posts that you can create and edit. Google Blogger and Tumblr are examples. While some border on being social media more than CMS, they are in fact services that allow you to manage your content.

2: Simple and customizable

Moving up from there, you have simple frameworks that provide a medium amount of customization. This can be anything from services like SquareSpace to platforms like Ghost and Wordpress. These are designed to get you up and running quickly, but also allow you to heavily customize your site.

At this level, you can sometimes add basic online stores. You can create a unique look and feel. With something like Wordpress, you can even add some custom functionality. Eventually when dealing with options in this category you'll find that you're trying to do things for which the framework just wasn't built, so you'll move closer to flexibility.

3: Scalable and flexible solutions

The next level up are the more scalable and flexible solutions. Options like Drupal, SiteCore or AdobeCQ are in this category. While they are very different frameworks, they all have some basic preconceived notions about how content should be managed and structured. These are solutions that get you quickly up and going, but they are also intended for heavy customization. Advanced custom functionality can be added on top of them. Some can even be extended to the point where they are more than just a website and terms like "web application" start to emerge.

They are meant to be fast to deploy because much of the structure of how to manage your content has already been determined. However, this ease of deployment and development can sometimes come with the penalty of rigidity. Once you start to stray outside of their assumptions about how content should be managed, things can start to get messy. It's like strapping a howitzer on a sports car. Sure, we can get it to mostly work, but it just wasn't designed to do that.

4: Frameworks for fully custom sites

At the far extreme you find frameworks for custom-built applications that allow for advanced integrations, workflows, relationships and functionality. These are true development frameworks that allow you to build your own CMS or web application. Laravel and Django are two examples that fit in this category. They make sense when basic management of content is a secondary requirement, trumped by custom functionality. Or perhaps the structure of the content is unique enough that trying to get it to fit into some of the options in the previous category would not be ideal.

The primary benefit is that your application is faster because it was built to do exactly what you want. The primary downside is that it may cost more to build because you have more custom code and less community-tested extensions that effortlessly drop into your new site.

5: From the ground up

Of course out at the furthest edge you'll find the "from the ground up" option. This would be to pick a language and build a completely custom solution, without taking advantage of any frameworks. There are reasons that you'd do this, but if you're looking for a CMS, you're probably better off considering one of the many frameworks that exist today.

Proprietary versus Open Source

One of the key decisions is to consider when choosing a CMS whether you want to go with one that is proprietary software versus one that is open-source.

Proprietary

Proprietary software brings licensing fees and/or ongoing hosting fees. These fees are often in addition to the work required to design, configure, customize and host your site. Solutions like SquareSpace, SiteCore, AdobeCQ and others are businesses that provide a service in order to make money.

For some of these, the costs can get quite high (the average AdobeCQ license can run into hundreds of thousands of dollars). This can be fine if the CMS fits your needs. After all, part of what you're theoretically purchasing is the peace-of mind that if something goes wrong, that vendor will be there to help.

Open Source

In contrast, open-source software is free to download and use. Solutions like Wordpress, Drupal, Django and Laravel are all built by a community of developers and released under open licenses. Generally you want to look for a knowledgeable partner who you feel confident can properly build your CMS solution using one of these frameworks.

Final considerations

Budget

A final step is to consider your budget. You can make strategic decisions to create a CMS-based site with a small budget or invest heavily in some items to ensure your site covers the full extent of your needs.

Maintaining your site after launch

A final cost consideration is ongoing maintenance and support. If you are considering a proprietary solution, be sure to budget for the ongoing licensing fees. You should also double check that these fees cover ongoing upgrades and security fixes.

If you are considering an open source solution, be sure to set aside some of your budget to have your developer perform security updates and proactive maintenance. In either case, consider also setting aside some budget for support requests – minor feature requests and other changes to how the site functions. Properly considering your ongoing maintenance and support costs will help you to finalize the amount you have to build your CMS.

Making your final CMS decision

With the term CMS covering such a wide range of digital platforms, it's no wonder that many feel overwhelmed when choosing one. Defining your goals and requirements can help you to navigate your options. We've found that walking through these steps is a great way to reduce apprehension, provide clarity and deliver a solid final product. We hope you find them useful also.

[If you enjoyed this post, read Part 1: Goals and Requirements]

This blog was posted by Sean on July 30, 2015.
Sean Fuller

About the Author

Sean Fuller

As Technology Director, Sean is a hands-on developer and technical lead on projects. He works with design and strategist teams from kick off through launch to plan, design and execute technical solutions for client projects. 

Michael
Why do you need a website maintenance plan for your Drupal website?

Congratulations on launching your new Drupal website. You can now rest assured that you never have to think about it again. It will automatically generate revenue and keep itself running for decades to come. Pat yourself on the back and have a drink. Your website is complete.

Well... this might not be entirely true.

In reality your website is never really finished. Just like with a car or home, things degrade over time. Your website is no different and you need to have a website maintenance plan.

What is website maintenance?

It is the process of keeping your website up to date and running smoothly. It involves applying security patches, monitoring web server performance, and maintaining your code base. This is on top of maintaining your content, products and/or users. You gotta do that, too. Major reasons to have a maintenance plan include security, performance, backups, and other considerations.

Security

Hackers are always looking for ways to compromise websites through new techniques or insecure code. It’s critical your website remains as secure as possible. This often involves applying security patches or software upgrades both at the code and server levels. One advantage to open source software like Drupal, is the community of developers finding security holes and contributing patches.

This is also a double edged sword. Once hackers identify a security hole, they can exploit it by targeting unmaintained sites. You are running a huge risk if you’re running a Drupal site and not keeping up with Drupal core and module security upgrades.

Performance

Performance affects the amount of time it takes for your website to load for a user on their device. This includes time to complete transactions like adding a product to a cart or submitting a form. Good website performance is good usability. Users will abandon a poorly performing website never to return. It’s also good for search engine optimization (SEO).

We include performance testing and tweaking as part of the launch process. Yet, performance can degrade over time as code, content, or the server environment changes. Perhaps your site’s traffic has increased and now requires more resources to meet user needs. Wouldn’t that be great? It is great if you’re monitoring your traffic, server performance, and page load times so you can ramp up to meet the demand.

Backups

Another component of a good website maintenance strategy is a solid backup and restore plan. Most web hosts keep some level of back ups and will either restore your site as part of your hosting package or for a fee.

While this provides a safety net, they usually only keep a short window of backups. You may need to restore your site to an earlier point than your host has kept. Or you may need to restore to a point since your host’s last backup. A defined backup strategy allows you to quickly bring your site back online whatever the case may be.

Other considerations

Broken Links
Each website page links to internal pages and external websites. These links can change over time as content expires and changes or as sites get redesigned. Keeping an eye on broken links and updating or adding redirects when urls change should be part of your maintenance plan. Broken links are detrimental to your SEO.

Web forms
It’s a good practice to test and confirm that each of your web forms are working as expected, this may include contact us, event registration, and newsletter signup forms. Hopefully you’re seeing regular submissions, but it’s possible another update affected these forms. We like to confirm everything is still working after applying other updates to a site.

Development and staging environments
When implementing development updates, you should avoid deploying new code and patches to your live website. It’s important to have a separate deveopment environment for developing and testing new features and security updates. You use a staging environment to review and confirm these updates before releasing them on your live website.

The value of maintenance

The cost of website maintenance outweighs the cost of fixing problems caused by a lack of maintenance. A website maintenance plan is an added level of insurance against security and server-related issues that can cause grief and lost revenue. At the end of the day, a well-maintained site is another component of a great user experience.

Need help with Drupal website maintenance? Get in touch.

This blog was posted by Michael on February 20, 2015.
Michael Hartman

About the Author

Michael Hartman

As Sandstorm's Technology and Usability Director, Michael leads our developers and usability researchers in creating web sites and applications—both desktop and mobile—that embody our favorite blend: intuitive user experience and dynamic Drupal development.

Kyle
Cache clearing menu

At Sandstorm, we do a lot of website maintenance. That can mean many different types of things like development of new site components, updating old content or creating new content. With each of these different types of work there is a popular issue that can cause panic: he or she forgets to clear his or her caches after making the updates.

Nothing changed. Is the site broken?

If you’ve ever maintained a website, or maybe just updated content on one, you may have come across a situation where it looks as though your edits didn’t save. This ultimately leads into what seems like a broken website, but turns out (after consulting a developer) that you just need to “clear your cache”.

What is “cache”?

Like most people, myself included, when this first happens you are probably wondering what in the world is a “cache”. Google will tell you that it is “a collection of items of the same type stored in a hidden or inaccessible place,” but that makes me even more confused. In layman’s terms, cache is a save file that allows web pages to load faster.  

When you arrive at a website, your browser takes elements of that page and saves them locally into “cache”. This way, the next time you decide to visit that specific page, your browser is going to remember how it looked the last time and, instead of downloading those pieces again, it will use what is stored in the cache to build the page. This results in a great performance boost. Unfortunately, it can, at least appear to, be a nightmare for content editors who don’t understand why their changes are not showing up on the live site.

It’s an easy issue to address

Even with this knowledge, I still come by this simple issue every so often (so don’t feel bad if you do, too). What you should remember is to clear your browser’s cache, refresh the page and see if your edits are now in place (this is particularly easy on a Drupal site). If your changes are not there after that, then you can run frantically to your local developer or IT department. Assure them that you did clear your cache, and this may actually be a real bug.

This blog was posted by Kyle on December 31, 2014.
Kyle Lamble

About the Author

Kyle Lamble

Kyle is your stereotypical bluehat hacker, by day, who wants you to upgrade your browser to support his love for cutting edge web development techniques. By night, he is a curator and publisher of art. Co-founder of Loosey Goosey Art, Kyle spends much of his off time helping artists find their inner potential.

Karen
Sandstorm Launches Community Drupal Web Site for PROmeasure

Standardization is a hot topic in the PRO (patient-reported outcomes) community. It’s hot enough that the amount of information out there can be difficult to filter through, and makes it impossible to get your voice heard. PROmeasure is taking on these challenges with the beta launch of their site PROmeasure.org.

The site aims to involve the PRO community of authors, medical practitioners and health care IT professionals in enhancing the use of PRO in clinical practice and research by standardizing its use of measures (questionnaires). Users can download an open-source data model for measure standardization, search through a database of measures and participate in discussions with the community.

The PROmeasure web site is built in Drupal and includes a PubMed integration, user dashboards, commenting and personalization features, community forums, and content-manageable rotating graphics on the homepage.

Learn more about the possibilities available with Drupal development.

This blog was posted by Karen on August 21, 2012.
Karen Boehl

About the Author

Karen Boehl

Karen does a little bit of everything – webmaster, social media manager and search engine optimizer. She can most often be found on Twitter, in the Usability Lab, or happily buried in the Drupal admin menu.

Karen
Chicago Marketing Firm Welcomes Production Manager

We are excited to welcome Will Biby to Sandstorm Design as our Production Manager! He is the new face of Sandstorm Design, literally. Will’s desk is the reception area, the first thing you see when entering our new office. He comes from a varied and creative administrative background. Will is supporting every facet of our marketing firm, from usability testing to assisting our Drupal development team. His can-do attitude comes from his experience in education and improvisation (He’s currently studying at iO Chicago and The Second City).

We’re so excited to work with you. Welcome, Will!

This blog was posted by Karen on November 11, 2011.
Karen Boehl

About the Author

Karen Boehl

Karen does a little bit of everything – webmaster, social media manager and search engine optimizer. She can most often be found on Twitter, in the Usability Lab, or happily buried in the Drupal admin menu.

Karen
Realtor University - Example of a Drupal web site

REALTOR® University and the National Association of REALTORS® partnered with Sandstorm's Drupal development team to build their first ever master's degree program. The web site was developed through a combination of marketing messaging, copywriting, tagline development, user interface design and implementation of the Drupal 7 CMS. Featured on the homepage are rotating graphics emphasizing the core advantages the university offers. We are so excited to announce this launch!

This blog was posted by Karen on October 20, 2011.
Karen Boehl

About the Author

Karen Boehl

Karen does a little bit of everything – webmaster, social media manager and search engine optimizer. She can most often be found on Twitter, in the Usability Lab, or happily buried in the Drupal admin menu.

Karen
Drupal 7 developer - Andy Cullen

We are thrilled to welcome Andy Cullen, Senior Web Developer, to Sandstorm Design! The newest addition to our technology and usability team, this Chicagoland native specializes in backend development. Andy speaks a number of languages including PHP, SQL, and ActionScript. And much to our delight, he is also an experienced Drupal 7 developer. Andy is a fan of all things Apple, but his hobbies are far from any computer screen.

He mixes up his seasons with outdoorsy activities and sports. Spring brings baseball and football takes over in fall. He’s gone fly fishing in Wyoming, and snowboarding and whitewater rafting in Colorado. Welcome, Andy. We’re so excited to work with you!

 

This blog was posted by Karen on September 9, 2011.
Karen Boehl

About the Author

Karen Boehl

Karen does a little bit of everything – webmaster, social media manager and search engine optimizer. She can most often be found on Twitter, in the Usability Lab, or happily buried in the Drupal admin menu.

Karen
Crain's BtoB

2011 has been an award-winning year for Sandstorm Design! Earlier this year we were recognized by BtoB Magazine as a Top B2B Interactive Agency. Today, we've been recognized again—This time as a top Chicago Web Developer for 2011 by Crain's Chicago Business. Not only does this mean we're in the printed newspaper, but we'll also be included in the Book of Lists for 2011. Our developers work closely with the design team to create powerful results. And when it comes to content management systems, our Drupal 7 developers build robust and flexible web sites customized to your needs. We love the work we do, and are so honored to be included as a top Chicago Web Development firm!

This blog was posted by Karen on July 18, 2011.
Karen Boehl

About the Author

Karen Boehl

Karen does a little bit of everything – webmaster, social media manager and search engine optimizer. She can most often be found on Twitter, in the Usability Lab, or happily buried in the Drupal admin menu.

Karen

Sandstorm Design recently launched a health care web application for a large insurance company. The interactive experience educates users on Medicare health care coverage options. To offer this helpful tool to an even broader audience, the application has now launched in Spanish!

This blog was posted by Karen on April 22, 2011.
Karen Boehl

About the Author

Karen Boehl

Karen does a little bit of everything – webmaster, social media manager and search engine optimizer. She can most often be found on Twitter, in the Usability Lab, or happily buried in the Drupal admin menu.

Pages