Read Access Logging (RAL)

Definition von Read Access Logging im SAP

Eine neue Funktion im NetWeaver Anwendungsserver ab Version 7.4 ist RAL, das Read Access Logging.

Das Read Access Logging (RAL) wird verwendet, um den Lesezugriff auf sensible Daten zu überwachen und zu protokollieren.
Das ist besonders für Daten interessant, welche duch gesetzliche Bestimmungen, die externe Kommunikationspolitik oder durch interne Regulierungen als kritisch kategorisiert worden sind.

Nachfolgend sind einige Beispiele in welchen RAL anwendungen finden könnte:

  • Wer hat auf die Daten einer bestimmten Unternehmung zugegriffen, z.B ein Bankkonto?
  • Wer hat auf personenbezogene Daten zugegriffen, zum Beispiel von einem Geschäftspartner?
  • Welcher Mitarbeiter greift auf persönliche Informationen anderer Mitarbeiter zu, z.B deren Religion?
  • Hat jemand eine Suche nach, zum Beispiel, VIPs die in das Krankenhaus eingeliefert wurden gemacht?
  • Welcher Benutzer hat auf welche Konten oder Geschäftspartner zugegriffen?

Diese Fragen können mit Hilfe von Informationen über den Zugriff auf bestimmte Daten innerhalb eines bestimmten Zeitrahmens beantwortet werden. Technisch bedeutet dies, dass alle entfernten API- und UI-Infrastrukturen (die auf die Daten zugreifen) für die Protokollierung aktiviert sein müssen.

Read Access Logging ist derzeit auf folgende Kanäle beschränkt:

  • Remote Function Calls (sRFC, aRFC, tRFC, qRFC, bgFRC)
  • Dynpros
  • Web-Dynpros
  • Internetdienste

Wichtige Transaktionen für RAL

  • SRALCONFIG – Konfiguration Lesezugriffsprotokoll
  • SRALMANAGER – Lesezugriffsprotokollierungs-Manager
  • SRALMONITOR – Monitor Lesezugriffsprotokollierung

UCON – Unified Connectivity

Einleitung

UCON ist eine neue Funktionalität für alle AS ABAP Systeme ab 7.40 SP5+. Sie erlaubt im Standard das die Verwendung von RFC-Bausteinen im Hintergrund ausgewertet werden kann um RFC-Bausteine von unerlaubtem Zugriff von extern zu schützen.

Die verwendung der UCON ist dabei in drei Phasen aufgeteilt:

  1. Phase 1: Logging Sollte auf dem Produktiven-System gemacht werden mit mindestens einem Monats, Quartals und Jahresabschluss. Zeichnet die Verwendungshäuftigkeit aller externen RFC-Aufrufe auf.
  2. Phase 2: EvaluationEntscheidung, welche RFC-Aufrufe die geloggt worden sind auch wirklich benötigt werden
  3. 3. Phase 3: FinalScharf-Schalten und Transport Dev -> Int, Nach Quartalsabschluss wieder Int. auf Prod.

UCON im Überblick

Initiale Vorbereitung:

  • Setzen des Profilparameters: auth/authorization_trace = F
  • Setzen des Profilparameters: auth/rfc_authority_check = 1
  • Standardjob SAP_UCON_MANAGEMENT einplanen

Transaktion: UCONCOCKPIT

Details für die Einrichtung und Verwendung sind in den folgenden Kapiteln.

Einchrichtung von Paramtern

  1. Transaktion: RZ10
  2. Profil auswählen
  3. Erweiterte Pflege klicken
  4. Hinzufügen von Paramtern im 2. Kapitel

Einchrichtung von Job

  1. Transaktion: SM36
  2. Klick auf Standardjobs
  3. SAP-Komponente: BC
  4. Jobname: SAP_UCON_MANAGEMENT
  5. Startzeit: Sofort
  6. Periode: Stündlich

GUI von UCONCOCKPIT

Digitale Sicherung von konventionellen Waffen

Der British American Security Information Council (BASIC) hat diesen Monat (Juni 2017) einen Report veröffentlicht der die Angreifbarkeit von digitalen Systemen analysiert.

Hier den Link zum Dokument

Die gute Nachricht ist, dass diese Systeme hautsächlich durch Abschottung gut genug geschützt sind um diese vor Angriffen von jugendlichen im Keller Ihrer Eltern und Hackern ohne Ressourcen zu schützen. Die schlechte Nachricht ist, dass diese Systeme aufgrund Ihrer gravierenden Sicherheitslücken dennoch ein mögliches Angriffsziel für organisierte und finanzierte Hackergruppen und staatlich unterstützte Organisationen sind.

Besonders lesenswert ist das Kapitel 5.2 welches auf das U-Boot interne Netzwerk eingeht. Scheinbar verwenden die U-Boote der britischen Navy eine variante von Windows XP welche im allgemeinen auch als „Windows für Kriegsschaffe“ bekannt ist.
Leider beinhaltet diese Version von Windows XP alle der in den letzten Jahren bekannten Sicherheitslücken (Z.b auch die der Shadowbroker enthüllten Sicherheitslücken in WanaCry)

Dies zeigt einerseits die Schattenseite bei der Verwendung von Standardsoftware (Man hat die gleiche, bekannte Angriffsfläche wie alle anderen) und zeigt andererseits das jede Einführung eines Software-Systemen mit einem Konzept einher gehen sollte, wie dieses System Up-To-Date gehalten werden soll/kann. (Ausnahmen gibt es nach meiner Meinung nach nur Mikroprozessoren deren Funktionsweise als Hardware in Silizium gegossen wurden)

Finden von SU24/SU25 Transporten in SAP-System

Wenn eine SAP Berechtigungsrolle meldet, dass diese „Abzugleichen“ ist dann hat sich etwas an der SU24 geändert.

Wenn es sich um ein produktives System handelt so sollte die SU24-Anpassung per Transport in das System gekommen sein.

Diese kurze Anleitung zeigt, wie SU24-Transporte auf dem Quell- und Zielsystem gefunden werden können:

  1. Transaktion SE03
  2. Transport Organizer Tools
  3. Transport Organizer Tools
  4. Objekte in Aufträgen/Aufgaben suchen
  5. OBJ = SUSK (SUSK ist Kunde: Zuordnung Transaktion –> Berechtigungsobjekte)
  6. In das Textfeld hinter der Auswahl noch * schreiben
  7. Ausführen (F8)

Fertig ist die Liste der Transporte welche SU24-Werte transportiert haben.

Problembericht: Amnesie von FreeNAS Netzwerkspeicher

Einleitung

Ich werdende zur Speicherung meiner privanten Daten und als iSCSI-Ziel der Virtuellen Maschienen auf meinem ESXi-Server einen FreeNAS-Netzwerkspeicher zur Datenspeicherung.

Am Samstag dem 5 Februar hatte mein Netzwerkspeicher einen „Aussetzer“ in welchem der FreeNAS für 30 Minuten nicht erreichbar war. Seltsam ist, dass auch die grafischen Aufzeichnungen für diese Zeit ausgesetzt haben.
„Problembericht: Amnesie von FreeNAS Netzwerkspeicher“ weiterlesen

Andreas sélection der besten Einstellungen für Firefox

Vorwort

In diesem Artikel beschreibe ich die Firefox-Einstellungen, welche ich bei jeder neuen Installation von Firefox mache.

Es handelt sich dabei um eine persönliche Auswahl welche für den selbstzweck führe und hier zur Verfügung stelle.

Start des Firefox Konfigurationseditor

Geben Sie in die Adressleiste about:config ein und drücken Sie die Eingabetaste.

Beim Aufrufen von about:config wird folgender Warnhinweis angezeigt: „Hier endet möglicherweise die Gewährleistung!”. Klicken Sie auf Ich bin mir der Gefahren bewusst!, um fortzufahren.

Daraufhin werden alle Einstellungen aufgelistet.

Einstellungen

Nglayout.initialpaint.delay = 1000
Content.notify.interval = 1000000
content.notify.ontimer = true

Irgendjemand hat beschlossen, dass Browser anfangen sollten eine Seite darzustellen bevor alle Daten dazu geladen wurden.
Dies mag für Webseiten die linear von oben nach unten aufgebaut sind sinnvoll sein. Bei heutigen Webseiten mit verschachtelten Layouts sorgt dies nur dafür, dass die Webseite währen des ladens „Zuckt“ und das der Computer (Besonders bei Notebooks) viel mehr Energie für das Darstellen der Seite verschwendet.

Der Wert 1000 (1 Sekunden) ist nur der Maximalwert. Wenn die Seite vollständig geladen ist wird die Seite natürlich gleich dargestellt.

Link: http://kb.mozillazine.org/Nglayout.initialpaint.delay

