8. Februar 2016

Apex Anwendungen einfach deployen - Aus der Cloud in die Cloud

Developer Cloud Service
Das deployen von Anwendungen ist mit Hilfe der Cloud sehr einfach.
Der Oracle Developer Cloud Service stellt alles zur Verfügung, was man für ein vereinfachtes und sogar automatisches Deployment benötigt.
  1. GIT Repository: Zur Ablage und Versionsverwaltung des App-Codes
  2. Hudson Engine zum automatisierten Build ganzer Anwendungsarchitekturen

Security Smoke Test für Oracle DBs in der Cloud

Oracle Security in der Praxis
Auf dem Oracle Security Day im letzten Jahr habe ich den Security Smoke Test vorgestellt. Die Idee des Security Smoke Testscist das Wissen aus meinem Buch anzuwenden.

Smoke Tests sind sehr häufig im eCommerce Bereich zu finden, da viele Updates am System wie Katalog-Wechsel stattfinden oder neue Releases/Funktionen/Design im System eingespielt werden. D.h. ein Smoke Test prüft wesentliche Funktionalität auf Korrektheit.
Mein Security Smoke Test testet nun die eingestellte Sicherheit einer Oracle Datenbank und zwar egal welche Version (getestet mit 11g und 12c).

Wie gesagt, habe ich den Security Smoke Test im letzten Jahr (2015) vorgestellt. Nun stelle ich diesen Test für die  Oracle Cloud zur Verfügun. Hierzu musste ich einige Änderungen machen. In der Cloud ist der Test ohne Portscanning, SID Guessing und Bruteforce Attacke verfügbar. Das hat den Grund, da solche Tools nicht in fremden Umgebungen ausgeführt werden dürfen (siehe Hacker Paragraf StGB §202b und 202c sowie Bundesverfassungsgerichtshof Beschluß vom 18.5.2009 und natürlich die Vertragsgrundlage mit dem Cloud Provider).

Dafür stelle ich den Code in der Cloud für alle meine Kunden und Interessierten zur Verfügung. Das Deployment in die Cloud (oder auch on-premise) geht sehr einfach mit GIT clone bzw. per Knopfdruck (Hudson-Jobs) wird sogar eine komplette Umgebung (DB, Apex mit ODRS und Apex deployment) erstellt. Siehe hierzu Deployment in Cloud Umgebungen.
Diese hier gezeigte Version des Security Smoke Tests basiert auf Apex 5.0 mit responsive Layout.

28. Januar 2016

Oracle Storage Cloud Software Appliance - Einfach, schnell und sicher einzubinden

Oracle Storage Cloud Software Appliance ist ein Tool zur Installation in Ihrer on-premise Umgebung und ermöglicht einen einfachen Zugriff Ihrer on-premise Anwendungen und Workflows auf den Oracle Storage Cloud Service.

Die Anwendungen kommunizieren mit der Storage Cloud über eine sichere HTTPS Verbindung mittels REST API oder der Java SDK. Anwendungen müssen nicht verändert werden. Die Oracle Storage Cloud Software Appliance ermöglicht eine Interaktion von Ihren Anwendungen in die Cloud durch Standard file-basierte Netzwerk-Protokolle (NFS), ohne direkte REST API calls auf die Cloud Services.
  • Die Anwendungen können Files speichern und abrufen. Filesysteme der Cloud werden on-premise gemounted
  • Damit die Daten sicher in der Cloud sind, kann die Appliance so konfiguriert werden, dass Files beim Speichern verschlüsselt werden und beim Abrufen automatisch entschlüsselt werden (ähnlich TDE).
  • Oracle Storage Cloud Software Appliance caches Files auf dem lokalen Host. Das minimiert die REST Call und ermöglicht ein schnelles Abrufen.
Nachfolgend die Architektur:
Architektir Oracle Storage Cloud Software Appliance

15. Januar 2016

Oracle Cloud: Private Key für SSH Zugriff verlegt - Kein Problem

Die Oracle Cloud Kunden greifen auf Ihre virtuellen Umgebungen in der Oracle Cloud Platform mittels SSH zu. Hierzu werden Schlüsselpaare generiert. Der Public Key wird in der Cloud-Umgebung abgelegt (automatisch beim Serviceerstellen) und der Private Key sicher beim Anwender hinterlegt.
Der Endanwender greift dann mittels PuTTY oder openSSH (hier roaming im Client auf NO stellen, siehe aktuellen CVE-2016-0777) auf die virtuelle Umgebung zu.

Soweit, so gut.

Private Key verlegt

Nun erreichen mich des Öfteren Anfragen von Kunden, dass der Private Key verlegt wurde oder die Passphrase des Private Keys vergessen wurde.

Was nun? Service wegschmeißen und einen neuen erstellen?

