Archive

Posts Tagged ‘FreeBSD’

HAProxy plugin available for OPNsense

May 25th, 2016 Comments off

OPNsense, the open source firewall, just received it’s own HAProxy plugin, a GUI for the popular HAProxy load balancer. And today’s release of OPNsense 16.1.15 included the first batch of bugfixes and improvements.

While OPNsense already includes a load balancer based on OpenBSD’s relayd, the new HAProxy plugin allows for far more complex configurations and has a superior feature-set. HAProxy’s features include SSL offloading, Lua scripting, extensive header manipulation and many more. It’s known for being a very fast and reliable solution.

The new HAProxy plugin integrates nicely with the OPNsense GUI and makes it easy to build complex HAProxy configurations:
338f5aca-04f9-11e6-807e-6d2626c2e481

42832df4-04f9-11e6-87a6-5b5cb9f218c2

555dbab6-04f9-11e6-8b22-779b0f47471a

The development was sponsored by markt.de. You can find the original pull request along with some additional information here. Please submit bug reports and feature requests on GitHub.

Categories: [EN] Tech Tags: , , ,

OPNsense: Warum Open Source Firewalls wichtig sind

December 6th, 2015 Comments off

In nahezu jedem Unternehmen kommt auf die ein oder andere Weise Open Source Software zum Einsatz. Vom Betriebssystem für Arbeitsplatzrechner über die Datenbanksoftware für unternehmenskritische Daten bis hin zum Webserver zur Auslieferung der Website des Unternehmens – Open Source ist scheinbar überall und leistet hervorragende Arbeit.

Bei einem Thema ist das allerdings anders: Die Firewall. Hier greifen Unternehmen offenbar ohne zu zögern zu den kommerziellen Produkten der etablierten Größen der Branche. Aber warum ist das so?

Sicherheit von Open Source

Ein wichtiger Aspekt: Sicherheit. Die Firewall eines Unternehmens ist zwar nicht der Heilige Gral, aber sie spielt eine wichtige Rolle dabei, ebendiesen gegen Angriffe zu schützen. Bedeutet die Bevorzugung kommerzieller Lösungen bei diesem wichtigen Thema also, dass Open Source Firewalls weniger Sicherheit bieten?

Die eigentliche Frage lautet: Ist Open Source Software unsicher? Und diese Frage beantworten branchenübergreifend die größten Unternehmen, indem sie sensible Daten ganz selbstverständlich mit Open Source Software verarbeiten und speichern. Das würde in diesem Umfang nicht stattfinden, wenn es erwiesen wäre, dass Unsicherheit der hohe Preis für den Einsatz dieser kostenlosen Lösungen wäre.

Der gefühlte Vorteil

Es geht also gar nicht um messbare Werte, wie die Zahl der erkannten Sicherheitslücken eines Produkts, sondern um die gefühlte Sicherheit. Und die ist bei Open Source Firewalls bisher schlecht. Wieso? Das liegt an der Omnipräsenz kommerzieller Lösungen am Markt und der Tatsache, dass kaum ein Unternehmen den Mut aufbringt, den Einsatz der Open Source Alternativen offen bekannt zu machen und zu unterstützen. Fehlendes Marketing dieser Projekte ist dabei vielleicht ein weiterer wichtiger Aspekt.

Aber wenn sie schon nicht weniger sicher sind, dann bieten sie doch zumindest einen schwächeren Schutz gegen Angriffe oder weniger ausgeklügelte Sicherheitsfunktionen, richtig? OPNsense, die Open-Source Firewall um die es in diesem Artikel hauptsächlich geht, bietet bereits IDS Funktionen und hat erst kürzlich IPS Funktionen in der Entwicklerversion freigeschaltet und im Januar 2016 werden sie in der stabilen Version verfügbar sein. Neben kaum noch beachteten Selbstverständlichkeiten wie Paketfiltern und VPN-Tunneln waren solche Funktionen bislang häufig unerreichbar für Unternehmen, denen kein großes Budget für IT-Sicherheit zur Verfügung steht.

Was Unternehmen an kommerziellen Produkten lieben

