Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

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

の既定のファイアウォール規則とカスタマイズされたルールを見ることができます。

のファイアウォールについて

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

GitHub Enterprise Server をインストールすると、接続を受け入れるために必要なすべてのネットワークポートが自動的に開かれます。 すべての不必要なポートは自動的に deny に構成され、既定の送信ポリシーは allow に構成されます。 すべての新しい接続について、ステートフルな追跡が有効になります。これらは、通常、SYN ビットがセットされているネットワーク パケットです。 詳細については、「ネットワーク ポート」を参照してく� さい。

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

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

  1. に SSH でアクセスします。 インスタンスが複数のノードで構成されている� �合は (高可用性や geo レプリケーションが構成されている� �合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する� �合は、任意のノードに SSH 接続できます。 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に問い合わせて、元のファイアウォールルールを再設定してく� さい。 元のファイアウォールルールを復元すると、サーバーでダウンタイ� が発生します。

  1. カスタ� のファイアウォールルールを設定する。

  2. status numbered コマンドを使って、新しい各ルールの状態を確認します。

    $ sudo ufw status numbered
  3. カスタ�  ファイアウォール ルールをバックアップするには、cp コマンドを使ってルールを新しいファイルに移動します。

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

    をアップグレードした後で、カスタ�  ファイアウォール ルールを適用し直す必要があります。 ファイアウォールのカスタ� ルールを再適用するためのスクリプトを作成することをお勧めします。

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

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

警告: 元のルールをバックアップしないでファイアウォールを変更した� �合は、GitHub Enterprise Support に連絡してサポートを求めてく� さい。

  1. に SSH でアクセスします。 インスタンスが複数のノードで構成されている� �合は (高可用性や geo レプリケーションが構成されている� �合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する� �合は、任意のノードに SSH 接続できます。 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)