Come posso impostare e proteggere correttamente un server LAMP di produzione?


8

È molto difficile trovare informazioni complete su questo argomento. O ho trovato brevi tutorial su come eseguire l'installazione, semplici come "apt-get install apache2" o tutorial obsoleti. Quindi speravo di poter ottenere alcune informazioni professionali dai miei colleghi della comunità Ubuntu: D

Ho eseguito un normale Ubuntu Server 11.04 con LAMP, SAMBA e SSH installati attraverso l'installazione del sistema. Ma ho qualche problema a configurare host virtuali e a rendere il sistema abbastanza sicuro da esporre il server al web.

Finora ho seguito questo tutorial .

Ho 3 siti in / etc / apache2 / siti-disponibili che sembrano tutti così tranne i nomi di siti diversi:

<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>

E li ho abilitati con il comando a2ensite, quindi ho collegamenti simbolici in / etc / apache2 / siti abilitati .

Il mio file / etc / hosts ha queste righe:

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

E posso accedervi solo dal browser (ho lynx installato sul server a scopo di test) quindi immagino di non averli impostati correttamente :)

Come devo procedere per ottenere una configurazione sicura e corretta? Uso anche MySQL e penso che questo tutorial sarà sufficiente per configurare SSH in modo sicuro. Aiutami a capire meglio la configurazione di Apache poiché sono nuovo nell'impostare il mio server (ho eseguito XAMPP solo in precedenza) e ti consiglio di sapere come devo installare anche un firewall: D


1
Potresti anche chiedere a serverfault.com, uno StackExchange per l'impostazione e la manutenzione di server e sistemi.
Kris Harper,

2
Una risposta corretta a questo può riempire i libri. Suggerirei di dividere la tua domanda in alcuni aspetti riguardanti la configurazione degli host virtuali e la sicurezza. Una buona risposta a domande relative alla sicurezza riguarda una buona conoscenza dei tuoi aggressori, dei tuoi utenti e di altri.
qbi,

Grazie, controllerò serverfault se trovo delle buone risposte! :)
Niklas

Risposte:


1

Devi dire ad Apache che dovrebbe usare l'hosting virtuale basato sul nome anziché basato sull'IP. Quindi aggiungi quanto segue a /etc/apache2/apache2.conf per definire:

NameVirtualHost ip.address:port

E ogni host virtuale dovrebbe definire una porta:

<VirtualHost example.com:80>

0

Penso che dovrai aggiungere anche i tuoi IP pubblici se vuoi che altri computer siano in grado di connettersi. In questo momento, solo i tuoi loopback sono menzionati in / etc / hosts. Dovrebbero includere anche altri IP.


Sei sicuro? Non sarebbe sufficiente se il mio Domain Name Server punta al mio IP e poi permetto al router di indirizzare il traffico verso il server? Ho DHCP quindi sto usando il servizio DynDNS per inoltrare il traffico al mio IP.
Niklas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.