Hohe Sicherheit und alle wichtigen Funktionen bieten Open Source Firewalls bereits. Was hält Unternehmen dann noch davon ab, diese Lösungen selbst zu verwenden? Die Haftungsfrage. Also der Wunsch nach einem Verantwortlichen bei Sicherheitsfragen und -problemen. Oder eine Möglichkeit, Hilfe bei der Umsetzung komplexer Aufgaben zu erhalten. Das alles gibt es bei Open Source Lösungen nicht, richtig? Falsch. Bei zahlreichen Projekten wird die Weiterentwicklung von Unternehmen gesponsort und kostenpflichtiger Support von Partnern und Unterstützern bereitgestellt.

In diesem Fall hat es ein wenig den “Free-to-Play” Charakter, den viele von Mobile Games kennen: Es kann völlig kostenfrei genutzt werden, aber gewisse Extras kosten etwas. Diese extras sind größtenteils kommerzieller Support oder vom Projekt unterstützte Hardware. Wenn ein Unternehmen darauf angewiesen ist, kann es beides von Decisio bekommen, dem Unternehmen hinter dem OPNsense Projekt: zertifizierte Hardware und kommerziellen Support gibt es auf den entsprechenden Webseiten.

Wert von Open Source Firewalls – OPNsense

Worin liegt also der Wert von Open Source Firewalls? Ist es die Kostenersparnis? Wahrscheinlich nicht. Ein Teil der Kosten, die dadurch eingespart werden, muss voraussichtlich in die Wartung und Pflege investiert werden.

Der eigentliche Wert steckt bereits im Begriff “Open Source”: Größtmögliche Offenheit. Alle Fehler und Schwächen liegen offen – und werden so zu einer Stärke des Projekts. Denn dadurch kann jeder etwas zur Verbesserung beitragen. Ein Unternehmen könnte gezielt zur Behebung eines Fehlers oder zur Integration eines neuen Features beitragen. Dabei ist nicht ausschließlich Geld und Personal gefragt, sondern auch die Erstellung qualifizierter Fehlerberichte und Feature-Wünsche beschleunigt diesen Prozess. In kommerziellen Produkten haben nur die größten Kunden die Möglichkeit einer solchen Einflussnahme, bei Open Source ist das grundlegend anders.

Noch einmal zum Begriff “Open Source”. Das bedeutet in erster Linie: offener Quellcode. Aber eigentlich sollte es noch viel mehr bedeutet: Offene Kommunikation, aktive Einbeziehung der Nutzer, keine Angst vor Forks und vor allem: keinen relevanten Quellcode verstecken oder den Zugang dazu erschweren. Deshalb ist OPNsense so empfehlenswert, wenn es um Open Source Firewalls geht, denn diese Punkte sind fester Bestandteil der Philosophie des Projekts. Kein Wunder, denn man ist sich seiner eigenen Geschichte vollständig bewusst: M0n0wall => pfSense => OPNsense. Noch dazu baut das Projekt bewusst Unterschiede zur stabilen Version von FreeBSD ab, wodurch viele Ressourcen für die Wartung eingespart werden und in die Weiterentwicklung fließen können.

Dazu gesellen sich die gewohnten Errungenschaften heutiger Open-Source Projekte:

Fazit

Open Source Lösungen sind ständigem Wandel unterworfen: Projekte sterben, Forks tauchen auf, Software wird neugeschrieben. Aber auch kommerzielle Produkte zwingen die Nutzer oft zum Produktwechsel oder zu einem ungewünschten Upgrade. Fortlaufende Veränderung lässt sich also nicht vermeiden. Und das ist auch gut so, sonst würden wir wohl kaum Verbesserungen und nie irgendwelche Innovationen erleben.

Der Einsatz von Open Source Firewalls ist für Unternehmen kein Risiko, sondern eine große Chance, die akzeptierten Grenzen kommerzieller Produkte endlich zu durchbrechen.

Upgrading FreeBSD 9.2 to 10.1 fails

November 28th, 2014 Comments off

The other day I was upgrading an old FreeBSD 9.2 node to the recently released FreeBSD 10.1. This is a rather easy task, thanks to the freebsd-update(8) utility. Well, this time it failed while trying to update the userland components:

