21.11.2014

Quick-Tipp: E-Mails mit POP3 abholen - E-Mail-Server mag nur TLS

Category: Quick-Tipp, Administration, IBM Notes

Quick-TippIBM Notes
Seit früher in diesem Jahr erlauben viele E-Mail-Provider nur noch das verschlüsselte Abholen und Senden von E-Mails über POP3, IMAP und SMTP.

Wegen eines Sicherheitsproblems mit SSL v3 (POODLE) schalten einige Server-Betreiber dieses Protokoll jetzt ab und erlauben nur noch TLS. Dazu gehören auch die E-Mail-Provider GMX und web.de.


Wenn man mit dem Notes-Client E-Mails per POP3 von E-Mail-Servern abholen will, die nur TLS erlauben, muss man den Notes-Client aktualisieren - und zwar (mindestens) auf die Version 9.0.1 Fix Pack 2 Interims Fix 2, den es im Moment nur relativ versteckt und nur für Windows gibt. Danke, Daniel, für den Tipp: Some Additonal TLS 1.0 Information.

Danach funktionierte es bei mir leider immer noch nicht, aber das lag einfach an einer falschen Einstellung: Im Benutzerkonto (Account)-Dokument gibt es unter Erweitert die Einstellung "SSL-Sitezertifikate annehmen", die bei mir auf "Nein" stand - auf "Ja" korrigiert, läuft die E-Mail-Abfrage sofort. Danke an Wollgraeser für den Tipp in die richtige Richtung: Re: Domino Client mit GMX Mail und SSL - TLS

21.11.2014

Windows Remote-Desktop-Service über SSH aktivieren

Category: Administration, Windows

Wenn man einen SSH-Dienst auf einem Windows-Server installiert hat und sich mit diesem verbindet, kann man einen Tunnel für beliebige TCP-Ports aufmachen und so z. B. VNC oder Remote-Desktop-Verbindung nutzen. Gerade die Kombination aus SSH-Dienst und Remote-Desktop-Verbindung (mstsc) nutze ich gerne für Fernwartungszwecke.

Aus Sicherheitsgründen wird der Remote-Desktop-Dienst (TermService) inzwischen deaktiviert ausgeliefert. Was also tun, wenn man ihn nur mittels der SSH-Konsole aktivieren möchte?

Erster Versuch: Dienst starten:

$ net start TermService
Remotedesktopdienste wird gestartet.
Remotedesktopdienste wurde erfolgreich gestartet.

Das müsste ja eigentlich reichen, aber tut es leider doch nicht. Mit netstat kann man leicht nachprüfen, dass kein Prozess am TCP-Port 3389 horcht:

$ netstat -an -p tcp

Aktive Verbindungen

  Proto  Lokale Adresse         Remoteadresse          Status
{...}
  TCP    0.0.0.0:1352           0.0.0.0:0              ABHÖREN
  TCP    0.0.0.0:5001           0.0.0.0:0              ABHÖREN
{...}

Eine Recherche ergab, dass man in der Windows Registry den Wert fDenyTSConnections unter HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server von 1 auf 0 ändern muss. Dafür kann man das reg-Kommando nutzen.

Zuerst den aktuellen Wert ausgeben:

$ reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
    fDenyTSConnections    REG_DWORD    0x1

Dann ändern in 0:

$ reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0x0
Der Wert fDenyTSConnections ist vorhanden. Überschreiben (J/N)? j
Der Vorgang wurde erfolgreich beendet.

Und kontrollieren:

$ reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
    fDenyTSConnections    REG_DWORD    0x0

Gut, jetzt also den TermService wieder beenden:

$ sc stop TermService
[SC] ControlService FEHLER 1051:

Ein Stoppzeichen wurde an einen Dienst gesendet, von dem andere Dienste abhängen.

Jetzt noch einmal mit net stop:

$ net stop TermService
Die folgenden Dienste hängen vom Dienst Remotedesktopdienste ab.
Das Beenden des Dienstes Remotedesktopdienste beendet auch diese Dienste.

   Anschlussumleitung für Remotedesktopdienst im Benutzermodus

Möchten Sie diesen Vorgang fortsetzen? (J/N) [N]:
Es wurde keine gültige Antwort gegeben.

Leider überspringt er die Nachfrage immer mit dem Vorgabewert N(ein). Welcher Dienst ist das denn genau?

$ sc query

