保护服务器的推荐安全措施

2023-11-10

介绍

大多数时候,您的主要关注点是启动并运行云应用程序。作为设置和部署过程的一部分,在公开可用之前为您的系统和应用程序构建强大而彻底的安全措施非常重要。在部署应用程序之前实施本教程中的安全措施将确保您在基础架构上运行的任何软件都具有安全的基本配置,而不是部署后实施的临时措施。

本指南重点介绍了您在配置和设置服务器基础架构时可以采取的一些实用安全措施。此列表并不是您可以采取的所有措施来保护您的服务器的详尽列表,但这为您提供了一个可以构建的起点。随着时间的推移,您可以开发出更加量身定制的安全方法,以满足您的环境和应用程序的特定需求。

SSH Keys

SSH(即安全外壳)是一种加密协议,用于管理服务器并与服务器通信。使用服务器时,您可能会将大部分时间花在通过 SSH 连接到服务器的终端会话上。作为基于密码的登录的替代方案,SSH 密钥使用加密提供一种安全的登录服务器的方式,建议所有用户使用。

使用 SSH 密钥,创建私钥和公钥对以进行身份​​验证。私钥由用户保密且安全,而公钥可以共享。这通常被称为非对称加密,您可能会在其他地方看到这种模式。

SSH Keys diagram

要配置 SSH 密钥身份验证,您需要将公共 SSH 密钥放在服务器上的预期位置(通常是~/.ssh/authorized_keys)。要了解有关基于 SSH 密钥的身份验证如何工作的更多信息,请阅读了解 SSH 加密和连接过程.

SSH 密钥如何增强安全性?

使用 SSH,任何类型的身份验证(包括密码身份验证)都是完全加密的。然而,当允许基于密码的登录时,恶意用户可以重复地、自动地尝试访问服务器,尤其是当它具有面向公众的 IP 地址时。尽管有多种方法可以在同一 IP 多次尝试失败后锁定访问,并且恶意用户在实践中会受到尝试登录服务器的速度的限制,但在任何情况下,用户都可以合理地尝试获得访问权限重复到你的堆栈蛮力攻击会带来安全风险。

设置 SSH 密钥身份验证允许您禁用基于密码的身份验证。 SSH 密钥通常比密码具有更多的数据位 - 您可以从 12 个字符的密码创建 128 个字符的 SSH 密钥哈希 - 这使得它们更难以被暴力破解。尽管如此,还是考虑了一些加密算法可破解的通过尝试在足够强大的计算机上对密码哈希进行足够多次的逆向工程。其他密钥,包括现代 SSH 客户端生成的默认 RSA 密钥,尚无法破解。

如何实施 SSH 密钥

SSH 密钥是远程登录任何 Linux 服务器环境的推荐方法。可以使用以下命令在本地计算机上生成一对 SSH 密钥ssh命令,然后您可以将公钥传输到远程服务器。

要在服务器上设置 SSH 密钥,您可以按照如何设置 SSH 密钥适用于 Ubuntu、Debian 或 CentOS。

对于堆栈中需要密码访问或容易受到暴力攻击的任何部分,您可以实施类似的解决方案fail2ban在您的服务器上限制密码猜测。

最佳做法是不允许root用户直接通过 SSH 登录。相反,以非特权用户身份登录,然后根据需要升级权限使用类似的工具sudo。这种限制权限的方法称为最小特权原则。连接到服务器并创建一个已验证可使用 SSH 的非特权帐户后,您可以禁用root通过设置登录PermitRootLogin no指令中/etc/ssh/sshd_config在您的服务器上,然后使用类似命令重新启动服务器的 SSH 进程sudo systemctl restart sshd.

防火墙

防火墙是一种软件或硬件设备,用于控制服务如何暴露于网络,以及允许哪些类型的流量进出给定的服务器。正确配置的防火墙将确保只有应公开提供的服务才能从服务器或网络外部访问。