# freebsd-update install
Installing updates…ln: ///usr/lib/private/libheimipcc.so: No such file or directory
install: ///usr/lib/private/libheimipcc.so.11: No such file or directory
ln: ///usr/lib/private/libheimipcs.so: No such file or directory
install: ///usr/lib/private/libheimipcs.so.11: No such file or directory
ln: ///usr/lib/private/libldns.so: No such file or directory
install: ///usr/lib/private/libldns.so.5: No such file or directory
ln: ///usr/lib/private/libssh.so: No such file or directory
install: ///usr/lib/private/libssh.so.5: No such file or directory
ln: ///usr/lib/private/libucl.so: No such file or directory
install: ///usr/lib/private/libucl.so.1: No such file or directory
ln: ///usr/lib/private/libunbound.so: No such file or directory
install: ///usr/lib/private/libunbound.so.5: No such file or directory
ln: ///usr/lib/private/libyaml.so: No such file or directory
install: ///usr/lib/private/libyaml.so.1: No such file or directory

Actually it didn’t really “fail”. Besides these obvious errors it still exited with code 0. But some libraries which are required by sshd and pkg were missing. The reason for this failure is rather simple: The directory /usr/lib/private is missing from FreeBSD 9.2, but freebsd-update assumes that this directory already exists. Unfortunately this directory wasn’t introduced until FreeBSD 9.3.

A quick fix is to create the missing directory prior to running freebsd-update. I guess more people will come across this issue since FreeBSD 9.2 is nearing it’s end-of-life date.

Categories: [EN] Tech Tags: , , ,

pfSense: Unattended installation with Foreman

September 4th, 2014 Comments off

As you may know, Foreman is probably the lifecycle management tool for virtual and physical servers. And it already supports a rather large number of different operating systems. Lately it got support to provision FreeBSD servers and this brought up the idea to add support for pfSense firewalls as well.

First of all: This project was a success. It is now possible to automatically deploy pfSense with Foreman. I’ve created a small video to showcase the deployment of pfSense using Foreman:

The video may not be very entertaining, but it should give you an impression on how the unattended installation works (even if you don’t know Foreman yet).

You can download the required Foreman templates from Github. You may also want to have a look at the Foreman Documentation to find out how to add these templates to your instance of Foreman.

What are the benefits?
– do fully unattended installations of pfSense
– in conjunction with Puppet it allows you to automate basically every task (full lifecycle management)
– choose from different versions of pfSense according to your needs

How does it work?
– it assumes you want to use The Foreman to provision your servers
– it assumes that pfSense can be automatically provisioned similar to FreeBSD
– on top of that assumption it’s basically a set of patches for the pfSense Installer
– it assumes you want to use Puppet with pfSense

Feedback or contributions? Please use the Github issue tracker.

VRRP on oVirt not working

October 18th, 2013 Comments off

I’m using oVirt as KVM hypervisor and wanted to setup some high-available FreeBSD and pfSense Clusters with CARP/uCARP. Unfortunately, neither CARP nor uCARP were working. I could see VRRP advertisements on my KVM hypervisor coming in from one pfSense/FreeBSD VM…

kvm# tcpdump -i vnet13 -s 1500 -n -X  |grep -i vrrp
tcpdump: WARNING: vnet13: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vnet13, link-type EN10MB (Ethernet), capture size 1500 bytes
11:17:46.386437 IP 10.10.10.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 2, prio 0, authtype none, intvl 1s, length 36
11:17:47.353269 IP 10.10.10.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 2, prio 0, authtype none, intvl 1s, length 36
11:17:48.363266 IP 10.10.10.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 2, prio 0, authtype none, intvl 1s, length 36

…but these VRRP packets never reached the interface of the secondary pfsense/FreeBSD VM. It turns out that a new network-filters feature in oVirt prevented VRRP packets from getting forwarded. This feature was introduced in oVirt 3.2 and prevents guests from spoofing other mac-addresses than these which are assigned by the oVirt engine. A very kind guy on the oVirt mailinglist told me about this.

The fix is to disable the anti-spoofing feature on the oVirt engine (assuming running oVirt 3.3):

  1. On oVirt engine run: engine-config -s EnableMACAntiSpoofingFilterRules=false –cver=3.3
  2. Restart the ovirt-engine service: systemctl restart ovirt-engine
  3. Restart the VMs

Thanks to Moti Asayag from RedHat for this useful answer.

FreeBSD won’t boot on KVM virtualization

July 30th, 2013 Comments off

It’s a somewhat long-standing issue: When using KVM virtualization, your FreeBSD guests are limited to only one CPU. If you choose to add more vCPUs to your FreeBSD guest, it won’t boot at all.

