Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

17. November 2012 um 11:02

Gib der Zukunft eine Chance, verwende das Futur

… schreibt mein Kollege Clemens seit einiger Zeit in seiner E-Mail-Signatur. Er hat festgestellt, dass es für die eigene Einstellung und für das Herangehen an Dinge einen Unterschied macht, wie man sich sich ausdrückt, weil das Ausdrücken die eigene Haltung und die der Zuhörer beeinflusst. Er hat das auch irgendwo gehört oder gelesen. Ich habe vergessen wo.

Hier ein Beispiel für eine geläufige Ausdrucksweise:

Wir müssen unbedingt die Performance von Anfang an bei dem Release 1.0 berücksichtigen.

Was passiert mit mir, wenn ein Kollege zu mir kommt und das so ausrückt? Das ist Druck, deutet aus ein Problem hin und auf (innere?) Widerstände. Wenn wir das wirklich ernst meinen, dann können wir uns etwas von dem inneren Druck nehmen.

Wenn wir das hingegen auf die Zukunft ausrichten, dann schauen wir nach vorne:

Wir werden die Performance von Anfang an bei dem Release 1.0 berücksichtigen.

Das drückt eine Haltung aus, keinen Zwang. Natürlich löst sich die Aufgabe dadurch nicht einfacher, aber die Haltung ändert sich in meinen Augen wirklich. Auch das Empfinden Zuhörer ist leicht anders.

Zwei andere Beispiele, die sich vorwiegend auf den Sprecher beziehen:

  • Ich muss noch den Tabellen-Entwurf des neuen Moduls beenden, bevor ich die Indexe für das Auswertungsmodul überprüfen kann.
  • Ich werde erst den Tabellen-Entwurf des neuen Moduls beenden, danach werde ich die Indexe für das Auswertungsmodul überprüfen.

Vielleicht haltet Ihr mich für verrückt, aber für mich macht das einen deutlichen Unterschied. Daher werde ich zukünftig das Futur öfter verwenden. Mal schauen, ob es sich bewährt … 😉

Disclaimer: Genau wie bei guten Vorsätzen ist es auch hier wichtig das ernst zu meinen und zu tun. Damit ist nicht gemeint, dass über die Aussage vorher und nachher nicht mehr diskutiert werden darf. Es darf und sollte weiterhin diskutiert, geplant und priorisiert werden. Es verschiebt lediglich den Blick von Problem/Zwang hin zu Zukunft/Vorsatz.

16. November 2012 um 19:17

Gängige Schwachstellen in Software

Die Liste der bekannten Sicherheitsprobleme (Common Vulnerabilities and Exposures, CVE) von erhältlicher Software kannte ich schon, aber erst kürzlich erfuhr ich, dass es auch konkrete Tipps gibt, was man besser nicht in seiner Anwendung falsch machen sollte: Common Weakness Enumeration (CWE).

Die seite enthält eine sehr große Anzahl von gängigen Schwachstellen und Tipps, wie man es besser machen kann. Leider ist die Seite ausgesprochen unübersichtlich. Hier ein paar gute Einstiegspunkte:

Wenn ich mal viel Zeit habe, dann lese ich das alles durch….

16. November 2012 um 06:05

kostenloses eBook: SQL Server 2012 Transact-SQL DML Reference

Wer die Transact-SQL Data Manipulation Language (DML) Reference schon immer mal gerne als eBook haben wollte, der kann nun zugreifen:

Es enthält wirklich (einfach nur) den Text aus den Books Online. Aber halt als eBook zum mitnehmen.

15. November 2012 um 20:06

JTL-Wawi und das veröffentlichte SA-Passwort

Durch die installation der Software JTL-Wawi-Full holt man sich ein gravierendes Sicherheitsproblem aufs System, wenn man einfach nur die Standard-Installation gemäß Anleitung durchführt: Man hat dann einen SQL Server 2005 SP2 (Express Edition), der im Systemkontext läuft und ein fest vorgegebenes SA-Passwort hat. Das SA-Kennwort steht zudem öffentlich in der erwähnten Anleitung.