Firewall diagram

在典型的服务器上,默认情况下可能会运行许多服务。这些可以分为以下几组:

  • 互联网上的任何人都可以访问公共服务(通常是匿名的)。一个例子是为您的实际网站提供服务的网络服务器。
  • 私人服务只能由一组选定的授权帐户或从某些位置访问。例如数据库控制面板像 phpMyAdmin.
  • 只能从服务器本身内部访问的内部服务,而不是将服务暴露于公共互联网。例如,应该只接受本地连接的数据库。

防火墙可以确保根据上述类别以不同的粒度限制对软件的访问。公共服务可以保持开放并可供互联网使用,而私人服务可以根据不同的标准(例如连接类型)受到限制。内部服务可以完全无法通过互联网访问。对于未使用的端口,在大多数配置中完全阻止访问。

防火墙如何增强安全性?

即使您的服务实现了安全功能或仅限于您希望它们运行的​​接口,防火墙也会在应用程序处理流量之前限制与您的服务之间的连接,从而充当基础保护层。

正确配置的防火墙将限制对除您需要保持开放的特定服务之外的所有内容的访问,通常只打开与这些服务关联的端口。例如,SSH 通常运行在端口 22 上,而通过 Web 浏览器进行的 HTTP/HTTPS 访问通常分别运行在端口 80 和 443 上。仅公开少数软件可以减少服务器的攻击面,从而限制易受攻击的组件。

如何实施防火墙

Linux 系统有许多可用的防火墙,其中一些防火墙比其他防火墙更复杂。一般来说,当您更改服务器上运行的服务时,您只需要更改防火墙配置。以下是一些启动和运行的选项:

  • UFW(即简单防火墙)默认安装在某些 Linux 发行版(例如 Ubuntu)上。您可以在以下位置了解更多信息如何在 Ubuntu 20.04 上使用 UFW 设置防火墙

  • 如果您使用的是 Red Hat、Rocky 或 Fedora Linux,您可以阅读如何使用firewalld设置防火墙使用他们的默认工具。

  • 许多软件防火墙(例如 UFW 和 Firewalld)会将其配置的规则直接写入名为的文件中iptables。了解如何与iptables直接配置即可查看Iptables 要点:常见防火墙规则和命令。请注意,其他一些自行实现端口规则的软件(例如 Docker)也会直接写入iptables,并且可能与您使用 UFW 创建的规则相冲突,因此了解如何阅读iptables像这样的情况下的配置。

Note:许多托管提供商(包括 DigitalOcean)将允许您将防火墙配置为一项服务,该服务作为云服务器上的外部层运行,而不需要直接实施防火墙。这些配置是在网络边缘使用托管工具,在实践中通常不太复杂,但编写脚本和复制可能更具挑战性。您可以参考DigitalOcean的文档云防火墙.

确保您的防火墙配置默认为阻止未知流量。这样,您部署的任何新服务都不会无意中暴露在 Internet 上。相反,您必须显式允许访问,这将迫使您评估服务的运行方式、访问方式以及谁应该能够使用它。

专有网络网络

虚拟私有云 (VPC) 网络是基础设施资源的专用网络。 VPC 网络在资源之间提供更安全的连接,因为无法从公共互联网访问该网络的接口。

VPC网络如何增强安全性?

一些托管提供商默认会为您的云服务器分配一个公共网络接口和一个私有网络接口。禁用部分基础设施上的公共网络接口将只允许这些实例通过内部网络使用其专用网络接口相互连接,这意味着系统之间的流量将不会通过公共互联网进行路由。暴露或拦截。

通过有条件地仅公开一些专用互联网网关,也称为ingress网关作为您的 VPC 网络资源和公共互联网之间的唯一访问点,您将能够更好地控制和了解连接到您的资源的公共流量。像 Kubernetes 这样的现代容器编排系统有一个非常明确定义的入口网关概念,因为它们默认创建许多私有网络接口,需要有选择地公开这些接口。

