标签 WordPress 下的文章

Wayland 正在成为 Linux 图形用户界面的首选方式

越来越多的证据表明,Wayland 显示服务器可能很快就会取代 X11,成为 Linux 上最常用的 GUI 方式。比如,为苹果芯片 Mac 开发 Linux 的团队表示,他们没有足够的人力来开发 X.org 支持。被许多 Linux 应用程序和桌面使用的 Gtk 工具包的开发者说,下一个版本可能会 放弃 对 X11 的支持。Budgie 桌面的下一个版本将只支持 Wayland。KDE 6 会话 默认使用 Wayland。甚至还有人尝试让 Wayland 在 OpenBSD 上运行,而它已经可以在 FreeBSD 上使用了。

消息来源:The Register
老王点评:再想想 X.org 多少年 没有 实际开发 在进行了,连 董事会选举 都差点凑不够人。所以,是时候全面转向 Wayland 了。当然,Wayland 自己还有一些问题需要解决。

安装量超百万的 WordPress 安全插件明文记录密码

All-In-One Security(AIOS)是一款安装量超过了百万的增强 WordPress 安全性的插件,在其 5 月发布的 v5.1.9 中引入了一个错误,用户登录使用 AIOS 的网站后会以明文方式记录其密码,并将其存储在管理员可访问数据库中。上周释出的 v5.2.0 修复了该问题,并从数据库里删除了相关数据。在公告中,他们还给出了一些安全建议,其中包括已被认为是糟糕的安全实践“定期修改密码”——因为这会事实上迫使用户使用弱密码。微软认为这种做法 “古老而过时”。

消息来源:Ars Technica
老王点评:无论如何,不用明文存储密码都是最起码的安全常识。从这一点和该插件开发方给出的安全建议看,他们或许并没有真正的安全意识。

网站建设公司提供创建整个网站的人工智能工具

Wix 是网站建设领域的老牌公司。该公司发布的新人工智能网站生成工具可以让 Wix 用户描述他们的意图,并生成一个包含主页、内页、文本和图片的网站,并可以包括活动、预订等特定业务板块。在一个类似聊天机器人的界面中,该工具会询问一系列有关网站和业务性质的问题,并尝试将其转化为定制的网站模板。Wix 认为客户不会特别在意花时间定制网站外观的方方面面。

消息来源:Tech Crunch
老王点评:很多年前,开发一个网站是一件艰巨的工作,而现在,通过新的工具,开发一个网站可能就像快餐一样简单。

泄露“开源”的大语言模型 LLaMA 爆炸性发展

之前,我们在 #934 中报道过,有人通过 BT 种子泄露了 Meta 的大语言模型 LLaMA 的权重,即存储在神经网络中的训练“知识”。随后,围绕着 LLaMA 的发展出现了爆炸性的增长,开源社区迅速对 LLaMA 进行了优化和开发,使其能运行在普通人能使用的硬件上。3 月 11 日,能运行在 M1 Mac 的版本 llama.cpp 出现;随后几天,人们在 Windows、Pixel 6 手机、树莓派 4 上成功运行了它,而且效果令人满意。

消息来源:Ars Technica
老王点评:这真正体现了开源力量!往往是专有软件开辟方向,开源软件迅速引爆它。

WordPress 拥抱去中心化社交网络

WordPress 和 Tumblr 等服务的母公司 Automattic 收购了 ActivityPub for WordPress 插件,并招募了该插件的开发者。ActivityPub 是一个开放去中心化社交网络协议,被 Mastodon、PeerTube 等应用使用。该插件允许其他联邦平台的用户订阅 WordPress 博客,在联邦平台上发布的评论会成为博文的评论。除了 ActivityPub 协议,该公司还在测试其它去中心化社交协议,如支持 Nostr 和 Bluesky 的 AT 协议。

消息来源:Tech Crunch
老王点评:以 WordPress 所占据的 40% 的全球网站份额来说,这对去中心化网络很有推动作用。

Meta 停止对 NFT 的支持