Warum ist das ein Problem?

Der SQL Server-Dienst läuft im Systemkontext. Alle Aktionen, die über ihn ausgeführt werden, haben daher potentiell Windows-Admin-Rechte. Die installierte SQL-Server-Instanz heißt auch auf jedem System gleich und der Kunde wird angeleitet den nötigen Port in der Firewall freizugeben. Daher kann jeder drittklassige Hacker sich über die gängigen Ports mit dem SQL Server als SysAdmin verbinden (Instanzname, Name des SA und dessen Passwort sind ja gut dokumentiert).

Damit kann der Angreifer allerlei Schabernack anstellen:

  • Er kann alle Daten ändern und löschen.
  • Er kann sogar den Gastrechner komplett übernehmen: heimlich oder destruktiv. Dem Angreifer sind im Prinzip keine Grenzen gesetzt.
  • Er kann beispielsweise Windows-Benutzer mit Windows-Admin-Rechten anlegen,
  • Software aus dem Internet nachladen und installieren oder
  • einfach nur zerstörerisch wirken (Festplatten formatieren, …).

Leider ist es für einen Anwender fast unmöglich alle Lücken zu stopfen, weil laut Anleitung der SA für die normale Arbeit der Anwendung genutzt wird. Offensichtlich gibt es kein SQL-Benutzer- und -Rechtekonzept. Ein verantwortungsvoller Admin müsste in der Datenbank selber eine Gruppe mit den nötigen Rechten anlegen. Dazu muss er per Try&Error ausprobieren, welche Rechte auf welche Objekte im laufenden Betrieb mindestens benötigt werden. In der Anwendungsdatenbank "eazybusiness" sind jedenfalls keine Rollen oder Benutzer angelegt und damit auch keine dedizierten Rechte.

Was jetzt?

Weil die oben genannten Angriffspunkte von dem Hersteller ganz unschuldig bereits im Internet kommuniziert wurden, hilft die übliche Geheimhaltung auch nicht mehr weiter. Außerdem machte einer der Geschäftsführer auf meinen sehr ausführlichen Hinweis hin deutlich, dass er seine Firma hier nicht in der Pflicht sieht. Aus seiner Sicht können sie den Admin nicht ersetzen. Das verstehe ich so, dass der Admin des jeweiligen Kunden dafür verantwortlich sei die problematische Installation zu erkennen und Gegenmaßnahmen zu treffen. Als Beispiel wird in der Mail das Ändern des SA-Passwortes genannt. Immerhin wurde daraufhin eine Woche später, am 12.11.2012, ein entsprechender Hinweis in die Anleitung aufgenommen (vorher fand ich das auf deren Web-Seite nur tief vergraben in der FAQ):

Für maximale Sicherheit sollte auf jeden Fall das Standard Datenbankpasswort "[Anm.: Passwort entfernt]" geändert werden.

Außerdem solle – laut dem neuen Hinweis – der Zugriff via Firewall auf bestimmte Clients eingeschränkt werden. Aus meiner Sicht ist das aber eher die minimale Sicherheit, nicht die maximale …

Die Antwort der Firma nötigte mir Respekt vor deren Kunden ab. Nur wenige Admins, die ich kenne, haben die nötigen Kenntnisse, um die minimalen Rechte zu erforschen (z.B. mit Profiler) und zu vergeben. Außerdem ist das Benutzerkonzept des SQL Servers nicht gerade trivial. Ich wäre froh, wenn unsere Kunden alle solche Admins hätten, die mit SQL-Experten mithalten können. Normale Anwender wären damit jedenfalls hoffungslos überfordert.
Anhand der Beiträge in den Foren kann man erkennen, dass aber nicht alle Kunden derartig gut ausgebildete Admins haben, sondern sich sogar für einfache Dinge wie Backups durchwurschteln und bei der Problembeschreibung deren Batches inkl. SA&Passwort ins Forum stellen. Daher dürften diese Kunden vom Anspruch des Herstellers überfordert werden, die Probleme alleine zu erkennen und zu lösen. Ich finde es schade, dass diese Kunden mit den durch die Standard-Installation verursachten gravierenden Sicherheitsproblemen alleine gelassen werden.

