FreeBSD vs Debian/Ubuntu für Web Server

Sparta8

Lieutenant
Registriert
Juli 2008
Beiträge
977
Hallo!

Hat wer von euch Ahnung wie sich die zwei genannten als OS für einen Web Server verhalten?
Ich weiß, dass beide recht erfolgreich in diesem Feld sind, jedoch fehlt mir die Erfahrung, um die Unterschiede richtig zu beurteilen bzw. überhaupt zu sehen.

Einsatzgebiet: Cloud VPS (AWS EC2)
Webseiten und APPs mit recht wenig Traffic (< 100 User/Tag)

Benötigte Software: OpenSSH, OpenSSL, Firewall, Monitoring, Nginx, PHP-FPM, MySQL/MongoDB, Node.js ... (Hab ich was vergessen?)

ZFS ist nicht wirklich wichtig, da alles was das Datensystem betrifft, eh von der "Cloud" erledigt wird. (Größe dynamisch verändern, Snapshots im Betrieb)

Danke für eure Hilfe.

PS: Vielleicht sollten wir dieses Unterforum umbenennen in "Linux / Unix" :D
 
Zumindest der erste Link ist zwar nicht mehr ganz taufrisch aber dennoch zumindest sehr nah an der "Wahrheit" ;) :

https://www.over-yonder.net/~fullermd/rants/bsd4linux/01
https://www.freebsd.org/doc/de_DE.ISO8859-1/articles/explaining-bsd/comparing-bsd-and-linux.html
http://www.makeuseof.com/tag/linux-vs-bsd-which-should-you-use/
https://forum.golem.de/kommentare/o...in-der-praxis/37141,2016432,2016432,read.html
https://unix.stackexchange.com/questions/14489/why-would-someone-choose-freebsd-over-linux

Prinzipiell dürftest Du sowohl mit FreeBSD als auch _einer_ der vielen (welcher denn?!?) Linux-Distributionen zum Ziel gelangen. Wenn Beides für Dich neu (und mehr oder weniger unbekannt) sein sollte, ist m. E. n auch bei beiden die Lernkurve ähnlich steil aber auf jeden Fall erklimmbar.

=> Einfach testweise intallieren und ein paar Tage damit rumspielen ...! Kost' doch Nix! ;)

---

PS:
Bei 'ner "hochwertigen", d. h. stabilen und regelmäßig insbesondere bzgl. Sicherheit gut gepfegten Linux-Distribution, wie z. B. Debian, Ubuntu Server, RedHat (bzw. z. B. CentOS), OpenSuse dürftest Du mit einiger Wahrscheinlichkeit nach außen hin kaum nennenswerte Unterschiede zu FreeBSD feststellen. Wobei FreeBSD halt komplett "aus einer Hand" stammt bzw. "aus einem Guß" ist, während die Linux-Distributionen doch m. B. n. alle mehr oder weniger ihr minimal anderes eigenes Brötchen zu backen versuchen. Aus welchem Grunde auch immer ... ;)
 
Zuletzt bearbeitet: (Fehler / Nachtrag)
Bedenke bei der Wahl auch wie gut und lange das OS unterstützt wird. Debian z.B. wirst du alle 2-3 Jahre ein Upgrade machen dürfen, bei Ubuntu ca alle 5 wobei es wichtig ist zu bedenken, dass NUR das Main-Repository LTS Support erfährt, Universe/Multiverse wird eher fallen gelassen. Cent OS und FreeBSD sind da eher gemächlicher.

Sehr viel wichtiger als die Wahl des OS ist aber die sichere Konfiguration der verschiedenen Anwendungen und die sonstige Absicherung, allgemein auch hardening genannt. Dazu gehört u.a.:
  • Also unsichere Config-Settings entfernen
  • Anwendungen voneinander abschotten, z.B. Jails bei *BSD, cgroups/lxc/container/etc bei $Linux-Distribution
  • Verwendung starker Kennwörter
  • Abschaltung unsicherer Hash- & Cipher-Suits
  • Schutz gegen Manipulation z.B. durch ein IDS
  • natürlich grundlegendes wie eine korrekt konfigurierte Firewall (pf bzw iptables)
  • Application Firewall (naxsi bei nginx, modsecurity bei apache)
  • Abfangen von Nutzereingaben (Stichwort SQL Injections)
  • stabiles Update-Konzept (am besten mit Trennung von Test- & Produktivumgebung)
  • Backup & Restore Konzept und dazu gehört BEIDES zu testen. Vor und nach jedem Update am besten.
  • Disaster Recovery Konzept
  • Migration Konzept (Wenn du irgendwann weg von Amazon zu Azure, Google, Rackspace, SysEleven, $Hostingprovider wechseln willst)

