Welche Sicherheitsrisiken bestehen bei der Verwendung von gemeinsamen Gitlab CI-Testläufern?

8

Ich versuche ein neues Projekt mit Gitlab zu hosten. Es ist ein privates Python-Projekt. Ich konnte einige erste Tests mit Gitlab CI testen.

Ich verwende keinen Cache, während ich Tests durchführe,

Beim Erkunden des Runner-Abschnitts in den Einstellungen wird eine Warnung angezeigt,

  

GitLab Runners bieten keine sichere Isolation zwischen Projekten, die   sie bauen für. Sie VERTRAUEN allen GitLab-Benutzern, die pushen können   Code zum Projizieren von A, B oder C zum Ausführen von Shell-Skripten auf dem Maschinen-Hosting   Läufer X.

Was sind die Sicherheitsrisiken bei der Verwendung eines gemeinsam genutzten Testlaufers? Ist es sicher, private Projekte auf einem gemeinsamen Runner zu betreiben? Welche Vorsichtsmaßnahmen können getroffen werden, während Tests auf einem freigegebenen Runner ausgeführt werden?

Vielen Dank für einen Einblick.

    
Rivadiz 20.02.2016, 18:59
quelle

1 Antwort

9

GitLab CI-Runner bietet folgende Executor-Typen:

  • shell
  • docker
  • ssh
  • docker-ssh
  • parallels
  • virtualbox

Die Sicherheitsprobleme, die Sie haben sollten, stammen hauptsächlich von ssh und shell runners.

  • shell ist nicht sicher, es sei denn, Sie befinden sich in einer kontrollierten Umgebung.
    Dies liegt daran, dass es buchstäblich eine einfache Shell ist. Der Benutzer, der den Build ausführt, hat Zugriff auf alle anderen Vorgänge für diesen Benutzer, einschließlich anderer Projekte.
  • ssh ist anfällig für Man-in-the-Middle-Angriffe.
    Wenn Sie in Ihren Builds mit privaten Kryptoschlüsseln arbeiten, achten Sie darauf, dass sie gestohlen werden können.

Zum Glück scheint Ссылка nur docker Läufer zu teilen.
docker Läufer sind generell sicher * Weil jeder Build in einem neuen Container ausgeführt wird, gibt es keine Bedenken.

Sie können hier weitere über die GitLab CI Runner-Sicherheit lesen .

* es sei denn, du machst den unangenehmen privileged Modus!

    
gustavohenke 14.12.2017, 18:25
quelle