Meta 发布消息称,该公司将关闭 Instagram 和 Facebook 上的 NFT 功能。这一功能去年 5 月才开始在特定的 Instagram 创作者中测试,6 月又有一些 Facebook 用户参与测试。到 7 月,Instagram 上为 100 个国家的创作者扩大了 NFT 支持。Meta 表示它正在将其投资从 NFT 转向 Meta Pay 等产品,以及使创作者能够直接在 Meta 平台上赚钱的功能。

消息来源:Tech Crunch
老王点评:除了特定的“文物”价值的 NFT 和功能性的 NFT,其它的小图片几乎没有任何价值。

WordPress 测试支持 SQLite

WordPress 是迄今最流行的内容管理系统,统计显示它的市场占有率长期高居 43% 左右。WordPress 一直基于 PHP 和 MySQL/MariaDB 数据库,但现在其性能团队已经合并了一个新的实验性的 SQLite 集成模块。该模块有望被纳入即将到来的 1.8.0 版本的性能实验室插件。SQLite 使用非常广泛,并直接集成在 PHP 中。采用 SQLite,WordPress 网站就可以不需要额外的数据库服务器了。

消息来源:WP Tavern
老王点评:确实,WordPress 已经太复杂了,在很多场景只需要一个轻量级版本。但我不是很看好这个做法,形成一个新的 SQLite 复刻版本可能是更好的做法。

Torvalds 拒绝英特尔的 LAM 实现加入 Linux 6.2

英特尔 2020 年引入了线性地址屏蔽(LAM)特性,其工程师们从那时起就一直致力于将其放入 Linux 内核。LAM 可以使用用户空间地址的未翻译的地址位,可用于元数据的各种用途,如用户空间内存净化器和标签。Torvalds 认为英特尔的 LAM 代码没有为 Linux 准备好,一些内核变化是“根本性的破坏”。甚至 Torvalds 对 LAM 这个缩写都非常厌恶。英特尔的工程师们现在已经提交了一个删除了 LAM 功能的新版本,并将重写 LAM 代码,希望能为 Linux 6.3 做好准备。

消息来源:Phoronix
老王点评:被 Linus Torvalds 骂,不丢人……

垃圾邮件过滤系统 Apache SpamAssassin 4.0 发布

经过多年的努力,Apache 项目 SpamAssassin 已经发布了其大大改进的 SpamAssassin 4.0,这是对之前 SpamAssassin 3.4 系列的相当大的升级。3.4 系列最初发布于 2014 年。主要特性有:完全支持 Unicode,具有原生的 UTF-8 处理功能;贝叶斯的改进,特别是围绕非英语邮件和常用词;检查是否符合 DMARC 策略的插件,检查附件是否包含 Office 宏的插件等等。

消息来源:Phoronix
老王点评:现在越来越多用公共邮箱,SA 使用的越来越少了。我做反垃圾邮件时特别痴迷 SA,还为它翻译过很长的一篇配置文档。

Debian 考虑改变其处理非自由固件的方式

Debian 目前在其系统上默认不加载非自由固件,“即使这意味着,没有这些二进制组件就没有硬件支持/加速能力。不加载非自由固件也可能意味着错过安全更新或解决可用性问题。”现在,Debian 社区正在讨论关于未来如何处理非自由固件的不同做法,包括默认提供并启用非自由固件,取代现有镜像或增加新的带非自由固件的镜像等等。

消息来源:Phoronix
老王点评:终于,连对“自由”非常固执的 Debian 也只能向现实“低头”了。

数万个 WordPress 网站使用了恶意插件

研究人员在 24931 个 WordPress 网站上发现了 47337 个恶意插件,每一个被攻击的网站都有两个或更多被感染的插件。而且,这些插件中有 94% 仍在积极地感染新的网站。研究还发现,这些恶意插件要么是在公开市场上出售的,要么是从盗版网站上传播的,通过利用漏洞注入网站,或者在大多数情况下,在插件被添加到网站后被感染。恶意软件会攻击网站上的其他插件来传播感染,他们的数据集中有超过 4 万个插件被证明是在部署后感染的。

消息来源:Gatech
老王点评:通过插件的互相传染,所以,不要轻易下载任何不可靠的插件,尤其是盗版的。

GIMP 2.99.12 发布:“迈向 GIMP 3.0 的巨大里程碑”

