Ubuntu and OpenVPN: Set pushed DNS servers globally

I’m using OpenVPN to connect to my home network. The endpoint is on my pfSense firewall I use there. I’m able to export a config file containing all needed connection parameters and needed certificates.
You can import that file into Ubuntus‘ Network Manager. However, the parser isn’t that good. You have to tweak the configuration to match the real config file. Pushed DNS servers or custom set ones are not used. The result is a stable connection without name resolution. Surfing the web isn’t fun without that.

I pass using the Network Manager because teweaking the settings in three different applications is not very end user friends. I decided to go back to the good old CLI.
My OpenVPN server pushes the DNS IP addressess. There are different approaches to use them globally.

Bad approach: Editing /etc/resolv.conf

This isn’t a very good approach, because you have to manually edit the system configuration. Normally all DNS servers are configured in the file under /etc/resolv.conf. Read More „Ubuntu and OpenVPN: Set pushed DNS servers globally“

Ubuntu und OpenVPN: Gepushte DNS Server Systemweit bekannt machen

Um mich mit meinem Heimnetzwerk zu verbinden benutze ich OpenVPN. Der Endpoint liegt auf meiner pfSense Firewall. Dort kann ich eine fertige OpenVPN Konfigurationsdatei erzeugen, in der alle benötigten Zertifikate und Verbindungsdetails hinterlegt sind.
In Ubuntu kann man diese Konfiguration in den Network Manager importieren. Leider funktioniert das nicht so wirklich. Selbst wenn man manuell diese Einstellungen ändert und manuell DNS Server setzt, werden diese nicht Systemweit bekannt gemacht. Das Resultat ist eine stehende Verbindung, jedoch ohne Namensauflösung. Surfen an sich macht dann nicht viel.

Auf den Network Manager werde ich also erstmal wieder verzichten, da ich bei einer VPN Verbindung nicht an drei verschiedenen Programmen rumdoktern will. Ich benutze als Fallback also das Terminal.
Mein OpenVPN Server pushed die IP Adressen des DNS Servers. Damit diese nun Systemweit bekannt ist hat man ein paar Möglichkeiten.

Unelegante Lösung: /etc/resolv.conf anpassen

Diese Lösung ist nicht elegant, da ich hier wieder manuell am System rumschrauben muss. Bei Linux konfiguriert man in dieser Datei alle DNS Server, die zur Namensauflösung verwendet werden sollen. Read More „Ubuntu und OpenVPN: Gepushte DNS Server Systemweit bekannt machen“

Ubuntu 15.10/16.04 – Swap center und bass/LFE on 5.1 audio output

I’m using an USB sound card on my laptop, because due to missing audio jacks I can’t connect them directly to it. The sound card is recognized by Ubuntu 15.10 or 16.04 as „CM106 Like Sound Device“. The problem ist that the center- and bass/LFE-speakers are swapped. I know that this wasn’t so in Ubuntu 15.04.

To get them in the right order again you open your terminal and open the file under /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf as root. In there you can find the following config block:

[Mapping analog-surround-51]
device-strings = surround51:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
paths-output = analog-output analog-output-lineout analog-output-speaker
priority = 8
direction = output

This is the standard profile for 5.1 output. In the GUI this is used when „Analog Surround 5.1 Output“ is selected. To change center- and bass/LFE-speakers you adjust the channel-map line like the following:
Read More „Ubuntu 15.10/16.04 – Swap center und bass/LFE on 5.1 audio output“

Ubuntu 15.10/16.04 – Center und Bass/LFE bei 5.1 Audio vertauschen

Ich benutze eine USB Soundkarte am Laptop, da ich mein Roccat Kave XTD nicht mit den Klinksteckern am Laptop direkt anstecken kann. Der Grund dafür sind fehlende Steckmöglichkeiten :-)
In Ubunteu 15.10 und 16.10 meldet sich diese Soundkarte als „CM106 Like Sound Device“. Das Problem ist, dass Center- und Bass- bzw. LFE-Lautsprecher vertauscht sind. In Ubuntu 15.04 war das noch nicht so.

Um dies zu ändern öffnet man im Termin (als root) die Datei unter /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf. In dieser Datei befindet sich folgender Block:

[Mapping analog-surround-51]
device-strings = surround51:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
paths-output = analog-output analog-output-lineout analog-output-speaker
priority = 8
direction = output

Das ist das Standardprofil, was in der GUI als „Analog Surround 5.1 Ausgang“ bezeichnet wird. Um nun Center- und Bass- bzw. LFE-Lautsprecher zu vertauschen, passt man die Option „channel-map“ an, sodass die Reihenfolge in der Zeile so aussieht: Read More „Ubuntu 15.10/16.04 – Center und Bass/LFE bei 5.1 Audio vertauschen“

Tor Exit Relay: WordPress Kommentar-Spam mit iptables blockieren

Aktuell beschäftige ich mich wieder mit meinem Dilemma. Anhand von Traces sehe ich, dass mein Tor Exit Relay von Spammern missbraucht wird. Eigentlich ist es die Aufgabe des Seitenbetreibers seine Kommentar-Funktion anständig abzusichern. Ich möchte aber zumindest ein bisschen Helfen, in dem ich keine WordPress Kommentare über mein Relay erlaube.
Zuerst dachte ich an einen vorgeschalteten Proxy Server. Bei meiner Recherche fand ich aber heraus, dass iptables für mein Vorhaben völlig ausreicht.

Analyse