Wenn man lange sucht, findet man einzig den Hinweis, wie man das SA-Passwort ändert. Direkt darunter steht übrigens aus welcher Tabelle man die Namen und Passwörter der Anwendungsbenutzer im Klartext auslesen kann, die für die Anmeldung am System genutzt werden. Kein Witz.

Welche Maßnahmen wären aus meiner Sicht für eine minimale Sicherheit des SQL Servers nötig?

  • Der Hersteller sollte in der Installation des SQL Server kein festes SA-Kennwort mehr vergeben. Außerdem eine Anleitung veröffentlichen, wie bestehende Kunden die gemischte Authentifizierung nachträglich ausschalten können.
  • Wenn für den Admin die Windows-Authentifizierung genutzt wird, dann kann man sich das ganze Theater mit dem öffentlichen SA-Passwort sparen. Alle Batches können wir bisher veröffentlicht werden ohne das Schaden entsteht.
  • Außerdem sollten mit der Datenbank die benötigten Gruppen und User bereits angelegt werden oder wenigstens entsprechende Skripte veröffentlicht werden. Die Doku sollte beschreiben, wie man einen Windows-Benutzer für die Anwendung im SQL Server anlegen kann, dass der Zugriff möglich ist. Dann muss kein SQL-SysAdmin für den laufenden Betrieb genutzt werden.

Als Kür käme dann noch ein echtes Benutzerkonzept mit einer dedizierten Rechtevergabe. Offenbar gibt es schon die Möglichkeit im System Benutzer anzulegen. Wenn die Benutzer nur auf Views zugreifen dürften, die deren Rechte gegen eine Rechtetabelle prüfen, dann wäre das nochmal erheblich näher an einem sicheren System.

Warum reicht es nicht aus, einfach nur das SA-Passwort zu ändern?

Der Anwender startet die Anwendung bei sich lokal auf dem PC. Wenn die Anwendung generell mit SysAdmin-Rechten arbeitet, dann kann man mit idiotensicheren Werkzeugen das Passwort des SA ausspähen. (Nein, eine Anleitung werde ich nicht geben.)
So (oder, falls er es umständlich mag, mit einer der üblichen Injection-Attacken) könnte ein Mitarbeiter den Server übernehmen oder einfach nur löschen. Das gilt freilich auch für Remote-Angriffe via Trojaner oder präparierte Webseiten.
Aber auch das ist nicht wirklich nötig, weil die Zugangsdaten (ODBC-DSN, User und Passwort) in der Registry unter HKCU gespeichert werden, immerhin leicht verschlüsselt. Ich habe kurz überlegt, ob ich mal mit einem API-Tracer schaue, ob ich sehe, welche Methoden genutzt werden, aber dazu hatte ich dann keine Lust, weil es einfachere Möglichkeiten gibt…

Welche Sofortmaßnahmen wären für betroffene Nutzer sinnvoll?

Ein Nutzer ohne tiefe SQL-Kenntnisse hat in meinen Augen keine Chance das System effektiv abzusichern. Daher sollte er sofort den SQL Server-Dienst deaktivieren, bis es eine ausführliche Anleitung gibt, wie der Kunde den SA disablen und Windows-Authentifizierung nutzen kann. Dazu kann man unter "Dienste" auf den Dienst "SQL Server (JTLWAWI )" rechtsklicken und in den Eigenschaften den Starttyp "Deaktiviert" konfigurieren.