GIMP 2.99.12 今天发布,它自我描述为“迈向 GIMP 3.0 的一个巨大里程碑。许多缺失的部分正在整合,尽管它仍然是一项正在进行的工作。”

消息来源:Phoronix
老王点评:为什么专门提到这条,是因为前两天 RHEL 10 计划放弃对 GTK2 的支持,我们提到,等待了很久的 GIMP 3.0 依旧是基于 GTK2 的。

在本教程中,你将学习如何在一个“吊舱”中运行两个容器来托管一个 WordPress 站点。

 title=

无论你是将其作为工作的一部分、未来的工作机会或者仅仅是出于对新技术的兴趣,容器对很多人,即使是经验丰富的系统管理员,可能是非常难以应付的。那么如何真正开始使用容器呢?从容器到 Kubernetes 的成长路径是什么?另外,为什么有不止一条路径?如你所料,最好的起点就是现在。

1、了解容器

略一回忆,容器的开端可以追溯到早期 BSD 及其特殊的 chroot 监狱,但让我们直接跳到发展中期讲起。

之前,Linux 内核引入了 “ 控制组 cgroup ”,允许你能够使用 “ 命名空间 namespace ” 来“标记”进程。当你将进程分组到一个命名空间时,这些进程的行为就像在命名空间之外的东西不存在一样,这就像你把这些进程放入某种容器中。当然,这种容器是虚拟的,它位于计算机内部,它和你操作系统的其余进程使用相同的内核、内存和 CPU,但你用容器包含了这些进程。

分发的预制容器仅包含运行它所包含的应用程序必须的内容。使用容器引擎,如 Podman、Docker 或 CRI-O,你可以运行一个容器化应用程序,而无需进行传统意义上的安装。容器引擎通常是跨平台的,因此即使容器运行在 Linux 上,你也可以在其他 Linux、MacOS 或 Windows 上启动容器。

更重要的是,当需求量很大时,你可以运行同一应用程序的多个容器。

现在你知道了什么是容器,下一步是运行一个容器。

2、运行一个容器

在运行容器之前,你应该有一个想要运行它的理由。你可以编一个,这有助于你对让容器创建过程感兴趣,这样你就会受到鼓舞,真正去使用你所运行的容器。毕竟,运行容器但不使用它提供的应用程序,只能证明你没有注意到任何故障,但使用容器证明它可以工作。

我推荐从 WordPress 开始,它是一个很流行的 Web 应用程序,容易使用,所以一旦容器运行起来,你就可以测试使用它。虽然你可以轻松地配置一个 WordPress 容器,但还是有很多配置选项可以引导你发现更多运行容器的方式(例如运行数据库容器)以及容器如何通信。

我使用 Podman,它是一个友好、方便且无守护进程的容器引擎。如果你没有安装 Podman,可以改用 Docker 命令。它们都是很棒的开源容器引擎,而且它们的语法是相同的(只需输入 docker 而不是 podman)。因为 Podman 没有守护进程,所以它需要更多的配置,但为了这种运行免 root、无守护进程的容器的能力是值得的。

如果你使用 Docker,可以跳到下面的 运行 WordPress 容器 小节,否则,打开终端安装并配置 Podman:

$ sudo dnf install podman

容器会产生许多进程,通常只有 root 用户有权创建数千个进程 ID。创建一个名为 /etc/subuid 的文件,定义一个适当的起始 UID 和大量合法的 PID,这样就可以为你添加一些额外的进程 ID:

seth:200000:165536

在名为 /etc/subgid 的文件中对你的组执行相同的操作。在这个例子中,我的主要组是 staff(对你来说可能是 users,或者和你的用户名一样,这取决于你的系统)。

staff:200000:165536

最后,确认你的用户可以管理很多命名空间:

$ sysctl --all --pattern user_namespaces
user.max_user_namespaces = 28633

如果你的用户无权管理超过 28,000 个命名空间,创建 /etc/sysctl.d/userns.conf 文件来增加数量并输入:

user.max_user_namespaces=28633

运行 WordPress 容器

现在,无论你使用的是 Podman 还是 Docker,你都可以从在线容器仓库中下载 WordPress 容器并运行它。你可以使用以下 Podman 命令完成所有这些操作:

$ podman run --name mypress \
    -p 8080:80 -d wordpress

给 Podman 一会时间来找到容器、从互联网下载它,然后启动。

在收到终端返回提示符后,启动 Web 浏览器,打开 localhost:8080。WordPress 正在运行,等待你进行设置。

 title=

不过,你很快就会遇到障碍,因为 WordPress 使用数据库来存储数据,因此你需要为其提供一个数据库。

在继续之前,停止并删除 WordPress 容器:

$ podman stop mypress
$ podman rm mypress

3、在吊舱中运行容器

正如名字所暗示的那样,容器在设计上是独立的。在容器中运行的应用程序不应该与在容器外的应用程序或基础设施进行交互。因此,当一个容器需要另一个容器才能运行时,一种解决方案是将这两个容器放在一个更大的容器中,称为 “ 吊舱 pod ”。吊舱确保其容器可以共享重要的命名空间以便相互通信。

创建一个新的吊舱,为它提供一个名称,以及希望能够访问的端口:

$ podman pod create \
    --name wp_pod \
    --publish 8080:80

确认吊舱存在:

$ podman pod list
POD ID        NAME     STATUS    INFRA ID      # OF CONTAINERS
100e138a29bd  wp_pod   Created   22ace92df3ef   1

将容器添加到吊舱

现在你已经为相互依赖的容器创建了一个吊舱,你可以通过指定一个运行的吊舱来启动每个容器。

首先,启动一个数据库容器。你可以创建自己的凭据,只要在 WordPress 连接到数据库时使用相同的凭据。

$ podman run --detach \
    --pod wp_pod \
    --restart=always \
    -e MYSQL_ROOT_PASSWORD="badpassword0" \
    -e MYSQL_DATABASE="wp_db" \
    -e MYSQL_USER="tux" \
    -e MYSQL_PASSWORD="badpassword1" \
    --name=wp_db mariadb

接下来,在同一个吊舱中启动 WordPress 容器:

$ podman run --detach \
    --restart=always --pod=wp_pod \
    -e WORDPRESS_DB_NAME="wp_db" \
    -e WORDPRESS_DB_USER="tux" \
    -e WORDPRESS_DB_PASSWORD="badpassword1" \
    -e WORDPRESS_DB_HOST="127.0.0.1" \
    --name mypress wordpress

现在启动你最喜欢的网络浏览器并打开 localhost:8080

这一次,设置会正常进行。WordPress 会连接到数据库,因为你在启动容器时传递了这些环境变量。

 title=

创建用户账户后,你可以登录查看 WordPress 仪表板。

 title=

下一步

你已经创建了两个容器,并在一个吊舱中运行了它们。你现在已经了解了如何在自己的服务器上运行容器及服务。如果你想迁移到云,容器非常适合你。使用像 Kubernetes 和 OpenShift 这样的工具,你可以自动化启动 集群上的容器和吊舱。如果你正在考虑采取下一步行动,阅读 Kevin Casey 的 3 个开始使用 Kubernetes 的方法,并尝试他提到的 Minikube 教程。


via: https://opensource.com/article/22/2/start-running-containers

作者:Seth Kenlon 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

即使初学者也可以,并且应该采取这些步骤来保护他们的 WordPress 网站免受网络攻击。

 title=

WordPress 已经驱动了互联网 30% 的网站,它是世界上增长最快的 内容管理系统 content management system (CMS),而且不难看出原因:通过大量可用的定制化代码和插件、一流的 搜索引擎优化 Search Engine Optimization (SEO),以及在博客界超高的美誉度,WordPress 赢得了很高的知名度。

然而,随着知名度而来的,也带来一些不太好的关注。WordPress 是入侵者、恶意软件和网络攻击的常见目标,事实上,在 2019 年被黑客攻击的 CMS 中,WordPress 约占 90%

无论你是 WordPress 新用户或者有经验的开发者,这里有一些你可以采取的重要步骤来保护你的 WordPress 网站。以下 6 个关键技巧将帮助你起步。

1、选择可靠的托管主机

主机是所有网站无形的基础,没有它,你不能在线发布你的网站。但是主机的作用远不止起简单的托管你的网站,它也要对你的网站速度、性能和安全负责。

