Tornando o Apache seguro no Ubuntu 14.04

4

Eu estou querendo hospedar um pequeno site em casa e ter instalado o Apache etc, assim:

  1. sudo apt-get update
  2. sudo apt-get install tasksel
  3. sudo tasksel install lamp-server

Tudo funcionou e tudo está em funcionamento.

Agora estou acostumada a trabalhar com o XAMPP para desenvolver e não queria usar esse live, já que muitas referências disseram que ele não era muito seguro.

Então, minha pergunta é: agora que eu tenho Apache / PHP & amp; MySql instalado pelo método acima; como é o nível de segurança por padrão?

Existem maneiras de torná-lo mais seguro e, talvez, uma lista de verificação ou redução de quaisquer alterações que possam ser recomendadas?

Esclarecimento: o servidor LAMP seria um site ativo, não um em desenvolvimento.

    
por Rog 06.07.2014 / 19:42

2 respostas

3

Eu corro meus próprios servidores LAMP no Ubuntu conectado à Internet, então eu sempre sigo as mesmas diretrizes. Normalmente, vou verificar o seguinte:

  • No Apache, remova a documentação ou, pelo menos, não apresente através do servidor web (removendo o link /etc/apache2/conf-enabled/apache2-doc.conf )
  • No Apache, certifique-se de que os módulos desnecessários não estejam carregados. Com o Ubuntu, isso é feito removendo os links no /etc/apache2/mods-enabled . Cada link aponta para um arquivo no diretório /etc/apache2/mods-available que carrega e configura um módulo por vez.
  • Você pode querer revisar e ativar o /etc/apache2/conf-available/security.conf . Eles propõem algumas dicas de segurança que não são ativadas por padrão:
  • Negando acesso a todo o sistema de arquivos, exceto pelos diretórios que você explicitamente permitiria posteriormente
  • modificando o banner do servidor para fornecer informações o menos possíveis sobre o software em execução.
  • Em PHP, verifique se você não imprime muitas informações de registro na tela em caso de erro (parâmetros na seção Tratamento de erros e registro do arquivo /etc/php4/apache2/php.ini . Os comentários em o arquivo fornece muitas informações sobre o que é preferível fazer)
  • Não há necessidade de expor seu servidor MySQL à Internet. Por padrão, no Ubuntu, o servidor Mysql escuta apenas no host local. Verifique /etc/mysql/my.cnf na seção mysqld para o parâmetro bind-address . Deve estar em 127.0.0.1:

      

    bind-address = 127.0.0.1

  • Não instale mais serviços neste servidor do que o necessário.

  • Não se esqueça de aplicar a atualização quando chegarem.
  • Não confie apenas na configuração do servidor LAMP apenas, não esqueça que você também tem que colocar rodar uma aplicação PHP que pode introduzir algumas ameaças de segurança (validação de entrada e tudo isso para evitar digitar consulta SQL na entrada campo para recuperar do DB mais informações que você teria dado a si mesmo, ...)

Estas são as primeiras coisas no topo da minha mente. Claro que você pode encontrar howto e guias mais detalhados na Internet:

por Benoit 08.07.2014 / 10:00
1

Aqui está o que eu geralmente faço depois de uma configuração LAMP: ( for development use, not production )

  • Desative o apache2 de iniciar automaticamente:

    sudo update-rc.d apache2 disable
    

    Quando você quiser usar, você pode iniciá-lo por:

    sudo service apache2 start
    
  • Desative o mysql para iniciar automaticamente:

    echo "manual" | sudo tee /etc/init/mysql.override
    

    Quando você quiser usar, você pode iniciá-lo por:

    sudo service mysql start
    
  • Bloqueie as portas de entrada 80 & amp; 3306 no firewall para proteger seu LAMP da invasão:

    sudo iptables -A INPUT -p tcp --dport 80 -j DROP
    sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
    

    (Na verdade, eu bloqueio todas as portas de entrada, exceto algumas críticas, mas a segurança do Linux é um tópico diferente!)

por Prahlad Yeri 07.07.2014 / 03:32