三千论坛

标题: PHP木马的攻击的防御之道 [打印本页]

作者: 异仟年    时间: 2022-9-5 18:08
标题: PHP木马的攻击的防御之道
首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:  # a# n. _4 Z, K- o- l& b; @2 A$ \
   php_admin_value open_basedir /usr/local/apache/htdocs
5 w) c: s( h  s, T8 x
  
. P$ F! r2 U$ i, g# d
   这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:/ W2 J# ^' k6 U- y" F% p" Q$ o, ^' x
   Warning: open_basedir restriction in effect. File is in wrong directory in
' U7 ]! ^6 n7 n: O! R
   /usr/local/apache/htdocs/open.php on line 4( r& ?& Y% ?$ t# Y/ O
   等等。
" K$ j6 J6 X' Y" |9 E$ `& r3 o; _, Y
   2.防止php木马执行webshell- j. d: p5 P" [; [$ n
   打开safe_mode,
- S$ O5 x5 m- [# b& E1 O
   ,php.ini中设置* [. s5 u  F& c  V
   disable_functions= passthru,exec,shell_exec,system  
6 s- u/ Y; f/ q. L; i
   二者选一即可,也可都选  . B& n3 U3 Z) s  v6 Z* e2 }
   3.防止php木马读写文件目录  . {8 [8 F2 z  ^7 y
   php.ini中的$ e5 n6 I/ J8 Q0 ]' ~
   disable_functions= passthru,exec,shell_exec,system  
2 Y5 P8 v2 _3 C5 _& d$ c
   后面加上php处理文件的函数
  X9 H9 W  ^, @6 K5 M$ U5 I1 g1 l2 I$ m
   主要有
- I- Z$ u7 p3 @4 c% j/ P
   fopen,mkdir,rmdir,chmod,unlink,dir
" [) P3 C% O! v1 s5 }. y
   fopen,fread,fclose,fwrite,file_exists
) @$ o( [9 B% R. G  ~- q7 N9 p
   closedir,is_dir,readdir.opendir- L4 |+ l; s3 w2 K5 ]& J
   fileperms.copy,unlink,delfile  e. O; |; w2 ]" X
   即成为
6 o/ {# O/ u& H& ?8 D' s
   disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir
6 W' N1 O6 f& \
   ,fopen,fread,fclose,fwrite,file_exists' V2 N# u6 P' s# ^& ~; L  V8 c/ K
   ,closedir,is_dir,readdir.opendir$ n& S2 B) s2 m" {3 [: f  V" D* H
   ,fileperms.copy,unlink,delfile$ b0 T5 i8 x0 E
   ok,大功告成,php木马拿我们没辙了,^_^8 q; ^$ Q+ F# E) T
   遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 
3 `; ]$ y# w" j/ H/ E1 a
   如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧.    B% a6 B: Y! }! c
   net user apache ****microsoft /add  
. y* ~9 F! ^& i( ]2 Q: f
   net localgroup users apache /del  ! t  M/ @8 c5 \: |0 P6 _
   ok.我们建立了一个不属于任何组的用户apche.  
6 C1 S/ C" S) a( H: l1 \
   我们打开计算机管理器,选服务,apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.
5 G$ F+ ?0 M% B$ d4 H3 h9 D
   实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。

) y/ {4 Q% }3 x1 d/ Y, N) t. Q




欢迎光临 三千论坛 (http://3000y.com.cn/) Powered by Discuz! X3.4