Wenn er SQL-mäßig fit ist, dann muss er wenigstens den SA disablen (oder umbenennen oder gigantsich langes Passwort geben) und andere SQL-Benutzer anlegen, die nur die Werte in den benötigten Tabellen ändern dürfen, nicht aber Admin-Rechte haben (auch nicht DBO). Sie müssen auch sehr lange PAsswörter haben, um Brute-Force-Attacken zu bestehen (>20 Zeichen). Dazu ist der Einsatz des SQL Server Management Studio Express zu empfehlen. Besser sollte er die Vollversion des SQL Servers kaufen, dann kann er mit dem SQL Profiler die Anwendung aufzeichnen und dann damit die benötigten Rechte erforschen. Dabei könnte es man bemerken, dass manche Funktionen nicht klappen, falls diese doch SysAdmin-Rechte benötigen.

Wer rettet die unkundigen Betroffenen?

Der Download der Software ist frei. Es ist Freeware, aber offenbar nicht Open Source. Was heißt das in Bezug auf Sicherheit? Einem geschenktem Gaul schaut man nicht ins Maul?
Wer sich fragt, wovon die Firma lebt, wenn sie die Software verschenken: Sie verkaufen Zusatzmodule unter dem Motto "Professionelle Softwarelösungen für Ihren Erfolg im E-Business". Den Spruch finde ich unter den gegebenen Umständen beachtlich.

Naja, durch den kostenlosen Download kann das immerhin jeder von Euch selber nachschauen. Bei dem Paket "JTL-Wawi-Full" wird die SQL Server 2005 Express Edition mit besagter Konfiguration mitgebracht, seltsamerweise nicht die Ausgabe mit erweiterten Diensten (also mit Management Studio Express). Wer sich Lorbeeren verdienen möchte, kann ja mal erforschen, was zur tatsächlichen "maximalen Sicherheit" nötig wäre und die Skripten dort im Forum veröffentlichen. Es schaut nicht so aus, als ob die Firma das machen würde. Wobei mir unklar ist, warum sie die Situation so gelassen sehen. Meine Warnung hat daran nur wenig geändert.

Freiwillige vor… Das wäre auf jeden Fall eine gute Tat.

15. November 2012 um 06:24

kostenloses eBook: Introducing Microsoft SQL Server 2012

Wer sich für den SQL Server 2012 interessiert, der sollte das kostenlose eBook "Introducing Microsoft SQL Server 2012" mal anschauen. Erhältlich als PDF, mobi und epub (und damit auch für den Kindle geeignet).

14. November 2012 um 19:21

kostenloses eBook: Programming Windows 8 Apps

Programming Windows 8 AppsWer sich mit der Entwicklung von Apps für Windows 8 befassen will, der könnte das Buch Programming Windows 8 Apps (PDF) nützlich finden.

gefunden bei Eric Ligman

13. November 2012 um 22:18

SQL Server 2012 Developer Training Kit

Wer gerade frisch mit dem SQL Server 2012 anfängt, der wird das SQL Server 2012 Developer Training Kit nützlich finden.
Vorher sollte man neben dem SQL Server 2012 auch noch .NET Framework 4.0, Windows Powershell und die AdventureWorks 2012 installieren.

13. November 2012 um 21:53

Datei-Erweiterungen und deren verknüpfte Anwendungen

Ganz praktisch finde ich die Kommandozeilenwerkzeuge "assoc" und ftype. Damit kann man sich zuerst mal mit einer Assoc anzeigen lassen mit welcher Klasse eine Datei-Erweiterung verknüpft ist und danach mit ftype welche Anwendung damit verbunden ist.

C:\Windows\system32>assoc .jpg
.jpg=IrfanView.jpg

C:\Windows\system32>ftype IrfanView.jpg
IrfanView.jpg="C:\Program Files (x86)\IrfanView\i_view32.exe" "%1"

Wer sich traut, kann die Verknüpfungen damit auch ändern.

12. November 2012 um 21:23

