Datenhaufen zu IT und Elektronik.

Autor: Sebastian van de Meer (Seite 34 von 49)

PDS Programm + Datenservice GmbH: Rückblick auf innovative IT-Lösungen​

„Qualität in Software“ – diesen Slogan habe ich vor Kurzem wieder gelesen. Nicht im Zusammenhang mit der PDS GmbH, aber es erinnerte mich sofort daran. Na, da hat die „Werbung“ wohl ihren Zweck erfüllt. 😀

Ich habe früher beim Unternehmen Spohr EDV-Systeme mit den PDS-Systemen arbeiten dürfen. Wenn ich jetzt zurückblicke, muss ich sagen, dass die Jungs damals schon verdammt weit waren – was ich damals natürlich nicht so wahrgenommen habe!

Na gut, die Umsetzung mancher Dinge war … na, sagen wir mal, funktional. 😀

Es gab da die OSIcom Box, zunächst nur eine kleine Kiste mit irgendeinem Mini-PC, auf dem – ich glaube – Linux SuSE lief. Man konnte dort eine Ferrari Fax ISDN-Karte einbauen. Diese Kiste sorgte für den Internetzugang und dafür, die anderen Standorte per VPN (war es Openswan?) anzubinden. Sogar ISDN-Verbindungen, Punkt-zu-Netz und Netz-zu-Netz, waren möglich.

Die eigentliche Warenwirtschaft, das Zeitmanagement und das Lagerverwaltungsgedöns – die haben alles gemacht, außer abspülen – lief auf SCO UnixWare. Zuletzt sogar auf SCO UnixWare 7.1.4 und später auf einem SuSE Linux Server. Alles noch aus der Terminalzeit. Zunächst mit einem FET-32-Client für Windows-Rechner, später dann mit einem in Java geschriebenen FET/X-Client.

Oh ja, es gab auch einen FTP-Server! Ich meine: ftp://ftp.pds.de/. Dort lag zum Beispiel das UnixWare 7.1.4 Maintenance Pack – zuletzt wohl MP4 – und ein riesiger Haufen Dokumentation.

Was aber richtig cool war: Die hatten schon damals Tablets! Es war so ein Skeye.Pad für den mobilen Kundendienst, sogar mit einem Infrarotdrucker. Damit konnten die Handwerker ihre Aufträge direkt beim Kunden bearbeiten. Sie haben Material, Zeiten und die Unterschrift des Kunden „eingesammelt“, und die Rechnung konnte noch geschrieben werden, bevor der Mitarbeiter wieder in der Firma war. Ich glaube, das Ding kam in einer blau-schwarzen Neoprenhülle.

Puh, jetzt habe ich hier wohl ordentlich Werbung gemacht, oder? Mich würde echt interessieren, wie weit die Jungs inzwischen gekommen sind. Technisch waren die schon damals ziemlich weit vorne, und auch die Hotline für Techniker war okay. Einer der beiden, mit denen ich oft zu tun hatte, schrieb immer mal wieder Leserbriefe für die c’t. Leider sind die Namen inzwischen wohl nach /dev/null ausgelagert worden. Mann, ist das lange her!

Wenn du, lieber Leser oder liebe Leserin, noch aktuell mit PDS arbeitest, würde ich mich über einen kleinen Austausch sehr freuen!

Unsichere Protokolle und Prüfsummen am Apache2 deaktivieren

Im Grunde könnte es mir ja fast egal sein, welche Protokollversion und/oder Prüfsumme der Client verwendet um mit dem Server zu sprechen. Ist es denn noch nicht. Der Client verbindet sich mit dem Server. Dabei teilt der Client dem Server mit was er kann, der Server tut dieses ebenfalls. Dann einigen sich beide auf ein Protokoll und eine Prüfsumme. Dabei kann der Server wie auch der Client sagen welches ihm denn am liebsten wäre. Wenn sich nun beide für etwas unsicheres entscheiden, gehen die Daten unsicher über die Leitung 🙁

