Корак 1: Инсталирање предуслова
Корак 2: Конфигурисање МодСецурити/НГИНКС-а
Корак 3: Покретање ПХП-ФПМ-а и НГИНКС-а
У овом чланку ћу објаснити како да направите ЛЕМП стек заштићен МодСецурити-ом. МодСецурити је заштитни зид за веб апликације отвореног кода који је користан за заштиту од убризгавања, ПХП напада и још много тога. Ако желите да подесите НГИНКС са МодСецурити, наставите са читањем.
Сви кораци у овом чланку захтевају роот приступ.
Корак 1: Инсталирање предуслова
Ако већ нисте покренути као роот корисник, ескалирајте сами:
/bin/su
Потребан нам је компајлер, па извршите следеће да бисте били сигурни:
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'
Да бисмо инсталирали НГИНКС, прво морамо да набавимо пакет. Преузмите пакет:
cd /usr/src && wget http://nginx.org/download/nginx-1.9.9.tar.gz
Такође ће нам бити потребан ПХП пакет за наш стек.
wget http://us2.php.net/distributions/php-5.6.16.tar.bz2
Пошто инсталирамо МодСецурити, зграбићемо извор и преузети га:
wget https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz
Сада, распакујте / распакујте датотеке.
tar xvf nginx-1.9.9.tar.gz
tar xvf php-5.6.16.tar.bz2
tar xvf modsecurity-2.9.0.tar.gz
Затим ћемо инсталирати МодСецурити.
cd /usr/src/modsecurity-2.9.0 && ./configure --enable-standalone-module --disable-mlogc
make && make install
Сада када смо добили све предуслове, хајде да инсталирамо НГИНКС. Следећи скуп команди је за инсталацију НГИНКС-а и МодСецурити-а.
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
Сада, хајде да инсталирамо МиСКЛ сервер.
yum install -y mysql-server
service mysqld start
mysql_secure_installation
За mysql_secure_installationкоманду:
- Притисните ентер на првом кораку чаробњака за инсталацију.
- Унесите И када буде затражено да ли треба поставити нову МиСКЛ роот лозинку.
- Унесите нову лозинку, потврдите је укуцавањем поново.
- Притисните И да бисте уклонили анонимне кориснике, онемогућите даљински роот приступ МиСКЛ-у тако што ћете поново притиснути И.
- Притисните И последњи пут да бисте уклонили тест базу података/корисника.
- На крају, притисните И да бисте сачували промене.
Још једна ствар коју треба инсталирати, а то је ПХП. У овом чланку ћемо инсталирати ПХП из извора.
Унесите изворни директоријум за ПХП.
cd /usr/src/php-5.6.16
Сада, конфигуришите ПХП. Следећи аргументи у ./configureкоманди су ту да бисте могли да покрећете апликације као што је ВордПресс.
./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-curl
make
make install
Инсталирајте ПХП-ФПМ за НГИНКС:
yum install -y php-fpm
Морамо да инсталирамо ПХП-ФПМ на сам ПХП јер се НГИНКС не интегрише директно са ПХП-ом. Уместо тога, НГИНКС преноси ПХП обраду на ПХП-ФПМ да би извршио наше скрипте.
Добар посао! Инсталирали сте предуслове.
Корак 2: Конфигурисање МодСецурити/НГИНКС-а
Почнимо са изградњом скупа правила МодСецурити. МодСецурити не ради ништа сам од себе док га не конфигуришете.
Преузмите ОВАСП скуп правила са њихове веб локације:
cd /usr/src && wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
tar xvf master
Након што преузмете скуп правила, комбинућемо подразумевану конфигурацију са основним правилима.
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
У теорији, ово би требало да штити од већине веб експлоатација. Међутим, додаци/код који инсталирате такође треба да буду ревидирани, јер иако је МодСецурити одлична безбедносна мера, није отпоран на метке.
Направите директоријум на /var/www:
mkdir /var/www
И директоријум за ваш виртуелни хост:
mkdir /var/www/yourwebsite.com
На крају, додајте следеће у вашу НГИНКС конфигурацију која се налази на /usr/local/nginx/conf/nginx.conf. Уверите се да сте додали ову конфигурацију пре појаве последњег }симбола.
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: Покретање ПХП-ФПМ-а и НГИНКС-а
Овај корак је прилично једноставан - све што треба да урадите је да извршите следеће команде.
service php-fpm start
/usr/sbin/nginx
Честитам! Поставили сте своју прву веб локацију са НГИНКС-ом заштићеном МодСецурити-ом. За даље читање о МодСецурити, посетите њихов званични сајт .