国产精品香蕉在线观看网,亚洲欧美精品综合在线观看,亚洲不卡av一区二区无码不卡,亚洲日本精品国产第一区二区

移動(dòng)安全 安全管理 應(yīng)用案例 網(wǎng)絡(luò)威脅系統(tǒng)安全 應(yīng)用安全 數(shù)據(jù)安全 云安全
當(dāng)前位置: 主頁(yè) > 信息安全 > 系統(tǒng)安全 >

系統(tǒng)安然:Nginx安然建設(shè)研究

時(shí)間:2014-03-31 11:41來(lái)源:TuZhiJiaMi企業(yè)信息安全專家 點(diǎn)擊:
0x00 測(cè)試環(huán)境 把持系統(tǒng):CentOS6.5 Web辦事器:Nginx1.4.6 Php版本:Php5.4.26 0x01 Nginx介紹 nginx本身不克不及措置PHP,它只是個(gè)web辦事器,當(dāng)領(lǐng)遭到要求后,假定是php要求,則發(fā)給php詮釋器措置,并把成
Tags系統(tǒng)安全(735)Nginx安全(1)配置方案(1)  

  0x00 測(cè)試環(huán)境

Nginx安然建設(shè)研究

  把持系統(tǒng):CentOS6.5

  Web辦事器:Nginx1.4.6

  Php版本:Php5.4.26

  0x01 Nginx介紹

  nginx本身不克不及措置PHP,它只是個(gè)web辦事器,當(dāng)領(lǐng)遭到要求后,假定是php要求,則發(fā)給php詮釋器措置,并把成果返回給客戶端。nginx通常為把要求發(fā)fastcgi治理過(guò)程措置,fastcgi治理過(guò)程選擇cgi子過(guò)程措置成果并返回被nginx。

  nginx觸及到兩個(gè)賬戶,一個(gè)是nginx的運(yùn)行賬戶,一個(gè)是php-fpm的運(yùn)行賬戶。假定拜候的是一個(gè)靜態(tài)文件,則只需要nginx的運(yùn)行賬戶對(duì)文件具有讀取權(quán)限;而假定拜候的是一個(gè)php文件,則起首需要nginx的運(yùn)行賬戶對(duì)文件有讀取權(quán)限,讀取到文件后發(fā)現(xiàn)是一個(gè)php文件,則轉(zhuǎn)發(fā)給php-fpm,此時(shí)則需要php-fpm賬戶對(duì)文件具有讀取權(quán)限。

  0x02 研究發(fā)現(xiàn)的結(jié)論

  1. linux下,要讀取一個(gè)文件,起首需要具有對(duì)文件地點(diǎn)文件夾的履行權(quán)限,然后需要對(duì)文件的讀取權(quán)限。

  2. php文件的履行不需要文件的履行權(quán)限,只需要nginx和php-fpm運(yùn)行賬戶的讀取權(quán)限。

  3. 上傳木馬后,能不克不及列出一個(gè)文件夾的內(nèi)容,跟php-fpm的運(yùn)行賬戶對(duì)文件夾的讀取權(quán)限有關(guān)。

  4. 木馬履行號(hào)令的權(quán)限跟php-fpm的賬戶權(quán)限有關(guān)。

  5. 假定木馬要履行號(hào)令,需要php-fpm的賬戶對(duì)響應(yīng)的sh有履行權(quán)限。

  6. 要讀取一個(gè)文件夾內(nèi)的文件,是不需要對(duì)文件夾有讀取權(quán)限的,只需要對(duì)文件夾有履行權(quán)限。

  0x03 Nginx辦事器觸及到的安然建設(shè)

  1. Nginx.conf的建設(shè)

  2. php-fpm.conf的建設(shè)

  3. nginx和php-fpm的運(yùn)行賬戶對(duì)磁盤的權(quán)限建設(shè)

  4. Php.ini的建設(shè)

  0x04 常見需要建設(shè)的把持編制

  1. 避免一個(gè)目次的拜候

  示例:避免拜候path目次

  location ^~ /path {

  deny all;

  }

  可以把path換成實(shí)際需要的目次,目次path后是不是帶有"/",帶"/"只避免拜候目次,不帶"/"避免拜候目次中的文件;寄望要放在fastcgi建設(shè)之前。

  2. 避免php文件的拜候及履行

  示例:往掉落單個(gè)目次的PHP履行權(quán)限

  location ~ /attachments/.*\.(php|php5)?$ {

  deny all;

  }

  示例:往掉落多個(gè)目次的PHP履行權(quán)限

  location ~

  /(attachments|upload)/.*\.(php|php5)?$ {

  deny all;

  }

  3. 避免IP的拜候

  示例:避免IP段的寫法:

  deny 10.0.0.0/24;

  示例:只承諾某個(gè)IP或某個(gè)IP段用戶拜候,其它的用戶全都避免

  allow

  x.x.x.x;

  allow 10.0.0.0/24;

  deny all;

  0x05 需要解決的常見標(biāo)題問(wèn)題

  1. 讓木頓時(shí)傳后不克不及履行

  針對(duì)上傳目次,在nginx建設(shè)文件中加進(jìn)建設(shè),使此目次沒法解析php。

  2. 讓木馬履行后看不到非網(wǎng)站目次文件

  打消php-fpm運(yùn)行賬戶對(duì)其他目次的讀取權(quán)限。

  3. 木馬履行后號(hào)令不克不及履行

  打消php-fpm賬戶對(duì)sh的履行權(quán)限。

  4. 號(hào)令履行后權(quán)限不克不及太高

  Php-fpm賬戶不要用root或加進(jìn)root組。

  nginx本身不克不及措置PHP,它只是個(gè)web辦事器,當(dāng)領(lǐng)遭到要求后,假定是php要求,則發(fā)給php詮釋器措置,并把成果返回給客戶端。nginx通常為把要求發(fā)fastcgi治理過(guò)程措置,fastcgi治理過(guò)程選擇cgi子過(guò)程措置成果并返回被nginx。

  0x06 Nginx安然建設(shè)方案

  1. 點(diǎn)竄網(wǎng)站目次所有者為非php-fpm運(yùn)行賬戶,此處點(diǎn)竄所有者為root。

  號(hào)令:

  chown -R root:root html/

  2. 點(diǎn)竄nginx及php-fpm的運(yùn)行賬戶及組為nobody

  nginx.conf

  Php-fpm.conf

  3. 打消nobody對(duì)所有目次的的讀取權(quán)限,然后添加對(duì)網(wǎng)站目次的讀取權(quán)限

  號(hào)令:

  chmod o-r –R /

  chmod o+r –R html/

  4. 打消nobody對(duì)/bin/sh 的履行權(quán)限

  chmod 776 /bin/sh

  5. 確認(rèn)網(wǎng)站目次對(duì)nobody的權(quán)限為可讀可履行,對(duì)網(wǎng)站文件的權(quán)限為可讀

  6. 對(duì)上傳目次或?qū)戇M(jìn)寫文件的目次添加nobody的寫進(jìn)權(quán)限

  7. 建設(shè)nginx.conf 對(duì)上傳目次無(wú)php的履行權(quán)限

  8. 建設(shè)nginx.conf避免拜候的文件夾,如后臺(tái),或限制拜候ip

  9. 建設(shè)nginx.conf避免拜候的文件類型,如一些txt日記文件

------分隔線----------------------------

推薦內(nèi)容