Telekom will FTTH-Angebot in Kleinstädten ausweiten

heise online Newsticker - 24. November 2017 - 14:00
Mit einem ersten Ausbauprojekt in Franken nimmt die Telekom ein Modell wieder auf, das andere schon länger erfolgreich praktizieren: die Vorvermarktung von FTTH-Anschlüssen. Gibt es genug Kunden, wird gebaut.

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

heise online Newsticker - 24. November 2017 - 12:30
Eine Anfrage auf Unix & Linux Stack Exchange erklärt eine nur auf den ersten Blick seltsame Ausgabe auf stderr: "gimme gimme gimme", bei der ABBA indirekt die Hände im Spiel hatte.

Google baut den Zugriff auf APIs für Android um

heise online Newsticker - 24. November 2017 - 12:30
Mit Version 11.6.0 des SDK für die Google Play Services läutet Google den Abschied von GoogleApiClient ein. APIs für Android lassen sich künftig direkt über individuelle Client Object Classes ansprechen.

Google möchte Russia Today und Sputnik im Ranking niedriger einstufen

heise online Newsticker - 24. November 2017 - 12:15
Russia Today und Sputnik sollen laut Alphabet-Chef Eric Schmidt ein schlechteres Ranking in der Suchreihenfolge erhalten. Damit reagiere Google auf das überhöhte Aufkommen der Seiten bei Suchanfragen.

BGH: Klagen trotz Paypal-Käuferschutzes möglich

heise online Newsticker - 24. November 2017 - 12:00
Wenn ein Käufer sich sein Geld über Paypals Käuferschutz zurückholt, soll ein Verkäufer dennoch Anspruch auf Zahlung des Kaufpreises geltend machen können, entschied der Bundesgerichtshof.

Galileo-Satelliten warten auf den Start

heise online Newsticker - 24. November 2017 - 12:00
Die nächsten vier Satelliten für den europäischen Satellitennavigationsdienst Galileo werden gerade für den Start vorbereitet und sind fertig betankt. Sie sollen am 12. Dezember mit einer Ariane-5-Rakete abheben.

Hackback: Zitis-Chef spricht sich für Cyber-Gegenschlag aus

heise online Newsticker - 24. November 2017 - 11:30
Der Präsident der Zentralen Stelle für Informationstechnik im Sicherheitsbereich (Zitis) hat sich im “Spiegel” für mehr Kompetenzen der Sicherheitsbehörden bei der Reaktion auf Cyber-Angriffe ausgesprochen. Der Staat müsse handlungsfähig bleiben.

EWE und Uni Jena: Salzstöcke können als große Stromspeicher dienen

heise online Newsticker - 24. November 2017 - 11:30
Die beiden Projektpartner haben die Technik, bei der Strom in einer solebasierten Batterie gespeichert wird, nach eigenen Angaben erfolgreich getestet.

Vorwurf der Zensurbeihilfe: Apple verteidigt VPN-App-Rauswürfe in China

heise online Newsticker - 24. November 2017 - 11:30
Apples fortgesetzte Präsenz in China fördere Offenheit und freien Informationsfluss, betonte der Konzern – auch wenn man mit bestimmten Gesetzen nicht einverstanden sei. Auf Anweisung der Regierung wurden 674 VPN-Apps aus dem App Store entfernt.

Blair Wadman: Moving from theming in Drupal 7 to Drupal 8? Overview of key changes

Planet Drupal - 24. November 2017 - 11:20

Drupal 8 represents some major changes to the way we work with themes. There is now Twig, asset libraries, component based CSS, to name a few of the changes. If you are used to working with themes in Drupal 7, all these changes can be overwhelming. But it is well worth the effort - building themes in Drupal 8 is a much improved experience.

Hyphbot: Millionenschwerer Werbebetrug aufgeflogen

heise online Newsticker - 24. November 2017 - 11:00
Mit einem ausgefeilten Bot-Netzwerk haben Betrüger offenbar in großem Ausmaß Werbung auf gefälschten Websites ausgespielt. Der Dienstleister Adform konnte 34.000 verschiedene Domainnamen identifizieren, die von den Fake-Verkäufen betroffen waren.

Deutsche Bahn will mit Telematik Dieselverbrauch senken