network.http.pipelining = true
Eine Eigenschaft von HTTP/1 die bereits seit 2001 ein Teil von Firefox ist. Es kann sein, dass das laden von Webseite mit dieser Einstellung fehlschlägt. Ich habe aber seit knappt 10 Jahre keine Seite mehr gesehen der das Probleme macht.

Link: http://kb.mozillazine.org/Network.http.pipelining

network.http.referer.XOriginPolicy = 1
network.http.referer.spoofSource = true
network.http.referer.trimmingPolicy = 2
network.http.sendRefererHeader = 1
Im Standard senden Firefox jedem Bild das Ihr Browser von irgendwo anzeigt was Sie sich gerade auf der aktuellen Webseite ansehen.

geo.enabled = false
geo.wifi.uri = blank
dom.battery.enabled = false
browser.pocket.enabled = false

Diese Einstellungen sorgt dafür, dass Firefox nicht mehr so bereitwillig jedem Werbebanner erzählt was Sie sich gerade ansehen.

Sicherer Versand von Daten via E-Mail oder Messinger

Einleitung

miniLock.io ist eine Erweiterung für den Chrome Browser welche es erlaubt, dass Daten so verschlüsselt werden so das Sie nur der oder die Empfänger lesen können.

Meine miniLock-ID ist
coptmhGwWTq5gBrxL2WSwEyHueQjS86FZesMrv1ENPum6
und mit dieser Zeichenkette kann jeder, der den Chrome Brower auf seinen PC installieren kann, Daten so verschlüsseln das nur noch ich diese entschlüsseln kann.

Wenn Sie das auch können wollen, dass zeige ich Ihnen wie das geht.

Installation

Öffnen Sie in Ihrem Chrome Browser folgenden Link:
https://chrome.google.com/webstore/detail/minilock/mknafpnfcafklkflhenhaldedggpciao

Wenn Sie keinen Chrome Browser auf Ihrem Computer installiert haben, dann können Sie diesen hier herrunterladen:
https://www.google.com/chrome

Einrichtung

Öffnen Sie dann die miniLock-Erweiterung:

Geben Sie Ihre E-Mail-Addresse und ein Passwort ein (Das Passwort sollten Sie NIEMANDEM weitergeben):

Jetzt können Sie Daten auf das Feld ziehen um Sie für jemand anderen zu Verschlüsseln (Dafür brauchen Sie die miniLock-ID von jemand anderem) oder Sie können ihre miniLock-ID unten im Bild jemand anderem geben damit diese Person Ihnen Daten senden kann die nur Sie entschlüsseln können.

Verschlüsseln von Daten

Ziehen Sie die Datei die sie jemanden senden möchten auf miniLock:

Geben Sie jetzt die miniLock-IDs ein welche diese Datei wieder entschlüsseln können sollten: (In diesem Fall verschlüssle ich die Datei für meine eigene ID um diese selbst wieder öffnen zu können)

Jetzt können Sie die verschlüsselte Datei per E-Mail oder mit irgendeinem anderen Medium versenden:

Entschlüsseln von Daten

Report zur Prüfung von inkonsistenten Daten im Berech von Infotyp 0001

Ausgangslage

Ich hatte vor einigen Tagen den Fall, das ein SAP NETWEAVER 7.4 System (SP Stack 11/2015) folgende Dumps bei der Verarbeitung von gewissen IDocs des Typ USERCLONE geworfen hat:

Kategorie ABAP Programmierfehler
Laufzeitfehler UNCAUGHT_EXCEPTION
Ausnahme CX_HRPA_INVALID_INFOTYPE_DB
ABAP Programm RHUSERXR
Anwendungskomponente PA-OS-ST


Ebene 1 Klasse CX_HRPA_INVALID_INFOTYPE_DB
Programm CL_HRPA_MOLGA=================CP Include CL_HRPA_MOLGA=================CM001 Zeile 73
Kurztext Für 00123456 sind bei Infotyp 0001 A inkonsistente Daten auf der Datenbank vorhanden
Langtext

Ich habe diesen Fehler bereits öfters gesehen und ich möchte Kollegen mit dem gleichen Problem einen guten Report der dabei sehr hilfreich ist vorstellen.

Tipp zur Fehleranalyse

Der Report muss via SA38 oder SE38 ausgeführt werden und heisst RHINTECHECK.

In diesem Report kann man in das Feld Personalnummer die Personalnummer oben in der Fehlermeldung eingeben:

Das Ergebnis dieses Reports ist dann wie folgt:

FreeBSD 12 auf ESX 6.5 – SCSI-Fehlermeldungen nach Installation

Nach dem hören von einigen Podcast zum Thema BSD, FreeBSD und FreeNAS habe ich mich entschieden auf meinem ESXi-Server eine FreeBSD-Installation zu machen.

Leider hat das FreeBSD-System nach der Installation jede Minute einen ganzen Bildschirm an Fehlermeldungen produziert. Die Lösung ist die Umstellung der virtuellen Festplatte von SCSI auf SATA und das Entfernen des SCSI-Kontrollers.
„FreeBSD 12 auf ESX 6.5 – SCSI-Fehlermeldungen nach Installation“ weiterlesen

Schutz der Privatsphäre im Internet

Vorwort

Dieser Blog-Post ist eine Antwort auf den Vortrag mit dem Titel „Build your own NAS“ vom Chaos Communication Congress 2016. (Der Chaos Communication Congress ist ein jährlich stattfindender Kongress für IT-, Daten- und Sicherheitsforscher und Experten)

https://www.youtube.com/watch?v=yb7BgDBUbP0

In diesem Vortrag wird gezeigt, wie man aus eigentlich anonymisierten Daten mit statistischen Verfahren die „Echte“ und „Reale“ Person hinter diesen Datensätzen eruieren kann.

Es wurde anschaulich gezeigt, dass es

  1. Möglich ist in diesen eigentlich anonymen Daten Personen zu identifizieren
  2. Auf der Basis der besuchten Seiten auf Interessen, politische Agenden, gesundheitliche Probleme und verwendete Dienstleitungen (z.B Banken) zu schliessen

Kritik

Die zunehmende Überwachung im Internet ist ein Thema welches mich seit 10 Jahren beschäftigt und was mir am Ende des Vortrags gefehlt hat, sind Überlegungen, wie man sich gegen diese Überwachung schützen kann.

Natürlich ist die totale Anonymität sehr schwierig oder sogar fast unmöglich zu erreichen, aber ich bin der Meinung, dass man diesem Ziel mit wenigen Einschränkungen im Surf-Verhalten sehr viel näher kommen kann.

Knappe! Meine Rüstung!!

Vorgehen

Mit diesen Informationen im Hinterkopf möchte ich vorstellen, welche Einstellungen und Add-ons ich für den Schutz meiner Privatsphäre verwende und welchen Beitrag jedes Teil zum Schutz der Privatsphäre beiträgt.

Firefox


Zum Schutz meiner Privatsphäre verwende ich mit einigen Performance-Einbussen den Firefox-Browser von Mozilla anstelle von Google Chrome. Ich persönlich würde gern lieber Chrome verwenden, aber die sehr solide Google-Konto-Integration, Googles doch sehr freche Umstellung von Privatsphäreneinstellungen bei Updates und diverse andere Mätzchen (Siehe z. B. https://go-to-hellman.blogspot.ch/2017/01/googles-crypto-cookies-are-tracking.html) lassen mich an der Ernsthaftigkeit von Googles Datenschutzbemühungen zweifeln.

Link zu Firefox: https://www.mozilla.org/de/firefox/new/

Firefox – Einstellungen

Da Cookies eine für Trackingnetzwerk sehr einfach und bequeme Methode ist, um Benutzer zu verfolgen und die Standardeinstellungen von Firefox eher auf Bequemlichkeit als auf Datenschutz ausgelegt sind müssen hier als Erstes einige Einstellungen gemacht werden.



Dadurch sind die mit Cookies nur für eine Browsersession am Stück identifizierbar und auch nur für Webseiten, die sie auch wirklich explizit besucht haben.

Der Nachteil dieser Methode ist, dass man sich nach dem Neustart des Browsers überall neu anmelden muss. Für dieses Problem empfehle ich den Passwortmanager von Firefox, LastPass oder 1Password.

Firefox – Erweiterte Einstellungen

Geben Sie in die Adressleiste about:config ein und drücken Sie die Eingabetaste.

network.http.referer.XOriginPolicy = 1
network.http.referer.spoofSource = true
network.http.referer.trimmingPolicy = 2
network.http.sendRefererHeader = 1
Im Standard senden Firefox jedem Bild das Ihr Browser von irgendwo anzeigt was Sie sich gerade auf der aktuellen Webseite ansehen.

geo.enabled = false
geo.wifi.uri = blank
dom.battery.enabled = false
browser.pocket.enabled = false

uBlock-Origin


Da Ad-Netzwerke nicht nur den Benutzer verfolgen, sondern auch aufgrund der schlechten Qualitätsprüfung der Ad-Netzwerke trägen von Virusinfektionen sind, empfehle ich jedem einen Ad-Blocker.

Der Ad-Blocker meiner Wahl ist uBlock-Origin da dieser Ad-Blocker im Gegensatz zu Adlbock-Plus keine Plätze auf der Whitelist verkauft und mit den Easylist und Disconnect-Listen eine der grössen Abdeckung an Blocklisten bietet. Weiterhin ist die Performance von uBlock-Origin besser als bei Adblock.

Link: https://addons.mozilla.org/de/firefox/addon/ublock-origin/

uBlock-Origin Einstellungen

 

Zum optimalen Schutz empfehle ich folgende Einstellung für den uBlock-Origin-Filter:

HTTPS Everywhere

HTTPS ist der Webstandard für verschlüsselte Verbindungen zwischen ihrem Gerät und dem Server. Es sorgt dafür, dass niemand die Daten zwischen ihnen und den verschiedenen Webseiten, die Ihr Browser aufruft, mitlesen kann.

Nach meiner Meinung sollten alle Webseiten nur HTTPS verbinden anbieten. Viele bieten diese Option zwar an, stellen die Verbindung aber nicht automatisch von ungeschütztem HTTP auf sicheres HTTPS um.

HTTPS Everywhere erledigt das und stellt alle Verbindungen wenn möglich automatisch auf HTTPS um.

Link: https://addons.mozilla.org/de/firefox/addon/https-everywhere/?src=search

NoScript


Javascript ist das Getriebe für das moderne Internet. Jedes interaktive Element auf einer Webseite erhält dessen Funkton durch Javascript.

Dieses Technologie erlaubt Webseiten sich mehr wie interaktive Anwendungen auf dem lokalen PC statt Textseiten anzufühlen.

Leider wird diese Technologe heute selbst bei Webseiten die nicht darauf angewiesen sind sehr grosszügig gebraucht:

Das Problem bei solch exzessiver Verwendung von Javascript ist, dass mit Javascript jede der Seiten, die in der Liste oberhalb aufgerufen wird, viele Informationen über den Benutzer stammeln kann, dass die Webseite auf einem Mobilgerät mehr Akku verbraucht und mehr Daten über das Internet herunterladen muss.

Weiterhin ist fast jede Sicherheitlücke die in den letzten Jahren für Browser gefunden worden ist von Javascript abhängig, somit bietet das blockieren von Javascript nicht nur für den Datenschutz, sondern auch für die Sicherheit einen grossen Wert.

Der Nachteil ist, dass gewisse Funktionen auf Webseiten ohne Javascript nicht nutzbar sind und das man, wenn man diese dann Nutzen will, für jede Webseite die Scripts wieder Schritt für Schritt aktivieren muss.

Nach einigen Tagen der Nutzung hat man die notwenigen Scripts aber für die Seiten die man regelmässig nutz aktiviert und kann Sicherer und akkusparender denn je im Netz surfen.

Link: https://addons.mozilla.org/de/firefox/addon/noscript/

Hinzufügen von GRUB Eintrag für Windows 10 bei Qubes Release 3.1

Hinzufügen von GRUB Eintrag für Windows 10 bei Qubes Release 3.1

Anleitung

Schritt 1: Qubes installieren und starten

Schritt 2: Identifizieren von Windows-Partion mit /bootmgr

Schritt 3: Das Ergebnis sudo blkid /dev/sdX (X steht für die Partion) sollte wie folgt aussehen: /dev/sda1: LABEL="System Reserved" UUID="1D584C40586B2873" TYPE="ntfs" PARTUUID="adc19fb9-33"

Schritt 4: Jetzt muss in die Datei /etc/grub.d/40_custom am Ende folgender Eintrag gemacht werden wobei die UUID mit der UUID aus dem Befehl blkid ersetzt werden muss:

menuentry "Windows 10" --class windows --class os {
   insmod ntfs
   search --no-floppy --set=root --fs-uuid 1D584C40586B2873
   ntldr /bootmgr
}

Schritt 5: Jetzt kann man mit dem Befehl sudo grub2-mkconfig -o /boot/grub2/grub.cfg den Bootloader updaten und das System neustarten.

Weitere Referenzen

USRSYSACT – CUA: Rollen in verteilten Systemen

In der Tabelle USRSYSACT speichert die ZBV welche Rollen in welchem System zur Verfügung stehen.

Tabellen-Felder:

  • Mandant (Feld: MANDT)
  • Tochtersystem (Feld: SUBSYSTEM)
  • Rollenname (Feld: AGR_NAME)
  • Sammelrolle (Feld: COL_AGR)
  • Rollenbeschreibung (Feld: TEXT)

Beispielbild von Tabelle:

Arbeiten mit sensiblen Daten in der Cloud

Einleitung

Diese Anleitung beschreibt meine persönliche Erfahrung mit sensiblen Daten in der Cloud. In diesem Artikel werden dabei folgende Themen behandelt:

  • Vorteile von Cloud-Diensten
  • Probleme von Cloud-Diensten mit wertvollen Daten
  • Lösungsansatz
  • Praktischer Erfahrungsbericht

Ausgangslage und Theorie

Jede Privatperson und jede Firma hat in der zunehmend digitalisierten Wert Informationen welche Wertvoll sind. Dieser Wert kann sowohl Finanziell in der Arbeit oder dem Wissen oder sentimental in der Form von unersätzlichen Fotos und anderen Errinnerungsstücken sein. Für diese Daten müssen um diese zu Schützen folgende Dinge beachtet werden:

  • Datensicherheit (Der Schutz der Daten von Verlust und Veränderung)
  • Datenschutz (Der Schutz der Daten davor das unbefugte diese Betrachten können)

Weiterhin sollten diese Daten so gelagert werden, dass diese auch Verfügbar sind. Zwei Datenträger in den Safes zwei unterschiedlicher Banken sind war gut für die beiden Anforderungen oben, wie sollten die Daten dann aber verwendet werden. Vorteile von Cloud-Diensten Dateibasierte Cloud-Speicher-Dienste wie Dropbox, OneDrive oder Google Drive bieten viele Vorteile. Daten in der Cloud sind überall auf der Welt und auf verschiedenen Geräteklassen (Telefon, Tablet, PC) verfügbar. Daten sind nicht nur auf dem eigenen Gerät, und (bestenfalls) in einem Backup im gleichen Gebäude, sondern in verteilten, geschützen Rechenzentren viele Kilometer vom Gerät des Anwenders entfern. Von einem normalen PC gemacht Änderungen werden in sekundenbruchteilen in die Cloud übertragen und sind damit auch vor Hardwareschäden gut geschätzt. Weiterhin bieten einige Cloud-Dienstleiter die Möglichkeit vorherige Versionen der Daten wieder zurückhohlen zu können.

So sind versehendlich gelöschte Daten, fehlgeschlagene Speichervorgänge und fehler in der Bearbeitung kein Problem mehr.
All diese Vorteile sind gut für jede Form von Informationen, vorallem für wichtige und wertvolle Informationen!
Probleme von Cloud-Diensten mit wertvollen Daten

Die Verwendung von Cloud-Datendiensten ermöglicht es mit sehr geringen Aufwand und Kosten zwei der im Therorie-Teil erwähnten Probleme zu Adressieren:

  • Die Datensicherheit wird Addressiert indem die Daten an einem anderen Ort wie dem eigenen Gerät auf oft retundanter Hardware gesichert wird
  • Die Verfügbarkeit ist ein von der Natur von Cloud-Dienstern gegebener Faktor da diese (sofern Internet vorhanden ist) von überall Verfügbar sind

Die Schattenseite der Cloud-Technik ist, dass im Zusammenhang mit dem Datenschutz oft viele Kompromisse eingegangen werden:

  • Die Daten sind auch für dritte von überall Zugriffbar wenn diese an den Account kommen
  • Die Daten werden dem Cloud-Anbieter ohne Einblick in dessen Prozesse zum Aufbewahren anvertraut
  • Die Daten werden von einem Anbieter oft in einem Land mit ganz anderen Gesetzlichen bestimmungen aufbewahrt

Lösungsansatz (Aus Sicht des Autoren)

Seit der Meldung von der kompromitierung der Verschlüsselung von TrueCrypt um den 28. Mai 2013 habe ich meine Daten zu 90% aus der Cloud zurückgezogen und habe seit diesem Zeitpunkt eine vielzahl von Lösungsansätzen getestet. Der Wunsch nach der Nutzung von Cloud-Diensten hat jedoch aufgrund der vielen Kompromisse nie nachgelassen und ein vielversprechender Lösung welche ich seit einigen Monaten teste möchte ich jetzt hier vorstellen. Dieser Lösungsansatz basiert darauf, dass ich zwar meine Daten in der Cloud lagere, dass ich aber deren Name und Inhalt Verschlüssle.

Das Programm meiner Wahl ist dafür Boxcryptor in der bezahlten Unlimited Personal Variante (Kostenpunkt 36 EUR pro Jahr).
Die Grundlage für diese Entscheidung war, dass nur Boxcryptor alle der folgenden Punkte die mir wichtig waren abdecken konnte:

  • Dateien werden “einzeln” verschlüsselt
  • Dateinamen werden verschlüsselt
  • Integration in iOS und Android
  • Transparente verschlüsselung im Hintergrund

Nachtrag nach 6 Monaten der Benutzung

Ich werde die Boxcryptor in Zukunft weiterhin verwenden, werde jedoch wieder auf die kostenlose Variante gehen.

Die Funktion die Dateinamen zu verschlüsseln ist wenigen Praktisch und aus pragmatischer Sicht für den Autor nicht so wichtig wie ursprünglich gedacht.
Die Beschränkung auf die Anzahl der Geräte und die Anzahl der Cloud-Dienste ist nach einiger Benutzer kein Nachteil.

Kontext-Sensitive Berechtigungen im SAP HR

Kontext-Sensitive Berechtigungen im SAP HR mit strukturellen Berechtigungen

Einleitung

Dieser Artikel soll eine Übersicht über die struktuellen Berechtigungen im SAP HR geben.

HR-Komponenten

Das HR-System baut auf einem SAP AS ABAT auf und besteht aus folgenden Komponenten:
– Personalbeschaffung
– Personalzeitwirtschaft
– Kompetenzmanagement
– Personalcontrolling und Personalkostenplanung
– Vergütungsmanagement
– Lohn- und Gehaltsabrechnungen

Alle HR-Komponenten werden über verschiedene Ausprägungen von HR-Berechtigungobjekte P_* berechtigt. Die Basis für die Berechtigung sind

Aufbau der HR-Daten

Die Mitarbeiter werden in einer hirarchischen Struktur gepflegt in welcher die weiter unterhalb liegenden Knoten von von darüber liegenden Knoten Eigenschaften erben können.

Daten von Mitarbeitern werden in Infotypen festgehalten. Ein Infotyp ist eine Zahl von 0001 bis 9999 entspricht einer Tabelle mit darin abgelegten Informationen.

Berechtigungsvergabe im SAP-HR

Für jeden Zugriff auf HR-Daten benötigt ein Benutzer sowohl die HR-Grundberechtigungen und struktuelle Berechtigungen.

HR-Grundberechtigungen beschreiben welche Infotypen ein Benutzer mit welchen Berechtigungsleveln (Aktivitäten) bearbeiten darf. Ein Berechtigungslevel kann mit einer Aktivität aus den normalen SAP-Berechtigungen gleichgesetzt werden.

Struktuelle Berechtigungen definieren auf welche Benutzer der Organisation der Benutzer diese unter den HR-Grundberechtigungen definieren Rechte anwenden darf.

Berechtgungslevel

Berechtigungslevel für Stammdaten

  • R (“read”) für Lesezugriffe
  • M (“matchcode”) für Lesezugriffe im Rahmen von Eingabehilfen
  • W (“write”) für Schreibzugriffe
  • E (“enqueue”) für Schreibzugriffe im Rahmen des asymmetrischen Vier-Augen-Prinzips. Dabei erlaubt E das Anlegen und Ändern von gesperrten Datensätzen
  • D (“dequeue”) für Schreibzugriffe im Rahmen des asymmetrischen Vier-Augen-Prinzips. Dabei erlaubt D das Ändern des Sperrkennzeichens.
  • S (“symmetric”) für Schreibzugriffe im Rahmen des symmetrischen Vier-Augen-Prinzips

Berechtigungslevel für Cluster-Zugriff

  • R (“read”) für Lesezugriffe
  • U (“update”) für Schreibzugriffe. Dies umfasst die Berechtigungen des Berechtigungslevels S , nicht aber die des Berechtigungslevels R.
  • S (“simulation”) für das Schreiben von Daten in interne Puffer, jedoch nicht auf die Datenbank.

Wichtige HR-Berechtigungsobjekte

HR-Berechtigungsobjekte ohne Kontext

  • HR: Stammdaten P_ORGIN
    • Berechtigungslevel AUTHC
    • Infotyp INFTY
    • Personalbereich PERSA
    • Mitarbeitergruppe PERSG
    • Mitarbeiterkreis PERSK
    • Subtyp SUBTY
    • Organisationsschlüssel VDSK1
  • HR: Stammdaten – erweiterte Prüfung P_ORGXX
    • Berechtigungslevel AUTHC
    • Infotyp INFTY
    • Sachbearbeiter für Abrechnung SACHA
    • Sachbearbeiter für Personalstammdaten SACHP
    • Sachbearbeiter für Zeiterfassung SACHZ
    • Sachbearbeitergruppe SBMOD
    • Subtyp SUBTY
  • HR: Personalplanung PLOG
    • Infotyp INFOTYP
    • Planungsstatus ISTAT
    • Objekttyp OTYPE
    • Planvariante PLVAR
    • Funktionscode PPFCODE
    • Subtyp SUBTYP
  • HR: Reporting P_ABAP (Mit diesem Objekt können HR-Report ohne Berechtigungsprüfungen ausgeführt werden)
    • Vereinfachungsgrad der Berechtigun COARS
    • Abap-Reportname REPID
  • HR: Transaktionscode P_TCODE
    • Transaktionscode TCD

HR-Berechtigungsobjekte mit Kontext

  • HR: Stammdaten mit Kontext P_ORGINCON
    • Berechtigungslevel AUTHC
    • Infotyp INFTY
    • Personalbereich PERSA
    • Mitarbeitergruppe PERSG
    • Mitarbeiterkreis PERSK
    • Berechtigungsprofil PROFL
    • Subtyp SUBTY
    • Organisationsschlüssel VDSK1
  • HR: Stammdaten – erweiterte Prüfung mit Kontext P_ORGXXCON
    • Berechtigungslevel AUTHC
    • Infotyp INFTY
    • Berechtigungsprofil PROFL
    • Sachbearbeiter für Abrechnung SACHA
    • Sachbearbeiter für Personalstammdaten SACHP
    • Sachbearbeiter für Zeiterfassung SACHZ
    • Sachbearbeitergruppe SBMOD
    • Subtyp SUBTY

HR-Berechtigungsobjekte für eigene Personalnummer

  • HR: Stammdaten – Personalnummernprüfung P_PERNR

Aktivierung von Kontext-Sensitiven Prüfungen in der Tabelle T77S0.

Die HR-Berechtigungsobjekte mit Kontext sind bis auf einen Punkt identisch mit den Varianten ohne Kontext. In den Objekten mit Kontext ist noch das Feld PROFL vorhanden mit welchem definiert werden kann, auf welches struktuelle Profil diese Berechtigungen angewendet werden sollen.

Dadurch können verschiedene Berechtigungslevel für verschiedene Baum-Teile der strukturellen Profile festgelegt werden.

Objekttypen im Organisationsmanagement

  • Aufgabe
  • Eine Stelle definiert ein Set an Aufgaben welche zu dieser Stelle gehöhren
  • Eine Planstelle ist eine Soll-Funktion einer durch einen Mitarbeiter besetzten stelle. Diese Stelle kann mehr als 100% an Pensum beinhalten und eine Planstelle kann von mehreren Mitarbeitern besetzt werden um dieses Pensum zu erfüllen.
  • Arbeitsplatz
  • Kostenstelle
  • Person/MitarbeiterIn
  • Organisationseinheit

Eigenschaften von struktuellen Berechtigungen

  • Tiefe der Auswertungen nach einem spezifischen Knoden
  • Planungsstatus ist definiert in welchem Zustand sich der Knoten befindet (1=Aktiv, 2=Geplant, 5=Zurückgewiesen)
  • Die Periode definiert den Zeitraum in welchem ein Knoten, und dessen Unterknoten, aktiv sind.
  • Ausschluss Ein struktuelles Profil kann die Eigenschaft “Ausschluss” haben. Damit wird sämtliche Weiter-Vererbung der HR-Grundberechtigungen an diesem Punkt gestoppt.

Verwenden der ALV-Grid-Darstellung unter SE16

ALV-Grid-Darstellung

Die modernere ALV-Grid-Darstellung bietet im Gegensatz zu der älteren SE16-Standardliste viele Vorteile bei der Übersichtlichkeit, Filterbarkeit und bei der Selektion.

SE16-Standardliste

Leider ist die SE16-Standardliste leider immernoch die Standard-Anslicht für die SE16.

Im Folgenden ist beschreiben, wie man die Darstellung der SE16 von der SE16-Standardliste auf die ALV-Grid-Darstellung ändert:

System-Spezifische Tabellen der Zentralen Benutzerverwaltung

Folgende Tabellen speichern in der Zentralen Benutzerverwaltung (ZBV) die systemspezifischen Informationen nach der Systemübernahme:

  • USRSYSACT CUA: Rollen in verteilten Systemen
  • USRSYSACTT CUA: Rollentexte inverteilten Systemen
  • USRSYSLNG Sprachen eines Benutzers in einem System
  • USRSYSPRF CUA: Profile in verteilten Systemen
  • USRSYSPRFT CUA: Profiltexte in verteilten Systemen
  • USRSYSUPL CUA: Preislisten im SAP-System
  • USRSYSUPPL CUA: Zuordnung von Nutzertypen zu Preislisn
  • USRSYSUTPA CUA: Systemvermessung: Nutzertypen mit Attbuten
  • USRSYSUTYP CUA: Texte zu den Nutzertypen im SAP-Syste
  • USRSYSUZUS CUA: Texte zu Sonderversionen
  • USRSYSVTYP Systemvermessung: TUTYPNOW in der Systemlaschaft
  • USZBVLNDRC CUA: Systemlandschaft Empfänger
  • USZBVLNDSC CUA: Systemlandschaft – Sender
  • USZBVPROT CUA: Protokolle der Verteilung der Benutzer
  • USZBVPROTC CUA: Protokolle der Verteilung der Firmename
  • USZBVSYS CUA: Zuordnung Systeme – Benutzer
  • USZBVSYSC CUA: Zuordnung Systeme – Firmenadressen

Ablauf von Berechtigungsprüfungen im ABAP

Ablauf

Wenn im SAP eine Transaktion aufgerufen wird, dann gibt es zwei Stufen der Berechtigungsprüfung:

  1. Kernelseitige Prüfung: Die erste Berchtigungsprüfung findet Kernelseitig statt und besteht auf einer S_TCODE Prüfung und der Prüfung des in der SE93 definierten Berechtigungsobjekts. Beide Prüfungen sind kernelseitig und lassen sich normal nicht deaktivieren.
  2. Prüfungen im Code: Weitere Prüfungen können im ABAP-Code definiert werden. Ob/Wann und Wie diese Prüfungen stattfinden liegt allein beim Programmierer der diese Funktion impelmentiert hat.

Gestaltung von Prüfungen im Code

Generell sollten Berechtigungsprüfungen vom Modulverantwortlichen welcher die Entwicklung in Auftrag gegeben hat definiert werden. Wenn der Modulverantwortlichen keine Berechtigungen nennen kann, so macht es Sinn für Tabellen die verwendet werden einen Prüfung einzubauen. Es ist von SAP stark empfohlen solche Prüfungen auf der Basis von S_TABU_NAM durchzuführen. (Siehe OSS Note 1481950)

Zur Langlebigkeit und Flexibilität sollten so viele Berechtigungsprüfungen wie Sinnvoll sind im ABAP-Code verbaut werden. Es ist einfach Berechtigungsprüfungen via SU24 zu deaktivieren. Berechtigungsprüfungen Jahre nach der Entwicklung einzubauen ist hingegen oft schwierig und zeitaufwändig.

Experiment: Installation von Glassfish mit MySQL-DB auf einem Raspberry Pi 2

Vorbereitung

Die Motivation

Im Zusammenhang mit einem weiteren Projekt möchte ich gern prüfen, ob und wie gut ein Glassfish Server mit MySQL auf einem neuen Raspberry Pi 2 laufen kann. (Notiz: Gewisse Schritte bis des Raspberry selbstständig läuft sind Mac spezifisch)

Der Plan

Der Plan ist eine für Raspberry Pi angepasste Variante von Debian Wheezy zu verwenden. Bisher habe ich nur Ubuntu für meine Linux-Installationen verwendet, jedoch kommt Debian bereits mit einem installieren Java 7 von dem ich mir eine Erleichterung der Installation verspreche. 

Bei Glasfish werde ich die neueste Version des JavaEE-Web-Profiles verwendet. Das Web-Profile reicht für fast alle Anwendungsfälle und ist weniger Arbeitsspeicher intensiv. 

Die Datenhaltung soll auf einem MySQL Server Community Edition geschehen. MySQL sollte einfach per Paketmanager nachinstallierbar sein.

Das Shopping

Die Testinstallation besteht aus den unten aufgeführten Geräten (5 Volt Micro USB Netzteil nicht enthalten):

  • Raspberry Pi Typ 2 Entwicklermainboard
    Preis: 48 CHF
  • Gehäuse MC-RP002-CLR zu Raspberry Pi B+
    Preis: 13.85 CHF
  • SAMSUNG Speicherkarte micro SDHC 32GB EVO Anmerkung: Diese SD-Karte ist zu GROSS für das Gehäuse!!! Ich musste beim Gehäuse ein Teil abbrechen damit die SD-Karte platz hat.
  • Preis: 24.90 CHF
  • Logitech USB-Tastatur (Linux zertifiziert) Anmerkung: Anschaffung nachdem mein Wireless-Keyboard nicht erkannt wurde.
    Preis: 14.90 CHF

Der Anschaffungspreis beläuft sich damit auf 101.65 CHF.

Umsetzung

Passwortverwaltung

Bei der Installation werden/sollen an verschiedenen Stellen Passwörter benötigt. Insbesondere wichtig sind die Passwörter für den Linux Benutzeraccount, den MySQL-Sever und den Glasfish-Sever.

Zu Verwaltung dieser Passwörter verwende ich den Passwort-Manager 1Passwort:

Eintrag für den Raspberry Pi Server in 1Passwort

Jedes Passwort ist generiert und hat 20+ Stellen (Keine genaue Angaben aus Sicherheitsgründen :)).

