ubuntuusers.de

Webserver einrichten und absichern

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

mealt

Anmeldungsdatum:
20. Juli 2017

Beiträge: 13

Hallo,

ich betreibe 2 Online Shops welche bisher problemlos auf einem Webhosting Paket liefen. Allerdings haben die Online Shops bereits eine Größe erreicht, bei der die allgemein angebotenen Webhostingpakete uns zu sehr einschränken. Wir sind derzeit dabei eine Wawi einzurichten wofür wir Postgresql, Python etc. benötigen weswegen ich gerade zu einem VPS tendiere. Eine Testumgebung mit der Wawi und den Shops konnte ich problemlos selbst auf einem Ubuntu Testserver einrichten. Mein Problem liegt nun hauptsächlich darin, dass mir ein Managed Server leider in der jetzigen Situation zu teuer ist. Ich habe bereits mit einigen Hostern gesprochen und ein Managed Server welcher wirklich den Begriff Managed verdienen würde geht leider richtig ins Geld. Bei vielen Managed Servern wird vorgegeben was installiert werden kann und das war es dann. Ich weiß nun nicht ob ich mir zutrauen sollte dieses Projekt für die nächste Zeit auf einem von mir eingerichteten VPS zu betreiben.

Wie gesagt komme ich mit den verfügbaren Anleitungen wie man Apache, MySQL etc. absichert und auch der Bedienung meines Test Servers über SSH gut klar und kann auch alles einrichten jedoch stelle ich mir halt auch die Frage da ich nicht vom Fach bin ob es nicht komplett leichtsinnig wäre dies selbst einzurichten. Dass ich alle Pakete immer aktuell halten würde versteht sich natürlich von selbst.

Ich bin auch zusätzlich am überlegen ob es bezüglich der Sicherheit sinnvoll sein könnte die Online Shops auf dem Webhosting zu belassen und lediglich die Wawi auf einem VPS zu installieren. Diesen könnte ich dann nur für ausgewählte IP's zugänglich machen.

Ich würde mich wirklich freuen zu hören was Ihr hierüber denkt.

Danke und VG

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

mealt schrieb:

Mein Problem liegt nun hauptsächlich darin, dass mir ein Managed Server leider in der jetzigen Situation zu teuer ist.

Bist du im Gegenzug bereit einiges an Zeit in das Aneignen von Wissen zu investieren?

Was laeuft auf dem Server sonst noch, ausser Apache und MySQL?

Welche Quellen hast du bisher zu Rate gezogen?

Ich bin auch zusätzlich am überlegen ob es bezüglich der Sicherheit sinnvoll sein könnte die Online Shops auf dem Webhosting zu belassen und lediglich die Wawi auf einem VPS zu installieren.

Dienste trennen ist immer gut ☺

Diesen könnte ich dann nur für ausgewählte IP's zugänglich machen.

Auch sinnvoll, (salopp gesagt)

mealt

(Themenstarter)

Anmeldungsdatum:
20. Juli 2017

Beiträge: 13

Was laeuft auf dem Server sonst noch, ausser Apache und MySQL?

Für die einzelnen Shops brauche ich Joomla als CMS. Hier also SSH, Apache2, PHP, MySQL. Zusätzlich noch phpmyAdmin und Let's Encrypt. Da ich auf die MySQL Datenbank gerne von außen zugreifen kann könnte ich jedoch auch auf phpmyAdmin verzichten und mich über mein lokales phpmyAdmin einloggen. Für die Shops müsste das eigentlich reichen. Mail Server würde ich natürlich einfach zukaufen. Wie auch gesagt könnte ich mir vorstellen die Shops auf einem Webhosting zu belassen um einfach Ruhe zu haben. Mein Problem hier ist aber, dass ich derzeit bei Allinkl bin und auch sehr zufrieden. Ich wollte jedoch unbedingt, dass sich die Shops ein Paar Datenbanktabellen teilen (Federated oder Replication) wird aber beides wie ich verstanden habe im Webhosting nicht angeboten. Ich hatte deswegen auch schon überlegt die Shops bei Allinkl zu lassen und die MySQL Datenbanken extern zu halten aber schön ist die Lösung natürlich auch nicht.

Für die Wawi (Odoo) benötige ich Postgresql, Python und SSH. Apache2 wäre natürlich noch schön wegen SSL. Das System könnte eigentlich geschlossen in sich laufen da nur die Shops und ich darauf Zugriff haben müssen.

Welche Quellen hast du bisher zu Rate gezogen?

Ich weiß leider nicht ob ich diese Frage jetzt richtig einordne. Bisher habe ich für die Einrichtung und Umsetzung hauptsächlich auf Tutorials und Anleitungen zurückgegriffen. In eine Dokumentation natürlich auch schon mal reingeguckt aber ich will ehrlich sein, dass dies jetzt nicht meine Hauptquelle ist. Ich nutze Ubuntu selbst schon seit Jahren auf meinem PC somit ist mir das alles nicht neu. Auch die Online Shops habe ich immer selbst verwaltet und eingerichtet und bisher habe ich noch nie damit Probleme gehabt. Trotzdem bin ich mir bewusst, dass das managen eines Servers eine andere Geschichte ist.

Dienste trennen ist immer gut ☺

Danke ... dann bin ich schon einmal hiervon überzeugt, dass ich beide Dienste getrennt voneinander laufen lassen sollte so, dass die Wawi nur von vereinzelten IP's erreichbar ist.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

mealt schrieb:

Da ich auf die MySQL Datenbank gerne von außen zugreifen kann könnte ich jedoch auch auf phpmyAdmin verzichten und mich über mein lokales phpmyAdmin einloggen.

