So kopieren Sie Dateien als Jenkins-Aktion „Post Build“, wenn ich keine Berechtigungen für das Zielverzeichnis habe

So kopieren Sie Dateien als Jenkins-Aktion „Post Build“, wenn ich keine Berechtigungen für das Zielverzeichnis habe

Ich habe die folgende Benutzer-"Architektur":

  1. Der Root-Zugriff ist deaktiviert.
  2. Der Administratorbenutzer hat nur Zugriff auf sein Home-Verzeichnis.
  3. Apache wird als Root-Dienst ausgeführt (Root ist der einzige, der Zugriff auf die Dateien des Webservers hat).
  4. Ich habe Jenkins CI installiert, das mein Projekt mit „Administrator“-Berechtigungen erstellt.

ich möchte als Post-Build-Aktion die neuesten Build-Dateien an meinen Webserver-Speicherort kopieren. Wie kann ich das erreichen, wenn nur der „Root“-Benutzer Zugriff auf mein Zielverzeichnis hat? Vielleicht ist meine „Benutzerarchitektur“ von vornherein völlig falsch?

Antwort1

Vielleicht ist meine „Benutzerarchitektur“ von vornherein völlig falsch?

Ja. Ich will es dir nicht sagen, aber so ist es. So solltest du es ändern:

  1. Führen Sie Apache als eigenen Benutzer aus, vorzugsweise in einem Chroot. Dies wird als Prinzip der minimalen Privilegien bezeichnet. Die Idee besteht darin, den Schaden zu begrenzen, der im Falle einer Kompromittierung entstehen kann. Gehen Sie davon aus, dass etwasWillekompromittiert werden, und arbeiten Sie von dort aus weiter. Es gibt keinen Grund, Apache als privilegierter Benutzer auszuführen.
  2. Führen Sie Jenkins CI als eigenen Benutzer aus. Es gilt das gleiche Prinzip.
  3. Sorgen Sie dafür, dass die Dateien irgendwie in das Webserver-Verzeichnis gelangen. Sie könnten beispielsweise den Jenkins-Benutzer zur Apache-Gruppe hinzufügen. Dadurch sollte der Jenkins-Build-Server Zugriff auf das Webserver-Verzeichnis erhalten. Noch sicherer wäre es, einen Cron-Job oder einen Systemd-Timer als Apache-Benutzer auszuführen und damit die Dateien zu kopieren. Warum ist das sicherer? Wenn Jenkins kompromittiert wird, erhält der Angreifer keinen Zugriff auf Ihre Webserver-Verzeichnisse.

verwandte Informationen