1. lépés: Az előfeltételek telepítése
2. lépés: A ModSecurity/NGINX konfigurálása
3. lépés: A PHP-FPM és az NGINX indítása
Ebben a cikkben elmagyarázom, hogyan lehet ModSecurity által védett LEMP-vermet felépíteni. A ModSecurity egy nyílt forráskódú webalkalmazás-tűzfal, amely hasznos védelmet nyújt az injekciók, PHP-támadások és egyebek ellen. Ha be szeretné állítani az NGINX-et a ModSecurity segítségével, folytassa az olvasást.
Ebben a cikkben minden lépéshez root hozzáférés szükséges.
1. lépés: Az előfeltételek telepítése
Ha még nem root felhasználóként fut, lépjen tovább:
/bin/su
Szükségünk van egy fordítóprogramra, ezért hajtsa végre a következőket, hogy megbizonyosodjon róla:
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'
Az NGINX telepítéséhez először be kell szereznünk a csomagot. Töltse le a csomagot:
cd /usr/src && wget http://nginx.org/download/nginx-1.9.9.tar.gz
Szükségünk lesz a PHP csomagra is a veremünkhöz.
wget http://us2.php.net/distributions/php-5.6.16.tar.bz2
Mivel a ModSecurity-t telepítjük, megragadjuk a forrást és letöltjük:
wget https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz
Most bontsa ki/bontsa ki a fájlokat.
tar xvf nginx-1.9.9.tar.gz
tar xvf php-5.6.16.tar.bz2
tar xvf modsecurity-2.9.0.tar.gz
Ezután telepítjük a ModSecurity-t.
cd /usr/src/modsecurity-2.9.0 && ./configure --enable-standalone-module --disable-mlogc
make && make install
Most, hogy az összes előfeltételt megszereztük, telepítsük az NGINX-et. A következő parancskészlet az NGINX és a ModSecurity telepítésére vonatkozik.
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
Most telepítsük a MySQL szervert.
yum install -y mysql-server
service mysqld start
mysql_secure_installation
A mysql_secure_installationparancshoz:
- A telepítő varázsló első lépésében nyomja meg az Enter billentyűt.
- Írja be az Y-t, amikor a rendszer megkérdezi, hogy új MySQL root jelszót kell beállítani.
- Írjon be egy új jelszót, majd erősítse meg újbóli beírásával.
- Nyomja meg az Y gombot a névtelen felhasználók eltávolításához, és tiltsa le a távoli root hozzáférést a MySQL-hez az Y ismételt megnyomásával.
- Nyomja meg utoljára az Y gombot a tesztadatbázis/felhasználó eltávolításához.
- Végül nyomja meg az Y gombot a módosítások mentéséhez.
Még egy utolsó dolog, amit telepíteni kell, és ez a PHP. Ebben a cikkben a PHP-t forrásból telepítjük.
Írja be a PHP forráskönyvtárát.
cd /usr/src/php-5.6.16
Most állítsa be a PHP-t. A ./configureparancs következő argumentumai azért vannak, hogy olyan alkalmazásokat futtathasson, mint a WordPress.
./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-curl
make
make install
A PHP-FPM telepítése NGINX-hez:
yum install -y php-fpm
A PHP-FPM-et magára a PHP-re kell telepítenünk, mert maga az NGINX nem integrálódik közvetlenül a PHP-be. Ehelyett az NGINX átadja a PHP-feldolgozást a PHP-FPM-nek a szkriptjeink végrehajtásához.
Szép munka! Telepítette az előfeltételeket.
2. lépés: A ModSecurity/NGINX konfigurálása
Kezdjük egy ModSecurity szabálykészlet felépítésével. A ModSecurity semmit sem csinál magától, amíg be nem állítja.
Töltse le az OWASP szabálykészletet a webhelyükről:
cd /usr/src && wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
tar xvf master
Miután letöltötte a szabálykészletet, az alapértelmezett konfigurációt egyesítjük az alapszabályokkal.
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
Elméletileg ennek meg kell védenie a legtöbb webes kizsákmányolást. Azonban a telepített bővítményeket/kódokat is ellenőrizni kell, mert bár a ModSecurity kiváló biztonsági intézkedés, nem golyóálló.
Hozzon létre egy könyvtárat a következő címen /var/www:
mkdir /var/www
És egy könyvtár a virtuális gazdagéphez:
mkdir /var/www/yourwebsite.com
Végül fűzze hozzá a következőket a címen található NGINX konfigurációjához /usr/local/nginx/conf/nginx.conf. Ügyeljen arra, hogy ezt a konfigurációt az utolsó }szimbólum előfordulása előtt fűzze hozzá .
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. lépés: A PHP-FPM és az NGINX indítása
Ez a lépés meglehetősen egyszerű – mindössze annyit kell tennie, hogy végrehajtja a következő parancsokat.
service php-fpm start
/usr/sbin/nginx
Gratulálunk! Beállította első webhelyét a ModSecurity által védett NGINX-szel. A ModSecurity-vel kapcsolatos további információkért látogassa meg hivatalos webhelyüket .