Kostenloser PASS-Vortrag "Microsoft SQL Server 2012 Analysis Services tabular model" – 20.11.2012 – Nürnberg

SQL-PASSAm 20.11. ist schon wieder der nächste Vortrag im Rahmen der SQL-PASS. Es geht um die Reaktion von Microsoft auf HANA, dass bekanntlich angetreten ist, um in der BI-Welt die komplexen alten Technologien abzulösen.

Hier die Details im O-Ton:

Microsoft SQL Server 2012 Analysis Servicves "tabular model"

Die Analysis Services des SQL Server 2012 bestehen jetzt aus zwei Cube-Technologien: dem bewährten multidimensionalen Model (bisher UDM jetzt „Dimensionales Model“ genannt) und dem neuen „Tabular Model“. Beide Modelle werden als die semantische Schicht in einer Business Intelligence Lösung gesehen und als das Business Intelligence Semantic Model („BISM“) bezeichnet.

In dem Vortrag werden die Möglichkeiten des Tabular Models – eine in-Memory-Datenbank der Analysis Services – aufgezeigt.

Herr Henning stellt die Modellierung eines Würfels mithilfe der Tabular Mode Werkzeuge vor und geht auf die unterschiedlichen Datenzugriffe auf Quelldaten – Cache-Modus und DirectQuery Modus – ein.

Es wird ein exemplarischer Cube erstellt, um so die Techniken, die Komplexität und den gesamten Erstellungsprozess aufzuzeigen. Eine kurze Gegenüberstellung der zwei Analysis Services wird auch hier unvermeidbar sein, wird aber nicht Inhalt dieses Vortrages werden.

Sprecher

Herr Henning berät als Senior Consultant bei der New Elements GmbH seit vielen Jahren Unternehmen und Behörden bei der Konzeption und Entwicklung von Data Warehouse-Infrastrukturen und Business Intelligence Lösungen mit Microsoft-Technologien.

Mit dem SQL Server 2012 beschäftigt er sich bereits seit der CTP1 und realisiert bereits Anwendungen mit SQL Server 2012.

Termin: Dienstag, 20.11.2012, ab 18:30 bis ca. 20:30 (danach bitte etwas Zeit für das Essen danach einplanen)

Veranstaltungsort: New Elements GmbH
Thurn-und-Taxis-Straße 10, D – 90411 Nürnberg
(Alcatel-Lucent Gebäude im Nordostpark)
Kostenfreie Parkplätze sind direkt vor der Tür vorhanden.

Der Eintritt ist wie immer kostenlos, man muss auch kein Mitglied sein oder werden.
Wegen der Raumplanung ist eine kurze Info an die Regionalleiter der SQLPASS Franken wichtig.
Interessierte bitte daher formlos bei Tillmann Eitelberg (tei@sqlpass.de) oder Michael Deinhardt (mde@sqlpass.de) per Mail oder via Xing anmelden.
(Es geht – wie immer – dabei nur darum abzuschätzen, wie viele in etwa kommen, damit genügend Stühle da sind.)

SQL-PASS ist eine von Microsoft unabhängige SQL-Server-User-Group. Daher muss man auch keine Angst haben, dass man irgendetwas angedreht bekommt. Es gibt mehrere Regionalgruppen, unsere fränkische ist meines Wissens die Größte in Deutschland. Mehr Infos hier: www.sqlpass.de

12. November 2012 um 21:16

Liste der installierten Windows-Treiber

Neulich fand ich einen netten Befehl mit dem man in einer Kommandozeile alle installierten Treiber auflisten kann. Weil das so entsetzlich viele sind, würde ich das in eine CSV-Datei konvertieren lassen, dann kann man es mit Excel auswerten.

driverquery /FO CSV /V > %TEMP%driver.csv
start %TEMP%\driver.csv

