Wie man Zertifikate für https besser nicht erstellt

Ich kann mir eine gewisse Schadenfreude nicht verkneifen.

Es gibt da eine von der Bundesregierung geförderte Seite krypto-charta die sich mit Vertretern aus Wirtschaft, Fachverbänden, Verbraucherorganisationen und Wissenschaft dafür einsetzt https als Standard zu etablieren. Weil https ist ganz doll wichtig.

Ruft man diese Seite allerdings auf passiert Folgendes:

NET::ERR_CERT_DATE_INVALID

Subject: www.krypto-charta.de

Issuer: D-TRUST SSL Class 3 CA 1 2009

Expires on: 12.02.2018

Current date: 18.02.2018

Respekt 😉
Einmal mit Profis arbeiten.

Zum Artikel auf heise wie wichtig doch Zertifikate und https sind 🙂

Sophos Antivirus auf dem Mac

Nachdem ich mich ja schon einmal über den Sinn und Unsinn von AntiViren-Software (AVS) auf dem Mac ausgelassen hatte, muß ich das Thema nochmals aufgreifen.

Hintergrund der Geschichte ist, daß einer meiner Kunden nun die Nutzung privater Laptops in seinem Netzwerk erlauben möchte, sofern man denn u.A. dieses lustige AVS von Sophos installiert.

Grundsätzlich spricht natürlich zunächst einmal Nichts dagegen, ein Unternehmensnetzwerk abzusichern, aber bei Sophos werde ich hellhörig.

Schauen wir doch einfach mal, was dieses AVS so anpreist:

Melden Sie sich jetzt an und schützen Sie Macs und PCs innerhalb von Minuten. Die Installation ist schnell erledigt und Sie können sofort einen Virenscan durchführen oder neue Webfilter hinzufügen. Schützen Sie bis zu 10 Macs oder PCs. Diese können auf der ganzen Welt verteilt sein.

Kontrollieren Sie mit Webfiltern, welche Inhalte Ihre Familie im Internet aufrufen darf. Sie können einfach festlegen, welche Inhalte Sie auf den einzelnen Computern jeweils erlauben oder blockieren möchten.

Ich installiere also diese Software auf meinem Mac/PC und kann dann 10 Rechner weltweit schützen und mit Web-Filtern bestücken ?

Klingt im ersten Moment interessant, aber auch nur wenn einem diese beiden Sätze nicht sofort klar sind 🙂

Wie schütze ich denn 10 Rechner weltweit, wenn ich die Software nur bei mir auf einem Mac/PC installiere ?

Na, den Trick gemerkt ?

Richtig, daß ist eine dieser Cloud-Fruckellösungen die anscheinend bei Allem was ich tue, permanent nach Hause telefoniert.

Sieht man von dem nutzlosen Cloud- und AVS-Gefruckel ab, über das sich u.A. fefe schon seit Jahren aufregt, hat Sophos ja auch mit dem sagenumwobenen Malwareprotect sogar die NHS Krankenhäuser in GB geschützt. Also vor dem Wannacry-Verschlüßelungstrojaner, zumindest bis zum 14.05.2017 – das war der Sonntag nach dem Freitag, als mehr als 200.000 Rechner weltweit befallen wurden und die von Sophos geschützte NHS-Infrastruktur in GB den Bach runter ging 🙂

Und, nur so meine persönliche Meinung, eine Software-Company die damit wirbt, vor Viren, Trojanern und Malware zu schützen und 2 Tage später ihren Internetauftritt dahingehend ändern muß, da sie es komplett versaut haben, das Sicherheitsbedürfnis des Kunden aber verstehen, Denen würde ich persönlich nur so weit trauen, wie ich Steine schmeißen kann 🙂

Das Fazit:

dieses angeblich schützende Produkt kommt auf keinen meiner Rechner, nachdem es am 12.05.2017 mehr als Eindrucksvoll bewiesen hat, daß es sinnlos ist 🙂

 

