Eigenen Server betreiben?

Nose

Lieutenant
Registriert
Dez. 2007
Beiträge
826
Hallo!
Ich wollte mich mal informieren was es bedeutet einen eigenen Server (der Online ist!) zu betreiben. Der muss nicht groß was können, im Endeffekt reicht es wenn OwnCloud (mit MySQL Datenbank, einfach mal als Anwendungsbeispiel) läuft und ich via ssh darauf zugreifen kann. Der Server würde dann bei der Örtlichen Bürgerinitiative Internet ins Haus gestellt werden, die bieten Server-Housing an.

Ich hab mich auch schon durchs Netz gewühlt, aber da finde ich sehr widersprüchliche Aussagen was die komplexität eines solchen Vorhaben angeht. Dass ich für jeden Schindluder der über meinen Server läuft verantwortlich bin ist mir klar, deshalb würde ich sowas auch nicht ans Netz hängen wollen ohne mir halbwegs sicher sein zu können dass das keinen Ärger gibt.

Hier mal meine Überlegung, und ihr sagt mir einfach wieso die nicht aufgeht (wenn sie denn nicht aufgeht, weiß ich ja nicht...):

Ich hol mir Ubuntu Server und installier das auf die Kiste meiner Wahl. Anschließend installier ich Apache, MySQL, OpenSSH und was ich sonst noch brauche um (beispielsweise) OwnCloud laufen lassen zu können.
Selbstverständlich nutze ich starke Passwörter.
Jetzt richtige ich noch einen Cron-Job ein der dafür sorgt dass sich der Server jede Stunde mit den entscheidenden Updates versorgt.
Anschließend stell ich sicher dass nur die Ports offen sind die ich auch tatsächlich benötige, MySQL nur verbindungen vom localhost annimmt (sofern ich das richtig gelesen habe ist das sowieso die default-einstellung?) und sorge via fail2ban oder denyhosts dafür dass mein ssh nicht via bruteforce geknackt werden kann.

So.

Ist das jetzt eine unsichere Geschichte? Wenn ja, weshalb? Und was wäre zu tun das ganze sicherer zu machen? Und, wenn das Probleme macht, wie kann es dann funktionieren dass ich eine Festplatte an die Fritzbox hängen kann, mir via dyndns eine statische Adresse besorg und dann da problemlos diverse Funktionen nutzen kann ohne dass ich Ärger bekomm?

Achja, falls Ubuntu Server aus Gründen eine ungeeignete Distribution für das genannte Vorhaben ist, welche Alternative (wenn überhaupt) gäbe es?

Danke!


PS.: Ich hab auf meiner Suche vor allem viele Threads gefunden wo Leute ähnliche Fragen ziemlich unfreundlich "nicht-beantwortet" haben, mit dem Verweis auf die Ahnungslosigkeit des Threaderstellers und des großen Risikos einen eigenen Server zu betreiben, aber NIE habe ich da außer Fachtermina aussagen lesen können die hilfreich gewesen wären. Ich bin kein Depp und willens mein Wissen zu erweitern, aber ich optimier natürlich und geh deswegen einfach mal von oben genannter, einfachster Möglichkeit aus.
 
Zuletzt bearbeitet:
Ich hol mir Ubuntu Server und installier das auf die Kiste meiner Wahl. Anschließend installier ich Apache, MySQL, OpenSSH und was ich sonst noch brauche um (beispielsweise) OwnCloud laufen lassen zu können.
Selbstverständlich nutze ich starke Passwörter.

Du fängst schon mal Falsch an, als erstes IMMER um die Sicherheit kümmern!
Das heißt mindestens den SSH Port ändern, SSH zu Zugriff nur via Public-Key (4096 bit Encryption), Fail2Ban Installieren, Iptables anpassen.

BTW: Setz Lieber auf Nginx als Webserver, der ist viel Performanter als Apache. Nutzt zum Beispiel auch Computerbase.


