Plesk安全设置

这是Plesk系列的第二篇文章。上一篇文章介绍了Plesk的安装,这篇文章介绍对Plesk的安全设置。

防火墙

防火墙是Plesk的内置的一项工具,需要在安装的时候选中安装。Plesk的防火墙是基于iptables的,只是给iptables套了个壳,我们可以可视化操作而已。

如果你使用的是Vultr等主机,有自带防火墙功能的,建议使用主机提供商的防火墙,如果使用Plesk的防火墙,配置错误,很有可能会把自己也拦在外面。

默认情况下,防火墙是没有开启的,在“工具与设置”–>“防火墙”下进行启用,系统已经自带了一些规则,我们可以修改这些规则,也可以新增自己的规则。比如系统自带的“SSH(安全外壳)服务器”规则,默认是允许所有的IP,我们可以修改为特定网段或者IP才能访问。

plesk防火墙设置

Security Advisor

Security Advisor是Plesk的一个扩展,可以在侧栏的“扩展”中搜索到它,打开即可。Security Advisor可以帮助我们简化服务器的管理,可以根据自己的需求进行一些列的操作,下面是我觉得是必要的操作:

  • 利用SSL/TLS 证书保护网站(Let’s Encrypt)
  • 使用 SSL/TLS 证书保护Plesk
  • 启用 HTTP/2
  • 使用Google认证器扩展

plesk advisor扩展操作

修改一些默认显示

Plesk为了宣传等一些作用,会对一些默认显示的页面进行广告宣传,告诉大家这台机器使用的是Plesk面板,但是对我们来说,最好还是把这些隐藏掉。

修改默认IP访问显示

使用IP访问的时候,会显示Plesk的一个Web Server’s Default Page,这个页面在“/var/www/vhosts/default/htdocs”目录下,可以对其进行修改,以达到隐藏Plesk面板的目的。大家可以下载我这个文档,替换之后,会伪装成IIS的一个默认页面。

修改新建网站没有默认首页的显示

新建网站之后,如果没有首页,会显示 Apache 自带的 403 错误信息,不同的 Apache 版本修改的不一样,下面是 CentOS 7 下的修改方法。我们也可以下载 IIS 这个文档,覆盖 /usr/share/httpd/noindex 下的内容,然后编辑 “/etc/httpd/conf.d/welcome.conf”,增加一行:

Alias /welcome.png /usr/share/httpd/noindex/welcome.png

这样,如果没有首页,就会自动显示一张 IIS 的图片。

如果使用的是 CentOS 6,错误的默认页面是“/var/www/error/noindex.html”,图片在“/var/www/icons/”目录下。

关闭自定义错误文档

进入某个域名,进入“主机设置”,找到“自定义错误文档”,把前面的勾去掉即可。

plesk关闭自定义错误文档

如果不去掉,自己又没有自定义错误的文档,会显示Plesk的错误文档,会泄漏这台机器使用了Plesk面板。当然你也可以修改自定义错误文档,这些文档在该域名主目录下的error_docs文件夹里。

删除Header请求中PHP版本的信息

默认情况下,Header请求中X-Powered-By中会显示PHP版本的信息,我们有两种方法删除这个信息。

针对单个网站

进入单个网站设置–>“PHP设置”,在“其他配置指令”中加入下面这行,应用保存即可:

expose_php = off

针对PHP版本

Plesk运行多个PHP版本切换,如果你有3个版本的PHP在使用,那么需要修改三次,我们以修改PHP7.2为例。

cd /opt/plesk/php/7.2/etc/php.d/
touch hideheader.ini
echo 'expose_php = off' > hideheader.ini
systemctl reload plesk-php72-fpm.service

删除Header请求中PleskLin字样

默认情况下,Header请求中X-Powered-By中会显示PleskLin字样,官方文档中需要修改三个文档,我发现只要修改一个文档也可以。

mkdir -p /usr/local/psa/admin/conf/templates/custom/domain
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain
vi /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php

编辑nginxDomainVirtualHost.php文件的时候,可以删除“add_header X-Powered-By PleskLin;”这行,或者把“PleskLin”字样修改成其他的,比如“Wker Inc”,如果中间包含空格,需要用英文的双引号,比如改成:

add_header X-Powered-By "Wker Inc";

修改完成之后,运行以下命令,重新生成配置文件:

/usr/local/psa/admin/sbin/httpdmng --reconfigure-all

扩展阅读

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>