Warum also nicht dem Server sagen er soll nur die „sicheren“ Protokolle anbieten? Dieses lässt sich recht schnell erledigen, indem man in seine Apache 2 Serverkonfiguration folgendes aufnimmt:

SSLProtocol -ALL +SSLv3 +TLSv1  
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXPORT

Die einzelnen Optionen sind so schön benannt, dass man sich nicht mal mehr erklären muss, oder? Denn noch verlinke ich natürlich gerne hier hin: http://httpd.apache.org/docs/2.2/mod/mod_ssl.html

Nachteile hat das ganze natürlich auch… Ältere Clients oder Systeme welche dummerweise kein passendes Protokoll / Chipher unterstützen, können keine verschlüsselte Verbindung mehr aufbauen. Meine Erfahrung zeigt aber, wenn man den Menschen die Möglichkeit gibt einfach durch die Sache zu kommen, machen sie es auch! Ich meine damit: „Solange es irgendwie funktioniert.“ Kümmert sich kaum jemand um ein Upgrade auch die Entwickler komme nicht aus dem Quark. Natürlich darf man nicht nach der Verabschiedung des neusten Standards die vorherigen fallen lassen…. Nur klar unsichere und seit Jahren überholte, die darf man dann schon mal los lassen (Windows XP *hust*).

Ach ja, möchte man einen Server testen gibt es mehrere Möglichkeiten. Am einfachsten ist sicher: https://www.ssllabs.com/ssldb/index.html Wer es lieber selbst auf der Konsole machen möchter, der freut sich sicher über sslscan http://sourceforge.net/project/showfiles.php?group_id=204329

 

 

 

Davdroid ownCloud sync

Über ownCloud selbst muss ich ja keine großen Worte mehr verlieren. Auch dass der Kontakte und Kalender Abgleich / Sync ganz prima über CalDAV sowie CardDAV funktioniert ist bekannt. Bei einem Android Handy kauft man sich einfach für einen super geringen Betrag die Apps CalDAV-Sync sowie CardDAV-Sync und gleicht so seine Kalender- und Kontakteinträge mit den Daten im ownCloud ab. Ich mache dieses seit bestimmt 1,5Jahren und bin absolut zufrieden damit, vor allem da ich über den gleichen Weg die Daten auch mit meinem Mailclient Evolution problemlos abgeglichen bekomme.

Selbst das freigeben, share, teilen (wie man will) klappt so 1A. Ich kann auf den Kalender meiner Frau schauen und sie auf meinen. So kommt man sich bei Planungen eher selten in die Quere.

Vor kurzem ist mir nun http://davdroid.bitfire.at/what-is-davdroid davdroid als kostenlose Version unter die Füße gekommen. Getestet und funktioniert genauso wie gewünscht. Damit geht es also ebenfalls in kostenlos!!!

Internal Server Error

Mal wieder etwas zum Thema: „Wenn man zu doof ist!

Ich schaue auf meine Webseite und sehe nur:

The server encountered an internal error or misconfiguration and was unable to complete your request….

 

Und die Kiste hat recht. Ich Wurst habe Grütze in meine .htaccess geschrieben. Diese Grütze habe ich aber nicht weiter kontrolliert. Da ich andauernd etwas darin herumwurste. MAN jetzt ärgere ich mich gerade über mich selbst 🙁

 

Nun gut, solche kleinen Dinge holen mich immer mal wieder schnell auf den Boden der Tatsachen zurück *danke*

 

 

 

Solaris 11 Shut Down / Herunterfahren Terminal

Ich habe heute einen Anruf eines befreundeten Sysadmins bekommen. Der arme muss darf heute bei einem seiner Kunden den Serveraum umziehen… Dafür möchte er nun die Systeme abschalten. Jetzt steht dort ein Solaris 11 System und der zum System gehörende Admin ist krank (zufällig am Feiertag des Serverraumumzuges…)! Jetzt steht mein Bekannter also vor der Konsole und will die Kiste im Grunde nur abschalten. Folgendes Gespräch ergab sich:

