Sonntag, 28. August 2016

Admin-Interface des Routers gegen das Internet (WAN) schliessen

Der Nachteil der Verwendung von Asuswrt-Merlin auf meinem Asus RT-AC66U-Router ist das latent vorhandene Gefrickel. Ich kann es kaum erwarten, bis mein Turris Omnia ankommt!

So musste ich vor einigen Monaten bemerken, dass das Web-Interface meines Routers aus dem Internet zugänglich ist, egal, ob ich diese Option im Web-GUI des Routers nun aktiviere oder deaktiviere. Das Interface läuft auf Port 8443 und ist nur mit HTTPS erreichbar (mit einem selber signierten Zertifikat).

Ich griff deshalb kurzerhand zu iptables, um diesen sicherheitsmässigen Fahrlässigkeit den Garaus zu machen: Ich loggte mich per SSH auf den Router ein und fand zuerst einmal das WAN-Interface heraus:

$ ifconfig
...
eth0       Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX 
           inet addr:85.X.X.X  Bcast:85.X.X.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:662731029 errors:0 dropped:0 overruns:0 frame:0
           TX packets:536190886 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:871096761 (830.7 MiB)  TX bytes:4294213359 (3.9 GiB)
           Interrupt:4 Base address:0x2000
...

Soso, eth0 also, da dies das einzige Interface mit einer öffentlichen IP war.

Folgender iptables-Befehl killt alle aus dem WAN stammenden Anfragen auf Port 8443:

# iptables -A INPUT -i eth0 -p tcp --destination-port 8443 -j REJECT
# iptables -A INPUT -i eth0 -p tcp --destination-port 22 -j REJECT

Wieso ich REJECT und nicht (wie ursprünglich konfiguriert) DROP gewählt habe? Drop versus Reject

Schnellcheck

Um sicherzugehen, dass die iptables auch wirklich nützen, habe ich mich dann des Tools NetRenderer bedient. In der Adresszeile des Web-Tools gebe ich

https://85.X.X.X:8443/

ein und warte, bis mir ein Timeout angezeigt wird. Wird stattdessen ein Zertifikat-Fehler angezeigt, weiss ich, dass die Verbindung (leider) immer noch möglich ist.

Langfrist-Check

Auf StatusCake habe ich mir einen Check auf dieselbe URL eingerichtet, welcher mich alarmiert, sollte die Verbindung plötzlich wieder möglich sein (bspw. auf Grund eines Reboots). Dies war heute der Fall, nachdem die Regel 57 Tage und 9 Stunden gehalten hatte.

Nachtrag

Himmelarsch, Port 22 (SSH) war auch die ganze Zeit über offen!

$ nmap -F 85.X.X.X
22/tcp   filtered ssh
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
445/tcp  filtered microsoft-ds
8443/tcp filtered https-alt

Tags: , , , , , , , , , , , , ,
Labels: Uncategorized

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

Eine MacPorts-Variante installieren

Wenn MacPorts folgende oder ähnliche Fehler meldet …

--->  Computing dependencies for jslint
--->  Configuring jslint
Error: You need to install spidermonkey with the +fileobject variant in order to use jslint.
Error: org.macports.configure for port jslint returned: incompatible spidermonkey installation
Please see the log file for port jslint for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_jslint/jslint/main.log

installiert man die geforderte Variante folgendermassen:

# port install spidermonkey +fileobject

Quelle: 3.2. Port Variants

Tags: , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

Das iPhone bei SMS und Anrufen „blitzen“ lassen (optischer statt haptischer Alarm)

Ein neuer Arbeitskollege verwendet statt eines Vibrationsalarms (ich habe diesen im geräuschlosen Modus komplett ausgeschaltet, da er in Sitzungen nur nervt) einen optischen Alarm: Kriegt er ein SMS oder einen Anruf, blinkt der LED-Blitz seines iPhones äusserst gut sichtbar, auch durch Kleidungsstücke hindurch.

Fasziniert musste ich natürlich sofort wissen, wie man diese Funktionalität einschaltet:

  • Settings
  • General
  • Accessibility
  • [x] LED Flash for Alerts

Quelle: How to turn on the LED notification light on your iPhone

Ich denke, dass diese Funktion eigentlich für taube Mitmenschen entwickelt wurde — im Büroalltag aber durchaus auch brauchbar.

Tags: , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

Dem Raspberry Pi 3 chinesische Schriftzeichen beibringen

