Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
В этой статье я объясню, как построить стек LEMP, защищенный ModSecurity. ModSecurity - это брандмауэр веб-приложений с открытым исходным кодом, который полезен для защиты от инъекций, атак PHP и многого другого. Если вы хотите настроить NGINX с ModSecurity, продолжайте чтение.
Все шаги в этой статье требуют root-доступа.
Если вы еще не работаете от имени пользователя root, увеличьте свои права:
/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'
Чтобы установить NGINX, нам нужно сначала получить пакет. Загрузите пакет:
cd /usr/src && wget http://nginx.org/download/nginx-1.9.9.tar.gz
Нам также потребуется пакет PHP для нашего стека.
wget http://us2.php.net/distributions/php-5.6.16.tar.bz2
Поскольку мы устанавливаем ModSecurity, мы возьмем исходный код и загрузим его:
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
Затем мы установим ModSecurity.
cd /usr/src/modsecurity-2.9.0 && ./configure --enable-standalone-module --disable-mlogc
make && make install
Теперь, когда мы получили все необходимые условия, давайте установим NGINX. Следующий набор команд предназначен для установки NGINX и 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
Теперь давайте установим сервер MySQL.
yum install -y mysql-server
service mysqld start
mysql_secure_installation
Для mysql_secure_installationкоманды:
И последнее, что нужно установить, и это PHP. В этой статье мы будем устанавливать PHP из исходного кода.
Введите исходный каталог для PHP.
cd /usr/src/php-5.6.16
Теперь настройте PHP. Следующие аргументы в ./configureкоманде есть, чтобы вы могли запускать приложения, такие как WordPress.
./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-curl
make
make install
Установите PHP-FPM для NGINX:
yum install -y php-fpm
Нам нужно установить PHP-FPM поверх самого PHP, потому что сам NGINX не интегрируется напрямую с PHP. Вместо этого NGINX передает обработку PHP в PHP-FPM для выполнения наших скриптов.
Хорошая работа! Вы установили необходимые условия.
Давайте начнем с создания набора правил ModSecurity. ModSecurity ничего не делает сам по себе, пока вы не настроите его.
Возьмите набор правил OWASP с их сайта:
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
Теоретически это должно защищать от большинства веб-эксплойтов. Тем не менее, плагины / код, который вы устанавливаете, также должны быть проверены, потому что, хотя ModSecurity является отличной мерой безопасности, он не является пуленепробиваемым.
Создайте каталог по адресу /var/www:
mkdir /var/www
И каталог для вашего виртуального хоста:
mkdir /var/www/yourwebsite.com
Наконец, добавьте следующее к вашей конфигурации NGINX, расположенной по адресу /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;
}
}
Этот шаг довольно прост - все, что вам нужно сделать, это выполнить следующие команды.
service php-fpm start
/usr/sbin/nginx
Поздравляем! Вы настроили свой первый веб-сайт с NGINX, защищенным ModSecurity. Для дальнейшего чтения на ModSecurity, посетите их официальный сайт .
Изучение 26 методов анализа больших данных: часть 1
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше