Como implantar um stack LAMP em um Cloud Server com Ubuntu Linux na CentralServer?

De Wiki
Revisão de 17h53min de 11 de abril de 2016 por Carla (discussão | contribs)

Ir para: navegação, pesquisa

O que é LAMP?

LAMP é um grupo de softwares e de código aberto utilizado em servidores Web.

Sua sigla significa Linux, Apache, MySQL e PHP.


Requisitos

Para instalar o LAMP, você precisa primeiro ativar um Cloud Server na infraestrutura da CentralServer. Em seguida, pelo Painel de Controle, você instala a imagem (template) do sistema operacional Ubuntu. A instalação ocorrerá em instantes e você receberá por email as informações para acessar o servidor.


Como instalar o LAMP?

  • O primeiro passo consiste em atualizar a lista de pacotes do Ubuntu:
sudo apt-get update
  • Após a atualização, realize o seguinte comando para instalar o LAMP em seu servidor:
sudo apt-get install lamp-server^ 

Nota: É necessário adicionar o sinal "^" ao final do comando.


  • Durante o processo de instalação, você deve definir a senha de root do MySQL:

Lamp1.jpg

Lamp2.jpg

Após este processo, os serviços estarão instalados em seu Cloud Infraestrutura.

Configurações recomendadas

Para melhor performance e aumento de segurança, recomendamos a realização dos seguintes passos:

Apache

Instalar o Mod Security

O Mod Security é um firewall para aplicação Web que protege seu servidor Apache.

Para instalá-lo, utilize o seguinte comando:

sudo apt-get install libapache2-modsecurity

Para configurá-lo, é necessário copiar o arquivo padrão de configuração para modsecurity.conf conforme o exemplo abaixo:

sudo cp /etc/modsecurity/modsecurity{-recommended,} /etc/modsecurity/modsecurity.conf

Após copiado, altere as seguintes variáveis no arquivo modsecurity.conf:

SecRuleEngine On
SecRequestBodyAccess Off

Adicione ao myconf.conf a seguinte configuração:

<IfModule security2_module>
Include /usr/share/modsecurity-crs/*.conf

Instalar o Mod Evasive

Como o Mod Security não possui uma regra para proteção a ataques de negação de serviço, recomendamos a utilização do Mod Evasive que a realiza.

  • Para instalá-lo utilize os comandos:
sudo apt-get install libapache2-mod-evasive
sudo mkdir /var/log/apache2/mod_evasive && chmod 777 /var/log/apache2/mod_evasive
  • Crie e edite o arquivo /etc/apache2/mods-available/evasive.conf:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097 
DOSPageCount 20
DOSSiteCount 100
DOSPageInterval 3
DOSSiteInterval 5
DOSBlockingPeriod 300
DOSEmailNotify "<SUA CONTA DE EMAIL>"
DOSLogDir "/var/log/apache2/mod_evasive"
</IfModule>
  • Realize o restart do serviço apache.

PHP

  • Alterar variáveis no php.ini:
  • mail.add_x_header: Este função inclui no cabeçalho dos e-mails enviados com PHP, informações de onde fora acionado o envio de email, informação útil para realização de ataques.
mail.add_x_header = Off
  • session.name: A alteração do padrão dessa variável previne ataques do tipo Session Fixation.
session.name = (Nome desejado Ex. MYSESSID)

VSFTPD (FTP)

Para facilitar a manipulação de arquivos em seu servidor Web, recomendamos instalar o serviço FTP (VSFTPD):

  • Execute os seguintes comandos para instalação:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:thefrontiergroup/vsftpd
sudo apt-get update
sudo apt-get install vsftpd
  • Insira ou altere as seguintes configurações no arquivo de configuração do VSFTPD (/etc/vsftpd.conf)
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
  • Crie um usuário para acesso FTP:
useradd ftpuser
  • Atribua uma senha ao usuário:
passwd ftpuser
  • Crie uma pasta para o usuário e atribua as devidas permissões:
mkdir /home/ftpuser
chown ftpuser.ftpuser /home/ftpuser/
  • Para que o usuário FTP não possua acesso a todo servidor, recomendamos a criação de um link para a pasta onde é publicado o conteúdo web (Padrão = /var/www/).
mkdir /home/ftpuser/public_html
chown ftpuser.ftpuser /home/ftpuser/public_html
mount --bind /var/www/ /home/ftpuser/public_html/
  • Para que este link não se perca, recomendamos a inclusão da seguinte linha no arquivo /etc/fstab:
/var/www/ /home/ftpuser/public_html none bind 0 0
  • Após a realização de todos os procedimentos, realize o restart do serviço vsftpd:
 service vsftpd restart