Matomo (Piwik)团队尽最大努力确保Matomo源代码是安全的.我们这样做:

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

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

小贴士将帮助你保持你的马托莫安全

在您的日常工作中,您可以轻松地更改一些事情,以使您的数据更加安全。本页将具体解释如何加强您的Matomo安装.这将确保任何人都难以在您的服务器上输入、修改或读取不需要的数据。请检查安装Matomo和处理web服务器的人是否阅读了以下指南,并花了一些时间实现了部分或全部这些更改。

这里有一些建议使您的Matomo服务器更安全,分析数据更安全

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

    mysql_secure_installation

    为了保护MySQL服务器并实现最佳实践,我们建议对所有安全问题回答“是”。这也适用于MariaDB

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

专业Matomo管理员的最佳实践列表

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

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

其他技巧

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

    • matomo.phpmatomo.jspiwik.phppiwik.js
    • 和到URLindex . php ?模块= CoreAdminHome&action =撤出对于文件插件/ CoreAdminHome / javascript / optOut.js而且favicon.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连接的功能,请查看我们的常见问题解答如何在没有互联网的服务器上配置Matomo ?

还可以查看页面:Matomo安全计划

快乐和安全的分析!

PS:别忘了留着你的Matomo最新的:)

以前的常见问题我如何强迫Matomo使用SSL (https)来提高安全性?
Baidu