Como configuro e protejo adequadamente um LAMP Server de produção?

8

É muito difícil encontrar informações abrangentes sobre esse assunto. Ou eu encontrei pequenos tutoriais sobre como você executa a instalação, tão simples quanto "apt-get install apache2", ou tutoriais desatualizados. Então eu estava esperando que eu pudesse obter algumas informações profissionais dos meus colegas da comunidade Ubuntu: D

Eu realizei um Ubuntu Server 11.04 normal com LAMP, SAMBA e SSH instalados através da instalação do sistema. Mas estou tendo problemas para configurar hosts virtuais e tornar o sistema seguro o suficiente para expor o servidor à Web.

Eu segui um pouco este tutorial até aqui.

Eu tenho três sites em / etc / apache2 / sites-available que são parecidos com os nomes de sites diferentes:

<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 eu os habilitei com o comando a2ensite , por isso tenho links simbólicos em / etc / apache2 / sites-enabled .

Meu arquivo / etc / hosts tem estas linhas:

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 só consigo acessar um deles do navegador (tenho lynx instalado no servidor para fins de teste), então acho que não os configurei corretamente:)

Como devo proceder para obter uma configuração segura e adequada? Eu também uso o MySQL e acho que este tutorial será suficiente para configurar o SSH de forma segura. Por favor, ajude-me a compreender melhor a configuração do Apache, pois sou novo em configurar meu próprio servidor (só executei o XAMPP anteriormente) e, por favor, informe-me sobre como configurar um firewall também: D

    
por Niklas 06.09.2011 / 21:41

2 respostas

1

Você precisa dizer ao Apache que ele deve usar hospedagem virtual baseada em nome em vez de baseada em IP. Então anexe o seguinte ao seu /etc/apache2/apache2.conf para definir:

NameVirtualHost ip.address:port

E cada host virtual deve definir uma porta:

<VirtualHost example.com:80>
    
por user8290 10.12.2011 / 01:30
0

Acho que você também precisará adicionar seus IPs públicos se quiser que outros computadores possam se conectar. No momento, apenas seus loopbacks são mencionados em / etc / hosts. Eles também devem incluir outros IPs.

    
por Jo-Erlend Schinstad 07.09.2011 / 18:17