سلام برای بالا بردن امنیت nginx میتونید از ماژول زیر استفاده کنید
خب
معمولا این ابزار ها نصبه ولی ما دوباره میگیم شما بزنید شاید نصب نباشه
یه سری کتابخونه http واسه gccکد PHP:
yum install -y gcc make automake autoconf libtool
این کد رو نزنید ( مخصوص دبیان بیس ها - ابونتو )کد PHP:
yum install -y pcre pcre-devel libxml2 libxml2-devel curl curl-devel httpd-devel
رپوزیتوری مود امنیت رو گرفته و کامپایل میکینمکد PHP:
sudo apt-get install libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev
درهمون مکان سورس nginx رو میاریم و دوباره با این مود کامپایل میکنیمکد PHP:
git clone https://github.com/SpiderLabs/ModSecurity.git mod_security
cd mod_security
./autogen.sh
./configure --enable-standalone-module
make
وارد فایل nginx.conf بشید و تنظیمات زیر را انجام بدیدکد PHP:
wget http://www.nginx.org/download/nginx-1.4.2.tar.gz
tar -xvpzf nginx-1.4.2.tar.gz
cd nginx-1.4.2
./configure --add-module=../mod_security/nginx/modsecurity
make
make install
اگه وبسایت دیگه دارید و تنظیمات دیگری میخواهید فایلی با نام new mod_security.conf بسازید و تنظمیات زیر را درونش بزاریدکد PHP:
server {
listen 80;
server_name localhost;
location / {
ModSecurityEnabled on;
ModSecurityConfig modsecurity.conf;
}
}
یا برای خاموش کردن از کدکد PHP:
location /secured {
ModSecurityConfig modsecurity3.conf;
*****_pass http://secured.mysite.com/;
*****_read_timeout 180s;
}
استفاده کنیدکد PHP:
location /unsecured/ {
ModSecurityEnabled off;
*****_pass http://unsecured.mysite.com/;
*****_read_timeout 180s;
}
بعد هم وب سرویس رو دوباره ریلود میکنیم
کد PHP:
service nginx restart