Kategorien
SAP

SAP BAS: Adressabgleich

In unserem Projekt „Business Address Service“ im SAP System bauen wir derzeit eine Adressprüfung gegen das öffentliche Firmenregister ein.

Unglaublich guter Service, den die GfUD nutzt: Plausibilitätsprüfung und Ergänzung zu ihrem Kundenverzeichnis.

Plausibilitätsprüfungen und wertvolle Ergänzungen für ihr CRM und SD. Ein Vorteil für ihre Risikoabschätzung und Herstellung der Transparenz von gemeinsamen Geschäften.

Das Projekt (2019) wird nicht veröffentlicht – wer noch teilnehmen, oder den Dienst ausserhalb von SAP System nutzen möchte, mag mich kontaktieren:

Telefon 02202 989 12 17

Kategorien
Allgemein

Projekt: Bundesdruckerei

In der Zeit von August bis Dezember 2018 war ich in mehr als 60 Ausländerbehörden in 4 verschiedenen Bundesländern eingeladen. Hard- und Software für die Identitätsfeststellung im Asylleistungsgesetz war meine Aufgabe. Laut Polizeilicher Kriminalstatistik gab es 2016 fast 490.000 registrierte Straftaten gegen das Aufenthalts-, das Asylverfahrens- und das EU-Freizügigkeitsgesetz – ein Anstieg um 21 Prozent gegenüber dem Vorjahr. Mein bescheidener Beitrag zur Bekämpfung der Straftaten.

War eine lehrreiche und schöne Aufgabe die ich mit Freude erfüllt habe.

Kategorien
Randnotiz Schulung

Debian: Offline Update

Das System auf dem neusten Stand zu halten, ist kein Hexenwerk. Das apt Werkzeug macht es uns einfach. Aber was, wenn zum Beispiel aus Gründen der Sicherheit, kein Zugriff auf das Internet möglich ist?

Mehr oder weniger aktuelle Updates lassen sich auch als DVD ISO Image auf einem anderen Computer mit WAN Zugang herunter laden (Link).

Das Image dann als CDROM einbinden – ich mache das über die fstab – und dann mit apt-cdrom als Repository dem System bekannt machen.

Hier kann sich das System unterschiedlich verhalten. Entscheident ist, dass das Image als /media/cdrom – so, wie es in der /etc/apt/sources.list eingetragen wurde – mounted, also verfügbar ist.

Das anschließende apt-upgrade installiert nun die Updates auf der DVD – apt autoremove anschließend nicht vergessen. Wird ein fehlender oder unbekannter Key moniert, die Zeile „deb cdrom:…..“ in der /etc/apt/sources.list auf „deb [ trusted=yes ] cdrom:…..“ ändern. Damit wird auch dem unbekannten Key vertraut und installiert die Quelle anstandslos.

Kategorien
Randnotiz Schulung

Windows: Active Directory Export in LDAP

Ein Export von Daten aus dem Microsoft Active Directory im ldif Format ist in der realen Welt eigentlich unbrauchbar. Die Bezeichnung vieler Organizational Units (OU) sind nicht Standardkonform. Für den Import der Daten in ein LDAP Verzeichnis fehlen auch Angaben.

Für die Textmanipulation eignet sich ein Bash Script hervorragend. Was aber, wenn man dem User keinen Einblick gewähren möchte und die zu importierende Datei mehrere zehntausend Datensätze enthält?

Das Standard C – ANSI C – bietet eine Fülle an Werkzeugen zur Text- und Dateimanipulation. In dem Listing (Link) sind mehrere verschiedene Möglichkeiten verwendet.

Aufgabe war, eine Datei aus dem AD im ldif Format einzulesen, das Schema zu verändern und die OU sAMAAccountName, organizaltionalPerson und weitere zu ersetzen, eine gidnumber, member sowie ein userpassword einzusetzen. Das Passwort muss LDAP konform als salted SHA, mehr oder weniger, zufällig generiert werden.

Spielen wir in den nächsten Clubtreffen ein bisschen an den Befehlen die Zeichenweise (fgetc) oder Wortweise (fgets) Strings verarbeiten. Auch habe ich verschiedene Varianten des Filehandlings programmiert.

Kategorien
Randnotiz

MS SQL: für Linux

Meine erste Installation, bei der das Download länger dauerte als denn das Installieren. „Eben mal“ einen Docker Container von Microsoft herunter geladen und dieser läuft tatsächlich SOFORT. (Link). Alles in weniger als 5 Minuten!

Microsoft Server
Microsoft Server CLI Abfrage

Für Entwicklung ganz OK – wie performant der Server im Docker Container, in einer virtuellen LINUX Instanz läuft, bleibt abzuwarten.

Microsoft Server
Microsoft Server ps Abfrage

Ich bin auf Eure Erfahrungen gespannt. Lassen wir uns den Port 1433 mal mit ein paar Massendaten stressen.

Kategorien
Randnotiz

COBOL: Shared Library

Nach dem Download der Source von OpenCobol und dem Nachladen notwendiger Development Librarys, funktioniert die mitgelieferte MAKE Konfiguration ganz passabel.

./configure, make, make check, make test und make install laufen meisst fehlerfrei durch. Trotzdem erhält man nach dem ersten kompilieren und dem Start seiner Anwendung den Fehler „error while loading shared libraries: libcob.so.4“ o.ä.

Das liegt an fehlender Path Bekanntgabe. Im Verzeichnis /etc/ld.so.conf.d werden die Pfade zu diversen Libraries bekannt gegeben. In der MAKE Konfiguration ist vorgesehen, die Programm Bibliotheken im Verzeichniss /usr/local/lib abzulegen. Damit sie auch gefunden werden, ist also eine .conf anzulegen mit dem Pfad als Inhalt. Nach einem ldconfig ist der Pfad bekannt und cobc sowie das kompilierte Programm funktionieren einwandfrei.

Das Verhalten unterscheidet sich unter den Distributionen (Debian, RedHat, SuSe) und sogar von Release zu Release.

Kategorien
Randnotiz Schulung

C: SSHA1 Code mit RND SALT

Generierung von Passwörtern z.B.

SALT="$(openssl rand 3)"
SHA1="$(printf "%s%s" "$PASSWORD" "$SALT" | openssl dgst -binary -sha1)"
printf "{SSHA}%s\n" "$(printf "%s%s" "$SHA1" "$SALT" | base64)"

Mit den 3 Zufallszahlen habe ich mir keinen Gefallen getan. Mit dem zusammensetzen des Strings mit printf bewegen wir uns um lesbaren Bereich des ASCII Code!

Mit der Zeile 2 erhalten wir einen 20 Byte SHA1 Code. Wenn wir jetzt in Zeile 3 das SALT anfügen und vorher die Zufallszahlen 0 8 erzeugt wurden, bedeutet das „Backspace“ womit der SHA1 Code zerstört ist.

Es ist darauf zu achen, das wir im lesbaren Bereich bleiben oder Ziffern verwenden. Hiermit funktioniert eine Massengenerierung von LDAP SSHA1 Passwörtern

#!/usr/bin/perl
#
use Digest::SHA1;
use MIME::Base64;
my @chars = ("A".."Z", "a".."z");
my $salt;
$salt .= $chars[rand @chars] for 1..3;
$ctx = Digest::SHA1->new;
$ctx->add(@ARGV);
$ctx->add($salt);
$hashedPasswd = '{SSHA}' . encode_base64($ctx->digest . $salt);
print $hashedPasswd;
Kategorien
Allgemein Schulung

Twenex DEC System

DEC DECSystem 20

Seit simh (Link) ist es problemlos, konvertierte Reel-Tapes, Lochkarten, Paper-Tapes und Wechselplatten auf unixoiden Systemen zu simulieren.

Umfangreiche Manuals und Sammlungen an Betriebssystemen, Programmiersprachen und Programmen finden sich hier (Link)

Auch ohne eigene Server, sind die Ressourcen öffentlich nutzbar. Ich habe jeweils einen Account hier (Link) und hier (Link).

Wir werden uns intensiv mit den damals üblichen File basierten Datenbanken kümmern. Programm und Datenmigration und / oder Herstellung von Schnittstellen sind heute immernoch große Themen.

Aktuell, August 2020, beschäftige ich mich mit IBM AS/400 (i Series) und der Programmierung in RGP, PL/1 und COBOL. Da vieles von dem heute nicht mehr gelehrt wird, sind IT-Warhorses gefragt wie nie.

Kategorien
Randnotiz Schulung

Windows: Favoritenspeicher RDP Client

Nicht immer von Vorteil, wenn die letzten erfolgreichen Verbindungen des RDP Clients dauerhaft gespeichert werden.

Die Verbindungen und der angemeldete Nutzer lassen sich in der regedit löschen. Einfach aber mit einem kleinen Batchfile:

@echo off
reg delete „HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default“ /va /f
reg delete „HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers“ /f
reg add „HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers“

Kategorien
Allgemein Schulung

Excel: OLC in der Logistik

Im Vergleich zur Adresse und der Standortangabe durch Grad,Minuten und Sekunden, bezeichnet der OLC einen relativ genauen Punkt auf der Erde. Dazu werden eindeutig lesbare, einfache Kombinationen von Zahlen und Buchstaben verwendet. Eindeutig lesbar bedeutet, dass keine Zeichen verwendet werden welche verwechselt werden können. Z.B. 1 und I oder 5 und S.

Das System – erklärt in dem Link – teilt Breiten- und Längengrad in 20tel Teile. Die Wertpaare können so einfach bis zur gewünschten Genauigkeit addiert werden – bis zur theoretischen 3 x 3 Meter Auflösung.

Der Vorteil liegt ganz klar darin, das benachbarte Zellen schneller lokalisiert werden können, als wären sie im Grad, Minuten, Sekunden System oder gar als Postadresse angegeben. In der Planung von Fahrplänen, Relationen in der Logistik ergeben sich erhebliche Vereinfachung durch das logische Raster.