在Linux上安装PHP 8并进行安全加固是一个涉及多个步骤的过程。以下是一些关键步骤和建议:
1. 更新系统
首先,确保你的系统是最新的:
sudo apt update && sudo apt upgrade -y
2. 安装PHP 8
你可以通过以下命令安装PHP 8及其一些常用的扩展:
sudo apt install php8.0 php8.0-cli php8.0-fpm php8.0-mysql php8.0-json php8.0-opcache php8.0-mbstring php8.0-xml php8.0-gd php8.0-curl
3. 配置PHP
编辑PHP的配置文件(通常是/etc/php/8.0/fpm/php.ini
或/etc/php/8.0/apache2/php.ini
),进行以下配置:
3.1 日志配置
增加错误日志记录,以便更好地监控错误:
error_log = /var/log/php8.0-fpm.log
3.2 安全配置
-
禁用不必要的扩展:
; 禁用不必要的扩展 extension=php_bz2.so extension=php_calendar.so extension=php_ctype.so extension=php_curl.so extension=php_fileinfo.so extension=php_ftp.so extension=php_gettext.so extension=php_iconv.so extension=php_json.so extension=php_ldap.so extension=php_mysqli.so extension=php_odbc.so extension=php_pdo_mysql.so extension=php_pgsql.so extension=php_phar.so extension=php_posix.so extension=php_readline.so extension=php_shmop.so extension=php_simplexml.so extension=php_soap.so extension=php_sockets.so extension=php_sysvmsg.so extension=php_sysvsem.so extension=php_sysvshm.so extension=php_tokenizer.so extension=php_xml.so extension=php_xmlreader.so extension=php_xmlwriter.so
-
禁用文件上传:
file_uploads = Off
-
限制文件大小:
upload_max_filesize = 10M post_max_size = 10M
-
禁用目录列表:
disable_functions = ; 禁用目录列表 ; ... dir ; ...
-
设置默认配置文件:
include_path = /usr/share/php/8.0
4. 配置Web服务器
4.1 Apache
如果你使用Apache,编辑/etc/apache2/apache2.conf
或/etc/apache2/sites-available/000-default.conf
,添加以下内容:
# 使用FastCGI处理PHP文件 SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost"
4.2 Nginx
如果你使用Nginx,编辑/etc/nginx/sites-available/default
,添加以下内容:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.0-fpm.sock; }
5. 安装和配置安全模块
5.1 SELinux
如果启用了SELinux,确保它处于 enforcing 模式:
sudo setenforce 1
5.2 AppArmor
安装并配置AppArmor:
sudo apt install apparmor apparmor-utils -y sudo aa-status sudo aa-complain /etc/apparmor.d/usr.sbin.php8.0-fpm
6. 定期更新和维护
定期更新系统和软件包,以确保安全漏洞得到修复:
sudo apt update && sudo apt upgrade -y
7. 使用防火墙
配置防火墙以限制对服务器的访问:
sudo ufw allow ssh sudo ufw allow http sudo ufw allow https sudo ufw enable
通过以上步骤,你可以有效地加固Linux上的PHP 8环境,提高系统的安全性。