Matomo (Piwik)团队尽其所能确保Matomo源代码是安全的. 我们通过以下方式做到这一点:

  • 积极奖励发现bug的科学家
  • 指导和支持外部专业安全审查
  • 对提交进行代码审查

但是,这些安全步骤仅限于Matomo软件。下载并安装Matomo后,更多因素将发挥作用。

小贴士,将帮助您保持您的Matomo安全

有一些事情你可以很容易地改变你的常规,使你的数据更安全。本页将具体解释如何强化您的Matomo安装。这将确保任何人都难以在您的服务器上输入、修改或读取不需要的数据。请检查安装Matomo和处理web服务器的人员是否阅读了以下指南,并花了一些时间实施了部分或全部这些更改。

这里有一些提示可以帮助你使您的Matomo服务器更安全,分析数据更安全

  • 在单独的MySQL(或MariaDB)数据库中安装Matomo
    通过这样做,您可以确保如果黑客获得对您的CMS数据库的访问权限,他们将无法访问Matomo,反之亦然。
  • 使您的数据库更安全
    运行MySQL安全安装工具修改默认安全设置。

    mysql_secure_installation

    为了保护MySQL服务器并实现最佳实践,我们建议对所有的安全问题回答Yes。这也适用于马里亚布

  • 为您的Matomo DB使用新的MySQL用户和密码
    如果你在任何地方都使用相同的用户和密码,那么黑客就很容易访问你的数据。
    确保每个数据库的用户名和密码都是唯一的,确保SQL注入只影响一个产品。
  • 检查您的数据库服务器是否可从互联网访问
    为获得最佳安全性,您的数据库服务器不应从Internet上可用。只有Matomo web(应用程序)服务器才能连接到您的数据库服务器。
  • 永远使用Matomo在https://
    Matomo中的敏感信息包括登录名、密码和token_auth(用于API身份验证)。这些信息定期包含在Matomo服务器的响应中,任何看到流量的人都可以查看这些信息。公开或未加密Wi-fi网络很容易被监视。解决方案相对简单:如果您真的关心您的安全性,并希望确保没有人可以访问您的密码或API令牌,请确保总是通过https://连接到Matomo
  • 启用自动SSL重定向在您的Matomo中:看到常见问题解答
  • 备份完整的MySQL数据库和您的config/config.ini.php文件
    备份MySQL数据库,并测试恢复它以确保备份工作正常。
    此外,配置文件是保存你的Matomo安装状态的文件,包括MySQL密码,所以确保备份和处理它的安全,就像你的数据库。
  • 使用最新的PHP, MySQL(或MariaDB), web服务器(Apache/Nginx),操作系统(Linux/Windows)
    性能和安全更新通常由这些工具发布Matomo所需的流行工具
    我们强烈建议您只使用免费软件,例如Linux+Apache/Nginx,并使用最新版本。
  • 如果你使用Nginx网络服务器
    我们建议使用Matomo Nginx配置确保访问临时Matomo文件(matomo / tmp文件夹)被阻塞。
  • 订阅Matomo更新日志并保持Matomo最新
    什么时候报告了安全问题,我们试图尽快修复它们,并发布一个新版本。
    我们强烈建议您订阅变更日志并随时更新您的Matomo(您是否尝试过一键式自动升级?).
  • 购买和下载活动日志插件
    密切关注Matomo平台上发生的一切活动日志插件,也称为审计日志或审计跟踪。它允许Matomo超级用户快速查看组织成员或客户执行的操作,还允许每个用户查看自己操作的细节。这个高级插件是由Matomo的制造商创建的,并推荐所有企业,特别是当一个以上的人使用Matomo。
  • 使用双因素身份验证
    我们强烈建议您这样做使用双因素身份验证为了您账户的安全。
    您可以通过进入“管理=>个人设置”激活双因素身份验证。设置此设置时,请确保备份恢复代码(最好是在加密密码管理器中)如果您丢失移动设备或无法再访问它。具有超级用户访问权限的用户可以强制每个用户启用双因素身份验证。在这种情况下,您可能会被迫设置双因素身份验证,而无法再禁用它。
  • 使尽可能少的文件和目录可写您的web服务器。
    为了使Matomo发挥最佳作用,我们建议您的Web服务器能够对Matomo根目录中的这些文件和目录进行写访问:config/config.ini.php,misc /用户目录,matomo.jspiwik.jstmp目录中。只有tmp目录是绝对必需的。如果你只有tmp目录可写的。一旦你有了有限的文件权限,你就不能再通过UI使用一键更新了。同时,也不可能通过UI从市场安装任何插件。因此,我们建议您配置该设置enable_auto_update = 0(通用)您的config/config.ini.php文件。然后你就可以手动更新Matomo手动安装插件
  • 如果你的Matomo在代理后面然后,您可能希望配置为从代理标头读取最后一个IP而不是第一个IP。请参阅常见问题解答在代理后安装Matomo