http://www.huschi.net/category14-security-amp-firewalls.html
 
Zuletzt bearbeitet:
Ich finde für einen Anfänger hast du das Ganze schon sehr umfangreich und gut geplant, wenn du jetzt noch auf McMoks Hinweise achtest steht deinem Projekt Nichts mehr im Wege.
 
Hi,

darf man fragen, warum überhaupt auf eigener Hardware und als Server Housing Lösung und nicht einfach als Server im Netz gemietet? Alleine die Kosten für Hardware, redundante Stromversorgung, Ersatzteile, Zeit, Strom - in aller Regel lohnt sich so etwas nicht / kaum.

Bei einem Server gehört weit mehr in die Berechnung als die Software absichern - wurde das berücksichtigt? Würde mich interessieren.

VG,
Mad
 
Du kennst cron und fail2ban und daher mehr als gefühlte 3/4 der Server"betreiber" die von Mami einen Root zum CS spielen geschenkt kriegen - herzlichen Glückwünsch, du bist zertifiziert. :evillol:

Aber in etwas mehr Ernst: Ja, du musst aufpassen. fail2ban, mod_security, Public-Key-Verfahren, Aufpassen bei Apache Modulen (Stichwort Open Proxy), sichere TLS-Konfiguration (qualys ist da sehr hilfreich) und mal regelmäßig Logs lesen sowie Backups fahren - dann sind Standard-Server-Systeme wie Debian, CentOS, Ubuntu Server für Leute die sich etwas mit Linux auskennen gut und sicher betreibbar.

Madman1209 schrieb:
Alleine die Kosten für Hardware, redundante Stromversorgung, Ersatzteile, Zeit, Strom - in aller Regel lohnt sich so etwas nicht / kaum.
Richtig. TCO sind auch im Privatbereich eine schöne Metrik.
 
In der letzten ct waren gute Artikel zum Thema Server absichern und überwachung. Anstatt eines FTP servers würde ich dir zum Beispiel empfehlen alle Daten über SCP zu übertragen da sparst du dir das FTP aufsetzen!
 
Nose schrieb:
Ich wollte mich mal informieren was es bedeutet einen eigenen Server (der Online ist!) zu betreiben.

Mir ist noch nicht ganz klar, wieso diese Frage im Linux- und nicht im Online-Unterforum gepostet wird; aber davon abgesehen ist diese Frage ganz einfach zu beantworten: du haftest. Immer. Überall.

(Das bedeutet auch: Traue niemandem.)
 
Zuletzt bearbeitet:
Die 2 verlinkten Artikel von Tuxman sind die besten, die ich bisher zu dem Thema gelesen habe. Treffen den Nagel völlig präzise auf den Kopf und beschreiben einfach die Realität. Sollte man zur Pflichtlektüre für alle zukünftigen Serveradmins machen.
 
Madman1209 schrieb:
darf man fragen, warum überhaupt auf eigener Hardware und als Server Housing Lösung und nicht einfach als Server im Netz gemietet? Alleine die Kosten für Hardware, redundante Stromversorgung, Ersatzteile, Zeit, Strom - in aller Regel lohnt sich so etwas nicht / kaum.
Die Antwort könnte lauten: "Weil wir paranoid sind und immer alles im Haus haben wollen."

Und ja, es kann sich einfach nicht lohnen. Eine gute, leistungsstarke Kiste aus der Hetzner Serverbörse kost 30-40€/Monat, ist mit 1GBit angebunden, defekte Komponenten (v.a. Festplatten) werden kostenlos und vor allem verdammt zügig getauscht, die Stromversorgung hat zig Redundanzsstufen...
Ein vergleichbar leistungsstarker Server kostet problemlos n Tausender. Da hat man also problemlos schon 2 Jahre Hosting finanziert.