第一件要做的事情就是检查主机在它的套餐中是否包含 SSL 安全协议。

无论你是运行一个小博客或是一个大的在线商店,SSL 协议都是所有网站必需的安全功能。如果你正在进行线上交易,你还需要 高级 SSL 数字证书 ,但是对大多数网站来说,基本免费的 SSL 证书就很好了。

其他需要注意安全功能包括以下几种:

  • 日常的自动离线网站备份
  • 恶意软件和杀毒软件扫描和删除
  • 分布式服务攻击 Distributed denial of service (DDOS)保护
  • 实时网络监控
  • 高级防火墙保护

另外除了这些数字安全功能之外,你的主机供应商的 物理 安全措施也是值得考虑的。这些包括用安全警卫、闭路监控和二次验证或生物识别来限制对数据中心的访问。

2、使用安全插件

保护你的网站安全最有效且容易的方法之一是安装一个安全插件,比如 Sucuri,它是一个 GPLv2 许可的开源软件。安全插件是非常重要的,因为它们能将安全管理自动化,这意味着你能够集中精力运行你的网站,而不是花大量的时间来与在线威胁作斗争。

这些插件探测、阻止恶意攻击,并提醒你需要注意的任何问题。简言之,它们持续在后台运行,保护你的网站,这意味着你不必保持 7 天 24 小时地保持清醒,与黑客、漏洞和其他数字垃圾斗争。

一个好的安全插件会免费提供给你所有必要的安全功能,但是一些高级功能需要付费订阅。举个例子,如果你想要解锁 Sucuri 的网站防火墙 ,你就需要付费。开启 网站应用防火墙 web application firewall (WAF)阻挡常见的威胁,并为给你的网站添加一个额外的安全层,所以当选择安全插件的时候,寻找带有这个功能的插件是一个好的主意。

3、选择值得信任的插件和主题

WordPress 的快乐在于它是开源的,所以任何人、每个人都能提供他们开发的主题和插件。但当选择高质量的主题和插件时,这也抛出一些问题。

在挑选免费的主题或插件时,有一些设计较差,或者更糟糕的是,可能会隐藏恶意代码。

为了避免这种情况,始终从可靠的来源来获取免费主题和插件,比如 WordPress 主题库。阅读对它的评论,并研究查看开发者是否构建过其他的程序。

过时的或设计不良的主题和插件可以为攻击者进入你的网站留下“后门”或错误,这就是为什么选择时要谨慎。然而,你也应该提防无效或者破解的主题。这些已经黑客破坏了的高级主题被非法销售。你可能会购买一个无效的主题,它看起来没什么问题,但会通过隐藏的恶意代码破坏你的网站。

为了避免无效主题,不要被打折的价格所吸引,始终坚持可靠的主题商店,比如官方的 WordPress 目录。如果你在其它地方寻找,坚持选择大型且值得信任的商店,比如 Themify ,这个主题和插件商店自从 2010 年就已经在经营了。Themify 确保它的所有 WordPress 主题通过了 谷歌友好移动 Google Mobile-Friendly 测试,并在 GNU 通用公共许可证 下开源。

4、运行定期更新

这是 WordPress 的基本规则: 始终保持你的网站最新。然而,不是所有人都坚持了这个规则,只有 43% 的 WordPress 网站 运行的是最新版本。

问题是,当你的网站过期的时候,由于它在安全和性能修复方面落后的原因,容易受到故障、漏洞、入侵和崩溃的影响。过期的网站不能像更新的网站一样修复漏洞,攻击者能够分辨出哪些网站是过期的。这意味着他们能够依此来搜索最易受攻击的网站并袭击它们。

这就是为什么你始终要运行最新的 WordPress 版本的原因。为了保持网站安全处于最强的状态,你必须更新你的插件和主题,以及你的核心 WordPress 软件。

如果你选择一个受管理的 WordPress 托管套餐,你可能会发现你的供应商会为你检查并运行更新,以了解你的主机是否提供了软件和插件更新。如果没有,你可以安装一个开源插件管理器。比如 GPLv2 许可的 Easy Updates Manager plugin 作为替代品。