专业Matomo管理员的最佳实践清单

这是我们的专业Matomo管理员的最佳实践

  • 总是使用强大的、复杂的新密码
    为所有Matomo用户使用安全密码,所有拥有超级用户访问权限的用户,以及Matomo MySQL数据库,是提高安全性的基本方法。
    使用强密码生成器如果你不能自己想出一个。
  • 将密码存储在加密的密码管理器中
    例如使用KeyPass,你可以在你的电脑上管理你的密码,甚至可以在线安全备份或同步加密文件。
  • 使用SSH(或sFTP)协议,而不是FTP协议
    如今,通过wi-fi网络监听和嗅探流量很容易。确保你到Matomo服务器的所有连接都是加密的,没有人能看到你的登录名或密码。
    如果你必须使用FTP,不要在你的FTP软件中存储密码(这很容易成为已经在许多Windows电脑上运行的恶意软件的目标)。
  • 让你的电脑保持最新状态
    经常更新你的电脑,包括Flash插件、浏览器和操作系统。在Windows电脑上,始终使用病毒检查程序来最小化恶意软件风险. 不要使用AcrobatReader:它过去有太多严重的安全漏洞。相反,使用苏门答腊岛PDF为例。
  • 更改Matomo设置以尊重用户隐私
    请查看我们的指南在Matomo中启用隐私功能并了解更多关于网站访问者数据隐私的信息。

其他技巧

  • 使用web服务器功能仅限制对少数文件的访问,并按IP地址进行限制
    如果您使用ApacheWeb服务器,它很容易使用. htaccess文件限制访问Matomo到您的IP地址,或更多的选项。检查htaccess论坛帖子中的示例
    当您限制对文件的访问时,请注意,您需要允许外部访问以下文件:

    • matomo.phpmatomo.jspiwik.phppiwik.js
    • 和URLphp?模块=CoreAdminHome&action=optOut档案呢插件/ CoreAdminHome / javascript / optOut.jsfavicon.ico为了确保选择退出iframe在没有密码提示的情况下工作。
    • js/container.*.js文件标签管理器传递容器文件的步骤
    • 插件/HeatmapSessionRecording/configs.php如果您使用热图或会话录制
  • 限制超级用户可以做什么.如果你不能100%信任Matomo的超级用户,你可以限制超级用户执行高风险操作

  • 启用Matomo安全插件并将所有安全问题修改为绿色
    在Matomo中,单击管理链接市场然后安装SecurityInfo插件它将自动测试您的Matomo服务器安全性,并报告安全建议列表。
    例如,它进行测试以确保PHP和Matomo版本是最新的,display_errors、magic_quotes_gpc是禁用的,以及许多其他测试。

    SecurityInfo结果页面示例

    我们强烈建议所有Matomo管理员启用SecurityInfo插件,然后查看Administration > Security菜单。您可以根据建议更新服务器和PHP配置,并尝试拥有所有配置物品在绿色
    特别是,检查您是否禁用了php设置' display_errors ',并将所有错误记录在错误日志文件中。

  • 最后一个(可选)安全提示:使用火狐为您所有的网页浏览
    最好的免费软件浏览器!
    如果你对这个列表有任何反馈或补充,请在piwik.org上告诉我们。

  • 如果您的服务器无法访问Internet,或者您希望禁用所有需要Internet连接的功能,请查看我们的FAQ如何在没有Internet的服务器上配置Matomo ?

还请检查页面:Matomo安全计划

快乐和安全的分析!

附言:别忘了保留你的马托莫最新的:)