Eine Baustelle wird dieser Home-Server sowieso nicht abdecken können: Der zyklische Versand von Mails. Es gibt viele Dinge, die ein Server per Mail mitteilen will. Das können Unattanded Upgrades sein, Einbruchsversuche, Passwort-Rücksetzungen,.... Für all das braucht man einen MTA. Viele Dienste kann man ohne MTA (meist Postfix) gar nicht installieren, die sind in der Paketverwaltung einfach als Abhängigkeit definiert.
So... und wie soll ein Server aus einem Bananen-IP-Bereich heraus Mails verschicken, die nicht von sämtlichen großen Maildienstleistern direkt in die Tonne geworfen werden? Ist nicht, weil ist nicht!
 
McMOK schrieb:
Du fängst schon mal Falsch an, als erstes IMMER um die Sicherheit kümmern!
Das heißt mindestens den SSH Port ändern, SSH zu Zugriff nur via Public-Key (4096 bit Encryption), Fail2Ban Installieren, Iptables anpassen.
Danke, werde ich im Zweifel berücksichtigen!

Madman1209 schrieb:
Hi,

darf man fragen, warum überhaupt auf eigener Hardware und als Server Housing Lösung und nicht einfach als Server im Netz gemietet? Alleine die Kosten für Hardware, redundante Stromversorgung, Ersatzteile, Zeit, Strom - in aller Regel lohnt sich so etwas nicht / kaum.

Bei einem Server gehört weit mehr in die Berechnung als die Software absichern - wurde das berücksichtigt? Würde mich interessieren.

VG,
Mad

Ich hab mich noch nicht festgelegt und sag sicher nicht "Ich MUSS einen eigenen Server haben!!1111", sondern ich zieh diese Möglichkeit einfach nur ernsthaft in Betracht und möchte wissen was dazu gehört.

Und, wenn dann würde ich den Server bei der einer geeigneten Bürgerorganisation reinstellen. Da komm ich mit 10€/Monat (für einen Server mit maximalem Stromverbrauch von 30W) vergleichsweise günstig hin. Den Link wollt ich jetzt dazupacken, find ihn aber leider gerade nichtmehr. Da waren auch "nur" 20GB Traffic inklusive, aber das sollte mir locker reichen.


herliTz_234 schrieb:
In der letzten ct waren gute Artikel zum Thema Server absichern und überwachung. Anstatt eines FTP servers würde ich dir zum Beispiel empfehlen alle Daten über SCP zu übertragen da sparst du dir das FTP aufsetzen!
Danke, werd ich mal nachlesen!
Tuxman schrieb:
Mir ist noch nicht ganz klar, wieso diese Frage im Linux- und nicht im Online-Unterforum gepostet wird; aber davon abgesehen ist diese Frage ganz einfach zu beantworten: du haftest. Immer. Überall.

(Das bedeutet auch: Traue niemandem.)
Danke für die 2 Artikel. Ich kann sagen da stand garnichts neues für mich drin. Aber dennoch, danke! :)

Und warum die Frage hier im Linux Forum steht? Weil ich die befürchtung hatte dass ich sehr viele nutzlose Antworten im Online-Unterforum bekommen hätte. Von Kiddies wie in den verlinkten Artikeln beschrieben. Und hier, im Linux-Unterforum, konnte ich davon ausgehen dass ich einigermaßen kompetente Leute "ans Rohr" bekomme.



________________________________________________________


Danke jedenfalls für die ganzen Antworten, ich bin jetzt schonmal ein ganzes Stück weiter. Ob ich das wirklich mach, weiß ich aber noch nicht. Sowas will ja ernsthaft bedacht und abgewägt sein!
 
So ein Homeserver ist für owncloud nicht mal so schlecht. Du hast den Vorteil das du einen Router vorm Homeserver hängen hast den du konfigurieren musst. Sprich du kannst Ports freischalten die du nur brauchst. In deinem Fall wäre das Port 80 oder/und 443 für http und https und eventuell Port 21 für FTP. Bei SSH kann man den Port auch ändern. Ich hab z.b einen 4 Stelligen Port. Wichtig ist das der Port über 1024 sein muss wenn du ihn änderst. Bei SSH würde ich außerdem Permit Root Login auf false setzen, Passwörter ablehnen und den Login mit Private Key bevorzugen.

