Nastavite NGINX z ModSecurity na CentOS 6

V tem članku bom razložil, kako zgraditi sklad LEMP, zaščiten z ModSecurity. ModSecurity je požarni zid odprtokodne spletne aplikacije, ki je uporaben za zaščito pred vbrizgavanjem, napadi PHP in še več. Če želite nastaviti NGINX z ModSecurity, nadaljujte z branjem.

Vsi koraki v tem članku zahtevajo korenski dostop.

1. korak: Namestitev predpogojev

Če še ne delujete kot korenski uporabnik, stopite sami:

/bin/su

Potrebujemo prevajalnik, zato izvedite naslednje, da se prepričate:

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' 

Za namestitev NGINX moramo najprej pridobiti paket. Prenesite paket:

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

Za naš sklad bomo potrebovali tudi paket PHP.

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

Ker nameščamo ModSecurity, bomo zgrabili izvor in ga prenesli:

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

Zdaj odpakirajte/razpakirajte 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   

Nato bomo namestili ModSecurity.

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

Zdaj, ko smo pridobili vse predpogoje, namestimo NGINX. Naslednji nabor ukazov je za namestitev NGINX in 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

Zdaj pa namestimo strežnik MySQL.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

Za mysql_secure_installationukaz:

  • Pritisnite enter v prvem koraku čarovnika za namestitev.
  • Vnesite Y, ko vas pozove, ali je treba nastaviti novo korensko geslo MySQL.
  • Vnesite novo geslo, potrdite ga s ponovnim vnosom.
  • Pritisnite Y, da odstranite anonimne uporabnike, onemogočite oddaljeni korenski dostop do MySQL tako, da znova pritisnete Y.
  • Zadnjič pritisnite Y, da odstranite testno bazo podatkov/uporabnika.
  • Nazadnje pritisnite Y, da shranite spremembe.

Še zadnja stvar za namestitev, in to je PHP. V tem članku bomo namestili PHP iz vira.

Vnesite izvorni imenik za PHP.

cd /usr/src/php-5.6.16

Zdaj konfigurirajte PHP. Naslednji argumenti v ./configureukazu so tam, da lahko zaženete aplikacije, kot je WordPress.

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

Namesti PHP-FPM za NGINX:

yum install -y php-fpm

PHP-FPM moramo namestiti na sam PHP, ker se NGINX sam ne integrira neposredno s PHP. Namesto tega NGINX posreduje obdelavo PHP PHP-FPM za izvajanje naših skriptov.

Dobro opravljeno! Namestili ste predpogoje.

2. korak: Konfiguriranje ModSecurity/NGINX

Začnimo z izdelavo nabora pravil ModSecurity. ModSecurity ne naredi ničesar sam, dokler ga ne konfigurirate.

Zgrabite nabor pravil OWASP z njihovega spletnega mesta:

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

Ko prenesete nabor pravil, bomo združili privzeto konfiguracijo z osnovnimi pravili.

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

Teoretično bi to moralo zaščititi pred večino spletnih podvigov. Vendar pa je treba tudi vtičnike/kodo, ki jih namestite, pregledati, ker je ModSecurity odličen varnostni ukrep, vendar ni neprebojen.

Ustvarite imenik na /var/www:

mkdir /var/www

In imenik za vašega virtualnega gostitelja:

mkdir /var/www/yourwebsite.com

Končno dodajte naslednje konfiguraciji NGINX, ki se nahaja na /usr/local/nginx/conf/nginx.conf. Prepričajte se, da ste to konfiguracijo dodali pred pojavom zadnjega }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;
  }
}

3. korak: Zagon PHP-FPM in NGINX

Ta korak je dokaj preprost - vse kar morate storiti je, da izvedete naslednje ukaze.

service php-fpm start
/usr/sbin/nginx

Čestitam! Nastavili ste svoje prvo spletno mesto z NGINX, zaščitenim z ModSecurity. Za nadaljnje branje o ModSecurity obiščite njihovo uradno stran .

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več