Configure o NGINX com ModSecurity no CentOS 6

Neste artigo, explicarei como criar uma pilha LEMP protegida pelo ModSecurity. O ModSecurity é um firewall de aplicativo da web de código aberto que é útil para proteger contra injeções, ataques PHP e muito mais. Se você deseja configurar o NGINX com o ModSecurity, continue lendo.

Todas as etapas deste artigo requerem acesso root.

Etapa 1: instalando os pré-requisitos

Se você ainda não estiver executando como usuário root, faça o escalonamento:

/bin/su

Como precisamos de um compilador, execute o seguinte para garantir:

yum install -y gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd-devel libxml2-devel xz-devel python-devel libcurl-devel
yum groupinstall -y 'Development Tools' 

Para instalar o NGINX, precisamos primeiro obter o pacote. Faça o download do pacote:

cd /usr/src && wget http://nginx.org/download/nginx-1.9.9.tar.gz

Também exigiremos o pacote PHP para nossa pilha.

wget http://us2.php.net/distributions/php-5.6.16.tar.bz2

Como estamos instalando o ModSecurity, vamos pegar a fonte e fazer o download:

wget https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz

Agora, descompacte / descompacte os arquivos.

tar xvf nginx-1.9.9.tar.gz
tar xvf php-5.6.16.tar.bz2
tar xvf modsecurity-2.9.0.tar.gz   

Em seguida, instalaremos o ModSecurity.

cd /usr/src/modsecurity-2.9.0 && ./configure --enable-standalone-module --disable-mlogc
make && make install

Agora que obtivemos todos os pré-requisitos, vamos instalar o NGINX. O seguinte conjunto de comandos é para a instalação do NGINX e ModSecurity.

cd /usr/src/nginx-1.9.9 && ./configure --add-module=../modsecurity-2.9.0/nginx/modsecurity/
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

Agora, vamos instalar o servidor MySQL.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

Para o mysql_secure_installationcomando:

  • Pressione Enter na primeira etapa do assistente de instalação.
  • Digite Y quando solicitado se uma nova senha root do MySQL deve ser definida.
  • Digite uma nova senha e confirme digitando-a novamente.
  • Pressione Y para remover usuários anônimos, não permita o acesso remoto à raiz do MySQL pressionando Y novamente.
  • Pressione Y uma última vez para remover o banco de dados / usuário de teste.
  • Por fim, pressione Y para salvar suas alterações.

Uma última coisa a instalar, e isso é PHP. Neste artigo, instalaremos o PHP a partir da fonte.

Digite o diretório de origem do PHP.

cd /usr/src/php-5.6.16

Agora, configure o PHP. Os seguintes argumentos no ./configurecomando estão lá para que você possa executar aplicativos como o WordPress.

 ./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-curl
 make
 make install

Instale o PHP-FPM para NGINX:

yum install -y php-fpm

Precisamos instalar o PHP-FPM sobre o próprio PHP, porque o próprio NGINX não se integra diretamente ao PHP. Em vez disso, o NGINX passa o processamento do PHP para o PHP-FPM para executar nossos scripts.

Bom trabalho! Você instalou os pré-requisitos.

Etapa 2: Configurando o ModSecurity / NGINX

Vamos começar criando um conjunto de regras ModSecurity. O ModSecurity não faz nada sozinho até que você o configure.

Pegue o conjunto de regras da OWASP no site:

 cd /usr/src && wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
 tar xvf master

Depois de baixar o conjunto de regras, combinaremos a configuração padrão com as regras básicas.

cd SpiderLabs-owasp-modsecurity-crs-60c8bc9
cp /usr/src/modsecurity-2.9.0/modsecurity.conf-recommended /usr/local/nginx/conf/modsecurity.conf
cp /usr/src/modsecurity-2.9.0/unicode.mapping /usr/local/nginx/conf/
cat base_rules/*.conf >> /usr/local/nginx/conf/modsecurity.conf
cp base_rules/*.data /usr/local/nginx/conf

Em teoria, isso deve proteger contra a maioria das explorações da web. No entanto, os plug-ins / códigos que você instala também devem ser auditados, porque, embora o ModSecurity seja uma excelente medida de segurança, não é à prova de balas.

Crie um diretório em /var/www:

mkdir /var/www

E um diretório para seu host virtual:

mkdir /var/www/yourwebsite.com

Por fim, acrescente o seguinte à sua configuração NGINX localizada em /usr/local/nginx/conf/nginx.conf. Anexe esta configuração antes da ocorrência do último }símbolo.

  server {
  listen   80;
  root /var/www/yourwebsite.com;
  index index.php index.html index.htm;
  server_name yourwebsite.com www.yourwebsite.com;
  location / {
  ModSecurityEnabled on;
  ModSecurityConfig /usr/local/nginx/modsecurity.conf;
  }
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

Etapa 3: Iniciando o PHP-FPM e o NGINX

Esta etapa é bastante direta - tudo o que você precisa fazer é executar os seguintes comandos.

service php-fpm start
/usr/sbin/nginx

Parabéns! Você configurou seu primeiro site com o NGINX protegido pelo ModSecurity. Para mais informações sobre o ModSecurity, visite o site oficial .

Deixar um comentário

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.