Das "Paper" da klingt jetzt nicht nach Sachen die ich wirklich als "härten" sehen würde, weil es da um Sachen geht, die potentiell auch ab sind. Auch halt ich sowas, wie "gib nicht preis was für eine Softwareversion du laufen hast" für keine große Lücke. Wenn die Version eine Lücke hat kann man die genau so ausnutzen wie sonst. Das sind genau die selben Leute, die meinen ihren weit offenen Server, ihre Webcam oder ihr Controlpanel für ihr Kraftwerk dadurch zu verstecken, dass niemand den Hostname oder die IP kennt.
Ganz generell würde ich Leuten empfehlen, wenn sie einen Daemon anschalten, egal, welchen ihn zuerst zu konfigurieren. Weil bei so generischen Härtungen ist es ja oft mal so, das man dann erst wieder Sachen offen hat, die man nicht will oder Sachen zu hat, die man braucht und dann ist man wenn man nur die eine Option ändert erst wieder angreifbar. Das sind mitunter so banale Sachen, wie "oh ich komm nicht zu meiner DB, weil die nur Unix Sockets offen haben, stellen wir die mal auf 0.0.0.0".
Auf der anderen Seite gibt es auch typische Umgebungen wo man per default ein SSH mit Standarduser/Passwort haben will, weil man das Gerät headless betreibt.
Sendmail ist mies, aber da kommt man per Default meines Wissens nicht von außen ran und wird wirklich nur für Cron und Periodic Mails verwendet.
Firewallconfig: FreeBSD kommt mit fertigen Firewallconfigs (open, client, simple, closed und workstation) und fertigen optionen, wie firewall_trusted, firewall_myservices, etc.
NTP ist mies, ersetze ich auch immer.
Daily Security E-Mails zu deaktivieren würde ich nicht gerade als Härtung des Systems ansehen. Und ganz besonders empfiehlt der Artikel die Option von Infos zu Sicherheitslücken in installierten Paketen abzustellen. Das hilft Leuten, mit wenig Erfahrung sicher ganz besonders und bringt so viel mehr Sicherheit[/IRONIE].
LibreSSL: Das ist eben so eine Sache. Ich selbst habe das auch recht früh angeschalten, aber viel Spaß den Leuten zu erklären warum ihre Software plötzlich nicht mehr läuft. Da kommt man dann schnell in die Situation wo man sagt "ist besser die Funktion nicht zu haben" und dann ist der Computer eben am Besten ab bzw. heutzutage einfach garnicht existent. Damit schafft man das Maximum an Sicherheit. Aber ja, bin auch dafür auf LibreSSL zu setzen und was ich so mitbekomme arbeiten die Porter da fleißig dran dass alles mit LibreSSL funktioniert. Ich denke es bringt auch nicht viel das als erstes im Basissystem zu machen, wenn die erste Software schonmal OpenSSL "nachinstalliert". Was ich so mitbekomme will man das SSL in Base sogar unsichtbar machen, damit man auch die Config-Probleme wegbekommt wo sich alle wundern, wo man jetzt das CA-Zertifikat hintun soll.
Syslog timme ich zu. Das ist wohl so ein Compatibility-Thema. Was will man out of the Box? Ist aber in meinem "default" rc.conf auch drin.
Und wie man ganz unten sieht: FreeBSD hat einiges gemacht, seit dem der Text geschrieben wird.
Es hilft nur nicht wirklich zu maulen, weil dann mault der Nächste, das irgendwas nicht mehr funktioniert. Gerade wenn's um Configs geht ist wohl der Aufwand zu einem Commit nicht so groß. Die Diskussion zu betreiben mag da das größere Thema sein.
Aber mal ehrlich, FreeBSD ist ungefähr das, was man raus bekommt, wenn man einen Hardening Guide für Linux durchgeht. Schon mal irgendwelche Headless, Lite und Barebone Versionen von diversen anderen System angeschaut? Da läuft deutlich mehr, obwohl man deutlich weniger damit anfangen kann. Das soll kein Bashing sein, sondern eher unterstützten, dass es eine Sache von Abwägung ist.
Ich denke, dass sich FreeBSD derzeit ungefähr der Priorität entsprechend durcharbeitet. Zumindest sind die Sachen die in den meisten Fällen Sinn machen nicht mehr wie angeführt und ein relativ großer Teil von dem was da angeführt ist macht für viele Leute keinen Sinn. Seien es das Abdrehen von E-Mails die über Lücken informieren oder das aufblasen (und ersetzen) von Sendmail zu einem Mailserver für alle Anwendungsfälle. Viele Leute wollen eben keinen Mailserver betreiben.
Hoffentlich nutzt niemand FreeBSD auf einem öffentlich zugänglichen Server, der nicht mal geschaut hat, was da so Listened (und wo). Wenn man das nicht tut sollte man sich eher über andere Dinge Gedanken machen. Wenn man FreeBSD doch irgendwo als Server betreibt würde ich stark empfehlen, dass wenn es sich um das Image eines Providers handelt nochmal über alles drüber zu gehen.
Mit Defaultinstalls ist das so eine Sache, weil das was man fährt, eben in den meisten Fällen kein Defaultinstall ist. Auch würde ich OpenBSD und FreeBSD da nicht unbedingt vergleichen. Während FreeBSD eher in eine Richtung geht wo das Basissystem minimale Infrastruktur zum darauf aufbauen bringt (also auch sich potentiell selbst zu konfigurieren oder zumindest Skripts die das wollen nicht im Weg zu stehen) sieht OpenBSD das "Basissystem" viel mehr als was was vollständig sein soll (siehe auch die ganzen Services, wie OpenNTPD, OpenSMTPD, relayd + httpd, etc.). Auch wenn man sich ansieht, dass Perl und Co. in Base mitgeliefert werden sieht man dass es da sehr unterschiedliche Ansätze dazu gibt. Oder wenn man sich ansieht wie Tools (bhyve und jails vs vmm, etc.) im Basissystem integriert werden ist der FreeBSD-Ansatz eher ein Building-Blocks-Ansatz und OpenBSD eher mehr ein fertiges System, wie sich die Entwickler das vorstellen. Da kann man natürlich auch darüber streiten, welcher besser/richtiger ist, aber es ist jedenfalls nicht so, dass alle Systeme die selben Ziele (und Philosophien dorthin zu kommen) haben, sonst wären sie sehr wahrscheinlich alle gleich.
Das ist übrigens auch wieder ein Unterschied zu Linux. Viele Distros haben als Ziel/Philosophie "das beste Linux" zu sein. Klar gibt es Ausnahmen, und Arch Linux hat sich KISS verschrieben und Debian hat da einiges mit ihrer Definition von Ethik, SLES, RedHat und Ubuntu spielt wohl auch Geld eine Rolle, aber ist das wirklich wonach die Entscheidungen fällen? Bei Arch war das anfangs noch so (wurde ja teilweise auch als besseres CRUX Linux gesehen) und Debian folgt wohl auch mitunter noch irgendwelchen Zielen, aber wohl kaum wie es vor allem bei den kleineren BSDs der Fall ist wo es eine Richtung gibt und für alle im Team macht das Sinn so oder sie gehen, forken, machen eine Distribution, etc. Bei DragonFly gewinnt im Zweifel Performance, Parallelisierbarkeit, etc., bei OpenBSD stark die simple und meist damit sichere Lösung. Da fällt im Zweifel dann halt Code raus und man entwickelt selber was und bei FreeBSD siegt wohl meist ein gewisser Pragmatismus, wo man Dinge möglich machen will, ohne sich zus ehr in Grundsatzdiskussionen zu verheddern.
Ich glaube deshalb ist FreeBSD auch in unterschiedlichen Bereichen am Dichtesten an Linux im Ganzen dran, auch wenn es in der Linuxwelt eher daran liegt, dass wenn man in eine Richtung geht sicher jemand auch in die andere Richtung geht, womit sich dadurch der Rest wahrscheinlich beide Punkte umspannt. Das ist glaube ich auch der Grund für die von BSDlern gern zitiert hunderte von Distros und MP3-Playern. Leute haben unterschiedliche Vorstellung von der selben Sache und machen sich dann eben dran. Ich glaube mit dem Building Block Ansatz und unterschiedlichen "Front Ends" in den Ports für Jails zum Beispiel schaffen die es allerdings besser da abzudecken, als Leute das unter Linux tun. Paketoptionen sind eine andere Ausprägung davon. In der Linuxwelt muss man sich zwischen zwei Distributionen entscheiden, wenn man LibreSSL oder OpenSSL will, unter FreeBSD setzt man ein Flag. Selbiges gilt für PulseAudio oder Versionen von Software. Will man das alte Postgres, weil man beständiges braucht, oder das Neue, und geht dann PostGIS noch? Wenn man das in einem Unternehmen gemischt haben will lässt man mitunter mehrere Distributionen laufen, oder nutzt unterschiedliche Paket-Repositories oder kompiliert selbst.
Ich würde bei solchen Themen auch den stärkeren Unterschied sehen, als eine andere Firewall, ein anderes Filesystem oder Jails zu haben. Oh und da spielt auch mit rein, dass der Upgradepath meist besser geht, gerade am Deskop. Oft sind ja Versionsupgrades geradezu so als hätte man eine neue Distribution. SuSE und Co. kriegen das ja noch einigermaßen hin, aber anderswo ist dann mitunter die Software einfach weg oder man bekommt was komplett neues, mit dem man kaum rechnet und sich anfreunden muss. Aber da muss ich zugeben, dass das stark variiert in der Linuxwelt und ich nur teilweise Einblick habe (kenne jemanden, der KDE3 auf einem aktuellen SuSE nutzt).