Seit Freitag gegen 9 Uhr verbiete ich sämtliche ausgehende POST Anfragen an meinem Tor Exit Relay, die an einen HTTP Server gehen. Dazu habe ich diese iptables Regel eingefügt:

iptables -I OUTPUT -s 31.220.45.6 -p tcp --dport 80 -m string --string 'POST /' --algo bm -j REJECT --reject-with tcp-reset -m comment --comment "Tor POST block"

Diese Regel ist seitdem ca. 616.000 mal zur Geltung gekommen und hat 380 MB an Traffic geblockt.
Diese Regel ist natürlich nicht sinnvoll, da sie nicht nur WordPress Kommentare blockiert, sondern auch Captchas usw.

Wichtig: HTTPS Verbindungen sind von dieser Regel nicht betroffen, da iptables oder ein Proxy nicht das SSL/TLS aufmachen kann, ohne dass der Nutzer davon etwas mitbekommt. Zum Glück :-)

Read More „Tor Exit Relay: WordPress Kommentar-Spam mit iptables blockieren“

Tor Exit Relay: Block WordPress Comment-Spam with iptables

I’ve seen in network traces that my Tor exit relay is heavily used by spammer. Normally it’s the „victims“ job to secure their comment section but I want to help by rejecting WordPress comments over my relay.
My first idea was to route the Tor traffic through a proxy. But while researching I found out that iptables is capable of doing some basic kind of traffic inspection.

Checking

Since Friday 9 o’Clock I reject every POST request to a HTTP server over my exit relay. This was done using the following rule:

iptables -I OUTPUT -s 31.220.45.6 -p tcp --dport 80 -m string --string 'POST /' --algo bm -j REJECT --reject-with tcp-reset -m comment --comment "Tor POST block"

Since that, this rule was used for round about 616.000 times and rejected 380 MB traffic. It’s of course not very usefull since every POST request is blocked (like when solving captchas) and not just WordPress comment submissions.

Hint: Only unencrypted HTTP is affected by this rule. Encrytped HTTP over TLS/SSL can’t be filtered without getting noticed by the user. I’m glad for that :-)

Read More „Tor Exit Relay: Block WordPress Comment-Spam with iptables“

Logitech G930 and Ubuntu 15.10 / 16.04

Storytime

My loved Roccat Kave died from cable break and is now not usable anymore. I’ve had it for round about 6 years and was replaces two times (each because of cable break). I don’t want to buy a new one because I wanted a cordless headet. The benefits are

  • No cable breaks anymore
  • Stand up and walk around without cables in the way
  • No pulling when the cable gets stuck somewhere
  • You can take your friends in TeamSpeak with you to the toilet :-)

There are a few negative aspects as well: You are limited in the range the headset operates and when the battery is low it’s a wired headset again.
I decided that I want a cordless headset. For me it was important that it has to work in Ubuntu because I don’t have Windows. I’ve had a closer look on the Logitech G930 which costs currently round about 105 € on Amazon. Explicit Linux support is stated neither on the the product sice nor on the vendor site. Read More „Logitech G930 and Ubuntu 15.10 / 16.04“

Logitech G930 und Ubuntu 15.10 / 16.04

Vorgeschichte

Mein gutes altes Roccat Kave – das ich die letzten sechs Jahre nutzte und zwei mal getauscht wurde – ist durch einen Kabelbruch unbrauchbar. Ein neues Kave wollte ich nicht kaufen. Stattdessen wollte ich ein tolles kabelloses Headset. Die Vorteile liegen auf der Hand:

  • Kein Kabelbruch mehr
  • Aufstehen ohne es absetzen zu müssen
  • Kein ziehen wenn das Kabel irgendwo festhängt
  • Man kann seine Kollegen im TeamSpeak mit aufs Klo nehmen :-)

Ein paar Nachteil hat es natürlich auch: Die Reichweite ist jetzt nicht so groß und wenn der Akku leer wird hat man wieder ein Kabel. Trotz alledem wollte ich ein kabelloses headset.
Wichtig war, dass es unter Ubuntu läuft. Mein Blick viel auf das Logitech G930, mit einem aktuellen Preis von 105 € auf Amazon. Auf der Produktseite findet sich leider kein Hinweis auf Linux Unterstützung und auf der Herstellerseite wird nun Windows angegeben. Read More „Logitech G930 und Ubuntu 15.10 / 16.04“

pfSense: AES-NI Hardware Crypto Acceleration in KVM

I already mentioned that I’m using pfSense as firewall and router as a KVM guest. I wanted to connect the place where I live with the place of my grandparents over a site-to-site VPN using OpenVPN. For this purpose I’ve bought a PcEngines APU.1D4. A test in my local gigabit LAN was very low HD Streaming, but the APU.1D4 was not the bottleneck.

No delegation of hardware features

I found the bottleneck on my KVM hostsystem. The configured CPU for the pfSense machine was the QEMU CPU. I have configured this for most machines to reduce overhead simulating a „real“ CPU. But the QEMU CPU ist not capable of delegation hardware features like AES-NI, SSE, etc.
I’ve changed the settings to emulate a „Sandy Bridge“ processor which afterwards is recognized an an E3 processor.

Read More „pfSense: AES-NI Hardware Crypto Acceleration in KVM“

New GPG Key

I was shot during the weekend. Now I’ve a new GPG key:

Fingerprint:

87A8C897300C3464E9F8B0ABFB7F2741CA106CBC

It can be found on the keyservers or on the About Me page.

* Update 2015-05-09*

Of couse I wasn’t shot. I wanted to revoke a subkey but imported and published the revoke certificate for the master key. I had to create a new keypair.