Iptables lese ich auch oft aber hab ich noch nie genutzt da es laut wikipedia etwas mit der Linux eigenen Firewall zu tun hat. Ein handelsüblicher Hardware Router bringt die Firewall aber schon mit. Schaden kann die Linux eigene Firewall nicht aber für mich lest sich das zu kompliziert xD

Wenn du deinen Server zuhause betreibst, brauchst du auch einen Dyn DNS. Ich fahr ziemlich gut mit der Kombination von freedns.afraid.org und einer richtigen Domain. Wenn dir eine 2nd Level Domain nichts ausmacht geht freedns.afraid.org allein auch. Kostet auch nix. Nachteil ist halt dass der freedns Server irgendwo in Kalifornien steht. Das Auflösen der Domain in die aktuelle IP kann also schon mal 2-3 Sekunden dauern.
 
Hi,

10 Euro im Monat für maximal 30 Watt und 20 GB? Da würde ich nicht mal überlegen und da gar nicht erst anfangen. 30 Watt bedeutet minimal PC, "Server" ist was anderes. Für 5 Euro kriegst du heute schon vServer.

VG,
Mad
 
Daaron schrieb:
So... und wie soll ein Server aus einem Bananen-IP-Bereich heraus Mails verschicken, die nicht von sämtlichen großen Maildienstleistern direkt in die Tonne geworfen werden? Ist nicht, weil ist nicht!
Ganz einfach über einen Relay Server,(beste Wahl), oder man bringt seinem Mail-Clienten bei, dass dies ein sicherer Absender ist. Beides funktioniert einwandfrei.
 
Nose schrieb:
Und, wenn dann würde ich den Server bei der einer geeigneten Bürgerorganisation reinstellen. Da komm ich mit 10€/Monat (für einen Server mit maximalem Stromverbrauch von 30W) vergleichsweise günstig hin..... Da waren auch "nur" 20GB Traffic inklusive, aber das sollte mir locker reichen.
Das ist doch totale Geldverschwendung.
- 20GB im Monat sind NICHTS, sollte hier auch eingehender Traffic berechnet werden. Da kommen mal n paar Sicherheitsupdates, schon sind 5% des Traffics weg...
- 30W ist ein warmer Wind. Halbwegs brauchbare Festplatten ziehen (unter Last) rund 8 Watt. Du brauchst wenigstens 2 davon, damit du über n RAID wenigstens etwas Ausfallsicherheit hast. Also ist die Hälfte deiner Leistung schon mal in den Festplatten. Wie viel CPU & RAM bekommst du in den übrigen ~15W unter? Willst du da ne Raspberry PI housen lassen oder was?
- Kaufen musst du den Rechner trotzdem. Sind n paar Hunderter für die Anschaffung...

Wie schon gesagt, in der Hetzner Serverbörse bekommst du ein Vielfaches der Leistung für kaum mehr an monatlichen Kosten und mit 0 Anschaffungskosten.
Zieh dir z.B. mal dieses Teil hier rein: https://robot.your-server.de/order/market/413187/country/DE/culture/de_DE#413187


Intel Core i7-3770
2x HDD 3,0 TB SATA
2x RAM 8192 MB DDR3
1GBit/s - Anbindung
Traffic unlimited (ab mit Drosselung nach n paar TB/Monat)

Das ganze aktuell für 29€/Monat


Exynos4412 schrieb:
Iptables lese ich auch oft aber hab ich noch nie genutzt da es laut wikipedia etwas mit der Linux eigenen Firewall zu tun hat. Ein handelsüblicher Hardware Router bringt die Firewall aber schon mit. Schaden kann die Linux eigene Firewall nicht aber für mich lest sich das zu kompliziert xD
Wenn du erst einmal jenseits des Routers bist (was du nun einmal durch Port-Weiterleitung bist), muss sich die Maschine ohne Hilfe des Routers durch schlagen.
Es macht schon Sinn, da mal einen Blick drauf zu werfen.

