Informationen zur Firewall von Ihre GitHub Enterprise Server-Instance
GitHub Enterprise Server verwendet die Uncomplicated Firewall (UFW) von Ubuntu auf der virtuellen Appliance. Weitere Informationen findest du unter UFW in der Ubuntu-Dokumentation. GitHub Enterprise Server aktualisiert die Firewall-Positivliste der zulässigen Dienste in jeder Version automatisch.
Nachdem du GitHub Enterprise Server installiert hast, werden automatisch alle erforderlichen Netzwerkports zum Akzeptieren der Verbindungen geöffnet. Jeder nicht benötigte Port wird automatisch als deny
konfiguriert, und die Standardrichtlinie für ausgehende Verbindungen wird als allow
konfiguriert. Zustandsverfolgung ist für alle neuen Verbindungen aktiviert; das sind typischerweise Netzwerkpakete, bei denen SYN
Bit gesetzt ist. Weitere Informationen finden Sie unter Netzwerkports.
Die UWF-Firewall öffnet zudem verschiedene Ports, die für die ordnungsgemäße Funktion von GitHub Enterprise Server 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 findest du 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 status
Befehl. 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
Warning
Bevor du benutzerdefinierte Firewallregeln hinzufügst, erstelle eine Sicherungskopie deiner aktuellen Regeln, falls du sie in einem bekannten, funktionsfähigen Zustand wiederherstellen musst. Falls Ihr Server für Sie gesperrt ist, gehen Sie zu GitHub Enterprise Support, um die ursprünglichen Firewallregeln neu zu konfigurieren. 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 numbered
Befehl.sudo ufw status numbered
-
Um deine benutzerdefinierten Firewallregeln zu sichern, verwende den
cp
Befehl, um die Regeln in eine neue Datei zu verschieben.sudo cp -r /etc/ufw ~/ufw.backup
Nachdem du ein Upgrade für Ihre GitHub Enterprise Server-Instance ausgeführt hast, musst du deine 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.
Warning
Wenn du die ursprünglichen Regeln vor dem Ändern der Firewall nicht gesichert hast, wende dich an GitHub Enterprise Support für weitere Unterstützung.
-
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 findest du 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
cp
Befehls zurück zur Firewall.sudo cp -f ~/ufw.backup/*rules /etc/ufw
-
Starte die Firewall mit dem
systemctl
Befehl neu.sudo systemctl restart ufw
-
Führe den
ufw status
Befehl 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)