我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: Enterprise Server 2.14

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-07-12. 即使出现严重安全问题,也不会发布补丁。要获得更好的性能、更高的安全性和全新功能,请升级到 GitHub Enterprise 的最新版本。 要获取有关升级的帮助,请联系 GitHub Enterprise 支持部门

配置内置防火墙规则

您可以查看默认防火墙规则并自定义 您的 GitHub Enterprise Server 实例 的规则。

本文内容

关于 您的 GitHub Enterprise Server 实例 的防火墙

GitHub Enterprise Server 在虚拟设备上使用 Ubuntu 的简单防火墙 (UFW)。 更多信息请参阅 Ubuntu 文档中的“UFW”。 GitHub Enterprise Server 在每次发布时都会自动更新允许服务的防火墙白名单。

安装 GitHub Enterprise Server 之后,所有必要的网络端口都会自动打开,以接受连接。 每个非必要的端口都会自动配置为 deny,默认传出策略会配置为 allow。 会为任何新连接启用状态跟踪;这些连接通常是 SYN 位置 1 的网络数据包。 更多信息请参阅“网络端口”。

UFW 防火墙还会打开 GitHub Enterprise Server 所需的其他多个端口才能正常运行。 更多关于 UFW 规则集的信息,请参阅 UFW 自述文件

查看默认防火墙规则

  1. SSH 到 您的 GitHub Enterprise Server 实例。

    $ ssh -p 122 admin@HOSTNAME
  2. 要查看默认防火墙规则,请使用 sudo ufw status 命令。 您看到的输出应类似于:

    $ sudo ufw status
    > Status: active
    > To                         Action      From
    > --                         ------      ----
    > ghe-1194                   ALLOW       Anywhere
    > ghe-122                    ALLOW       Anywhere
    > ghe-161                    ALLOW       Anywhere
    > ghe-22                     ALLOW       Anywhere
    > ghe-25                     ALLOW       Anywhere
    > ghe-443                    ALLOW       Anywhere
    > ghe-80                     ALLOW       Anywhere
    > ghe-8080                   ALLOW       Anywhere
    > ghe-8443                   ALLOW       Anywhere
    > ghe-9418                   ALLOW       Anywhere
    > ghe-1194 (v6)              ALLOW       Anywhere (v6)
    > ghe-122 (v6)               ALLOW       Anywhere (v6)
    > ghe-161 (v6)               ALLOW       Anywhere (v6)
    > ghe-22 (v6)                ALLOW       Anywhere (v6)
    > ghe-25 (v6)                ALLOW       Anywhere (v6)
    > ghe-443 (v6)               ALLOW       Anywhere (v6)
    > ghe-80 (v6)                ALLOW       Anywhere (v6)
    > ghe-8080 (v6)              ALLOW       Anywhere (v6)
    > ghe-8443 (v6)              ALLOW       Anywhere (v6)
    > ghe-9418 (v6)              ALLOW       Anywhere (v6)

添加自定义防火墙规则

Warning: Before you add custom firewall rules, back up your current rules in case you need to reset to a known working state. If you're locked out of your server, contact GitHub Enterprise 支持GitHub 高级支持 to reconfigure the original firewall rules. Restoring the original firewall rules involves downtime for your server.

  1. 配置自定义防火墙规则。

  2. Check the status of each new rule with the status numbered command.

    $ sudo ufw status numbered
  3. 要备份自定义防火墙规则,请使用 cp 命令将规则移至新文件。

    $ sudo cp -r /lib/ufw ~/ufw.backup

升级 您的 GitHub Enterprise Server 实例 后,您必须重新应用自定义防火墙规则。 我们建议您创建脚本来重新应用防火墙自定义规则。

恢复默认防火墙规则

如果更改防火墙规则后出现问题,您可以通过原始备份重置规则。

警告:如果您对防火墙进行更改之前未备份原始规则,请联系 GitHub Enterprise 支持GitHub 高级支持 获取更多帮助。

  1. SSH 到 您的 GitHub Enterprise Server 实例。

    $ ssh -p 122 admin@HOSTNAME
  2. 要恢复之前的备份规则,请使用 cp 命令将规则复制到防火墙。

    $ sudo cp -f ~/ufw.backup/*rules /lib/ufw
  3. 使用 systemctl 命令重新启动防火墙。

    $ sudo systemctl restart ufw
  4. 使用 ufw status 命令确认规则已恢复为默认状态。

    $ sudo ufw status
    > Status: active
    > To                         Action      From
    > --                         ------      ----
    > ghe-1194                   ALLOW       Anywhere
    > ghe-122                    ALLOW       Anywhere
    > ghe-161                    ALLOW       Anywhere
    > ghe-22                     ALLOW       Anywhere
    > ghe-25                     ALLOW       Anywhere
    > ghe-443                    ALLOW       Anywhere
    > ghe-80                     ALLOW       Anywhere
    > ghe-8080                   ALLOW       Anywhere
    > ghe-8443                   ALLOW       Anywhere
    > ghe-9418                   ALLOW       Anywhere
    > ghe-1194 (v6)              ALLOW       Anywhere (v6)
    > ghe-122 (v6)               ALLOW       Anywhere (v6)
    > ghe-161 (v6)               ALLOW       Anywhere (v6)
    > ghe-22 (v6)                ALLOW       Anywhere (v6)
    > ghe-25 (v6)                ALLOW       Anywhere (v6)
    > ghe-443 (v6)               ALLOW       Anywhere (v6)
    > ghe-80 (v6)                ALLOW       Anywhere (v6)
    > ghe-8080 (v6)              ALLOW       Anywhere (v6)
    > ghe-8443 (v6)              ALLOW       Anywhere (v6)
    > ghe-9418 (v6)              ALLOW       Anywhere (v6)

问问别人

找不到要找的内容?

联系我们