Bekannter: init 0 geht nicht, beim shutdown -h now soll -h eine unknown option sein. Ich bin genervt… Wie geht das aus?
Ich: Solaris 11 im poduktiveinsatz? Dann habt ihr auch Support von Oracle; anrufen / chatte die helfen immer sofort.
Bekannter: Laber nicht rum, ich bin hier für die Microsoft Maschinen. Keine Ahnung wo ich weh anrufen kann. Du kannst das doch, oder?
Ich: Joar… Folgendes sollte dir helfen:

$ shutdown -y -i5 -g0

Bekanter: *Klacker Tipper*
Ich: Root Konsole hattest du schon oder?
Bekannter: *Klacker* japp *Klacker*
Ich: shutdown ist shutdown, -y ist damit du nicht gefragt wirst -i5 ist um die Kiste nach dem Shutdown auch aus zu machen und -g0 ist das es unverzüglich gemacht wird.
Bekannter: Warum ist das so kompliziert? Geht das nicht einfacher? Bei Linux ist das doch einfach shutdown -h now… Man… Ich will eine Maus! Ahh ich glaube er fährt runter!
Ich: Du hättest mit man shutdown den korrekten Befehl erlesen können.
Bekannter: Ach, das muss einfacher gehen!
Ich: Ok dann nimmer das nächste mal den Befehl poweroff
Bekannter: Du Sack! Danke..

Ich finde es schon sinnvoll unterschiedliche Arten eines shutdown zu haben. Vor allem mit verschiedenen Arten der Signalisierung.

Firefox Pipelining

Die Pipeliningfunktion vom Firefox ist ein alter Hut, ja. Es ist ein so alter Hut dass man es schon fast wieder vergessen hat. Einmal im Firefox aktiviert schiebt es die Webseiteninhalte „gleichzeitig“ auf den Computer und somit gefühlt etwas schneller. Jetzt sind die Meisten ja irgendwann mal beim Google Chrome hängen geblieben und man muss einfach neidlos anerkennen: Das Teil ist rattenschnell….
Google…. Google ist toll aber wer ist bei Google die Ware? Genau wir! Nun blocken einige Benutzer ganz freudig Cookies im Browser um zumindest ein klein bisschen etwas gegen die Datensammelwut und das einblenden der „personalisierten“ Werbung zu tun. Da kommt Google und baut (ganz schlau) einen Weg ein den Benutzer denn noch zu packen: http://bits.blogs.nytimes.com/2013/09/19/google-is-exploring-an-alternative-to-cookies-for-ad-tracking/

Also doch wieder Firefox oder Midori oder oder?!?!? Japp :-/ Dann aber bitte mit Pipelining, damit es etwas flotter geht. Ach ja, so geht es an:

In der Adresszeile vom Firefox die Seite: about: config aufrufen und die Meldung mit: „Ja ja, ich bin vorsichtig“ abnicken (nein, nicht das Reh). Nun in der Suche einfach folgenden Begriff einwerfen: „pipelining“. Nun Sollten sich in der Anzeige nur noch ca. 11 Einträge befinden. Hier bei den unten stehenden Einträgen durch einen Doppelklick dafür sorgen das aus false ein true wird. Firefox schließen und fertig ist.

network.http.pipelining – true
network.http.proxy.pipelining – true
network.http.pipelining.ssl – true

Wenn man jetzt noch möchte kann man unter: Bearbeiten Einstellungen Erweitert Allgemein den Sanften Bildlauf / smooth scrolling deaktivieren. Viel Erfolg!

Zeitumstellung Sommerzeit / Winterzeit

Ok ok, dass die Zeitumstellung sinnfrei ist, habe ich vor Jahren schon verstanden und ist wohl inzwischen auch bei den meisten anderen „Betroffenen“ angekommen. Wie nervig es sein kann ist mir erst als Vater klar geworden. Ich habe zwar lange versucht meiner 14 Monate alten Tochter das Thema näher zu bringen… Es wurde aber ignoriert. 5:30 Uhr ist nun Action in der Bude!