heise online Newsticker - 24. November 2017 - 11:00
Was bei strombetriebenen Fahrzeugen bereits funktioniert, soll auch für Dieselzüge Realität werden: zum Beispiel frühzeitig vom Gas gehen, bergab den Schwung nutzen oder über weite Strecken den Zug rollen lassen.

Siri: Viele Ziffernfolgen lösen unerwarteten Notruf aus

heise online Newsticker - 24. November 2017 - 11:00
Apples Sprachassistenzsystem reagiert nicht nur auf die in Deutschland üblichen Notrufnummern: Viele andere Ziffernfolgen führen ebenfalls zum Anruf bei der Rettungsleitstelle – ohne dass dafür ein zusätzlicher Befehl erforderlich ist.

EU-Abgeordnete stimmen für Rückgaberecht auch bei "kostenlosen" Apps und Online-Diensten

heise online Newsticker - 24. November 2017 - 10:30
Nach dem Ministerrat haben sich EU-Parlamentarier dafür ausgesprochen, dass Verbraucher Ansprüche auf Reparatur, Updates oder Rückgabe digitaler Angebote erhalten sollen, auch wenn sie dafür mit ihren Daten bezahlen.

Sicherheitslücke in HP-Druckern – Firmware-Updates stehen bereit

heise online Newsticker - 24. November 2017 - 10:00
Unter Verwendung spezieller Malware können Angreifer aus der Ferne auf Drucker von HP zugreifen und dort unter anderem gerätespezifische Befehle ausführen. Der Hersteller hat Updates bereitgestellt und empfiehlt die umgehende Aktualisierung.

Agiledrop.com Blog: AGILEDROP: Interview with our Commercial director, Iztok Smolic

Planet Drupal - 24. November 2017 - 9:11
We have sat down with our Commercial director, Iztok Smolic and ask him a couple questions. Enjoy the interview.    When did you start working at AGILEDROP and what were your initial responsibilities? I am one of the co-founders of AGILEDROP, so I am with the company from its beginning. In the early days, all of us wore many hats. In my case, 60% of the time I was working on the development and the other 60% I was communicating with new clients and wrote proposals (yes, I did some overtime). As we grew I was able to focus on the thing I was best at, that was advising to clients and being… READ MORE

E-Mail-Dienst ProtonMail verschlüsselt Adressbuch

heise online Newsticker - 24. November 2017 - 8:45
Ab sofort will der E-Mail-Dienst ProtonMail das Adressbuch von Nutzern effektiv vor Spionage und Manipulation schützen.

iX 12/2017: Die C++20-Revolution

heise online Newsticker - 24. November 2017 - 8:45
Die Template-Erweiterungen Concepts sollen Teil der nächsten C++-Version werden – und das wird den Klassiker der objektorientierten Programmierung revolutionieren. iX erklärt, was auf die Entwickler zukommt.

Battlefront 2: Belgien hält Lootboxes für Glücksspiel und will dagegen vorgehen

heise online Newsticker - 24. November 2017 - 8:00
In der heftigen Debatte über die sogenannten Lootboxes in Star Wars Battlefront 2 fordert Belgiens Justizminister Koen Geens europäische Schritte gegen diese "gefährliche" Vermischung von Videospielen mit Glücksspielelementen.

PreviousNext: Securing Drupal: Storing API Tokens in Lockr

Planet Drupal - 24. November 2017 - 1:20
Share:

As seen in the recent Uber hack, storing secrets such as API tokens in your project repository can leave your organisation vulnerable to data breaches and extortion. This tutorial demonstrates a simple and effective way to mitigate this kind of threat by leveraging Key module to store API tokens in remote key storage.

by Nick Santamaria / 24 November 2017

Even tech giants like Uber are bitten by poor secret management in their applications. The snippet below describes how storing AWS keys in their repository resulted in a data breach, affecting 57 million customers and drivers.

Here’s how the hack went down: Two attackers accessed a private GitHub coding site used by Uber software engineers and then used login credentials they obtained there to access data stored on an Amazon Web Services account that handled computing tasks for the company. From there, the hackers discovered an archive of rider and driver information. Later, they emailed Uber asking for money, according to the company.

Uber could have avoided this breach by storing their API keys in a secret management system. In this tutorial, I'll show you how to do exactly this using the Key module in conjunction with the Lockr key management service.

This guide leverages a brand-new feature of Key module (as of 8.x-1.5) which allows overriding any configuration value with a secret. In this instance we will set up the MailChimp module using the this secure config override capability.

