お使いの GitHub Enterprise Server インスタンス のファイアウォールについて
GitHub Enterprise Server は、仮想アプライアンスで Ubuntu の Uncomplicated Firewall (UFW) を使用します。 詳細については、Ubuntu ドキュメントの「Firewall」(ファイアウォール) を参照してください。 GitHub Enterprise Server は、許可されたサービスのファイアウォールのホワイトリストをリリースごとに自動的に更新します。
GitHub Enterprise Server をインストールすると、接続を受け入れるために必要なすべてのネットワークポートが自動的に開かれます。 すべての不必要なポートは自動的に に構成され、既定の送信ポリシーは に構成されます。 すべての新しい接続について、ステートフルな追跡が有効になります。これらは、通常、 ビットがセットされているネットワーク パケットです。 詳しくは、「AUTOTITLE」をご覧ください。
UFW ファイアウォールは、GitHub Enterprise Server が正しく動作するのに必要となる他のいくつかのポートも開きます。 UFW のルール セットについて詳しくは、UFW の README をご覧ください。
トラブルシューティングの問題が複雑になることがあるため、UFW のカスタマイズはお勧めしません。
デフォルトのファイアウォールルールの表示
-
お使いの GitHub Enterprise Server インスタンス に SSH で接続します。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 HOSTNAME をインスタンスのホスト名、またはノードのホスト名または IP アドレスに置き換えます。 詳しくは、「管理シェル (SSH) にアクセスする」をご覧ください。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
既定のファイアウォール ルールを表示するには、 コマンドを使います。 次のような出力が表示されます。
$ 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 サポート にアクセスして、元のファイアウォールルールを再構成する旨をご連絡ください。 元のファイアウォールルールを復元すると、サーバーでダウンタイムが発生します。
- カスタムのファイアウォールルールを設定する。
- コマンドを使って、新しい各ルールの状態を確認します。
sudo ufw status numbered
-
カスタム ファイアウォール ルールをバックアップするには、 コマンドを使ってルールを新しいファイルに移動します。
sudo cp -r /etc/ufw ~/ufw.backup
警告
アップグレード パッケージを使ってサーバーをアップグレードする場合は、アップグレードをインストールする前に、ファイアウォール規則をリモートの場所にバックアップする必要があります。 アップグレード パッケージを使うと、ルート パーティションが置き換えられ、作成されたカスタム ファイルはすべて失われます。 このようなことは、ホットパッチを使ってサーバーをアップグレードする場合は起こりません。
お使いの GitHub Enterprise Server インスタンス をアップグレードした後で、カスタム ファイアウォール ルールを適用し直す必要があります。 ファイアウォールのカスタムルールを再適用するためのスクリプトを作成することをお勧めします。
デフォルトのファイアウォールルールのリストア
ファイアウォールルールの変更後に何か問題が生じたなら、オリジナルのバックアップからルールをリセットできます。
警告
元のルールをバックアップしないでファイアウォールを変更した場合は、GitHub Enterprise サポート にアクセスしてサポートを求めてください。
アップグレード前に元の規則をリモートの場所にバックアップした場合は、復元する前に規則をサーバーに転送し直す必要があります。
-
お使いの GitHub Enterprise Server インスタンス に SSH で接続します。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 HOSTNAME をインスタンスのホスト名、またはノードのホスト名または IP アドレスに置き換えます。 詳しくは、「管理シェル (SSH) にアクセスする」をご覧ください。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
前にバックアップしたルールを復元するには、 コマンドでそれらをファイアウォールにコピーして戻します。
sudo cp -f ~/ufw.backup/*rules /etc/ufw -
コマンドを使ってファイアウォールを再起動します。
sudo systemctl restart ufw
- コマンドで、ルールが既定の状態に戻っていることを確認します。
$ 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)