为了提高Linux系统上PHP命令行的安全性,可以采取以下步骤:
更新您的系统和软件包。
[ h]
定期将您的操作系统和 PHP 更新到最新版本,以修复已知的安全漏洞。
sudo apt update && sudo apt Upgrade
sudo apt update && sudo apt Upgrade php
使用 PHP-FPM:
[h ]
配置 PHP-FPM(FastCGI 进程管理器)以提供更高的性能和更好的安全性。
sudo apt install php-fpm
编辑 PHP-FPM 配置文件(通常是 /etc/php/7.x/fpm/pool.d/www.conf),确保监听地址为127.0.0.1或::1,并禁用远程访问。
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
使用 SELinux 或 AppArmor:
[h ]
启用SELinux(安全增强型Linux)或AppArmor(ApplicationArmor)以添加额外的安全层。
sudo apt install selinux
sudo aa-enable apparmor
限制命令行访问:
限制PHP命令行使用sudo的执行权限。
sudo php /path/to/script.php
创建一个专用用户组,并将需要运行 PHP 脚本的用户添加到该组中。
须藤胶水Padd php-users
sudo usermod -a -G php-users username
检查用户是否在组中,并拒绝非组成员执行 修改 PHP 脚本。
if (!in_array($_SERVER['REMOTE_USER'], ['用户名'])) {
die('访问被拒绝');
}
[ h ]
使用防火墙:
配置防火墙(例如ufw)来限制对PHP脚本的访问。
sudo ufw 允许 80/tcp
sudo ufw 允许 443/tcp
sudo ufw 拒绝 80/tcp
sudo ufw 拒绝 443/tcp
[h ]
使用安全文件权限:
PHP 确保脚本和相关文件具有适当的权限。
sudo chmod 755 /path/to/script.php
sudo chown www-data:www-data /path/to/script.php
禁用不必要的PHP模块:
检查并禁用不必要的PHP模块,以减少潜在的安全风险。
sudo php -m | grep -vE "^cli|common" | xargs sudo php -i | grep -vE "^扩展名"
安全使用强密码策略:
强制用户使用强密码并定期更新。
sudo apt install libpam-pwquality
sudo pam-pwquality -a
上述措施可以显着提高Linux系统上PHP命令行的安全性。
评论前必须登录!
注册