宝塔面板 – NGINX、PHP版本号隐藏/危险函数的禁用

宝塔面板对于 PHP 的管理确实很方便,软件商店里可以安装各种版本,还可以多版本共存,这个估计是 lnmp、oneinstack 这些命令脚本不能比拟的。但是,宝塔面板安装的 PHP 没有默认隐藏版本号,比如说这样的:

网络技术应用研究公司 W3Techs 近日表示,根据所有网站使用 PHP 版本的情况,从 2019 年 1 月 1 日起,有近 62% 的网站将会因为无法获得安全更新,而受到恶意攻击。

根据 W3Techs 的调查,从本月 15 日开始,其研究的网站样本中使用的 PHP 的比例高达 78.9%,使用 PHP 5 的网站的比例达到 61.8%。 在子版本中,使用 PHP 5.6 版的网站的比例为 41.5%,使用版本 5 的比例最高。

根据 PHP 官方网站列出的支持版本及时刻表(如下),PHP 5.6 于 2014 年发布,主要支持已于 2017 年 1 月 19 日关闭,安全支持将于 2018 年 12 月 31 日终止。

较新的 PHP 7.0 将不再在今年 12 月 1 日的 EOL(生命周期结束)提供安全支持。 即便是版本 7.1 也将于 12 月 1 日终止。一年后结束安全支持。

因此,隐藏 PHP 版本号及 PHP 服务真的可以解决一些麻烦!可以说是非常的好用!所以大鸟就在这篇文章来唠叨下如何隐藏 PHP 版本号以及一些 PHP 常见危险函数的禁用。

一:隐藏 PHP 版本号

宝塔面板 PHP 管理找到 expose_php = On 改成 expose_php = Off 即可:
保存并重启 PHP 即可!我们在看下 Web 服务器头,如下:
这样我们就可以隐藏了 PHP 版本号。

二:NINGX 版本号隐藏

宝塔面板 5.9 至 6.9.3 全系默认都是已经隐藏了 NINGX 版本号,如果你的的没有隐藏或者因为某种原因更改过了规则,我们添加 server_tokens off 来更改。如下:

  1.     http{
  2.  
  3.            ……省略
  4.  
  5.             limit_conn_zone $binary_remote_addr zone=perip:10m;
  6.     	limit_conn_zone $server_name zone=perserver:10m;
  7.  
  8.             server_tokens off;
  9.             access_log off;
  10.  
  11.            ……省略
  12.     }

设置好重启 Nginx,之后我们可以用命令测试下:

  1.     curl -I www.22vd.com

丢一张图看看效果:
看到 PHP 版本号和 Nginx 版本号都被隐藏,宝塔面板默认是隐藏了,如果是别的面板或者命令环境可以参考这里。

三:危险函数

宝塔面板 PHP 管理中有危险函数的管理,PHP 管理→禁用函数,如下:
这面板够贴心吧,连常用的危险函数已经默认给我们禁用了,如果你还有别的函数要禁用可以在上面添加保存。如果你需要用某些功能,那可以删除禁用函数,让其变的可用。

建议在主机上禁用的函数:

  1. disable_functions = system,exec,shell_exec,passthru,proc_open,proc_close, proc_get_status,checkdnsrr,getmxrr,getservbyname,getservbyport, syslog,popen,show_source,highlight_file,dl,socket_listen,socket_create,socket_bind,socket_accept, socket_connect, stream_socket_server, stream_socket_accept,stream_socket_client,ftp_connect, ftp_login,ftp_pasv,ftp_get,sys_getloadavg,disk_total_space, disk_free_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

打开 PHP.INI,找到这行:disable_functions = 在后面那里加上要禁用的函数,如禁用多个函数,要用半角逗号 , 分开。

宝塔面板只是把这些变得可视化了,我们看看宝塔面板 PHP.INI 的这一段禁用的源代码,路径:/www/server/php/72/etc/php.ini
这个函数问题自己酌情对待吧。

四:总结

宝塔面板默认是没有隐藏 PHP 版本号的,Nginx 版本号是默认隐藏的,常用的危险函数是默认禁用的。

所以我们只需要把 PHP 版本号隐藏即可,还有一个地方值得注意:新建网站的默认 index.html 要删除,因为泄露的信息太多了,我们看图:

原文地址:https://www.cnblogs.com/idid/p/11880015.html

时间: 2024-11-10 14:43:23

宝塔面板 – NGINX、PHP版本号隐藏/危险函数的禁用的相关文章

Nginx的版本号隐藏