Monitoring: Wenn du nur eine Instanz nutzen willst überleg dir ob dir nicht das von Amazon bereitgestellte Monitoring ausreicht oder nutzt z.B. https://www.statuspage.io/, etc bevor du mit Kanonen auf Spatzen schießt und ein Icinga2/Zabbinx/Check_MK/whatever hochziehst

Node.js brrr aber muss jeder selber wissen ^^
 
Sparta8 schrieb:
Webseiten und APPs mit recht wenig Traffic (< 100 User/Tag)
Für diesen Einsatzzweck ist es aus technischer Sicht egal. Nimm das OS, mit dem du dich (oder wer sich sonst darum kümmern muss) besser auskennt.

Nur wenn Performance eine Rolle spielt, wird die Frage nach dem OS interessant. Pi*Daumen: Beim Einsatz von dicken (Mehrsockel-)Kisten oder falls etwas ausgefallenere Hardware benötigt wird, wird man i.d.R. bei Linux landen. Bei kleinen Systemen ist FreeBSD tatsächlich eine Alternative.
 
snaxilian schrieb:
Sehr viel wichtiger als die Wahl des OS ist aber die sichere Konfiguration der verschiedenen Anwendungen und die sonstige Absicherung, allgemein auch hardening genannt.
Das ist auch der Grund, weshalb ich bei meinem VPS bei OpenBSD gelandet bin. Da sind die meisten Voreinstellungen schon von vornherein auf sicher getrimmt. So Dinge wie der OpenBSD httpd, smtpd und pf sind auch genial zu konfigurieren, mit der nächsten Version wird sogar ein ACME/Let's Encrypt Client mitgeliefert. FreeBSD hat demgegenüber den Vorteil, dass es noch mehr Software gibt. Wobei ich auf der Serverseite da bei OpenBSD nur wenig vermisse.
 
Danke für eure Antworten!
Bis vor ein paar Tagen hatte ich von BSD noch 0 Ahnung. Ich dachte immer das ist auch "irgend so ein Linux" für Router und NAS halt ...
Jetzt verstehe ich die ganze Unix, *nix und Linux Welt ein Stückchen besser.

Ich bin von FreeBSD begeistert. Zum Glück hat das OS all die Jahre überlebt und wird hoffentlich noch lange weitergehen.
.) 3rd Party Software ist auf den neusten Stand, ohne inoffizielle Repos hinzufügen zu müssen.
.) Ich muss nicht die Installation mit Debian Minimal beginnen, sondern die Standard-Installation von FreeBSD ist bereits "Minimal". Nicht mal X wird installiert. Perfekt!
.) Jails klingt sehr vielversprechend. In den meisten LAMP/LEMP Hoster Installationen die ich gesehen habe, war LXC nicht im Einsatz. Die Komponenten (Apache, PHP, etc.) laufen unter verschiedenen Usern/Gruppen aber nicht in eigene Container. Wahrscheinlich ist die Konfiguration von LXC nicht trivial?
.) PF: Leider bekommt man nicht die neuste Version, weil das Programm nie für FreeBSD gedacht war, aber an sich eine sehr coole Firewall mit viel Funktionalität.

@Doe_John
Danke für die Links. Dass FreeBSD aus einer Hand stammt, gefällt mir sehr gut. Der Zugang zum System ist auf alle Fälle einfacher. Eine zentrale Stelle für alles was das Basis OS anbelangt. (z.B. das Handbuch, zentrales Forum, je ein Basis Tool für eine Aufgabe, etc.)