In eigener Sache – der Like-Button

Hallo zusammen,

wie ich heute leider feststellen mußte, funktionierte der Like-Button unter den Beiträgen nur für Benutzer, die bei WordPress angemeldet waren 🙁

Ich habe nun kurzer Hand das im WordPress enthaltene Plugin ausgetausch.

Ab sofort kann man auch „Liken/Disliken“, wenn man nicht angemeldet ist.

Gruß

px3

 

Linux – ich habe keinen RAM mehr

Da ich in den letzten Jahren immer wieder Diskussionen darum hatte, daß Linux den „gesamten“ RAM auffrisst, habe ich mir gedacht, da ich mein Wissen eh ins Blog schreiben wollte, wäre jetzt ein guter Zeitpunkt den Sachverhalt nochmal eindeutig in einem Artikel zu veröffentlichen.

Worum geht es ?

Ich mach das Problem am sinnvollsten an einem Bild deutlich:

Das ist einer meiner Linux Server, der laut top unschwer behauptet 12.414 GB RAM von 32 GB RAM zu verwenden.
Da nur ein paar kleinere Java-Applikationen und ein DB-Server auf der Büchse laufen, sieht das natürlich erstmal imposant aus.

Wow, die eine JAVA-App zieht 12GB virtuell – das ist übrigens mein BitBucket (6GB) mit ElasticSearch (6GB) – MySql zieht auch schon 3GB RAM.

Aber halt, ist das wirklich so ?

Schauen wir uns doch einfach mal den Prozess 10676 an, der angeblich 6706,7MB verbrät.
– Sorry, daß werden jetzt knappe 1000 Zeilen 🙂 –

Also laut pmap verbraucht dieser Java-Prozess tatsächlich nur ca. 1,6 GB RAM und keine 6,8GB.

Was zeigt denn also top da bei VIRT an ?
Das ist schlicht alles, was die Applikation gerade im Zugriff hat, also Files und RAM.
Wie man am pmap sehr schön sehen kann, hat die eine JVM tatsächlich irgendwo knappe 6 GB insgesamt im Zugriff, also Logfiles, Klassen und halt auch nebenbei noch RAM (1,5GB).

Warum sagt mir mein Top, daß ich 12GB von 32GB RAM gerade verbrauche ?

Hier kommt Linux ins Spiel. Schauen wir uns einfach einmal an, was da in dem Bildchen unter „cached Mem“ steht, kommen wir der Sache auf die Spur

Laut top haben wir also 7,5GB an „cached Mem“.

Machen wir mal die Gegenkontrolle mit free

Und wie man bei free sehr schön sehen kann, haben wir in der Zeile „-/+ buffers/cache“ unter „free“ auf einmal 26GB RAM stehen.
Meine laufenden Applikationen ziehen also tatsächlich nur irgendwas um 6GB RAM, inklusive OS.

Aber was ist das denn nun mit dem „cached Mem“ ?

Linux nimmt sich die Freiheit für schnellere Zugriffe auf Files diese schlicht im RAM zu cachen.
Damit also das Linux auf meinem Server den Zugriff auf die physikalischen Festplatten so gering wie möglich halten kann, cached es halt die Dateien, die oft im Zugriff sind, schlicht im RAM.

Und wenn meine Apps jetzt mehr tatsächlichen RAM brauchen ?

Die Frage ist recht simpel zu beantworten: in dem Moment, wo der tatsächliche RAM-Bedarf seitens der installierten Applikationen höher wird, wird der cached-Memory automatisch vom OS wieder freigegeben an die Applikationen.
Wenn man nun recht langsame Festplatten in seinem System hat, könnte daß ein Moment sein, wo man auf einmal Leistungseinbrüche auf dem System feststellen kann.

 

Fazit

Wenn ihr meint, daß Euer Speicher vom Linux „aufgefressen wird“ schaut einfach mit free nach, was in der Zeile „-/+ buffers/cache“ unter „free“ steht, dann wisst Ihr, was Ihr noch an Reserven habt. 🙂

 

 