Nein, das braucht man nicht. In der Cloud Umgebung, also in der VM in der Oracle Cloud, ist der Public Key des entsprechenden Benutzers in dem File ~/.ssh/authorized_keys hinterlegt. Dieser File muss angepasst werden.

Wie löst man nun das Problem?

Jede VM in der Oracle Cloud besitzt mehrere virtuelle DISKS, der sogenannte Block Storage. Die Datei ~/.ssh/authorized_keys wird in der Boot DISK abgespeichert und zwar in der dritten Partition. Da in einer virtuellen Umgebung alles sehr dynmisch ist, kann ich die Boot-Disk der betroffenen VM auskoppeln (detach), zu einer neuen und zugreifbaren VM einbinden (attach), mounte die Disk und dann kann die Datei ~/.ssh/authorized_keys mit einem neuen Public anpasst werden. D.h. der Anwender braucht nur ein neues Schlüsselpaar generieren und den neuen Public Key in der DISK bekannt geben.

Disks werden in der Oracle Cloud VM hochgezählt. Die Zählung beginnt bei b. Wenn man nun eine neue DISK einbindet (in der Cloud Compute Service Console unter Storage), gibt der Wizard die Nummer bekannt. Wirft er z.B. eine "6" aus, dann wird diese DISK in der VM als xvdg (also Zähler g = 6) dargestellt. Die Nummern hinter dem Buchstaben geben die Partitionen an. Unsere Boot-Disk verwaltet die oben genannte Datei in der 3. Partition.
Nachfolgend drei Slides, wie das Zurücksetzen des verloren gegangenen Keys funktioniert.
Überblick Vorgehen bei nicht mehr vorhandenen Private Key für die SSH Verbindung

Festplatte der betroffenen VM in der Cloud entkoppeln

DISK in einer zugreifbaren VM mounten und Keys anpassen.
Viel Spass beim Freuen, dass gar nichts verloren ist und viel Spaß weiterhin in der Oracle Cloud.

23. Dezember 2015

Oracle Cloud: Mehr Kontrolle durch eine einfache Anwendung auf Basis APEX

Meine ersten Cloud Workshops mit Kunden zeigten immer ähnliche Fragen. Eine davon war: "Wie kontrolliere ich den Verbrauch meiner Services und wie kann ich garantieren, dass der Service nach 8 Stunden auch runter gefahren wird, damit nicht unnötig Geld verbraucht wird."
Apex App: Cloud Usage Control in der Version 1.1
Die Antwort ist ganz einfach. Die Cloud Umgebung ist eine voll dynamische Umgebung mit einem vollständigen API Katalog (REST API). Entweder ich baue eine schnelle Anwendung oder man kauft sich ein Tool, welches sicherstellt, dass man die Kontrolle behält.

Um das Prinzip der API der Cloud Services zu verstehen, empfehle ich zuerst: Erstmal bauen und dann sehen, ob es nicht besser ist, eine Anwendung wie den Enterprise Manager oder Cloudbolt für die Steuerung von Cloud Services zu verwenden.
Ich habe hierfür bereits eine kleine Anwendung gebaut, die folgendes kann
  • DB Services verwalten (Start, Stop, Restart, Status-Abfrage und Scheduling)
  • Java Services verwalten (Start, Stop, Restart, Status-Abfrage und Scheduling)
  • Nutzerverwaltung mit Zuordnung wer welche Service verwalten darf
  • Kostenkontrolle
Für Interessierte stelle ich den Code gerne zur Verfügung. Das Deployment ist super einfach und wird hier beschrieben.

18. August 2015

Oracle DB Sec. Community stellt Template für die eingestellte Mindestsicherheit einer Oracle DB (11.2.0.4) zur Verfügung.

Die Oracle DB Security Community ist eine Gruppe von Oracle DB Experten in Deutschland. Aus dieser Gruppe heraus wurde ein Template entwickelt, das eine Mindestsicherheit für neu erstellte DB Instanzen in der Version 11.2.0.4 erstellt. Es wurden sozusagen die Oracle Empfehlungen aus dem Oracle DB Security Guide und weitere Best Practices implementiert.

Die Scriptsammlung und das Setup Guide wurden in meinem Oracle Blog veröffentlicht.

Ein weiteres Template für 12c Datenbanken wird demnächst folgen.

Wir machen Deutschlands Daten sicher(er)




8. Juni 2015

Danke für die tolle Zusammenarbeit im vergangenen Oracle-Geschäftsjahr

Liebe Kunden, Partner und Kollegen,

Ende Mai ist das Oracle Geschäftsjahr zu Ende gegangen.
Ich bedanke mich bei Ihnen/Euch für die tolle Zusammenarbeit und freue mich schon jetzt auf die neuen Projekte in diesem Geschäftsjahr.



Liebe Grüße
Carsten Mützlitz