


linux系統(tǒng)下如何加固你的nginx和php
添加時(shí)間:2015-6-3 21:26:36
添加:
思海網(wǎng)絡(luò)
linux系統(tǒng)相對比windows安全,但是有些程序上的不安全行為。不管你是什么系統(tǒng),一樣也會(huì)存在危險(xiǎn)因素,在這里,我們總結(jié)出了linux系統(tǒng)下的一些常見排除木馬和加固系統(tǒng)安全性的方法。
1、改變目錄和文件屬性,禁止寫入
find -type f -name \*.php -exec chmod 444 {} \;
find -type d -exec chmod 555 {} \;
注:當(dāng)然要排除上傳目錄、緩存目錄等;
同時(shí)最好禁止chmod函數(shù),攻擊者可通過chmod來修改文件只讀屬性再修改文件
2、php的危險(xiǎn)配置
禁用一些危險(xiǎn)的php函數(shù),例如:
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,
ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,popen,dl,
syslog,show_source
3、nginx安全方面的配置
限制一些目錄執(zhí)行php文件
location~^/images/.*\.(php|php5)$
{
denyall;
}
location~^/static/.*\.(php|php5)$
{
denyall;
}
location~*^/data/(attachment|avatar)/.*\.(php|php5)$
{
denyall;
}
注:這些目錄的限制必須寫在
location~.*\.(php|php5)$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
的前面,否則限制不生效!
path_info漏洞修正:
在通用fcgi.conf頂部加入
if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
return 404;
}
4、linux系統(tǒng)下查找php的相關(guān)木馬
php木馬一般含有<?php eval($_POST[cmd]);?>或者<?php assert($_POST[cmd]);?>
find /data/wwwroot/* -type f -name "*.php" |xargs grep "eval(" > /root/scan.txt
另外也有上傳任意文件的后門,可以用上面的方法查找所有包括"move_uploaded_file"的文件.
還有常見的一句話后門:
grep -r --include=*.php '[^a-z]eval($_POST' . > grep.txt
grep -r --include=*.php 'file_put_contents(.*$_POST\[.*\]);' . > grep.txt
把搜索結(jié)果寫入文件,下載下來慢慢分析,其他特征木馬、后門類似。有必要的話可對全站所有文件來一次特征查找,上傳圖片肯定有也捆綁的,來次大清洗。
5、查找近3天被修改過的文件:
find /data/www -mtime -3 -type f -name \*.php
注意:攻擊者可能會(huì)通過touch函數(shù)來修改文件時(shí)間屬性來避過這種查找,所以touch必須禁止
6、查找所有圖片文件
查找所有圖片文件gif,jpg.有些圖片內(nèi)容里被添加了php后門腳本.有些實(shí)際是一個(gè)php文件,將擴(kuò)展名改成了gif了.正常查看的情況下也可以看到顯示的圖片內(nèi)容的.這一點(diǎn)很難發(fā)現(xiàn).
曾給客戶處理過這類的木馬后門的.發(fā)現(xiàn)在php腳本里include一個(gè)圖片文件,經(jīng)過查看圖片文件源代碼,發(fā)現(xiàn)竟然是php腳本.
好了。安全加固你的php環(huán)境是非常重要的運(yùn)維工作,大家還有什么其他加固安全的好方法,可以拿過來分享一下。
關(guān)鍵字:linux、系統(tǒng)
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解