Debian und Initscripte

Unter Debian gibt es für init Scripte eigentlich eine recht gute Vorlage, die man unter /etc/init.d/skeleton findet.

OK, war ein Scherz 🙂
Die Vorlage ist mehr als rudimentär und nicht wirklich nutzbar.

Da ich auch kleinere Webservices/Server geschrieben habe, die irgendwo laufen, hab ich mir mal ein simples init-Script geschrieben, daß ich nun überall unter Debian/Ubuntu nutze.

Simpel deswegen, weil ich nur ein paar Zeilen anpassen muß, damit ich das für jedes Projekt verwenden kann.

Das Script baut auf dem LSBInit-Framework auf.

Hier einfach ein Beispiel für meinen GPRS-Server, Scriptname gprsserver, der ein laufendes mysql benötigt:

Sieht zwar kompliziert aus, ist es aber nicht wirklich.
Alles was man einstellen muß, hört mit dem „END OF CONFIG-SECTION“ auf.

Das fertig angepasste Script, gefolgt von einem chmod 755, kopiert man dann einfach nach /etc/init.d/gprrserver

Anschließend teilt man dem System noch über ein

mit, das es bitte in /etc/rcX.d die entsprechenden Links setzen möge.

Noch ein Update für den RedPill Screensaver für OS X 10.12 (Sierra)

Sorry, daß ich gerade etwas „hektisch“ release, aber dem Wunsch, daß ich doch bitte auch endlich einen deutschen Einstellungsdialog bringe, konnte ich nicht widersprechen.

Die neue Version hat keine gravierenden Änderungen, außer halt dem deutschen Einstellungsdialog.

Ich hab noch ein paar interne Bugfixes gemacht, die sich aber nicht auf die Lauffähigkeit auswirken.
OK, jetzt funktioniert der „About/Über“-Button wieder, aber viel mehr ist da nicht geändert worden.

Die neueste Binary Version findet sich also im Downloadbereich wieder.

Der Code auf Github wurde natürlich auch wieder aktualisiert.

Viel Spaß mit der Version.

RedPill deutsche Übersetzung

Da ich seit Samstag, nachdem ich die neue Version von RedPill für OS X Sierra veröffentlicht habe, mit E-Mails zugebombt werde, warum ein deutscher Entwickler in den Screensaver nicht zumindest auch mal eine deutschsprachige Einstellungsmöglichkeit einbaut, habe ich mir Heute mal etwas Zeit genommen und was „gebastelt“.

Persönlich mag ich lieber das Englische, weil es da nicht so lustige Wortwendungen gibt, aber egal, ein großer Teil der deutschen RedPill-User mag nun auch eine deutsche Einstellungsmöglichkeit.

Da ich mir nicht sicher bin, ob mir das so wirklich geglückt ist, steht diese Übersetzung nun zur Disposition.

Hier die Übersetzung:

RedPill Deutsch

 

So, jetzt sind Eure Kommentare gefragt. 🙂

Update RedPill Screensaver für OS X 10.12 (Sierra)

Da ich nun endlich dazu gekommen bin auf OS X Sierra upzudaten, habe ich mir gedacht, es wäre auch eine gute Idee, direkt RedPill upzudaten.

Die Änderungen waren diesmal Gott sei Dank nur minimal.

Es hatten sich lediglich einige interne Strukturen in den OS X Librarys von int auf long geändert.

Die neueste Binary Version findet sich also im Downloadbereich wieder.

Der Code auf Github wurde natürlich auch wieder aktualisiert.

 

Viel Spaß weiterhin mit RedPill 🙂

Was tun bei DoS/DDoS-Angriffen ?

Ich beobachte nebenbei gerne die neuesten Entwicklungen im Bereich DDoS (DistributedDenialofService).

NEIN, nicht weil ich es selbst nutzen möchte, sondern schlicht um Kunden besser schützen zu können.