如何实施VPC网络

许多云基础设施提供商使您能够创建资源并将其添加到其数据中心内的 VPC 网络。

Note:如果您正在使用 DigitalOcean 并且想设置自己的 VPC 网关,您可以按照如何将 Droplet 配置为 VPC 网关了解如何在基于 Debian、Ubuntu 和 CentOS 的服务器上使用的指南。

手动配置您自己的专用网络可能需要高级服务器配置和网络知识。设置 VPC 网络的另一种方法是在服务器之间使用 VPN 连接。

VPN 和专用网络

VPN,或虚拟专用网络,是一种在远程计算机之间创建安全连接并将该连接呈现为本地专用网络的方法。这提供了一种配置您的服务的方法,就好像它们位于专用网络上一样,并通过安全连接连接远程服务器。

VPN diagram

例如,DigitalOcean 专用网络使同一区域内同一帐户或团队的服务器之间的隔离通信.

VPN 如何增强安全性?

使用 VPN 是一种绘制只有您的服务器才能看到的专用网络的方法。通信将完全私密且安全。其他应用程序可以配置为通过 VPN 软件公开的虚拟接口传递其流量。这样,只有打算由公共互联网上的客户端使用的服务才需要在公共网络上公开。

如何实施 VPN

使用专用网络通常需要您在首次部署服务器时决定网络接口,并将应用程序和防火墙配置为首选这些接口。相比之下,部署 VPN 需要安装额外的工具并创建额外的网络路由,但通常可以部署在现有架构之上。 VPN 上的每台服务器都必须具有建立 VPN 连接所需的共享安全性和配置数据。 VPN 启动并运行后,必须将应用程序配置为使用 VPN 隧道。

如果您使用的是 Ubuntu 或 CentOS,您可以按照如何在 Ubuntu 20.04 上设置和配置 OpenVPN 服务器教程。

钢丝卫士是另一种流行的 VPN 部署。一般来说,VPN 遵循相同的原则,通过在几个入口点后面实施一系列专用网络接口来限制对云服务器的入口,但在 VPC 配置通常是核心基础设施考虑因素的情况下,VPN 可以在更临时的基础上进行部署。

服务审核

良好的安全性包括分析您的系统、了解可用的攻击面以及尽可能锁定组件。

Service auditing diagram

服务审核是一种了解给定系统上正在运行哪些服务、它们用于通信的端口以及这些服务使用哪些协议的方法。此信息可以帮助您配置哪些服务应公开访问、防火墙设置、监控和警报。

服务审计如何增强安全性?

每个正在运行的服务,无论是内部服务还是公共服务,都代表着恶意用户扩大的攻击面。您运行的服务越多,漏洞影响您的软件的可能性就越大。

一旦您很好地了解了计算机上正在运行哪些网络服务,您就可以开始分析这些服务。当您执行服务审核时,请针对每个正在运行的服务询问自己以下问题:

  • 该服务应该运行吗?
  • 该服务是否在不应该运行的网络接口上运行?
  • 该服务应该绑定到公共网络接口还是专用网络接口?
  • 我的防火墙规则是否能够将合法流量传递到此服务?
  • 我的防火墙规则是否阻止非法流量?
  • 我是否有办法接收有关每个服务的漏洞的安全警报?

在基础设施中配置任何新服务器时,这种类型的服务审核应该是标准做法。每隔几个月执行一次服务审核还可以帮助您发现配置可能无意更改的任何服务。

如何实施服务审计

要审核系统上运行的网络服务,请使用ss命令列出服务器上正在使用的所有 TCP 和 UDP 端口。显示用于侦听 TCP 和 UDP 流量的程序名称、PID 和地址的示例命令是:

  1. sudo ss -plunt

