Wenn Kopierer nicht kopieren…

…ist vermutlich Software im Spiel.

Sehr sehenswerter/unterhaltsamer Vortrag aus dem Jahre 2014. Wer es noch nicht kennt…

“Kopierer, die spontan Zahlen im Dokument verändern: Im August 2013 kam heraus, dass so gut wie alle Xerox-Scankopierer beim Scannen Zahlen und Buchstaben einfach so durch andere ersetzen. Da man solche Fehler als Benutzer so gut wie nicht sehen kann, ist der Bug extrem gefährlich und blieb lange unentdeckt: Er existiert über acht Jahre in freier Wildbahn.”

https://www.youtube.com/watch?v=7FeqF1-Z1g0

URL encoding in Java.

Here is, how I encode URLs in Java.

  1. Split URL into structural parts. Use java.net.URL for it.
  2. Encode each part properly
  3. Use IDN.toASCII(putDomainNameHere) to Punycode encode the host name!
  4. Use java.net.URI.toASCIIString() to percent-encode, NFC encoded unicode – (better would be NFKC!). For more info see: How to encode properly this URL
    URL url= new URL("http://search.barnesandnoble.com/booksearch/first book.pdf);
    URI uri = new URI(url.getProtocol(), url.getUserInfo(), IDN.toASCII(url.getHost()), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
    String correctEncodedURL=uri.toASCIIString(); 
    System.out.println(correctEncodedURL);

    Prints

    http://search.barnesandnoble.com/booksearch/first%20book.pdf

 

Was tun mit Apache Logfiles?

Zwei Dinge, die gut umzusetzen sind:

  1. In ein Analysetool laden. z.B. https://matomo.org/
  2. Anonymisieren

Hier ein Beispiel Setup auf einem Ubunturechner.

Es werden zwei täglich laufende Cronjobs angelegt

0 1 * * * /scripts/import-logfiles.sh
0 2 * * * /scripts/depersonalize-apache-logs.sh

Mit dem `import-logfiles.sh` Skript werden nun einmal täglich die Serverrequests vom letzten Tag in die Matomodatenbank geladen. Mit dem  `depersonalize-apache-logs.sh` werden alle Logfiles, die älter als sieben Tage sind bearbeitet. Dabei werden für alle IPs die letzten zwei Bytes auf 0 gesetzt.

Beide Beispielskripte lassen sich auf Github finden. Beide Skripte gehen dabei davon aus, dass der Apache seine Logfiles rolliert und zu `gz` Dateien komprimiert, die unter `/var/log/apache2` liegen und immer mit dem String “other_vhosts_access.” beginnen.

import-logfiles.sh

depersonalize-apache-logs.sh

Backup MySQL

This is how I backup MySQL databases.

Solution consists of three files

Find complete solution here

The backup-db.sh is called every day with Parameter -b for backup and with parameter -c for cleanup. The backup routine dumps all MySQL databases into one file. The  cleanup routine removes old backups (older than 30 days, see LIMIT variable). The restore routine requires to hardcode a certain snapshot into the script. The variables.conf must be placed in same folder as backup-db.sh .

This is how the backup folder looks after running the script for 32 days at 23h.

20181009-023001.sql 20181020-023001.sql 20181031-023001.sql
20181010-023001.sql 20181021-023001.sql 20181101-023001.sql
20181011-023001.sql 20181022-023001.sql 20181102-023001.sql
20181012-023001.sql 20181023-023001.sql 20181103-023001.sql
20181013-023001.sql 20181024-023001.sql 20181104-023001.sql
20181014-023001.sql 20181025-023001.sql 20181105-023001.sql
20181015-023001.sql 20181026-023002.sql 20181106-023001.sql
20181016-023001.sql 20181027-023001.sql 20181107-023001.sql
20181017-023001.sql 20181028-023001.sql 20181108-023001.sql
20181018-023001.sql 20181029-023002.sql
20181019-023001.sql 20181030-023001.sql

The folder will contain backups for the last 31 days.

 

Track user movement by WiFi transmissions

As authors of “Adversarial WiFi Sensing” state in their conclusion:

“Our work brings up an inconvenient truth about wireless transmissions. While greatly improving our everyday life, they also unknowingly reveal information about ourselves and our actions. By designing a simple and powerful attack, we show that bad actors outside of a building can secretly track user presence and movement inside the building by just passively listening to ambient WiFi transmissions (even if they are encrypted). To defend against these attacks, we must control the volume and coverage of WiFi signals, or ask APs to obfuscate signals using cover traffic.
While our attack targets WiFi localization and tracking, our methodology can be generalized to sensing mechanisms at different RF frequencies (e.g.UHF, cellular, millimeter wave [63]) and other mediums (acoustic [32], ultrasound [47, 61], visible light, magnetics). Beyond this single attack,we hope to highlight largely overlooked privacy risks from ambient RF (and other) signals around us.”

https://arxiv.org/abs/1810.10109v1

Ubuntu ufw firewall

Mit dem ufw-Kommando (Uncomplicated Firewall) steht auf Ubuntu eine sehr einfache Möglichkeit zur Verfügung, den iptables2 Paketfilter zu konfigurieren.

Bevor man die Firewall aktiviert, sollte man zumindest den SSH Zugriff freigeben! und die Dienste, die nach außen notwendig sind, z.B.

z.B

sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh

Nun kann man die neu gesetzten Regeln aktivieren

sudo ufw enable
sudo ufw status

Der Server wird jjetzt nur noch Anfragen auf den Ports 80,443 und 22 beantworten. Das Verhalten lässt sich im Logfile beobachten unter

sudo tail -f /var/log/ufw.log

Du kannst auch weitere Ports freigeben

ufw allow _any_port_number_

Oder auch einzelne Ports für einzelne IPs

ufw allow from 192.168.0.1 to any port 8080

Tim Berners-Lee – Daten selbst verwalten mit Solid

Tim Berners-Lee arbeitet weiter an seiner Vision des World Wide Web. Sein neues Projekt heißt Solid und soll es Personen und Organisationen erlauben, ihre Daten selbstbestimmt zu verwalten. Webapplikationen können dann gezielt mit Daten versorgt werden. Wo die Daten gespeichert werden und wer darauf zugreifen darf, dies bestimmt der Benutzer selbst, indem er Daten in einem selbst kontrollierten Webbereich ablegt. Mit der Solid Plattform kann der Benutzer seinen Bereich kontrollieren und administrieren.

https://medium.com/@timberners_lee/one-small-step-for-the-web-87f92217d085

https://solid.inrupt.com/how-it-works

Projekt GITenberg

Alle Texte von Project Gutenberg in Versionskontrolle und mehr…

https://www.gitenberg.org/


Ein Post auf go-to-hellman gibt einen Eindruck vom Projektstatus

“So here’s what’s been done:

  • Almost 57,000 texts from Project Gutenberg have been loaded into Github repositories.
  • EPUB, PDF, and Kindle Ebooks have been rebuilt and added to releases for all but about 100 of these.
  • Github webhooks trigger dockerized ebook building machines running on AWS Elastic Beanstock every time a git repo is tagged.
  • Toolchains for asciidoc, HTML and plain text source files are running on the ebook builders.
  • A website at https://www.gitenberg.org/ uses the webhooks to index and link to all of the ebooks.
  • www.gitenberg.org presents links to Github, Project Gutenberg, Librivox, and Standard Ebooks.
  • Cover images are supplied for every ebook.
  • Human-readable metadata files are available for every ebook
  • Syndication feeds for these books are made available in ONIX, MARC and OPDS via Unglue.it.”

https://go-to-hellman.blogspot.com/2018/10/a-milestone-for-gitenberg.html