Warum das wichtig ist? Bei unseren Kunden passiert es leider immer wieder, dass Probleme beim Netzzugriff oder mit den Festplatten auftreten. Immer wieder sind dafür fehlerhafte Treiber verantwortlich. Daher lohnt es sich die Treiber bei seltsamen Problemen zu aktualisieren.

6. November 2012 um 06:23

Zahlen verkehrt herum diktieren

In meiner Linksammlung fand ich den Artikel Zwanzigeins statt einundzwanzig. Er spricht mir aus dem Herzen. Immer wenn ich Zahlen telefonisch gesagt bekomme, dann ist es das gleiche Theater. Zuerst muss ich einen Großteil der Zahl hören, dann erst kann ich aufschreiben. Jetzt weiß ich wenigstens warum wir Zahlen so blödsinnig buchstabieren:

Dass im Deutschen Zahlen zwischen 13 und 99 anders gesprochen als geschrieben werden, geht auf das Indogermanische zurück und ist über 4000 Jahre alt. Damals gab es einfache Schriftzeichen – für jeden Einer einen Strich, für jeden Zehner ein Kreuz, die Einer standen vorne. Die Zahl 13 sah so aus: IIIX. Und sie wurde folgerichtig als „drei-zehn“ ausgesprochen.
Mit dem Siegeszug der arabischen Ziffern in Europa setzte sich auch im indogermanischen Sprachraum die „verdrehte“ Schreibweise durch, nun standen die Zehner vorne. Dem Althochdeutschen bzw. Deutschen verwandte Sprachen änderten im Laufe der Zeit ihre Zahlensprechweise, die Engländer zum Beispiel um 1600, die Norweger erst vor gut 50 Jahren. Die Deutschen waren schon immer etwas langsamer…

Wenn ich abstimmen dürfte, dann würde ich sofort für "zwanzigeins" anstelle von "einundzwanzig" stimmen…

5. November 2012 um 19:12

Wintertipps für Radfahrer

Weil der Winter ja schon mal an die Tür klopfte, habe ich mich etwas wegen radfahren im Winter schlauer machen müssen. Hier meine Erkenntnisse:

Winterreifen werden vom ADFC empfohlen. Sie haben teilweise Spikes. Der Test bei Spiegel online zeigt, dass sie bei Eis auch wirklich Vorteile haben. Bei Schnee und und in Kurven scheinen breite Reifen mit simplen Kabelbindern jedoch besser zu sein. Die gehen aber nur bei Trommelbremsen bzw. Rücktritt, nicht jedoch bei Felgenbremsen. Wenigstens Reifen mit starkem Profil sollten es schon sein. Warum nicht die Winterreifen mit Spikes? Angeblich nerven die – wegen der straken Rollgeräusche – ohne Schnee, daher könnten auch normale Winterreifen interessanter sein.

Felgenbremsen sind im Winter ohnehin von Nachteil, aber auch bei Trommelbremsen können die Seilzüge einfrieren. Eine regelmäßige Kontrolle vor Beginn der Fahrt ist daher schlau.

Ebenso können hier Nabendynamos oder akku-betriebene LED-Lampen punkten. Für Seitenläufer-Dynamos kann man sich mit einem Gummi-Aufsatz für das Laufrad behelfen. Das sorgt zwar für weniger Umdrehungen, aber greift besser.

Günstig wirkt es sich auch aus, wenn man den Reifendruck verringert, dann sind die Reifen breiter und haben mehr Oberfläche. Im Sommer ein Nachteil, aber im Winter ein guter Trick.

Eine persönliche Bitte: Eltern, lasst im Winter die Kindersitze weg, sondern steigt auf Anhänger um. Kindersitze verlagern den Schwerpunkt sehr stark nach oben. Außerdem hat ein Anhänger den Vorteil, dass die Kleinen dort windgeschützter eingepackt werden können. Denn Sie werden nicht durch das Trampeln warm gehalten.

Der Artikel Fit im Winter (PDF) preist die Vorzüge für die Gesundheit und gibt konkrete Tipps für Sportradler im Winter.