Postavite NGINX s ModSecurity na CentOS 6

U ovom članku objasnit ću kako izgraditi LEMP stog zaštićen ModSecurity. ModSecurity je vatrozid web aplikacije otvorenog koda koji je koristan za zaštitu od ubrizgavanja, PHP napada i još mnogo toga. Ako želite postaviti NGINX s ModSecurity, nastavite čitati.

Svi koraci u ovom članku zahtijevaju root pristup.

Korak 1: Instaliranje preduvjeta

Ako već ne radite kao root korisnik, eskalirajte sami:

/bin/su

Potreban nam je prevodilac, pa izvedite sljedeće da biste bili sigurni:

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' 

Da bismo instalirali NGINX, prvo moramo nabaviti paket. Preuzmite paket:

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

Također će nam trebati PHP paket za naš stog.

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

Budući da instaliramo ModSecurity, zgrabit ćemo izvor i preuzeti ga:

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

Sada raspakirajte/raspakirajte datoteke.

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

Zatim ćemo instalirati ModSecurity.

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

Sada kada smo dobili sve preduvjete, instalirajmo NGINX. Sljedeći skup naredbi je za instalaciju NGINX-a i 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

Sada, instalirajmo MySQL poslužitelj.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

Za mysql_secure_installationnaredbu:

  • Pritisnite enter na prvom koraku čarobnjaka za instalaciju.
  • Upišite Y kada se od vas zatraži treba li postaviti novu lozinku za MySQL root.
  • Unesite novu lozinku, potvrdite je ponovnim upisivanjem.
  • Pritisnite Y za uklanjanje anonimnih korisnika, onemogućite daljinski root pristup MySQL ponovnim pritiskom na Y.
  • Pritisnite Y zadnji put za uklanjanje testne baze podataka/korisnika.
  • Na kraju, pritisnite Y da biste spremili promjene.

Posljednja stvar koju treba instalirati, a to je PHP. U ovom članku ćemo instalirati PHP iz izvora.

Unesite izvorni direktorij za PHP.

cd /usr/src/php-5.6.16

Sada konfigurirajte PHP. Sljedeći argumenti u ./configurenaredbi postoje tako da možete pokrenuti aplikacije poput WordPressa.

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

Instalirajte PHP-FPM za NGINX:

yum install -y php-fpm

Moramo instalirati PHP-FPM na sam PHP jer se sam NGINX ne integrira izravno s PHP-om. Umjesto toga, NGINX prosljeđuje PHP obradu na PHP-FPM kako bi izvršio naše skripte.

Dobar posao! Instalirali ste preduvjete.

Korak 2: Konfiguriranje ModSecurity/NGINX

Počnimo s izgradnjom skupa pravila ModSecurity. ModSecurity ne radi ništa sam od sebe dok ga ne konfigurirate.

Uzmite skup pravila OWASP s njihove web stranice:

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

Nakon što preuzmete skup pravila, kombinirat ćemo zadanu konfiguraciju s osnovnim pravilima.

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

U teoriji, ovo bi trebalo zaštititi od većine web eksploatacija. Međutim, treba provjeriti i dodatke/kod koji instalirate, jer iako je ModSecurity izvrsna sigurnosna mjera, nije otporan na metke.

Napravite imenik na /var/www:

mkdir /var/www

I direktorij za vaš virtualni host:

mkdir /var/www/yourwebsite.com

Konačno, dodajte sljedeće u svoju NGINX konfiguraciju koja se nalazi na /usr/local/nginx/conf/nginx.conf. Provjerite jeste li dodali ovu konfiguraciju prije pojave posljednjeg }simbola.

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

Korak 3: Pokretanje PHP-FPM-a i NGINX-a

Ovaj korak je prilično jednostavan - sve što trebate učiniti je izvršiti sljedeće naredbe.

service php-fpm start
/usr/sbin/nginx

Čestitamo! Postavili ste svoju prvu web stranicu s NGINX-om zaštićenom ModSecurity. Za daljnje čitanje o ModSecurity posjetite njihovu službenu stranicu .

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više