SSL安全保护技巧
你无需申请额外的努力,您在互联网上的连接可能是一个不安全的环境。 你必须要做相应的修改,以确保Zen
Cart和它数据库的安全。在你使这些修改时,你需要掌握自己安全的办法。否则,如果有人在看到了您传输的信息,您的私人商业信息就可能会公之于众。从您的托管公司,你应该有最起码是访问共享SSL服务。
首先要为您的商店安装一个专门的SSL证书,因为它在外观上比使用一个共享的证书更加专业。在您的托管帐户所产生的费用,将获得一个专用的SSL证书和专用IP地址。
安全访问您的网站文件
而不是使用常规的FTP访问您的服务器的文件,这是明智之举(如果您的托管公司提供FTPS的支持),使用提供了一个程序,通过SSL / TLS的FTP。这种方法将加密你发送和接收的信息。这是很重要的,尤其是当你的数据库备份或配置文件,其中包含的用户名和密码等等。
如果您的托管公司不提供的SFTP或FTPS,那么他们是最有可能不符合PCI标准,你应该选择那些对安全问题很重视的托管公司。
以下是几个可以采取的步骤,以确保您的Zen
Cart的网站安全:
1.安装完成后要删除服务器上额外的文件夹。
这一点很重要,你已经安装了您的网站,并对此感到满意,它的正常工作,包括做现场交易测试的所有付款和航运模块,你在您的网站上使用后,请务必做一些清理工作:
删除以下文件夹(和他们里面的所有文件),将安全风险降至最低:
- /docs
- /extras
- /zc_install
- /install.txt(这个文件也可以被删除)
在自己的计算机上的保留这些文件是安全的,因为它们可以作为参考/文档,或用来作为诊断的工具,或在将来再次升级/安装的时候来帮助解决相关问题。但是,这些文件夹/文件*不应该是放在网络的服务器上。
可选:此外,如果你有没有支持下载的产品或音乐媒体产品,你可以也删除这些文件夹:
- /download
- /media
- /pub
(你需要去您的设置管理 - >配置 - >属性 -
>启用下载,设置为false关闭有关失踪的下载文件夹的警告消息)在未来,如果你选择添加下载您的网站或音乐产品的产品,你将要重新上传这些相应的文件夹(及其内容)到您的服务器,并分配适当的权限。
2.重命名/
admin文件夹
额外的安全性建议:在您安装后,要重命名你的admin目录。通过这种方式,它会使得黑客更难找到你的管理区域,还可以打破它的任何试图攻击。
(做以下修改之前,确保有您的文件和数据库的当前备份。)
A - 打开您的admin/includes/configure.php,使用简单的文本编辑器如记事本。更改管理员的所有实例,选择新的管理文件夹名称。为了获得最大的安全性,你可能要考虑新的文件夹的名称应该包括数字和字母的组合。你再使这个文件夹的名字,这将是更安全。
更改本节:
define('DIR_WS_ADMIN', '/admin/');
define('DIR_WS_CATALOG', '/');
define('DIR_WS_HTTPS_ADMIN', '/admin/');
define('DIR_WS_HTTPS_CATALOG', '/');
本节内容:
define('DIR_FS_ADMIN', '/home/mystore.com/www/public/admin/');
define('DIR_FS_CATALOG',
'/home/mystore.com/www/public/');
B-
找到Zen
Cart/管理/目录下,使用您的FTP软件或你WebHost文件管理器。重命名目录,以匹配你刚才在步骤A的设置
C - 登陆到你的管理系统,你现在有访问一个新的URL匹配A和上面B的步骤中使用的新名称。例如不要访问 http://www.example.com/admin/,
要访问http://www.example.com/NeW_NamE4u/。强烈建议使用SSL来保护您和您的客户的信息。为了保护新的管理文件夹,要使用HTTPS示例中的链接(这当然取决于你的服务器安装SSL证书)。
D - 你也应该保护使用类似如下所示的一个.htaccess文件,并放到/admin/includes管理区。这应该已经存在于Zen
Cart® versions 1.2.7或者更高。
如果您的服务器不支持使用.htaccess文件,您需要与您的托管公司合作来提供安全的.htaccess文件,但使用你服务器的可用的工具来提供了一种方法。如果你不能来替代措施,你应该重新考虑是当前的托管服务是否能确保你的网站安全。
3. 使用SMTPAUTH或SMTP作为你的电子邮件传输方式,而不是“PHP”或“sendmail”设置。
转到管理 -
>配置 -
>电子邮件选项,更改您的电子邮件传输协议SMTPAUTH,然后填写在所有其他设置相同屏幕上的SMTP凭据。
这将不仅有助于防止垃圾邮件,还可以防止您的admin文件夹的泄露。
4.设置configure.php文件为只读
这一点很重要,您CHMOD(设置权限)两个configure.php文件为只读。通常情况下,这意味着它们设置为644,或在某些情况下为444。
configure.php文件位于:
/ <YourStoresFolder>/includes/configure.php
/<YourStoresFolder>/admin/includes/configure.php
通常设置文件的权限,只能通过FTP读取将无法正常工作。即使看起来像它被设置为只读权限,它真的可能不会有。进入商店,如果看到屏幕上方有一个警告讯息,您必须验证正确的设置。 "Warning: I am
able to write to the configuration file:..."在这种情况下,您将需要使用您的虚拟主机帐户附带的“文件管理器”。
如果您使用的是Windows服务器,简单的设置文件为只读,尤其是在IUSR_xxxxx
(Internet Guest Account)用户如果运行IIS或系统帐户或apache用户如果运行Apache。
5.删除任何未使用的管理员帐户
管理员>工具>管理设置
在您的管理区域,打开“工具”菜单上,选择管理设置。检查任何未使用的管理员帐户,并删除它们。尤其是模拟帐户,如果它的存在的话。
6.管理密码安全
使用复杂的密码,这对于保护你的账号来说是明智的!也是为了更好的防范黑客的攻击。
你可以在管理员>工具>管理设置中改变你的管理员密码,并点击“重设密码”按钮,或点击图标看起来像一个循环符号。
我们建议您使用至少八个或更长的字符口令,一个字母和数字的组合,甚至大写和小写。之间有空格,多个单词(字母和数字),这将使它几乎不可能猜出或破解。
如果你要使用正常的话,这是一个好主意,也许使用大小写字母混合在一起比较安全。
至少每3个月更改管理员密码。
7.管理访问保护
在您的管理区工作,这是一个明智的举动:
- 只用一个浏览器标签来访问您的管理区
- 不要访问其他网站(特别是电子邮件,如Gmail
/雅虎/的Hotmail
/等网站),您的浏览器有一个活跃的管理员登录会话启用 - 即使在另一个选项卡(这是因为如果你点击电子邮件中的链接,您运行开放自己的XSS问题,如果你登录到您的商店管理的同时,它就会出现风险!)
-当你不使用时,你要确保登出你的管理账户。
8.保护"define
pages"的“"html_includes"的内容
完毕后,编辑您的定义页面(管理员>工具>定义页面编辑器),你应该保护他们:
A. 使用您的FTP软件下载他们的副本到您的电脑。它们分别位于/includes/languages/english/html_includes区域。
B.使他们成为CHMOD
644(或“只读”Windows主机)。请参阅上述有关文件模式的说明CHMOD.
/includes/languages/english/html_includes。
如果你让他们只读,如果黑客获得访问你的系统,他们就不能对其进行编辑。除非他们可以得到权限来更改只读状态,这会更为复杂。
注:当然,一旦你设置为只读,你必须通过FTP使用定义页面编辑或上传替换他们回来为读写,作出额外的变化,在完成的时候再次设为只读。
9.使用.htaccess文件,以防止不必要的窥探
注:这一步,已经在很大程度上解决v1.3.9包括htaccess文件。如果您正在使用Zen
Cart的旧版本,那么你需要手动做这些设置:
在几个文件夹,有htaccess文件,以防止用户能够通过浏览您网站上的文件,除非他们知道确切的文件名。有些人还可以防止任何PHP脚本的访问,因为它预计,将由其他PHP文件访问这些文件夹中的所有PHP文件,并不能直接通过浏览器。这是出于安全的好。如果您删除这些文件,就会给自己留下安全隐患。
也有几个文件夹中的一些空白的index.html文件。这些文件也可以保护你如果您的FTP软件无法上传.htaccess文件,或您的服务器不接受他们的情况下。这些只是防止目录浏览,不能停止执行.PHP文件。使用.htaccess文件,在所有这些文件夹是更好的选择,并且接受他们的服务器,这是一个很好的选择。
htaccess的文件夹中的文件,其中有一个index.html文件的建议,但是如果没有htaccess文件,那么相应的内容会是以下(取决于您的服务器配置)的东西。
#.htaccess to prevent unauthorized file access files
OPTIONS -Indexes -ExecCGI
IndexIgnore */*
### This part says to deny access to
EVERYTHING. Afterwards, you'll allow access to JUST the permitted items. See
next FilesMatch section.
<FilesMatch .*>
Order Deny,Allow
Deny from all
</FilesMatch>
### NOTE: Add only appropriate
PERMITTED filetypes to this list, depending on which folder you're protecting:
<FilesMatch
.*.(js|css|jpg|gif|png|swf)>
Order Deny,Allow
Allow from all
</FilesMatch>
为了确保上述的建议有效,您的主机必须包括不是'All'或全部:'Limit
Options Indexes' parameters to the AllowOverride configuration in the server's
master apache httpd.conf文件。
如果你WebHost配置不允许你创建/使用你自己的.htaccess文件,您需要与您的托管公司合作来提供安全保护的.htaccess文件,但是要使用服务器的可用的工具。有时他们在您的主机管理提供了一个控制面板界面,在这里你可以设置所需的设置。为您的服务器,你需要选择,并使用适当的方法。如上所述,你需要与你的托管公司协商,为您的特定服务器来选择和实施最佳的方法。我们不能告诉你如何使用你的特定服务器,但我们提供了这些准则作为一个起点。如果你找不到合适的措施,那么你就要考虑你的网站的安全了。
10.禁用“允许游客告诉朋友”功能
你不妨去到Admin
> Configuration > Email Options > Allow Guest To Tell A Friend,并设置选项为false。这将防止没有登入的客户使用你的服务器发送不受欢迎的电子邮件消息。如果你不允许出现tell-a-friend的操作,那就重新命名/includes/modules/pages/tell_a_friend/
/文件夹,或干脆删除它。
11.保护你的“图像”和其他文件夹
在初始安装过程中,应设置您的图像文件夹的读/写,这样您就可以使用管理界面了,而不必为每一个上传产品/类别的图像使用FTP。
然而,留下的图像(或任何其他文件夹)在读/写模式,黑客可能把恶意文件(或其他)文件夹放在里面,从而创建接入点并尝试使用漏洞。
因此,一旦您的网站已建成并已创建/加载您的图像,你应该将读/写改为读。即:将CHMOD
777的文件下降到644和文件夹变为755。
此外,如果您的服务器正在运行PHP作为一个CGI应用程序,而不是作为一个Apache模块。为了防止黑客利用你的图像文件夹(这仅仅执行脚本的问题,如果他们能够成功破解你的图像文件夹,并插入恶意脚本文件),你可以通过添加.htaccess文件自定义来进一步巩固它,并且只允许图像显示,不会允许使用PHP文件等等。
# Prevent directory viewing and the ability of any scripts to run.
# No script, be it PHP, PERL or
whatever, can normally be executed if ExecCGI is disabled.
OPTIONS -Indexes -ExecCGI
文件/文件夹的权限设置
在Linux
/ Unix主机,一般来说,基本的安全权限设置的建议是:
文件夹/目录:755
文件:644
在Windows主机上,设置文件阅读不仅仅是只读就足够了,应仔细检查Internet的帐户的访问(只读)。
文件夹的用途
安装建议读写访问设置的文件夹。如果您的网站支持.htaccess的保护,那么你应该使用这些文件夹。
/cache
这是用来缓存会话和数据库信息。最好的安全保护,这是将它移动到文件夹“上面”的"
the public_html/htdocs/www area区域,这样它就不能通过浏览器来访问。 (需要的变化DIR_FS_SQL_CACHE
setting in configure.php以及Admin > Configuration
> Sessions > Session Directory.
/images 看看其他的建议。
/includes/languages/english/html_includes
看看其他的建议。
/media
这只是建议,通过管理读写就是为了能够上传音乐产品的媒体文件。可以通过FTP来替代。
/pub
这是用在Linux
/ Unix主机上有可下载的产品,通过一个安全的方法,这并没有透露“真实”的位置在您的服务器上的文件/数据(使人们不能共享一个网址,并有向客户提供他们的朋友窃取您的网站下载)
/管理/备份
这是用来存储数据库和自动备份程序,是可选的
/admin/images/graphs
这是由Admin
> Tools > Banner Manager for updating/displaying bar graphs related to
banner usage。如果不写的,功能就会被忽略。
12.从您的浏览器中移除打印网址的功能
停止从浏览器打印发票,请按照下列步骤来进行操作:
微软Internet
Explorer
然后点击文件页面设置
在页面设置窗口,从页眉或页脚文本框中删除这两个字符组合“&U”。
火狐
然后点击文件页面设置
在页面设置窗口中点击“选项卡”页边距和页眉/页脚“。设置的下拉菜单中的“页眉和页脚”为空白。(或者至少移除“标题”和“网址”。)
其他浏览器也可以采用类似的菜单选择更改这些设置。
13.定期检查
可以肯定,在这个文件中列出的步骤,你已经都完成了。
做好你的网站文件和数据库的最新备份。
备份数据库,通过安全连接(即:如果你使用phpMyAdmin来备份,然后确保你使用HTTPS地址。)。
网站的文件备份在一个安全的连接(如果你通过FTP复制文件,请务必使用通过SSL
/ TLS安全 -
FTP FTP)。支持安全FTP(SFTP)是WinSCP赋予的一个很好的工具,只要你配置相应的连接。)
备份数据库和网站文件存放到一个加密的文件。 (你不应该在您的服务器上备份,但如果你已经这样做了,那么对他们进行安全加密。相关意见,请参阅您的托管公司。)
定期检查您的服务器的错误日志。 (你的主机控制面板,应该给你访问到Apache
error_log)
寻找到一个网页,是不是在您的网站中的链接。
定期检查您的网站文件,以确保没有已添加或更改。
定期检查你的主页,确保你拥有一个安全、可靠的服务器,避免出现不必要的漏洞,为黑客留下可趁之机。
如果您的公司认股权证,或者你仍然需要额外保障(尤其是如果您的网站上,或Zen Cart以外的其他脚本运行论坛软件),聘请安全顾问,定期检查你的网站,只需要花几美元就能搞定了。
检查您的Zen
Cart /cache/ folder for myDebug-XXXXX.log文件夹,看看是否有任何错误发生并且需要修复。当你处理完相关的错误,你就要删除相关的日志文件。 |