このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

組み込みファイアウォールのルール設定

GitHub Enterprise Serverのインスタンスのデフォルトのファイアウォールのルールとカスタマイズされたルールを見ることができます。

GitHub Enterprise Serverのインスタンスのファイアウォールについて

GitHub Enterprise Server は、仮想アプライアンスで Ubuntu の Uncomplicated Firewall (UFW) を使用します。 詳しい情報についてはUbuntuのドキュメンテーションの"UFW"を参照してください。 GitHub Enterprise Server は、許可されたサービスのファイアウォールのホワイトリストをリリースごとに自動的に更新します。

GitHub Enterprise Server をインストールすると、接続を受け入れるために必要なすべてのネットワークポートが自動的に開かれます。 不必要なすべてのポートは自動的にdenyに設定され、デフォルトの送信ポリシーはallowに設定されます。 ステートフルな追跡は、任意の新しいコネクションに対して有効化されます。それらは通常、SYNビットが立てられているネットワークパケットです。 詳しい情報については"ネットワークポート"を参照してください。

UFW ファイアウォールは、GitHub Enterprise Server が正しく動作するのに必要となる他のいくつかのポートも開きます。 UFW のルールセットに関する詳しい情報については、the UFW README を参照してください。

デフォルトのファイアウォールルールの表示

  1. GitHub Enterprise ServerのインスタンスにSSHでアクセスしてください。 詳しい情報については「管理シェル(SSH)にアクセスする」を参照してください。
    $ 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)

カスタムのファイアウォールルールの追加

警告: 既知の作業状態にリセットする必要が生じた場合に備えて、カスタムのファイアウォールルールを追加する前に、現在のルールをバックアップしてください。 サーバーからロックアウトされている場合には、GitHub Enterprise Support または GitHub Premium Supportに問い合わせて、元のファイアウォールルールを再設定してください。 元のファイアウォールルールを復元すると、サーバーでダウンタイムが発生します。

  1. カスタムのファイアウォールルールを設定する。
  2. status numberedコマンドを使って、新しいルールそれぞれのステータスをチェックします。
    $ sudo ufw status numbered
  3. カスタムのファイアウォールルールをバックアップするには、cp コマンドを使用してルールを新しいファイルに移動します。
    $ sudo cp -r /etc/ufw ~/ufw.backup

GitHub Enterprise Serverのインスタンスをアップグレードした後は、カスタムのファイアウォールルールを再適用しなければなりません。 ファイアウォールのカスタムルールを再適用するためのスクリプトを作成することをお勧めします。

デフォルトのファイアウォールルールのリストア

ファイアウォールルールの変更後に何か問題が生じたなら、オリジナルのバックアップからルールをリセットできます。

警告: ファイアウォールに変更を加える前にオリジナルのルールをバックアップしていなかった場合は、GitHub Enterprise Support または GitHub Premium Support にお問い合わせください。

  1. GitHub Enterprise ServerのインスタンスにSSHでアクセスしてください。 詳しい情報については「管理シェル(SSH)にアクセスする」を参照してください。
    $ ssh -p 122 admin@HOSTNAME
  2. 以前のバックアップルールを復元するには、cp コマンドでそれらをファイアウォールにコピーして戻します。
    $ sudo cp -f ~/ufw.backup/*rules /etc/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)

問題がまだ解決していませんか?