組み込みファイアウォールのルール設定
GitHub Enterprise Server インスタンスのデフォルトのファイアウォールのルールとカスタマイズされたルールを見ることができます。
このガイドの内容
- 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を参照してください。
デフォルトのファイアウォールルールの表示
-
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. If you're locked out of your server, contact GitHub Enterprise Support または GitHub Premium Support to reconfigure the original firewall rules. Restoring the original firewall rules involves downtime for your server.
-
カスタムのファイアウォールルールを設定する。
-
Check the status of each new rule with the
status numbered
command.$ sudo ufw status numbered
-
カスタムのファイアウォールルールをバックアップするには、
cp
コマンドを使用してルールを新しいファイルに移動します。$ sudo cp -r /lib/ufw ~/ufw.backup
GitHub Enterprise Server インスタンスをアップグレードした後は、カスタムのファイアウォールルールを再適用しなければなりません。 ファイアウォールのカスタムルールを再適用するためのスクリプトを作成することをお勧めします。
デフォルトのファイアウォールルールのリストア
ファイアウォールルールの変更後に何か問題が生じたなら、オリジナルのバックアップからルールをリセットできます。
注意: ファイアウォールに変更を加える前にオリジナルのルールをバックアップしていなかった場合は、GitHub Enterprise Support または GitHub Premium Supportに連絡して以降の支援を求めてください。
-
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)