Flashen der SD-Karte mit RASPBIAN

Anmerkung; Der erste Versuch dieser war RASBIAN per DD direkt auf die Flash-Karte zu bringen. Leider bricht der Startvorgang beim Laden der USB-Geräte dann ab und bleibt stehen. Das ist einbekanntes Phänomen. Aus diesem Grund habe ich die Installation via NOOBS wie folgt via NOOBS vollzogen.

Ich verweise dazu auf die (sehr gute) offizielle Anleitung auf RASPBERRY.ORG: NOOBS SETUP

Nach der Installation von NOOBS kann man die SD-Karte in Raspberry Pi einsetzten und erhält beim ersten Start die Option ein Betriebsystem seiner Wahl herunterzuladen.

Meine Wahl ist aus den oben genannten Gründen natürlich RASBIAN.

Update der Installation

Normalerweise sind die Images aus dem Internet nicht am aktuellsten, deshalb lohnt es sich nach dem ersten Start ein Update durchzuführen:

sudo apt-get update && sudo apt-get upgrade

Konfiguration der Installation

Ausführen von:

sudo raspi-config

Und setzten von folgenden Optionen:

  • Expandieren der Partition auf die maximale Grösse
  • Setzten von Sprache und Region
  • CPU-Speed auf „High“ setzten (Optional)
  • Erweiterte Optionen
    • Netzwerkname des Pi setzten
    • „Memory Split“ auf 16mb setzten (Mehr Memory für den Server, weniger für die Grafikkarte)
    • SSH aktivieren

