这是Plesk系列的第二篇文章。上一篇文章介绍了Plesk的安装,这篇文章介绍对Plesk的安全设置。
防火墙
防火墙是Plesk的内置的一项工具,需要在安装的时候选中安装。Plesk的防火墙是基于iptables的,只是给iptables套了个壳,我们可以可视化操作而已。
如果你使用的是Vultr等主机,有自带防火墙功能的,建议使用主机提供商的防火墙,如果使用Plesk的防火墙,配置错误,很有可能会把自己也拦在外面。
默认情况下,防火墙是没有开启的,在“工具与设置”–>“防火墙”下进行启用,系统已经自带了一些规则,我们可以修改这些规则,也可以新增自己的规则。比如系统自带的“SSH(安全外壳)服务器”规则,默认是允许所有的IP,我们可以修改为特定网段或者IP才能访问。
Security Advisor
Security Advisor是Plesk的一个扩展,可以在侧栏的“扩展”中搜索到它,打开即可。Security Advisor可以帮助我们简化服务器的管理,可以根据自己的需求进行一些列的操作,下面是我觉得是必要的操作:
- 利用SSL/TLS 证书保护网站(Let’s Encrypt)
- 使用 SSL/TLS 证书保护Plesk
- 启用 HTTP/2
- 使用Google认证器扩展
修改一些默认显示
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
重启 Apache 服务,这样,如果没有首页,就会自动显示一张 IIS 的图片。
如果使用的是 CentOS 6,错误的默认页面是“/var/www/error/noindex.html”,图片在“/var/www/icons/”目录下。
关闭自定义错误文档
进入某个域名,进入“主机设置”,找到“自定义错误文档”,把前面的勾去掉即可。
如果不去掉,自己又没有自定义错误的文档,会显示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
扩展阅读