Seit einigen Woche betreibe ich mein heimisches Dashboard auf einem Raspberry Pi 3 und bin von der Performance begeistert! Sogar Chrome kriegt man nun als Installationspaket mitgeliefert.

Leider zeigte Chrome nach der Standardinstallation chinesische Schriftzeichen (bei den Währungsinfos) nicht an. Folgende Pakete rüsten chinesische Schriftzeichen nach:

# apt-get install fonts-arphic-bkai00mp fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp

Quelle: Chinese Debian Mini Howto — 2. Installing Chinese Fonts

Tags: , , , , , , , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

PHP-Fehlermeldungen ausser E_DEPRECATED loggen

Unter Apache (.htaccess oder VirtualHost-Konfiguration) stellt man dies folgendermassen ein:

...
php_value error_reporting 24575
...

Den ersten Hinweis lieferte How to disable deprecated messages in Joomla?. Doch die dort angegebene Konstante (22527) ist überholt, weil PHP 7 neue Fehlerkonstanten mitbringt, welche noch hinzuaddiert werden müssen.

Hierfür habe ich mich der Liste unter Error Handling — Predefined Constants bedient, und

32767 - 8192 = 24575

berechnet.

Tags: , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

Qualitäts-Gütesiegel einer Kommunikationsplattform

Hat was …

If your secure communications platform isn’t being used by terrorists and pedophiles, you’re probably doing it wrong.

— Anonym

Quelle: Yardbird’s Effective Usenet Tradecraft

Tags: , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

Auf dem Laptop einen Web-Server aktivieren, um Dateien auf ein iPad und iPhone herunterzuladen

Update 2021: Unter Python 3 lässt sich der Server folgendermassen starten:

$ python3 -m http.server

Quelle: What is the Python 3 equivalent of “python -m SimpleHTTPServer”

In den Ferien stand ich vor dem Problem, eine ca. 50 MB grosse Datei (Teneriffa-Reiseführer von Lonely Planet) von meinem Laptop auf mein iPad und mein iPhone zu kopieren.

Ein Versand per E-Mail war aus zwei Gründen ausgeschlossen: Mein Mail-Server akzeptiert solch grosse Dateien gar nicht erst, und ausserdem verfügte unser AirBnB nur über ein popeliges ADSL-Modem mit Geschwindigkeiten um die Jahrhundertwende. Das Modem hätte mich dementsprechend zuerst mit einem extrem langen Upload zum Mail-Server und anschliessend mit einem extrem langen Download vom Mail-Server genervt. Zu guter Letzt unterstützt mein MacBook auch kein AirDrop, um Dateien per Bluetooth oder WLAN zwischen iOS und OS X-Geräten auszutauschen.

Was nun? Das standardmässige unter OS X installierte Python eilt einem zur Hilfe: Man öffnet das Terminal, navigiert zum Verzeichnis, in welcher sich die gewünschte Datei befindet, und gibt dann folgenden Befehl ein:

$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

Nachdem man mittels ifconfig oder dem Network-Modul unter System Preferences die IP-Adresse des Laptops ausfindig gemacht hat, surft man auf den iOS-Geräten die folgende URL mit Safari an:

http://10.1.2.3:8000/

Ein Klick auf den Dokumentenlink, und innert weniger Sekunden wird das grosse PDF angezeigt und kann in iBooks gespeichert werden.

Python meldet auf der Kommandozeile dabei Folgendes:

10.25.9.220 - - [04/Jul/2016 10:14:18] "GET / HTTP/1.1" 200 -
10.25.9.220 - - [04/Jul/2016 10:14:20] "GET /canary-islands-6-whole-book.pdf HTTP/1.1" 200 -
10.25.9.208 - - [04/Jul/2016 10:15:12] "GET / HTTP/1.1" 200 -
10.25.9.208 - - [04/Jul/2016 10:15:18] "GET /canary-islands-6-whole-book.pdf HTTP/1.1" 200 -
10.25.9.235 - - [04/Jul/2016 10:15:57] "GET / HTTP/1.1" 200 -
10.25.9.235 - - [04/Jul/2016 10:16:03] "GET /canary-islands-6-whole-book.pdf HTTP/1.1" 200 -

Tags: , , , , , ,
Labels: Apple, Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

SNMPd schreibt standardmässig kein PID-Datei mehr