Können wir das Thema Zeitumstellung bitte abschaffen? Also jetzt? Bitte? Es nervt!

 

 

RT6 Redirect: Invalid Nexthop for Redirect Target

Nur damit ich es bei der nächsten Anfrage zu diesem Thema schön verlinken kann, denn es scheint ein Standardproblem zu sein….

Wenn jemandem also auffällt dass in seinem Kernel oder Syslog Meldungen aufschlagen wie:

Oct 24 16:34:12 hostname kernel: [786717.368688] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:35:30 hostname kernel: [786795.230542] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:36:11 hostname kernel: [786836.309684] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:36:45 hostname kernel: [786870.407123] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:36:45 hostname kernel: [786870.628257] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:39:09 hostname kernel: [787014.210067] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:40:15 hostname kernel: [787080.322571] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:41:41 hostname kernel: [787166.667404] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:43:30 hostname kernel: [787275.473179] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:43:32 hostname kernel: [787277.498606] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:43:32 hostname kernel: [787277.498613] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:43:32 hostname kernel: [787277.584353] rt6_redirect: source isn't a valid nexthop for redirect target
Oct 24 16:43:39 hostname kernel: [787284.396245] rt6_redirect: source isn't a valid nexthop for redirect target

Dann hast du das RFC nicht gelesen! Für das normale Next Hop Routing ist bei IPv6 IMMER die link-local Adresse des Routers zu benutzen und NICHT die Global Unicast IP.

Kontrolle Kontrolle….. Ganz einfach wenn euch folgender Befehl etwas anderes als die fe80 Adresse eures lokalen Router auswirft, dann ist es in 99% der Fällt falsch:

$ ip -6 route show default
default via fe80::20c:42ff:fe72:2ba6 dev eth0 proto static metric 1

Kennt man die Adresse des Routers nicht, hat man die Möglichkeit sie recht einfach zu erfragen, denn Router antworten auf einen ping einer bestimmten Adresse. Möchte ich als wissen, welcher Router hinter meinem eth0 steht:

$ ping6 -c 5 ff02::2%eth0
PING ff02::2%eth0(ff02::2) 56 data bytes
64 bytes from fe80::1: icmp_seq=1 ttl=64 time=40.8 ms
64 bytes from fe80::1: icmp_seq=2 ttl=64 time=24.1 ms
64 bytes from fe80::1: icmp_seq=3 ttl=64 time=0.602 ms
64 bytes from fe80::1: icmp_seq=4 ttl=64 time=0.542 ms
64 bytes from fe80::1: icmp_seq=5 ttl=64 time=0.578 ms

--- ff02::2%eth0 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 0.542/13.344/40.848/16.508 ms

Um das eigentliche Problem besser zu verstehen hilft es den Redirect Punkt besser zu verstehen. Zuerst ICMP Redirect gab es auch bereits bei IPv4… Es ist nichts weiter als eine GAAANZZ alte Version eines Routing „Protokolls“. Über diesen Weg teilt einem der Router eine „bessere“ Route zu einem Ziel mit. Bei einem Router ist es verständlicherweise witzlos bei mehreren „kann“ es helfen. Ich denke aber sauber konfiguriert wäre besser. Wie kommt es nun zu diesem Logeintrag? Ganz einfach…. Ist die IPv6 default Route zum Next Hop nicht, wie vorgeschrieben, die fe80 Adresse des Routers (bei nicht Next Hop Routing natürlich nicht) erreicht der Client den Router und somit die gerouteten Netze (Internet)… Vorausgesetzt der Client hat bereits eine Adresse, welche es ihm ermöglicht den Router überhaupt zu erreichen. Eine fest eingestellt öffentliche IPv6 Adresse zum Beispiel (wenn man hier weiter denkt wird einem schnell klar, dass es schon falsch sein muss nicht die fe80 zu nehmen). ABER wenn der Client nun so seinen Weg über den Router nimmt und dieser dann versucht einem eine „bessere“ Router per ICMP Redirect zu übermitteln, wird der Router hier nicht die fe80 eintragen, sondern die Angesprochene öffentliche. Dieses ist falsch, wird vom Client erkannt und ins Logfile geschrieben!