Raspberry Pi Firmware-Update

Die Firmware des Raspberry Pi übersetzt bei der Steuerung der Hardware die Befehle des Betriebssystems im Hardware spezifische Anordnungen. Sollte ein Gerät nicht funktionieren kann das an der fehlenden Unterstützung seitens der Firmware liegen und ein Update wird nötig. Dabei ist es egal ob Raspbian, OpeneElec oder eine andere Distribution verwendet wird.

Das offizielle Repository der Raspberry Firmware auf GitHub frei verfügbar.

Mit folgendem Befehl kann auf der Hardware der aktuelle Stand der Firmware abgefragt werden:

sudo uname -a

Je nach dem wie alt die Firmware im Vergleich zum aktuellen Stand ist lohnt sich ein Firmware upgrade.

Für das Firmwareupdate gibt es von Hexxeh ein Updateskript das uns die aktuellste Firmware herunterlädt und installiert. Dazu wird Git benötigt.

Schritt 1: Installation von Git:

sudo apt-get install git

Schritt 2: Herunterladen des Scripts von dem Repository von Hexxeh:

sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

Schritt 3: Ausführen des Scripts:

sudo rpi-update

Schritt 4: Neustart des Systems:

sudo reboot

Installation von MySQL

Der nächste Schritt ist den MySQL-Server gegen aussen aufzumachen. Ich möchte aus dem privaten Netzwerk von meiner Entwicklungsinstallation direkt auf MySQL zugreifen können. 
Dazu muss als erstes die Datei my.cnf angepasst werden:

