Wie richte ich einen Produktions-LAMP-Server richtig ein und sichere ihn?

8

Es ist sehr schwer, umfassende Informationen zu diesem Thema zu finden. Entweder habe ich kurze Tutorials gefunden, wie Sie die Installation durchführen, so einfach wie "apt-get install apache2", oder veraltete Tutorials. Ich hatte gehofft, ich könnte einige professionelle Informationen von meinen Kollegen in der Ubuntu-Community erhalten: D.

Ich habe einen normalen Ubuntu Server 11.04 mit LAMP, SAMBA und SSH durchgeführt, die über die Systeminstallation installiert wurden. Ich habe jedoch Probleme, virtuelle Hosts einzurichten und das System so sicher zu machen, dass der Server dem Web ausgesetzt wird.

Ich habe dieses Tutorial bis jetzt etwas befolgt .

Ich habe 3 Sites in / etc / apache2 / sites-available, die bis auf verschiedene Site-Namen alle so aussehen:

<VirtualHost example.com>
   ServerAdmin webmaster@localhost
   ServerAlias www.edunder.se
   DocumentRoot /var/www/sites/example
   CustomLog /var/log/apache2/www.example.com-access.log combined
</VirtualHost>

Und ich habe sie mit dem Befehl a2ensite aktiviert, sodass ich symbolische Links in / etc / apache2 / sites-enabled habe .

Meine / etc / hosts- Datei enthält folgende Zeilen:

127.0.0.1 localhost
127.0.1.1 Ubuntu.lan Ubuntu
127.0.0.1 localhost.localdomain localhost example.com www.example.com
127.0.0.1 localhost.localdomain localhost example2.com www.example2.com
127.0.0.1 localhost.localdomain localhost example3.com www.example3.com

Und ich kann nur über den Browser auf einen von ihnen zugreifen (ich habe lynx zu Testzwecken auf dem Server installiert), also habe ich sie wohl nicht richtig eingerichtet :)

Wie soll ich vorgehen, um eine sichere und ordnungsgemäße Einrichtung zu erhalten? Ich benutze auch MySQL und ich denke, dass dieses Tutorial ausreichen wird, um SSH sicher einzurichten. Bitte helfen Sie mir, die Apache-Konfiguration besser zu verstehen, da ich neu in der Einrichtung meines eigenen Servers bin (ich habe XAMPP erst früher ausgeführt), und geben Sie an, wie ich auch eine Firewall einrichten soll: D.

Niklas
quelle
1
Sie können auch unter serverfault.com nach einem StackExchange fragen, um Server und Systeme einzurichten und zu warten.
Kris Harper
2
Eine richtige Antwort darauf kann Bücher füllen. Ich würde vorschlagen, Ihre Frage in einige Fragen zur Konfiguration virtueller Hosts und zur Sicherheit aufzuteilen. Eine gute Antwort auf sicherheitsrelevante Fragen bezieht sich auf gute Kenntnisse Ihrer Angreifer, Ihrer Benutzer und einiger anderer.
Qbi
Danke, ich werde Serverfehler überprüfen, wenn ich gute Antworten finde! :)
Niklas

Antworten:

1

Sie müssen Apache mitteilen, dass es namenbasiertes virtuelles Hosting anstelle von IP-basiertem verwenden soll. Fügen Sie Ihrer Definition /etc/apache2/apache2.conf Folgendes hinzu, um Folgendes zu definieren:

NameVirtualHost ip.address:port

Und jeder virtuelle Host sollte einen Port definieren:

<VirtualHost example.com:80>

quelle
0

Ich denke, Sie müssen auch Ihre öffentlichen IP-Adressen hinzufügen, wenn Sie möchten, dass andere Computer eine Verbindung herstellen können. Im Moment werden nur Ihre Loopbacks in / etc / hosts erwähnt. Sie sollten auch andere IPs enthalten.

Jo-Erlend Schinstad
quelle
Bist du sicher? Wäre es nicht genug, wenn mein Domain Name Server nur auf meine IP verweist und der Router dann den Datenverkehr auf den Server verweist? Ich habe DHCP, daher verwende ich den DynDNS-Dienst, um den Datenverkehr an meine IP weiterzuleiten.
Niklas