Unter Linux verwendet man folgenden Befehl:
$ grep --color='auto' -P -n "[^\x00-\x7F]" dump.txt
Quelle: How do I grep for all non-ASCII characters?
macOS‘ grep unterstütz dies leider nicht.
Sonntag, 8. März 2020
Unter Linux verwendet man folgenden Befehl:
$ grep --color='auto' -P -n "[^\x00-\x7F]" dump.txt
Quelle: How do I grep for all non-ASCII characters?
macOS‘ grep unterstütz dies leider nicht.
Sonntag, 8. März 2020
Kürzlich habe ich hier beschrieben, wie ich meinem iMac endlich beigebracht habe, E-Mails von der Kommandozeile zu versenden.
Heute dann die Erkenntnis, dass ein Cron- Launchd-Job folgende Fehlermeldung ins Log ausspuckt:
mail: Cannot find a usable character set to encode message: No such entry, file or directory mail: ... message not sent
Ich habe mir dann den zu versendenden Mail-Body in eine Datei ausgegeben und überprüft, ob dort Nicht-ASCII-Charakter vorkommen (Unter Linux Nicht-ASCII-Charakter in einer Datei ausgeben). Volltreffer! Im E-Mail-Text finden sich deutsche und französische Umlaute, die als UTF-8 abgelegt sind.
Das Problem habe ich gelöst, indem ich /opt/local/etc/mail.rc um folgende Zeilen ergänzt habe:
... set ttycharset=utf-8 set charset-8bit=utf-8 ...
Seither klappt es mit dem Versand des E-Mails.
Meine Vermutung ist, dass bei launchd-Prozessen gewisse Umgebungsvariablen nicht mitkommen, die s-nail verwendet, um das Terminal-Charset zu eruieren.
Die Fehlermeldung wird in Zeile 2334 des Source Codes generiert (Stand: 8. März 2020).
Tags: Character Set, Charset, LaunchAgents, launchd, mail.rc, s-nail, UTF-8
Labels: Apple
Samstag, 7. März 2020
Kürzlich poppte folgende Web-Site bei einer meiner Web-Surf-Touren auf. Auf den ersten Blick schaut die Web-Site aus wie 20min.ch. Aber eben nur fast. Sinn und Zweck entzieht sich mir, aber ich denke, dem Opfer soll eine äusserst vertraute Seite vorgegaukelt werden. Wie die Phisher die Web-Site aber mit Informationen gefüllt haben, ist mir immer noch ein Rätsel — die Artikel in der Seitenspalte beispielsweise finden sich nicht auf 20min.ch.
Ah doch:
Dies sagt uns auch gleich, dass die Phisher die Seite vermutlich am oder kurz nach dem 12. Juni 2019 abgegriffen haben.
Als ich einen Screenshot angefertigt habe, habe ich auch gleich herausgefunden, dass Firefox eine Möglichkeit bietet, die gesamte Web-Site in einem Bildschirmphoto zu verewigen. Natürlich habe ich davon gebrauch gemacht:
Die URL: postintercust[.]com/20min/click.php
Tags: 20 Minuten, 20min.ch, Firefox, Phishing, Werbung
Labels: Security
Samstag, 7. März 2020
Kürzlich fiel eine in einem ELK-System verwendete Magnetfestplatte aus. Ich ersetzte diese mit einer SSD, die hier seit einiger Zeit unbenutzt herumlag. Ergattert hatte ich diese bei einer Geschäftsauflösung in Kalifornien, wo sie ungefähr fünf Jahre in einem Schrank am Verstauben war.
Bevor ich die Festplatte formatierte, nahm mich der alte Inhalt darauf wunder. Die Platte wurde in einem Windows-System betrieben und war mit dem Microsoft NTFS Dateisystem formatiert.
Eine solche Festplatte mountet man folgendermassen unter Linux:
# apt-get install ntfs-3g # mkdir /mnt/ntfs # mount -t ntfs-3g /dev/sda1 /mnt/ntfs
Fazit: Nicht viel spannendes, vor allem dutzende ISO-Dateien von völlig veralteten Windows-Installationsmedien und Linux-Distributionen.
Samstag, 7. März 2020
Kürzlich alarmierten mich Installationen von rkhunter auf einigen meiner Debian GNU/Linux-Server täglich über einen möglichen Malware-Befall:
Warning: The following processes are using suspicious files:
Command: dig
UID: 114 PID: 388
Pathname: /lib/x86_64-linux-gnu/libkeyutils.so.1.9
Possible Rootkit: Spam tool component
Command: dig
UID: 417 PID: 388
Pathname: 2799
Possible Rootkit: Spam tool component
Command: dig
UID: 418 PID: 388
Pathname: 2799
Possible Rootkit: Spam tool component
Command: dig
UID: 419 PID: 388
Pathname: 2799
Possible Rootkit: Spam tool component
Nach etwas Recherche dann die Erkenntnis:
Christian Hesse (eworm): But rkhunter has a match on the plain file name „libkeyutils.so.1.9“, see /usr/bin/rkhunter from line 9765. I guess any malicious software used that file name in the past. […]
A. Bosch (progandy): It seems there was an SSHD rootkit in 2013 that used the name. That should be the reason for the entry in rkhunter.
Quelle: FS#63369 – [keyutils] RKhunter reports a possible rootkit
Die Lösung des Problems ist in dem Forumsbeitrag ebenfalls beschrieben. Nachdem ich in rkhunter.conf folgende Zeile eingefügt hatte, verschwand die Warnmeldung:
... EXCLUDE_USER_FILEPROP_FILES_DIRS=/lib/x86_64-linux-gnu/libkeyutils.so.1.9 ... RTKT_FILE_WHITELIST=/lib/x86_64-linux-gnu/libkeyutils.so.1.9 ...
Tags: Debian, dig, libkeyutils.so, libkeyutils.so.1.9, rkhunter
Labels: Linux
Donnerstag, 5. März 2020
Zuerst fiel mir eine Erkenntnis des arabischen Historikers Mas’udi (895-956) ein: „Aus der Geschichte können wir lernen, dass noch nie aus der Geschichte gelernt wurde.
Quelle: Kein deutscher Politiker hat den Auftrag, die Welt zu retten
Tags: Zitat
Labels: Geschichte
Dienstag, 3. März 2020
(Solange es die Publikation noch gibt) Nüchtern und ehrlich, wo es (noch) keine Antworten gibt werden auch keine zusammengezimmert.
Das Coronavirus geht um. Sollten Sie Angst haben? Und wenn ja: was dann?
Englisch, mit dem üblichen Trump- und FoxNews-Bashing und einigen Einspielern, die zum schmunzeln anregen (der Humor darf in der Pandemie nicht verloren gehen!).
Für diejenigen, die keine Übersetzer von Wissenschaft auf Allgemeinbildungsniveau benötigen (und 90 Minuten Zeit haben).
40 bis 70 Prozent der Leute hierzulande werden vermutlich hier angesteckt. Es geht nun also weniger darum, sich in den eigenen vier Wänden zu verbarrikadieren, als einerseits sicherzustellen, dass der Körper den Virus optimal bekämpfen kann, und andererseits diejenigen Leute vor Ansteckung zu schützen, die ab dem Virus sterben könnten (sprich: die älteren Semester und Leute, die bereits jetzt an schweren Krankheiten leiden, die das Immunsystem und die Lungen schwächen).
Fantastisch. Keine Ahnung, wie die Vietnamesen einen solch qualitativ hochstehenden Song mitsamt Video so schnell hingekriegt haben?
Tags: Corona, Covid-19, Die Republik, HBO, John Oliver, Medien, Republik, Salathé
Labels: Leben, Schweiz
Sonntag, 1. März 2020
In den nächsten Tagen wird man Drosten zufolge sehen, »dass neue Fälle und kleine Fallgruppen wie die Pilze aus dem Boden schießen werden«. Deutschland wird dabei vermutlich eine europäische Spitzenposition einnehmen, »weil unsere Bevölkerung sehr reisefreudig ist«. […]
Das beleuchtet die neue Qualität der sich in Europa ausbreitenden Epidemie: Die einzelnen Fälle sind nicht mehr auf einen bekannten Ursprungspatienten zurückzuverfolgen. Zwischen den bekannten Fällen liegen immer mehr unerkannte Infektionen mit vermutlich milder Symptomatik, die gar nicht in den Blick des Gesundheitssystem gekommen sind. Das sind die aus dem Boden hervorschießenden »Pilze« des Professors Drosten, die anscheinend wohl oder übel kommen werden.
Es wird eine ganz normale Pandemie
Will heissen: Es scheint Leute zu geben, die Corona in sich tragen, sich aber nicht (derart) krank fühlen, dass sie überhaupt an eine Corona-Infektion denken.
Beruhigend für all die, die bis jetzt nicht abschätzen können, ob die eigene Corona-Infektion nach einem kleinen Husten vorbei ist, oder uns eben doch für drei Wochen die Lunge aus dem Körper hustend und fiebrig flachlegt.
Beunruhigend für all die alten Leute über 60, welche statistisch einer deutlich höheren Corona-Sterblichkeit entgegensehen. Denn diese könnten von den gesund erscheinenden Corona-Kranken angesteckt werden und schlimmstenfalls an den von der Krankheit verursachten Komplikationen sterben.
Bei Tichy drüben sehen sie schon den perfekten Sturm auf Deutschland zukommen:
Das Coronavirus und die wohl im Entstehen begriffene neue Migrationswelle über die Türkei und den Balkan treffen in Europa und insbesondere in Deutschland auf Gesellschaften, die mit existentiellen Bedrohungen und Krisen keine Erfahrungen mehr haben.
Quelle: Zwei Krisen auf einmal
Sind wir gespannt, wie sich diese zwei Ausnahmeereignisse auf die Abstimmung zur BGI vom 17. Mai 2020 auswirken werden.
Tags: BGI, China, Corona, Covid-19, Epidemie, Europa, Schweiz
Labels: Gesellschaft, Schweiz
Sonntag, 1. März 2020
Angeregt von Manfred Messners Ich gestehe: Auch ich lese „Tichys Einblick“ und „Achse des Guten“ regelmässig habe ich auch damit begonnen, die Artikel der beiden Web-Sites täglich automatisiert in Instapaper zu bookmarken.
Und gelegentlich lese ich den einen oder anderen Artikel nun sogar. Ich mache das hier öffentlich, auf die Gefahr hin, dass mir ab heute Freundschaften gekündet, hier im Blog Hasskommentare hinterlassen oder sogar Morddrohungen gegen mich ausgesprochen werden.
Aber als Historiker bin ich in Quellenkritik ausgebildet und traue mir zu, Fake News, Ausländerhetze und was den Kollegen dort drüben sonst noch alles unterstellt wird, auszumachen. Ich sollte in der Lage sein, die interessanten, nützlichen Inhalte zu extrahieren, ohne gleich am äussersten rechten Rand der Gesellschaft aufzuwachen.
Und nützliche Artikel gibt es dort tatsächlich hie und da, zum Beispiel dieser:
Was die Grünen alles verbieten woll(t)en
Die Grünen setzen auf den Staat, und wenn vom Markt die Rede ist, dann meist in einem negativen Kontext. Und dass die Grünen eine Verbotspartei sind, ist keine Legende, wie Graw zeigt. Die Grünen forderten in den ersten beiden Jahren nach der Bundestagswahl 2017, also zur Halbzeit, in 26 Anträgen im Bundestag explizit Verbote, so etwa des Einsatzes gentechnisch veränderter Bäume. Nur die Linkspartei überbot sie mit noch mehr Verbotsanträgen (34), während die FDP im gleichen Zeitraum drei, die SPD zwei und die Union einen Verbotantrag einbrachten (S.96). Die Grünen wollten in ihrer Geschichte etliches verbieten, haben entsprechende Initiativen zumindest diskutiert oder fordern sie bis heute – vieles auf Bundes-, manches auf Landesebene. Es würde den Platz sprengen, all diese Ideen aufzuführen, von denen sicher nicht alle falsch sind – aber die Summe macht es. Verboten werden sollten:
- Atomkraft,
- Nachrüstung,
- Volkszählung,
- Privatfernsehen,
- Kabelausbau,
- Kasernierung von Wehrpflichtigen,
- Flughafenprojekte,
- Nachtflüge,
- Kurzflüge,
- Transrapid,
- Autos in Innenstädten,
- Verbrennungsmotoren (ab 2030),
- Fracking,
- Plastiktüten,
- Plastikstrohhalme,
- Kohle,
- Schweröl,
- Werbung für E-Zigaretten,
- öffentlich zugängliche Zigarettenautomaten,
- Limonadenverkäufe an Schulen,
- Onlineshopping am Sonntag,
- Zero-Rating beim Mobilfunk,
- Heizpilze,
- Paintball,
- Ponyreiten auf Jahrmärkten,
- Erste-Klasse-Abteilungen in der Bahn
usw.usf. (S. 95).
Quelle: Die Grünen: Partei der Verbote, des Moralismus und der Macht
Meine Prophezeiung: Je schneller die Grünen auch in der Schweiz klaren Wein einschenken und ihre ersten Verbote versuchen durchzudrücken, umso rascher wird die Partei wieder auf ihre ursprüngliche Wählerstärke schrumpfen. Denn sobald die Verbote auch von den städtischen Wählern verlangen, ihr Leben umzukrempeln, wird deren Unterstützung in den nächsten Wahlen rasch sinken. Den Lebensstil ändern? Ja, gerne, aber bitte einfach alle anderen.
Tags: Achse des Guten, Grüne, Grüne Partei, Tichy
Labels: Politik
Sonntag, 1. März 2020
Emails von der Kommandozeile versenden — was man bei Linux im Handumdrehen hinkriegt, erforderte bei mir unter macOS stundenlange Handstände.
Doch jetzt habe ich den Kniff raus: Die von macOS mitgelieferte postfix-Installation habe ich schlussendlich ignoriert und auf das MacPorts postfix-Paket gesetzt.
Der erste Fallstrick lauert schon hier: Um heutzutage über einen Hoster E-Mails zu versenden, benötigt man zwingend SASL und TLS. Diese Features müssen als sog. MacPorts Variants explizit mitinstalliert werden, sonst landen sie nicht auf dem Mac:
# port install postfix +sasl +tls
Ansonsten meldet postfix:
... Mar 01 14:16:11 imac postfix/smtp[70687]: warning: smtp_sasl_auth_enable is true, but SASL support is not compiled in Mar 01 14:16:11 imac postfix/smtp[70687]: warning: TLS has been selected, but TLS support is not compiled in ...
Eine funktionierende postfix-Konfiguration mitsamt Installationsscript habe ich von meinen Linux-Servern herüberkopiert (diese Anleitung alleine würde das Format dieses Blog-Artikels sprengen). Die Konfiguration habe ich aber mit den MacPorts-Einstellungen ergänzt. Denke daran: Bei Linux liegen die Konfiguration sowie die Arbeitsverzeichnisse allesamt am erwarteten Ort (bspw. /etc/postfix/main.cf). Da wir unter macOS auf MacPorts setzen, liegt dieselbe Datei hier unter /opt/local/etc/postfix/main.cf. Deshalb habe ich zur Sicherheit in main.cf folgende von MacPorts vorgeschlagene Ergänzungen (siehe /opt/local/etc/postfix/main.cf.sample) hinzugefügt:
$ cat /opt/local/etc/postfix/main.cf # Directories queue_directory = /opt/local/var/spool/postfix command_directory = /opt/local/sbin daemon_directory = /opt/local/libexec/postfix data_directory = /opt/local/var/lib/postfix meta_directory = /opt/local/etc/postfix manpage_directory = /opt/local/share/man sample_directory = /opt/local/share/postfix/sample readme_directory = /opt/local/share/postfix/readme shlib_directory = no html_directory = no # Paths sendmail_path = /opt/local/sbin/sendmail newaliases_path = /opt/local/bin/newaliases mailq_path = /opt/local/bin/mailq # Log maillog_file_prefixes = /var, /var/log/macports/postfix maillog_file = /var/log/macports/postfix/postfix.log # Other stuff ... mail_owner = _postfix setgid_group = _postdrop default_privs = nobody unknown_local_recipient_reject_code = 550 debug_peer_level = 2 ...
Weiter hatte ich während dem Debuggen so meine liebe Mühe, die Logging-Informationen zu finden, da diese an syslog gesendet werden und bei macOS dann in der Console.app landen. Deshalb habe ich im Gegensatz zu meinen Linux-Installationen auch noch die Konfigurationsdatei /opt/local/etc/postfix/master.cf anpassen müssen. Essentiell war es, die folgende Zeile einzufügen:
... postlog unix-dgram n - n - 1 postlogd ...
Quelle: Postfix logging to file or stdout
Damit mir die Parallelinstallation von Postfix nicht in die Quere kommt und ich mir sicher war, dass die MacPorts-Installation von postfix tatsächlich die Konfiguration unter /opt frisst, habe ich kurzerhand den macOS postfix-Ordner verschoben:
# mv /etc/postfix /etc/postfix.bkp
Ob das wirklich nötig gewesen wäre sei dahingestellt; Vorsicht, wer das auf seinem System macht: Ich garantiere für nichts.
Die Postfix-Installation lädt man folgendermassen:
# port load postfix # launchctl unload /Library/LaunchDaemons/org.macports.postfix.plist # launchctl load -w /Library/LaunchDaemons/org.macports.postfix.plist
Die plist-Datei zeigt als symbolischer Link nach /opt/local/etc/LaunchDaemons/org.macports.postfix/org.macports.postfix.plist. In dieser Datei habe ich folgendes angepasst/ergänzt — das ist nicht zwingend nötig, sollte aber dazu führen, dass Postfix bei jedem Neustart automatisch gestartet wird. Ausserdem sollten im Fall von Start-Problemen Fehlermeldungen in eine Log-Datei geschrieben werden:
...
<string>--pid=none</string>
</array>
<key>Disabled</key>
<false/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/var/log/launchd.macports.postfix.standard.log</string>
<key>StandardErrorPath</key>
<string>/var/log/launchd.macports.postfix.error.log</string>
</dict>
</plist>
Anschliessend musste noch eine Mail-Programm her, welches erlaubt, den Absender eines E-Mails selber zu setzen. MacPorts bietet hierzu s-nail an (Homepage des Entwicklers).
# port install s-nail
Als ich mit s-nail ein Test-Mail versenden wollte folgte eine weitere Hiobs-Botschaft:
$ echo "Test email" | mail user@domain.tld unknown: fatal: open /etc/postfix/main.cf: No such file or directory /Users/user/dead.letter 7/135 mail: ... message not sent
Ich übertreibe nicht, wenn ich sage, dass ich Stunden mit Debugging verbracht habe. Bis ich plötzlich realisierte, dass s-nail die offiziellen Mail-Executables mail, mailx und/oder sendmail unter /usr/bin verwendet. Der Lackmus-Test: Wenn ich diese Mail-Executables manuell aufrief, erschien ein- und dieselbe Fehlermeldung.
Dies obwohl meine Bash PATH-Variable /opt/local/bin und /opt/local/sbin vor /usr/bin und /usr/sbin nennt, verwendete s-nail aus irgendeinem Grund standardmässig die letztgenannten Pfade.
Wie sage ich s-nail aber, dass es stattdessen die MacPorts mail-Befehle verwenden soll? Folgende Anpassung in /opt/local/etc/mail.rc war nötig:
... set mta=/opt/local/sbin/sendmail
Anschliessend musste noch eine Mail-Programm her, welches erlaubt, den Absender eines E-Mails selber zu setzen. Ich verwende in Bash-Scripts sehr oft folgendes Konstrukt, und ich wollte sicherstellen, dass die Scripts sowohl unter Debian GNU/Linux als auch macOS laufen (Argument -a):
$ echo -e "Test" | $(which mail) -a "From: DNS Query Analyzer" -s 'Top 25 DNS Queries' user@domain.tld another.user@domain.tld
Ich habe leider eine schlechte, aber auch eine gute Nachricht. Die gute: Man kann auch unter macOS den Absender setzen. Leider aber nicht mit demselben Befehl wie unter Debian GNU/Linux.
Bei s-nail muss ich leider ein anderes Argument verwenden:
$ echo -e "Test" | $(which mail) -r "DNS Query Analyzer" -s 'Top 25 DNS Queries' user@domain.tld another.user@domain.tld
Doch nun trat bereits das nächste Problem auf, wie ein Blick in die leere INBOX und in /var/log/macports/postfix.log zeigte:
... Mar 01 15:43:59 imac postfix/smtp[81049]: 4D0E3FBBE221: to=<user@domain.tld>, relay=s000.cyon.net[149.126.4.000]:25, delay=20, delays=0.03/20/0.03/0.04, dsn=5.0.0, status=bounced (host s000.cyon.net[149.126.4.000] said: 550 SPF: 1.2.3.4 is not allowed to send mail from emeidi.com (in reply to RCPT TO command)) ...
Faszinierend. Unter Linux hatte ich eine solche Fehlermeldung noch nie gesehen. Ich verwende für den Versand „offizieller“ E-Mails jeweils emeidi.com als Absenderadresse.
Schlussendlich blieb nur die Holzhammer-Methode. Ich verschob alle Konfigurationsdateien, welche auf meinen Linux-Installationen nicht existierten, von /opt/local/etc/postfix in den Unterordner _old. Schlussendlich sah das Verzeichnis so aus:
$ find /opt/local/etc/postfix/opt/local/etc/postfix /opt/local/etc/postfix/_old /opt/local/etc/postfix/_old/access /opt/local/etc/postfix/_old/access.sample /opt/local/etc/postfix/_old/aliases /opt/local/etc/postfix/_old/aliases.sample /opt/local/etc/postfix/_old/bounce.cf.default /opt/local/etc/postfix/_old/canonical /opt/local/etc/postfix/_old/canonical.sample /opt/local/etc/postfix/_old/generic /opt/local/etc/postfix/_old/generic.sample /opt/local/etc/postfix/_old/header_checks.sample /opt/local/etc/postfix/_old/LICENSE /opt/local/etc/postfix/_old/main.cf.default /opt/local/etc/postfix/_old/main.cf.proto /opt/local/etc/postfix/_old/main.cf.sample /opt/local/etc/postfix/_old/master.cf.proto /opt/local/etc/postfix/_old/master.cf.sample /opt/local/etc/postfix/_old/relocated /opt/local/etc/postfix/_old/relocated.sample /opt/local/etc/postfix/_old/TLS_LICENSE /opt/local/etc/postfix/_old/transport /opt/local/etc/postfix/_old/transport.sample /opt/local/etc/postfix/_old/virtual /opt/local/etc/postfix/_old/virtual.sample /opt/local/etc/postfix/header_checks /opt/local/etc/postfix/main.cf /opt/local/etc/postfix/makedefs.out /opt/local/etc/postfix/master.cf /opt/local/etc/postfix/postfix-files /opt/local/etc/postfix/sasl /opt/local/etc/postfix/sasl/outgoing /opt/local/etc/postfix/sasl/outgoing.db
In sasl/outgoing entfernte ich zudem den TCP-Port nach der Server-Adresse, und master.cf ergänzte ich mit Zeilen, die bisher nur unter Linux existierten.
Und jetzt endlich kann ich mir von der Kommandozeile aus E-Mails senden. Hat nur geschlagene sechs Stunden gedauert.
Tags: From, High Sierra, macOS, macOS High Sierra, MacPorts, Mail, mail.rc, mailq, mailx, main.cf, master.cf, postfix, s-nail, SASL, sendmail, SPF, TLS
Labels: Apple, IT