Was ist ein lokales phpmyadmin in diesem Sinne?

Mail Server würde ich natürlich einfach zukaufen.

Auch vernuenftig.

Ich wollte jedoch unbedingt, dass sich die Shops ein Paar Datenbanktabellen teilen (Federated oder Replication) wird aber beides wie ich verstanden habe im Webhosting nicht angeboten. Ich hatte deswegen auch schon überlegt die Shops bei Allinkl zu lassen und die MySQL Datenbanken extern zu halten aber schön ist die Lösung natürlich auch nicht. Für die Wawi (Odoo) benötige ich Postgresql, Python und SSH. Apache2 wäre natürlich noch schön wegen SSL.

Apache als Proxy zum Python-Webserver zu verwenden ist auch gut, da kann man dann SSL und einen Cache zusaetzlich verwenden.

Das System könnte eigentlich geschlossen in sich laufen da nur die Shops und ich darauf Zugriff haben müssen.

Wie funktioniert hier die Authentifizierung? Da kannst du die IPs der Shops und dein eigene freischalten und alles andere blockieren (ausgenommen localhost, dann kommst du von ueberall ueber einen ssh-Tunnel noch drauf).

Welche Quellen hast du bisher zu Rate gezogen?

Ich weiß leider nicht ob ich diese Frage jetzt richtig einordne. Bisher habe ich für die Einrichtung und Umsetzung hauptsächlich auf Tutorials und Anleitungen zurückgegriffen. In eine Dokumentation natürlich auch schon mal reingeguckt aber ich will ehrlich sein, dass dies jetzt nicht meine Hauptquelle ist.

Viele Tutorials sind veraltet und/oder mangelhaft. Besser primaer die Dokumentation zu Rate ziehen und sekundaer Tutorials (und was dort steht wieder in der Doku nachpruefen).

mealt

(Themenstarter)

Anmeldungsdatum:
20. Juli 2017

Beiträge: 13

Da ich auf die MySQL Datenbank gerne von außen zugreifen kann könnte ich jedoch auch auf phpmyAdmin verzichten und mich über mein lokales phpmyAdmin einloggen.

Was ist ein lokales phpmyadmin in diesem Sinne?

Damit meine ich, dass es mir ausreichen würde, wenn ich phpmyadmin auf meinem eigenen PC installieren würde und über dieses auf die mySQL Datenbank auf dem Server zugreifen würde. Wie geschrieben würde ich den Zugriff auf mySQL nur ungern ausschließlich innerhalb des Servers einrichten sondern der Zugriff sollte auch von außerhalb verfügbar sein.

Wie funktioniert hier die Authentifizierung? Da kannst du die IPs der Shops und dein eigene freischalten und alles andere blockieren (ausgenommen localhost, dann kommst du von ueberall ueber einen ssh-Tunnel noch drauf).

Ich hatte mir das so vorgestellt, dass ich einerseits die IP von den Shops freischalte. Selbst wollte ich den Zugriff über ein Client Zertifikat einrichten, da ich ja zu Hause nur eine dynamische IP habe. Ob ich das alles aber so eingerichtet bekomme wie ich es gerne hätte weiß ich leider nicht.

Hans9876543210

Anmeldungsdatum:
2. Januar 2011

Beiträge: 3741

mealt schrieb:

Damit meine ich, dass es mir ausreichen würde, wenn ich phpmyadmin auf meinem eigenen PC installieren würde und über dieses auf die mySQL Datenbank auf dem Server zugreifen würde. Wie geschrieben würde ich den Zugriff auf mySQL nur ungern ausschließlich innerhalb des Servers einrichten sondern der Zugriff sollte auch von außerhalb verfügbar sein.

Kommst du per SSH auf den Server? Wenn ja, dann kannst du den Zugriff auf die SQL Datenbank auch absichern, indem du die Verbindung über SSH Tunnelst. Dann kann die DB auch nur auf den Localhost horchen.

mealt

(Themenstarter)

Anmeldungsdatum:
20. Juli 2017

Beiträge: 13

Hallo,

sorry, dass ich erst jetzt wieder schreibe aber ich habe zwischenzeitlich wirklich viel Zeit investiert um den Server einzurichten. Das dauert ja alles leider eine Ewigkeit.

Bisher habe ich folgendes gemacht. Installiert habe ich als erstes SSH und den root deaktiviert. Weiterhin meinen SSH User als einzigen freigeschaltet welcher sich über SSH einloggen kann. Login über Passwort habe ich deaktiviert. Login ist nur mit Zertifikat möglich. Dieses ist auch mit einem Passwort versehen.

Für die Odoo installation musste ich Python sowie die benötigten weiteren Python Pakete sowie Postgresql installieren. Die Postgresql Datenbank ist nur über localhost zu erreichen. Kein Zugriff von außen. Zudem habe ich dem neuen PostgreSQL User ein verschlüsseltes Password verpasst. Die Rechte um die ganzen Odoo Config Dateien lesen zu können sind auf root gesetzt.

Heute habe ich dann weiterhin die Firewall für Ubuntu installiert und lediglich SSH von überall zugelassen. Den Zugriff auf den Odoo Port 8069 beschränke ich zur Zeit nur auf mein Heimnetzwerk sowie das Webhosting wo die Shops laufen.

Ich denke als letztes müsste ich noch Apache2 sowie Let's Encrypt installieren um die Verbindung per SSL zu erlauben.

Denkt ihr das sollte soweit ok sein oder vergesse ich hier noch etwas komplett?

Danke und viele Grüße

Antworten |