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)