Service Set-Up

Before proceeding with the Drupal config, you will need a few accounts:

  • Mailchimp offer a "Forever Free" plan.
  • Lockr offer your first key and 1,500 requests for free.

These third-party services provide us with a simple example. Other services are available.

Dependencies

There are a few modules you'll need to add to your codebase.

composer require \   "drupal/key:^1.5" \   "drupal/lockr" \   "drupal/mailchimp"Configuration
  1. Go to /admin/modules  and enable the MailChimp, Lockr and Key modules.
  2. Go to /admin/config/system/lockr
  3. Use this form to generate a TLS certificate that Lockr uses to authenticate your site. Fill out the form and submit.
  4. Enter the email address you used for your Lockr account and click Sign up.
  5. You should be now be re-prompted to log in - enter the email address and password for your Lockr account.
  6. In another tab, log into the MailChimp dashboard
    1. Go to the API settings page - https://us1.admin.mailchimp.com/account/api/
    2. Click Create A Key
    3. Note down this API key so we can configure in Drupal in the next step.
  7. In your Drupal tab, go to /admin/config/system/keys and click Add Key
  8. Create a new Key entity for your MailChimp token. The important values here are:
    1. Key provider - ensure you select Lockr
    2. Value - paste the API token you obtained from the MailChimp dashboard.
  9. Now we need to set up the configuration overrides. Go to /admin/config/development/configuration/key-overrides and click Add Override
  10. Fill out this form, the important values here are:
    1. Configuration type: Simple configuration
    2. Configuration name: mailchimp.settings
    3. Configuration item: api_key
    4. Key: The name of the key you created in the previous step.

... and it is that simple.

Result

The purpose of this exercise is to ensure the API token for our external services are not saved in Drupal's database or code repository - so lets see what those look like now.

MailChimp Config Export - Before

If you configured MailChimp in the standard way, you'd see a config export similar to this. As you can see, the api_key value is in plaintext - anyone with access to your codebase would have full access to your MailChimp account.

api_key: 03ca2522dd6b117e92410745cd73e58c-us1 cron: false batch_limit: 100 api_classname: Mailchimp\Mailchimp test_mode: falseMailChimp Config Export - After

With the key overrides feature enabled, the api_key value in this file is now null.

api_key: null cron: false batch_limit: 100 api_classname: Mailchimp\Mailchimp test_mode: false

There are a few other relevant config export files - lets take a look at those.

Key Entity Export

This export is responsible for telling Drupal where Key module stored the API token. If you look at the key_provider and key_provider_settings values, you'll see that it is pointing to a value stored in Lockr. Still no API token in sight!

dependencies:  module:    - lockr    - mailchimp id: mailchimp_token label: 'MailChimp Token' description: 'API token used to authenticate to MailChimp email marketing platform.' key_provider: lockr key_provider_settings:  encoded: aes-128-ctr-sha256$nHlAw2BcTCHVTGQ01kDe9psWgItkrZ55qY4xV36BbGo=$+xgMdEzk6lsDy21h9j…. key_input: text_field Key Override Export

The final config export is where the Key entity is mapped to override MailChimp's configuration item. 

status: true dependencies:  config:    - key.key.mailchimp_token    - mailchimp.settings id: mailchimp_api_token label: 'MailChimp API Token' config_type: system.simple config_name: mailchimp.settings config_item: api_key key_id: mailchimp_tokenConclusion

Hopefully this tutorial shows you how accessible these security-hardening techniques have become. 

With this solution implemented, an attacker can not take control of your MailChimp account simply by gaining access to your repository or a database dump. Also remember that this exact technique can be applied to any module which uses the Configuration API to store API tokens.

Why? Here are a few examples of ways popular Drupal modules could harm your organisation if their configs were exposed (tell me about your own worst-case scenarios in the comments!).

  • s3fs - An attacker could leak or delete all of the data stored in your bucket. They could also ramp up your AWS bill by storing or transferring terabytes of data.
  • SMTP - An attacker could use your own SMTP server against you to send customers phishing emails from a legitimate email address. They could also leak any emails the compromised account has access to.

What other Drupal modules could be made more securing in this way? Post your ideas in the comments!

Go forth, and build secure Drupal projects!

 

Tagged DrupalSouth, Drupal Security, Security, APIs

Posted by Nick Santamaria
Systems Operations Developer

Dated 24 November 2017

Add new comment