In den letzten Tagen hatte schon Akamai die Segel gestrichen, als ein illustrer Traffic von 620GBit/s das Blog von Brian Krebs lahmlegte (übrigens eine mehr als imposante Zugriffsrate für ein Blog 🙂 ).
Heute lese ich nun auf Heise, daß der französische Hoster OVH von einem DDoS mit 1,1TB/s minimal überrascht wurde.

Das sind mal UpStream-Raten 🙂

Und nu ?

Da nun nicht jeder Webseitenbetreiber von einem DDoS in diesen Außmaßen getroffen wird, empfiehlt es sich zum Beispiel beim Apache httpd etwas wie mod_evasive einzusetzen.
Es wird ganz sicher nicht dem Anfangs genannten Traffic von 620GB/1,1TB standhalten – da ist der Speicher schneller voll, als man Papp sagen kann – aber es hilft doch gegen Script-Kids und wirklich einfach gestrickte DoS/DDoS-Versuche.

Zusätzlich könnte man natürlich auch noch eine Strategie wählen die ich in diesem Beitrag beschrieben hatte und diese Methode auf Port 80 ausdehnen.

 

Toll 🙁

Ich werde mal am Wochenende versuchen einen etwas detaillierten Beitrag zu mod_evasive zu schreiben 🙂

Welche Gegenmaßnahmen man sonst noch treffen kann, darf ich, nach gründlicher rechtlicher Recherche, hier leider nicht posten 🙁

Jenkins Slave-Nutzung

Sofern man sich beim Jenkins für die Skalierung mittels Build-Slaves entschieden hat, läuft man zwangsläufig in eines der Jenkins Grundprobleme:
Man hat zwar nun mehere Build-Slaves, die Jobs werden aber nach wie vor nach dem Jenkins Prinzip auf dem entsprechenden Node gestartet.

Was meine ich nun mit Jenkins-Prinzip ?
Jenkins startet grundsätzlich den auszuführenden Job IMMER dort, wo er zuletzt ausgeführt wurde.

Wenn also alle meine Jobs bisher auf dem Master ausgeführt wurden, werden sie auch weiterhin dort ausgeführt, was dann den Aufbau von Build-Slaves ad Absurdum führt 🙁

Die Lösung

Es gibt ein sehr zu empfehlendes Plugin für Jenkins: Scoring Load Balancer

Das Plugin überschreibt das Standardverhalten vom Jenkins und entscheidet anhand von Konfigurationen, wie die Last auf die Knoten verteilt werden soll.

Es gibt bei diesem Plugin diverse Möglichkeiten die Last gewichtet zu verteilen, allerdings ist meine präferierte Einstellung bei diesem Plugin das „Scoring by Node Loads“.

Hier wird im Endeffekt für jeden Build-Knoten zunächst ein Wert „Scale for Scores“ definiert.
Jeder „Freie Build-Executor“ erhält nun noch einen inkrementellen Wert und jeder „Belegte Build-Executor“ einen dekrementellen Wert.

Um zu verdeutlichen, wie das Ganze nun funktioniert, nehmen wir einfach mal folgende Jenkins-Knoten-Konfiguration an:

Knoten Anzahl Build-Prozessoren Knoten Score
Master 30 300 (30*(1*10))
Slave 1 30 300 (30*(1*10))

Wird jetzt auf dem Master ein Job ausgeführt, sinkt der Knoten Score auf 290, da ja ein Build-Prozessor belegt ist.
Wird nun während des laufenden Builds auf dem Master ein weiterer Build angestoßen, sucht das Plugin nun nach dem Knoten, der den höchsten verfügbaren Knoten-Score hat. In diesem Fall wäre das dann der theoretische Knoten Slave 1.

Das Plugin bietet des Weiteren diverse Kombinationsmöglichkeiten von Gewichtigungsvarianten, allerdings bin ich bisher mit dieser einfachen Konfiguration am besten gefahren. 🙂