vi /etc/mysql/my.cnf

Dort muss folgende Zeile auskommentiert werden (Heiss ein # vor die Zeile). Dieser Eintrag sorgt dafür, dass nur Verbindungen vom eigenen Server angenommen werden.

bind-address = 127.0.0.1

Der nächste Schritt ist die Berechtigung des root-Benutzers für den Netzwerkzugriff (Ja, keine Best-Practice). Der erste Schritt dazu ist das Login im Server via MySQL-Client:

mysql --user=root

Dann das Berechtigen des Benutzers (Anmerkung: Den Text passwort durch das richtige Passwort ersetzten!):

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

Und einen Neustart des MySQL-Servers nach dem Ausstieg aus dem Client:

sudo /etc/init.d/mysql restart

Damit ist die Installation des MySQL-Servers abgeschlossen und es sollte der Zugriff via Client von anderes Computers möglich sein:

Zugriff auf den Server via MySQL-Workbench

Installation von Glasfish 4 Web-Profile

Download der aktuellen Version von Glasfish (Web-Profile)

wget http://dlc.sun.com.edgesuite.net/glassfish/4.1/release/glassfish-4.1-web.zip

Entpacken des herruntergeladenen Archivs

unzip glassfish-4.1*zip

Anpassen der Berechtigungen damit die Dateien des Servers ausführbar sind

chmod -R 777 glassfish4

Start des Glasfish-Servers nach dem Entpacken

glassfish4/bin/asadmin start-domain

Initialer start der Glasfish Domain

glassfish4/bin/asadmin start-domain

Initiale Passwortänderung

glassfish4/bin/asadmin change-admin-password

Aktivierung des Remote-Zugriffs auf den Administrationsport des Glasfish Servers

glassfish4/bin/asadmin enable-secure-admin

Neustart der Glasfish Domain damit die Änderung aktiv werden

glassfish4/bin/asadmin stop-domain
glassfish4/bin/asadmin start-domain

Ergebnis

Das Ergebnis dieses Experiments ist, dass es möglich ist auf einem Raspberry-Pi2 einen Glasfish 4 Server und eine MySQL Datenbank zu bereiben.

Die Performance ist bestenfalls OK und das starten und beenden des Glasfish Servers dauert sehr lange. Da es sich dabei aber um einen 50 CHF Computer handelt der auf einem 5V Netzteil läuft halte ich dies für einen Erfolg.

Bei Gelegenheit gibt es noch einene Follow-Up-Post mit detailierten Performancemessungen.

 

 

 

Sammeln und Speichern von Artikeln mit IFTTT

Einleitung

Ich bin aus beruflichen Gründen jeden Tag ca. 2 Stunden mit dem Zug unterwegs.

Der grösste Teil dieser Zeit  verbringe ich bei der Arbeit, jedoch  an Tagen an denen ich länger im Büro bin gönne ich mir etwas entspannung indem ich auf diversen Webseiten Neuigkeiten oder Artikel lese. 

Dabei kommt es vor, dass ich mir Artikel zur Referenz oder zur Errinnerung merken und ablegen möchte.

Das Problem dabei ist, dass ich gern die Artikel der verschiedenen Seiten zur einfacheren Suche zentralisiert ablegen und speichern möchte.

Ausgangslage

Ich beziehe Neuigikeiten und Artikel aus einer vielzahl von Kanälen:

  • Fever (Privater RSS Server | Klassische News)
    • 9to5Mac
    • 20Min
    • Basler Zeitung Front
    • CCC Event Weblog
    • Gamasutra News
    • GameSkinny RSS Feed
    • Golem.de
    • heise online News
    • Kotaku
    • Humble Mumble
    • iPhoneblog.de
    • Macwelt News
    • netzpolitik.org
    • The Verge – All Posts
    • Touch Arcade
  • Tumblr (Hauptkanal für Katzenbilder)
  • Reddit (Buzz der aktuell das Netz beschäftigt)
  • Facebook (Buzz aus dem Freundeskreis)
  • Twitter (Buzz aus Personen von denen ich gern höhre)

Das Ziel ist das Sammeln von allen Informationen in Evernote.

Vorarbeit

Ich habe bereits vor einigen Jahren mit dem Dienst IFTTT (IF This Than That) experimentiert. In diesem Dienst kann man diverse Konten (Evernote, Facebook und c.a 300 weitere) vebinden und dann auf der Basis von Auslösern in dem einen Dienst in einem anderen Dienst etwas auslösen.

Das Problem dabei ist, dass IFTTT kein Geld kostet und ich somit nicht weiss, was eigendlich Ihr Geschäftsmodell ist.

Aus diesem Grund habe ich mich im Vorfeld bereits bei diversen alternativen (Zapier, Pipes etc.) ein Konto erstellt und mir die notwendigen Dienste und Auslöser angesehen. Ich habe für mich folgende Auslöser(Input) und Aktionen(Output) identifiziert:

Auslöser:

  • Fever: Neues Saved Item (Via RSS Feed)
  • Tumbler: Neues „Merken“ eines Posts
  • Reddit: Neuer „Save“ eines Posts
  • Facebook: Neues „Like“
  • Twitter: Neues „Speichern“ eines Tweets
  • Instapaper: Neuer Artikel

Aktion:

  • Instapaper: Neuer Artikel erstellen
  • Evernote: Neue Notiz erstellen

Zu meiner Enttäuschung ist der grösste gemeinsame Nenner aller Funktionen bei IFTTT, die einzige fehlende Funktion ist der „Like“ Auslöser bei Facebook.

Weitere Recherchen über IFTTT lassen mich keine weiteren Anzeichen finden das IFTTT die Benutzerdaten und Verbindungen für schändliche Zwecke missbraucht, deshalb bin ich troz meines Ungehagens bereits IFTTT eine Chance zu geben.

Umsetzung  

Visuelle Darstellung des Datenflusses (Jede Verbindung ist eine IFTTT-Regel)

Die Umsetzung selbst gestaltet sich relativ einfach. Accounts mit IFTTT verbinden und Regeln erstellen. 

Am Ende habe ich folgende 5 IFTTT-Regeln für mich erstellt:

Ergebnis (Vorläufig)

Das Ergebnis ist im bei dem oben erwähnten Aufbau nur bedingt befriedigend. Die IFTTT-Regeln von den diversen Dienster zu Instapaper arbeiten erwartungsgemäss. Artikel werden automatisch von Instapaper erfasst und  in einer angenehm lesbaren Form aufbereitet. Die Verbindung von Instapaper zu Evernote ist nicht wie erhofft. Es wird nur der Link zum Artikel übertrangen was für die Langzeitarchivierung nicht geeignet ist.

Ein Update zu diesem Artikel folgt in der Zukunft.

Windows 10

Einleitung

Der Anlass für diesen Artikel ist eine Kette von Ereignissen, welche sich in kurzen Worte so abgespielt hat:

Ich habe mir die Microsoft Präsentation zu Windows 10 angesehen, was mich dazu motiviert hat die Technical Preview von Windows 10 herunterzuladen und mich dann mit erstaunen feststellen lassen hat, dass Windows 10 gar nicht so übel ist.

Hintergrund

Um der Aussage oberhalt Kontext zu geben möchte ich kurz über meine Geschichte mit Windows sprechen.

Ich hatte auf meinem ersten PC Windows 98, später Windows 98 SE, Windows Millenium und dann für viele Jahre Windows XP.
Im 2008 hat mich die Verzweiflung über Windows Vista dazu bewegt Mac OS inform eines MacBook Air 2008 Revision B zu testen.
Seither setzte ich privat mit der Ausnahme eines Spiele-PCs ausschliesslich Macs ein.

Ich habe mich Mitte 2013 mit dem neuen Metro Design von Windows 8 beschäftigt und in einem anderen Artikel das IDE und die Performance des UIs gelobt. Mein Hauptmängel an Windows 8 war jedoch, dass es keine gute Benutzerführung für Desktop-PCs hat und es gibt nicht mal alle Microsoft Produkte für die Touch-Oberfläche.

Eindrücke zu Windows 10

Desktop

screenshot2015-02-0116

Der Desktop macht einen guten Eindruck und hat bedankenswerterweise das grelle, bunte Design von Windows Vista ganz hinter sich gelassen.

Startleiste

screenshot2015-02-0116_003

Die Startleiste ist vorallem auf Desktop-PCs sehr willkommen und macht optisch einen guten Eindruck. Es hilft bei der Arbeit auf dem Desktop ungemein nicht jedes mal in eine andere Oberfläche geworfen zu werden.

Etwas was mir nicht gefällt an der neuen Startleiste ist, dass diese sehr verschwenderisch mit Platz umgeht. Ich würde mir die Option wünschen links den Abstand zwischen den Einträgen und rechts die grösse der Kacheln einstellen zu können.

Suche

screenshot2015-02-0116_004

Die Suche funktioniert gut, geht aber wie das Startmenu sehr verschwenderisch mit Platz um. Interessant ist noch das in der Suche angegeben wird, ob es sich um eine Windows oder eine Metro-Anwendung handelt.

Mitteilungen

a

Eine neue Funktion von Windows 10 ist eine Mitteilungsleiste am rechten Rand welche alle Mitteilungspopups die von Anwendungen gesendet werden aufzeichnet und darstellt. Mac OS hat verfügt seit einigen Generationen ebenfalls über einen solche Leiste, ich kann jedoch aus Erfahrung sagen, dass ich unter Mac OS nie Verwendung dafür hatte und aus diesem Grund nur moderat Begeistert bin.

Anwendungen

screenshot2015-02-0116_007

screenshot2015-02-0116_005

screenshot2015-02-0116_002

Metro Anwendungen können jetzt neu auch im Fenster ausgeführt werden. Dirch diese klein klingen Anpassunge fühlt sich vorallem das Arbeiten an einer klassischen Desktopumgebung viel flüssiger an. Die Metro-Anwendungen lassen sich dabei einfach wie Fensteranwendungen handhaben.

Fazit

Anmekung: Ich hatte drei Tage Bedenkzeit nachdem ich die Zeilen oberhalb verfasst habe bis ich erkannt habe, was der durchaus positive Eindruck ausmacht den Windows 10 hinterlassen hat.

Windows 10 macht, im Gegensatz zu gewissen Vorgängern nichts falsch. Es wird keine neue, halb durchdachte Technologie eingeführt welche das Arbeiten in einer normalen Desktopumgebung stört, die Performance frisst, ganz neue Arbeitsabläufe erfordert oder 3/4 der alten Geräte unbrauchbar macht.

Es ist eine Verbesserung aller in Windows 8 eingeführten Funktionen, bietet den gleichen Komfor wie die bisherigen Betriebsysteme im Desktopbetrieb und macht optisch einen modernen Eindruck (Ob man das mag darf jeder selbst für sich entscheiden)

Ich denke nicht, dass ich für Windows 10 auf einen PC umsteige. Ich bin aber im Hinblick auf meinen Windows PC auf der Arbeit froh um Windows 10.3

E-Post Office

Einleitung

Die Schweizer Post macht Webung:

a_003
Ausschnitt aus der Werbemail der Post

Die Post möchte von einem Lieferanten von Briefen und Paketen zu einem Post-Provider werden. Ein sicherer und verlässicher Knoten für digitale und physische Kommunikation.

Erreichen möchte Sie dies mit 2-Diensten:

  • Das E-Post Office ist ein digitaler Briefkasten inden alle Unternehmen, welche mit der Post kooperieren, die Briefe an Ihre Kunden versenden können. Die Briefe kommen dann digital bei der Post an und werden je nach Einstellung des Kunden digital oder physich zugestellt. Diese Dienstleistung ist kostenlos.
  • Die Swiss Post Box ist ein physiches Postfach bei der Post. Alle Briefe die dort eintreffen tauchen im eigenen online Account bei der Post auf. Briefe die dort eintreffen kann der Kunde einscannen lassen oder sich ungeöffnet weitersenden lassen. Die Preise für die Swiss Post Box sind (per 20.01.2015) im Bild unterhalb abgebildet.

a
Preistabelle der Post aus dem offiziellen Fact-Sheet (Stand: 20. Januar 2015)

Selbstversuch

Anmeldung

In einem ersten Schritt habe ich mich auf der Webseite der Post für das kostenlose Grundpaket der Swiss Post Box angemeldet. Für das E-Post Office konnte ich den gleichen Account wie für die Web-Stamps verweden.

Die Anmeldung am E-Post Office erfordert keine weiteren Schritte über die Anmeldung hinnaus (Wenn man bis jetzt noch nie ein Post-Konto hat kann es sein, dass man hier noch einen Brief zur Verifikation abwarten muss).

Für die Swiss Post Box muss man einen Brief mit einer „Gelben Identifikation“  (Kostenpunkt 25.- bei der Post) und eine unterschriebene Vollmacht an die Post senden.

Ich habe besagten Brief am Abend des 19. Januars 2015 bei der Hauptpost Basel aufgegeben und am Morgen des 20. Januars 2015 meine Freischaltung per Mail bestätigt erhalten.

Testszenario

Zum Testen der Qualität des Scans und der Verarbeitsungsgeschwindigkeit habe ich einen Brief mit einem Farbspektrum-Testbild an meine eigene Postbox gesendet:

testbriefpostbox
Originalbrief

Der Versand erfolgte am 20. Januar 2015 um 18:41 Uhr am Hauptbahnhof Bern. Abhohlungszeitpunkt für den Hauptbahnhof Bern ist 20:00 Uhr.

Ergebnis

Am 22. Januar 2015 7:10 (35 Stunden und 10 Minuten nach der planmässigen Abhohlung in Bern) habe ich von der Post eine Mail-Bestätigung über den Erhalt meiner Post erhalten:

image
Ausschnitt aus der Benachtichtigungsmail der Post

image_002
Der Testbrief im Portal der Swiss Post Box

Nach dem Einloggen im Portal der Swiss Post Box konnte ich meinen Brief auch unter meinen eingegangenen Nachrichten sehen und konne u.a den Scan meines Briefs in Auftrag geben.

Unterhalb ist die Briefansicht mit allen Optionen:

image_003
Dialog zur Brief-Verarbeitung im Portal der Swiss Post Box

Am gleichen Tag habe ich dann um 11:40 den Scan meines Briefs in Auftrag gegeben.

Die Benachrichtigung für den erfolgreichen Scan habe ich am 13:08 (1 Stunde 28 Minuten nach dem Scan-Auftrag) erhalten.

Auf der Internet-Seite konnte ich dann den gescannten Brief online betrachten und als PDF herunterladen:

a_002
Brief wie er über den Swiss Post Box Service zurückgekommen ist (300dpi PNG export)

Fazit

Ich bin der Meinung, dass die Post von Aufbau und Qualität mit dem E-Post Office und der Swiss Post Box zwei interessante Lösungen für den Briefempfang geschaffen hat.

ABER ich sehe zwei grosse Probleme welche mich von der Nutzung dieser (technisch sehr guten Dienste) abhalten werden:

  1. Das E-Post Office bringt mir nichts wenn dieser Dienst von keiner Firma genutz wird bei der ich Kunde bin. Ich sehe durchaus den Vorteil das ich digitale Dokumente zentral erhalte ohne mich im Portal jeder Firma einzuloggen (Swisscard, Cablecom, Orange, etc.).
  1. Die Swiss Post Box ist bequem und bietet eine Scan-Qualität die mit meinem Fujitsu SnapScan iX500 (Kostenpunkt 600 CHF) mithalten kann. Mein Problem ist, dass der Dienst mehr kostet als er mir wert ist. Ich erhalte etwa 10 Briefe pro Monat. Ohne Abo wären das ca. 24 CHF pro Monat oder 288 pro Jahr. Es kommt mich also bereits nach 2 Jahren günstiger einen hochwertigen Einzugsscanner zu kaufen. (Ausserdem kann ich mit einem eigenen Scanner auch Bücher, Geschäftsdokumente, Quittungen etc. digitalisieren)

Verbesserungsvorschlag

  1. Ich denke die Post sollte darüber nachdenken, wie Sie mehr VIEL mehr Firmen (Vorallem KMUs) dazu bewegen kann Ihr E-Post Office zu verwenden. (Vielleicht lohnt sich langfristig auch ein Angebot zu fahren das kurzfristig ein Verlustgeschäft ist)
    Ich sehe viel Potential in dieser Technik, aber bis auf wenige technikaffine Personen werden sich die wenigsten ein Konto bei der Post erstellen wenn nicht eine Mehrheit der Post über das E-Post Office kommen kann. Für viele Personen in meinem privaten Umfeld ist bereits das Erstellen eines weiteren Logins eine sehr grosse Hürde wenn Sie nicht einen sofortigen Nutzen für sich sehen.
  2. Ich hätte gern eine Swiss Post Box, wirklich! Ich würde gern meine Post direkt auf mein Handy bekommen. Ich könne damit die Post gleich unterwegs ansehen und könne mir meine wöchendlichen Scan-Sessions sparen.
    Meine persönliche Schmerzgrenze für diese Dienstleistung wäre allerdings 10 CHF im Monat bzw. 120 CHF im Jahr.

Anwendungsmöglichkeiten für einen Synology NAS

Einleitung

Ich besitzte seit ca. 6 Monaten einen Synology NAS vom Typ DS214. Der DS214 ist ein NAS mit 2 Festplatten der von Synology als NAS für die Privatnutzung oder für kleine KMU eingestuft wird.

Ich habe meinen NAS bis vor einigen Wochen nur für die Speicherung von Daten verwendet und bin aktuell daran mich mit den erweiterten Möglichkeiten des Synology NAS zu beschäftigen.

Ziele

Ich möchte kurz- oder langfristig folgende Funktionen meines Synology NAS austesten.

  • VPN
  • E-Mail-Server
  • Backup via Amazon Glacier
  • Privater Video-Server
  • Photo Server mit Konten für Verwandte

Ausgangslage

Vorbereitungen

Ich spiele bereits seit längerer Zeit mit dem Gedanken die obene genannten Dinge zu testen, habe aus Umsetzen aus Zeitgründen immer in die Zukunft verschoben, ich habe jedoch über die Monate bereite diverse Vorbereitungen getroffen:

  • Custom-Domain Ich habe mir bei einer Weihnachtsaktion die Domain eberli.me bei Hover.com gekauft. Der Gründ dafür ist, dass ich komplette Kontrolle über den DNS-Record will wenn ich mit MX-Records oder Subdomains experimentieren will. 
  • Mailbox für Custom-Domain Weiterhin verkauft Hover für relativ wenig Geld Mailboxen (20$/Jahr). Der Grund für diese Mailbox ist, dass Personen die mit eine Mail schreiben einen NDR (Non-Delivery-Reply) erhalten wenn mein NAS nicht erreichbar ist. Stattdessen soll es einen Fail-Over zur Mailbox von Hover geben.
  • Hardware Ich habe mir damit diese Versuche stattfinden kann einen Synology DS214 gekauft. Ich hatte früher eine Synology DS407 aus dem Jahr 2007, diese ist jedoch nicht mehr im Update-Zyklus. In der DS214 sind zwei Western Digital WD30EURS Festplatten mit 3 TB pro Einheit.

Zugriffskonzept

Weiterhin möchte ich über meine Überlegungen zur Sicherheit sprechen. Ich möchte nicht, dass mit Ausnahme der Bilder die ich mit meinen Verwandten teilen möchte irgendwelche Informationen ungeschützt über das Internet fliegen. Aus diesem Grund unterteile ich den Zugriff auf meinen NAS in drei geographische Zonen:

Zugriff von Überall

  • SMTP (Port 25): Damit SMPT-Server mir Mail zustellen können und ich praktisch aus jedem Land Mails erhalten kann sind diese Port offen
  • SMTP SSL (Port 465): Gleiches gilt für SMTP mit SSL-Verschlüsselung 
  • SMTP TSL (Port 587): Und für SMTP mit TSL-Verschlüsselung 

Zugriff auf der Schweiz (Via GEO-IP)

  • VPN: VPN erfolgt über L2TP/IPSec und wird nur von mir selbst genutzt (Und ich bin 99% meiner Zeit innerhalb der Schweiz)
  • Photo Station: Die Verwandtschaft mit der ich Bilder teilen möchte kommt ebenfalls aus der Schweiz

Zugriff aus dem lokalen Netzwerk (Ink. wenn im VPN eingeloggt)

Alle weitern Dienste werden nur von mir selbst genutzt und brauchen nur durch VPN oder aus meiner eigenen Wohnung herraus erreichbar zu sein. Dazu gehören:

  • Datenzugriff: Datenzugriff via CIFS oder WebDAV
  • Video Station: Eigentlich nicht zwingend Schützenswert, aber ich sehe keinen Grund warum ich nicht einfach VPN aufmachen kann
  • Mail-Zugriff: Zugriff auf die Mails via IMAP
  • Konfiguration: Zugriff auf das Konfigurations-WebGUI des Synology NAS

Weitere Sicherheitsüberlegungen

  • Automatische Blockierung: Der Synology NAS bietet eine Funktion zur automatischen, temporären Sperrung von IP-Addresse von denen innerhalb kurzer Zeit viele falsche Passwortanfragen kommen. Diese Funktion wirft hemmt die Brauchbarkeit von Brute-Force-Angriffen stark.
  • HTTPS: Ich hätte gern ein SSL-Zertifikat für eberli.me damit auch die Verbindungen auf die Fotos alle in HTTPS (Also Verschlüsselt) stattfinden.

Erfahrungsbericht: Zimbra Collaboration Suite auf einer Amazon EC2 Micro Instance

Ausgangslage

Installation von Zimbra Collaboration Server Open Source Edition 8.0.5 GA auf einer Amazon EC2 Micro Instance mit Ubuntu x64

613 MiB Arbeitsspeicher

Bis zu EC2 Recheneinheiten (für kurze periodische Bursts)

Nur EBS-Speicherung

64-Bit-Plattform

API-Name: t1.micro

Disk: 8GB Elastic Storage Volume

Vorgehen

Update von Ubuntu

sudo apt-get update sudo apt-get upgrade

Installation der Pre-Requisites

sudo apt-get install libgmp3c2 libperl5.14 pax sysstat sqlite3

Anpassen des Hostnamen und der Hosts-Datei

sudo vi /etc/hostname sudo vi /etc/hosts 127.0.0.1 localhost.localdomain localhost 172.31.14.114 #DNS-Name# #Hostname# sudo init 6

Installation der Software

wget http://files2.zimbra.com/downloads/8.0.5_GA/zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038.tgz tar xvfz zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038.tgz cd zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038 sudo ./install.sh

Ergebnis

100% CPU-Auslastung über einen Zeitraum von 24 Stunden: top top – 11:24:20 up 20:28, 1 user, load average: 16.19, 17.26, 17.19 Tasks: 115 total, 3 running, 112 sleeping, 0 stopped, 0 zombie Cpu(s): 12.6%us, 1.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 86.0%st Mem: 604352k total, 551120k used, 53232k free, 4200k buffers Swap: 0k total, 0k used, 0k free, 65848k cached

PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND

24816zimbra200460487168876R39.81.2131:42.07zmlogger

27861zimbra200964m43m13mS39.27.40:12.56java

25635zimbra200964m71m5212S15.912.10:57.77java

26731zimbra200988m38m5440S15.96.50:23.93java

28039root200173401276944R7.30.20:00.35top

27180zimbra200956m22m10mS4.03.80:02.40java

26111zimbra200988m55m4524S3.79.40:33.51java

22135zimbra2004992814m336S0.32.48:48.09/opt/zimbra/lib

1root200242729160S0.00.20:01.46init

2root200000S0.00.00:00.00kthreadd

3root200000S0.00.00:06.56ksoftirqd/0

4root200000S0.00.00:00.00kworker/0:0

5root200000S0.00.00:00.02kworker/u:0

6rootRT0000S0.00.00:00.00migration/0

7rootRT0000S0.00.00:02.58watchdog/0

8root0-20000S0.00.00:00.00cpuset

9root0-20000S0.00.00:00.00khelper

10root200000S0.00.00:00.00kdevtmpfs

11root0-20000S0.00.00:00.00netns

12root200000S0.00.00:00.09xenwatch

13root200000S0.00.00:00.04xenbus

14root200000S0.00.00:00.09sync_supers

15root200000S0.00.00:00.00bdi-default

16root0-20000S0.00.00:00.00kintegrityd

17root0-20000S0.00.00:00.00kblockd

18root0-20000S0.00.00:00.00ata_sff

19root200000S0.00.00:00.00khubd

20root0-20000S0.00.00:00.00md

21root200000S0.00.00:01.33kworker/0:1

23root200000S0.00.00:00.00kworker/u:1

24root200000S0.00.00:00.02khungtaskd

25root200000S0.00.011:08.36kswapd0

26root255000S0.00.00:00.00ksmd

27root200000S0.00.00:00.00fsnotify_mark

28root200000S0.00.00:00.00ecryptfs-kthrea

29root0-20000S0.00.00:00.00crypto

37root0-20000S0.00.00:00.00kthrotld

38root200000S0.00.00:00.00khvcd

57root0-20000S0.00.00:00.00devfreq_wq

157root200000S0.00.00:14.12jbd2/xvda1-8

158root0-20000S0.00.00:00.00ext4-dio-unwrit

Nicht alle Dienste des Zimbra-Serveres können starten.

Auf der Basis der Dokumentation ist anzunehmen, dass 613MB Arbeitsspeicher nicht für den Betreib von Zimbra 8 ausreicht.

Abbrucht des Versuchs. Löschen der EC2-Instanz.