{...}
SERVICE_NAME: UmRdpService
DISPLAY_NAME: Anschlussumleitung für Remotedesktopdienst im Benutzermodus
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
{...}

Gut, dann also Schluss mit UmRdpService:

$ sc stop UmRdpService

SERVICE_NAME: UmRdpService
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 3  STOP_PENDING
                                (NOT_STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

Und endlich auch mit TermService:

$ sc stop TermService

SERVICE_NAME: termservice
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 3  STOP_PENDING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x1
        WAIT_HINT          : 0xea60

Jetzt noch einmal den Dienst starten:

$ net start termservice
Remotedesktopdienste wird gestartet.
Remotedesktopdienste wurde erfolgreich gestartet.

Und kontrollieren:

$ netstat -an -p tcp

Aktive Verbindungen

  Proto  Lokale Adresse         Remoteadresse          Status
{...}
  TCP    0.0.0.0:3389           0.0.0.0:0              ABHÖREN
{...}

Jetzt funktioniert die Remote-Desktop-Verbindung endlich - und wenn ich nicht vergessen hätte, warum ich überhaupt auf den Server wollte, könnte ich es sicherlich tun...

Quelle: "Remote Desktop remote aktivieren", Siegfried Seifert, MCSEboard.de
http://www.serverhowto.de/Remote-Desktop-remote-aktivieren.227.0.html

11.11.2014

Ideenwettbewerb Schleswig-Holstein 2014

Category: Ideenwettbewerb, Sponsoring, Veranstaltungen

Ideenwettbewerb Schleswig-Holstein 2014
Am 6. November fand die Preisverleihung des sechsten Ideenwettbewerbs Schleswig-Holstein im Wissenschaftspark in Kiel statt, der unter der Schirmherrschaft des Wirtschaftsministers von Schleswig-Holstein, Reinhard Meyer, stand.

Lydia Bahn, Geschäftsführerin der assono GmbH, hielt die Laudatio für das Gewinnerteam des IT-Sonderpreises und überreichte den mit 1.000 Euro dotierten Preis, der wieder von der assono gestiftet wurde.

Es war wieder spannend, sehr, sehr spannend!
Von den zahlreichen, interessanten Ideen, die eingereicht wurden, hatten es die besten und vielversprechendsten 15 Ideen bis in die Finalrunde geschafft. Die Teams durften vor einer Jury von verschiedensten Experten, darunter Thomas Bahn, Geschäftsführer der assono GmbH, selbst ihre Ideen vorstellen und Fragen beantworten. Es gab nur 6 Preise und alle Ideen waren sicherlich "preisverdächtig". Trotzdem musste sich die Jury entscheiden, und das fiel schwer. Nach einer intensiven, engagierten Diskussion fielen die Entscheidungen. Und dann mussten wir schweigen...


Der IT-Sonderpreis ging dieses Jahr an "RaceGuard", ein Werkzeug, um mögliche Fehler in hochparallelen, komplexen Prozessen zuverlässig und automatisiert zu finden. Die bisherigen Qualitätssicherungs- und Testverfahren, vornehmlich Simulationen, können prinzipbedingt bestimmte Klassen von Fehlern nur "zufällig" entdecken. Das Team aus den Informatikern Thorsten Ehlers und Philipp Sieweck und den Betriebswirtschaftsstudenten Julian Göller hat dagegen eine neuartige Methode und dazu passend die Software entwickelt, um diese Lücke zu schließen. Damit können in Zukunft zum Beispiel Autohersteller die ca. 100 Millionen Zeilen Code, die in einem durchschnittlichen Luxuswagen stecken, zuverlässiger, schneller und günster testen und so Unfälle vermeiden.
 
Foto mit den Siegern des Ideenwettbewerb
Schleswig-Holstein 2014Foto: Claudia Becker, WT.SH

Bei dem Ideenwettbewerb geht es um die Marktfähigkeit von Ideen zu innovativen Produkten, Dienstleitungen und Verfahren. Die Teilnehmer, Studenten, Doktoren und Professoren aus den Fachhochschulen und Hochschulen Schleswig-Holsteins, skizzieren ihre Idee, sowie die geplante Umsetzung und reichen diese dann ein. Die Autoren der besten Ideenskizzen dürfen anschließend Ihre Idee vor einem Fachpublikum ausführlich präsentieren.

Organisiert wurde der Wettbewerb 2014 vom Dr. Werner Jackstädt-Zentrum für Unternehmertum und Mittelstand Flensburg und der WTSH-Wirtschaftsförderung und Technologietransfer Schleswig-Holstein GmbH.

Nähere Informationen zum Ideenwettbewerb 2014 finden Sie unter www.seedfonds-sh.de.

07.11.2014

JOBBUS 2014, Schleswig-Holstein

Category: assono, Veranstaltungen, Karriere

JOBBUS, 21. November 2014
Eine berufliche Zukunft im IT-Bereich in Schleswig-Holstein? Bei assono ist das möglich!

Vielen Studenten aus dem IT-Bereich mangelt es an Informationen über die breite Unternehmenslandschaft und Berufseinstiegschancen in Schleswig-Holstein. Der von der DiWiSH, Digitale Wirtschaft Schleswig-Holstein, zum ersten Mal organisierte und durch die Prof. Dr. Werner Petersen Stiftung unterstützte JOBBUS 2014 soll deshalb Unternehmen und zukünftige Absolventen zusammenbringen und Einblicke in das Berufsleben liefern.

Lydia Bahn, die Geschäftsführerin von assono, informiert in einem Vortrag über die Berufschancen für die Hochschulabsolventen bei assono. Anschließend können interessierte Studenten die Gespräche am Messestand vertiefen.

Am 21. November 2014 starten "JOB-BUSSE" von den Fachhochschulen in Kiel, Lübeck, Flensburg und Wedel und bringen die Teilnehmer zu mehreren ausgewählten IT-Unternehmen. Dort haben die zukünftigen Berufseinsteiger die Möglichkeit, sich über Berufsperskeptiven im Raum Schleswig-Holstein zu informieren und dabei hautnah Einblicke in bestimmte Unternehmen zu gewinnen.

Im Anschluss daran treffen sich alle Teilnehmer auf der Zentralveranstaltung in der ACO-Academy in Büdelsdorf, wo weitere IT-Unternehmen vertreten sind.

Informationen zu den genauen Touren und zur Anmeldung gibt es hier.

21.10.2014

Quick Tip: After renaming hostname of Sametime server, DB2 doesn't start anymore

Category: Quick-Tipp, IBM Sametime, IBM DB2

Quick-TippIBM Sametime
I recently changed the name of a IBM Sametime server, i.e. the hostname of the (virtual) machine. On the same box runs the IBM DB2 server, which is used by the system console server and by the proxy server. Everything runs on top of Microsoft Windows 2008 R2.

After the necessary reboot, DB2 greeted me with a "SQL1042C An unexpected system error occurred" and would not start - neither as a service, neither manually. Even the DB2 command console exited immediately.
In the details of the logs I found a - more or less - informative message: "SQL1022C There is not enough memory available to process the command."
But more than 6 GB physical and about 20 GB of logical RAM were free!?!

After a long time and thorough research I found out that the error message was completely misleading.

DB2 on Windows stores some information about local users (in the form ServerName\UserName) and the hostname in the Windows registry, namely under the key HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DB2\InstalledCopies\DB2COPY1\GLOBAL_PROFILE. (change "DB2COPY1" if your instance has another name).

I should have followed this document from the start: Changing hostname of the DB2 server, but I didn't like the idea to change back the hostname just to do the renaming the "right" way.

In the blog entry How do you rename the Windows machine name for a DB2 v9.1.x database? and its comments I found a faster, easier and more direct way to repair the DB2 installation:

Since it was an workgroup server edition (WSE) of DB2, there was no db2nodes.cfg to modifiy.

In a command prompt started as an adminstrator I executed:
  •  db2extsec -r
  •  db2extsec /a DB2ADMNS /u DB2USERS
  •  db2set -g DB2SYSTEM={NewHostName}
rebooted the machine and DB2 was up and running once more. Yay!  

09.10.2014

Sicherheitslücke im Android Standardbrowser

Category: Administration, Android

Bereits Anfang September wurde offenbar eine nicht unbedingt kleine Sicherheitslücke im Android Standardbrowser AOSP entdeckt. Damals ist mir das leider entgangen. Ich wurde erst jetzt wieder darauf aufmerksam als golem erneut berichtete und feststellte, dass ca. 60% der deutschen Android-Nutzer davon betroffen sein dürften.
Betroffen sind nämlich Android Versionen < 4.4, die weltweit auf immer noch ca. 75% der Geräte kursieren.

Der Fehler betrifft die "Same-Origin-Policy", die verhindern soll, dass Webseiten über den Browser auf Inhalte anderer Webseiten zugreifen können. Durch die Lücke ist es präparierten Webseiten nun möglich, auch zum Beispiel auf die Cookies oder Inhalte anderer geöffneter Webseiten zuzugreifen. Nachrichteninhalte oder gar Anmeldedaten können so ausgespäht werden.
Es wurde bereits ein Patch veröffentlicht. Allerdings kommt hier der große Nachteil der hohen Fragmentierung der Android-Welt zum Tragen: die jeweiligen Hersteller müssen diesen Patch wiederum in ihr Betriebssystem einbauen und dann selbst ein Update veranlassen. Das wird höchstwahrscheinlich nicht bei allen Anbietern bzw. auch nicht bei allen Geräten selbst der fleißigsten Anbieter passieren.
Aus diesem Grund bleibt wohl vorerst als Lösung nur noch die Nutzung anderer Browser.

Kann man den AOSP-Browser ohne Nachteile deinstallieren?
Das wäre vermutlich die sicherste Variante, allerdings bin ich mir nicht sicher, ob das nicht ggf. große Nachteile nach sich zieht, weil der Browser evtl von anderen Android Apps benötigt wird o.ä.
Was sagen unsere Leser dazu?

02.10.2014

IBM SmartCloud wird zu IBM Connections Cloud

Category: IBM Connections, IBM SmartCloud

IBM Connections
IBM hat angekündigt, die IBM SmartCloud zu „rebranden“, also auf gut Deutsch: umzubenennen.

Die neue Bezeichnung ist ab sofort IBM Connections Cloud. Weitere dazugehörige Produkte wurden ebenfalls umbenannt.

Hier die neuen Bezeichnungen der IBM Connections Cloud:

IBM SmartCloud Engage Advanced IBM Connections Cloud S1
IBM SmartCloud Engage Standard IBM Connections Cloud S2
IBM SmartCloud iNotes IBM Web Mail Cloud
IBM SmartCloud Archive Essentials IBM Connections Archive Essentials Cloud
IBM SmartCloud Connections IBM Connections Social Cloud
IBM SmartCloud Docs IBM Connections Docs Cloud
IBM SmartCloud Meetings IBM Connections Meetings Cloud
IBM Audio Services for SmartCloud Meetings IBM Connections Meeting Audio Cloud
Ganz neu, jetzt auch Chat-Angebote IBM Connections Chat Cloud

Mehr dazu finden Sie unter:
http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=877&letternum=ENUSZP14-0438

01.10.2014

AdminCamp 2014: Probier's mal mit Gemütlichkeit

Category: AdminCamp, Konferenzen, Administration, Lotus Domino

AdminCamp
Es war wieder einmal ein unwahrscheinliches Erlebnis. Weit über hundert Domino-Administratoren und jeder ist engagiert, interessiert und hoch motiviert. Das ist das Admin Camp!

Alles war toll: Die Leute, die hochklassigen Vorträge, die Verpflegung, die Abendveranstaltungen, ... Ich werde schon ganz wehmütig.


Aber nach dem AdminCamp ist vor dem EntwicklerCamp, nächstes Jahr vom 2. bis 4. März, wieder hier in Gelsenkirchen. Ich freue mich schon darauf.


Die Präsentation zu meinem heutigen Vortrag in Track 1, Session 8: Probier's mal mit Gemütlichkeit:

30.09.2014

Quick Tip: Validate current user by enforcing him to enter his password

Category: Quick-Tipp, AdminCamp, Entwicklung, IBM Notes, LotusScript, Sicherheit, C-API

Quick-TippIBM Notes
I had a "small" request from a customer last week: He'd be interested in the extended commercial version of our assono Password-Safe. But his internal audit team had the requirement that a user should have to re-enter his Notes client password when opening a document or copying it directly to the clipboard from a view.

There is a @Command for this: ToolsUserLogoff. It just logs the user off, thus you have to combine it with some kind of server access to get the password input dialog to appear, like described here: Forcing user re-entry of passwords for electronic signatures in script.

This approach has three drawbacks:
1. It doesn't work offline, i.e. on a local replica, because it depends on the server contact for the  password input dialog to be opened.
2. I need it to protect the opening of existing documents. When the user just cancels the password input dialog, the document continues to be opened.
3. The formula code must be placed in the QueryOpen event of the form. But I really need to put some LotusScript there.

Thus I had to search further for a solution working in LotusScript. And I found one by Eknori from 2004: @Command(ToolsUserLogoff) in Lotus Script.
It had to be adopted for the current versions of Notes, because the log out key had been changed from F5 to Ctrl-F5.

I still wasn't convinced this would be the best possible solution. Its strictly Windows only and the user keeps logged out, when he cancels the dialog, I don't know, it would work locally etc.

I looked further and found a great idea: Use the Notes C api to access privat portions of the user's ID file, namely the REGGetIDInfoString function with REGIDGetPrivateKey as infoType.
  • This would bring up the password input dialog, but doesn't log off the user.
  • It would work locally without any server contact.
  • I even could determine, if the user cancelled the dialog box, and react, if necessary.
Thank you, Davy Vanherbergen, for your OpenNTF Code Bin post (from 2003!): Call notes password prompt from lotusscript 

I took the idea and implemented it "my way", using my C api helper functions and letting the user choose another ID file, if the configured ID file is not his own.

Function ValidateCurrentUser As Boolean
        '/**
        ' * validates current user by letting him enter his password
        ' *
        ' * @return  True, if user has successfully entered his password
        ' *
        ' * @author  Thomas Bahn/assono <tbahn@assono.de>
        ' * @version 2014-09-30
        ' */

        Const MAXOUTBUFRLEN% = 4096
       
        Dim idFileName As String
        Dim returnCode As Integer
        Dim userNameBuffer As String*MAXUSERNAME
        Dim actualLen As Long
        Dim currentUserName As String                
        Dim outBufrLen As String*MAXOUTBUFRLEN
       
        If Not IsDebugMode() Then On Error GoTo errorHandler
       
        ValidateCurrentUser = False
       
        idFileName = session.GetEnvironmentString("KeyFileName", True)
        returnCode = REGGetIDInfoString(idFileName, REGIDGetName, _
                userNameBuffer, MAXUSERNAME, actualLen)
        Call ShowCAPIErrorIfAnyAndEnd(returnCode, "REGGetIDInfo", _
                NULLHANDLE)
       
        currentUserName = Left(userNameBuffer, actualLen - 1)        
        Do While session.UserName <> currentUserName
                ' ID file configured in notes.ini is not the ID file of the
                ' current user
                idFileName = uiws.OpenFileDialog(False, _
                        "Choose your ID file:", "*.ID|", _
                        GetNotesDataDirectory(), idFileName)(0)

                returnCode = REGGetIDInfoString(idFileName, REGIDGetName, _
                        userNameBuffer, MAXUSERNAME, actualLen)
                Call ShowCAPIErrorIfAnyAndEnd(returnCode, "REGGetIDInfo", _
                        NULLHANDLE)
               
                currentUserName = Left(userNameBuffer, actualLen - 1)
        Loop
       
        returnCode = REGGetIDInfoString(idFileName, REGIDGetPrivateKey, _
                        outBufrLen, MAXOUTBUFRLEN, actualLen)
        If returnCode = -32355 Then
                Exit Function ' user cancelled dialog
        Else
                Call ShowCAPIErrorIfAnyAndEnd(returnCode, "REGGetIDInfo", _
                        NULLHANDLE)
        End If

        ' when we get here, the user must have entered his password
        ' successfully
        ValidateCurrentUser = True
        Exit Function
       
errorHandler:
        If HandleError() = RESUME_NEXT_LINE Then Resume Next
        Exit Function
End Function

GetNotesDataDirectory() is a helper function to get the name of the Notes data directory. Replace it by your own function or a String constant.
And adopt the error handling code (IsDebugMode() and HandleError()) to your standard.

Read More

30.09.2014

AdminCamp 2014: Weil sicher sicher sicher ist - Sicherheit in IBM Domino

Category: AdminCamp, Administration, IBM Domino, IBM Notes, Konferenzen

AdminCamp
Der zweite Tag des diesjährigen AdminCamps nähert sich langsam dem Ende. Ich warte noch gespannt auf die Fragestunde nach dem Abendessen. Auf meine Frage gestern habe ich ganz viele wertvolle Antworten bekommen, so dass ich letzte Nacht gleich eine Lösung bauen konnte. Dazu gleich mehr in einem weiteren Blog-Eintrag.


Hier schon mal die Präsentation zu meinem heutigen Vortrag in Track 2, Session 3: Weil sicher sicher sicher ist - Sicherheit in IBM Domino:

Kalender (Calendar)

Tags

Deutsche RSS-Feeds (German)

Custom Button Custom Button

English RSS feeds

Custom Button Custom Button