Green Mamba schrieb:
Ganz einfach über einen Relay Server,(beste Wahl), oder man bringt seinem Mail-Clienten bei, dass dies ein sicherer Absender ist. Beides funktioniert einwandfrei.
Wie willst du dem Client etwas bei bringen, wenn bereits der empfangende Server sich geweigert hat? Auf den hast du keinen Einfluss.
Und den Relay Server ziehst du auch nicht "mal eben" aus dem Hut. Den muss auch jemand betreiben...
 
Also man kann Mails mit einem gut konfigurierten Mailserver auch problemlos von einem normalen DSL-Anschluss versenden, das habe ich selbst ausprobiert. Die Mails werden von jedem anderen Mailserver zwar akzeptiert, landen aber oft im Spam-Ordner. Rejected werden solche Mails nur dann, wenn du den Mailserver nicht richtig konfigurierst oder der empfangene Mailserver extrem restriktiv eingestellt ist. Die normalen kostenlosen Mailserver aka Gmx oder Gmail sind da längst nicht so restrikiv. Aber das ist auch eigentlich gar nicht das Thema hier.
 
naja für einen Server braucht man auch keinen richtigen PC xD Ich hab z.b von dem Freund ein Netbook bekommen wo nach einer Party das Display und der VGA Anschluss (vermutlich die ganze Grafikeinheit) kaputt war. Auf dem Netzteil steht max. 10W Load. Also kann ich davon ausgehen dass das Teil nicht mal annähernd 10 Watt braucht.Das Teil hat bei mir jetzt eine Uptime von 163 Tagen und überlebte schon 2 Stromausfälle (6 Stunden Akku ftw xD) Das einzige was ich nicht hab ist ein RAID1 System aber eine externe Platte die sich 2x in der Woche um 4 Uhr Morgens per cronjob einschaltet und die ganzen Daten von der internen auf die externe Platte schaufelt.

Das Ding läuft bei mir als FTP, Web, Samba und DLNA Server. Nebenbei Läuft SSH, TLS (vorher SSL) und per cronjob auch ein NTP Dienst der jeden Tag die Uhr genauestens einstellt.

Das Ding hat nen 1,07 Intel Atom Dual Core und 2GB RAM sowie eine 500 GB interne und 500 GB externe Platte die wirklich auch nur startet wenn sie gemountet wird.

htop sagt 288/1748 MB und 2,7% CPU Load. Load Average war noch nie über 0,30

Ein Homeserver ist definitiv möglich nur wäre ein altes netbook vom Sperrmüll oder nem Freund besser. Wie gesagt bis auf den Eristoff Geruch macht der Server bei mir keine Probleme.
 
Exynos4412 schrieb:
Bei SSH kann man den Port auch ändern. Ich hab z.b einen 4 Stelligen Port. Wichtig ist das der Port über 1024 sein muss wenn du ihn änderst.

Das liest man immer wieder, leider ist das ein äußerst zweischneidiges Schwert. Ein Socket auf einem Port über 1024 ist mit normalen Nutzerrechnen zu öffnen, in diversen Szenarien (multiuser System, gekaperter restriktiver Linuxuser,...) kann das eine erhebliche Sicherheitslücke darstellen. Ein Angreifer kann dann nämlich den SSH Client simulieren, indem ein von ihm manipuliertes Programm auf dem Port läuft, welches alles was über die Verbindung geschickt wird mitschneidet. Auf diese Weise können z.B. weitere Logindaten abgeschnorchelt werden und früher oder später ist es höchstwahrscheinlich möglich, root Rechte zu erlangen.