The p, l, u, n, and t选项的工作原理如下:

  • p显示使用给定套接字的特定进程。
  • l仅显示正在主动侦听连接的套接字。
  • u包括 UDP 套接字(除了 TCP 套接字之外)。
  • n显示数字流量值。
  • t包括 TCP 套接字(除了 UDP 套接字)。

您将收到与此类似的输出:

Output
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3)) tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=69226,fd=6),("nginx",pid=69225,fd=6)) tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=812,fd=4)) tcp LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=69226,fd=7),("nginx",pid=69225,fd=7))

需要您注意的主要列是 Netid、本地地址:端口和进程名称列。如果本地地址:端口是0.0.0.0,则该服务正在接受所有 IPv4 网络接口上的连接。如果地址是[::]那么该服务正在接受所有 IPv6 接口上的连接。在上面的示例输出中,SSH 和 Nginx 都在 IPv4 和 IPv6 网络堆栈上的所有公共接口上进行侦听。

您可以决定是否允许 SSH 和 Nginx 在两个接口上侦听,还是仅在其中一个接口上侦听。通常,您应该禁用在未使用的接口上运行的服务。

无人值守更新

为了确保良好的基础安全水平,有必要让您的服务器保持最新的补丁。运行过时且不安全的软件版本的服务器是造成大多数安全事件的原因,但定期更新可以减轻漏洞并防止攻击者在您的服务器上站稳脚跟。无人值守更新允许系统自动更新大多数软件包。

无人值守更新如何增强安全性?

实施无人值守(即自动)更新可以降低保持服务器安全所需的工作量,并缩短服务器容易受到已知错误影响的时间。如果出现影响服务器上软件的漏洞,则无论您运行更新需要多长时间,您的服务器都将容易受到攻击。每日无人值守升级将确保您不会错过任何软件包,并且一旦修复可用,任何易受攻击的软件都会得到修补。

如何实现无人值守更新

您可以参考如何保持 Ubuntu 服务器更新了解在 Ubuntu 上实现无人值守更新的概述。

公钥基础设施和 SSL/TLS 加密

公钥基础设施(PKI)是指旨在创建、管理和验证用于识别个人和加密通信的证书的系统。 SSL 或 TLS 证书可用于对不同实体进行相互验证。经过身份验证后,它们还可以用于建立加密通信。

SSL diagram

PKI如何增强安全性?

建立证书颁发机构 (CA) 并管理服务器证书允许基础设施中的每个实体验证其他成员的身份并加密其流量。这可以防止中间人攻击攻击者模仿您的基础设施中的服务器来拦截流量。

每台服务器都可以配置为信任集中式证书颁发机构。此后,任何由该机构签名的证书都可以被隐式信任。

如何实施 PKI

配置证书颁发机构和设置其他公钥基础设施可能需要大量的初始工作。此外,当需要创建、签署或撤销新证书时,管理证书可能会造成额外的管理负担。

对于许多用户来说,只有当他们的基础设施需求增长时,实施成熟的公钥基础设施才有意义。使用 VPN 保护组件之间的通信可能是更好的中间措施,直到您达到 PKI 值得额外管理成本的程度为止。

如果您想创建自己的证书颁发机构,可以参考如何设置和配置证书颁发机构 (CA)指南取决于您所使用的 Linux 发行版。

结论

本教程中概述的策略概述了您可以用来提高系​​统安全性的一些步骤。重要的是要认识到,实施安全措施的时间越长,其有效性就会降低。安全性不应该是事后才想到的,必须在首次配置基础设施时实施。一旦您有了一个安全的基础,您就可以开始部署您的服务和应用程序,并确保它们默认在安全的环境中运行。

