linux服务器下PHPCMS v9 安全配置详解

作者:hebedich 时间:2023-11-17 11:51:52 

一、目录权限设置很重要:可以有效防范黑客上传木马文件.

如果通过 chmod 644 * -R 的话,php文件就没有权限访问了。
如果通过chmod 755 * -R 的话,php文件的权限就高了。
所以就需要分开设置目录权限和文件权限:
linux 服务器权限:经常要用到的命令:

find /path -type f -exec chmod 644 {} \; //设置文件权限为644
find /path -type d -exec chmod 755 {} \; //设置目录权限为755
设置完成后,再通过命令:chown root:root * -R 将目录和文件的所有者改为root。
这样就更加安全了。
FTP用户,确定使用的是linux主机。windows需要登录到服务器中设置。
进入到phpcms 安装根目录,选取所有文件:
设置数字值为:755,同时选定:选择递归处理子目录,只应用到目录
同样再选择所有文件,数字值为:644,选择递归处理子目录,只应用到文件
如果设置错了,重新再设置就可以了。

二、Linux find命令 查找可疑的木马文件

查找:30天内被修改的文件
find ./ -mtime -30 -type f -exec ls -l {} \;
找到目录下所有的txt文件
find ./ -name "*.txt" -print
找到目录下所有的txt文件并删除
find ./ -name "*.txt" -exec rm -rf {} \;
找到目录下所有的php文件 并且在30天之类被修改的文件
find ./ -name "*.php" -mtime -30 -typef -exec ls -l {} \;
找到目录下所有的php文件,同时,满足 30天以内,1天之前的
find ./ -name "*.php" -mtime -30 -mtime +1 -type f -execls -l {} \;

三、通过apache配置限定:

1、apache 下 禁止目录执行php

通过目录下面放置 .htaccess文件来限制权限。
该方法会将php文件当做附件并下载。同时,可以通过浏览器访问到文件。

php_flag engine off

使用场景:在下面目录放置

\uploadfile\
\statics\
\html\
\phpsso_server\uploadfile\
\phpsso_server\statics\

2、禁止通过浏览器访问所有文件

通过目录下面放置 .htaccess文件来限制权限。
RewriteEngine on
RewriteRule ^(.*) /index.html
使用场景:
\caches\
\phpsso_server\caches\

3、禁止php跨目录浏览权限配置:

虚拟主机配置样例:

<VirtualHost *:80>
ServerAdmin root@phpip.com
DocumentRoot /data/wwwroot/www
ServerName www.phpip.com
<Directory /data/wwwroot/www>
Options FollowSymLinks
AllowOverride Options FileInfo
Order allow,deny
Allow from all
php_admin_value open_basedir /data/wwwroot/www/:/var/tmp/
DirectoryIndex index.htm index.html index.php
</Directory>
ErrorLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-error_log 86400 480"
CustomLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-access_log 86400 480" common
</VirtualHost>

4、按天存放apache日志:

参考上面配置文件:

ErrorLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-error_log 86400 480"
CustomLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-access_log 86400 480" common
标签:linux,服务器,PHPCMS,安全配置
0
投稿

猜你喜欢

  • MySQL修改innodb_data_file_path参数的一些注意事项

    2024-01-20 14:32:23
  • 教你轻松解决几种常见的SQL疑难问题

    2009-01-07 14:25:00
  • 浅谈Keras的Sequential与PyTorch的Sequential的区别

    2021-08-24 07:53:35
  • python自动化八大定位元素讲解

    2022-02-24 21:46:03
  • MySQL OOM 系列三 摆脱MySQL被Kill的厄运

    2024-01-13 19:14:40
  • 使用Python实现跳一跳自动跳跃功能

    2023-04-07 01:57:55
  • laravel中的一些简单实用功能

    2024-05-13 09:51:57
  • MAC 中mysql密码忘记解决办法

    2024-01-18 04:13:48
  • 详解Python 定时框架 Apscheduler原理及安装过程

    2021-06-16 15:15:09
  • 基于Python实现牛牛套圈小游戏的示例代码

    2022-04-04 03:50:23
  • python小例子-缩进式编码+算术运算符+定义与赋值

    2022-09-15 06:03:45
  • 用python绘制彩色螺旋线代码

    2023-04-30 15:32:18
  • 让ExtJs的combobox不显示HTML……

    2009-05-31 17:01:00
  • 浅谈JavaScript中等号、双等号、 三等号的区别

    2024-04-29 13:45:04
  • mysql复制表的几种常用方式总结

    2024-01-25 12:11:59
  • PyCharm使用教程之搭建Python开发环境

    2021-09-01 15:21:00
  • Sql Server 2008完全卸载方法(其他版本类似)第1/2页

    2024-01-14 01:20:09
  • CentOS 7安装Mysql并设置开机自启动的方法

    2024-01-27 05:32:47
  • mysql数据库sql优化原则(经验总结)

    2024-01-22 17:55:12
  • JS中Map和ForEach的区别

    2024-04-29 13:19:47
  • asp之家 网络编程 m.aspxhome.com