5、强化你的登录

除了通过仔细选择主题和安装安全插件来创建一个安全的 WordPress 网站外,你还需要防止未经授权的登录访问。

密码保护

如果你在使用 容易猜到的短语 比如 “123456” 或 “qwerty” ,第一步要做的增强登录安全最简单的方法是更改你的密码。

尝试使用一个长的密码而不是一个单词,这样它们很难被破解。最好的方式是用一系列你容易记住且不相关的单词合并起来。

这里有一些其它的提示:

  • 绝不要重复使用密码
  • 密码不要包括像家庭成员的名字或者你喜欢的球队等明显的单词
  • 不要和任何人分享你的登录信息
  • 你的密码要包括大小写和数字来增加复杂程度
  • 不要在任何地方写下或者存储你的登录信息
  • 使用 密码管理器

变更你的登录地址

将默认登录网址从标准格式 yourdomain.com/wp-admin 变更是一个好主意。这是因为黑客也知道这个缺省登录网址,所以不变更它会有被暴力破解的风险。

为避免这种情况,可以将登录网址变更为不同的网址。使用开源插件比如 GPLv2 许可的 WPS Hide Login 可以更加安全、快速和轻松的自定义登录地址。

应用双因素认证

为了提供更多的保护,阻止未授权的登录和暴力破解,你应该添加双因素认证。这意味着即使有人 确实 得到了你的登录信息,但是他们还需要一个直接发送到你的手机上的验证码,来获得对你的 WordPress 网站管理的权限。

添加双因素认证是非常容易的,只需要安装另一个插件,在 WordPress 插件目录搜索 “two-factor authentication” ,然后选择你要的插件。其中一个选择是 Two Factor ,这是一个流行的 GPLv2 许可的插件,已经有超过 10000 次安装。

限制登录尝试

WordPress 可以让你多次猜测登录信息来帮助你登录。然而,这对黑客尝试获取未授权访问 WordPress 网站并发布恶意代码也是有帮助的。

为了应对暴力破解,安装一个插件来限制登录尝试,并设置你允许猜测的次数。

6、禁用文件编辑功能

这不是一个适合初学者的步骤,除非你是个自信的程序员,不要尝试它。并且一定要先备份你的网站。

那就是说,如果你真的想保护你的 WordPress 网站,禁用文件编辑功能 一个重要的措施 。如果你不隐藏你的文件,它意味着任何人从管理后台都可以编辑你的主题和插件代码,如果入侵者进入,那就危险了。

为了拒绝未授权的访问,转到你的 .htaccess 文件并输入:

<Files wp-config.php>
order allow,deny
deny from all
</Files>

或者,要从你的 WordPress 管理后台直接删除主题和插件的编辑选项,可以添加编辑你的 wp-config.php 文件:

define( 'DISALLOW_FILE_EDIT', true );

保存并重新加载这个文件,插件和主题编辑器将会从你的 WordPress 管理后台菜单中消失,阻止任何人编辑你的主题或者插件代码,包括你自己。如果你需要恢复访问你的主题和插件代码,只需要删除你添加在 wp-config.php 文件中的代码即可。

无论你阻止未授权的访问,还是完全禁用文件编辑功能,采取行动保护你网站代码是很重要的。否则,不受欢迎的访问者编辑你的文件并添加新代码是很容易的。这意味着攻击者可以使用编辑器从你的 WordPress 站点来获取数据,或者甚至利用你的网站对其他站点发起攻击。

隐藏文件更容易的方式是利用安全插件来为你服务,比如 Sucuri 。

WordPress 安全概要

WordPress 是一个优秀的开源平台,初学者和开发者都应该享受它,而不用担心成为攻击的受害者。遗憾的是,这些威胁不会很快消失,所以保持网站的安全至关重要。

利用以上措施,你可以创建一个更加健壮、更安全的保护水平的 WordPress 站点,并给自己带来更好的使用体验。

保持安全是一个持续的任务,而不是一次性的检查清单,所以一定要定期重温这些步骤,并在建立和使用你的CMS时保持警惕。


via: https://opensource.com/article/20/4/wordpress-security

作者:Lucy Carney 选题:lujun9972 译者:hwlife 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出