There is an easy workaround to this issue: Change the CPU compatibility mode in KVM/qemu. If you run oVirt this can be done in the cluster settings. I needed to change the CPU name from “Intel Nehalem Family” to “Intel Penryn Family”. Now it’s possible to add more than one vCPU to my FreeBSD guests.

Update: Good news! I’ve just tried the latest oVirt 3,3 (BETA), which utilizes Fedora 19 and qemu-kvm 1.4.2… and surprisingly the problem is gone! Even when using default oVirt/KVM settings, multiple vCPUs will not cause problems anymore.

Swap Datei erstellen

July 30th, 2013 Comments off

Der Einsatz einer Swap Partition ist unflexibel. Das zeigt sich besonders dann, wenn im laufenden Betrieb der Swap Speicher erweitert werden soll. Abhilfe schafft hier eine Swap Datei, die unter Linux wie folgt erstellt wird:

dd if=/dev/zero of=/swapfile bs=1024 count=4194304
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

Damit wird eine 4 GB große Swap Datei erstellt und mit swapon auch gleich aktiviert. Damit die neue Swap Datei beim nächsten Neustart automatisch aktiviert wird, ist folgender Eintrag in /etc/fstab notwendig:

/swapfile swap swap defaults 0 0

Unter FreeBSD ist der Einsatz von Swap Dateien ebenfalls möglich. Dies wird ausgezeichnet im FreeBSD Handbuch beschrieben.

Categories: [DE] Tech Tags: , , , ,

FreeBSD hängt bei der Erstellung eines Snapshots

January 13th, 2013 Comments off

Ich habe dieses Problem bereits selbst unter FreeBSD 8.3 beobachtet: Während der Erstellung eines Dateisystemsnapshots, zum Beispiel bei der Verwendung von dump, kommt es zum totalen Stillstand. Das System läuft zwar noch, aber die Festplattenaktivität kommt vollständig zum erliegen. Nichts hilft, bis auf einen Reset der Maschine.

Das Beste was ich dazu finden konnte, war dieser Thread auf der freebsd-current Mailingliste von Anfang 2012. Leider führte diese Diskussion nicht zu einem Bugfix und es betraf FreeBSD 9 im Kontext des neuen SU-J Features.

Kürzlich berichtete jemand auf der freebsd-stable Mailingliste von einem ähnlichen Problem unter FreeBSD 8-STABLE. Diesmal wurden verantwortliche Committer darauf aufmerksam und es gab einen Bugfix im FreeBSD Repository. Aktuell gibt es also noch keinen offiziellen RELEASE, bei dem dieser Bugfix bereits enthalten wäre. Mit etwas Glück, wird es einen Backport dieser Lösung für FreeBSD 8-STABLE oder 9-STABLE geben. In kritischen Situationen könnte man den Patch natürlich selbst für den gewünschten FreeBSD-Release anpassen.

unset all file flags

June 11th, 2012 Comments off

Sometimes you cannot simply delete a file or a directory. It fails with an error indicating that this operation is not permitted. In my example I tried to cleanup an old tinderbox build:

# rm -rf tinderbox/7.3_freebsd_i386/
rm: tinderbox/7.3_freebsd_i386/bin/rcp: Operation not permitted
rm: tinderbox/7.3_freebsd_i386/bin: Directory not empty
rm: tinderbox/7.3_freebsd_i386: Directory not empty

It is obvious that tinderbox uses special file flags to protect the build. Since I want to delete it anyway, I don’t need to find out which flag is set und must be unset. So I just unset all flags:

# chflags -R 0 tinderbox/7.3_freebsd_i386/

Finally the old build directory can be deleted.

Categories: [EN] Snippets Tags: , ,

date: Datum manipulieren (FreeBSD)

December 6th, 2011 Comments off

In einem Shell-Script war diese Funktion von `date` auf FreeBSD gerade sehr nützlich: Mittels einer Option kann man ausgehend vom aktuellen Datum beliebig weit zurück in die Vergangenheit gehen.

# heutiges Datum (nett formatiert)
> date +”%Y-%m-%d”
2011-12-06

# 1 Tag zurück
> date -v-1d +”%Y-%m-%d”
2011-12-05

# 1 Jahr und 3 Monate zurück
date -v-1y -v-3m +”%Y-%m-%d”
2010-09-06

Hinweis: Das funktioniert leider nicht mit GNU date.

Categories: [DE] Snippets Tags: , , ,
css.php