Nun lassen sich diese Logmeldungen natürlich abschalten, wenn man seinem Client mitteilt, dass er bitte alle ICMPv6 Redirect Messages ignorieren soll, korrekt konfiguriert ist das eigenen Next Hop Routing damit leider noch immer nicht 😀 OK ok… Angreifen könnten natürlich versuchen die ICMP Redirect Messages zu nutzen um einen Angriff zu fahren, denn jeder kann diese Meldungen senden. Damit dieser greift müsste dieser Angreifer im gleichen fe80 (denn nur diese würden vom Client ja genutzt) sitzen. Was bedeutet „am gleichen“ Switch. Ist der Angreifer dort hat er noch 10000 andere Möglichkeiten, gegen welche man sich absichern sollte. Dieses zur Vollständigkeit, da es gerade im speziellen um die Logmeldung geht, gibt es dazu ein anders mal genaueres 😀

Mehr zum Abschalten bis dahin hier:

http://askubuntu.com/questions/118273/what-are-icmp-redirects-and-should-they-be-blocked

So long….

VirtualBox CompareExchange128

Da versuche ich gerade mein Windows 8 auf Windows 8.1 in der VirtualBox zu heben, da springt mich unverhofft eine Meldung an. Ich könne Windows 8.1 nicht installieren da mein Prozessor CompareExchange128 nicht unterstützt.

CompareExchange 128? Das kommt mir im Zusammenhang mit C/C++ und dem Compiler irgendwie bekannt vor. Ich hatte da mal etwas mit einer Binary unter einem FreeBSD. Hing zusammen mit einer AMD64 CPU und noch irgendwas… Gott, warum kann ich mir so einen Mist nicht merken. Aber ich habe in meiner aktuellen Kiste eine Intel CPU. Wobei es wohl eher mit 64Bit als mit dem CPU Hersteller zu schaffen hat. Kann mich da bitte noch mal jemand schlau machen?

Öhm wie auch immer ich erinnere mich daran dass irgendeine recht kryptisch aussehender „Befehlssatz/Anweisung“ im Prozessor genutzt werden sollte. Das Programm auf dem FreeBSD war irgendwie sehr Hardwarenahe übersetzt worden….. 😛

Google brachte mich auf den richtigen Weg, nachdem ich es mit: FreeBSD Compareexchange 128 und AMD64 gefüttert hatte. Plöp: http://en.wikipedia.org/wiki/X86-64 und CMPXCHG16B instruction.

Meine CPU:

$ cat /proc/cpuinfo |grep "model name"|uniq
model name : Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz

Kann diese instruction aber und ich wüsste jetzt nicht das mein Bios oder Hostkernel es abschaltet (warum auch?). AAABBBER vielleicht muss man es für VirtualBox einschalten?!? Ok also VBoxManage und öhm sicherlich VBoxInternal und ich würde es bei CPUM?/device? Vermuten… Ach noch mal Google fragen!

Google bringt mit den Worten: CMPXCHG16B und VirtualBox auch direkt ein passendes Ergebnis!

$ VBoxManage setextradata "Windows 8 " VBoxInternal/CPUM/CMPXCHG16B 1

Tja, was soll ich sagen? Geht 🙂 Gefühlt habe ich mich mit dem Thema schon wieder zu lange beschäftigt und vor allem zu oft Google fragen müssen (ich bin so schlecht). Also tippe ich mal CompareExchange128 CPU und Instruction hier hin. Dann erinnere ich mich sicher daran es mal hier hin geschrieben zu haben .o0(oder auch nicht).

« Ältere Beiträge Neuere Beiträge »

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