This is the official release announcement of IPFire 2.15 (Core Update 77). It is the release with the most changes since the beginning of the IPFire 2 series. Those changes of course include major work on the base of the system, security has been improved in lots of ways and there are many changes regarding the user interface, that introduce new functionality and make managing the firewall easier.
This changelog is very long, but we recommend that you read through it, because there are so many exciting changes that make IPFire so much better, but of course we cannot headline them all.
The firewall GUI has been in development for over a year now and has been massively extended so that almost everything is possible now. There are groups which make creating rules for multiple hosts or services very easy and help you to hold your nerves, even with complex rule sets.
All your rules will be automatically converted, but we recommend to double check that everything works as it is intended.
On decent sized hardware, IPFire never had any performance issues, but in this release, we still spent some time to make it even better. The connection tracking has been improved so that malformed packets (e.g. invalid TCP flags) are dropped earlier and less rules have to be evaluated for every packet that transits the firewall.
Therefore, performance especially on slow hardware has been improved in terms of throughput and latency.
IPFire 2.15 is based on Linux 3.10 and patched with grsecurity. grsecurity hardens the kernel and the system so that even if there are bugs in an application, that these cannot be exploited by an attacker. Therefore, it provides pro-active security at the cost of a small performance decrease.
The new kernel also provides lots of new device drivers and supports more recent hardware:
e1000 and igb drivers for Intel network hardware, the kernel driver has been replaced by the official one by Intel that just supports more recent cards.Essential system libraries like glibc have been updated or patched for performance and to fix security issues.
A more important one is the openssl library that has been updated to version 1.0.1g. Additionally to the ciphers and other algorithms that have been supported in openssl 0.9.8, there is now support for more ciphers that are used to secure communication with the IPFire web user interface and VPN services. The library has been modified to never propose weak algorithms.
All packages are now compiled with stack smashing protection and -fPIC when ever possible.
apache 2.2.26, beep 1.3, fireinfo 2.1.9, iptables 1.4.21, iw 3.10, kmod 13 (replaces module-init-tools), libnl 1.1.4, libxml 2.6.32, lm_sensors 3.3.4, linux-firmware 52d77db, lzo 2.06, memtest 5.01, Net::SSLeay 1.55, ntp 4.2.6p5, openssh 6.6p1, perl-DBI 1.631, strongswan 5.1.2, udev 208, usb-modeswitch 2.01 and database version 20131113, usbutils 007, util-linux 2.24, vim 7.4, wget 1.14, xz 5.0.5
Despite the new firewall and hardening the base system, we laid focus on improving cryptography, both security and performance. All sorts of algorithms that are supported by the kernel and openssl have been enabled and added to the GUI so that they can be used.
strongswan, the software that provides the IPsec functionality in IPFire, has been updated to version 5.1.2 and the dhcp and farp plugin have been enabled.
The Camellia cipher has been added with supported key lengths of 256, 192 and 128 bits. Camellia is a competitor to AES with no affiliation to the government of the United States of America. For IKE group types, MODP-2048 with subgroups has been added as well as the Brainpool Elliptic Curves. These are an alternative to the curves specified by NIST (National Institute of Standards and Technology of the USA).
The “advanced settings” page has been redesigned so that the many algorithms that are now supported fit on the page. Options for the “Dead Peer Detection” have been added so that these are changeable by the user, too.
As well as IPsec VPNs, OpenVPN supports the Camellia cipher, too. For new installations, the default cipher for the Roadwarrior server is AES-256-CBC instead of Blowfish.
IPFire 2.15 now feeds entropy from hardware random number generators directly into the kernel, so that there will always be sufficient randomness for cryptographic applications like VPNs or generating certificates. This will make these operations stronger against some attacks and also faster.
Unfortunately, only a few systems come with HWRNGs. There is a list on the wiki with supported hardware. Please don’t forget to add your hardware if it is supported as well.
There is a new entropy graph that shows how much entropy is available in the kernel’s entropy pool, which size has also been increased.
The wireless access point that can be created with a simple wireless card and the hostapd addon now supports working on channels in the 5 GHz band that require DFS (radar detection). Therefore more of the frequency space can be used to create wireless networks with better throughput because of less interference.
The GUI shows some more information now about the status of the wireless hardware and connected clients.
On systems which provide a chip that is able to encrypt/decrypt data and on those systems which have a CPU that comes with special instructions, cryptographic operations are substantially faster.
IPFire is able to use the AES-NI instructions of newer CPUs and other crypto hardware like VIA Padlock, etc. Check our wiki for a full list of supported hardware.
OpenSSH has been updated to 6.6p1 and uses ed25519 of both client and server support it. ec25519 is an elliptic curve specified by a team led by Daniel J. Bernstein.
The ARM version of IPFire now ships an experimental multi-platform kernel. This means that this kernel is able to run on not just one board as it has been before, but on many boards of the same kind.
Unfortunately, the Raspberry PI computer is not able to boot the multi-platform kernel, but there is an extra image with a Raspberry PI image. The kernel has been patched with Raspberry PI patchset of version 943b563.
There is also an extra kernel for Marvell Kirkwood-based systems.
The web user interface has got a new default theme. It makes the configuration pages easier to navigate and gives them a clean appearance. The generated HTML output of many CGI scripts has been improved and validates as HTML5.
Some pages got a bigger redesign to put the most important information in focus. Others have received some smaller changes which might not be notable right away. Overall, the pages should be cleaner and faster to render for the browser.
If you want to stick with the old one, it will still be there called “ipfire-legacy”. A rounded version of the new default theme is available as well as a theme called “darkdos” by Logan Schmidt.
The web user interface now requires a certain set of ciphers that must be supported by the client as well. Broken or weak ciphers like RC4 are not used any more and AES-128 and AES-256 in Galois/Counter Mode are preferred in that order. If GCM is not supported, apache will try to use CBC. Using SSLv2 is forbidden and TLSv1.2 is preferred, if available.
setddns.pl script now recognises the DS-Lite address range correctly.There are no more USB installation images, as the ISO now can be booted from an USB key.
tor has been updated to version 0.2.4.20, which uses a new hand-shake algorithm that requires much less resources and it also uses stronger ciphers for data packets. The limit of max. concurrent connections has been raised.
Guardian now reacts on brute-force attacks against the local SSH server in pre-auth stage. That means that testing user/password combinations is almost instantly blocked.
iotop, stunnelThe number of changes in this release is bigger than it never was. We received some great contributions, but we still wish that there will be more in the future. One thing that needs some care is translations other than English and German, as there are no people in the team who speak any of the other languages that are “supported”.
The commit-wise biggest contribution is the firewall GUI that has been written by Alexander Marx (over 400 commits). Other contributions have been submitted by Alf Høgemark, Erik Kapfer, Ben Schweikert, Ersan Yildirim, Kim Wölfel, Logan Schmidt, Hans Horsten and Bernhard Bitsch.
We would like to thank all people who have directly or indirectly contributed to this release and we are looking forward to accept your contributions as well. There are many things to do, like translations, bug fixes, or new features. All of them are important to make IPFire to what it is.
——
Dies ist das offizielle Release Announcement für IPFire 2.15 (Core Update 77). Hierbei handelt es sich um das Release mit den umfangreichsten Änderungen seit Bestehen der IPFire 2 Serie. Der Großteil der Änderungen betrifft das Basissystem. So wurde die Systemsicherheit verbessert, sowie das Webinterface erweitert, welches neue Funktionen mitbringt und die Administration der Firewall vereinfacht.
Das Changelog ist sehr umfangreich. Trotzdem empfehlen wir es vollständig durchzulesen, da es einen Einblick in die vielen Änderungen bietet, die IPFire verbessern.
Die Firewall GUI wurde mit über einem Jahr Entwicklungszeit massiv erweitert, sodass nun bei Nahe alle Arten von möglichen Regeln unterstützt werden. Zudem ist es möglich Gruppen für unterschiedliche Hosts oder Dienste zu erstellen, die einem auch in komplexen Umgebungen helfen die Nerven zu bewahren.
Sämtliche bereits existierenden Regeln werden automatisch konvertiert. Wir empfehlen die neuen Regeln zur Kontrolle aber nochmals zu begutachten.
Systeme mit guter Hardwareausstattung blieben bislang vor Performanceproblemen mit IPFire weitgehend verschont. Bei dem vorliegenden Release haben wir dennoch einige Zeit investiert, um die Performance weiter zu verbessern. Das “Connection Tracking” wurde erweitert, so dass veränderte Pakete (z.B. durch ungültige TCP Flags) früher geblockt werden und insgessamt weniger Einzelregeln durchlaufen werden müssen bis ein Paket die Firewall passiert hat.
All diese Massnahmen führen zu einer Erhöhung des Durchsatzes, sowie einer kürzeren Latenz, was speziell auf langsamer Hardware zu einer spürbar besseren Performance führt.
IPFire 2.15 basiert auf dem Linux Kernel 3.10 und wurde mit grsecurity. gepatcht. Diese Erweiterung härtet das komplette System auf Kosten von ein wenig Performance und macht sowohl den Kernel, als auch den Userspace, gegenüber Softwarefehlern und den dazu passenden Exploits widerstandfähiger.
Der neue Kernel bietet Unterstützung für eine Vielzahl neuer Hardware:
e1000 und igb für Intel-Netzwerkhardware wurde durch die offiziellen von Intel ersetzt, welche einige zusätzliche Karten unterstützen.Viele wichtige Systembibliotheken wie die glibc wurden aktualisiert oder erhielten Patches, welche die Performance verbessern oder Sicherheitslücken schließen.
Darunter befindet sich auch die openssl-Bibliothek, die auf Version 1.0.1g aktualisiert wurde. Zu den bereits mit openssl 0.9.8 verfügbaren Algorithmen und Chiffren werden nun zusätzliche unterstützt, die für eine sichere Kommunikation mit dem IPFire-Webinterface oder VPN-Diensten verwendet werden können. openssl wurde gepatcht, keine schwachen Algorithmen mehr zu verwenden.
Sämtliche Pakete werden mit aktivierter “Stack Smashing Protection” und -fPIC, sofern möglich, kompiliert.
apache 2.2.26, beep 1.3, fireinfo 2.1.9, iptables 1.4.21, iw 3.10, kmod 13 (ersetzt module-init-tools), libnl 1.1.4, libxml 2.6.32, lm_sensors 3.3.4, linux-firmware 52d77db, lzo 2.06, memtest 5.01, Net::SSLeay 1.55, ntp 4.2.6p5, openssh 6.6p1, perl-DBI 1.631, strongswan 5.1.2, udev 208, usb-modeswitch 2.01 and database version 20131113, usbutils 007, util-linux 2.24, vim 7.4, wget 1.14, xz 5.0.5
Neben der Arbeit an der neuen Firewall und der Härtung des Systems, haben wir zusätzlich den Fokus auf die Verbesserung der Kryptographie gelegt – sowohl deren Sicherheit als auch Performance. Alle vom Kernel und openssl unterstützen Algorithmen wurden aktiviert und über die entsprechenden GUI’s im Webinterface nutzbar gemacht.
Strongswan, die Software welche bei IPFire für IPsec-Funktionalität sorgt, wurde auf Version 5.1.2 aktualisiert und die dhcp- sowie farp-Erweiterungen wurde aktiviert.
Die Camellia-Chiffre wird mit einer Schlüssellänge von 256, 192 und 128 Bit unterstützt. Camellia ist ein Konkurrent zu AES jedoch ohne eine Verbindung zu US-Amerikanischen Behörden. IKE “group types” können nun als MODP-2048 mit einzelnen Untergruppen angelegt werden, zudem werden nun auch die elliptische Kurven (Brainpool) unterstützt. Hierbei handelt es sich um eine Alternative zu denen vom NIST (National Institute of Standards and Technology of the USA) spezifizierten elliptischen Kurven.
Die Unterseite für die “Erweiterten Einstellungen” wurde zur besseren Übersicht der vielzähligen Algorithmen neu gestaltet, sowie um Optionen zur Konfiguration der “Dead Peer Detection” durch den User erweitert.
Die neue Camellia-Chiffre kann nicht nur für IPsec-VPNs, verwendet werden, sondern auch OpenVPN weis damit umzugehen. Für sämtliche Neuinstallationen von IPFire ist serverseitig die voreingestellte Chiffre für Roadwarrior-Verbindungen nun AES-256-CBC anstatt Blowfish.
IPFire 2.15 ermöglicht die Nutzung von Hardware Random Number Generators, welche den Kernel mit Zufallszahlen versorgen und somit einen ausreichend großen Pool von Zufallszahlen für allerlei kryptographische Programme wie VPNs oder dem Generieren von Zertifikaten bereit zu stellen. Hierdurch können diese Operationen schneller abgearbeitet werden und die Widerstandsfähigkeit gegen einige speziell ausgerichtete Attaken steigt.
Leider verfügen nur über einige, wenige Systeme über einen HWRNG. In unserem Wiki, kann eine Liste mit unterstüzer Hardware eingesehen werden. Wir bitten darum, noch nicht aufgeführte, funktionierende Hardware hinzuzufügen.
Ein neuer Graph ist nun verfügbar, welcher die dem Kernel zur Verfügung stehende Entropie anzeigt. Die maximale Pool-Größe wurde erhöht.
Ein Wireless-Access-Point kann durch verbauen einer WLAN-Karte und dem hostapd-Addons auf einfache Weise realisiert werden, welches nun Unterstützung für das 5 GHz-Band mit aktivem DFS (Radardetektion) mitbringt. Durch diese Erweiterung kann ein größerer Bereich des Frequenzbands verwendet werden, um mehr WLAN-Netzwerke mit besserem Datendurchsatz, bei weniger Inteferenz zu erstellen.
Im Webinterface werden nun zusätzliche Informationen zum Status der Wireless-Hardware und der verbundenen Clients angezeigt.
Bei Systemen, auf denen ein Chip zum Ver- und Entschlüsseln von Daten verbaut oder die eine CPU verwenden, in welche die dafür notwendigen Instruktionen integriert sind, können sämtliche kryptographische Operationen merklich schneller durchgeführt werden. IPFire verwendet hierzu die AES-NI-Instruktionen neuerer CPU-Modelle, sowie anderer Krypto-Hardware wie den VIA Padlock etc.
Eine Liste mit unterstützer Hardware kann in unserem Wiki eingesehen werden.
OpenSSH wurde auf Version 6.6p1 aktualisiert und verwendet nun ed25519, sofern dies vom Client und Server unterstützt wird. Bei ec25519 handelt es sich um eine elliptische Kurve nach der Spezifikation eines Teams um Daniel J. Bernstein.
Der ARM-Port von IPFire verwendet nun einen experimentellen Multi-Plattform-Kernel. Dies bedeutet, dass der selbe Kernel auf vielen verschiedenen Boards lauffähig ist anstatt auf einem einzigen.
Leider ist der Rapsberry Pi Computer nicht in der Lage mit einem Multi-Plattform-Kernel umzugehen. Aus diesem Grund bieten wir ein eigenes Raspberry Pi-Image an. Der dafür verwendete Kernel wurde mit dem Raspberry Pi Patchset in Version 943b563 erweitert.
Auf Grund der selben Einschränkungen wird auch ein eigener Kernel für auf Marvell Kirkwood basierende Systeme angeboten.
Das Web-User-Interface verwendet ein neues Standard Theme. Dieses vereinfacht das Navigieren durch die einzelnen Konfigurationsseiten und sorgt für ein modernes und aufgeräumtes Aussehen der einzelnen Seiten. Der generierte HTML-Code der CGI-Scripte wurde verbessert und validiert nun als HTML5-Code.
Einige Seiten wurden überarbeitet, um die wichtigsten Informationen darauf in den Vordergrund zu rücken. Andere erhielten kaum wahrnehmbare Detailverbesserungen. Durch diese Maßnahmen werden die einzelnen Seiten sauberer und schneller im Browser dargestellt.
Falls jemandem das bisherige Theme besser zusagen sollte, kann dieses unter dem Namen “ipfire-legacy” ausgewählt werden.
Eine abgerundete Version des neuen Standard-Themes verfügar, wie auch ein weiteres neues Theme mit Namen “darkos” von Logan Schmidt.
Der Zugriff auf das Web-Userinterface erfordert nun eine eingeschränkte Auswahl an Chiffren, die vom Client unterstützt werden müssen. Schwache oder geknackte Algorithmen wie RC4 sind nicht länger erlaubt – AES-128 oder AES-256 im Galois/Counter-Modus werden bevorzugt. Sofern GCM vom Client nicht unterstützt wird, versucht dieser auf CBC auszuweichen. SSLv2 Verbindungen werden abgewiesen, TLSv1.2 wird, sofern verfügbar priorisiert.
setddns.pl-Script erkennt DS-Lite Addressen nur zuverlässiger.Es werden keine USB-Installationsimages mehr angeboten, da das neue ISO auch von USB-Geräten bootfähig ist.
tor wurde auf Version 0.2.4.20 aktualisiert. Es verwendet nun einen neuen “hand-shake” Algorithmus der weniger Ressourcen benötigt und stärkere Chiffren für die Datenpakete. Das Limit für die maximal erlaubten Verbindungen wurde erhöht.
Guardian kann nun auf “brute-force”-Attacken in der “pre-auth stage”, die an den lokalen SSH-Server gerichtet sind reagieren. Dies bedeutet, dass das gescriptete Austesten beliebiger Benutzer/Passwort-Kombinationen unterbunden wird.
iotop, stunnelDie Summe der Änderungen in diesem Release ist so hoch wie nie zuvor. Wir erhielten zahlreiche Verbesserungen aus der Community und würden uns freuen auch bei künftigen Releases so tatkräftig unterstützt zu werden. Ein besonderes Augenmerk sollte hierbei die Übersetzungsarbeit in die restlichen “unterstützten” Spachen (nicht Deutsch oder Englisch) erhalten, da leider niemand innerhalb des Kern-Teams über die nötigen Sprachkenntnisse für eine dieser Sprachen mitbringt.
Die anhand der Commits zahlreichsten Änderungen bringt die “Neue Firewall” von Alexander Marx (über 400 Commits). Zahlreiche andere Verbesserungen flossen von Alf Høgemark, Erik Kapfer, Ben Schweikert, Ersan Yildirim, Kim Wölfel, Logan Schmidt, Hans Horsten und Bernhard Bitsch ein.
Wir möchten uns bei allen, die direkt oder indirekt zu diesem Release beigetragen haben, aufs herzlichste Bedanken. Es gibt immer etwas zu tun, wie Übersetzungen schreiben, Bugs finden und Beheben oder auch neue Features zu implementieren. Jeder dieser Punkte ist wichtig und machen IPFire zu dem was es ist – ein Community Projekt.