Informationen über die Firewall von Ihre GitHub Enterprise Server-Instance
GitHub Enterprise Server verwendet Ubuntus Uncomplicated Firewall (UFW) in der virtuellen Appliance. Weitere Informationen findest du unter Firewall in der Ubuntu-Dokumentation. GitHub Enterprise Server aktualisiert automatisch die Firewall-Zulassungsliste der zulässigen Dienste mit jeder Version.
Nach der Installation GitHub Enterprise Serverwerden alle erforderlichen Netzwerkports automatisch geöffnet, um Verbindungen zu akzeptieren. Jeder nicht benötigte Port wird automatisch als deny konfiguriert, und die Standardrichtlinie für ausgehende Verbindungen wird als allow konfiguriert. Die Statusverfolgung ist für alle neuen Verbindungen aktiviert; das können typischerweise Netzwerkpakete sein, bei denen das SYN-Bit gesetzt ist. Weitere Informationen finden Sie unter Netzwerkports.
Die UFW-Firewall öffnet auch mehrere andere Ports, die für GitHub Enterprise Server den ordnungsgemäßen Betrieb erforderlich sind. Weitere Informationen zum UFW-Regelsatz findest du im UFW README.
Es wird nicht empfohlen, UFW anzupassen, da dies einige Problembehandlungsschritte erschweren kann.
Standardmäßige Firewallregeln anzeigen
-
Melde dich über SSH bei Ihre GitHub Enterprise Server-Instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Ersetzen Sie HOSTNAME durch den Hostnamen Ihrer Instanz bzw. durch den Hostnamen oder die IP-Adresse eines Knotens. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
Um die Standard-Firewallregeln anzuzeigen, verwende den
sudo ufw statusBefehl. Eine ähnliche Ausgabe wie die folgende sollte angezeigt werden:$ 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)
Benutzerdefinierte Firewallregeln hinzufügen
Warnung
Bevor du benutzerdefinierte Firewallregeln hinzufügst, erstelle eine Sicherungskopie deiner aktuellen Regeln, falls du sie in einem bekannten, funktionsfähigen Zustand wiederherstellen musst. Wenn Sie keinen Zugriff mehr auf Ihren Server haben, besuchen Sie GitHub Enterprise-Support und kontaktieren Sie uns, damit wir die ursprünglichen Firewallregeln wiederherstellen können. Die Wiederherstellung der ursprünglichen Firewallregeln führt zu Ausfallzeiten für deinen Server.
-
Konfiguriere eine benutzerdefinierte Firewallregel.
-
Überprüfe den Status jeder neuen Regel mit dem
status numberedBefehl.sudo ufw status numbered -
Um deine benutzerdefinierten Firewallregeln zu sichern, verwende den
cpBefehl, um die Regeln in eine neue Datei zu verschieben.sudo cp -r /etc/ufw ~/ufw.backup
Warnung
Wenn du deinen Server mit einem Upgradepaket upgradest, musst du deine Firewallregeln vor der Installation des Upgrades an einem Remotestandort sichern. Wenn du ein Upgradepaket verwendest, wird die Stammpartition ersetzt, und alle erstellten benutzerdefinierten Dateien gehen verloren. Das geschieht nicht, wenn du den Server mithilfe eines Hotpatches upgradest.
Nach dem Upgrade Ihre GitHub Enterprise Server-Instancemüssen Sie Ihre benutzerdefinierten Firewallregeln erneut anwenden. Du solltest ein Skript erstellen, um deine benutzerdefinierten Firewallregeln erneut anzuwenden.
Standardmäßige Firewallregeln wiederherstellen
Wenn nach dem Ändern der Firewallregeln ein Fehler auftritt, kannst du die Regeln über das ursprüngliche Backup wiederherstellen.
Warnung
Wenn Sie die ursprünglichen Regeln nicht gesichert haben, bevor Sie Änderungen an der Firewall vorgenommen haben, besuchen Sie GitHub Enterprise-Support und wenden Sie sich an uns, um weitere Hilfe zu erhalten.
Wenn du deine ursprünglichen Regeln vor einem Upgrade an einen Remotestandort gesichert hast, müssen diese wieder auf deinen Server übertragen werden, bevor sie wiederhergestellt werden können.
-
Melde dich über SSH bei Ihre GitHub Enterprise Server-Instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Ersetzen Sie HOSTNAME durch den Hostnamen Ihrer Instanz bzw. durch den Hostnamen oder die IP-Adresse eines Knotens. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
Kopiere zum Wiederherstellen der vorherigen Backup-Regeln diese mithilfe des
cpBefehls zurück zur Firewall.sudo cp -f ~/ufw.backup/*rules /etc/ufw -
Starte die Firewall mit dem
systemctlBefehl neu.sudo systemctl restart ufw -
Führe den
ufw statusBefehl aus, um zu bestätigen, dass die Regeln wieder ihre Standardwerte aufweisen.$ 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)