Nginx的版本号相关 隐藏版本号 nginx隐藏版本号需要将主配置文件中server_tokens关闭 server_tokens off; 查看头信息 [[email protected] ~]# curl -I www.mylinuxops.com HTTP/1.1 200 OK Server: nginx #现在已经不显示nginx的版本号了 Date: Fri, 31 May 2019 12:32:23 GMT Content-Type: text/html Content-Lengt

隐藏Nginx/Apache版本号的安全性与方法

一.先介绍nginx隐藏版本号的方法. 搭建好nginx或者apache,为了安全起见我们都会隐藏他们的版本号,这边讲的是nginx的版本号,如果你也想隐藏apache的版本号,那请点前面的链接.请看nginx版本号信息隐藏文章. Nginx默认是显示版本号的,如: [root@bkjz ~]# curl -I www.nginx.org 1 [root@bkjz ~]# curl -I www.nginx.org HTTP/1.1 200 OK Server: nginx/0.8.44 Dat

修改或隐藏Nginx的版本号

隐藏版本号 隐藏nginx的版本号很简单,nginx的HttpCoreModule提供了一条叫做server_tokens指令,我这要将这条指令设置为“server_tokens off”就可以了. 首先访问一下,看一下现有的版本: [email protected] mail ~]# curl --head http://192.168.3.139 HTTP/1.1 403 Forbidden Server: nginx/0.8.53 Date: Thu, 09 Dec 2010 00:02:

伪装隐藏Nginx,PHP版本号提升服务器安全性

可能有时候我们看某些站点想知道别人在使用什么版本的web服务器之类的信息时,却发现并未显示版本号,甚至连WEB服务器都有变化,可以通过以下 方法来隐藏Nginx.PHP的版本号信息,来提升一定的安全性:(当然了,这都是些小打小闹的措施,重点还是在其他防护措施上!) 一.隐藏Nginx版本号 第一步: vi /usr/local/nginx/conf/nginx.conf 在http{}中加入 server_tokens off; 第二歩: vi /usr/local/nginx/conf/fas

隐藏Apache Nginx PHP版本号

############################################################################### 隐藏Apache版本号 ############################################################################### [[email protected] tmp]# curl -I 192.168.93.143 HTTP/1.1 403 Forbidden Date: W

隐藏Nginx软件版本号信息

为了提高我们web服务器的安全性,我们应当尽可能的隐藏服务器的信息以防止他人通过这些信息找到漏洞侵入我们的服务器,对于Nginx而言,我们安装好Nginx后最好隐藏Nginx的版本号,以防止通过该版本的漏洞入侵我们的服务器. 在不隐藏的情况下,我们可以通过http响应头查看Nginx的版本号,如下图 我们可以通过在nginx.conf的http段中加入 server_tokens off来隐藏我们的版本号 修改后记得重载配置文件( nginx -s reload)使修改生效,生效再次请求我们的服

宝塔漏洞 XSS窃取宝塔面板管理员漏洞 高危

宝塔是近几年刚崛起的一款服务器面板,深受各大站长的喜欢,windows2003 windows2008windosws 2012系统,linux centos deepin debian fedora系统都可以使用宝塔的面板来管理服务器,宝塔可以一键部署网站的环境,IIS环境搭建,Nginx环境,PHP环境搭建,apache jsp环境,mysql数据库,oracle数据库搭建,以及一键设置FTP账户密码,文件面板在线管理都可以很简单的利用宝塔搭建起来. 2018年10月11日宝塔Linux更新

nginx优化之隐藏版本名

1.1 Nginx基本安全优化 1.1.1 调整参数隐藏nginx软件版本信息 想要隐身,首先要了解使用软件的版本号,对于linux客户端,可通过命令检查nginx版本号,最简单的方法就是用curl命令: [[email protected] extra]# curl -I 10.0.0.8 HTTP/1.1 200 OK Server: nginx/1.10.2 Date: Mon, 05 Jun 2017 13:28:29 GMT Content-Type: text/html Conten

nginx 版本信息隐藏

今天忽然想在搞搞nginx ,弄一个版本号隐藏吧! 算是一个安全的优化吧.注意这里是在编译之间要做的事. 1.自己搭建了一个nginx的服务器,在curl的时候,有如下提示: curl -I 10.0.0.231  (直接curl的是ip地址)    HTTP/1.1 500 Internal Server Error    Server: nginx/1.6.2    Date: Wed, 10 Sep 2014 02:53:18 GMT    Content-Type: text/html