Ein kürzlich erfolgtes Update des SNMPd-Pakets auf meinem Debian-Server hatte zur Folge, dass meine monit-Installation den Service fälschlicherweise als offline meldete.

Dies, weil monit nach der PID-Datei des SNMP-Daemons Ausschau hält, um dessen Prozess-ID auszulesen und auf Existenz zu prüfen. Bei Debian liegt diese Datei unter /var/run/snmpd.pid.

Folgendermassen re-aktivierte ich die PID-Datei:

/etc/systemd/system/multi-user.target.wants/snmpd.service

Vor der Anpassung …

...
ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f
...

… und nach der Anpassung:

...
ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f -p /var/run/snmpd.pid
...

Anschliessend folgte noch ein Neustart des Daemons:

# systemctl stop snmpd
Warning: snmpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
# systemctl daemon-reload
# systemctl stop snmpd
# systemctl start snmpd

Und prompt meldete mir monit, dass der Service wieder online sei.

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Freitag, 12. August 2016

Nicht alle Google-Kalender werden in Calendar.app auf iOS angezeigt

In solchen Fällen lohnt es sich, mit dem Browser als erstes folgende URL aufzurufen:

calendar.google.com/calendar/iphoneselect

Dort überprüft man, ob man den gewünschten Kalender tatsächlich zur Synchronisation mit iOS-Geräten (iPhone oder iPad) ausgewählt hat.

Quelle: HOW TO SYNC MULTIPLE GOOGLE CALENDARS TO YOUR IPHONE OR IPAD

Tags: , , , , , , ,
Labels: Apple

12 Kommentare | neuen Kommentar verfassen

Montag, 8. August 2016

Spuren eines Abfallsünders

In meiner Metamorphose zu einem Schweizer-Bünzli bin ich beim nächsten Meilenstein angelangt: Ich rege mich tödlich ab den Abfallsündern auf, welche an der Glas- und Alusammelstelle an der Brunnmattstrasse hier in Bern ihren ganzen Hauskehricht liegen lassen.

Ich meine wie bescheuert muss man sein, den eigenen Abfall aus der Wohnung zur Recyclingstelle zu tragen und dann dort zu deponieren?

Heute war ich wieder mal vor Ort und habe unseren Glasabfall entsorgt. Mir fiel bei der Ankunft an den Containern sofort eine Denner-Papiertragetasche auf, welche bis oben mit leeren PET-Flaschen gefüllt war.

Da ich so oder so noch auf dem Weg ins Coop Brunnmatt war, um unsere PET-Flaschen zu entsorgen, nahm ich die Tragetasche kurzerhand mit. Beim Entleeren fiel mir auf, dass der Besitzer der Tragetasche einen zerknüllten Einkaufszettel zurückgelassen hatte:

Abfallsünder Einkaufsbeleg Denner 3008 Bern

Welche Erkenntnisse ziehe ich aus diesem Beweismittel?

  • Die Person kauft im Denner ein.
  • Die Person — und/oder deren Familie — scheint Unmengen an Parfumreis-Reis zu konsumieren (2 Säcke à 1 Kilogramm).
  • Auch Milch ist hoch im Kurs (2 Liter).
  • Und dem Alkohol ist die Person ebenfalls zugeneigt (5 Dosen à 5 Deziliter)
  • Die Person scheint ohne Tragetaschen einkaufen zu gehen, weshalb sie im Laden selber ein Tasche kaufen muss.
  • Die Person ist ein skrupelloser Abfallsünder: Sie muss die leeren PET-Flaschen wenige Minuten nach ihrem Einkauf heute um 19:28 Uhr — am hellichten Abend — entsorgt haben; ich war gegen etwa 19:40 Uhr an der Entsorgungsstelle.
  • Das schlimmste am Ganzen: Sowohl der Denner als auch das benachbarte Coop haben PET-Sammelstellen. Im Laden drin.
  • Die Person bezahlt nicht bar, sondern besitzt eine EC Maestro-Karte mit den Endziffern XXXX XXXX XXXX XXX0 746
  • Die Person besitzt folglich ein Bankkonto.
  • Interessant ist der Passus „Débit“ der Kartenbuchung — bei meinen Einkäufen steht dort „Buchung“. Ich gehe davon aus, dass die Person französischsprachig ist.

Tags: , , , , , ,
Labels: Bern, Gesellschaft, Leben

1 Kommentar | neuen Kommentar verfassen