Auf meinem Server läuft SSH ebenfalls auf einem anderen Port, einfach um die Logs sauber zu halten. Ich habe dafür aber eine Nummer <1024 gewählt. Bei Servern die ich selbst administriere weiß ich auch, welche well known Ports ich gefahrlos nutzen kann. Eine Alternative zum Verlegen könnte auch port knicking sein (lässt sich direkt über iptables realisieren und erfordert nicht unbedingt ein externes Programm, das potentiell wieder neue Sicherheitslücken ins System reißt).
 
Interessante Antwort, @tiash, danke!
Aber ich glaub da hat sich ein Schreibfehler eingeschlichen, das müsste wohl port knocking heißen...kannte ich nicht, werde ich mir falls ich mir einen Server aufbaue, genauer ansehen!
 
Verdammt. Immer diese Autokorrektur von der Handytastatur, natürlich port knocking.
 
Hallo,

tiash schrieb:
Das liest man immer wieder, leider ist das ein äußerst zweischneidiges Schwert. Ein Socket auf einem Port über 1024 ist mit normalen Nutzerrechnen zu öffnen, in diversen Szenarien (multiuser System, gekaperter restriktiver Linuxuser,...) kann das eine erhebliche Sicherheitslücke darstellen. Ein Angreifer kann dann nämlich den SSH Client simulieren, indem ein von ihm manipuliertes Programm auf dem Port läuft, welches alles was über die Verbindung geschickt wird mitschneidet. Auf diese Weise können z.B. weitere Logindaten abgeschnorchelt werden und früher oder später ist es höchstwahrscheinlich möglich, root Rechte zu erlangen.

Bullshit. Bei SSH wird der Schlüsselaustausch mit asymmetrischer Kryptografie implementiert. Bei der ersten Verbindung zu einem SSH-Server wird der Benutzer über ein Prompt gefragt, ob der öffentliche Schlüssel des Servers valide ist. Hierbei wird die Prüfsumme des Schlüssels angezeigt. Sobald der Benutzer diesen akzeptiert hat, wird die Schüssel zusammen mit der IP oder dem Hostnamen, zu dem man sich verband, in einer Datei hinterlegt. Diese Datei wird genutzt um bei weiteren Verbindungsversuchen überprüfen zu können, ob sich der Schlüssel geändert hat. Schlüsseln in der Datei wird im Bezug zur IP vertraut. Sollte sich ein Server plötzlich mit einem anderen Schlüssel ausweisen als er zuvor tat, so wird dies erkannt und der Benutzer muss manuell tätig werden und den alten Schlüssel entfernen, um sich verbinden zu können. Er kann den Fehler nicht ignorieren. Dieser Mechanismus verhindert effektiv, dass ein Angreifer, der den Originalschlüssel des Servers nicht hat, sich als ebendieser ausgeben kann. Der Schlüssel hat für gewöhnlich die Zugriffsrechte 600, liegt in /etc/ssh/ und gehört dem Root-Benutzer und Gruppe. Das verhindert, dass andere Benutzer ihn lesen können. Somit ist ein Angriff nur möglich, wenn ein Angreifer bereits den Server kompromitiert hat, das Kind also bereits in den Brunnen gefallen ist.

Sollte also ein manipuliertes Programm auf dem SSH-Port lauschen, so kann es den eigentlichen SSH-Daemon, der normalerweise auf diesem Port hören sollte, nicht komplett imitieren. Ein Benutzer, der den Schlüssel natürlich nicht überprüft, kann angegriffen werden. Dieses Szenario ist bei einem fähigen Administrator nicht möglich, da er, wie zuvor genannt, den Schlüssel prüft.

Ein Angreifer mit Zugriff auf ein lokales Benutzerkonto kann das Administrator-Passwort also so nicht erlangen. Es ist wahrscheinlicher, dass ein fähiger Angreifer Kernel-Lücken oder Lücken in Drittprogrammen nutzt, um sich neue Zugriffsrechte zu verschaffen (Privilege Escalation).

Grüße,
Thermi
 
Zurück
Oben