GitHub Enterprise Server インスタンスのファイアウォールについて
GitHub Enterprise Server は、仮想アプライアンスで Ubuntu の Uncomplicated Firewall (UFW) を使用します。 詳しい情報についてはUbuntuのドキュメンテーションの"UFW"を参照してください。 GitHub Enterprise Server automatically updates the firewall allowlist of allowed services with each release.
GitHub Enterprise Server をインストールすると、接続を受け入れるために必要なすべてのネットワークポートが自動的に開かれます。 不必要なすべてのポートは自動的にdenyに設定され、デフォルトの送信ポリシーはallowに設定されます。 ステートフルな追跡は、任意の新しいコネクションに対して有効化されます。それらは通常、SYNビットが立てられているネットワークパケットです。 詳しい情報については"ネットワークポート"を参照してください。
UFW ファイアウォールは、GitHub Enterprise Server が正しく動作するのに必要となる他のいくつかのポートも開きます。 UFWのルールセットに関する詳しい情報についてはthe UFW READMEを参照してください。
デフォルトのファイアウォールルールの表示
- GitHub Enterprise Server インスタンスにSSHでアクセスしてください。$ ssh -p 122 admin@HOSTNAME
- デフォルトのファイアウォールルールを表示するには、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. サーバーからロックアウトされている場合には、GitHub Enterprise Support または GitHub Premium Supportに問い合わせて、元のファイアウォールルールを再設定してください。 元のファイアウォールルールを復元すると、サーバーでダウンタイムが発生します。
- カスタムのファイアウォールルールを設定する。
- status numberedコマンドを使って、新しいルールそれぞれのステータスをチェックします。- $ sudo ufw status numbered
- カスタムのファイアウォールルールをバックアップするには、cpコマンドを使用してルールを新しいファイルに移動します。$ sudo cp -r /lib/ufw ~/ufw.backup
GitHub Enterprise Server インスタンスをアップグレードした後は、カスタムのファイアウォールルールを再適用しなければなりません。 ファイアウォールのカスタムルールを再適用するためのスクリプトを作成することをお勧めします。
デフォルトのファイアウォールルールのリストア
ファイアウォールルールの変更後に何か問題が生じたなら、オリジナルのバックアップからルールをリセットできます。
Warning: If you didn't back up the original rules before making changes to the firewall, contact GitHub Enterprise Support または GitHub Premium Support for further assistance.
- GitHub Enterprise Server インスタンスにSSHでアクセスしてください。$ ssh -p 122 admin@HOSTNAME
- 以前のバックアップルールを復元するには、cpコマンドでそれらをファイアウォールにコピーして戻します。$ sudo cp -f ~/ufw.backup/*rules /lib/ufw
- systemctlコマンドでファイアウォールを再起動します。- $ sudo systemctl restart ufw
- 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)