@00snaxilian
Danke für die Aufstellung! Ich muss mir die Konzepte (Update, Backup u. Restore, Disaster Recovery u. Migration) genau überlegen und ausführlich erproben und natürlich das Hardening jeder Komponente.
Zu Application Firewall: Naxsi funktioniert noch nicht mit HTTP2, wird aber asap behoben. Die kommende Version 3 von ModSecurity klingt sehr vielversprechend. Sie stellen eine Core Library und dazu dann Connector Librarys. Für Apache, Nginx und pcap gibts die schon. Node.js wird sicher noch kommen.
Darf ich fragen warum du bei Node.js "brrr" machst? Welche Probleme macht Node.js, oder was missfällt dir genau? Ich würds für isomorphe JavaScript Web Apps (server side render JS) brauchen.

@12mensch183
Die Performance macht auf meinem Level keinen Unterschied. Falls tausende User gleichzeitig zugreifen müssen, würde die App bzw. Webseite eh längst bei Services wie Google Firebase oder vergleichbares landen.

@54fax668
OpenBSD klingt auch sehr sehr interessant. Wobei als reiner Webserver für mich eher weniger geeignet, da die Software nicht auf den neuesten Stand ist (aus Sicherheitsgründen natürlich verständlich) und ich die ganzen Pakete manuell installieren und administrieren müsste.

Folgenden Einsatzzweck könnte ich mir gut für OpenBSD vorstellen:
Man sollte ja versuchen den SSH Zugang auf wenige bzw. eine IP zu beschränken. Da ich aber von überall aus am Server arbeite, ist meine IP immer dynamisch. Ich könnte nun folgendes privates Netzwerk in der Cloud aufbauen. Die Webserver sind von außen nur über HTTP und HTTPS erreichbar. Für die Administration muss ich mich über SSH oder VPN zuerst auf einen OpenBSD Server einloggen und nur dieser hat dann im privaten Netzwerk lokal Zugang auf die Web und Log Server.
Klingt das vernünftig, oder nach unnötige Spielerei die einfacher/besser/sicherer lösbar ist?

Wo kann ich mir am besten die Best Practices für Web Server und Netzwerk Architektur aneignen? Kennt ihr Quellen die am aktuellsten Stand sind?

Danke nochmal für die bisherige Hilfe!
 
@Sparta8
Danke für die Rückmeldung! und: Bitteschön, gern geschehen!

Aber bzgl. "Best Practices für Web Server und Netzwerk Architektur" wirfst Du wohl am besten einfach mal genau die Begriffe in die SuMa Deiner Wahl ... SCNR! ;) Viel Erfolg und schönes WE! :)
Und soltest Du diesbzgl. "ganz am Anfang" stehen, ist selbst WIKIPEDIA nicht der schlechteste Einstieg.
 
Sparta8 schrieb:
Folgenden Einsatzzweck könnte ich mir gut für OpenBSD vorstellen:
Ich würde bei einem BS, also FreeBSD bleiben. Aus Sicherheitsgründen würde man vielleicht verschiedene nehmen wollen, aber erstens betreibst du keinen Server beim Militär und zweitens ist deine Lebenszeit endlich und OpenBSD administriert sich dann doch anders. Vor allem sind die Sicherheitspatche der stabilen Version von OpenBSD kein Spaß.

Sparta8 schrieb:
Man sollte ja versuchen den SSH Zugang auf wenige bzw. eine IP zu beschränken.
Eine IP Adresse lässt sich relativ leicht "fälschen", daher ist das kein wesentlicher Sicherheitsgewinn. Andererseits muss man natürlich erst mal herausfinden, welche Adresse das ist. Aber IMHO, solange du immer ein aktuelles OpenSSH verwendest, root Logins unterbindest und für die restlichen Konten starke Passwörter verwendest, kann da wenig passieren. Evtl. kannst du pf noch so konfigurieren, dass IP Adressen, die mehrfach innerhalb ein paar Sekunden auf den SSH Port zugreifen, automatisch gesperrt werden. Andererseits sorgt OpenSSH schon dafür, dass solche Verbindungen ausgebremst werden, d.h. ich habe zwar so eine Regel in pf drin, sie hat aber noch nie angeschlagen. Alternativ kann man Fail2Ban verwenden.

Evtl. kannst du dir noch Lynis auf den Rechner machen. Das scannt die Rechnerkonfiguration und macht Vorschläge, was noch besser abgesichert werden kann.
 
Zurück
Oben