即使有一个安全的起始环境,请记住,安全性是一个持续的迭代过程。请务必询问自己任何更改可能会产生哪些安全影响,以及可以采取哪些步骤来确保始终为软件创建安全的默认配置和环境。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保护服务器的推荐安全措施 的相关文章

  • openssl_crypt 中初始化向量的使用

    我看了一下this https stackoverflow com questions 1391132 two way encryption in php问题 并想为自己做 当我运行这段代码时 直接取自这个答案 https stackove
  • C# 自动检测代理设置

    C 2008 SP1 我正在使用代码来检测是否已在 Internet 选项 下设置代理 如果有代理 那么我将在我的网络客户端中设置它 所以我只是检查代理的地址是否存在 如果没有 则说明 Web 客户端中没有要设置的代理 这是执行此操作的正确
  • php字符串是值类型吗?

    为什么php的string是值类型 每次将参数传递给函数时 每次进行赋值时 每次连接都会导致字符串被复制时 它都会被复制到各处 我的 NET 经验告诉我 它似乎效率低下 迫使我几乎在任何地方都使用引用 考虑以下替代方案 替代方案1 This
  • 解码 OAEP 填充时出错

    我的问题已经解决了一半 请帮助 我已使用数字签名的公钥成功加密了文本 但在解密时出现错误 解码 OAEP 填充时出错 我的代码如下 region Test Encryption public void a using var rsa new
  • 出于安全目的,您是否有理由不执行自己的算法来打乱 ID?

    我计划实现我自己的非常简单的 哈希 公式 为具有多个用户的应用程序添加一层安全性 我目前的计划如下 用户创建一个帐户 此时后端会生成一个 ID ID 通过公式运行 假设 ID 57 8926 36 7 或同样随机的东西 然后 我将新的用户
  • 如何检测CSRF漏洞[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定一个网站 如何检测潜在的 CSRF 漏洞 提前致谢 这是一个CSRF https www owasp org index php
  • 用于防止滥用的 Servlet 过滤器? (DoS、垃圾邮件等)

    我正在寻找一个 Servlet 过滤器库 它可以帮助我保护我们的 Web 服务免受未经授权的使用和 DDoS 攻击 我们的网络服务有 授权客户 因此理想情况下 过滤器将帮助检测未经授权或行为不当的客户 或检测使用同一帐户的多个人 此外 我们
  • 在 Python 中通过网络发送对象的最佳方式是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要通过网络发送对象 我将使用 Twisted 并且我刚刚开始查看它的文档 据我所知 python实现套接字的唯一方式是通过文本 那么我如何使
  • 调试断言失败。表达式(流!=NULL)

    我收到以下错误 调试断言失败 表达式 流 NULL 文件 f dd vctools crty bld self x86 crt src fwrite c 创建 4 个线程时 CPU 使用率 100 该代码最初运行良好一段时间 然后给出此错误
  • AES 在汇编中的实现 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 大家好 我正在尝试构建一个代码来演示
  • 使用 CreateRestrictedToken(LUA_TOKEN) 从提升的进程创建低/中进程

    我正在尝试从提升的进程创建中或低完整性进程 我知道还有其他类似的问题 但它们主要关注使用资源管理器或任务计划程序等解决方法 我想坚持使用CreateRestrictedToken CreateProcessAsUser 我认为一定可以以某种
  • 防止隐藏的输入被更改

    这一直让我压力很大 我有一个隐藏的输入
  • 为什么将 MySQL 凭据放在 www 目录之外? [复制]

    这个问题在这里已经有答案了 可能的重复 将核心类放在 Web 根目录之上 好还是坏主意 https stackoverflow com questions 3648739 putting core classes above the web
  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • ajax 会增加还是降低安全性?

    我正在创建一个网站 到目前为止它是纯 PHP 的 我在想 既然很少有人没有启用 JavaScript 我想知道为什么 也许我应该将我的网站创建为一个完全 PHP 的网站 而不使用任何 AJAX 难道是我想错了 可以肯定的是 如果我实施一些
  • 存储外部站点(不使用 OAuth)的用户凭据的智能方法是什么?

    我意识到 一般来说 您不应该直接存储用户凭据 即以纯文本形式 相反 最好存储它们的某种加密形式 但是 假设我创建了一个与其他第三方网站交互的网站 假设这个第 3 方站点提供了一个 API 需要用户的凭据 使用该站点 进行身份验证 如果我的目
  • 如何使用 VB.NET 打开受密码保护的共享网络文件夹?

    我需要在网络上打开受密码保护的共享文件夹才能访问 Access 97 数据库 如何打开文件夹并输入密码 在这里找到http www mredkj com vbnet vbnetmapdrive html http www mredkj co
  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin
  • 为什么 h_addr_list (在 hostent 结构中)类型为 char** 而不是 void*?

    我试图找出一段构建 hostent 对象的代码 更具体地说 它的工作部分是填充 h addr list 数组 我对分配到数组中的值被强制转换为这一事实感到困惑char 据我所知 这个数组与字符串无关 我注意到h addr list数组实际上
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我

随机推荐

  • 什么是 503 服务不可用错误

    浏览网页时最常见的错误之一是 503 服务不可用错误 此消息表明网络服务器遇到技术问题 无法处理请求 本文解释了 503 错误的含义 为什么会收到 HTTP 503 代码以及如何解决这些错误 什么是 HTTP 503 错误 当您打开网页时
  • 如何使用 SSHFS 通过 SSH 挂载远程目录

    SSHFS SSH 文件系统 是基于 FUSE 的文件系统客户端 用于通过 SSH 连接挂载远程目录 SSHFS 使用 SFTP 协议 它是 SSH 的一个子系统 并且在大多数 SSH 服务器上默认启用 与其他网络文件系统协议 例如 NFS
  • Linux 中的 pidof 命令

    pidof是一个命令行实用程序 可让您查找正在运行的程序的进程 ID 在这篇文章中 我们将解释如何使用Linuxpidof命令 如何使用pidof命令 有不同的实现pidof适用于基于 Red Hat 和 Debian 的发行版 在 Red
  • 在 Ubuntu 20.04 上安装 ONLYOFFICE 文档

    ONLYOFFICE Docs 是一个根据 AGPLv3 许可证分发的开源办公套件 它允许处理办公文档 电子表格和演示文稿 以及可填写的表格 您可以将其另存为 PDF 文件 该套件使用 DOCX XLSX 和 PPTX 作为核心格式 保证与
  • 如何在 CentOS 8 上安装 VirtualBox 来宾添加

    虚拟盒子是开源的跨平台虚拟化软件 允许您同时运行多个来宾操作系统 虚拟机 VirtualBox 提供了一组驱动程序和应用程序 VirtualBox Guest Additions 可以安装在来宾操作系统中以扩展来宾操作系统的功能 例如共享文
  • 如何在Linux中检查监听端口(正在使用的端口)

    在对网络连接或特定于应用程序的问题进行故障排除时 首先要检查的事情之一应该是系统上实际使用的端口以及哪个应用程序正在侦听特定端口 本文介绍了如何使用netstat ss and lsof命令来找出哪些服务正在侦听哪些端口 这些说明适用于所有
  • 如何在 CentOS 7 上安装 Nginx

    Nginx 发音engine x是一个免费 开源 高性能的 HTTP 和反向代理服务器 负责处理 Internet 上一些最大网站的负载 Nginx 可以用作独立的 Web 服务器 也可以用作反向代理 for Apache和其他网络服务器
  • 如何在 Debian 10 上安装 Anaconda

    Anaconda 是最流行的 Python R 数据科学和机器学习平台 它用于大规模数据处理 预测分析和科学计算 Anaconda 发行版附带 1 500 多个开源数据包 它还包括 conda 命令行工具和名为 Anaconda Navig
  • 如何在 Linux 中更改用户密码

    在本指南中 我们将解释如何在 Linux 中更改用户密码 我们还将向您展示如何强制用户在下次登录时更改密码 这些说明适用于任何 Linux 发行版 包括 Ubuntu Debian 和 CentOS 介绍 在 Linux 中 您可以使用以下
  • 如何在 Ubuntu 18.04 上安装 Elasticsearch

    Elasticsearch 是一个开源分布式全文搜索和分析引擎 它支持 RESTful 操作 允许您实时存储 搜索和分析大量数据 Elasticsearch 是最流行的搜索引擎之一 为具有复杂搜索要求的应用程序 例如大型电子商务商店和分析应
  • 如何在 CentOS 8 上更改主机名

    通常 主机名是在操作系统安装期间设置的 或者在创建虚拟机时动态分配给虚拟机的 您可能需要更改主机名的原因有很多 最常见的是在创建实例时自动设置主机名 本指南介绍了如何在 CentOS 8 上设置或更改主机名 而无需重新启动系统 先决条件 在
  • 如何在 Debian 9 上安装 VLC 媒体播放器

    VLC 是一个免费的开源多媒体播放器 它是跨平台的 可以播放几乎所有多媒体文件以及 DVD 音频 CD 和不同的流媒体协议 本教程介绍如何在 Debian 9 上安装 VLC 媒体播放器 先决条件 您需要以以下身份登录具有 sudo 访问权
  • 如何在 CentOS 8 上安装和配置 Fail2ban

    所有暴露在互联网上的服务器都面临着恶意软件攻击的风险 例如 如果您有一个连接到公共网络的软件 攻击者可以使用暴力尝试来获取对该应用程序的访问权限 Fail2ban 是一款开源工具 可通过监控服务日志中的恶意活动来帮助保护您的 Linux 计
  • 如何在 Debian 10 Linux 上安装 Apache Cassandra

    Apache Cassandra 是一个免费的开源 NoSQL 数据库 不存在单点故障 它提供线性可扩展性和高可用性 而不会影响性能 许多拥有大型活跃数据集的公司都在使用 Apache Cassandra 包括 Reddit NetFlix
  • 如何在 CentOS 8 上安装 Gitea

    Gitea 是一个用 Go 编写的自托管开源 git 服务器 它配备了存储库文件编辑器 项目问题跟踪 用户管理 通知 内置 wiki 等等 Gitea是一个轻量级应用程序 可以安装在功能较弱的系统上 如果您正在寻找内存占用小得多的 Gitl
  • 如何在Ubuntu 20.04服务器上安装Python 3并设置编程环境

    介绍 对于初学者和经验丰富的开发人员来说 Python 编程语言越来越受欢迎 Python 灵活且用途广泛 在脚本编写 自动化 数据分析 机器学习和后端开发方面具有优势 首次发布于 1991 年 其名称的灵感来自英国喜剧团体 Monty P
  • 如何在 Ubuntu 12.04 上添加交换

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • 使用 Kotlin 的 Android 进度条

    在本教程中 我们将使用 Kotlin 在 Android 应用程序中讨论和实现 ProgressBar 什么是进度条 ProgressBar UI 元素用于在应用程序屏幕上显示进度 我们可以使用 ProgressBar 在应用程序屏幕上显示
  • 如何在 Ubuntu 18.04 上设置 OpenVPN 服务器

    本教程的先前版本由以下人员编写贾斯汀 埃林伍德 介绍 当您的智能手机或笔记本电脑连接到不受信任的网络 例如酒店或咖啡店的 WiFi 时 想要安全可靠地访问互联网吗 A虚拟专用网络 VPN 允许您安全地穿越不受信任的网络 就像在专用网络上一样
  • 保护服务器的推荐安全措施

    介绍 大多数时候 您的主要关注点是启动并运行云应用程序 作为设置和部署过程的一部分 在公开可用之前为您的系统和应用程序构建强大而彻底的安全措施非常重要 在部署应用程序之前实施本教程中的安全措施将确保您在基础架构上运行的任何软件都具有安全的基